openapi: 3.0.0 info: version: '2014-10-06' x-release: v4 title: 'AWS CodeDeploy Applications #X Amz Target=CodeDeploy 20141006.CreateDeploymentConfig API' description: '

CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances, on-premises instances running in your own facility, serverless Lambda functions, or applications in an Amazon ECS service.

You can deploy a nearly unlimited variety of application content, such as an updated Lambda function, updated applications in an Amazon ECS service, code, web and configuration files, executables, packages, scripts, multimedia files, and so on. CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. You do not need to make changes to your existing code before you can use CodeDeploy.

CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications, without many of the risks associated with error-prone manual deployments.

CodeDeploy Components

Use the information in this guide to help you work with the following CodeDeploy components:

This guide also contains information to help you get details about the instances in your deployments, to make on-premises instances available for CodeDeploy deployments, to get details about a Lambda function deployment, and to get details about Amazon ECS service deployments.

CodeDeploy Information Resources

' x-logo: url: https://twitter.com/awscloud/profile_image?size=original backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: codedeploy x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/codedeploy-2014-10-06.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://codedeploy.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The CodeDeploy multi-region endpoint - url: https://codedeploy.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The CodeDeploy multi-region endpoint - url: http://codedeploy.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The CodeDeploy endpoint for China (Beijing) and China (Ningxia) - url: https://codedeploy.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The CodeDeploy endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: '#X Amz Target=CodeDeploy 20141006.CreateDeploymentConfig' paths: /#X-Amz-Target=CodeDeploy_20141006.CreateDeploymentConfig: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: CreateDeploymentConfig description: ' Creates a deployment configuration. ' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateDeploymentConfigOutput' examples: CreateDeploymentConfig200Example: summary: Default CreateDeploymentConfig 200 response x-microcks-default: true value: deploymentConfigId: '500123' '480': description: InvalidDeploymentConfigNameException content: application/json: schema: $ref: '#/components/schemas/InvalidDeploymentConfigNameException' examples: CreateDeploymentConfig480Example: summary: Default CreateDeploymentConfig 480 response x-microcks-default: true value: example-value '481': description: DeploymentConfigNameRequiredException content: application/json: schema: $ref: '#/components/schemas/DeploymentConfigNameRequiredException' examples: CreateDeploymentConfig481Example: summary: Default CreateDeploymentConfig 481 response x-microcks-default: true value: example-value '482': description: DeploymentConfigAlreadyExistsException content: application/json: schema: $ref: '#/components/schemas/DeploymentConfigAlreadyExistsException' examples: CreateDeploymentConfig482Example: summary: Default CreateDeploymentConfig 482 response x-microcks-default: true value: example-value '483': description: InvalidMinimumHealthyHostValueException content: application/json: schema: $ref: '#/components/schemas/InvalidMinimumHealthyHostValueException' examples: CreateDeploymentConfig483Example: summary: Default CreateDeploymentConfig 483 response x-microcks-default: true value: example-value '484': description: DeploymentConfigLimitExceededException content: application/json: schema: $ref: '#/components/schemas/DeploymentConfigLimitExceededException' examples: CreateDeploymentConfig484Example: summary: Default CreateDeploymentConfig 484 response x-microcks-default: true value: example-value '485': description: InvalidComputePlatformException content: application/json: schema: $ref: '#/components/schemas/InvalidComputePlatformException' examples: CreateDeploymentConfig485Example: summary: Default CreateDeploymentConfig 485 response x-microcks-default: true value: example-value '486': description: InvalidTrafficRoutingConfigurationException content: application/json: schema: $ref: '#/components/schemas/InvalidTrafficRoutingConfigurationException' examples: CreateDeploymentConfig486Example: summary: Default CreateDeploymentConfig 486 response x-microcks-default: true value: example-value requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateDeploymentConfigInput' examples: CreateDeploymentConfigRequestExample: summary: Default CreateDeploymentConfig request x-microcks-default: true value: deploymentConfigName: example-resource minimumHealthyHosts: example-value trafficRoutingConfig: example-value computePlatform: example-value parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - CodeDeploy_20141006.CreateDeploymentConfig summary: Amazon CodeDeploy Create Deployment Config x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - '#X Amz Target=CodeDeploy 20141006.CreateDeploymentConfig' components: schemas: CreateDeploymentConfigOutput: type: object properties: deploymentConfigId: allOf: - $ref: '#/components/schemas/DeploymentConfigId' - description: A unique deployment configuration ID. description: Represents the output of a CreateDeploymentConfig operation. ComputePlatform: type: string enum: - Server - Lambda - ECS MinimumHealthyHosts: type: object properties: type: allOf: - $ref: '#/components/schemas/MinimumHealthyHostsType' - description: '

The minimum healthy instance type:

In an example of nine instances, if a HOST_COUNT 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_PERCENT of 40 is specified, deploy to up to five instances at a time. The deployment is successful if four or more instances are deployed to successfully. Otherwise, the deployment fails.

In a call to the GetDeploymentConfig, CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, 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 CodeDeploy Instance Health in the CodeDeploy User Guide.

' value: allOf: - $ref: '#/components/schemas/MinimumHealthyHostsValue' - description: The minimum healthy instance value. description: Information about minimum healthy instance. TimeBasedCanary: type: object properties: canaryPercentage: allOf: - $ref: '#/components/schemas/Percentage' - description: The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment. canaryInterval: allOf: - $ref: '#/components/schemas/WaitTimeInMins' - description: The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment. description: 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. TrafficRoutingConfig: type: object properties: type: allOf: - $ref: '#/components/schemas/TrafficRoutingType' - description: The type of traffic shifting (TimeBasedCanary or TimeBasedLinear) used by a deployment configuration. timeBasedCanary: allOf: - $ref: '#/components/schemas/TimeBasedCanary' - description: 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. timeBasedLinear: allOf: - $ref: '#/components/schemas/TimeBasedLinear' - description: 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. description: The configuration that specifies how traffic is shifted from one version of a Lambda function to another version during an Lambda deployment, or from one Amazon ECS task set to another during an Amazon ECS deployment. Percentage: type: integer InvalidDeploymentConfigNameException: {} MinimumHealthyHostsType: type: string enum: - HOST_COUNT - FLEET_PERCENT DeploymentConfigName: type: string minLength: 1 maxLength: 100 TimeBasedLinear: type: object properties: linearPercentage: allOf: - $ref: '#/components/schemas/Percentage' - description: The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment. linearInterval: allOf: - $ref: '#/components/schemas/WaitTimeInMins' - description: The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment. description: 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. TrafficRoutingType: type: string enum: - TimeBasedCanary - TimeBasedLinear - AllAtOnce MinimumHealthyHostsValue: type: integer WaitTimeInMins: type: integer DeploymentConfigNameRequiredException: {} DeploymentConfigAlreadyExistsException: {} CreateDeploymentConfigInput: type: object required: - deploymentConfigName title: CreateDeploymentConfigInput properties: deploymentConfigName: allOf: - $ref: '#/components/schemas/DeploymentConfigName' - description: The name of the deployment configuration to create. minimumHealthyHosts: allOf: - $ref: '#/components/schemas/MinimumHealthyHosts' - description: '

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:

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.

' trafficRoutingConfig: allOf: - $ref: '#/components/schemas/TrafficRoutingConfig' - description: The configuration that specifies how the deployment traffic is routed. computePlatform: allOf: - $ref: '#/components/schemas/ComputePlatform' - description: The destination platform type for the deployment (Lambda, Server, or ECS). description: Represents the input of a CreateDeploymentConfig operation. DeploymentConfigId: type: string DeploymentConfigLimitExceededException: {} InvalidComputePlatformException: {} InvalidTrafficRoutingConfigurationException: {} InvalidMinimumHealthyHostValueException: {} parameters: X-Amz-Credential: name: X-Amz-Credential in: header schema: type: string required: false X-Amz-Algorithm: name: X-Amz-Algorithm in: header schema: type: string required: false X-Amz-Content-Sha256: name: X-Amz-Content-Sha256 in: header schema: type: string required: false X-Amz-Security-Token: name: X-Amz-Security-Token in: header schema: type: string required: false X-Amz-SignedHeaders: name: X-Amz-SignedHeaders in: header schema: type: string required: false X-Amz-Date: name: X-Amz-Date in: header schema: type: string required: false X-Amz-Signature: name: X-Amz-Signature in: header schema: type: string required: false securitySchemes: hmac: type: apiKey name: Authorization in: header description: Amazon Signature authorization v4 x-amazon-apigateway-authtype: awsSigv4 externalDocs: description: Amazon Web Services documentation url: https://docs.aws.amazon.com/codedeploy/ x-hasEquivalentPaths: true