AWS::CodeDeploy::DeploymentConfig
The AWS::CodeDeploy::DeploymentConfig
resource creates a set of deployment
rules, deployment success conditions, and deployment failure conditions that AWS CodeDeploy uses during a deployment. The deployment configuration specifies the number
or percentage of instances that must remain available at any time during a deployment.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::CodeDeploy::DeploymentConfig", "Properties" : { "ComputePlatform" :
String
, "DeploymentConfigName" :String
, "MinimumHealthyHosts" :MinimumHealthyHosts
, "TrafficRoutingConfig" :TrafficRoutingConfig
, "ZonalConfig" :ZonalConfig
} }
YAML
Type: AWS::CodeDeploy::DeploymentConfig Properties: ComputePlatform:
String
DeploymentConfigName:String
MinimumHealthyHosts:MinimumHealthyHosts
TrafficRoutingConfig:TrafficRoutingConfig
ZonalConfig:ZonalConfig
Properties
ComputePlatform
-
The destination platform type for the deployment (
Lambda
,Server
, orECS
).Required: No
Type: String
Allowed values:
Server | Lambda | ECS
Update requires: Replacement
DeploymentConfigName
-
A name for the deployment configuration. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see Name Type.
Important
If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
Required: No
Type: String
Minimum:
1
Maximum:
100
Update requires: Replacement
MinimumHealthyHosts
-
The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.
The type parameter takes either of the following values:
-
HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.
-
FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances.
The value parameter takes an integer.
For example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.
For more information about instance health, see CodeDeploy Instance Health in the AWS CodeDeploy User Guide.
Required: No
Type: MinimumHealthyHosts
Update requires: Replacement
-
TrafficRoutingConfig
-
The configuration that specifies how the deployment traffic is routed.
Required: No
Type: TrafficRoutingConfig
Update requires: Replacement
ZonalConfig
-
Configure the
ZonalConfig
object if you want AWS CodeDeploy to deploy your application to one Availability Zone at a time, within an AWS Region.For more information about the zonal configuration feature, see zonal configuration in the CodeDeploy User Guide.
Required: No
Type: ZonalConfig
Update requires: Replacement
Return values
Ref
When you pass the logical ID of an AWS::CodeDeploy::DeploymentConfig
resource
to the intrinsic Ref
function, the function returns the deployment configuration
name, such as mydeploymentconfig-a123d0d1
.
For more information about using the Ref
function, see Ref.
Examples
Specifying minimum healthy hosts
The following example requires at least 75% of the fleet to be healthy. For example, if you had a fleet of four instances, the deployment proceeds one instance at a time.
JSON
"TwentyFivePercentAtATime" : { "Type" : "AWS::CodeDeploy::DeploymentConfig", "Properties" : { "MinimumHealthyHosts" : { "Type" : "FLEET_PERCENT", "Value" : "75" } } }
YAML
TwentyFivePercentAtATime: Type: AWS::CodeDeploy::DeploymentConfig Properties: MinimumHealthyHosts: Type: "FLEET_PERCENT" Value: 75