# Amazon AppConfig

> Manage application configuration and feature flags in AWS AppConfig from a workflow: create applications, environments and configuration profiles, save new configuration versions, roll them out with a deployment strategy, watch or stop the rollout, and read the configuration your applications currently receive.

App · Cloud Computing · 20 actions. Web page: https://docs.lodol.com/docs/integrations/amazon-appconfig

## Actions

### Create a configuration profile

Create a configuration profile in AppConfig's hosted store. Save its content with 'Create a hosted configuration version'.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Name (`profile_name`, text, required): The profile's name, up to 128 characters.
- Type (`profile_type`, text): Freeform holds any configuration. Feature flags holds flags in AppConfig's feature flag format. One of: `AWS.Freeform` (Freeform (any JSON, YAML or text)), `AWS.AppConfig.FeatureFlags` (Feature flags). Default: `AWS.Freeform`.
- Description (`description`, text): An optional description, up to 1,024 characters.
- JSON Schema validator (`json_schema`, text): Optional JSON Schema every deployed version must match, such as {"type": "object"}. AppConfig checks it when a deployment starts.
- Tags (`tags`, object): Optional tag names and values, such as team = platform. Up to 50 tags; names up to 128 characters, values up to 256.

**Outputs**

- `application_id` (text)
- `description` (text)
- `id` (text): The configuration profile ID.
- `kms_key_arn` (text)
- `location_uri` (text)
- `name` (text)
- `type` (text): AWS.Freeform or AWS.AppConfig.FeatureFlags.
- `validator_types` (list)

**Example output**

```json
{
  "application_id": "abc1234",
  "description": null,
  "id": "prf9012",
  "kms_key_arn": null,
  "location_uri": "hosted",
  "name": "settings",
  "type": "AWS.Freeform",
  "validator_types": [
    "JSON_SCHEMA"
  ]
}
```

### Create a hosted configuration version

Save new content for a hosted configuration profile as its next version. Nothing changes for your applications until you deploy it with 'Start a deployment'.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Configuration profile (`configuration_profile_id`, text, required): A configuration profile of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Content (`content`, text, required): The configuration. An object from an earlier step is saved as JSON. For JSON it is checked before sending.
- Content type (`content_type`, text): The format of the content. One of: `application/json` (JSON), `text/plain` (Plain text), `application/x-yaml` (YAML). Default: `application/json`.
- Description (`description`, text): An optional note, up to 1,024 plain ASCII characters (AppConfig sends it in an HTTP header).
- Version label (`version_label`, text): An optional label such as 'v1.2', which 'Start a deployment' also accepts. Up to 64 characters, not all digits.
- Latest version number (`latest_version_number`, number): Optional safety check: the version number you expect to be the newest. AWS refuses if someone saved another version since. At least 1.

**Outputs**

- `application_id` (text)
- `configuration_profile_id` (text)
- `content` (text): The configuration as text.
- `content_json` (object): The configuration parsed, when its content type is JSON; null otherwise.
- `content_type` (text)
- `description` (text)
- `kms_key_arn` (text)
- `version_label` (text)
- `version_number` (number): Pass this as the configuration version to deploy it.

**Example output**

```json
{
  "application_id": "abc1234",
  "configuration_profile_id": "prf9012",
  "content": "{\"maxItems\": 10}",
  "content_json": {
    "maxItems": 10
  },
  "content_type": "application/json",
  "description": null,
  "kms_key_arn": null,
  "version_label": "v1",
  "version_number": 1
}
```

### Create an application

Create an AppConfig application: the container for a service's environments and configuration profiles.

**Inputs**

- Name (`application_name`, text, required): The application's name, up to 64 characters.
- Description (`description`, text): An optional description, up to 1,024 characters.
- Tags (`tags`, object): Optional tag names and values, such as team = platform. Up to 50 tags; names up to 128 characters, values up to 256.

**Outputs**

- `description` (text)
- `id` (text): The application ID.
- `name` (text)

**Example output**

```json
{
  "description": "Feature flags and settings for checkout",
  "id": "abc1234",
  "name": "checkout-service"
}
```

### Create an environment

Create an environment in an application, such as production or beta: a group of targets a configuration is deployed to.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Name (`environment_name`, text, required): The environment's name, up to 64 characters.
- Description (`description`, text): An optional description, up to 1,024 characters.
- Tags (`tags`, object): Optional tag names and values, such as team = platform. Up to 50 tags; names up to 128 characters, values up to 256.

**Outputs**

- `application_id` (text)
- `description` (text)
- `id` (text): The environment ID.
- `monitors` (list)
- `name` (text)
- `state` (text): READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, ROLLED_BACK or REVERTED.

**Example output**

```json
{
  "application_id": "abc1234",
  "description": null,
  "id": "env5678",
  "monitors": [],
  "name": "production",
  "state": "READY_FOR_DEPLOYMENT"
}
```

### Delete a configuration profile

Permanently delete a configuration profile. AWS refuses while it still has hosted configuration versions; delete those first.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Configuration profile (`configuration_profile_id`, text, required): A configuration profile of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Delete even if in use (`delete_even_if_in_use`, true/false): AppConfig refuses to delete this while an application has fetched its configuration in the last 60 minutes. Tick to delete it anyway. Default: `false`.

**Outputs**

- `application_id` (text)
- `configuration_profile_id` (text)
- `deleted` (true/false)

**Example output**

```json
{
  "application_id": "abc1234",
  "configuration_profile_id": "prf9012",
  "deleted": true
}
```

### Delete a hosted configuration version

Permanently delete one saved version of a hosted configuration.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Configuration profile (`configuration_profile_id`, text, required): A configuration profile of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Version number (`version_number`, number, required): The hosted configuration version's number. 'List hosted configuration versions' shows them. At least 1.

**Outputs**

- `application_id` (text)
- `configuration_profile_id` (text)
- `deleted` (true/false)
- `version_number` (number)

**Example output**

```json
{
  "application_id": "abc1234",
  "configuration_profile_id": "prf9012",
  "deleted": true,
  "version_number": 1
}
```

### Delete an application

Permanently delete an AppConfig application. AWS refuses while it still has environments or configuration profiles; delete those first.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.

**Outputs**

- `application_id` (text)
- `deleted` (true/false)

**Example output**

```json
{
  "application_id": "abc1234",
  "deleted": true
}
```

### Delete an environment

Permanently delete an environment. AWS refuses while a deployment to it is in progress.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Environment (`environment_id`, text, required): An environment of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Delete even if in use (`delete_even_if_in_use`, true/false): AppConfig refuses to delete this while an application has fetched its configuration in the last 60 minutes. Tick to delete it anyway. Default: `false`.

**Outputs**

- `application_id` (text)
- `deleted` (true/false)
- `environment_id` (text)

**Example output**

```json
{
  "application_id": "abc1234",
  "deleted": true,
  "environment_id": "env5678"
}
```

### Get a deployment

Get a deployment's state, progress and event log, for example to check whether it has completed.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Environment (`environment_id`, text, required): An environment of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Deployment number (`deployment_number`, number, required): The deployment's number within the environment. 'List deployments' shows them, newest first. At least 1.

**Outputs**

- `application_id` (text)
- `completed_at` (text)
- `configuration_location_uri` (text)
- `configuration_name` (text)
- `configuration_profile_id` (text)
- `configuration_version` (text)
- `deployment_duration_in_minutes` (number)
- `deployment_number` (number)
- `deployment_strategy_id` (text)
- `description` (text)
- `environment_id` (text)
- `event_log` (list)
- `final_bake_time_in_minutes` (number)
- `growth_factor` (number)
- `growth_type` (text)
- `percentage_complete` (number)
- `started_at` (text)
- `state` (text): BAKING, VALIDATING, DEPLOYING, COMPLETE, ROLLING_BACK, ROLLED_BACK or REVERTED.
- `version_label` (text)

**Example output**

```json
{
  "application_id": "abc1234",
  "completed_at": null,
  "configuration_location_uri": "hosted",
  "configuration_name": "settings",
  "configuration_profile_id": "prf9012",
  "configuration_version": "1",
  "deployment_duration_in_minutes": 0,
  "deployment_number": 1,
  "deployment_strategy_id": "AppConfig.AllAtOnce",
  "description": null,
  "environment_id": "env5678",
  "event_log": [
    {
      "description": "Deployment started",
      "event_type": "DEPLOYMENT_STARTED",
      "occurred_at": "2026-09-28T09:00:00+00:00",
      "triggered_by": "USER"
    }
  ],
  "final_bake_time_in_minutes": 10,
  "growth_factor": 100.0,
  "growth_type": "LINEAR",
  "percentage_complete": 100.0,
  "started_at": "2026-09-28T09:00:00+00:00",
  "state": "BAKING",
  "version_label": "v1"
}
```

### Get a hosted configuration version

Get one saved version of a hosted configuration, with its content as text and, for JSON, parsed.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Configuration profile (`configuration_profile_id`, text, required): A configuration profile of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Version number (`version_number`, number, required): The hosted configuration version's number. 'List hosted configuration versions' shows them. At least 1.

**Outputs**

- `application_id` (text)
- `configuration_profile_id` (text)
- `content` (text): The configuration as text.
- `content_json` (object): The configuration parsed, when its content type is JSON; null otherwise.
- `content_type` (text)
- `description` (text)
- `kms_key_arn` (text)
- `version_label` (text)
- `version_number` (number): Pass this as the configuration version to deploy it.

**Example output**

```json
{
  "application_id": "abc1234",
  "configuration_profile_id": "prf9012",
  "content": "{\"maxItems\": 10}",
  "content_json": {
    "maxItems": 10
  },
  "content_type": "application/json",
  "description": null,
  "kms_key_arn": null,
  "version_label": "v1",
  "version_number": 1
}
```

### Get an application

Get one AppConfig application's ID, name and description.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.

**Outputs**

- `description` (text)
- `id` (text): The application ID.
- `name` (text)

**Example output**

```json
{
  "description": "Feature flags and settings for checkout",
  "id": "abc1234",
  "name": "checkout-service"
}
```

### Get the latest configuration

Get the configuration currently deployed to an environment, as your applications receive it. AWS charges for each configuration received.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Environment (`environment_id`, text, required): An environment of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Configuration profile (`configuration_profile_id`, text, required): A configuration profile of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.

**Outputs**

- `application_id` (text)
- `configuration_profile_id` (text)
- `content` (text): The configuration as text.
- `content_json` (object): The configuration parsed, when its content type is JSON; null otherwise.
- `content_type` (text)
- `environment_id` (text)
- `version_label` (text)

**Example output**

```json
{
  "application_id": "abc1234",
  "configuration_profile_id": "prf9012",
  "content": "{\"maxItems\": 10}",
  "content_json": {
    "maxItems": 10
  },
  "content_type": "application/json",
  "environment_id": "env5678",
  "version_label": "v1"
}
```

### List applications

List the AppConfig applications in the connection's region.

**Inputs**

- Max results (`max_results`, number): How many to return in one page, from 1 to 50. From 1 to 50. Default: `50`.
- Next token (`next_token`, text): To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.

**Outputs**

- `applications` (list)
- `count` (number)
- `next_token` (text): Pass this as 'Next token' to fetch the next page. Null on the last page.

**Example output**

```json
{
  "applications": [
    {
      "description": "Feature flags and settings for checkout",
      "id": "abc1234",
      "name": "checkout-service"
    }
  ],
  "count": 1,
  "next_token": null
}
```

### List configuration profiles

List an application's configuration profiles.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Type (`profile_type`, text): Only list profiles of this type. Leave empty for all. One of: `AWS.Freeform` (Freeform (any JSON, YAML or text)), `AWS.AppConfig.FeatureFlags` (Feature flags).
- Max results (`max_results`, number): How many to return in one page, from 1 to 50. From 1 to 50. Default: `50`.
- Next token (`next_token`, text): To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.

**Outputs**

- `configuration_profiles` (list)
- `count` (number)
- `next_token` (text): Pass this as 'Next token' to fetch the next page. Null on the last page.

**Example output**

```json
{
  "configuration_profiles": [
    {
      "application_id": "abc1234",
      "id": "prf9012",
      "location_uri": "hosted",
      "name": "settings",
      "type": "AWS.Freeform",
      "validator_types": [
        "JSON_SCHEMA"
      ]
    }
  ],
  "count": 1,
  "next_token": null
}
```

### List deployment strategies

List the deployment strategies available: AWS's predefined ones and any made in this account, with how fast each rolls out.

**Inputs**

- Max results (`max_results`, number): How many to return in one page, from 1 to 50. From 1 to 50. Default: `50`.
- Next token (`next_token`, text): To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.

**Outputs**

- `count` (number)
- `deployment_strategies` (list)
- `next_token` (text): Pass this as 'Next token' to fetch the next page. Null on the last page.

**Example output**

```json
{
  "count": 1,
  "deployment_strategies": [
    {
      "deployment_duration_in_minutes": 0,
      "description": "Quick",
      "final_bake_time_in_minutes": 10,
      "growth_factor": 100.0,
      "growth_type": "LINEAR",
      "id": "AppConfig.AllAtOnce",
      "name": "AppConfig.AllAtOnce",
      "replicate_to": "NONE"
    }
  ],
  "next_token": null
}
```

### List deployments

List the deployments to an environment, newest first.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Environment (`environment_id`, text, required): An environment of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Max results (`max_results`, number): How many to return in one page, from 1 to 50. From 1 to 50. Default: `50`.
- Next token (`next_token`, text): To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.

**Outputs**

- `count` (number)
- `deployments` (list)
- `next_token` (text): Pass this as 'Next token' to fetch the next page. Null on the last page.

**Example output**

```json
{
  "count": 1,
  "deployments": [
    {
      "completed_at": null,
      "configuration_name": "settings",
      "configuration_profile_id": "prf9012",
      "configuration_version": "1",
      "deployment_duration_in_minutes": 0,
      "deployment_number": 1,
      "final_bake_time_in_minutes": 10,
      "growth_factor": 100.0,
      "growth_type": "LINEAR",
      "percentage_complete": 100.0,
      "started_at": "2026-09-28T09:00:00+00:00",
      "state": "BAKING",
      "type": "USER",
      "version_label": "v1"
    }
  ],
  "next_token": null
}
```

### List environments

List an application's environments and their state.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Max results (`max_results`, number): How many to return in one page, from 1 to 50. From 1 to 50. Default: `50`.
- Next token (`next_token`, text): To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.

**Outputs**

- `count` (number)
- `environments` (list)
- `next_token` (text): Pass this as 'Next token' to fetch the next page. Null on the last page.

**Example output**

```json
{
  "count": 1,
  "environments": [
    {
      "application_id": "abc1234",
      "description": null,
      "id": "env5678",
      "monitors": [],
      "name": "production",
      "state": "READY_FOR_DEPLOYMENT"
    }
  ],
  "next_token": null
}
```

### List hosted configuration versions

List the saved versions of a hosted configuration profile, without their content.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Configuration profile (`configuration_profile_id`, text, required): A configuration profile of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Version label (`version_label`, text): Only list versions with this label. Leave empty for all.
- Max results (`max_results`, number): How many to return in one page, from 1 to 50. From 1 to 50. Default: `50`.
- Next token (`next_token`, text): To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.

**Outputs**

- `count` (number)
- `next_token` (text): Pass this as 'Next token' to fetch the next page. Null on the last page.
- `versions` (list)

**Example output**

```json
{
  "count": 1,
  "next_token": null,
  "versions": [
    {
      "application_id": "abc1234",
      "configuration_profile_id": "prf9012",
      "content_type": "application/json",
      "description": null,
      "kms_key_arn": null,
      "version_label": "v1",
      "version_number": 1
    }
  ]
}
```

### Start a deployment

Roll a configuration version out to an environment using a deployment strategy. Only one deployment runs per environment at a time.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Environment (`environment_id`, text, required): An environment of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Configuration profile (`configuration_profile_id`, text, required): A configuration profile of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Configuration version (`configuration_version`, text, required): For a hosted profile, the version number or version label to deploy.
- Deployment strategy (`deployment_strategy_id`, text, required): How fast to roll out. Pick one, or give a strategy ID. AppConfig.AllAtOnce deploys at once and watches for 10 minutes; AppConfig.Linear20PercentEvery6Minutes is AWS's recommended gradual rollout.
- Description (`description`, text): An optional description, up to 1,024 characters.

**Outputs**

- `application_id` (text)
- `completed_at` (text)
- `configuration_location_uri` (text)
- `configuration_name` (text)
- `configuration_profile_id` (text)
- `configuration_version` (text)
- `deployment_duration_in_minutes` (number)
- `deployment_number` (number)
- `deployment_strategy_id` (text)
- `description` (text)
- `environment_id` (text)
- `event_log` (list)
- `final_bake_time_in_minutes` (number)
- `growth_factor` (number)
- `growth_type` (text)
- `percentage_complete` (number)
- `started_at` (text)
- `state` (text): BAKING, VALIDATING, DEPLOYING, COMPLETE, ROLLING_BACK, ROLLED_BACK or REVERTED.
- `version_label` (text)

**Example output**

```json
{
  "application_id": "abc1234",
  "completed_at": null,
  "configuration_location_uri": "hosted",
  "configuration_name": "settings",
  "configuration_profile_id": "prf9012",
  "configuration_version": "1",
  "deployment_duration_in_minutes": 0,
  "deployment_number": 1,
  "deployment_strategy_id": "AppConfig.AllAtOnce",
  "description": null,
  "environment_id": "env5678",
  "event_log": [
    {
      "description": "Deployment started",
      "event_type": "DEPLOYMENT_STARTED",
      "occurred_at": "2026-09-28T09:00:00+00:00",
      "triggered_by": "USER"
    }
  ],
  "final_bake_time_in_minutes": 10,
  "growth_factor": 100.0,
  "growth_type": "LINEAR",
  "percentage_complete": 100.0,
  "started_at": "2026-09-28T09:00:00+00:00",
  "state": "BAKING",
  "version_label": "v1"
}
```

### Stop a deployment

Stop a deployment that is rolling out. With 'Roll back' ticked it also works while the deployment bakes, and on a completed one up to 72 hours later, returning the environment to the previous configuration.

**Inputs**

- Application (`application_id`, text, required): The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Environment (`environment_id`, text, required): An environment of that application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
- Deployment number (`deployment_number`, number, required): The deployment's number within the environment. 'List deployments' shows them, newest first. At least 1.
- Roll back (`allow_revert`, true/false): Also roll back: an in-progress deployment ends ROLLED_BACK and a completed one REVERTED. Without it only a deployment that is still DEPLOYING can be stopped. Default: `false`.

**Outputs**

- `application_id` (text)
- `completed_at` (text)
- `configuration_location_uri` (text)
- `configuration_name` (text)
- `configuration_profile_id` (text)
- `configuration_version` (text)
- `deployment_duration_in_minutes` (number)
- `deployment_number` (number)
- `deployment_strategy_id` (text)
- `description` (text)
- `environment_id` (text)
- `event_log` (list)
- `final_bake_time_in_minutes` (number)
- `growth_factor` (number)
- `growth_type` (text)
- `percentage_complete` (number)
- `started_at` (text)
- `state` (text): BAKING, VALIDATING, DEPLOYING, COMPLETE, ROLLING_BACK, ROLLED_BACK or REVERTED.
- `version_label` (text)

**Example output**

```json
{
  "application_id": "abc1234",
  "completed_at": null,
  "configuration_location_uri": "hosted",
  "configuration_name": "settings",
  "configuration_profile_id": "prf9012",
  "configuration_version": "1",
  "deployment_duration_in_minutes": 0,
  "deployment_number": 1,
  "deployment_strategy_id": "AppConfig.AllAtOnce",
  "description": null,
  "environment_id": "env5678",
  "event_log": [
    {
      "description": "Deployment started",
      "event_type": "DEPLOYMENT_STARTED",
      "occurred_at": "2026-09-28T09:00:00+00:00",
      "triggered_by": "USER"
    }
  ],
  "final_bake_time_in_minutes": 10,
  "growth_factor": 100.0,
  "growth_type": "LINEAR",
  "percentage_complete": 100.0,
  "started_at": "2026-09-28T09:00:00+00:00",
  "state": "ROLLED_BACK",
  "version_label": "v1"
}
```
