AWS::AppConfig::Deployment
The AWS::AppConfig::Deployment
resource starts a deployment. Starting a
deployment in AWS AppConfig calls the StartDeployment
API action. This call
includes the IDs of the AppConfig application, the environment, the configuration
profile, and
(optionally) the configuration data version to deploy. The call also includes the
ID of the
deployment strategy to use, which determines how the configuration data is deployed.
AppConfig monitors the distribution to all hosts and reports status. If a distribution fails, then AppConfig rolls back the configuration.
AppConfig requires that you create resources and deploy a configuration in the following order:
-
Create an application
-
Create an environment
-
Create a configuration profile
-
Create a deployment strategy
-
Deploy the configuration
For more information, see AWS AppConfig in the AWS Systems Manager User Guide.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::AppConfig::Deployment", "Properties" : { "ApplicationId" :
String
, "ConfigurationProfileId" :String
, "ConfigurationVersion" :String
, "DeploymentStrategyId" :String
, "Description" :String
, "EnvironmentId" :String
, "Tags" :[ Tags, ... ]
} }
YAML
Type: AWS::AppConfig::Deployment Properties: ApplicationId:
String
ConfigurationProfileId:String
ConfigurationVersion:String
DeploymentStrategyId:String
Description:String
EnvironmentId:String
Tags:- Tags
Properties
ApplicationId
-
The application ID.
Required: Yes
Type: String
Pattern:
[a-z0-9]{4,7}
Update requires: Replacement
ConfigurationProfileId
-
The configuration profile ID.
Required: Yes
Type: String
Pattern:
[a-z0-9]{4,7}
Update requires: Replacement
ConfigurationVersion
-
The configuration version to deploy.
Required: Yes
Type: String
Minimum:
1
Maximum:
1024
Update requires: Replacement
DeploymentStrategyId
-
The deployment strategy ID.
Required: Yes
Type: String
Pattern:
[a-z0-9]{4,7}
Update requires: Replacement
Description
-
A description of the deployment.
Required: No
Type: String
Minimum:
0
Maximum:
1024
Update requires: Replacement
EnvironmentId
-
The environment ID.
Required: Yes
Type: String
Pattern:
[a-z0-9]{4,7}
Update requires: Replacement
Tags
-
Metadata to assign to the deployment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.
Required: No
Update requires: No interruption
Return values
Ref
Examples
AWS AppConfig Deployment Example
The following example creates an AWS AppConfig deployment. Starting a deployment in AWS AppConfig calls the StartDeployment API action. This call includes the IDs of the AppConfig application, the environment, the configuration profile, and (optionally) the configuration data version to deploy. The call also includes the ID of the deployment strategy to use, which determines how the configuration data is deployed.
AppConfig monitors the distribution to all hosts and reports status. If a distribution fails, then AppConfig rolls back the configuration.
JSON
Resources": { "BasicDeployment": { "Type": "AWS::AppConfig::Deployment", "DependsOn": [ "MyTestApplication", "MyTestConfigurationProfile", "MyTestEnvironment", "MyTestDeploymentStrategy" ], "Properties": { "ApplicationId": 12345, "EnvironmentId": 12345, "DeploymentStrategyId": 12345, "ConfigurationProfileId": 12345, "ConfigurationVersion": "1", "Description": "My test deployment", "Tags": [ { "Key": "Env", "Value": "test" } ] } } } }
YAML
Resources: BasicDeployment: Type: AWS::AppConfig::Deployment Properties: ApplicationId: !Ref MyTestApplication EnvironmentId: !Ref MyTestEnvironment DeploymentStrategyId: !Ref MyTestDeploymentStrategy ConfigurationProfileId: !Ref MyTestConfigurationProfile ConfigurationVersion: '1' Description: 'My test deployment' Tags: - Key: Env Value: test