AWS::AppConfig::Deployment - Amazon CloudFormation
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

AWS::AppConfig::Deployment

The AWS::AppConfig::Deployment resource starts a deployment. Starting a deployment in Amazon AppConfig calls the StartDeployment API action. This call includes the IDs of the Amazon 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.

Amazon AppConfig monitors the distribution to all hosts and reports status. If a distribution fails, then Amazon AppConfig rolls back the configuration.

Amazon AppConfig requires that you create resources and deploy a configuration in the following order:

  1. Create an application

  2. Create an environment

  3. Create a configuration profile

  4. Choose a pre-defined deployment strategy or create your own

  5. Deploy the configuration

For more information, see Amazon AppConfig in the Amazon AppConfig User Guide.

Syntax

To declare this entity in your Amazon CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::AppConfig::Deployment", "Properties" : { "ApplicationId" : String, "ConfigurationProfileId" : String, "ConfigurationVersion" : String, "DeploymentStrategyId" : String, "Description" : String, "DynamicExtensionParameters" : [ DynamicExtensionParameters, ... ], "EnvironmentId" : String, "KmsKeyIdentifier" : String, "Tags" : [ Tags, ... ] } }

YAML

Type: AWS::AppConfig::Deployment Properties: ApplicationId: String ConfigurationProfileId: String ConfigurationVersion: String DeploymentStrategyId: String Description: String DynamicExtensionParameters: - DynamicExtensionParameters EnvironmentId: String KmsKeyIdentifier: 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. If deploying an Amazon AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.

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

DynamicExtensionParameters

A map of dynamic extension parameter names to values to pass to associated extensions with PRE_START_DEPLOYMENT actions.

Required: No

Type: Array of DynamicExtensionParameters

Update requires: Replacement

EnvironmentId

The environment ID.

Required: Yes

Type: String

Pattern: [a-z0-9]{4,7}

Update requires: Replacement

KmsKeyIdentifier

The Amazon Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.

Required: No

Type: String

Minimum: 1

Maximum: 2048

Update requires: Replacement

Tags

Metadata to assign to the deployment. Tags help organize and categorize your Amazon AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

Required: No

Type: Array of Tags

Update requires: Replacement

Return values

Ref

Fn::GetAtt

Examples

Amazon AppConfig deployment example

The following example creates an Amazon AppConfig deployment. Starting a deployment in Amazon AppConfig calls the StartDeployment API action. This call includes the IDs of the Amazon 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.

Amazon AppConfig monitors the distribution to all hosts and reports status. If a distribution fails, then Amazon AppConfig rolls back the configuration.

JSON

Resources": { "BasicDeployment": { "Type": "AWS::AppConfig::Deployment", "DependsOn": [ "MyTestApplication", "MyTestConfigurationProfile", "MyTestEnvironment", "MyTestDeploymentStrategy" ], "Properties": { "ApplicationId": MyTestApplication, "EnvironmentId": MyTestEnvironment, "DeploymentStrategyId": MyTestDeploymentStrategy, "ConfigurationProfileId": MyTestConfigurationProfile, "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

See also