From 898bf5c9d84a73096285aad77e992c667756e61d Mon Sep 17 00:00:00 2001 From: AWS SDK for Ruby Date: Thu, 7 Dec 2023 19:29:11 +0000 Subject: [PATCH] Updated API models and rebuilt service gems. --- apis/codedeploy/2014-10-06/api-2.json | 68 +++- apis/codedeploy/2014-10-06/docs-2.json | 49 ++- .../2014-10-06/endpoint-rule-set-1.json | 40 +- gems/aws-partitions/CHANGELOG.md | 5 + gems/aws-partitions/VERSION | 2 +- gems/aws-partitions/partitions.json | 373 ++++++++++++++---- gems/aws-sdk-codedeploy/CHANGELOG.md | 5 + gems/aws-sdk-codedeploy/VERSION | 2 +- .../lib/aws-sdk-codedeploy.rb | 2 +- .../lib/aws-sdk-codedeploy/client.rb | 105 ++++- .../lib/aws-sdk-codedeploy/client_api.rb | 35 +- .../aws-sdk-codedeploy/endpoint_provider.rb | 2 +- .../lib/aws-sdk-codedeploy/errors.rb | 11 + .../lib/aws-sdk-codedeploy/types.rb | 232 ++++++++++- 14 files changed, 781 insertions(+), 150 deletions(-) diff --git a/apis/codedeploy/2014-10-06/api-2.json b/apis/codedeploy/2014-10-06/api-2.json index 6cce704403d..12adf75ddd7 100644 --- a/apis/codedeploy/2014-10-06/api-2.json +++ b/apis/codedeploy/2014-10-06/api-2.json @@ -235,7 +235,8 @@ {"shape":"InvalidMinimumHealthyHostValueException"}, {"shape":"DeploymentConfigLimitExceededException"}, {"shape":"InvalidComputePlatformException"}, - {"shape":"InvalidTrafficRoutingConfigurationException"} + {"shape":"InvalidTrafficRoutingConfigurationException"}, + {"shape":"InvalidZonalDeploymentConfigurationException"} ] }, "CreateDeploymentGroup":{ @@ -593,7 +594,8 @@ {"shape":"InvalidDeploymentIdException"}, {"shape":"InvalidInstanceStatusException"}, {"shape":"InvalidInstanceTypeException"}, - {"shape":"InvalidDeploymentInstanceTypeException"} + {"shape":"InvalidDeploymentInstanceTypeException"}, + {"shape":"InvalidTargetFilterNameException"} ] }, "ListDeployments":{ @@ -1001,7 +1003,8 @@ "type":"structure", "members":{ "name":{"shape":"AutoScalingGroupName"}, - "hook":{"shape":"AutoScalingGroupHook"} + "hook":{"shape":"AutoScalingGroupHook"}, + "terminationHook":{"shape":"AutoScalingGroupHook"} } }, "AutoScalingGroupHook":{"type":"string"}, @@ -1084,6 +1087,10 @@ }, "BatchGetDeploymentTargetsInput":{ "type":"structure", + "required":[ + "deploymentId", + "targetIds" + ], "members":{ "deploymentId":{"shape":"DeploymentId"}, "targetIds":{"shape":"TargetIdList"} @@ -1210,7 +1217,8 @@ "deploymentConfigName":{"shape":"DeploymentConfigName"}, "minimumHealthyHosts":{"shape":"MinimumHealthyHosts"}, "trafficRoutingConfig":{"shape":"TrafficRoutingConfig"}, - "computePlatform":{"shape":"ComputePlatform"} + "computePlatform":{"shape":"ComputePlatform"}, + "zonalConfig":{"shape":"ZonalConfig"} } }, "CreateDeploymentConfigOutput":{ @@ -1244,7 +1252,8 @@ "ec2TagSet":{"shape":"EC2TagSet"}, "ecsServices":{"shape":"ECSServiceList"}, "onPremisesTagSet":{"shape":"OnPremisesTagSet"}, - "tags":{"shape":"TagList"} + "tags":{"shape":"TagList"}, + "terminationHookEnabled":{"shape":"NullableBoolean"} } }, "CreateDeploymentGroupOutput":{ @@ -1369,7 +1378,8 @@ "minimumHealthyHosts":{"shape":"MinimumHealthyHosts"}, "createTime":{"shape":"Timestamp"}, "computePlatform":{"shape":"ComputePlatform"}, - "trafficRoutingConfig":{"shape":"TrafficRoutingConfig"} + "trafficRoutingConfig":{"shape":"TrafficRoutingConfig"}, + "zonalConfig":{"shape":"ZonalConfig"} } }, "DeploymentConfigLimitExceededException":{ @@ -1402,7 +1412,8 @@ "CodeDeploy", "CodeDeployAutoUpdate", "CloudFormation", - "CloudFormationRollback" + "CloudFormationRollback", + "autoscalingTermination" ] }, "DeploymentDoesNotExistException":{ @@ -1448,7 +1459,8 @@ "ec2TagSet":{"shape":"EC2TagSet"}, "onPremisesTagSet":{"shape":"OnPremisesTagSet"}, "computePlatform":{"shape":"ComputePlatform"}, - "ecsServices":{"shape":"ECSServiceList"} + "ecsServices":{"shape":"ECSServiceList"}, + "terminationHookEnabled":{"shape":"Boolean"} } }, "DeploymentGroupInfoList":{ @@ -1941,6 +1953,10 @@ }, "GetDeploymentTargetInput":{ "type":"structure", + "required":[ + "deploymentId", + "targetId" + ], "members":{ "deploymentId":{"shape":"DeploymentId"}, "targetId":{"shape":"TargetId"} @@ -2497,6 +2513,12 @@ }, "exception":true }, + "InvalidZonalDeploymentConfigurationException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "Key":{"type":"string"}, "LambdaFunctionAlias":{"type":"string"}, "LambdaFunctionInfo":{ @@ -2663,6 +2685,7 @@ }, "ListDeploymentTargetsInput":{ "type":"structure", + "required":["deploymentId"], "members":{ "deploymentId":{"shape":"DeploymentId"}, "nextToken":{"shape":"NextToken"}, @@ -2767,6 +2790,21 @@ "value":{"shape":"MinimumHealthyHostsValue"} } }, + "MinimumHealthyHostsPerZone":{ + "type":"structure", + "members":{ + "type":{"shape":"MinimumHealthyHostsPerZoneType"}, + "value":{"shape":"MinimumHealthyHostsPerZoneValue"} + } + }, + "MinimumHealthyHostsPerZoneType":{ + "type":"string", + "enum":[ + "HOST_COUNT", + "FLEET_PERCENT" + ] + }, + "MinimumHealthyHostsPerZoneValue":{"type":"integer"}, "MinimumHealthyHostsType":{ "type":"string", "enum":[ @@ -3281,7 +3319,8 @@ "loadBalancerInfo":{"shape":"LoadBalancerInfo"}, "ec2TagSet":{"shape":"EC2TagSet"}, "ecsServices":{"shape":"ECSServiceList"}, - "onPremisesTagSet":{"shape":"OnPremisesTagSet"} + "onPremisesTagSet":{"shape":"OnPremisesTagSet"}, + "terminationHookEnabled":{"shape":"NullableBoolean"} } }, "UpdateDeploymentGroupOutput":{ @@ -3293,6 +3332,15 @@ "Value":{"type":"string"}, "Version":{"type":"string"}, "VersionId":{"type":"string"}, - "WaitTimeInMins":{"type":"integer"} + "WaitTimeInMins":{"type":"integer"}, + "WaitTimeInSeconds":{"type":"long"}, + "ZonalConfig":{ + "type":"structure", + "members":{ + "firstZoneMonitorDurationInSeconds":{"shape":"WaitTimeInSeconds"}, + "monitorDurationInSeconds":{"shape":"WaitTimeInSeconds"}, + "minimumHealthyHostsPerZone":{"shape":"MinimumHealthyHostsPerZone"} + } + } } } diff --git a/apis/codedeploy/2014-10-06/docs-2.json b/apis/codedeploy/2014-10-06/docs-2.json index 22f8018ed3d..9ce8dafe62b 100644 --- a/apis/codedeploy/2014-10-06/docs-2.json +++ b/apis/codedeploy/2014-10-06/docs-2.json @@ -227,7 +227,8 @@ "AutoScalingGroupHook": { "base": null, "refs": { - "AutoScalingGroup$hook": "

An Auto Scaling lifecycle event hook name.

" + "AutoScalingGroup$hook": "

The name of the launch hook that CodeDeploy installed into the Auto Scaling group.

For more information about the launch hook, see How Amazon EC2 Auto Scaling works with CodeDeploy in the CodeDeploy User Guide.

", + "AutoScalingGroup$terminationHook": "

The name of the termination hook that CodeDeploy installed into the Auto Scaling group.

For more information about the termination hook, see Enabling termination deployments during Auto Scaling scale-in events in the CodeDeploy User Guide.

" } }, "AutoScalingGroupList": { @@ -352,6 +353,7 @@ "AutoRollbackConfiguration$enabled": "

Indicates whether a defined automatic rollback configuration is currently enabled.

", "CreateDeploymentInput$ignoreApplicationStopFailures": "

If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if ApplicationStop fails, the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the deployment continues with ApplicationStop.

If false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.

During a deployment, the CodeDeploy agent runs the scripts specified for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.

If the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use ignoreApplicationStopFailures to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic failures should be ignored.

", "CreateDeploymentInput$updateOutdatedInstancesOnly": "

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

", + "DeploymentGroupInfo$terminationHookEnabled": "

Indicates whether the deployment group was configured to have CodeDeploy install a termination hook into an Auto Scaling group.

For more information about the termination hook, see How Amazon EC2 Auto Scaling works with CodeDeploy in the CodeDeploy User Guide.

", "DeploymentInfo$ignoreApplicationStopFailures": "

If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if ApplicationStop fails, the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the deployment continues with ApplicationStop.

If false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.

During a deployment, the CodeDeploy agent runs the scripts specified for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.

If the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use ignoreApplicationStopFailures to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic failures should be ignored.

", "DeploymentInfo$updateOutdatedInstancesOnly": "

Indicates whether only instances that are not running the latest application revision are to be deployed to.

", "DeploymentInfo$instanceTerminationWaitTimeStarted": "

Indicates whether the wait period set for the termination of instances in the original environment has started. Status is 'false' if the KEEP_ALIVE option is specified. Otherwise, 'true' as soon as the termination wait period starts.

" @@ -1594,6 +1596,11 @@ "refs": { } }, + "InvalidZonalDeploymentConfigurationException": { + "base": "

The ZonalConfig object is not valid.

", + "refs": { + } + }, "Key": { "base": null, "refs": { @@ -1832,10 +1839,28 @@ } }, "MinimumHealthyHosts": { - "base": "

Information about minimum healthy instance.

", + "base": "

Information about the minimum number of healthy instances.

", "refs": { "CreateDeploymentConfigInput$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:

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.

", - "DeploymentConfigInfo$minimumHealthyHosts": "

Information about the number or percentage of minimum healthy instance.

" + "DeploymentConfigInfo$minimumHealthyHosts": "

Information about the number or percentage of minimum healthy instances.

" + } + }, + "MinimumHealthyHostsPerZone": { + "base": "

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

", + "refs": { + "ZonalConfig$minimumHealthyHostsPerZone": "

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 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 in the CodeDeploy User Guide.

" + } + }, + "MinimumHealthyHostsPerZoneType": { + "base": null, + "refs": { + "MinimumHealthyHostsPerZone$type": "

The type associated with the MinimumHealthyHostsPerZone option.

" + } + }, + "MinimumHealthyHostsPerZoneValue": { + "base": null, + "refs": { + "MinimumHealthyHostsPerZone$value": "

The value associated with the MinimumHealthyHostsPerZone option.

" } }, "MinimumHealthyHostsType": { @@ -1883,7 +1908,9 @@ "NullableBoolean": { "base": null, "refs": { - "StopDeploymentInput$autoRollbackEnabled": "

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

" + "CreateDeploymentGroupInput$terminationHookEnabled": "

This parameter only applies if you are using CodeDeploy with Amazon EC2 Auto Scaling. For more information, see Integrating CodeDeploy with Amazon EC2 Auto Scaling in the CodeDeploy User Guide.

Set terminationHookEnabled to true to have CodeDeploy install a termination hook into your Auto Scaling group when you create a deployment group. When this hook is installed, CodeDeploy will perform termination deployments.

For information about termination deployments, see Enabling termination deployments during Auto Scaling scale-in events in the CodeDeploy User Guide.

For more information about Auto Scaling scale-in events, see the Scale in topic in the Amazon EC2 Auto Scaling User Guide.

", + "StopDeploymentInput$autoRollbackEnabled": "

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

", + "UpdateDeploymentGroupInput$terminationHookEnabled": "

This parameter only applies if you are using CodeDeploy with Amazon EC2 Auto Scaling. For more information, see Integrating CodeDeploy with Amazon EC2 Auto Scaling in the CodeDeploy User Guide.

Set terminationHookEnabled to true to have CodeDeploy install a termination hook into your Auto Scaling group when you update a deployment group. When this hook is installed, CodeDeploy will perform termination deployments.

For information about termination deployments, see Enabling termination deployments during Auto Scaling scale-in events in the CodeDeploy User Guide.

For more information about Auto Scaling scale-in events, see the Scale in topic in the Amazon EC2 Auto Scaling User Guide.

" } }, "OnPremisesTagSet": { @@ -2460,6 +2487,20 @@ "TimeBasedCanary$canaryInterval": "

The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.

", "TimeBasedLinear$linearInterval": "

The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.

" } + }, + "WaitTimeInSeconds": { + "base": null, + "refs": { + "ZonalConfig$firstZoneMonitorDurationInSeconds": "

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 in the CodeDeploy User Guide.

", + "ZonalConfig$monitorDurationInSeconds": "

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 in the CodeDeploy User Guide.

" + } + }, + "ZonalConfig": { + "base": "

Configure the ZonalConfig object if you want CodeDeploy to deploy your application to one Availability Zone at a time, within an Amazon Web Services 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 in the CodeDeploy User Guide.

", + "refs": { + "CreateDeploymentConfigInput$zonalConfig": "

Configure the ZonalConfig object if you want CodeDeploy to deploy your application to one Availability Zone at a time, within an Amazon Web Services Region.

For more information about the zonal configuration feature, see zonal configuration in the CodeDeploy User Guide.

", + "DeploymentConfigInfo$zonalConfig": "

Information about a zonal configuration.

" + } } } } diff --git a/apis/codedeploy/2014-10-06/endpoint-rule-set-1.json b/apis/codedeploy/2014-10-06/endpoint-rule-set-1.json index be4aac53712..c0fdfca2c6c 100644 --- a/apis/codedeploy/2014-10-06/endpoint-rule-set-1.json +++ b/apis/codedeploy/2014-10-06/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/gems/aws-partitions/CHANGELOG.md b/gems/aws-partitions/CHANGELOG.md index 024b7ab82eb..a2df26ffd6e 100644 --- a/gems/aws-partitions/CHANGELOG.md +++ b/gems/aws-partitions/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.864.0 (2023-12-07) +------------------ + +* Feature - Updated the partitions source data the determines the AWS service regions and endpoints. + 1.863.0 (2023-12-04) ------------------ diff --git a/gems/aws-partitions/VERSION b/gems/aws-partitions/VERSION index 9d1a018019e..0594612e35a 100644 --- a/gems/aws-partitions/VERSION +++ b/gems/aws-partitions/VERSION @@ -1 +1 @@ -1.863.0 +1.864.0 diff --git a/gems/aws-partitions/partitions.json b/gems/aws-partitions/partitions.json index a6d021a14f8..0f3678cfefb 100644 --- a/gems/aws-partitions/partitions.json +++ b/gems/aws-partitions/partitions.json @@ -14898,26 +14898,90 @@ }, "s3-outposts" : { "endpoints" : { - "af-south-1" : { }, - "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-northeast-3" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ap-southeast-3" : { }, + "af-south-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-east-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-northeast-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-northeast-2" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-northeast-3" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-south-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-2" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-3" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, "ca-central-1" : { "variants" : [ { + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, - "eu-central-1" : { }, - "eu-north-1" : { }, - "eu-south-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, + "eu-central-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-north-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-south-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-west-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-west-2" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-west-3" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, "fips-ca-central-1" : { "deprecated" : true }, @@ -14933,26 +14997,54 @@ "fips-us-west-2" : { "deprecated" : true }, - "il-central-1" : { }, - "me-south-1" : { }, - "sa-east-1" : { }, + "il-central-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "me-south-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "sa-east-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, "us-east-1" : { "variants" : [ { + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-east-2" : { "variants" : [ { + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-west-1" : { "variants" : [ { + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-west-2" : { "variants" : [ { + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] } @@ -15055,93 +15147,180 @@ }, "secretsmanager" : { "endpoints" : { - "af-south-1" : { }, - "ap-east-1" : { }, - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-northeast-3" : { }, - "ap-south-1" : { }, - "ap-south-2" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ap-southeast-3" : { }, - "ap-southeast-4" : { }, + "af-south-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-east-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-northeast-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-northeast-2" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-northeast-3" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-south-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-south-2" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-2" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-3" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "ap-southeast-4" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, "ca-central-1" : { "variants" : [ { - "hostname" : "secretsmanager-fips.ca-central-1.amazonaws.com", + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "ca-central-1-fips" : { - "credentialScope" : { - "region" : "ca-central-1" - }, - "deprecated" : true, - "hostname" : "secretsmanager-fips.ca-central-1.amazonaws.com" + "deprecated" : true + }, + "eu-central-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-central-2" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-north-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-south-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-south-2" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-west-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-west-2" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "eu-west-3" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "il-central-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "me-central-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "me-south-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "sa-east-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] }, - "eu-central-1" : { }, - "eu-central-2" : { }, - "eu-north-1" : { }, - "eu-south-1" : { }, - "eu-south-2" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "il-central-1" : { }, - "me-central-1" : { }, - "me-south-1" : { }, - "sa-east-1" : { }, "us-east-1" : { "variants" : [ { - "hostname" : "secretsmanager-fips.us-east-1.amazonaws.com", + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-east-1-fips" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "deprecated" : true, - "hostname" : "secretsmanager-fips.us-east-1.amazonaws.com" + "deprecated" : true }, "us-east-2" : { "variants" : [ { - "hostname" : "secretsmanager-fips.us-east-2.amazonaws.com", + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-east-2-fips" : { - "credentialScope" : { - "region" : "us-east-2" - }, - "deprecated" : true, - "hostname" : "secretsmanager-fips.us-east-2.amazonaws.com" + "deprecated" : true }, "us-west-1" : { "variants" : [ { - "hostname" : "secretsmanager-fips.us-west-1.amazonaws.com", + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-west-1-fips" : { - "credentialScope" : { - "region" : "us-west-1" - }, - "deprecated" : true, - "hostname" : "secretsmanager-fips.us-west-1.amazonaws.com" + "deprecated" : true }, "us-west-2" : { "variants" : [ { - "hostname" : "secretsmanager-fips.us-west-2.amazonaws.com", + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-west-2-fips" : { - "credentialScope" : { - "region" : "us-west-2" - }, - "deprecated" : true, - "hostname" : "secretsmanager-fips.us-west-2.amazonaws.com" + "deprecated" : true } } }, @@ -20315,8 +20494,16 @@ }, "secretsmanager" : { "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } + "cn-north-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + }, + "cn-northwest-1" : { + "variants" : [ { + "tags" : [ "dualstack" ] + } ] + } } }, "securityhub" : { @@ -22752,7 +22939,17 @@ "isRegionalized" : true }, "health" : { + "defaults" : { + "protocols" : [ "https" ], + "sslCommonName" : "health.us-gov-west-1.amazonaws.com" + }, "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "global.health.us-gov.amazonaws.com" + }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" @@ -24341,11 +24538,19 @@ }, "us-gov-east-1" : { "variants" : [ { + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-gov-west-1" : { "variants" : [ { + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] } @@ -24355,29 +24560,27 @@ "endpoints" : { "us-gov-east-1" : { "variants" : [ { - "hostname" : "secretsmanager-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-gov-east-1-fips" : { - "credentialScope" : { - "region" : "us-gov-east-1" - }, - "deprecated" : true, - "hostname" : "secretsmanager-fips.us-gov-east-1.amazonaws.com" + "deprecated" : true }, "us-gov-west-1" : { "variants" : [ { - "hostname" : "secretsmanager-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "dualstack" ] + }, { + "tags" : [ "dualstack", "fips" ] + }, { "tags" : [ "fips" ] } ] }, "us-gov-west-1-fips" : { - "credentialScope" : { - "region" : "us-gov-west-1" - }, - "deprecated" : true, - "hostname" : "secretsmanager-fips.us-gov-west-1.amazonaws.com" + "deprecated" : true } } }, diff --git a/gems/aws-sdk-codedeploy/CHANGELOG.md b/gems/aws-sdk-codedeploy/CHANGELOG.md index 2e398d61730..a4f7462132d 100644 --- a/gems/aws-sdk-codedeploy/CHANGELOG.md +++ b/gems/aws-sdk-codedeploy/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.63.0 (2023-12-07) +------------------ + +* Feature - This release adds support for two new CodeDeploy features: 1) zonal deployments for Amazon EC2 in-place deployments, 2) deployments triggered by Auto Scaling group termination lifecycle hook events. + 1.62.0 (2023-11-28) ------------------ diff --git a/gems/aws-sdk-codedeploy/VERSION b/gems/aws-sdk-codedeploy/VERSION index 76d05362056..af92bdd9f58 100644 --- a/gems/aws-sdk-codedeploy/VERSION +++ b/gems/aws-sdk-codedeploy/VERSION @@ -1 +1 @@ -1.62.0 +1.63.0 diff --git a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy.rb b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy.rb index 5353c5dd0f2..45e63736579 100644 --- a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy.rb +++ b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy.rb @@ -53,6 +53,6 @@ # @!group service module Aws::CodeDeploy - GEM_VERSION = '1.62.0' + GEM_VERSION = '1.63.0' end diff --git a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/client.rb b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/client.rb index 180e599395e..ba899f95ad7 100644 --- a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/client.rb +++ b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/client.rb @@ -588,6 +588,7 @@ def batch_get_applications(params = {}, options = {}) # resp.deployment_groups_info[0].auto_scaling_groups #=> Array # resp.deployment_groups_info[0].auto_scaling_groups[0].name #=> String # resp.deployment_groups_info[0].auto_scaling_groups[0].hook #=> String + # resp.deployment_groups_info[0].auto_scaling_groups[0].termination_hook #=> String # resp.deployment_groups_info[0].service_role_arn #=> String # resp.deployment_groups_info[0].target_revision.revision_type #=> String, one of "S3", "GitHub", "String", "AppSpecContent" # resp.deployment_groups_info[0].target_revision.s3_location.bucket #=> String @@ -654,6 +655,7 @@ def batch_get_applications(params = {}, options = {}) # resp.deployment_groups_info[0].ecs_services #=> Array # resp.deployment_groups_info[0].ecs_services[0].service_name #=> String # resp.deployment_groups_info[0].ecs_services[0].cluster_name #=> String + # resp.deployment_groups_info[0].termination_hook_enabled #=> Boolean # resp.error_message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentGroups AWS API Documentation @@ -740,10 +742,10 @@ def batch_get_deployment_instances(params = {}, options = {}) # * **CloudFormation**: Information about targets of blue/green # deployments initiated by a CloudFormation stack update. # - # @option params [String] :deployment_id + # @option params [required, String] :deployment_id # The unique ID of a deployment. # - # @option params [Array] :target_ids + # @option params [required, Array] :target_ids # The unique IDs of the deployment targets. The compute platform of the # deployment determines the type of the targets and their formats. The # maximum number of deployment target IDs you can specify is 25. @@ -772,8 +774,8 @@ def batch_get_deployment_instances(params = {}, options = {}) # @example Request syntax with placeholder values # # resp = client.batch_get_deployment_targets({ - # deployment_id: "DeploymentId", - # target_ids: ["TargetId"], + # deployment_id: "DeploymentId", # required + # target_ids: ["TargetId"], # required # }) # # @example Response structure @@ -923,7 +925,7 @@ def batch_get_deployment_targets(params = {}, options = {}) # resp.deployments_info[0].deployment_overview.skipped #=> Integer # resp.deployments_info[0].deployment_overview.ready #=> Integer # resp.deployments_info[0].description #=> String - # resp.deployments_info[0].creator #=> String, one of "user", "autoscaling", "codeDeployRollback", "CodeDeploy", "CodeDeployAutoUpdate", "CloudFormation", "CloudFormationRollback" + # resp.deployments_info[0].creator #=> String, one of "user", "autoscaling", "codeDeployRollback", "CodeDeploy", "CodeDeployAutoUpdate", "CloudFormation", "CloudFormationRollback", "autoscalingTermination" # resp.deployments_info[0].ignore_application_stop_failures #=> Boolean # resp.deployments_info[0].auto_rollback_configuration.enabled #=> Boolean # resp.deployments_info[0].auto_rollback_configuration.events #=> Array @@ -1323,6 +1325,19 @@ def create_deployment(params = {}, options = {}) # The destination platform type for the deployment (`Lambda`, `Server`, # or `ECS`). # + # @option params [Types::ZonalConfig] :zonal_config + # Configure the `ZonalConfig` object if you want CodeDeploy to deploy + # your application to one [Availability Zone][1] at a time, within an + # Amazon Web Services Region. + # + # For more information about the zonal configuration feature, see [zonal + # configuration][2] in the *CodeDeploy User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones + # [2]: https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config + # # @return [Types::CreateDeploymentConfigOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateDeploymentConfigOutput#deployment_config_id #deployment_config_id} => String @@ -1347,6 +1362,14 @@ def create_deployment(params = {}, options = {}) # }, # }, # compute_platform: "Server", # accepts Server, Lambda, ECS + # zonal_config: { + # first_zone_monitor_duration_in_seconds: 1, + # monitor_duration_in_seconds: 1, + # minimum_healthy_hosts_per_zone: { + # type: "HOST_COUNT", # accepts HOST_COUNT, FLEET_PERCENT + # value: 1, + # }, + # }, # }) # # @example Response structure @@ -1472,6 +1495,29 @@ def create_deployment_config(params = {}, options = {}) # you organize and categorize them. Each tag consists of a key and an # optional value, both of which you define. # + # @option params [Boolean] :termination_hook_enabled + # This parameter only applies if you are using CodeDeploy with Amazon + # EC2 Auto Scaling. For more information, see [Integrating CodeDeploy + # with Amazon EC2 Auto Scaling][1] in the *CodeDeploy User Guide*. + # + # Set `terminationHookEnabled` to `true` to have CodeDeploy install a + # termination hook into your Auto Scaling group when you create a + # deployment group. When this hook is installed, CodeDeploy will perform + # termination deployments. + # + # For information about termination deployments, see [Enabling + # termination deployments during Auto Scaling scale-in events][2] in the + # *CodeDeploy User Guide*. + # + # For more information about Auto Scaling scale-in events, see the + # [Scale in][3] topic in the *Amazon EC2 Auto Scaling User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html + # [2]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors-hook-enable + # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in + # # @return [Types::CreateDeploymentGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateDeploymentGroupOutput#deployment_group_id #deployment_group_id} => String @@ -1597,6 +1643,7 @@ def create_deployment_config(params = {}, options = {}) # value: "Value", # }, # ], + # termination_hook_enabled: false, # }) # # @example Response structure @@ -1688,6 +1735,7 @@ def delete_deployment_config(params = {}, options = {}) # resp.hooks_not_cleaned_up #=> Array # resp.hooks_not_cleaned_up[0].name #=> String # resp.hooks_not_cleaned_up[0].hook #=> String + # resp.hooks_not_cleaned_up[0].termination_hook #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteDeploymentGroup AWS API Documentation # @@ -1953,7 +2001,7 @@ def get_application_revision(params = {}, options = {}) # resp.deployment_info.deployment_overview.skipped #=> Integer # resp.deployment_info.deployment_overview.ready #=> Integer # resp.deployment_info.description #=> String - # resp.deployment_info.creator #=> String, one of "user", "autoscaling", "codeDeployRollback", "CodeDeploy", "CodeDeployAutoUpdate", "CloudFormation", "CloudFormationRollback" + # resp.deployment_info.creator #=> String, one of "user", "autoscaling", "codeDeployRollback", "CodeDeploy", "CodeDeployAutoUpdate", "CloudFormation", "CloudFormationRollback", "autoscalingTermination" # resp.deployment_info.ignore_application_stop_failures #=> Boolean # resp.deployment_info.auto_rollback_configuration.enabled #=> Boolean # resp.deployment_info.auto_rollback_configuration.events #=> Array @@ -2049,6 +2097,10 @@ def get_deployment(params = {}, options = {}) # resp.deployment_config_info.traffic_routing_config.time_based_canary.canary_interval #=> Integer # resp.deployment_config_info.traffic_routing_config.time_based_linear.linear_percentage #=> Integer # resp.deployment_config_info.traffic_routing_config.time_based_linear.linear_interval #=> Integer + # resp.deployment_config_info.zonal_config.first_zone_monitor_duration_in_seconds #=> Integer + # resp.deployment_config_info.zonal_config.monitor_duration_in_seconds #=> Integer + # resp.deployment_config_info.zonal_config.minimum_healthy_hosts_per_zone.type #=> String, one of "HOST_COUNT", "FLEET_PERCENT" + # resp.deployment_config_info.zonal_config.minimum_healthy_hosts_per_zone.value #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentConfig AWS API Documentation # @@ -2096,6 +2148,7 @@ def get_deployment_config(params = {}, options = {}) # resp.deployment_group_info.auto_scaling_groups #=> Array # resp.deployment_group_info.auto_scaling_groups[0].name #=> String # resp.deployment_group_info.auto_scaling_groups[0].hook #=> String + # resp.deployment_group_info.auto_scaling_groups[0].termination_hook #=> String # resp.deployment_group_info.service_role_arn #=> String # resp.deployment_group_info.target_revision.revision_type #=> String, one of "S3", "GitHub", "String", "AppSpecContent" # resp.deployment_group_info.target_revision.s3_location.bucket #=> String @@ -2162,6 +2215,7 @@ def get_deployment_config(params = {}, options = {}) # resp.deployment_group_info.ecs_services #=> Array # resp.deployment_group_info.ecs_services[0].service_name #=> String # resp.deployment_group_info.ecs_services[0].cluster_name #=> String + # resp.deployment_group_info.termination_hook_enabled #=> Boolean # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentGroup AWS API Documentation # @@ -2219,10 +2273,10 @@ def get_deployment_instance(params = {}, options = {}) # Returns information about a deployment target. # - # @option params [String] :deployment_id + # @option params [required, String] :deployment_id # The unique ID of a deployment. # - # @option params [String] :target_id + # @option params [required, String] :target_id # The unique ID of a deployment target. # # @return [Types::GetDeploymentTargetOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: @@ -2232,8 +2286,8 @@ def get_deployment_instance(params = {}, options = {}) # @example Request syntax with placeholder values # # resp = client.get_deployment_target({ - # deployment_id: "DeploymentId", - # target_id: "TargetId", + # deployment_id: "DeploymentId", # required + # target_id: "TargetId", # required # }) # # @example Response structure @@ -2648,7 +2702,7 @@ def list_deployment_instances(params = {}, options = {}) # Returns an array of target IDs that are associated a deployment. # - # @option params [String] :deployment_id + # @option params [required, String] :deployment_id # The unique ID of a deployment. # # @option params [String] :next_token @@ -2674,7 +2728,7 @@ def list_deployment_instances(params = {}, options = {}) # @example Request syntax with placeholder values # # resp = client.list_deployment_targets({ - # deployment_id: "DeploymentId", + # deployment_id: "DeploymentId", # required # next_token: "NextToken", # target_filters: { # "TargetStatus" => ["FilterValue"], @@ -3345,6 +3399,29 @@ def update_application(params = {}, options = {}) # group includes only on-premises instances identified by all the tag # groups. # + # @option params [Boolean] :termination_hook_enabled + # This parameter only applies if you are using CodeDeploy with Amazon + # EC2 Auto Scaling. For more information, see [Integrating CodeDeploy + # with Amazon EC2 Auto Scaling][1] in the *CodeDeploy User Guide*. + # + # Set `terminationHookEnabled` to `true` to have CodeDeploy install a + # termination hook into your Auto Scaling group when you update a + # deployment group. When this hook is installed, CodeDeploy will perform + # termination deployments. + # + # For information about termination deployments, see [Enabling + # termination deployments during Auto Scaling scale-in events][2] in the + # *CodeDeploy User Guide*. + # + # For more information about Auto Scaling scale-in events, see the + # [Scale in][3] topic in the *Amazon EC2 Auto Scaling User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html + # [2]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors-hook-enable + # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in + # # @return [Types::UpdateDeploymentGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateDeploymentGroupOutput#hooks_not_cleaned_up #hooks_not_cleaned_up} => Array<Types::AutoScalingGroup> @@ -3465,6 +3542,7 @@ def update_application(params = {}, options = {}) # ], # ], # }, + # termination_hook_enabled: false, # }) # # @example Response structure @@ -3472,6 +3550,7 @@ def update_application(params = {}, options = {}) # resp.hooks_not_cleaned_up #=> Array # resp.hooks_not_cleaned_up[0].name #=> String # resp.hooks_not_cleaned_up[0].hook #=> String + # resp.hooks_not_cleaned_up[0].termination_hook #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroup AWS API Documentation # @@ -3495,7 +3574,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-codedeploy' - context[:gem_version] = '1.62.0' + context[:gem_version] = '1.63.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/client_api.rb b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/client_api.rb index 89ab67ee399..1f1018efb6f 100644 --- a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/client_api.rb +++ b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/client_api.rb @@ -268,6 +268,7 @@ module ClientApi InvalidTrafficRoutingConfigurationException = Shapes::StructureShape.new(name: 'InvalidTrafficRoutingConfigurationException') InvalidTriggerConfigException = Shapes::StructureShape.new(name: 'InvalidTriggerConfigException') InvalidUpdateOutdatedInstancesOnlyValueException = Shapes::StructureShape.new(name: 'InvalidUpdateOutdatedInstancesOnlyValueException') + InvalidZonalDeploymentConfigurationException = Shapes::StructureShape.new(name: 'InvalidZonalDeploymentConfigurationException') Key = Shapes::StringShape.new(name: 'Key') LambdaFunctionAlias = Shapes::StringShape.new(name: 'LambdaFunctionAlias') LambdaFunctionInfo = Shapes::StructureShape.new(name: 'LambdaFunctionInfo') @@ -310,6 +311,9 @@ module ClientApi LogTail = Shapes::StringShape.new(name: 'LogTail') Message = Shapes::StringShape.new(name: 'Message') MinimumHealthyHosts = Shapes::StructureShape.new(name: 'MinimumHealthyHosts') + MinimumHealthyHostsPerZone = Shapes::StructureShape.new(name: 'MinimumHealthyHostsPerZone') + MinimumHealthyHostsPerZoneType = Shapes::StringShape.new(name: 'MinimumHealthyHostsPerZoneType') + MinimumHealthyHostsPerZoneValue = Shapes::IntegerShape.new(name: 'MinimumHealthyHostsPerZoneValue') MinimumHealthyHostsType = Shapes::StringShape.new(name: 'MinimumHealthyHostsType') MinimumHealthyHostsValue = Shapes::IntegerShape.new(name: 'MinimumHealthyHostsValue') MultipleIamArnsProvidedException = Shapes::StructureShape.new(name: 'MultipleIamArnsProvidedException') @@ -403,6 +407,8 @@ module ClientApi Version = Shapes::StringShape.new(name: 'Version') VersionId = Shapes::StringShape.new(name: 'VersionId') WaitTimeInMins = Shapes::IntegerShape.new(name: 'WaitTimeInMins') + WaitTimeInSeconds = Shapes::IntegerShape.new(name: 'WaitTimeInSeconds') + ZonalConfig = Shapes::StructureShape.new(name: 'ZonalConfig') AddTagsToOnPremisesInstancesInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "tags")) AddTagsToOnPremisesInstancesInput.add_member(:instance_names, Shapes::ShapeRef.new(shape: InstanceNameList, required: true, location_name: "instanceNames")) @@ -454,6 +460,7 @@ module ClientApi AutoScalingGroup.add_member(:name, Shapes::ShapeRef.new(shape: AutoScalingGroupName, location_name: "name")) AutoScalingGroup.add_member(:hook, Shapes::ShapeRef.new(shape: AutoScalingGroupHook, location_name: "hook")) + AutoScalingGroup.add_member(:termination_hook, Shapes::ShapeRef.new(shape: AutoScalingGroupHook, location_name: "terminationHook")) AutoScalingGroup.struct_class = Types::AutoScalingGroup AutoScalingGroupList.member = Shapes::ShapeRef.new(shape: AutoScalingGroup) @@ -491,8 +498,8 @@ module ClientApi BatchGetDeploymentInstancesOutput.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "errorMessage")) BatchGetDeploymentInstancesOutput.struct_class = Types::BatchGetDeploymentInstancesOutput - BatchGetDeploymentTargetsInput.add_member(:deployment_id, Shapes::ShapeRef.new(shape: DeploymentId, location_name: "deploymentId")) - BatchGetDeploymentTargetsInput.add_member(:target_ids, Shapes::ShapeRef.new(shape: TargetIdList, location_name: "targetIds")) + BatchGetDeploymentTargetsInput.add_member(:deployment_id, Shapes::ShapeRef.new(shape: DeploymentId, required: true, location_name: "deploymentId")) + BatchGetDeploymentTargetsInput.add_member(:target_ids, Shapes::ShapeRef.new(shape: TargetIdList, required: true, location_name: "targetIds")) BatchGetDeploymentTargetsInput.struct_class = Types::BatchGetDeploymentTargetsInput BatchGetDeploymentTargetsOutput.add_member(:deployment_targets, Shapes::ShapeRef.new(shape: DeploymentTargetList, location_name: "deploymentTargets")) @@ -548,6 +555,7 @@ module ClientApi CreateDeploymentConfigInput.add_member(:minimum_healthy_hosts, Shapes::ShapeRef.new(shape: MinimumHealthyHosts, location_name: "minimumHealthyHosts")) CreateDeploymentConfigInput.add_member(:traffic_routing_config, Shapes::ShapeRef.new(shape: TrafficRoutingConfig, location_name: "trafficRoutingConfig")) CreateDeploymentConfigInput.add_member(:compute_platform, Shapes::ShapeRef.new(shape: ComputePlatform, location_name: "computePlatform")) + CreateDeploymentConfigInput.add_member(:zonal_config, Shapes::ShapeRef.new(shape: ZonalConfig, location_name: "zonalConfig")) CreateDeploymentConfigInput.struct_class = Types::CreateDeploymentConfigInput CreateDeploymentConfigOutput.add_member(:deployment_config_id, Shapes::ShapeRef.new(shape: DeploymentConfigId, location_name: "deploymentConfigId")) @@ -571,6 +579,7 @@ module ClientApi CreateDeploymentGroupInput.add_member(:ecs_services, Shapes::ShapeRef.new(shape: ECSServiceList, location_name: "ecsServices")) CreateDeploymentGroupInput.add_member(:on_premises_tag_set, Shapes::ShapeRef.new(shape: OnPremisesTagSet, location_name: "onPremisesTagSet")) CreateDeploymentGroupInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags")) + CreateDeploymentGroupInput.add_member(:termination_hook_enabled, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "terminationHookEnabled")) CreateDeploymentGroupInput.struct_class = Types::CreateDeploymentGroupInput CreateDeploymentGroupOutput.add_member(:deployment_group_id, Shapes::ShapeRef.new(shape: DeploymentGroupId, location_name: "deploymentGroupId")) @@ -632,6 +641,7 @@ module ClientApi DeploymentConfigInfo.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createTime")) DeploymentConfigInfo.add_member(:compute_platform, Shapes::ShapeRef.new(shape: ComputePlatform, location_name: "computePlatform")) DeploymentConfigInfo.add_member(:traffic_routing_config, Shapes::ShapeRef.new(shape: TrafficRoutingConfig, location_name: "trafficRoutingConfig")) + DeploymentConfigInfo.add_member(:zonal_config, Shapes::ShapeRef.new(shape: ZonalConfig, location_name: "zonalConfig")) DeploymentConfigInfo.struct_class = Types::DeploymentConfigInfo DeploymentConfigLimitExceededException.struct_class = Types::DeploymentConfigLimitExceededException @@ -668,6 +678,7 @@ module ClientApi DeploymentGroupInfo.add_member(:on_premises_tag_set, Shapes::ShapeRef.new(shape: OnPremisesTagSet, location_name: "onPremisesTagSet")) DeploymentGroupInfo.add_member(:compute_platform, Shapes::ShapeRef.new(shape: ComputePlatform, location_name: "computePlatform")) DeploymentGroupInfo.add_member(:ecs_services, Shapes::ShapeRef.new(shape: ECSServiceList, location_name: "ecsServices")) + DeploymentGroupInfo.add_member(:termination_hook_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "terminationHookEnabled")) DeploymentGroupInfo.struct_class = Types::DeploymentGroupInfo DeploymentGroupInfoList.member = Shapes::ShapeRef.new(shape: DeploymentGroupInfo) @@ -868,8 +879,8 @@ module ClientApi GetDeploymentOutput.add_member(:deployment_info, Shapes::ShapeRef.new(shape: DeploymentInfo, location_name: "deploymentInfo")) GetDeploymentOutput.struct_class = Types::GetDeploymentOutput - GetDeploymentTargetInput.add_member(:deployment_id, Shapes::ShapeRef.new(shape: DeploymentId, location_name: "deploymentId")) - GetDeploymentTargetInput.add_member(:target_id, Shapes::ShapeRef.new(shape: TargetId, location_name: "targetId")) + GetDeploymentTargetInput.add_member(:deployment_id, Shapes::ShapeRef.new(shape: DeploymentId, required: true, location_name: "deploymentId")) + GetDeploymentTargetInput.add_member(:target_id, Shapes::ShapeRef.new(shape: TargetId, required: true, location_name: "targetId")) GetDeploymentTargetInput.struct_class = Types::GetDeploymentTargetInput GetDeploymentTargetOutput.add_member(:deployment_target, Shapes::ShapeRef.new(shape: DeploymentTarget, location_name: "deploymentTarget")) @@ -1064,6 +1075,8 @@ module ClientApi InvalidUpdateOutdatedInstancesOnlyValueException.struct_class = Types::InvalidUpdateOutdatedInstancesOnlyValueException + InvalidZonalDeploymentConfigurationException.struct_class = Types::InvalidZonalDeploymentConfigurationException + LambdaFunctionInfo.add_member(:function_name, Shapes::ShapeRef.new(shape: LambdaFunctionName, location_name: "functionName")) LambdaFunctionInfo.add_member(:function_alias, Shapes::ShapeRef.new(shape: LambdaFunctionAlias, location_name: "functionAlias")) LambdaFunctionInfo.add_member(:current_version, Shapes::ShapeRef.new(shape: Version, location_name: "currentVersion")) @@ -1145,7 +1158,7 @@ module ClientApi ListDeploymentInstancesOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken")) ListDeploymentInstancesOutput.struct_class = Types::ListDeploymentInstancesOutput - ListDeploymentTargetsInput.add_member(:deployment_id, Shapes::ShapeRef.new(shape: DeploymentId, location_name: "deploymentId")) + ListDeploymentTargetsInput.add_member(:deployment_id, Shapes::ShapeRef.new(shape: DeploymentId, required: true, location_name: "deploymentId")) ListDeploymentTargetsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken")) ListDeploymentTargetsInput.add_member(:target_filters, Shapes::ShapeRef.new(shape: TargetFilters, location_name: "targetFilters")) ListDeploymentTargetsInput.struct_class = Types::ListDeploymentTargetsInput @@ -1201,6 +1214,10 @@ module ClientApi MinimumHealthyHosts.add_member(:value, Shapes::ShapeRef.new(shape: MinimumHealthyHostsValue, location_name: "value")) MinimumHealthyHosts.struct_class = Types::MinimumHealthyHosts + MinimumHealthyHostsPerZone.add_member(:type, Shapes::ShapeRef.new(shape: MinimumHealthyHostsPerZoneType, location_name: "type")) + MinimumHealthyHostsPerZone.add_member(:value, Shapes::ShapeRef.new(shape: MinimumHealthyHostsPerZoneValue, location_name: "value")) + MinimumHealthyHostsPerZone.struct_class = Types::MinimumHealthyHostsPerZone + MultipleIamArnsProvidedException.struct_class = Types::MultipleIamArnsProvidedException OnPremisesTagSet.add_member(:on_premises_tag_set_list, Shapes::ShapeRef.new(shape: OnPremisesTagSetList, location_name: "onPremisesTagSetList")) @@ -1400,11 +1417,17 @@ module ClientApi UpdateDeploymentGroupInput.add_member(:ec2_tag_set, Shapes::ShapeRef.new(shape: EC2TagSet, location_name: "ec2TagSet")) UpdateDeploymentGroupInput.add_member(:ecs_services, Shapes::ShapeRef.new(shape: ECSServiceList, location_name: "ecsServices")) UpdateDeploymentGroupInput.add_member(:on_premises_tag_set, Shapes::ShapeRef.new(shape: OnPremisesTagSet, location_name: "onPremisesTagSet")) + UpdateDeploymentGroupInput.add_member(:termination_hook_enabled, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "terminationHookEnabled")) UpdateDeploymentGroupInput.struct_class = Types::UpdateDeploymentGroupInput UpdateDeploymentGroupOutput.add_member(:hooks_not_cleaned_up, Shapes::ShapeRef.new(shape: AutoScalingGroupList, location_name: "hooksNotCleanedUp")) UpdateDeploymentGroupOutput.struct_class = Types::UpdateDeploymentGroupOutput + ZonalConfig.add_member(:first_zone_monitor_duration_in_seconds, Shapes::ShapeRef.new(shape: WaitTimeInSeconds, location_name: "firstZoneMonitorDurationInSeconds")) + ZonalConfig.add_member(:monitor_duration_in_seconds, Shapes::ShapeRef.new(shape: WaitTimeInSeconds, location_name: "monitorDurationInSeconds")) + ZonalConfig.add_member(:minimum_healthy_hosts_per_zone, Shapes::ShapeRef.new(shape: MinimumHealthyHostsPerZone, location_name: "minimumHealthyHostsPerZone")) + ZonalConfig.struct_class = Types::ZonalConfig + # @api private API = Seahorse::Model::Api.new.tap do |api| @@ -1612,6 +1635,7 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: DeploymentConfigLimitExceededException) o.errors << Shapes::ShapeRef.new(shape: InvalidComputePlatformException) o.errors << Shapes::ShapeRef.new(shape: InvalidTrafficRoutingConfigurationException) + o.errors << Shapes::ShapeRef.new(shape: InvalidZonalDeploymentConfigurationException) end) api.add_operation(:create_deployment_group, Seahorse::Model::Operation.new.tap do |o| @@ -1934,6 +1958,7 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: InvalidInstanceStatusException) o.errors << Shapes::ShapeRef.new(shape: InvalidInstanceTypeException) o.errors << Shapes::ShapeRef.new(shape: InvalidDeploymentInstanceTypeException) + o.errors << Shapes::ShapeRef.new(shape: InvalidTargetFilterNameException) end) api.add_operation(:list_deployments, Seahorse::Model::Operation.new.tap do |o| diff --git a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/endpoint_provider.rb b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/endpoint_provider.rb index beb12319377..7360e60bc41 100644 --- a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/endpoint_provider.rb +++ b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/endpoint_provider.rb @@ -32,7 +32,7 @@ def resolve_endpoint(parameters) raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both" end if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) - if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) + if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true) return Aws::Endpoints::Endpoint.new(url: "https://codedeploy-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {}) end raise ArgumentError, "FIPS is enabled but this partition does not support FIPS" diff --git a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/errors.rb b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/errors.rb index c78d60f1483..9174ecd7674 100644 --- a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/errors.rb +++ b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/errors.rb @@ -124,6 +124,7 @@ module Aws::CodeDeploy # * {InvalidTrafficRoutingConfigurationException} # * {InvalidTriggerConfigException} # * {InvalidUpdateOutdatedInstancesOnlyValueException} + # * {InvalidZonalDeploymentConfigurationException} # * {LifecycleEventAlreadyCompletedException} # * {LifecycleHookLimitExceededException} # * {MultipleIamArnsProvidedException} @@ -1116,6 +1117,16 @@ def initialize(context, message, data = Aws::EmptyStructure.new) end end + class InvalidZonalDeploymentConfigurationException < ServiceError + + # @param [Seahorse::Client::RequestContext] context + # @param [String] message + # @param [Aws::CodeDeploy::Types::InvalidZonalDeploymentConfigurationException] data + def initialize(context, message, data = Aws::EmptyStructure.new) + super(context, message, data) + end + end + class LifecycleEventAlreadyCompletedException < ServiceError # @param [Seahorse::Client::RequestContext] context diff --git a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/types.rb b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/types.rb index cf7bb785ae2..e874cb41db0 100644 --- a/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/types.rb +++ b/gems/aws-sdk-codedeploy/lib/aws-sdk-codedeploy/types.rb @@ -226,14 +226,36 @@ class AutoRollbackConfiguration < Struct.new( # @return [String] # # @!attribute [rw] hook - # An Auto Scaling lifecycle event hook name. + # The name of the launch hook that CodeDeploy installed into the Auto + # Scaling group. + # + # For more information about the launch hook, see [How Amazon EC2 Auto + # Scaling works with CodeDeploy][1] in the *CodeDeploy User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors + # @return [String] + # + # @!attribute [rw] termination_hook + # The name of the termination hook that CodeDeploy installed into the + # Auto Scaling group. + # + # For more information about the termination hook, see [Enabling + # termination deployments during Auto Scaling scale-in events][1] in + # the *CodeDeploy User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors-hook-enable # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/AutoScalingGroup AWS API Documentation # class AutoScalingGroup < Struct.new( :name, - :hook) + :hook, + :termination_hook) SENSITIVE = [] include Aws::Structure end @@ -747,13 +769,28 @@ class CreateApplicationOutput < Struct.new( # `Server`, or `ECS`). # @return [String] # + # @!attribute [rw] zonal_config + # Configure the `ZonalConfig` object if you want CodeDeploy to deploy + # your application to one [Availability Zone][1] at a time, within an + # Amazon Web Services Region. + # + # For more information about the zonal configuration feature, see + # [zonal configuration][2] in the *CodeDeploy User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones + # [2]: https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config + # @return [Types::ZonalConfig] + # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentConfigInput AWS API Documentation # class CreateDeploymentConfigInput < Struct.new( :deployment_config_name, :minimum_healthy_hosts, :traffic_routing_config, - :compute_platform) + :compute_platform, + :zonal_config) SENSITIVE = [] include Aws::Structure end @@ -901,6 +938,30 @@ class CreateDeploymentConfigOutput < Struct.new( # optional value, both of which you define. # @return [Array] # + # @!attribute [rw] termination_hook_enabled + # This parameter only applies if you are using CodeDeploy with Amazon + # EC2 Auto Scaling. For more information, see [Integrating CodeDeploy + # with Amazon EC2 Auto Scaling][1] in the *CodeDeploy User Guide*. + # + # Set `terminationHookEnabled` to `true` to have CodeDeploy install a + # termination hook into your Auto Scaling group when you create a + # deployment group. When this hook is installed, CodeDeploy will + # perform termination deployments. + # + # For information about termination deployments, see [Enabling + # termination deployments during Auto Scaling scale-in events][2] in + # the *CodeDeploy User Guide*. + # + # For more information about Auto Scaling scale-in events, see the + # [Scale in][3] topic in the *Amazon EC2 Auto Scaling User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html + # [2]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors-hook-enable + # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in + # @return [Boolean] + # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentGroupInput AWS API Documentation # class CreateDeploymentGroupInput < Struct.new( @@ -921,7 +982,8 @@ class CreateDeploymentGroupInput < Struct.new( :ec2_tag_set, :ecs_services, :on_premises_tag_set, - :tags) + :tags, + :termination_hook_enabled) SENSITIVE = [] include Aws::Structure end @@ -1244,7 +1306,7 @@ class DeploymentConfigInUseException < Aws::EmptyStructure; end # # @!attribute [rw] minimum_healthy_hosts # Information about the number or percentage of minimum healthy - # instance. + # instances. # @return [Types::MinimumHealthyHosts] # # @!attribute [rw] create_time @@ -1262,6 +1324,10 @@ class DeploymentConfigInUseException < Aws::EmptyStructure; end # platform only. # @return [Types::TrafficRoutingConfig] # + # @!attribute [rw] zonal_config + # Information about a zonal configuration. + # @return [Types::ZonalConfig] + # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentConfigInfo AWS API Documentation # class DeploymentConfigInfo < Struct.new( @@ -1270,7 +1336,8 @@ class DeploymentConfigInfo < Struct.new( :minimum_healthy_hosts, :create_time, :compute_platform, - :traffic_routing_config) + :traffic_routing_config, + :zonal_config) SENSITIVE = [] include Aws::Structure end @@ -1435,6 +1502,19 @@ class DeploymentGroupDoesNotExistException < Aws::EmptyStructure; end # `:`. # @return [Array] # + # @!attribute [rw] termination_hook_enabled + # Indicates whether the deployment group was configured to have + # CodeDeploy install a termination hook into an Auto Scaling group. + # + # For more information about the termination hook, see [How Amazon EC2 + # Auto Scaling works with CodeDeploy][1] in the *CodeDeploy User + # Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors + # @return [Boolean] + # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentGroupInfo AWS API Documentation # class DeploymentGroupInfo < Struct.new( @@ -1459,7 +1539,8 @@ class DeploymentGroupInfo < Struct.new( :ec2_tag_set, :on_premises_tag_set, :compute_platform, - :ecs_services) + :ecs_services, + :termination_hook_enabled) SENSITIVE = [] include Aws::Structure end @@ -3197,6 +3278,12 @@ class InvalidTriggerConfigException < Aws::EmptyStructure; end # class InvalidUpdateOutdatedInstancesOnlyValueException < Aws::EmptyStructure; end + # The `ZonalConfig` object is not valid. + # + # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/InvalidZonalDeploymentConfigurationException AWS API Documentation + # + class InvalidZonalDeploymentConfigurationException < Aws::EmptyStructure; end + # Information about a Lambda function specified in a deployment. # # @!attribute [rw] function_name @@ -4002,7 +4089,7 @@ class LoadBalancerInfo < Struct.new( include Aws::Structure end - # Information about minimum healthy instance. + # Information about the minimum number of healthy instances. # # @!attribute [rw] type # The minimum healthy instance type: @@ -4055,6 +4142,26 @@ class MinimumHealthyHosts < Struct.new( include Aws::Structure end + # Information about the minimum number of healthy instances per + # Availability Zone. + # + # @!attribute [rw] type + # The `type` associated with the `MinimumHealthyHostsPerZone` option. + # @return [String] + # + # @!attribute [rw] value + # The `value` associated with the `MinimumHealthyHostsPerZone` option. + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/MinimumHealthyHostsPerZone AWS API Documentation + # + class MinimumHealthyHostsPerZone < Struct.new( + :type, + :value) + SENSITIVE = [] + include Aws::Structure + end + # Both an user ARN and an IAM session ARN were included in the request. # Use only one ARN type. # @@ -4998,6 +5105,30 @@ class UpdateApplicationInput < Struct.new( # groups. # @return [Types::OnPremisesTagSet] # + # @!attribute [rw] termination_hook_enabled + # This parameter only applies if you are using CodeDeploy with Amazon + # EC2 Auto Scaling. For more information, see [Integrating CodeDeploy + # with Amazon EC2 Auto Scaling][1] in the *CodeDeploy User Guide*. + # + # Set `terminationHookEnabled` to `true` to have CodeDeploy install a + # termination hook into your Auto Scaling group when you update a + # deployment group. When this hook is installed, CodeDeploy will + # perform termination deployments. + # + # For information about termination deployments, see [Enabling + # termination deployments during Auto Scaling scale-in events][2] in + # the *CodeDeploy User Guide*. + # + # For more information about Auto Scaling scale-in events, see the + # [Scale in][3] topic in the *Amazon EC2 Auto Scaling User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html + # [2]: https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors-hook-enable + # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in + # @return [Boolean] + # # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroupInput AWS API Documentation # class UpdateDeploymentGroupInput < Struct.new( @@ -5018,7 +5149,8 @@ class UpdateDeploymentGroupInput < Struct.new( :load_balancer_info, :ec2_tag_set, :ecs_services, - :on_premises_tag_set) + :on_premises_tag_set, + :termination_hook_enabled) SENSITIVE = [] include Aws::Structure end @@ -5042,5 +5174,87 @@ class UpdateDeploymentGroupOutput < Struct.new( include Aws::Structure end + # Configure the `ZonalConfig` object if you want CodeDeploy to deploy + # your application to one [Availability Zone][1] at a time, within an + # Amazon Web Services 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][2] in the *CodeDeploy User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones + # [2]: https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config + # + # @!attribute [rw] first_zone_monitor_duration_in_seconds + # 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][1] in the *CodeDeploy User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config + # @return [Integer] + # + # @!attribute [rw] monitor_duration_in_seconds + # 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][1] in the *CodeDeploy User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config + # @return [Integer] + # + # @!attribute [rw] minimum_healthy_hosts_per_zone + # 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][1] 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][2] in the *CodeDeploy User Guide*. + # + # + # + # [1]: https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-health.html#minimum-healthy-hosts-az + # [2]: https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations-create.html#zonal-config + # @return [Types::MinimumHealthyHostsPerZone] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ZonalConfig AWS API Documentation + # + class ZonalConfig < Struct.new( + :first_zone_monitor_duration_in_seconds, + :monitor_duration_in_seconds, + :minimum_healthy_hosts_per_zone) + SENSITIVE = [] + include Aws::Structure + end + end end