Amazon AppConfig
App · Cloud Computing · 20 actions
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.
Actions
| Action | What it does |
|---|---|
| Create a configuration profile | Create a configuration profile in AppConfig's hosted store. |
| Create a hosted configuration version | Save new content for a hosted configuration profile as its next version. |
| Create an application | Create an AppConfig application: the container for a service's environments and configuration profiles. |
| Create an environment | Create an environment in an application, such as production or beta: a group of targets a configuration is deployed to. |
| Delete a configuration profile | Permanently delete a configuration profile. |
| Delete a hosted configuration version | Permanently delete one saved version of a hosted configuration. |
| Delete an application | Permanently delete an AppConfig application. |
| Delete an environment | Permanently delete an environment. |
| Get a deployment | Get a deployment's state, progress and event log, for example to check whether it has completed. |
| Get a hosted configuration version | Get one saved version of a hosted configuration, with its content as text and, for JSON, parsed. |
| Get an application | Get one AppConfig application's ID, name and description. |
| Get the latest configuration | Get the configuration currently deployed to an environment, as your applications receive it. |
| List applications | List the AppConfig applications in the connection's region. |
| List configuration profiles | List an application's configuration profiles. |
| List deployment strategies | List the deployment strategies available: AWS's predefined ones and any made in this account, with how fast each rolls out. |
| List deployments | List the deployments to an environment, newest first. |
| List environments | List an application's environments and their state. |
| List hosted configuration versions | List the saved versions of a hosted configuration profile, without their content. |
| Start a deployment | Roll a configuration version out to an environment using a deployment strategy. |
| Stop a deployment | Stop a deployment that is rolling out. |
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_idtextRequired - 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_nametextRequired - The profile's name, up to 128 characters.
- Type
profile_typetext - 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
descriptiontext - An optional description, up to 1,024 characters.
- JSON Schema validator
json_schematext - Optional JSON Schema every deployed version must match, such as {"type": "object"}. AppConfig checks it when a deployment starts.
- Tags
tagsobject - Optional tag names and values, such as team = platform. Up to 50 tags; names up to 128 characters, values up to 256.
Outputs
application_idtextdescriptiontextidtext- The configuration profile ID.
kms_key_arntextlocation_uritextnametexttypetext- AWS.Freeform or AWS.AppConfig.FeatureFlags.
validator_typeslist
Example output
{
"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_idtextRequired - 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_idtextRequired - 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
contenttextRequired - The configuration. An object from an earlier step is saved as JSON. For JSON it is checked before sending.
- Content type
content_typetext - The format of the content.One of:
application/json(JSON),text/plain(Plain text),application/x-yaml(YAML). Default:application/json. - Description
descriptiontext - An optional note, up to 1,024 plain ASCII characters (AppConfig sends it in an HTTP header).
- Version label
version_labeltext - 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_numbernumber - 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_idtextconfiguration_profile_idtextcontenttext- The configuration as text.
content_jsonobject- The configuration parsed, when its content type is JSON; null otherwise.
content_typetextdescriptiontextkms_key_arntextversion_labeltextversion_numbernumber- Pass this as the configuration version to deploy it.
Example output
{
"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_nametextRequired - The application's name, up to 64 characters.
- Description
descriptiontext - An optional description, up to 1,024 characters.
- Tags
tagsobject - Optional tag names and values, such as team = platform. Up to 50 tags; names up to 128 characters, values up to 256.
Outputs
descriptiontextidtext- The application ID.
nametext
Example output
{
"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_idtextRequired - 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_nametextRequired - The environment's name, up to 64 characters.
- Description
descriptiontext - An optional description, up to 1,024 characters.
- Tags
tagsobject - Optional tag names and values, such as team = platform. Up to 50 tags; names up to 128 characters, values up to 256.
Outputs
application_idtextdescriptiontextidtext- The environment ID.
monitorslistnametextstatetext- READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, ROLLED_BACK or REVERTED.
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_usetrue/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_idtextconfiguration_profile_idtextdeletedtrue/false
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_numbernumberRequired - The hosted configuration version's number. 'List hosted configuration versions' shows them.At least 1.
Outputs
application_idtextconfiguration_profile_idtextdeletedtrue/falseversion_numbernumber
Example output
{
"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_idtextRequired - 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_idtextdeletedtrue/false
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_usetrue/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_idtextdeletedtrue/falseenvironment_idtext
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_numbernumberRequired - The deployment's number within the environment. 'List deployments' shows them, newest first.At least 1.
Outputs
application_idtextcompleted_attextconfiguration_location_uritextconfiguration_nametextconfiguration_profile_idtextconfiguration_versiontextdeployment_duration_in_minutesnumberdeployment_numbernumberdeployment_strategy_idtextdescriptiontextenvironment_idtextevent_loglistfinal_bake_time_in_minutesnumbergrowth_factornumbergrowth_typetextpercentage_completenumberstarted_attextstatetext- BAKING, VALIDATING, DEPLOYING, COMPLETE, ROLLING_BACK, ROLLED_BACK or REVERTED.
version_labeltext
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_numbernumberRequired - The hosted configuration version's number. 'List hosted configuration versions' shows them.At least 1.
Outputs
application_idtextconfiguration_profile_idtextcontenttext- The configuration as text.
content_jsonobject- The configuration parsed, when its content type is JSON; null otherwise.
content_typetextdescriptiontextkms_key_arntextversion_labeltextversion_numbernumber- Pass this as the configuration version to deploy it.
Example output
{
"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_idtextRequired - The AppConfig application. Pick one, or give its ID, its name, its ARN, or the link to its page in the AppConfig console.
Outputs
descriptiontextidtext- The application ID.
nametext
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_idtextRequired - 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_idtextconfiguration_profile_idtextcontenttext- The configuration as text.
content_jsonobject- The configuration parsed, when its content type is JSON; null otherwise.
content_typetextenvironment_idtextversion_labeltext
Example output
{
"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_resultsnumber - How many to return in one page, from 1 to 50.From 1 to 50. Default:
50. - Next token
next_tokentext - To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.
Outputs
applicationslistcountnumbernext_tokentext- Pass this as 'Next token' to fetch the next page. Null on the last page.
Example output
{
"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_idtextRequired - 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_typetext - 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_resultsnumber - How many to return in one page, from 1 to 50.From 1 to 50. Default:
50. - Next token
next_tokentext - To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.
Outputs
configuration_profileslistcountnumbernext_tokentext- Pass this as 'Next token' to fetch the next page. Null on the last page.
Example output
{
"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_resultsnumber - How many to return in one page, from 1 to 50.From 1 to 50. Default:
50. - Next token
next_tokentext - To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.
Outputs
countnumberdeployment_strategieslistnext_tokentext- Pass this as 'Next token' to fetch the next page. Null on the last page.
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_resultsnumber - How many to return in one page, from 1 to 50.From 1 to 50. Default:
50. - Next token
next_tokentext - To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.
Outputs
countnumberdeploymentslistnext_tokentext- Pass this as 'Next token' to fetch the next page. Null on the last page.
Example output
{
"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_idtextRequired - 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_resultsnumber - How many to return in one page, from 1 to 50.From 1 to 50. Default:
50. - Next token
next_tokentext - To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.
Outputs
countnumberenvironmentslistnext_tokentext- Pass this as 'Next token' to fetch the next page. Null on the last page.
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_labeltext - Only list versions with this label. Leave empty for all.
- Max results
max_resultsnumber - How many to return in one page, from 1 to 50.From 1 to 50. Default:
50. - Next token
next_tokentext - To fetch the next page, the 'next_token' an earlier run of this step returned. Leave empty for the first page.
Outputs
countnumbernext_tokentext- Pass this as 'Next token' to fetch the next page. Null on the last page.
versionslist
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_idtextRequired - 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_versiontextRequired - For a hosted profile, the version number or version label to deploy.
- Deployment strategy
deployment_strategy_idtextRequired - 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
descriptiontext - An optional description, up to 1,024 characters.
Outputs
application_idtextcompleted_attextconfiguration_location_uritextconfiguration_nametextconfiguration_profile_idtextconfiguration_versiontextdeployment_duration_in_minutesnumberdeployment_numbernumberdeployment_strategy_idtextdescriptiontextenvironment_idtextevent_loglistfinal_bake_time_in_minutesnumbergrowth_factornumbergrowth_typetextpercentage_completenumberstarted_attextstatetext- BAKING, VALIDATING, DEPLOYING, COMPLETE, ROLLING_BACK, ROLLED_BACK or REVERTED.
version_labeltext
Example output
{
"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_idtextRequired - 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_idtextRequired - 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_numbernumberRequired - The deployment's number within the environment. 'List deployments' shows them, newest first.At least 1.
- Roll back
allow_reverttrue/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_idtextcompleted_attextconfiguration_location_uritextconfiguration_nametextconfiguration_profile_idtextconfiguration_versiontextdeployment_duration_in_minutesnumberdeployment_numbernumberdeployment_strategy_idtextdescriptiontextenvironment_idtextevent_loglistfinal_bake_time_in_minutesnumbergrowth_factornumbergrowth_typetextpercentage_completenumberstarted_attextstatetext- BAKING, VALIDATING, DEPLOYING, COMPLETE, ROLLING_BACK, ROLLED_BACK or REVERTED.
version_labeltext
Example output
{
"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"
}