CreateDeploymentConfig - AWS CodeDeploy

CreateDeploymentConfig

Creates a deployment configuration.

Request Syntax

{ "computePlatform": "string", "deploymentConfigName": "string", "minimumHealthyHosts": { "type": "string", "value": number }, "trafficRoutingConfig": { "timeBasedCanary": { "canaryInterval": number, "canaryPercentage": number }, "timeBasedLinear": { "linearInterval": number, "linearPercentage": number }, "type": "string" }, "zonalConfig": { "firstZoneMonitorDurationInSeconds": number, "minimumHealthyHostsPerZone": { "type": "string", "value": number }, "monitorDurationInSeconds": number } }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

computePlatform

The destination platform type for the deployment (Lambda, Server, or ECS).

Type: String

Valid Values: Server | Lambda | ECS

Required: No

deploymentConfigName

The name of the deployment configuration to create.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Required: Yes

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 instances 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.

Type: MinimumHealthyHosts object

Required: No

trafficRoutingConfig

The configuration that specifies how the deployment traffic is routed.

Type: TrafficRoutingConfig object

Required: No

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.

Type: ZonalConfig object

Required: No

Response Syntax

{ "deploymentConfigId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

deploymentConfigId

A unique deployment configuration ID.

Type: String

Errors

For information about the errors that are common to all actions, see Common Errors.

DeploymentConfigAlreadyExistsException

A deployment configuration with the specified name with the user or AWS account already exists.

HTTP Status Code: 400

DeploymentConfigLimitExceededException

The deployment configurations limit was exceeded.

HTTP Status Code: 400

DeploymentConfigNameRequiredException

The deployment configuration name was not specified.

HTTP Status Code: 400

InvalidComputePlatformException

The computePlatform is invalid. The computePlatform should be Lambda, Server, or ECS.

HTTP Status Code: 400

InvalidDeploymentConfigNameException

The deployment configuration name was specified in an invalid format.

HTTP Status Code: 400

InvalidMinimumHealthyHostValueException

The minimum healthy instance value was specified in an invalid format.

HTTP Status Code: 400

InvalidTrafficRoutingConfigurationException

The configuration that specifies how traffic is routed during a deployment is invalid.

HTTP Status Code: 400

InvalidZonalDeploymentConfigurationException

The ZonalConfig object is not valid.

HTTP Status Code: 400

Examples

Example

This example illustrates one usage of CreateDeploymentConfig.

Sample Request

POST / HTTP/1.1 Host: codedeploy.us-east-1.amazonaws.com Accept-Encoding: identity Content-Length: 103 X-Amz-Target: CodeDeploy_20141006.CreateDeploymentConfig X-Amz-Date: 20160707T235925Z User-Agent: aws-cli/1.10.6 Python/2.7.9 Windows/7 botocore/1.3.28 Content-Type: application/x-amz-json-1.1 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20160707/us-east-1/codedeploy/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-date;x-amz-target, Signature=39c3b3042cd2aEXAMPLE { "minimumHealthyHosts": { "type": "HOST_COUNT", "value": 1 }, "deploymentConfigName": "CustomConfig.One" }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: 3ea3b855-88d0-11e5-9958-cd5094947bf1 Content-Type: application/x-amz-json-1.1 Content-Length: 61 { "deploymentConfigId": "e0839cbd-af8a-4a6c-921g-9ad0245d3459" }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: