diff --git a/services/codedeploy/src/main/resources/codegen-resources/service-2.json b/services/codedeploy/src/main/resources/codegen-resources/service-2.json index 04992201471b..eeafd4e7e71c 100644 --- a/services/codedeploy/src/main/resources/codegen-resources/service-2.json +++ b/services/codedeploy/src/main/resources/codegen-resources/service-2.json @@ -10,7 +10,6 @@ "serviceId":"CodeDeploy", "signatureVersion":"v4", "targetPrefix":"CodeDeploy_20141006", - "timestampFormat":"unixTimestamp", "uid":"codedeploy-2014-10-06" }, "operations":{ @@ -80,7 +79,8 @@ {"shape":"ApplicationDoesNotExistException"}, {"shape":"DeploymentGroupNameRequiredException"}, {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"BatchLimitExceededException"} + {"shape":"BatchLimitExceededException"}, + {"shape":"DeploymentConfigDoesNotExistException"} ], "documentation":"

Gets information about one or more deployment groups.

" }, @@ -98,9 +98,31 @@ {"shape":"InstanceIdRequiredException"}, {"shape":"InvalidDeploymentIdException"}, {"shape":"InvalidInstanceNameException"}, - {"shape":"BatchLimitExceededException"} + {"shape":"BatchLimitExceededException"}, + {"shape":"InvalidComputePlatformException"} + ], + "documentation":"

This method works, but is considered deprecated. Use BatchGetDeploymentTargets instead.

Returns an array of instances associated with a deployment. This method works with EC2/On-premises and AWS Lambda compute platforms. The newer BatchGetDeploymentTargets works with all compute platforms.

", + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use BatchGetDeploymentTargets instead." + }, + "BatchGetDeploymentTargets":{ + "name":"BatchGetDeploymentTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetDeploymentTargetsInput"}, + "output":{"shape":"BatchGetDeploymentTargetsOutput"}, + "errors":[ + {"shape":"InvalidDeploymentIdException"}, + {"shape":"DeploymentIdRequiredException"}, + {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentTargetIdRequiredException"}, + {"shape":"InvalidDeploymentTargetIdException"}, + {"shape":"DeploymentTargetDoesNotExistException"}, + {"shape":"DeploymentTargetListSizeExceededException"} ], - "documentation":"

Gets information about one or more instance that are part of a deployment group.

" + "documentation":"

Returns an array of targets associated with a deployment. This method works with all compute types and should be used instead of the deprecated BatchGetDeploymentInstances.

The type of targets returned depends on the deployment's compute platform:

" }, "BatchGetDeployments":{ "name":"BatchGetDeployments", @@ -145,7 +167,9 @@ {"shape":"DeploymentAlreadyCompletedException"}, {"shape":"InvalidDeploymentIdException"}, {"shape":"DeploymentIsNotInReadyStateException"}, - {"shape":"UnsupportedActionForDeploymentTypeException"} + {"shape":"UnsupportedActionForDeploymentTypeException"}, + {"shape":"InvalidDeploymentWaitTypeException"}, + {"shape":"InvalidDeploymentStatusException"} ], "documentation":"

For a blue/green deployment, starts the process of rerouting traffic from instances in the original environment to instances in the replacement environment without waiting for a specified wait time to elapse. (Traffic rerouting, which is achieved by registering instances in the replacement environment with the load balancer, can start as soon as all instances have a status of Ready.)

" }, @@ -218,7 +242,7 @@ {"shape":"InvalidComputePlatformException"}, {"shape":"InvalidTrafficRoutingConfigurationException"} ], - "documentation":"

Creates a deployment configuration.

" + "documentation":"

Creates a deployment configuration.

" }, "CreateDeploymentGroup":{ "name":"CreateDeploymentGroup", @@ -255,7 +279,11 @@ {"shape":"InvalidEC2TagCombinationException"}, {"shape":"InvalidOnPremisesTagCombinationException"}, {"shape":"TagSetListLimitExceededException"}, - {"shape":"InvalidInputException"} + {"shape":"InvalidInputException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidECSServiceException"}, + {"shape":"InvalidTargetGroupPairException"}, + {"shape":"ECSServiceMappingLimitExceededException"} ], "documentation":"

Creates a deployment group to which application revisions will be deployed.

" }, @@ -393,7 +421,8 @@ "errors":[ {"shape":"InvalidDeploymentConfigNameException"}, {"shape":"DeploymentConfigNameRequiredException"}, - {"shape":"DeploymentConfigDoesNotExistException"} + {"shape":"DeploymentConfigDoesNotExistException"}, + {"shape":"InvalidComputePlatformException"} ], "documentation":"

Gets information about a deployment configuration.

" }, @@ -411,7 +440,8 @@ {"shape":"ApplicationDoesNotExistException"}, {"shape":"DeploymentGroupNameRequiredException"}, {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"DeploymentGroupDoesNotExistException"} + {"shape":"DeploymentGroupDoesNotExistException"}, + {"shape":"DeploymentConfigDoesNotExistException"} ], "documentation":"

Gets information about a deployment group.

" }, @@ -429,9 +459,31 @@ {"shape":"InstanceIdRequiredException"}, {"shape":"InvalidDeploymentIdException"}, {"shape":"InstanceDoesNotExistException"}, + {"shape":"InvalidInstanceNameException"}, + {"shape":"InvalidComputePlatformException"} + ], + "documentation":"

Gets information about an instance as part of a deployment.

", + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use GetDeploymentTarget instead." + }, + "GetDeploymentTarget":{ + "name":"GetDeploymentTarget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDeploymentTargetInput"}, + "output":{"shape":"GetDeploymentTargetOutput"}, + "errors":[ + {"shape":"InvalidDeploymentIdException"}, + {"shape":"DeploymentIdRequiredException"}, + {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentTargetIdRequiredException"}, + {"shape":"InvalidDeploymentTargetIdException"}, + {"shape":"DeploymentTargetDoesNotExistException"}, {"shape":"InvalidInstanceNameException"} ], - "documentation":"

Gets information about an instance as part of a deployment.

" + "documentation":"

Returns information about a deployment target.

" }, "GetOnPremisesInstance":{ "name":"GetOnPremisesInstance", @@ -446,7 +498,7 @@ {"shape":"InstanceNotRegisteredException"}, {"shape":"InvalidInstanceNameException"} ], - "documentation":"

Gets information about an on-premises instance.

" + "documentation":"

Gets information about an on-premises instance.

" }, "ListApplicationRevisions":{ "name":"ListApplicationRevisions", @@ -520,6 +572,30 @@ }, "input":{"shape":"ListDeploymentInstancesInput"}, "output":{"shape":"ListDeploymentInstancesOutput"}, + "errors":[ + {"shape":"DeploymentIdRequiredException"}, + {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentNotStartedException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidDeploymentIdException"}, + {"shape":"InvalidInstanceStatusException"}, + {"shape":"InvalidInstanceTypeException"}, + {"shape":"InvalidDeploymentInstanceTypeException"}, + {"shape":"InvalidTargetFilterNameException"}, + {"shape":"InvalidComputePlatformException"} + ], + "documentation":"

The newer BatchGetDeploymentTargets should be used instead because it works with all compute types. ListDeploymentInstances throws an exception if it is used with a compute platform other than EC2/On-premises or AWS Lambda.

Lists the instance for a deployment associated with the applicable IAM user or AWS account.

", + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use ListDeploymentTargets instead." + }, + "ListDeploymentTargets":{ + "name":"ListDeploymentTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDeploymentTargetsInput"}, + "output":{"shape":"ListDeploymentTargetsOutput"}, "errors":[ {"shape":"DeploymentIdRequiredException"}, {"shape":"DeploymentDoesNotExistException"}, @@ -530,7 +606,7 @@ {"shape":"InvalidInstanceTypeException"}, {"shape":"InvalidDeploymentInstanceTypeException"} ], - "documentation":"

Lists the instance for a deployment associated with the applicable IAM user or AWS account.

" + "documentation":"

Returns an array of target IDs that are associated a deployment.

" }, "ListDeployments":{ "name":"ListDeployments", @@ -600,7 +676,7 @@ {"shape":"InvalidDeploymentIdException"}, {"shape":"UnsupportedActionForDeploymentTypeException"} ], - "documentation":"

Sets the result of a Lambda validation function. The function validates one or both lifecycle events (BeforeAllowTraffic and AfterAllowTraffic) and returns Succeeded or Failed.

" + "documentation":"

Sets the result of a Lambda validation function. The function validates one or both lifecycle events (BeforeAllowTraffic and AfterAllowTraffic) and returns Succeeded or Failed.

" }, "RegisterApplicationRevision":{ "name":"RegisterApplicationRevision", @@ -673,7 +749,9 @@ {"shape":"DeploymentNotStartedException"}, {"shape":"UnsupportedActionForDeploymentTypeException"} ], - "documentation":"

In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is completed.

" + "documentation":"

In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is completed.

", + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use ContinueDeployment with DeploymentWaitType instead." }, "StopDeployment":{ "name":"StopDeployment", @@ -686,6 +764,7 @@ "errors":[ {"shape":"DeploymentIdRequiredException"}, {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentGroupDoesNotExistException"}, {"shape":"DeploymentAlreadyCompletedException"}, {"shape":"InvalidDeploymentIdException"} ], @@ -740,7 +819,11 @@ {"shape":"InvalidEC2TagCombinationException"}, {"shape":"InvalidOnPremisesTagCombinationException"}, {"shape":"TagSetListLimitExceededException"}, - {"shape":"InvalidInputException"} + {"shape":"InvalidInputException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidECSServiceException"}, + {"shape":"InvalidTargetGroupPairException"}, + {"shape":"ECSServiceMappingLimitExceededException"} ], "documentation":"

Changes information about a deployment group.

" } @@ -766,7 +849,8 @@ }, "AdditionalDeploymentStatusInfo":{ "type":"string", - "deprecated":true + "deprecated":true, + "deprecatedMessage":"AdditionalDeploymentStatusInfo is deprecated, use DeploymentStatusMessageList instead." }, "Alarm":{ "type":"structure", @@ -808,6 +892,20 @@ "documentation":"

The maximum number of alarms for a deployment group (10) was exceeded.

", "exception":true }, + "AppSpecContent":{ + "type":"structure", + "members":{ + "content":{ + "shape":"RawStringContent", + "documentation":"

The YAML-formatted or JSON-formatted revision string.

For an AWS Lambda deployment the content includes a Lambda function name, the alias for its original version, and the alias for its replacement version. The deployment shifts traffic from the original version of the Lambda function to the replacement version.

For an Amazon ECS deployment the content includes the task name, information about the load balancer that serves traffic to the container, and more.

For both types of deployments, the content can specify Lambda functions that run at specified hooks, such as BeforeInstall, during a deployment.

" + }, + "sha256":{ + "shape":"RawStringSha256", + "documentation":"

The SHA256 hash value of the revision content.

" + } + }, + "documentation":"

A revision for an AWS Lambda or Amazon ECS deployment that is a YAML-formatted or JSON-formatted string. For AWS Lambda and Amazon ECS deployments, the revision is the same as the AppSpec file. This method replaces the deprecated RawString data type.

" + }, "ApplicationAlreadyExistsException":{ "type":"structure", "members":{ @@ -1036,14 +1134,14 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" + "documentation":"

The unique ID of a deployment.

" }, "instanceIds":{ "shape":"InstancesList", - "documentation":"

The unique IDs of instances in the deployment group.

" + "documentation":"

The unique IDs of instances of the deployment.

" } }, - "documentation":"

Represents the input of a BatchGetDeploymentInstances operation.

" + "documentation":"

Represents the input of a BatchGetDeploymentInstances operation.

" }, "BatchGetDeploymentInstancesOutput":{ "type":"structure", @@ -1059,26 +1157,48 @@ }, "documentation":"

Represents the output of a BatchGetDeploymentInstances operation.

" }, + "BatchGetDeploymentTargetsInput":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetIds":{ + "shape":"TargetIdList", + "documentation":"

The unique IDs of the deployment targets. The compute platform of the deployment determines the type of the targets and their formats.

" + } + } + }, + "BatchGetDeploymentTargetsOutput":{ + "type":"structure", + "members":{ + "deploymentTargets":{ + "shape":"DeploymentTargetList", + "documentation":"

A list of target objects for a deployment. Each target object contains details about the target, such as its status and lifecycle events. The type of the target objects depends on the deployment' compute platform.

" + } + } + }, "BatchGetDeploymentsInput":{ "type":"structure", "required":["deploymentIds"], "members":{ "deploymentIds":{ "shape":"DeploymentsList", - "documentation":"

A list of deployment IDs, separated by spaces.

" + "documentation":"

A list of deployment IDs, separated by spaces.

" } }, - "documentation":"

Represents the input of a BatchGetDeployments operation.

" + "documentation":"

Represents the input of a BatchGetDeployments operation.

" }, "BatchGetDeploymentsOutput":{ "type":"structure", "members":{ "deploymentsInfo":{ "shape":"DeploymentsInfoList", - "documentation":"

Information about the deployments.

" + "documentation":"

Information about the deployments.

" } }, - "documentation":"

Represents the output of a BatchGetDeployments operation.

" + "documentation":"

Represents the output of a BatchGetDeployments operation.

" }, "BatchGetOnPremisesInstancesInput":{ "type":"structure", @@ -1163,7 +1283,8 @@ "type":"string", "enum":[ "Server", - "Lambda" + "Lambda", + "ECS" ] }, "ContinueDeploymentInput":{ @@ -1171,7 +1292,11 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The deployment ID of the blue/green deployment for which you want to start rerouting traffic to the replacement environment.

" + "documentation":"

The unique ID of a blue/green deployment for which you want to start rerouting traffic to the replacement environment.

" + }, + "deploymentWaitType":{ + "shape":"DeploymentWaitType", + "documentation":"

The status of the deployment's waiting period. READY_WAIT indicates the deployment is ready to start shifting traffic. TERMINATION_WAIT indicates the traffic is shifted, but the original target is not terminated.

" } } }, @@ -1297,6 +1422,10 @@ "shape":"EC2TagSet", "documentation":"

Information about groups of tags applied to EC2 instances. The deployment group will include only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

" }, + "ecsServices":{ + "shape":"ECSServiceList", + "documentation":"

The target ECS services in the deployment group. This only applies to deployment groups that use the Amazon ECS compute platform. A target ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" + }, "onPremisesTagSet":{ "shape":"OnPremisesTagSet", "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group will include only on-premises instances identified by all the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

" @@ -1328,7 +1457,7 @@ }, "revision":{ "shape":"RevisionLocation", - "documentation":"

The type and location of the revision to deploy.

" + "documentation":"

The type and location of the revision to deploy.

" }, "deploymentConfigName":{ "shape":"DeploymentConfigName", @@ -1340,11 +1469,11 @@ }, "ignoreApplicationStopFailures":{ "shape":"Boolean", - "documentation":"

If set to true, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will not be considered to have failed at that point and will continue on to the BeforeInstall deployment lifecycle event.

If set to false or not specified, then if the deployment causes the ApplicationStop deployment lifecycle event to fail to an instance, the deployment to that instance will stop, and the deployment to that instance will be considered to have failed.

" + "documentation":"

If set to true, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will not be considered to have failed at that point and will continue on to the BeforeInstall deployment lifecycle event.

If set to false or not specified, then if the deployment causes the ApplicationStop deployment lifecycle event to fail to an instance, the deployment to that instance will stop, and the deployment to that instance will be considered to have failed.

" }, "targetInstances":{ "shape":"TargetInstances", - "documentation":"

Information about the instances that will belong to the replacement environment in a blue/green deployment.

" + "documentation":"

Information about the instances that will belong to the replacement environment in a blue/green deployment.

" }, "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", @@ -1352,7 +1481,7 @@ }, "updateOutdatedInstancesOnly":{ "shape":"Boolean", - "documentation":"

Indicates whether to deploy to all instances or only to instances that are not running the latest application revision.

" + "documentation":"

Indicates whether to deploy to all instances or only to instances that are not running the latest application revision.

" }, "fileExistsBehavior":{ "shape":"FileExistsBehavior", @@ -1366,10 +1495,10 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

A unique deployment ID.

" + "documentation":"

The unique ID of a deployment.

" } }, - "documentation":"

Represents the output of a CreateDeployment operation.

" + "documentation":"

Represents the output of a CreateDeployment operation.

" }, "DeleteApplicationInput":{ "type":"structure", @@ -1448,6 +1577,13 @@ "documentation":"

The deployment is already complete.

", "exception":true }, + "DeploymentAlreadyStartedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A deployment to a target was attempted while another deployment was in process.

", + "exception":true + }, "DeploymentConfigAlreadyExistsException":{ "type":"structure", "members":{ @@ -1635,6 +1771,10 @@ "computePlatform":{ "shape":"ComputePlatform", "documentation":"

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

" + }, + "ecsServices":{ + "shape":"ECSServiceList", + "documentation":"

The target ECS services in the deployment group. This only applies to deployment groups that use the Amazon ECS compute platform. A target ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" } }, "documentation":"

Information about a deployment group.

" @@ -1683,15 +1823,15 @@ }, "deploymentGroupName":{ "shape":"DeploymentGroupName", - "documentation":"

The deployment group name.

" + "documentation":"

The deployment group name.

" }, "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

The deployment configuration name.

" + "documentation":"

The deployment configuration name.

" }, "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The deployment ID.

" + "documentation":"

The unique ID of a deployment.

" }, "previousRevision":{ "shape":"RevisionLocation", @@ -1783,7 +1923,7 @@ }, "computePlatform":{ "shape":"ComputePlatform", - "documentation":"

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

" + "documentation":"

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

" } }, "documentation":"

Information about a deployment.

" @@ -1901,6 +2041,61 @@ }, "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" }, + "DeploymentTarget":{ + "type":"structure", + "members":{ + "deploymentTargetType":{ + "shape":"DeploymentTargetType", + "documentation":"

The deployment type which is specific to the deployment's compute platform.

" + }, + "instanceTarget":{ + "shape":"InstanceTarget", + "documentation":"

Information about the target for a deployment that uses the EC2/On-premises compute platform.

" + }, + "lambdaTarget":{ + "shape":"LambdaTarget", + "documentation":"

Information about the target for a deployment that uses the AWS Lambda compute platform.

" + }, + "ecsTarget":{ + "shape":"ECSTarget", + "documentation":"

Information about the target for a deployment that uses the Amazon ECS compute platform.

" + } + }, + "documentation":"

Information about the deployment target.

" + }, + "DeploymentTargetDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The provided target ID does not belong to the attempted deployment.

", + "exception":true + }, + "DeploymentTargetIdRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A deployment target ID was not provided.

", + "exception":true + }, + "DeploymentTargetList":{ + "type":"list", + "member":{"shape":"DeploymentTarget"} + }, + "DeploymentTargetListSizeExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The maximum number of targets that can be associated with an Amazon ECS or AWS Lambda deployment was exceeded. The target list of both types of deployments must have exactly one item. This exception does not apply to EC2/On-premises deployments.

", + "exception":true + }, + "DeploymentTargetType":{ + "type":"string", + "enum":[ + "InstanceTarget", + "LambdaTarget", + "ECSTarget" + ] + }, "DeploymentType":{ "type":"string", "enum":[ @@ -1908,6 +2103,13 @@ "BLUE_GREEN" ] }, + "DeploymentWaitType":{ + "type":"string", + "enum":[ + "READY_WAIT", + "TERMINATION_WAIT" + ] + }, "DeploymentsInfoList":{ "type":"list", "member":{"shape":"DeploymentInfo"} @@ -2002,6 +2204,112 @@ "type":"list", "member":{"shape":"EC2TagFilterList"} }, + "ECSClusterName":{"type":"string"}, + "ECSService":{ + "type":"structure", + "members":{ + "serviceName":{ + "shape":"ECSServiceName", + "documentation":"

The name of the target ECS service.

" + }, + "clusterName":{ + "shape":"ECSClusterName", + "documentation":"

The name of the cluster that the ECS service is associated with.

" + } + }, + "documentation":"

Contains the service and cluster names used to identify an Amazon ECS deployment's target.

" + }, + "ECSServiceList":{ + "type":"list", + "member":{"shape":"ECSService"} + }, + "ECSServiceMappingLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Amazon ECS service is associated with more than one deployment groups. An ECS service can only be associated with one deployment group.

", + "exception":true + }, + "ECSServiceName":{"type":"string"}, + "ECSTarget":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetId":{ + "shape":"TargetId", + "documentation":"

The unique ID of a deployment target that has a type of ecsTarget.

" + }, + "targetArn":{ + "shape":"TargetArn", + "documentation":"

The ARN of the target.

" + }, + "lastUpdatedAt":{ + "shape":"Time", + "documentation":"

The date and time when the target Amazon ECS application was updated by a deployment.

" + }, + "lifecycleEvents":{ + "shape":"LifecycleEventList", + "documentation":"

The lifecycle events of the deployment to this target Amazon ECS application.

" + }, + "status":{ + "shape":"TargetStatus", + "documentation":"

The status an Amazon ECS deployment's target ECS application.

" + }, + "taskSetsInfo":{ + "shape":"ECSTaskSetList", + "documentation":"

The ECSTaskSet objects associated with the ECS target.

" + } + }, + "documentation":"

Information about the target of an Amazon ECS deployment.

" + }, + "ECSTaskSet":{ + "type":"structure", + "members":{ + "identifer":{ + "shape":"ECSTaskSetIdentifier", + "documentation":"

A unique ID of an ECSTaskSet.

" + }, + "desiredCount":{ + "shape":"ECSTaskSetCount", + "documentation":"

The number of tasks in a task set. During a deployment that uses the Amazon ECS compute type, CodeDeploy asks Amazon ECS to create a new task set and uses this value to determine how many tasks to create. After the updated task set is created, CodeDeploy shifts traffic to the new task set.

" + }, + "pendingCount":{ + "shape":"ECSTaskSetCount", + "documentation":"

The number of tasks in the task set that are in the PENDING status during an Amazon ECS deployment. A task in the PENDING state is preparing to enter the RUNNING state. A task set enters the PENDING status when it launches for the first time, or when it is restarted after being in the STOPPED state.

" + }, + "runningCount":{ + "shape":"ECSTaskSetCount", + "documentation":"

The number of tasks in the task set that are in the RUNNING status during an Amazon ECS deployment. A task in the RUNNING state is running and ready for use.

" + }, + "status":{ + "shape":"ECSTaskSetStatus", + "documentation":"

The status of the task set. There are three valid task set statuses:

" + }, + "trafficWeight":{ + "shape":"TrafficWeight", + "documentation":"

The percentage of traffic served by this task set.

" + }, + "targetGroup":{ + "shape":"TargetGroupInfo", + "documentation":"

The target group associated with the task set. The target group is used by AWS CodeDeploy to manage traffic to a task set.

" + }, + "taskSetLabel":{ + "shape":"TargetLabel", + "documentation":"

A label that identifies whether the ECS task set is an original target (BLUE) or a replacement target (GREEN).

" + } + }, + "documentation":"

A set of Amazon ECS tasks. A task set runs a specified number of instances of a task definition simultaneously inside an Amazon ECS service. Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic or not.

" + }, + "ECSTaskSetCount":{"type":"long"}, + "ECSTaskSetIdentifier":{"type":"string"}, + "ECSTaskSetList":{ + "type":"list", + "member":{"shape":"ECSTaskSet"} + }, + "ECSTaskSetStatus":{"type":"string"}, "ELBInfo":{ "type":"structure", "members":{ @@ -2046,7 +2354,11 @@ "ELB_INVALID_INSTANCE", "INVALID_LAMBDA_CONFIGURATION", "INVALID_LAMBDA_FUNCTION", - "HOOK_EXECUTION_FAILURE" + "HOOK_EXECUTION_FAILURE", + "AUTOSCALING_VALIDATION_ERROR", + "INVALID_ECS_SERVICE", + "ECS_UPDATE_ERROR", + "INVALID_REVISION" ] }, "ErrorInformation":{ @@ -2072,6 +2384,11 @@ "RETAIN" ] }, + "FilterValue":{"type":"string"}, + "FilterValueList":{ + "type":"list", + "member":{"shape":"FilterValue"} + }, "GenericRevisionInfo":{ "type":"structure", "members":{ @@ -2210,7 +2527,7 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

A deployment ID associated with the applicable IAM user or AWS account.

" + "documentation":"

The unique ID of a deployment associated with the applicable IAM user or AWS account.

" } }, "documentation":"

Represents the input of a GetDeployment operation.

" @@ -2224,24 +2541,24 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" + "documentation":"

The unique ID of a deployment.

" }, "instanceId":{ "shape":"InstanceId", - "documentation":"

The unique ID of an instance in the deployment group.

" + "documentation":"

The unique ID of an instance in the deployment group.

" } }, - "documentation":"

Represents the input of a GetDeploymentInstance operation.

" + "documentation":"

Represents the input of a GetDeploymentInstance operation.

" }, "GetDeploymentInstanceOutput":{ "type":"structure", "members":{ "instanceSummary":{ "shape":"InstanceSummary", - "documentation":"

Information about the instance.

" + "documentation":"

Information about the instance.

" } }, - "documentation":"

Represents the output of a GetDeploymentInstance operation.

" + "documentation":"

Represents the output of a GetDeploymentInstance operation.

" }, "GetDeploymentOutput":{ "type":"structure", @@ -2253,26 +2570,48 @@ }, "documentation":"

Represents the output of a GetDeployment operation.

" }, + "GetDeploymentTargetInput":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetId":{ + "shape":"TargetId", + "documentation":"

The unique ID of a deployment target.

" + } + } + }, + "GetDeploymentTargetOutput":{ + "type":"structure", + "members":{ + "deploymentTarget":{ + "shape":"DeploymentTarget", + "documentation":"

A deployment target that contains information about a deployment such as its status, lifecyle events, and when it was updated last. It also contains metadata about the deployment target. The deployment target metadata depends on the deployment target's type (instanceTarget, lambdaTarget, or ecsTarget).

" + } + } + }, "GetOnPremisesInstanceInput":{ "type":"structure", "required":["instanceName"], "members":{ "instanceName":{ "shape":"InstanceName", - "documentation":"

The name of the on-premises instance about which to get information.

" + "documentation":"

The name of the on-premises instance about which to get information.

" } }, - "documentation":"

Represents the input of a GetOnPremisesInstance operation.

" + "documentation":"

Represents the input of a GetOnPremisesInstance operation.

" }, "GetOnPremisesInstanceOutput":{ "type":"structure", "members":{ "instanceInfo":{ "shape":"InstanceInfo", - "documentation":"

Information about the on-premises instance.

" + "documentation":"

Information about the on-premises instance.

" } }, - "documentation":"

Represents the output of a GetOnPremisesInstance operation.

" + "documentation":"

Represents the output of a GetOnPremisesInstance operation.

" }, "GitHubAccountTokenDoesNotExistException":{ "type":"structure", @@ -2368,6 +2707,8 @@ "members":{ }, "documentation":"

The specified instance does not exist in the deployment group.

", + "deprecated":true, + "deprecatedMessage":"This exception is deprecated, use DeploymentTargetDoesNotExistException instead.", "exception":true }, "InstanceId":{"type":"string"}, @@ -2376,6 +2717,8 @@ "members":{ }, "documentation":"

The instance ID was not specified.

", + "deprecated":true, + "deprecatedMessage":"This exception is deprecated, use DeploymentTargetIdRequiredException instead.", "exception":true }, "InstanceInfo":{ @@ -2451,6 +2794,8 @@ }, "InstanceStatus":{ "type":"string", + "deprecated":true, + "deprecatedMessage":"InstanceStatus is deprecated, use TargetStatus instead.", "enum":[ "Pending", "InProgress", @@ -2470,7 +2815,7 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The deployment ID.

" + "documentation":"

The unique ID of a deployment.

" }, "instanceId":{ "shape":"InstanceId", @@ -2493,12 +2838,48 @@ "documentation":"

Information about which environment an instance belongs to in a blue/green deployment.

" } }, - "documentation":"

Information about an instance in a deployment.

" + "documentation":"

Information about an instance in a deployment.

", + "deprecated":true, + "deprecatedMessage":"InstanceSummary is deprecated, use DeploymentTarget instead." }, "InstanceSummaryList":{ "type":"list", "member":{"shape":"InstanceSummary"} }, + "InstanceTarget":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetId":{ + "shape":"TargetId", + "documentation":"

The unique ID of a deployment target that has a type of instanceTarget.

" + }, + "targetArn":{ + "shape":"TargetArn", + "documentation":"

The ARN of the target.

" + }, + "status":{ + "shape":"TargetStatus", + "documentation":"

The status an EC2/On-premises deployment's target instance.

" + }, + "lastUpdatedAt":{ + "shape":"Time", + "documentation":"

The date and time when the target instance was updated by a deployment.

" + }, + "lifecycleEvents":{ + "shape":"LifecycleEventList", + "documentation":"

The lifecycle events of the deployment to this target instance.

" + }, + "instanceLabel":{ + "shape":"TargetLabel", + "documentation":"

A label that identifies whether the instance is an original target (BLUE) or a replacement target (GREEN).

" + } + }, + "documentation":"

A target Amazon EC2 or on-premises instance during a deployment that uses the EC2/On-premises compute platform.

" + }, "InstanceType":{ "type":"string", "enum":[ @@ -2612,6 +2993,20 @@ "documentation":"

An invalid deployment style was specified. Valid deployment types include \"IN_PLACE\" and \"BLUE_GREEN\". Valid deployment options include \"WITH_TRAFFIC_CONTROL\" and \"WITHOUT_TRAFFIC_CONTROL\".

", "exception":true }, + "InvalidDeploymentTargetIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The target ID provide was not valid.

", + "exception":true + }, + "InvalidDeploymentWaitTypeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The wait type is invalid.

", + "exception":true + }, "InvalidEC2TagCombinationException":{ "type":"structure", "members":{ @@ -2626,6 +3021,13 @@ "documentation":"

The tag was specified in an invalid format.

", "exception":true }, + "InvalidECSServiceException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Amazon ECS service identifier is not valid.

", + "exception":true + }, "InvalidFileExistsBehaviorException":{ "type":"structure", "members":{ @@ -2808,6 +3210,27 @@ "documentation":"

The specified tag filter was specified in an invalid format.

", "exception":true }, + "InvalidTargetException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A target is not valid.

", + "exception":true + }, + "InvalidTargetFilterNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The target filter name is invalid.

", + "exception":true + }, + "InvalidTargetGroupPairException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A target group pair associated with this deployment is not valid.

", + "exception":true + }, "InvalidTargetInstancesException":{ "type":"structure", "members":{ @@ -2844,12 +3267,42 @@ "exception":true }, "Key":{"type":"string"}, + "LambdaTarget":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetId":{ + "shape":"TargetId", + "documentation":"

The unique ID of a deployment target that has a type of lambdaTarget.

" + }, + "targetArn":{ + "shape":"TargetArn", + "documentation":"

The ARN of the target.

" + }, + "status":{ + "shape":"TargetStatus", + "documentation":"

The status an AWS Lambda deployment's target Lambda function.

" + }, + "lastUpdatedAt":{ + "shape":"Time", + "documentation":"

The date and time when the target Lambda function was updated by a deployment.

" + }, + "lifecycleEvents":{ + "shape":"LifecycleEventList", + "documentation":"

The lifecycle events of the deployment to this target Lambda function.

" + } + }, + "documentation":"

Information about the target AWS Lambda function during an AWS Lambda deployment.

" + }, "LastDeploymentInfo":{ "type":"structure", "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The deployment ID.

" + "documentation":"

The unique ID of a deployment.

" }, "status":{ "shape":"DeploymentStatus", @@ -2941,34 +3394,34 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" }, "sortBy":{ "shape":"ApplicationRevisionSortBy", - "documentation":"

The column name to use to sort the list results:

If not specified or set to null, the results will be returned in an arbitrary order.

" + "documentation":"

The column name to use to sort the list results:

If not specified or set to null, the results will be returned in an arbitrary order.

" }, "sortOrder":{ "shape":"SortOrder", - "documentation":"

The order in which to sort the list results:

If not specified, the results will be sorted in ascending order.

If set to null, the results will be sorted in an arbitrary order.

" + "documentation":"

The order in which to sort the list results:

If not specified, the results will be sorted in ascending order.

If set to null, the results will be sorted in an arbitrary order.

" }, "s3Bucket":{ "shape":"S3Bucket", - "documentation":"

An Amazon S3 bucket name to limit the search for revisions.

If set to null, all of the user's buckets will be searched.

" + "documentation":"

An Amazon S3 bucket name to limit the search for revisions.

If set to null, all of the user's buckets are searched.

" }, "s3KeyPrefix":{ "shape":"S3Key", - "documentation":"

A key prefix for the set of Amazon S3 objects to limit the search for revisions.

" + "documentation":"

A key prefix for the set of Amazon S3 objects to limit the search for revisions.

" }, "deployed":{ "shape":"ListStateFilterAction", - "documentation":"

Whether to list revisions based on whether the revision is the target revision of an deployment group:

" + "documentation":"

Whether to list revisions based on whether the revision is the target revision of an deployment group:

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

An identifier returned from the previous list application revisions call. It can be used to return the next set of applications in the list.

" + "documentation":"

An identifier returned from the previous ListApplicationRevisions call. It can be used to return the next set of applications in the list.

" } }, - "documentation":"

Represents the input of a ListApplicationRevisions operation.

" + "documentation":"

Represents the input of a ListApplicationRevisions operation.

" }, "ListApplicationRevisionsOutput":{ "type":"structure", @@ -3013,7 +3466,7 @@ "members":{ "nextToken":{ "shape":"NextToken", - "documentation":"

An identifier returned from the previous list deployment configurations call. It can be used to return the next set of deployment configurations in the list.

" + "documentation":"

An identifier returned from the previous ListDeploymentConfigs call. It can be used to return the next set of deployment configurations in the list.

" } }, "documentation":"

Represents the input of a ListDeploymentConfigs operation.

" @@ -3071,7 +3524,7 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" + "documentation":"

The unique ID of a deployment.

" }, "nextToken":{ "shape":"NextToken", @@ -3086,7 +3539,7 @@ "documentation":"

The set of instances in a blue/green deployment, either those in the original environment (\"BLUE\") or those in the replacement environment (\"GREEN\"), for which you want to view instance information.

" } }, - "documentation":"

Represents the input of a ListDeploymentInstances operation.

" + "documentation":"

Represents the input of a ListDeploymentInstances operation.

" }, "ListDeploymentInstancesOutput":{ "type":"structure", @@ -3102,6 +3555,36 @@ }, "documentation":"

Represents the output of a ListDeploymentInstances operation.

" }, + "ListDeploymentTargetsInput":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token identifier returned from the previous ListDeploymentTargets call. It can be used to return the next set of deployment targets in the list.

" + }, + "targetFilters":{ + "shape":"TargetFilters", + "documentation":"

A key used to filter the returned targets.

" + } + } + }, + "ListDeploymentTargetsOutput":{ + "type":"structure", + "members":{ + "targetIds":{ + "shape":"TargetIdList", + "documentation":"

The unique IDs of deployment targets.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If a large amount of information is returned, a token identifier will also be returned. It can be used in a subsequent ListDeploymentTargets call to return the next set of deployment targets in the list.

" + } + } + }, "ListDeploymentsInput":{ "type":"structure", "members":{ @@ -3206,6 +3689,11 @@ "ignore" ] }, + "ListenerArn":{"type":"string"}, + "ListenerArnList":{ + "type":"list", + "member":{"shape":"ListenerArn"} + }, "LoadBalancerInfo":{ "type":"structure", "members":{ @@ -3216,6 +3704,10 @@ "targetGroupInfoList":{ "shape":"TargetGroupInfoList", "documentation":"

An array containing information about the target group to use for load balancing in a deployment. In Elastic Load Balancing, target groups are used with Application Load Balancers.

Adding more than one target group to the array is not supported.

" + }, + "targetGroupPairInfoList":{ + "shape":"TargetGroupPairInfoList", + "documentation":"

The target group pair information. This is an array of TargeGroupPairInfo objects with a maximum size of one.

" } }, "documentation":"

Information about the Elastic Load Balancing load balancer or target group used in a deployment.

" @@ -3280,11 +3772,11 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The ID of the deployment. Pass this ID to a Lambda function that validates a deployment lifecycle event.

" + "documentation":"

The unique ID of a deployment. Pass this ID to a Lambda function that validates a deployment lifecycle event.

" }, "lifecycleEventHookExecutionId":{ "shape":"LifecycleEventHookExecutionId", - "documentation":"

The execution ID of a deployment's lifecycle hook. A deployment lifecycle hook is specified in the hooks section of the AppSpec file.

" + "documentation":"

The execution ID of a deployment's lifecycle hook. A deployment lifecycle hook is specified in the hooks section of the AppSpec file.

" }, "status":{ "shape":"LifecycleEventStatus", @@ -3310,10 +3802,12 @@ }, "sha256":{ "shape":"RawStringSha256", - "documentation":"

The SHA256 hash value of the revision that is specified as a RawString.

" + "documentation":"

The SHA256 hash value of the revision content.

" } }, - "documentation":"

A revision for an AWS Lambda deployment that is a YAML-formatted or JSON-formatted string. For AWS Lambda deployments, the revision is the same as the AppSpec file.

" + "documentation":"

A revision for an AWS Lambda deployment that is a YAML-formatted or JSON-formatted string. For AWS Lambda deployments, the revision is the same as the AppSpec file.

", + "deprecated":true, + "deprecatedMessage":"RawString and String revision type are deprecated, use AppSpecContent type instead." }, "RawStringContent":{"type":"string"}, "RawStringSha256":{"type":"string"}, @@ -3434,6 +3928,10 @@ "string":{ "shape":"RawString", "documentation":"

Information about the location of an AWS Lambda deployment revision stored as a RawString.

" + }, + "appSpecContent":{ + "shape":"AppSpecContent", + "documentation":"

The content of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML and stored as a RawString.

" } }, "documentation":"

Information about the location of an application revision.

" @@ -3447,7 +3945,8 @@ "enum":[ "S3", "GitHub", - "String" + "String", + "AppSpecContent" ] }, "RevisionRequiredException":{ @@ -3517,7 +4016,7 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The ID of the blue/green deployment for which you want to skip the instance termination wait time.

" + "documentation":"

The unique ID of a blue/green deployment for which you want to skip the instance termination wait time.

" } } }, @@ -3534,14 +4033,14 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" + "documentation":"

The unique ID of a deployment.

" }, "autoRollbackEnabled":{ "shape":"NullableBoolean", - "documentation":"

Indicates, when a deployment is stopped, whether instances that have been updated should be rolled back to the previous version of the application revision.

" + "documentation":"

Indicates, when a deployment is stopped, whether instances that have been updated should be rolled back to the previous version of the application revision.

" } }, - "documentation":"

Represents the input of a StopDeployment operation.

" + "documentation":"

Represents the input of a StopDeployment operation.

" }, "StopDeploymentOutput":{ "type":"structure", @@ -3555,7 +4054,7 @@ "documentation":"

An accompanying status message.

" } }, - "documentation":"

Represents the output of a StopDeployment operation.

" + "documentation":"

Represents the output of a StopDeployment operation.

" }, "StopStatus":{ "type":"string", @@ -3633,6 +4132,19 @@ "documentation":"

The number of tag groups included in the tag set list exceeded the maximum allowed limit of 3.

", "exception":true }, + "TargetArn":{"type":"string"}, + "TargetFilterName":{ + "type":"string", + "enum":[ + "TargetStatus", + "ServerInstanceLabel" + ] + }, + "TargetFilters":{ + "type":"map", + "key":{"shape":"TargetFilterName"}, + "value":{"shape":"FilterValueList"} + }, "TargetGroupInfo":{ "type":"structure", "members":{ @@ -3648,6 +4160,33 @@ "member":{"shape":"TargetGroupInfo"} }, "TargetGroupName":{"type":"string"}, + "TargetGroupPairInfo":{ + "type":"structure", + "members":{ + "targetGroups":{ + "shape":"TargetGroupInfoList", + "documentation":"

One pair of target groups. One is associated with the original task set. The second target is associated with the task set that serves traffic after the deployment completes.

" + }, + "prodTrafficRoute":{ + "shape":"TrafficRoute", + "documentation":"

The path used by a load balancer to route production traffic when an Amazon ECS deployment is complete.

" + }, + "testTrafficRoute":{ + "shape":"TrafficRoute", + "documentation":"

An optional path used by a load balancer to route test traffic after an Amazon ECS deployment. Validation can happen while test traffic is served during a deployment.

" + } + }, + "documentation":"

Information about two target groups and how traffic routes during an Amazon ECS deployment. An optional test traffic route can be specified.

" + }, + "TargetGroupPairInfoList":{ + "type":"list", + "member":{"shape":"TargetGroupPairInfo"} + }, + "TargetId":{"type":"string"}, + "TargetIdList":{ + "type":"list", + "member":{"shape":"TargetId"} + }, "TargetInstances":{ "type":"structure", "members":{ @@ -3666,6 +4205,25 @@ }, "documentation":"

Information about the instances to be used in the replacement environment in a blue/green deployment.

" }, + "TargetLabel":{ + "type":"string", + "enum":[ + "Blue", + "Green" + ] + }, + "TargetStatus":{ + "type":"string", + "enum":[ + "Pending", + "InProgress", + "Succeeded", + "Failed", + "Skipped", + "Unknown", + "Ready" + ] + }, "ThrottlingException":{ "type":"structure", "members":{ @@ -3673,6 +4231,7 @@ "documentation":"

An API function was called too frequently.

", "exception":true }, + "Time":{"type":"timestamp"}, "TimeBasedCanary":{ "type":"structure", "members":{ @@ -3716,6 +4275,16 @@ "documentation":"

Information about a time range.

" }, "Timestamp":{"type":"timestamp"}, + "TrafficRoute":{ + "type":"structure", + "members":{ + "listenerArns":{ + "shape":"ListenerArnList", + "documentation":"

The ARN of one listener. The listener identifies the route between a target group and a load balancer. This is an array of strings with a maximum size of one.

" + } + }, + "documentation":"

Information about a listener. The listener contains the path used to route traffic that is received from the load balancer to a target group.

" + }, "TrafficRoutingConfig":{ "type":"structure", "members":{ @@ -3742,6 +4311,7 @@ "AllAtOnce" ] }, + "TrafficWeight":{"type":"double"}, "TriggerConfig":{ "type":"structure", "members":{ @@ -3880,6 +4450,10 @@ "shape":"EC2TagSet", "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group will include only EC2 instances identified by all the tag groups.

" }, + "ecsServices":{ + "shape":"ECSServiceList", + "documentation":"

The target ECS services in the deployment group. This only applies to deployment groups that use the Amazon ECS compute platform. A target ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" + }, "onPremisesTagSet":{ "shape":"OnPremisesTagSet", "documentation":"

Information about an on-premises instance tag set. The deployment group will include only on-premises instances identified by all the tag groups.

"