

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::CodeDeploy::DeploymentConfig
<a name="aws-resource-codedeploy-deploymentconfig"></a>

 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
<a name="aws-resource-codedeploy-deploymentconfig-syntax"></a>

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

### JSON
<a name="aws-resource-codedeploy-deploymentconfig-syntax.json"></a>

```
{
  "Type" : "AWS::CodeDeploy::DeploymentConfig",
  "Properties" : {
      "[ComputePlatform](#cfn-codedeploy-deploymentconfig-computeplatform)" : String,
      "[DeploymentConfigName](#cfn-codedeploy-deploymentconfig-deploymentconfigname)" : String,
      "[MinimumHealthyHosts](#cfn-codedeploy-deploymentconfig-minimumhealthyhosts)" : MinimumHealthyHosts,
      "[TrafficRoutingConfig](#cfn-codedeploy-deploymentconfig-trafficroutingconfig)" : TrafficRoutingConfig,
      "[ZonalConfig](#cfn-codedeploy-deploymentconfig-zonalconfig)" : ZonalConfig
    }
}
```

### YAML
<a name="aws-resource-codedeploy-deploymentconfig-syntax.yaml"></a>

```
Type: AWS::CodeDeploy::DeploymentConfig
Properties:
  [ComputePlatform](#cfn-codedeploy-deploymentconfig-computeplatform): String
  [DeploymentConfigName](#cfn-codedeploy-deploymentconfig-deploymentconfigname): String
  [MinimumHealthyHosts](#cfn-codedeploy-deploymentconfig-minimumhealthyhosts): 
    MinimumHealthyHosts
  [TrafficRoutingConfig](#cfn-codedeploy-deploymentconfig-trafficroutingconfig): 
    TrafficRoutingConfig
  [ZonalConfig](#cfn-codedeploy-deploymentconfig-zonalconfig): 
    ZonalConfig
```

## Properties
<a name="aws-resource-codedeploy-deploymentconfig-properties"></a>

`ComputePlatform`  <a name="cfn-codedeploy-deploymentconfig-computeplatform"></a>
The destination platform type for the deployment (`Lambda`, `Server`, or `ECS`).  
*Required*: No  
*Type*: String  
*Allowed values*: `Server | Lambda | ECS | Kubernetes`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DeploymentConfigName`  <a name="cfn-codedeploy-deploymentconfig-deploymentconfigname"></a>
 A name for the deployment configuration. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).   
 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MinimumHealthyHosts`  <a name="cfn-codedeploy-deploymentconfig-minimumhealthyhosts"></a>
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\$1COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.
+ FLEET\$1PERCENT: 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\$1PERCENT, 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\$1PERCENT and a value of 95.  
 For more information about instance health, see [CodeDeploy Instance Health](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html) in the AWS CodeDeploy User Guide.   
*Required*: No  
*Type*: [MinimumHealthyHosts](aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TrafficRoutingConfig`  <a name="cfn-codedeploy-deploymentconfig-trafficroutingconfig"></a>
The configuration that specifies how the deployment traffic is routed.  
*Required*: No  
*Type*: [TrafficRoutingConfig](aws-properties-codedeploy-deploymentconfig-trafficroutingconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ZonalConfig`  <a name="cfn-codedeploy-deploymentconfig-zonalconfig"></a>
Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region.  
For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide*.  
*Required*: No  
*Type*: [ZonalConfig](aws-properties-codedeploy-deploymentconfig-zonalconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-codedeploy-deploymentconfig-return-values"></a>

### Ref
<a name="aws-resource-codedeploy-deploymentconfig-return-values-ref"></a>

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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).

## Examples
<a name="aws-resource-codedeploy-deploymentconfig--examples"></a>



### Specifying minimum healthy hosts
<a name="aws-resource-codedeploy-deploymentconfig--examples--Specifying_minimum_healthy_hosts"></a>

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
<a name="aws-resource-codedeploy-deploymentconfig--examples--Specifying_minimum_healthy_hosts--json"></a>

```
"TwentyFivePercentAtATime" : {
    "Type" : "AWS::CodeDeploy::DeploymentConfig",
    "Properties" : {
        "MinimumHealthyHosts" : {
            "Type" : "FLEET_PERCENT",
            "Value" : "75"
        }
    }
}
```

#### YAML
<a name="aws-resource-codedeploy-deploymentconfig--examples--Specifying_minimum_healthy_hosts--yaml"></a>

```
TwentyFivePercentAtATime: 
  Type: AWS::CodeDeploy::DeploymentConfig
  Properties: 
    MinimumHealthyHosts: 
      Type: "FLEET_PERCENT"
      Value: 75
```

# AWS::CodeDeploy::DeploymentConfig MinimumHealthyHosts
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts"></a>

`MinimumHealthyHosts` is a property of the [DeploymentConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html) resource that defines how many instances must remain healthy during an AWS CodeDeploy deployment.

## Syntax
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts-syntax"></a>

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

### JSON
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts-syntax.json"></a>

```
{
  "[Type](#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-type)" : String,
  "[Value](#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-value)" : Integer
}
```

### YAML
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts-syntax.yaml"></a>

```
  [Type](#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-type): String
  [Value](#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-value): Integer
```

## Properties
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts-properties"></a>

`Type`  <a name="cfn-codedeploy-deploymentconfig-minimumhealthyhosts-type"></a>
The minimum healthy instance type:  
+ HOST\$1COUNT: The minimum number of healthy instance as an absolute value.
+ FLEET\$1PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.
In an example of nine instance, if a HOST\$1COUNT of six is specified, deploy to up to three instances at a time. The deployment is successful if six or more instances are deployed to successfully. Otherwise, the deployment fails. If a FLEET\$1PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment is successful if four or more instance are deployed to successfully. Otherwise, the deployment fails.  
In a call to `GetDeploymentConfig`, CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST\$1CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST\$1CONCURRENCY, only to HOST\$1COUNT or FLEET\$1PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment is still successful.
For more information, see [AWS CodeDeploy Instance Health](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html) in the *AWS CodeDeploy User Guide*.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `HOST_COUNT | FLEET_PERCENT`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-codedeploy-deploymentconfig-minimumhealthyhosts-value"></a>
The minimum healthy instance value.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CodeDeploy::DeploymentConfig MinimumHealthyHostsPerZone
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhostsperzone"></a>

Information about the minimum number of healthy instances per Availability Zone.

## Syntax
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhostsperzone-syntax"></a>

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

### JSON
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhostsperzone-syntax.json"></a>

```
{
  "[Type](#cfn-codedeploy-deploymentconfig-minimumhealthyhostsperzone-type)" : String,
  "[Value](#cfn-codedeploy-deploymentconfig-minimumhealthyhostsperzone-value)" : Integer
}
```

### YAML
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhostsperzone-syntax.yaml"></a>

```
  [Type](#cfn-codedeploy-deploymentconfig-minimumhealthyhostsperzone-type): String
  [Value](#cfn-codedeploy-deploymentconfig-minimumhealthyhostsperzone-value): Integer
```

## Properties
<a name="aws-properties-codedeploy-deploymentconfig-minimumhealthyhostsperzone-properties"></a>

`Type`  <a name="cfn-codedeploy-deploymentconfig-minimumhealthyhostsperzone-type"></a>
The `type` associated with the `MinimumHealthyHostsPerZone` option.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `HOST_COUNT | FLEET_PERCENT`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-codedeploy-deploymentconfig-minimumhealthyhostsperzone-value"></a>
The `value` associated with the `MinimumHealthyHostsPerZone` option.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CodeDeploy::DeploymentConfig TimeBasedCanary
<a name="aws-properties-codedeploy-deploymentconfig-timebasedcanary"></a>

A configuration that shifts traffic from one version of a Lambda function or Amazon ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.

## Syntax
<a name="aws-properties-codedeploy-deploymentconfig-timebasedcanary-syntax"></a>

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

### JSON
<a name="aws-properties-codedeploy-deploymentconfig-timebasedcanary-syntax.json"></a>

```
{
  "[CanaryInterval](#cfn-codedeploy-deploymentconfig-timebasedcanary-canaryinterval)" : Integer,
  "[CanaryPercentage](#cfn-codedeploy-deploymentconfig-timebasedcanary-canarypercentage)" : Integer
}
```

### YAML
<a name="aws-properties-codedeploy-deploymentconfig-timebasedcanary-syntax.yaml"></a>

```
  [CanaryInterval](#cfn-codedeploy-deploymentconfig-timebasedcanary-canaryinterval): Integer
  [CanaryPercentage](#cfn-codedeploy-deploymentconfig-timebasedcanary-canarypercentage): Integer
```

## Properties
<a name="aws-properties-codedeploy-deploymentconfig-timebasedcanary-properties"></a>

`CanaryInterval`  <a name="cfn-codedeploy-deploymentconfig-timebasedcanary-canaryinterval"></a>
The number of minutes between the first and second traffic shifts of a `TimeBasedCanary` deployment.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CanaryPercentage`  <a name="cfn-codedeploy-deploymentconfig-timebasedcanary-canarypercentage"></a>
The percentage of traffic to shift in the first increment of a `TimeBasedCanary` deployment.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CodeDeploy::DeploymentConfig TimeBasedLinear
<a name="aws-properties-codedeploy-deploymentconfig-timebasedlinear"></a>

A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.

## Syntax
<a name="aws-properties-codedeploy-deploymentconfig-timebasedlinear-syntax"></a>

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

### JSON
<a name="aws-properties-codedeploy-deploymentconfig-timebasedlinear-syntax.json"></a>

```
{
  "[LinearInterval](#cfn-codedeploy-deploymentconfig-timebasedlinear-linearinterval)" : Integer,
  "[LinearPercentage](#cfn-codedeploy-deploymentconfig-timebasedlinear-linearpercentage)" : Integer
}
```

### YAML
<a name="aws-properties-codedeploy-deploymentconfig-timebasedlinear-syntax.yaml"></a>

```
  [LinearInterval](#cfn-codedeploy-deploymentconfig-timebasedlinear-linearinterval): Integer
  [LinearPercentage](#cfn-codedeploy-deploymentconfig-timebasedlinear-linearpercentage): Integer
```

## Properties
<a name="aws-properties-codedeploy-deploymentconfig-timebasedlinear-properties"></a>

`LinearInterval`  <a name="cfn-codedeploy-deploymentconfig-timebasedlinear-linearinterval"></a>
The number of minutes between each incremental traffic shift of a `TimeBasedLinear` deployment.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`LinearPercentage`  <a name="cfn-codedeploy-deploymentconfig-timebasedlinear-linearpercentage"></a>
The percentage of traffic that is shifted at the start of each increment of a `TimeBasedLinear` deployment.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CodeDeploy::DeploymentConfig TrafficRoutingConfig
<a name="aws-properties-codedeploy-deploymentconfig-trafficroutingconfig"></a>

The configuration that specifies how traffic is shifted from one version of a Lambda function to another version during an AWS Lambda deployment, or from one Amazon ECS task set to another during an Amazon ECS deployment.

## Syntax
<a name="aws-properties-codedeploy-deploymentconfig-trafficroutingconfig-syntax"></a>

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

### JSON
<a name="aws-properties-codedeploy-deploymentconfig-trafficroutingconfig-syntax.json"></a>

```
{
  "[TimeBasedCanary](#cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedcanary)" : TimeBasedCanary,
  "[TimeBasedLinear](#cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedlinear)" : TimeBasedLinear,
  "[Type](#cfn-codedeploy-deploymentconfig-trafficroutingconfig-type)" : String
}
```

### YAML
<a name="aws-properties-codedeploy-deploymentconfig-trafficroutingconfig-syntax.yaml"></a>

```
  [TimeBasedCanary](#cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedcanary): 
    TimeBasedCanary
  [TimeBasedLinear](#cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedlinear): 
    TimeBasedLinear
  [Type](#cfn-codedeploy-deploymentconfig-trafficroutingconfig-type): String
```

## Properties
<a name="aws-properties-codedeploy-deploymentconfig-trafficroutingconfig-properties"></a>

`TimeBasedCanary`  <a name="cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedcanary"></a>
A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.  
*Required*: No  
*Type*: [TimeBasedCanary](aws-properties-codedeploy-deploymentconfig-timebasedcanary.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`TimeBasedLinear`  <a name="cfn-codedeploy-deploymentconfig-trafficroutingconfig-timebasedlinear"></a>
A configuration that shifts traffic from one version of a Lambda function or Amazon ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or Amazon ECS task sets are specified in the deployment's AppSpec file.  
*Required*: No  
*Type*: [TimeBasedLinear](aws-properties-codedeploy-deploymentconfig-timebasedlinear.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Type`  <a name="cfn-codedeploy-deploymentconfig-trafficroutingconfig-type"></a>
The type of traffic shifting (`TimeBasedCanary` or `TimeBasedLinear`) used by a deployment configuration.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `TimeBasedCanary | TimeBasedLinear | TimeBasedFlexible | AllAtOnce`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::CodeDeploy::DeploymentConfig ZonalConfig
<a name="aws-properties-codedeploy-deploymentconfig-zonalconfig"></a>

Configure the `ZonalConfig` object if you want AWS CodeDeploy to deploy your application to one [Availability Zone](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones) at a time, within an AWS Region. By deploying to one Availability Zone at a time, you can expose your deployment to a progressively larger audience as confidence in the deployment's performance and viability grows. If you don't configure the `ZonalConfig` object, CodeDeploy deploys your application to a random selection of hosts across a Region.

For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide*.

## Syntax
<a name="aws-properties-codedeploy-deploymentconfig-zonalconfig-syntax"></a>

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

### JSON
<a name="aws-properties-codedeploy-deploymentconfig-zonalconfig-syntax.json"></a>

```
{
  "[FirstZoneMonitorDurationInSeconds](#cfn-codedeploy-deploymentconfig-zonalconfig-firstzonemonitordurationinseconds)" : Integer,
  "[MinimumHealthyHostsPerZone](#cfn-codedeploy-deploymentconfig-zonalconfig-minimumhealthyhostsperzone)" : MinimumHealthyHostsPerZone,
  "[MonitorDurationInSeconds](#cfn-codedeploy-deploymentconfig-zonalconfig-monitordurationinseconds)" : Integer
}
```

### YAML
<a name="aws-properties-codedeploy-deploymentconfig-zonalconfig-syntax.yaml"></a>

```
  [FirstZoneMonitorDurationInSeconds](#cfn-codedeploy-deploymentconfig-zonalconfig-firstzonemonitordurationinseconds): Integer
  [MinimumHealthyHostsPerZone](#cfn-codedeploy-deploymentconfig-zonalconfig-minimumhealthyhostsperzone): 
    MinimumHealthyHostsPerZone
  [MonitorDurationInSeconds](#cfn-codedeploy-deploymentconfig-zonalconfig-monitordurationinseconds): Integer
```

## Properties
<a name="aws-properties-codedeploy-deploymentconfig-zonalconfig-properties"></a>

`FirstZoneMonitorDurationInSeconds`  <a name="cfn-codedeploy-deploymentconfig-zonalconfig-firstzonemonitordurationinseconds"></a>
The period of time, in seconds, that CodeDeploy must wait after completing a deployment to the *first* Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the second Availability Zone. You might set this option if you want to allow extra bake time for the first Availability Zone. If you don't specify a value for `firstZoneMonitorDurationInSeconds`, then CodeDeploy uses the `monitorDurationInSeconds` value for the first Availability Zone.  
For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide*.  
*Required*: No  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MinimumHealthyHostsPerZone`  <a name="cfn-codedeploy-deploymentconfig-zonalconfig-minimumhealthyhostsperzone"></a>
The number or percentage of instances that must remain available per Availability Zone during a deployment. This option works in conjunction with the `MinimumHealthyHosts` option. For more information, see [About the minimum number of healthy hosts per Availability Zone](https://docs.aws.amazon.com//codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az) in the *CodeDeploy User Guide*.  
If you don't specify the `minimumHealthyHostsPerZone` option, then CodeDeploy uses a default value of `0` percent.  
For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide*.  
*Required*: No  
*Type*: [MinimumHealthyHostsPerZone](aws-properties-codedeploy-deploymentconfig-minimumhealthyhostsperzone.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`MonitorDurationInSeconds`  <a name="cfn-codedeploy-deploymentconfig-zonalconfig-monitordurationinseconds"></a>
The period of time, in seconds, that CodeDeploy must wait after completing a deployment to an Availability Zone. CodeDeploy will wait this amount of time before starting a deployment to the next Availability Zone. Consider adding a monitor duration to give the deployment some time to prove itself (or 'bake') in one Availability Zone before it is released in the next zone. If you don't specify a `monitorDurationInSeconds`, CodeDeploy starts deploying to the next Availability Zone immediately.  
For more information about the zonal configuration feature, see [zonal configuration](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config) in the *CodeDeploy User Guide*.  
*Required*: No  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)