diff --git a/CHANGELOG.md b/CHANGELOG.md index 28b9f6ccb5..f14241905c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +Release v1.44.39 (2022-06-21) +=== + +### Service Client Updates +* `service/ec2`: Updates service API and documentation + * This release adds support for Private IP VPNs, a new feature allowing S2S VPN connections to use private ip addresses as the tunnel outside ip address over Direct Connect as transport. +* `service/ecs`: Updates service documentation + * Amazon ECS UpdateService now supports the following parameters: PlacementStrategies, PlacementConstraints and CapacityProviderStrategy. +* `service/wellarchitected`: Updates service API and documentation + Release v1.44.38 (2022-06-20) === diff --git a/aws/version.go b/aws/version.go index 587a4d8b76..3fdd917eb1 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.38" +const SDKVersion = "1.44.39" diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index be3fccbd48..f412141ca0 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -8833,10 +8833,7 @@ ], "members":{ "BgpAsn":{"shape":"Integer"}, - "PublicIp":{ - "shape":"String", - "locationName":"IpAddress" - }, + "PublicIp":{"shape":"String"}, "CertificateArn":{"shape":"String"}, "Type":{"shape":"GatewayType"}, "TagSpecifications":{ @@ -8844,6 +8841,7 @@ "locationName":"TagSpecification" }, "DeviceName":{"shape":"String"}, + "IpAddress":{"shape":"String"}, "DryRun":{ "shape":"Boolean", "locationName":"dryRun" @@ -39790,6 +39788,14 @@ "shape":"String", "locationName":"remoteIpv6NetworkCidr" }, + "OutsideIpAddressType":{ + "shape":"String", + "locationName":"outsideIpAddressType" + }, + "TransportTransitGatewayAttachmentId":{ + "shape":"String", + "locationName":"transportTransitGatewayAttachmentId" + }, "TunnelInsideIpVersion":{ "shape":"TunnelInsideIpVersion", "locationName":"tunnelInsideIpVersion" @@ -39813,7 +39819,9 @@ "LocalIpv4NetworkCidr":{"shape":"String"}, "RemoteIpv4NetworkCidr":{"shape":"String"}, "LocalIpv6NetworkCidr":{"shape":"String"}, - "RemoteIpv6NetworkCidr":{"shape":"String"} + "RemoteIpv6NetworkCidr":{"shape":"String"}, + "OutsideIpAddressType":{"shape":"String"}, + "TransportTransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"} } }, "VpnEcmpSupportValue":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 25461568f4..049537d71f 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -54,7 +54,7 @@ "CreateCarrierGateway": "

Creates a carrier gateway. For more information about carrier gateways, see Carrier gateways in the Amazon Web Services Wavelength Developer Guide.

", "CreateClientVpnEndpoint": "

Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.

", "CreateClientVpnRoute": "

Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the available destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks.

", - "CreateCustomerGateway": "

Provides information to Amazon Web Services about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the Amazon Web Services side of the VPN connection is the virtual private gateway.) You must provide the internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN. For more information, see Customer gateway options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. An identical request returns information about the existing customer gateway; it doesn't create a new customer gateway.

", + "CreateCustomerGateway": "

Provides information to Amazon Web Services about your customer gateway device. The customer gateway device is the appliance at your end of the VPN connection. You must provide the IP address of the customer gateway device’s external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN. For more information, see Customer gateway options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. An identical request returns information about the existing customer gateway; it doesn't create a new customer gateway.

", "CreateDefaultSubnet": "

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Creating a default subnet in the Amazon Virtual Private Cloud User Guide.

", "CreateDefaultVpc": "

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPC and default subnets in the Amazon Virtual Private Cloud User Guide. You cannot specify the components of the default VPC yourself.

If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

If your account supports EC2-Classic, you cannot use this action to create a default VPC in a Region that supports EC2-Classic. If you want a default VPC in a Region that supports EC2-Classic, see \"I really want a default VPC for my existing EC2 account. Is that possible?\" in the Default VPCs FAQ.

", "CreateDhcpOptions": "

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP options sets in the Amazon Virtual Private Cloud User Guide.

", @@ -7948,7 +7948,7 @@ "DescribeClientVpnRoutesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", "DescribeClientVpnTargetNetworksRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", "DescribeCoipPoolsRequest$Filters": "

One or more filters.

", - "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", + "DescribeCustomerGatewaysRequest$Filters": "

One or more filters.

", "DescribeDhcpOptionsRequest$Filters": "

One or more filters.

", "DescribeEgressOnlyInternetGatewaysRequest$Filters": "

One or more filters.

", "DescribeElasticGpusRequest$Filters": "

The filters.

", @@ -16652,9 +16652,10 @@ "CreateClientVpnRouteRequest$DestinationCidrBlock": "

The IPv4 address range, in CIDR notation, of the route destination. For example:

", "CreateClientVpnRouteRequest$Description": "

A brief description of the route.

", "CreateClientVpnRouteRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", - "CreateCustomerGatewayRequest$PublicIp": "

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", + "CreateCustomerGatewayRequest$PublicIp": "

This member has been deprecated. The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", "CreateCustomerGatewayRequest$CertificateArn": "

The Amazon Resource Name (ARN) for the customer gateway certificate.

", "CreateCustomerGatewayRequest$DeviceName": "

A name for the customer gateway device.

Length Constraints: Up to 255 characters.

", + "CreateCustomerGatewayRequest$IpAddress": "

IPv4 address for the customer gateway device's outside interface. The address must be static.

", "CreateDefaultSubnetRequest$AvailabilityZone": "

The Availability Zone in which to create the default subnet.

", "CreateEgressOnlyInternetGatewayRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

", "CreateEgressOnlyInternetGatewayResult$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", @@ -16781,7 +16782,7 @@ "CreditSpecificationRequest$CpuCredits": "

The credit option for CPU usage of a T2, T3, or T3a instance. Valid values are standard and unlimited.

", "CustomerGateway$BgpAsn": "

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", "CustomerGateway$CustomerGatewayId": "

The ID of the customer gateway.

", - "CustomerGateway$IpAddress": "

The Internet-routable IP address of the customer gateway's outside interface.

", + "CustomerGateway$IpAddress": "

The IP address of the customer gateway device's outside interface.

", "CustomerGateway$CertificateArn": "

The Amazon Resource Name (ARN) for the customer gateway certificate.

", "CustomerGateway$State": "

The current state of the customer gateway (pending | available | deleting | deleted).

", "CustomerGateway$Type": "

The type of VPN connection the customer gateway supports (ipsec.1).

", @@ -18209,10 +18210,13 @@ "VpnConnectionOptions$RemoteIpv4NetworkCidr": "

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

", "VpnConnectionOptions$LocalIpv6NetworkCidr": "

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

", "VpnConnectionOptions$RemoteIpv6NetworkCidr": "

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

", + "VpnConnectionOptions$OutsideIpAddressType": "

The type of IPv4 address assigned to the outside interface of the customer gateway.

Valid values: PrivateIpv4 | PublicIpv4

Default: PublicIpv4

", + "VpnConnectionOptions$TransportTransitGatewayAttachmentId": "

The transit gateway attachment ID in use for the VPN tunnel.

", "VpnConnectionOptionsSpecification$LocalIpv4NetworkCidr": "

The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

Default: 0.0.0.0/0

", "VpnConnectionOptionsSpecification$RemoteIpv4NetworkCidr": "

The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

Default: 0.0.0.0/0

", "VpnConnectionOptionsSpecification$LocalIpv6NetworkCidr": "

The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

Default: ::/0

", "VpnConnectionOptionsSpecification$RemoteIpv6NetworkCidr": "

The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

Default: ::/0

", + "VpnConnectionOptionsSpecification$OutsideIpAddressType": "

The type of IPv4 address assigned to the outside interface of the customer gateway device.

Valid values: PrivateIpv4 | PublicIpv4

Default: PublicIpv4

", "VpnGateway$AvailabilityZone": "

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", "VpnGateway$VpnGatewayId": "

The ID of the virtual private gateway.

", "VpnStaticRoute$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer data center.

", @@ -19102,7 +19106,8 @@ "TransitGatewayConnect$TransportTransitGatewayAttachmentId": "

The ID of the attachment from which the Connect attachment was created.

", "TransitGatewayConnectPeer$TransitGatewayAttachmentId": "

The ID of the Connect attachment.

", "TransitGatewayPrefixListAttachment$TransitGatewayAttachmentId": "

The ID of the attachment.

", - "TransitGatewayPropagation$TransitGatewayAttachmentId": "

The ID of the attachment.

" + "TransitGatewayPropagation$TransitGatewayAttachmentId": "

The ID of the attachment.

", + "VpnConnectionOptionsSpecification$TransportTransitGatewayAttachmentId": "

The transit gateway attachment ID to use for the VPN tunnel.

Required if OutsideIpAddressType is set to PrivateIpv4.

" } }, "TransitGatewayAttachmentIdStringList": { diff --git a/models/apis/ecs/2014-11-13/docs-2.json b/models/apis/ecs/2014-11-13/docs-2.json index 5e4d236f4e..300002dfdd 100644 --- a/models/apis/ecs/2014-11-13/docs-2.json +++ b/models/apis/ecs/2014-11-13/docs-2.json @@ -1,17 +1,17 @@ { "version": "2.0", - "service": "Amazon Elastic Container Service

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that's managed by Amazon ECS by launching your services or tasks on Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.

Amazon ECS makes it easy to launch and stop container-based applications with simple API calls. This makes it easy to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. With Amazon ECS, you don't need to operate your own cluster management and configuration management systems. You also don't need to worry about scaling your management infrastructure.

", + "service": "Amazon Elastic Container Service

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes it easy to run, stop, and manage Docker containers. You can host your cluster on a serverless infrastructure that's managed by Amazon ECS by launching your services or tasks on Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) or External (on-premises) instances that you manage.

Amazon ECS makes it easy to launch and stop container-based applications with simple API calls. This makes it easy to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. With Amazon ECS, you don't need to operate your own cluster management and configuration management systems. You also don't need to worry about scaling your management infrastructure.

", "operations": { "CreateCapacityProvider": "

Creates a new capacity provider. Capacity providers are associated with an Amazon ECS cluster and are used in capacity provider strategies to facilitate cluster auto scaling.

Only capacity providers that use an Auto Scaling group can be created. Amazon ECS tasks on Fargate use the FARGATE and FARGATE_SPOT capacity providers. These providers are available to all accounts in the Amazon Web Services Regions that Fargate supports.

", - "CreateCluster": "

Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name with the CreateCluster action.

When you call the CreateCluster API operation, Amazon ECS attempts to create the Amazon ECS service-linked role for your account. This is so that it can manage required resources in other Amazon Web Services services on your behalf. However, if the IAM user that makes the call doesn't have permissions to create the service-linked role, it isn't created. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

", - "CreateService": "

Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide.

Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

There are two service scheduler strategies available:

You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

", - "CreateTaskSet": "

Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

", + "CreateCluster": "

Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name with the CreateCluster action.

When you call the CreateCluster API operation, Amazon ECS attempts to create the Amazon ECS service-linked role for your account. This is so that it can manage required resources in other Amazon Web Services services on your behalf. However, if the IAM user that makes the call doesn't have permissions to create the service-linked role, it isn't created. For more information, see Using service-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

", + "CreateService": "

Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

There are two service scheduler strategies available:

You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. This is done with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

", + "CreateTaskSet": "

Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

", "DeleteAccountSetting": "

Disables an account setting for a specified IAM user, IAM role, or the root user for an account.

", "DeleteAttributes": "

Deletes one or more custom attributes from an Amazon ECS resource.

", "DeleteCapacityProvider": "

Deletes the specified capacity provider.

The FARGATE and FARGATE_SPOT capacity providers are reserved and can't be deleted. You can disassociate them from a cluster using either the PutClusterCapacityProviders API or by deleting the cluster.

Prior to a capacity provider being deleted, the capacity provider must be removed from the capacity provider strategy from all services. The UpdateService API can be used to remove a capacity provider from a service's capacity provider strategy. When updating a service, the forceNewDeployment option can be used to ensure that any tasks using the Amazon EC2 instance capacity provided by the capacity provider are transitioned to use the capacity from the remaining capacity providers. Only capacity providers that aren't associated with a cluster can be deleted. To remove a capacity provider from a cluster, you can either use PutClusterCapacityProviders or delete the cluster.

", "DeleteCluster": "

Deletes the specified cluster. The cluster transitions to the INACTIVE state. Clusters with an INACTIVE status might remain discoverable in your account for a period of time. However, this behavior is subject to change in the future. We don't recommend that you rely on INACTIVE clusters persisting.

You must deregister all container instances from this cluster before you may delete it. You can list the container instances in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance.

", "DeleteService": "

Deletes a specified service within a cluster. You can delete a service if you have no running tasks in it and the desired task count is zero. If the service is actively maintaining tasks, you can't delete it, and you must update the service to a desired task count of zero. For more information, see UpdateService.

When you delete a service, if there are still running tasks that require cleanup, the service status moves from ACTIVE to DRAINING, and the service is no longer visible in the console or in the ListServices API operation. After all tasks have transitioned to either STOPPING or STOPPED status, the service status moves from DRAINING to INACTIVE. Services in the DRAINING or INACTIVE status can still be viewed with the DescribeServices API operation. However, in the future, INACTIVE services may be cleaned up and purged from Amazon ECS record keeping, and DescribeServices calls on those services return a ServiceNotFoundException error.

If you attempt to create a new service with the same name as an existing service in either ACTIVE or DRAINING status, you receive an error.

", - "DeleteTaskSet": "

Deletes a specified task set within a service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

", + "DeleteTaskSet": "

Deletes a specified task set within a service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

", "DeregisterContainerInstance": "

Deregisters an Amazon ECS container instance from the specified cluster. This instance is no longer available to run tasks.

If you intend to use the container instance for some other purpose after deregistration, we recommend that you stop all of the tasks running on the container instance before deregistration. That prevents any orphaned tasks from consuming resources.

Deregistering a container instance removes the instance from a cluster, but it doesn't terminate the EC2 instance. If you are finished using the instance, be sure to terminate it in the Amazon EC2 console to stop billing.

If you terminate a running container instance, Amazon ECS automatically deregisters the instance from your cluster (stopped container instances or instances with disconnected agents aren't automatically deregistered when terminated).

", "DeregisterTaskDefinition": "

Deregisters the specified task definition by family and revision. Upon deregistration, the task definition is marked as INACTIVE. Existing tasks and services that reference an INACTIVE task definition continue to run without disruption. Existing services that reference an INACTIVE task definition can still scale up or down by modifying the service's desired count.

You can't use an INACTIVE task definition to run new tasks or create new services, and you can't update an existing service to reference an INACTIVE task definition. However, there may be up to a 10-minute window following deregistration where these restrictions have not yet taken effect.

At this time, INACTIVE task definitions remain discoverable in your account indefinitely. However, this behavior is subject to change in the future. We don't recommend that you rely on INACTIVE task definitions persisting beyond the lifecycle of any associated tasks and services.

", "DescribeCapacityProviders": "

Describes one or more of your capacity providers.

", @@ -20,9 +20,9 @@ "DescribeServices": "

Describes the specified services running in your cluster.

", "DescribeTaskDefinition": "

Describes a task definition. You can specify a family and revision to find information about a specific task definition, or you can simply specify the family to find the latest ACTIVE revision in that family.

You can only describe INACTIVE task definitions while an active task or service references them.

", "DescribeTaskSets": "

Describes the task sets in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

", - "DescribeTasks": "

Describes a specified task or tasks.

", + "DescribeTasks": "

Describes a specified task or tasks.

Currently, stopped tasks appear in the returned results for at least one hour.

", "DiscoverPollEndpoint": "

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Returns an endpoint for the Amazon ECS agent to poll for updates.

", - "ExecuteCommand": "

Runs a command remotely on a container within a task.

", + "ExecuteCommand": "

Runs a command remotely on a container within a task.

If you use a condition key in your IAM policy to refine the conditions for the policy statement, for example limit the actions to a specific cluster, you recevie an AccessDeniedException when there is a mismatch between the condition key value and the corresponding parameter value.

", "ListAccountSettings": "

Lists the account settings for a specified principal.

", "ListAttributes": "

Lists the attributes for Amazon ECS resources within a specified target type and cluster. When you specify a target type and cluster, ListAttributes returns a list of attribute objects, one for each attribute on each resource. You can filter the list of results to a single attribute name to only return results that have that name. You can also filter the results by attribute name and value. You can do this, for example, to see which container instances in a cluster are running a Linux AMI (ecs.os-type=linux).

", "ListClusters": "

Returns a list of existing clusters.

", @@ -51,7 +51,7 @@ "UpdateClusterSettings": "

Modifies the settings to use for a cluster.

", "UpdateContainerAgent": "

Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent doesn't interrupt running tasks or services on the container instance. The process for updating the agent differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another operating system.

The UpdateContainerAgent API isn't supported for container instances using the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI. To update the container agent, you can update the ecs-init package. This updates the agent. For more information, see Updating the Amazon ECS container agent in the Amazon Elastic Container Service Developer Guide.

The UpdateContainerAgent API requires an Amazon ECS-optimized AMI or Amazon Linux AMI with the ecs-init service installed and running. For help updating the Amazon ECS container agent on other operating systems, see Manually updating the Amazon ECS container agent in the Amazon Elastic Container Service Developer Guide.

", "UpdateContainerInstancesState": "

Modifies the status of an Amazon ECS container instance.

Once a container instance has reached an ACTIVE state, you can change the status of a container instance to DRAINING to manually remove an instance from a cluster, for example to perform system updates, update the Docker daemon, or scale down the cluster size.

A container instance can't be changed to DRAINING until it has reached an ACTIVE status. If the instance is in any other status, an error will be received.

When you set a container instance to DRAINING, Amazon ECS prevents new tasks from being scheduled for placement on the container instance and replacement service tasks are started on other container instances in the cluster if the resources are available. Service tasks on the container instance that are in the PENDING state are stopped immediately.

Service tasks on the container instance that are in the RUNNING state are stopped and replaced according to the service's deployment configuration parameters, minimumHealthyPercent and maximumPercent. You can change the deployment configuration of your service using UpdateService.

Any PENDING or RUNNING tasks that do not belong to a service aren't affected. You must wait for them to finish or stop them manually.

A container instance has completed draining when it has no more RUNNING tasks. You can verify this using ListTasks.

When a container instance has been drained, you can set a container instance to ACTIVE status and once it has reached that status the Amazon ECS scheduler can begin scheduling tasks on the instance again.

", - "UpdateService": "

Updating the task placement strategies and constraints on an Amazon ECS service remains in preview and is a Beta Service as defined by and subject to the Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms (\"Beta Terms\"). These Beta Terms apply to your participation in this preview.

Modifies the parameters of a service.

For services using the rolling update (ECS) you can update the desired count, deployment configuration, network configuration, load balancers, service registries, enable ECS managed tags option, propagate tags option, task placement constraints and strategies, and task definition. When you update any of these parameters, Amazon ECS starts new tasks with the new configuration.

For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, health check grace period, task placement constraints and strategies, enable ECS managed tags option, and propagate tags can be updated using this API. If the network configuration, platform version, task definition, or load balancer need to be updated, create a new CodeDeploy deployment. For more information, see CreateDeployment in the CodeDeploy API Reference.

For services using an external deployment controller, you can update only the desired count, task placement constraints and strategies, health check grace period, enable ECS managed tags option, and propagate tags option, using this API. If the launch type, load balancer, network configuration, platform version, or task definition need to be updated, create a new task set For more information, see CreateTaskSet.

You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

If you have updated the Docker image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you don't need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout. After this, SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic.

When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

You must have a service-linked role when you update any of the following service properties. If you specified a custom IAM role when you created the service, Amazon ECS automatically replaces the roleARN associated with the service with the ARN of your service-linked role. For more information, see Service-linked roles in the Amazon Elastic Container Service Developer Guide.

", + "UpdateService": "

Modifies the parameters of a service.

For services using the rolling update (ECS) you can update the desired count, deployment configuration, network configuration, load balancers, service registries, enable ECS managed tags option, propagate tags option, task placement constraints and strategies, and task definition. When you update any of these parameters, Amazon ECS starts new tasks with the new configuration.

For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, health check grace period, task placement constraints and strategies, enable ECS managed tags option, and propagate tags can be updated using this API. If the network configuration, platform version, task definition, or load balancer need to be updated, create a new CodeDeploy deployment. For more information, see CreateDeployment in the CodeDeploy API Reference.

For services using an external deployment controller, you can update only the desired count, task placement constraints and strategies, health check grace period, enable ECS managed tags option, and propagate tags option, using this API. If the launch type, load balancer, network configuration, platform version, or task definition need to be updated, create a new task set For more information, see CreateTaskSet.

You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

If you have updated the Docker image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you don't need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout. After this, SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic.

When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

You must have a service-linked role when you update any of the following service properties. If you specified a custom IAM role when you created the service, Amazon ECS automatically replaces the roleARN associated with the service with the ARN of your service-linked role. For more information, see Service-linked roles in the Amazon Elastic Container Service Developer Guide.

", "UpdateServicePrimaryTaskSet": "

Modifies which task set in a service is the primary task set. Any parameters that are updated on the primary task set in a service will transition to the service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

", "UpdateTaskSet": "

Modifies a task set. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" }, @@ -101,8 +101,8 @@ "Attachments": { "base": null, "refs": { - "Cluster$attachments": "

The resources attached to a cluster. When using a capacity provider with a cluster, the Auto Scaling plan that's created is returned as a cluster attachment.

", - "ContainerInstance$attachments": "

The resources attached to a container instance, such as elastic network interfaces.

", + "Cluster$attachments": "

The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider and associated resources are returned as cluster attachments.

", + "ContainerInstance$attachments": "

The resources attached to a container instance, such as an elastic network interface.

", "Task$attachments": "

The Elastic Network Adapter that's associated with the task if the task uses the awsvpc network mode.

" } }, @@ -158,8 +158,8 @@ "Boolean": { "base": null, "refs": { - "ContainerInstance$agentConnected": "

This parameter returns true if the agent is connected to Amazon ECS. Registered instances with an agent that may be unhealthy or stopped return false. Only instances connected to an agent can accept placement requests.

", - "CreateServiceRequest$enableECSManagedTags": "

Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

", + "ContainerInstance$agentConnected": "

This parameter returns true if the agent is connected to Amazon ECS. An instance with an agent that may be unhealthy or stopped return false. Only instances connected to an agent can accept task placement requests.

", + "CreateServiceRequest$enableECSManagedTags": "

Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see Tagging your Amazon ECS resources in the Amazon Elastic Container Service Developer Guide.

", "CreateServiceRequest$enableExecuteCommand": "

Determines whether the execute command functionality is enabled for the service. If true, this enables execute command functionality on all containers in the service tasks.

", "DeploymentCircuitBreaker$enable": "

Determines whether to use the deployment circuit breaker logic for the service.

", "DeploymentCircuitBreaker$rollback": "

Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.

", @@ -202,7 +202,7 @@ "base": null, "refs": { "Container$exitCode": "

The exit code returned from the container.

", - "ContainerDefinition$memory": "

The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. The total amount of memory reserved for all containers within a task must be lower than the task memory value, if one is specified. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run.

If using the Fargate launch type, this parameter is optional.

If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level memory and memoryReservation value, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of memory is used.

The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers.

The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.

", + "ContainerDefinition$memory": "

The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. The total amount of memory reserved for all containers within a task must be lower than the task memory value, if one is specified. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run.

If using the Fargate launch type, this parameter is optional.

If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level memory and memoryReservation value, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of memory is used.

The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers.

The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers.

", "ContainerDefinition$memoryReservation": "

The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the memory parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to MemoryReservation in the Create a container section of the Docker Remote API and the --memory-reservation option to docker run.

If a task-level memory value is not specified, you must specify a non-zero integer for one or both of memory or memoryReservation in a container definition. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of memory is used.

For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation of 128 MiB, and a memory hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.

The Docker daemon reserves a minimum of 4 MiB of memory for a container. Therefore, we recommend that you specify fewer than 4 MiB of memory for your containers.

", "ContainerDefinition$startTimeout": "

Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, or HEALTHY status. If a startTimeout value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a STOPPED state.

When the ECS_CONTAINER_START_TIMEOUT container agent configuration variable is used, it's enforced independently from this start timeout value.

For tasks using the Fargate launch type, the task or service requires the following platforms:

For tasks using the EC2 launch type, your container instances require at least version 1.26.0 of the container agent to use a container start timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

", "ContainerDefinition$stopTimeout": "

Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.

For tasks using the Fargate launch type, the task or service requires the following platforms:

The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.

For tasks that use the EC2 launch type, if the stopTimeout parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ECS_CONTAINER_STOP_TIMEOUT is used. If neither the stopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

", @@ -212,10 +212,10 @@ "ContainerStateChange$exitCode": "

The exit code for the container, if the state change is a result of the container exiting.

", "CreateServiceRequest$desiredCount": "

The number of instantiations of the specified task definition to place and keep running on your cluster.

This is required if schedulingStrategy is REPLICA or isn't specified. If schedulingStrategy is DAEMON then this isn't required.

", "CreateServiceRequest$healthCheckGracePeriodSeconds": "

The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of 0 is used.

If you do not use an Elastic Load Balancing, we recomend that you use the startPeriod in the task definition healtch check parameters. For more information, see Health check.

If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.

", - "DeploymentConfiguration$maximumPercent": "

If a service is using the rolling update (ECS) deployment type, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desired number of tasks (rounded down to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the maximum percent value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.

", - "DeploymentConfiguration$minimumHealthyPercent": "

If a service is using the rolling update (ECS) deployment type, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment, as a percentage of the desired number of tasks (rounded up to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desired number of four tasks and a minimum healthy percent of 50%, the scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they're in the RUNNING state; tasks for services that do use a load balancer are considered healthy if they're in the RUNNING state and they're reported as healthy by the load balancer. The default value for minimum healthy percent is 100%.

If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.

", + "DeploymentConfiguration$maximumPercent": "

If a service is using the rolling update (ECS) deployment type, the maximumPercent parameter represents an upper limit on the number of your service's tasks that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desiredCount (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the REPLICA service scheduler and has a desiredCount of four tasks and a maximumPercent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default maximumPercent value for a service using the REPLICA service scheduler is 200%.

If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the maximum percent value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.

", + "DeploymentConfiguration$minimumHealthyPercent": "

If a service is using the rolling update (ECS) deployment type, the minimumHealthyPercent represents a lower limit on the number of your service's tasks that must remain in the RUNNING state during a deployment, as a percentage of the desiredCount (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desiredCount of four tasks and a minimumHealthyPercent of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks.

For services that do not use a load balancer, the following should be noted:

For services are that do use a load balancer, the following should be noted:

If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and is running tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.

", "DescribeCapacityProvidersRequest$maxResults": "

The maximum number of account setting results returned by DescribeCapacityProviders in paginated output. When this parameter is used, DescribeCapacityProviders only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeCapacityProviders request with the returned nextToken value. This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders returns up to 10 results and a nextToken value if applicable.

", - "EFSVolumeConfiguration$transitEncryptionPort": "

The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see EFS Mount Helper in the Amazon Elastic File System User Guide.

", + "EFSVolumeConfiguration$transitEncryptionPort": "

The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see EFS mount helper in the Amazon Elastic File System User Guide.

", "HealthCheck$interval": "

The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.

", "HealthCheck$timeout": "

The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5.

", "HealthCheck$retries": "

The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3.

", @@ -247,7 +247,7 @@ "CPUArchitecture": { "base": null, "refs": { - "RuntimePlatform$cpuArchitecture": "

The CPU architecture.

You can run your Linux tasks on an ARM-based platform by setting the value to ARM64. This option is avaiable for tasks that run on Linuc Amazon EC2 instance or Linux containers on Fargate.

" + "RuntimePlatform$cpuArchitecture": "

The CPU architecture.

You can run your Linux tasks on an ARM-based platform by setting the value to ARM64. This option is avaiable for tasks that run on Linux Amazon EC2 instance or Linux containers on Fargate.

" } }, "CapacityProvider": { @@ -463,7 +463,7 @@ } }, "ContainerInstance": { - "base": "

An EC2 instance that's running the Amazon ECS agent and has been registered with a cluster.

", + "base": "

An Amazon EC2 or External instance that's running the Amazon ECS agent and has been registered with a cluster.

", "refs": { "ContainerInstances$member": null, "DeregisterContainerInstanceResponse$containerInstance": "

The container instance that was deregistered.

", @@ -654,7 +654,7 @@ } }, "DeploymentController": { - "base": "

The deployment controller to use for the service. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

", + "base": "

The deployment controller to use for the service. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

", "refs": { "CreateServiceRequest$deploymentController": "

The deployment controller to use for the service. If no deployment controller is specified, the default value of ECS is used.

", "Service$deploymentController": "

The deployment controller type the service is using. When using the DescribeServices API, this field is omitted if the service uses the ECS deployment controller type.

" @@ -836,17 +836,17 @@ "EFSAuthorizationConfigIAM": { "base": null, "refs": { - "EFSAuthorizationConfig$iam": "

Determines whether to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, the default value of DISABLED is used. For more information, see Using Amazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

" + "EFSAuthorizationConfig$iam": "

Determines whether to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, the default value of DISABLED is used. For more information, see Using Amazon EFS access points in the Amazon Elastic Container Service Developer Guide.

" } }, "EFSTransitEncryption": { "base": null, "refs": { - "EFSVolumeConfiguration$transitEncryption": "

Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting Data in Transit in the Amazon Elastic File System User Guide.

" + "EFSVolumeConfiguration$transitEncryption": "

Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the Amazon Elastic File System User Guide.

" } }, "EFSVolumeConfiguration": { - "base": "

This parameter is specified when you're using an Amazon Elastic File System file system for task storage. For more information, see Amazon EFS Volumes in the Amazon Elastic Container Service Developer Guide.

", + "base": "

This parameter is specified when you're using an Amazon Elastic File System file system for task storage. For more information, see Amazon EFS volumes in the Amazon Elastic Container Service Developer Guide.

", "refs": { "Volume$efsVolumeConfiguration": "

This parameter is specified when you use an Amazon Elastic File System file system for task storage.

" } @@ -915,13 +915,13 @@ } }, "FSxWindowsFileServerAuthorizationConfig": { - "base": "

The authorization configuration details for Amazon FSx for Windows File Server file system. See FSxWindowsFileServerVolumeConfiguration in the Amazon Elastic Container Service API Reference.

For more information and the input format, see Amazon FSx for Windows File Server Volumes in the Amazon Elastic Container Service Developer Guide.

", + "base": "

The authorization configuration details for Amazon FSx for Windows File Server file system. See FSxWindowsFileServerVolumeConfiguration in the Amazon ECS API Reference.

For more information and the input format, see Amazon FSx for Windows File Server Volumes in the Amazon Elastic Container Service Developer Guide.

", "refs": { "FSxWindowsFileServerVolumeConfiguration$authorizationConfig": "

The authorization configuration details for the Amazon FSx for Windows File Server file system.

" } }, "FSxWindowsFileServerVolumeConfiguration": { - "base": "

This parameter is specified when you're using Amazon FSx for Windows File Server file system for task storage.

For more information and the input format, see Amazon FSx for Windows File Server Volumes in the Amazon Elastic Container Service Developer Guide.

", + "base": "

This parameter is specified when you're using Amazon FSx for Windows File Server file system for task storage.

For more information and the input format, see Amazon FSx for Windows File Server volumes in the Amazon Elastic Container Service Developer Guide.

", "refs": { "Volume$fsxWindowsFileServerVolumeConfiguration": "

This parameter is specified when you use Amazon FSx for Windows File Server file system for task storage.

" } @@ -947,7 +947,7 @@ } }, "FirelensConfiguration": { - "base": "

The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see Custom Log Routing in the Amazon Elastic Container Service Developer Guide.

", + "base": "

The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see Custom log routing in the Amazon Elastic Container Service Developer Guide.

", "refs": { "ContainerDefinition$firelensConfiguration": "

The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see Custom Log Routing in the Amazon Elastic Container Service Developer Guide.

" } @@ -955,7 +955,7 @@ "FirelensConfigurationOptionsMap": { "base": null, "refs": { - "FirelensConfiguration$options": "

The options to use when configuring the log router. This field is optional and can be used to specify a custom configuration file or to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event. If specified, the syntax to use is \"options\":{\"enable-ecs-log-metadata\":\"true|false\",\"config-file-type:\"s3|file\",\"config-file-value\":\"arn:aws:s3:::mybucket/fluent.conf|filepath\"}. For more information, see Creating a Task Definition that Uses a FireLens Configuration in the Amazon Elastic Container Service Developer Guide.

Tasks hosted on Fargate only support the file configuration file type.

" + "FirelensConfiguration$options": "

The options to use when configuring the log router. This field is optional and can be used to specify a custom configuration file or to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event. If specified, the syntax to use is \"options\":{\"enable-ecs-log-metadata\":\"true|false\",\"config-file-type:\"s3|file\",\"config-file-value\":\"arn:aws:s3:::mybucket/fluent.conf|filepath\"}. For more information, see Creating a task definition that uses a FireLens configuration in the Amazon Elastic Container Service Developer Guide.

Tasks hosted on Fargate only support the file configuration file type.

" } }, "FirelensConfigurationType": { @@ -971,7 +971,7 @@ } }, "HealthCheck": { - "base": "

An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile).

The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

The following describes the possible healthStatus values for a container:

The following describes the possible healthStatus values for a task. The container health check status of nonessential containers do not have an effect on the health status of a task.

If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

The following are notes about container health check support:

", + "base": "

An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile).

The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

The following describes the possible healthStatus values for a container:

The following describes the possible healthStatus values for a task. The container health check status of nonessential containers do not have an effect on the health status of a task.

If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

The following are notes about container health check support:

", "refs": { "ContainerDefinition$healthCheck": "

The container health check command and associated configuration parameters for the container. This parameter maps to HealthCheck in the Create a container section of the Docker Remote API and the HEALTHCHECK parameter of docker run.

" } @@ -1112,7 +1112,7 @@ "base": null, "refs": { "CreateServiceRequest$launchType": "

The infrastructure that you run your service on. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure.

Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see Fargate capacity providers in the Amazon ECS User Guide for Fargate.

The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster.

The EXTERNAL launch type runs your tasks on your on-premises server or virtual machine (VM) capacity registered to your cluster.

A service can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

", - "CreateTaskSetRequest$launchType": "

The launch type that new tasks in the task set uses. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

", + "CreateTaskSetRequest$launchType": "

The launch type that new tasks in the task set uses. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

", "Deployment$launchType": "

The launch type the tasks in the service are using. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

", "ListServicesRequest$launchType": "

The launch type to use when filtering the ListServices results.

", "ListTasksRequest$launchType": "

The launch type to use when filtering the ListTasks results.

", @@ -1224,7 +1224,7 @@ } }, "LoadBalancer": { - "base": "

The load balancer configuration to use with a service or task set.

For specific notes and restrictions regarding the use of load balancers with services and task sets, see the CreateService and CreateTaskSet actions.

When you add, update, or remove a load balancer configuration, Amazon ECS starts a new deployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and deregister from load balancers.

We recommend that you verify this on a test environment before you update the Elastic Load Balancing configuration.

A service-linked role is required for services that use multiple target groups. For more information, see Service-linked roles in the Amazon Elastic Container Service Developer Guide.

", + "base": "

The load balancer configuration to use with a service or task set.

For specific notes and restrictions regarding the use of load balancers with services and task sets, see the CreateService and CreateTaskSet actions.

When you add, update, or remove a load balancer configuration, Amazon ECS starts a new deployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and deregister from load balancers.

We recommend that you verify this on a test environment before you update the Elastic Load Balancing configuration.

A service-linked role is required for services that use multiple target groups. For more information, see Using service-linked roles in the Amazon Elastic Container Service Developer Guide.

", "refs": { "LoadBalancers$member": null } @@ -1232,7 +1232,7 @@ "LoadBalancers": { "base": null, "refs": { - "CreateServiceRequest$loadBalancers": "

A load balancer object representing the load balancers to use with your service. For more information, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide.

If the service uses the rolling update (ECS) deployment controller and using either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to attach to the service. The service-linked role is required for services that use multiple target groups. For more information, see Using service-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

If the service uses the CODE_DEPLOY deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When creating an CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair). During a deployment, CodeDeploy determines which task set in your service has the status PRIMARY, and it associates one target group with it. Then, it also associates the other target group with the replacement task set. The load balancer can also have up to two listeners: a required listener for production traffic and an optional listener that you can use to perform validation tests with Lambda functions before routing production traffic to it.

If you use the CODE_DEPLOY deployment controller, these values can be changed when updating the service.

For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name, and the container port to access from the load balancer. The container name must be as it appears in a container definition. The load balancer name parameter must be omitted. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group that's specified here.

For Classic Load Balancers, this object must contain the load balancer name, the container name , and the container port to access from the load balancer. The container name must be as it appears in a container definition. The target group ARN parameter must be omitted. When a task from this service is placed on a container instance, the container instance is registered with the load balancer that's specified here.

Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers aren't supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance. This is because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

", + "CreateServiceRequest$loadBalancers": "

A load balancer object representing the load balancers to use with your service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

If the service uses the rolling update (ECS) deployment controller and using either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to attach to the service. The service-linked role is required for services that use multiple target groups. For more information, see Using service-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

If the service uses the CODE_DEPLOY deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When creating an CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair). During a deployment, CodeDeploy determines which task set in your service has the status PRIMARY, and it associates one target group with it. Then, it also associates the other target group with the replacement task set. The load balancer can also have up to two listeners: a required listener for production traffic and an optional listener that you can use to perform validation tests with Lambda functions before routing production traffic to it.

If you use the CODE_DEPLOY deployment controller, these values can be changed when updating the service.

For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name, and the container port to access from the load balancer. The container name must be as it appears in a container definition. The load balancer name parameter must be omitted. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group that's specified here.

For Classic Load Balancers, this object must contain the load balancer name, the container name , and the container port to access from the load balancer. The container name must be as it appears in a container definition. The target group ARN parameter must be omitted. When a task from this service is placed on a container instance, the container instance is registered with the load balancer that's specified here.

Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers aren't supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance. This is because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

", "CreateTaskSetRequest$loadBalancers": "

A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer.

", "Service$loadBalancers": "

A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the container name, and the container port to access from the load balancer. The container name is as it appears in a container definition.

", "TaskSet$loadBalancers": "

Details on a load balancer that are used with a task set.

", @@ -1297,7 +1297,7 @@ } }, "ManagedScaling": { - "base": "

The managed scaling settings for the Auto Scaling group capacity provider.

When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an Amazon ECS managed CloudWatch metric with the specified targetCapacity value as the target value for the metric. For more information, see Using Managed Scaling in the Amazon Elastic Container Service Developer Guide.

If managed scaling is disabled, the user must manage the scaling of the Auto Scaling group.

", + "base": "

The managed scaling settings for the Auto Scaling group capacity provider.

When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an Amazon ECS managed CloudWatch metric with the specified targetCapacity value as the target value for the metric. For more information, see Using managed scaling in the Amazon Elastic Container Service Developer Guide.

If managed scaling is disabled, the user must manage the scaling of the Auto Scaling group.

", "refs": { "AutoScalingGroupProvider$managedScaling": "

The managed scaling settings for the Auto Scaling group capacity provider.

", "AutoScalingGroupProviderUpdate$managedScaling": "

The managed scaling settings for the Auto Scaling group capacity provider.

" @@ -1417,7 +1417,7 @@ } }, "PlacementConstraint": { - "base": "

An object representing a constraint on task placement. For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

If you're using the Fargate launch type, task placement constraints aren't supported.

", + "base": "

An object representing a constraint on task placement. For more information, see Task placement constraints in the Amazon Elastic Container Service Developer Guide.

If you're using the Fargate launch type, task placement constraints aren't supported.

", "refs": { "PlacementConstraints$member": null } @@ -1447,7 +1447,7 @@ } }, "PlacementStrategy": { - "base": "

The task placement strategy for a task or service. For more information, see Task Placement Strategies in the Amazon Elastic Container Service Developer Guide.

", + "base": "

The task placement strategy for a task or service. For more information, see Task placement strategies in the Amazon Elastic Container Service Developer Guide.

", "refs": { "PlacementStrategies$member": null } @@ -1688,7 +1688,7 @@ } }, "Secret": { - "base": "

An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:

For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.

", + "base": "

An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:

For more information, see Specifying sensitive data in the Amazon Elastic Container Service Developer Guide.

", "refs": { "SecretList$member": null } @@ -1697,7 +1697,7 @@ "base": null, "refs": { "ContainerDefinition$secrets": "

The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.

", - "LogConfiguration$secretOptions": "

The secrets to pass to the log configuration. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.

" + "LogConfiguration$secretOptions": "

The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the Amazon Elastic Container Service Developer Guide.

" } }, "SensitiveString": { @@ -1758,7 +1758,7 @@ "base": null, "refs": { "CreateServiceRequest$serviceRegistries": "

The details of the service discovery registry to associate with this service. For more information, see Service discovery.

Each service may be associated with one service registry. Multiple service registries for each service isn't supported.

", - "CreateTaskSetRequest$serviceRegistries": "

The details of the service discovery registries to assign to this task set. For more information, see Service Discovery.

", + "CreateTaskSetRequest$serviceRegistries": "

The details of the service discovery registries to assign to this task set. For more information, see Service discovery.

", "Service$serviceRegistries": "

The details for the service discovery registries to assign to this service. For more information, see Service Discovery.

", "TaskSet$serviceRegistries": "

The details for the service discovery registries to assign to this task set. For more information, see Service discovery.

", "UpdateServiceRequest$serviceRegistries": "

The details for the service discovery registries to assign to this service. For more information, see Service Discovery.

When you add, update, or remove the service registries configuration, Amazon ECS starts new tasks with the updated service registries configuration, and then stops the old tasks when the new tasks are running.

You can remove existing serviceRegistries by passing an empty list.

" @@ -1862,10 +1862,10 @@ "CapacityProvider$updateStatusReason": "

The update status reason. This provides further details about the update status for the capacity provider.

", "CapacityProviderStrategyItem$capacityProvider": "

The short name of the capacity provider.

", "ClientException$message": null, - "Cluster$clusterArn": "

The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the Amazon Web Services account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

", + "Cluster$clusterArn": "

The Amazon Resource Name (ARN) that identifies the cluster. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

", "Cluster$clusterName": "

A user-generated string that you use to identify your cluster.

", "Cluster$status": "

The status of the cluster. The following are the possible states that are returned.

ACTIVE

The cluster is ready to accept tasks and if applicable you can register container instances with the cluster.

PROVISIONING

The cluster has capacity providers that are associated with it and the resources needed for the capacity provider are being created.

DEPROVISIONING

The cluster has capacity providers that are associated with it and the resources needed for the capacity provider are being deleted.

FAILED

The cluster has capacity providers that are associated with it and the resources needed for the capacity provider have failed to create.

INACTIVE

The cluster has been deleted. Clusters with an INACTIVE status may remain discoverable in your account for a period of time. However, this behavior is subject to change in the future. We don't recommend that you rely on INACTIVE clusters persisting.

", - "Cluster$attachmentsStatus": "

The status of the capacity providers associated with the cluster. The following are the states that are returned.

UPDATE_IN_PROGRESS

The available capacity providers for the cluster are updating. This occurs when the Auto Scaling plan is provisioning or deprovisioning.

UPDATE_COMPLETE

The capacity providers have successfully updated.

UPDATE_FAILED

The capacity provider updates failed.

", + "Cluster$attachmentsStatus": "

The status of the capacity providers associated with the cluster. The following are the states that are returned.

UPDATE_IN_PROGRESS

The available capacity providers for the cluster are updating.

UPDATE_COMPLETE

The capacity providers have successfully updated.

UPDATE_FAILED

The capacity provider updates failed.

", "ClusterSetting$value": "

The value to set for the cluster setting. The supported values are enabled and disabled. If enabled is specified, CloudWatch Container Insights will be enabled for the cluster, otherwise it will be disabled unless the containerInsights account setting is enabled. If a cluster value is specified, it will override the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

", "Container$containerArn": "

The Amazon Resource Name (ARN) of the container.

", "Container$taskArn": "

The ARN of the task.

", @@ -1884,10 +1884,10 @@ "ContainerDefinition$user": "

The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

When running tasks using the host network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.

You can specify the user using the following formats. If specifying a UID or GID, you must specify it as a positive integer.

This parameter is not supported for Windows containers.

", "ContainerDefinition$workingDirectory": "

The working directory to run commands inside the container in. This parameter maps to WorkingDir in the Create a container section of the Docker Remote API and the --workdir option to docker run.

", "ContainerDependency$containerName": "

The name of a container.

", - "ContainerInstance$containerInstanceArn": "

The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

", + "ContainerInstance$containerInstanceArn": "

The Amazon Resource Name (ARN) of the container instance. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

", "ContainerInstance$ec2InstanceId": "

The ID of the container instance. For Amazon EC2 instances, this value is the Amazon EC2 instance ID. For external instances, this value is the Amazon Web Services Systems Manager managed instance ID.

", "ContainerInstance$capacityProviderName": "

The capacity provider that's associated with the container instance.

", - "ContainerInstance$status": "

The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, ACTIVE, INACTIVE, DEREGISTERING, or DRAINING.

If your account has opted in to the awsvpcTrunking account setting, then any newly registered container instance will transition to a REGISTERING status while the trunk elastic network interface is provisioned for the instance. If the registration fails, the instance will transition to a REGISTRATION_FAILED status. You can describe the container instance and see the reason for failure in the statusReason parameter. Once the container instance is terminated, the instance transitions to a DEREGISTERING status while the trunk elastic network interface is deprovisioned. The instance then transitions to an INACTIVE status.

The ACTIVE status indicates that the container instance can accept tasks. The DRAINING indicates that new tasks aren't placed on the container instance and any service tasks running on the container instance are removed if possible. For more information, see Container Instance Draining in the Amazon Elastic Container Service Developer Guide.

", + "ContainerInstance$status": "

The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, ACTIVE, INACTIVE, DEREGISTERING, or DRAINING.

If your account has opted in to the awsvpcTrunking account setting, then any newly registered container instance will transition to a REGISTERING status while the trunk elastic network interface is provisioned for the instance. If the registration fails, the instance will transition to a REGISTRATION_FAILED status. You can describe the container instance and see the reason for failure in the statusReason parameter. Once the container instance is terminated, the instance transitions to a DEREGISTERING status while the trunk elastic network interface is deprovisioned. The instance then transitions to an INACTIVE status.

The ACTIVE status indicates that the container instance can accept tasks. The DRAINING indicates that new tasks aren't placed on the container instance and any service tasks running on the container instance are removed if possible. For more information, see Container instance draining in the Amazon Elastic Container Service Developer Guide.

", "ContainerInstance$statusReason": "

The reason that the container instance reached its current status.

", "ContainerOverride$name": "

The name of the container that receives the override. This parameter is required if any override is specified.

", "ContainerStateChange$containerName": "

The name of the container.

", @@ -1925,7 +1925,7 @@ "Deployment$platformFamily": "

The operating system that your tasks in the service, or tasks are running on. A platform family is specified only for tasks using the Fargate launch type.

All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX..

", "Deployment$rolloutStateReason": "

A description of the rollout state of a deployment.

", "DeregisterContainerInstanceRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to deregister. If you do not specify a cluster, the default cluster is assumed.

", - "DeregisterContainerInstanceRequest$containerInstance": "

The container instance ID or full ARN of the container instance to deregister. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

", + "DeregisterContainerInstanceRequest$containerInstance": "

The container instance ID or full ARN of the container instance to deregister. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

", "DeregisterTaskDefinitionRequest$taskDefinition": "

The family and revision (family:revision) or full Amazon Resource Name (ARN) of the task definition to deregister. You must specify a revision.

", "DescribeCapacityProvidersRequest$nextToken": "

The nextToken value returned from a previous paginated DescribeCapacityProviders request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", "DescribeCapacityProvidersResponse$nextToken": "

The nextToken value to include in a future DescribeCapacityProviders request. When the results of a DescribeCapacityProviders request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", @@ -1937,14 +1937,14 @@ "DescribeTasksRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you are describing were launched in any cluster other than the default cluster.

", "Device$hostPath": "

The path for the device on the host container instance.

", "Device$containerPath": "

The path inside the container at which to expose the host device.

", - "DiscoverPollEndpointRequest$containerInstance": "

The container instance ID or full ARN of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the Amazon Web Services account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

", + "DiscoverPollEndpointRequest$containerInstance": "

The container instance ID or full ARN of the container instance. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

", "DiscoverPollEndpointRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs to.

", "DiscoverPollEndpointResponse$endpoint": "

The endpoint for the Amazon ECS agent to poll.

", "DiscoverPollEndpointResponse$telemetryEndpoint": "

The telemetry endpoint for the Amazon ECS agent.

", "DockerLabelsMap$key": null, "DockerLabelsMap$value": null, "DockerVolumeConfiguration$driver": "

The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use docker plugin ls to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. For more information, see Docker plugin discovery. This parameter maps to Driver in the Create a volume section of the Docker Remote API and the xxdriver option to docker volume create.

", - "EFSAuthorizationConfig$accessPointId": "

The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the EFSVolumeConfiguration must either be omitted or set to / which will enforce the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the EFSVolumeConfiguration. For more information, see Working with Amazon EFS Access Points in the Amazon Elastic File System User Guide.

", + "EFSAuthorizationConfig$accessPointId": "

The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the EFSVolumeConfiguration must either be omitted or set to / which will enforce the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the EFSVolumeConfiguration. For more information, see Working with Amazon EFS access points in the Amazon Elastic File System User Guide.

", "EFSVolumeConfiguration$fileSystemId": "

The Amazon EFS file system ID to use.

", "EFSVolumeConfiguration$rootDirectory": "

The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect as omitting this parameter.

If an EFS access point is specified in the authorizationConfig, the root directory parameter must either be omitted or set to / which will enforce the path set on the EFS access point.

", "EnvironmentFile$value": "

The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment variable file.

", @@ -1960,7 +1960,7 @@ "ExecuteCommandResponse$containerArn": "

The Amazon Resource Name (ARN) of the container.

", "ExecuteCommandResponse$containerName": "

The name of the container.

", "ExecuteCommandResponse$taskArn": "

The Amazon Resource Name (ARN) of the task.

", - "FSxWindowsFileServerAuthorizationConfig$credentialsParameter": "

The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an Secrets Manager secret or SSM Parameter Store parameter. The ARNs refer to the stored credentials.

", + "FSxWindowsFileServerAuthorizationConfig$credentialsParameter": "

The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials.

", "FSxWindowsFileServerAuthorizationConfig$domain": "

A fully qualified domain name hosted by an Directory Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2.

", "FSxWindowsFileServerVolumeConfiguration$fileSystemId": "

The Amazon FSx for Windows File Server file system ID to use.

", "FSxWindowsFileServerVolumeConfiguration$rootDirectory": "

The directory within the Amazon FSx for Windows File Server file system to mount as the root directory inside the host.

", @@ -2011,7 +2011,7 @@ "ListTasksRequest$startedBy": "

The startedBy value to filter the task results with. Specifying a startedBy value limits the results to tasks that were started with that value.

", "ListTasksRequest$serviceName": "

The name of the service to use when filtering the ListTasks results. Specifying a serviceName limits the results to tasks that belong to that service.

", "ListTasksResponse$nextToken": "

The nextToken value to include in a future ListTasks request. When the results of a ListTasks request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "LoadBalancer$targetGroupArn": "

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.

A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you're using a Classic Load Balancer, omit the target group ARN.

For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see Registering Multiple Target Groups with a Service in the Amazon Elastic Container Service Developer Guide.

For services using the CODE_DEPLOY deployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/Green Deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide.

If your service's task definition uses the awsvpc network mode, you must choose ip as the target type, not instance. Do this when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.

", + "LoadBalancer$targetGroupArn": "

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.

A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you're using a Classic Load Balancer, omit the target group ARN.

For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see Registering multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

For services using the CODE_DEPLOY deployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide.

If your service's task definition uses the awsvpc network mode, you must choose ip as the target type, not instance. Do this when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.

", "LoadBalancer$loadBalancerName": "

The name of the load balancer to associate with the Amazon ECS service or task set.

A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.

", "LoadBalancer$containerName": "

The name of the container (as it appears in a container definition) to associate with the load balancer.

", "LogConfigurationOptionsMap$key": null, @@ -2058,7 +2058,7 @@ "Secret$name": "

The name of the secret.

", "Secret$valueFrom": "

The secret to expose to the container. The supported values are either the full ARN of the Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.

For information about the require Identity and Access Management permissions, see Required IAM permissions for Amazon ECS secrets (for Secrets Manager) or Required IAM permissions for Amazon ECS secrets (for Systems Manager Parameter store) in the Amazon Elastic Container Service Developer Guide.

If the SSM Parameter Store parameter exists in the same Region as the task you're launching, then you can use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

", "ServerException$message": null, - "Service$serviceArn": "

The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the Amazon Web Services account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

", + "Service$serviceArn": "

The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

", "Service$serviceName": "

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster. However, you can have similarly named services in multiple clusters within a Region or across multiple Regions.

", "Service$clusterArn": "

The Amazon Resource Name (ARN) of the cluster that hosts the service.

", "Service$status": "

The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE.

", diff --git a/models/apis/wellarchitected/2020-03-31/api-2.json b/models/apis/wellarchitected/2020-03-31/api-2.json index 7f408e6f19..5272fed0a8 100644 --- a/models/apis/wellarchitected/2020-03-31/api-2.json +++ b/models/apis/wellarchitected/2020-03-31/api-2.json @@ -651,6 +651,24 @@ "error":{"httpStatusCode":403}, "exception":true }, + "AdditionalResourceType":{ + "type":"string", + "enum":[ + "HELPFUL_RESOURCE", + "IMPROVEMENT_PLAN" + ] + }, + "AdditionalResources":{ + "type":"structure", + "members":{ + "Type":{"shape":"AdditionalResourceType"}, + "Content":{"shape":"Urls"} + } + }, + "AdditionalResourcesList":{ + "type":"list", + "member":{"shape":"AdditionalResources"} + }, "Answer":{ "type":"structure", "members":{ @@ -729,7 +747,8 @@ "Title":{"shape":"ChoiceTitle"}, "Description":{"shape":"ChoiceDescription"}, "HelpfulResource":{"shape":"ChoiceContent"}, - "ImprovementPlan":{"shape":"ChoiceContent"} + "ImprovementPlan":{"shape":"ChoiceContent"}, + "AdditionalResources":{"shape":"AdditionalResourcesList"} } }, "ChoiceAnswer":{ @@ -948,7 +967,6 @@ "WorkloadName", "Description", "Environment", - "ReviewOwner", "Lenses", "ClientRequestToken" ], @@ -1438,7 +1456,8 @@ "Name":{"shape":"LensName"}, "Description":{"shape":"LensDescription"}, "Owner":{"shape":"LensOwner"}, - "ShareInvitationId":{"shape":"ShareInvitationId"} + "ShareInvitationId":{"shape":"ShareInvitationId"}, + "Tags":{"shape":"TagMap"} } }, "LensAlias":{ @@ -2463,6 +2482,10 @@ "ClientRequestToken":{"shape":"ClientRequestToken"} } }, + "Urls":{ + "type":"list", + "member":{"shape":"ChoiceContent"} + }, "ValidationException":{ "type":"structure", "required":["Message"], diff --git a/models/apis/wellarchitected/2020-03-31/docs-2.json b/models/apis/wellarchitected/2020-03-31/docs-2.json index b8decf96b6..1872e4971e 100644 --- a/models/apis/wellarchitected/2020-03-31/docs-2.json +++ b/models/apis/wellarchitected/2020-03-31/docs-2.json @@ -30,11 +30,11 @@ "ListMilestones": "

List all milestones for an existing workload.

", "ListNotifications": "

List lens notifications.

", "ListShareInvitations": "

List the workload invitations.

", - "ListTagsForResource": "

List the tags for a resource.

", + "ListTagsForResource": "

List the tags for a resource.

The WorkloadArn parameter can be either a workload ARN or a custom lens ARN.

", "ListWorkloadShares": "

List the workload shares associated with the workload.

", "ListWorkloads": "

List workloads. Paginated.

", - "TagResource": "

Adds one or more tags to the specified resource.

", - "UntagResource": "

Deletes specified tags from a resource.

To specify multiple tags, use separate tagKeys parameters, for example:

DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2

", + "TagResource": "

Adds one or more tags to the specified resource.

The WorkloadArn parameter can be either a workload ARN or a custom lens ARN.

", + "UntagResource": "

Deletes specified tags from a resource.

The WorkloadArn parameter can be either a workload ARN or a custom lens ARN.

To specify multiple tags, use separate tagKeys parameters, for example:

DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2

", "UpdateAnswer": "

Update the answer to a specific question in a workload review.

", "UpdateLensReview": "

Update lens review.

", "UpdateShareInvitation": "

Update a workload invitation.

", @@ -48,6 +48,24 @@ "refs": { } }, + "AdditionalResourceType": { + "base": null, + "refs": { + "AdditionalResources$Type": "

Type of additional resource.

" + } + }, + "AdditionalResources": { + "base": "

The choice level additional resources.

", + "refs": { + "AdditionalResourcesList$member": null + } + }, + "AdditionalResourcesList": { + "base": null, + "refs": { + "Choice$AdditionalResources": "

The additional resources for a choice. A choice can have up to two additional resources: one of type HELPFUL_RESOURCE, one of type IMPROVEMENT_PLAN, or both.

" + } + }, "Answer": { "base": "

An answer of the question.

", "refs": { @@ -137,7 +155,8 @@ "base": "

The choice content.

", "refs": { "Choice$HelpfulResource": "

The choice level helpful resource.

", - "Choice$ImprovementPlan": "

The choice level improvement plan.

" + "Choice$ImprovementPlan": "

The choice level improvement plan.

", + "Urls$member": null } }, "ChoiceContentDisplayText": { @@ -529,7 +548,7 @@ } }, "LensAlias": { - "base": "

The alias of the lens, for example, serverless.

Each lens is identified by its LensSummary$LensAlias.

", + "base": "

The alias of the lens.

For Amazon Web Services official lenses, this is either the lens alias, such as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens.

Each lens is identified by its LensSummary$LensAlias.

", "refs": { "CreateLensShareInput$LensAlias": null, "CreateLensVersionInput$LensAlias": null, @@ -1234,6 +1253,7 @@ "refs": { "CreateWorkloadInput$Tags": "

The tags to be associated with the workload.

", "ImportLensInput$Tags": "

Tags to associate to a lens.

", + "Lens$Tags": "

The tags assigned to the lens.

", "ListTagsForResourceOutput$Tags": "

The tags for the resource.

", "TagResourceInput$Tags": "

The tags for the resource.

", "Workload$Tags": "

The tags associated with the workload.

" @@ -1339,6 +1359,12 @@ "refs": { } }, + "Urls": { + "base": null, + "refs": { + "AdditionalResources$Content": "

The URLs for additional resources, either helpful resources or improvement plans. Up to five additional URLs can be specified.

" + } + }, "ValidationException": { "base": "

The user input is not valid.

", "refs": { diff --git a/service/ec2/api.go b/service/ec2/api.go index 04170f4031..f0ffc658a0 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -4329,12 +4329,11 @@ func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (r // CreateCustomerGateway API operation for Amazon Elastic Compute Cloud. // -// Provides information to Amazon Web Services about your VPN customer gateway -// device. The customer gateway is the appliance at your end of the VPN connection. -// (The device on the Amazon Web Services side of the VPN connection is the -// virtual private gateway.) You must provide the internet-routable IP address -// of the customer gateway's external interface. The IP address must be static -// and can be behind a device performing network address translation (NAT). +// Provides information to Amazon Web Services about your customer gateway device. +// The customer gateway device is the appliance at your end of the VPN connection. +// You must provide the IP address of the customer gateway device’s external +// interface. The IP address must be static and can be behind a device performing +// network address translation (NAT). // // For devices that use Border Gateway Protocol (BGP), you can also provide // the device's BGP Autonomous System Number (ASN). You can use an existing @@ -61118,9 +61117,13 @@ type CreateCustomerGatewayInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // The Internet-routable IP address for the customer gateway's outside interface. - // The address must be static. - PublicIp *string `locationName:"IpAddress" type:"string"` + // IPv4 address for the customer gateway device's outside interface. The address + // must be static. + IpAddress *string `type:"string"` + + // This member has been deprecated. The Internet-routable IP address for the + // customer gateway's outside interface. The address must be static. + PublicIp *string `type:"string"` // The tags to apply to the customer gateway. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` @@ -61189,6 +61192,12 @@ func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInp return s } +// SetIpAddress sets the IpAddress field's value. +func (s *CreateCustomerGatewayInput) SetIpAddress(v string) *CreateCustomerGatewayInput { + s.IpAddress = &v + return s +} + // SetPublicIp sets the PublicIp field's value. func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput { s.PublicIp = &v @@ -70749,7 +70758,7 @@ type CustomerGateway struct { // The name of customer gateway device. DeviceName *string `locationName:"deviceName" type:"string"` - // The Internet-routable IP address of the customer gateway's outside interface. + // The IP address of the customer gateway device's outside interface. IpAddress *string `locationName:"ipAddress" type:"string"` // The current state of the customer gateway (pending | available | deleting @@ -79674,8 +79683,8 @@ type DescribeCustomerGatewaysInput struct { // // * customer-gateway-id - The ID of the customer gateway. // - // * ip-address - The IP address of the customer gateway's Internet-routable - // external interface. + // * ip-address - The IP address of the customer gateway device's external + // interface. // // * state - The state of the customer gateway (pending | available | deleting // | deleted). @@ -160363,6 +160372,14 @@ type VpnConnectionOptions struct { // The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection. LocalIpv6NetworkCidr *string `locationName:"localIpv6NetworkCidr" type:"string"` + // The type of IPv4 address assigned to the outside interface of the customer + // gateway. + // + // Valid values: PrivateIpv4 | PublicIpv4 + // + // Default: PublicIpv4 + OutsideIpAddressType *string `locationName:"outsideIpAddressType" type:"string"` + // The IPv4 CIDR on the Amazon Web Services side of the VPN connection. RemoteIpv4NetworkCidr *string `locationName:"remoteIpv4NetworkCidr" type:"string"` @@ -160373,6 +160390,9 @@ type VpnConnectionOptions struct { // must be used for devices that don't support BGP. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"` + // The transit gateway attachment ID in use for the VPN tunnel. + TransportTransitGatewayAttachmentId *string `locationName:"transportTransitGatewayAttachmentId" type:"string"` + // Indicates whether the VPN tunnels process IPv4 or IPv6 traffic. TunnelInsideIpVersion *string `locationName:"tunnelInsideIpVersion" type:"string" enum:"TunnelInsideIpVersion"` @@ -160416,6 +160436,12 @@ func (s *VpnConnectionOptions) SetLocalIpv6NetworkCidr(v string) *VpnConnectionO return s } +// SetOutsideIpAddressType sets the OutsideIpAddressType field's value. +func (s *VpnConnectionOptions) SetOutsideIpAddressType(v string) *VpnConnectionOptions { + s.OutsideIpAddressType = &v + return s +} + // SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value. func (s *VpnConnectionOptions) SetRemoteIpv4NetworkCidr(v string) *VpnConnectionOptions { s.RemoteIpv4NetworkCidr = &v @@ -160434,6 +160460,12 @@ func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions return s } +// SetTransportTransitGatewayAttachmentId sets the TransportTransitGatewayAttachmentId field's value. +func (s *VpnConnectionOptions) SetTransportTransitGatewayAttachmentId(v string) *VpnConnectionOptions { + s.TransportTransitGatewayAttachmentId = &v + return s +} + // SetTunnelInsideIpVersion sets the TunnelInsideIpVersion field's value. func (s *VpnConnectionOptions) SetTunnelInsideIpVersion(v string) *VpnConnectionOptions { s.TunnelInsideIpVersion = &v @@ -160465,6 +160497,14 @@ type VpnConnectionOptionsSpecification struct { // Default: ::/0 LocalIpv6NetworkCidr *string `type:"string"` + // The type of IPv4 address assigned to the outside interface of the customer + // gateway device. + // + // Valid values: PrivateIpv4 | PublicIpv4 + // + // Default: PublicIpv4 + OutsideIpAddressType *string `type:"string"` + // The IPv4 CIDR on the Amazon Web Services side of the VPN connection. // // Default: 0.0.0.0/0 @@ -160482,6 +160522,11 @@ type VpnConnectionOptionsSpecification struct { // Default: false StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"` + // The transit gateway attachment ID to use for the VPN tunnel. + // + // Required if OutsideIpAddressType is set to PrivateIpv4. + TransportTransitGatewayAttachmentId *string `type:"string"` + // Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. // // Default: ipv4 @@ -160527,6 +160572,12 @@ func (s *VpnConnectionOptionsSpecification) SetLocalIpv6NetworkCidr(v string) *V return s } +// SetOutsideIpAddressType sets the OutsideIpAddressType field's value. +func (s *VpnConnectionOptionsSpecification) SetOutsideIpAddressType(v string) *VpnConnectionOptionsSpecification { + s.OutsideIpAddressType = &v + return s +} + // SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value. func (s *VpnConnectionOptionsSpecification) SetRemoteIpv4NetworkCidr(v string) *VpnConnectionOptionsSpecification { s.RemoteIpv4NetworkCidr = &v @@ -160545,6 +160596,12 @@ func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConn return s } +// SetTransportTransitGatewayAttachmentId sets the TransportTransitGatewayAttachmentId field's value. +func (s *VpnConnectionOptionsSpecification) SetTransportTransitGatewayAttachmentId(v string) *VpnConnectionOptionsSpecification { + s.TransportTransitGatewayAttachmentId = &v + return s +} + // SetTunnelInsideIpVersion sets the TunnelInsideIpVersion field's value. func (s *VpnConnectionOptionsSpecification) SetTunnelInsideIpVersion(v string) *VpnConnectionOptionsSpecification { s.TunnelInsideIpVersion = &v diff --git a/service/ecs/api.go b/service/ecs/api.go index d71e985bdf..921b452a00 100644 --- a/service/ecs/api.go +++ b/service/ecs/api.go @@ -172,7 +172,7 @@ func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Requ // manage required resources in other Amazon Web Services services on your behalf. // However, if the IAM user that makes the call doesn't have permissions to // create the service-linked role, it isn't created. For more information, see -// Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) +// Using service-linked roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) // in the Amazon Elastic Container Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -270,7 +270,7 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // In addition to maintaining the desired count of tasks in your service, you // can optionally run your service behind one or more load balancers. The load // balancers distribute traffic across the tasks that are associated with the -// service. For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) +// service. For more information, see Service load balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) // in the Amazon Elastic Container Service Developer Guide. // // Tasks for services that don't use a load balancer are considered healthy @@ -284,7 +284,7 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // desired number of tasks across your cluster. By default, the service scheduler // spreads tasks across Availability Zones. You can use task placement strategies // and constraints to customize task placement decisions. For more information, -// see Service Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) +// see Service scheduler concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) // in the Amazon Elastic Container Service Developer Guide. // // * DAEMON - The daemon scheduling strategy deploys exactly one task on @@ -294,7 +294,7 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // that don't meet the placement constraints. When using this strategy, you // don't need to specify a desired number of tasks, a task placement strategy, // or use Service Auto Scaling policies. For more information, see Service -// Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) +// scheduler concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) // in the Amazon Elastic Container Service Developer Guide. // // You can optionally specify a deployment configuration for your service. The @@ -343,8 +343,8 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // When creating a service that uses the EXTERNAL deployment controller, you // can specify only parameters that aren't controlled at the task set level. // The only required parameter is the service name. You control your services -// using the CreateTaskSet operation. For more information, see Amazon ECS Deployment -// Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// using the CreateTaskSet operation. For more information, see Amazon ECS deployment +// types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) // in the Amazon Elastic Container Service Developer Guide. // // When the service scheduler launches new tasks, it determines task placement @@ -472,7 +472,7 @@ func (c *ECS) CreateTaskSetRequest(input *CreateTaskSetInput) (req *request.Requ // // Create a task set in the specified cluster and service. This is used when // a service uses the EXTERNAL deployment controller type. For more information, -// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// see Amazon ECS deployment types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) // in the Amazon Elastic Container Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1105,7 +1105,7 @@ func (c *ECS) DeleteTaskSetRequest(input *DeleteTaskSetInput) (req *request.Requ // // Deletes a specified task set within a service. This is used when a service // uses the EXTERNAL deployment controller type. For more information, see Amazon -// ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// ECS deployment types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) // in the Amazon Elastic Container Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1999,6 +1999,9 @@ func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Requ // // Describes a specified task or tasks. // +// Currently, stopped tasks appear in the returned results for at least one +// hour. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2181,6 +2184,11 @@ func (c *ECS) ExecuteCommandRequest(input *ExecuteCommandInput) (req *request.Re // // Runs a command remotely on a container within a task. // +// If you use a condition key in your IAM policy to refine the conditions for +// the policy statement, for example limit the actions to a specific cluster, +// you recevie an AccessDeniedException when there is a mismatch between the +// condition key value and the corresponding parameter value. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -5587,13 +5595,6 @@ func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Requ // UpdateService API operation for Amazon EC2 Container Service. // -// -// Updating the task placement strategies and constraints on an Amazon ECS service -// remains in preview and is a Beta Service as defined by and subject to the -// Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms -// (https://aws.amazon.com/service-terms) ("Beta Terms"). These Beta Terms apply -// to your participation in this preview. -// // Modifies the parameters of a service. // // For services using the rolling update (ECS) you can update the desired count, @@ -6935,8 +6936,8 @@ type Cluster struct { ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` // The resources attached to a cluster. When using a capacity provider with - // a cluster, the Auto Scaling plan that's created is returned as a cluster - // attachment. + // a cluster, the capacity provider and associated resources are returned as + // cluster attachments. Attachments []*Attachment `locationName:"attachments" type:"list"` // The status of the capacity providers associated with the cluster. The following @@ -6944,8 +6945,7 @@ type Cluster struct { // // UPDATE_IN_PROGRESS // - // The available capacity providers for the cluster are updating. This occurs - // when the Auto Scaling plan is provisioning or deprovisioning. + // The available capacity providers for the cluster are updating. // // UPDATE_COMPLETE // @@ -6959,10 +6959,9 @@ type Cluster struct { // The capacity providers associated with the cluster. CapacityProviders []*string `locationName:"capacityProviders" type:"list"` - // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains - // the arn:aws:ecs namespace, followed by the Region of the cluster, the Amazon - // Web Services account ID of the cluster owner, the cluster namespace, and - // then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test. + // The Amazon Resource Name (ARN) that identifies the cluster. For more information + // about the ARN format, see Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids) + // in the Amazon ECS Developer Guide. ClusterArn *string `locationName:"clusterArn" type:"string"` // A user-generated string that you use to identify your cluster. @@ -8043,12 +8042,10 @@ type ContainerDefinition struct { // is placed. Otherwise, the value of memory is used. // // The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory - // for a container, so you should not specify fewer than 6 MiB of memory for - // your containers. + // for a container. So, don't specify less than 6 MiB of memory for your containers. // // The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory - // for a container, so you should not specify fewer than 4 MiB of memory for - // your containers. + // for a container. So, don't specify less than 4 MiB of memory for your containers. Memory *int64 `locationName:"memory" type:"integer"` // The soft limit (in MiB) of memory to reserve for the container. When system @@ -8745,21 +8742,22 @@ func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { return s } -// An EC2 instance that's running the Amazon ECS agent and has been registered -// with a cluster. +// An Amazon EC2 or External instance that's running the Amazon ECS agent and +// has been registered with a cluster. type ContainerInstance struct { _ struct{} `type:"structure"` - // This parameter returns true if the agent is connected to Amazon ECS. Registered - // instances with an agent that may be unhealthy or stopped return false. Only - // instances connected to an agent can accept placement requests. + // This parameter returns true if the agent is connected to Amazon ECS. An instance + // with an agent that may be unhealthy or stopped return false. Only instances + // connected to an agent can accept task placement requests. AgentConnected *bool `locationName:"agentConnected" type:"boolean"` // The status of the most recent agent update. If an update wasn't ever requested, // this value is NULL. AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` - // The resources attached to a container instance, such as elastic network interfaces. + // The resources attached to a container instance, such as an elastic network + // interface. Attachments []*Attachment `locationName:"attachments" type:"list"` // The attributes set for the container instance, either by the Amazon ECS container @@ -8769,10 +8767,9 @@ type ContainerInstance struct { // The capacity provider that's associated with the container instance. CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` - // The Amazon Resource Name (ARN) of the container instance. The ARN contains - // the arn:aws:ecs namespace, followed by the Region of the container instance, - // the Amazon Web Services account ID of the container instance owner, the container-instance - // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. + // The Amazon Resource Name (ARN) of the container instance. For more information + // about the ARN format, see Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids) + // in the Amazon ECS Developer Guide. ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` // The ID of the container instance. For Amazon EC2 instances, this value is @@ -8826,7 +8823,7 @@ type ContainerInstance struct { // The ACTIVE status indicates that the container instance can accept tasks. // The DRAINING indicates that new tasks aren't placed on the container instance // and any service tasks running on the container instance are removed if possible. - // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) + // For more information, see Container instance draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) // in the Amazon Elastic Container Service Developer Guide. Status *string `locationName:"status" type:"string"` @@ -9642,7 +9639,7 @@ type CreateServiceInput struct { DesiredCount *int64 `locationName:"desiredCount" type:"integer"` // Specifies whether to turn on Amazon ECS managed tags for the tasks within - // the service. For more information, see Tagging Your Amazon ECS Resources + // the service. For more information, see Tagging your Amazon ECS resources // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) // in the Amazon Elastic Container Service Developer Guide. EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` @@ -9693,7 +9690,7 @@ type CreateServiceInput struct { LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` // A load balancer object representing the load balancers to use with your service. - // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) + // For more information, see Service load balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) // in the Amazon Elastic Container Service Developer Guide. // // If the service uses the rolling update (ECS) deployment controller and using @@ -10153,7 +10150,7 @@ type CreateTaskSetInput struct { ExternalId *string `locationName:"externalId" type:"string"` // The launch type that new tasks in the task set uses. For more information, - // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. // // If a launchType is specified, the capacityProviderStrategy parameter must @@ -10184,7 +10181,7 @@ type CreateTaskSetInput struct { Service *string `locationName:"service" type:"string" required:"true"` // The details of the service discovery registries to assign to this task set. - // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). + // For more information, see Service discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` // The metadata that you apply to the task set to help you categorize and organize @@ -11260,19 +11257,18 @@ type DeploymentConfiguration struct { // the service is rolled back to the last deployment that completed successfully. DeploymentCircuitBreaker *DeploymentCircuitBreaker `locationName:"deploymentCircuitBreaker" type:"structure"` - // If a service is using the rolling update (ECS) deployment type, the maximum - // percent parameter represents an upper limit on the number of tasks in a service + // If a service is using the rolling update (ECS) deployment type, the maximumPercent + // parameter represents an upper limit on the number of your service's tasks // that are allowed in the RUNNING or PENDING state during a deployment, as - // a percentage of the desired number of tasks (rounded down to the nearest - // integer), and while any container instances are in the DRAINING state if - // the service contains tasks using the EC2 launch type. This parameter enables - // you to define the deployment batch size. For example, if your service has - // a desired number of four tasks and a maximum percent value of 200%, the scheduler - // may start four new tasks before stopping the four older tasks (provided that - // the cluster resources required to do this are available). The default value - // for maximum percent is 200%. - // - // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment + // a percentage of the desiredCount (rounded down to the nearest integer). This + // parameter enables you to define the deployment batch size. For example, if + // your service is using the REPLICA service scheduler and has a desiredCount + // of four tasks and a maximumPercent value of 200%, the scheduler may start + // four new tasks before stopping the four older tasks (provided that the cluster + // resources required to do this are available). The default maximumPercent + // value for a service using the REPLICA service scheduler is 200%. + // + // If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL deployment // types and tasks that use the EC2 launch type, the maximum percent value is // set to the default value and is used to define the upper limit on the number // of the tasks in the service that remain in the RUNNING state while the container @@ -11281,28 +11277,51 @@ type DeploymentConfiguration struct { // returned when describing your service. MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` - // If a service is using the rolling update (ECS) deployment type, the minimum - // healthy percent represents a lower limit on the number of tasks in a service - // that must remain in the RUNNING state during a deployment, as a percentage - // of the desired number of tasks (rounded up to the nearest integer), and while - // any container instances are in the DRAINING state if the service contains - // tasks using the EC2 launch type. This parameter enables you to deploy without - // using additional cluster capacity. For example, if your service has a desired - // number of four tasks and a minimum healthy percent of 50%, the scheduler - // may stop two existing tasks to free up cluster capacity before starting two - // new tasks. Tasks for services that do not use a load balancer are considered - // healthy if they're in the RUNNING state; tasks for services that do use a - // load balancer are considered healthy if they're in the RUNNING state and - // they're reported as healthy by the load balancer. The default value for minimum - // healthy percent is 100%. - // - // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment - // types and tasks that use the EC2 launch type, the minimum healthy percent - // value is set to the default value and is used to define the lower limit on - // the number of the tasks in the service that remain in the RUNNING state while - // the container instances are in the DRAINING state. If the tasks in the service - // use the Fargate launch type, the minimum healthy percent value is not used, - // although it is returned when describing your service. + // If a service is using the rolling update (ECS) deployment type, the minimumHealthyPercent + // represents a lower limit on the number of your service's tasks that must + // remain in the RUNNING state during a deployment, as a percentage of the desiredCount + // (rounded up to the nearest integer). This parameter enables you to deploy + // without using additional cluster capacity. For example, if your service has + // a desiredCount of four tasks and a minimumHealthyPercent of 50%, the service + // scheduler may stop two existing tasks to free up cluster capacity before + // starting two new tasks. + // + // For services that do not use a load balancer, the following should be noted: + // + // * A service is considered healthy if all essential containers within the + // tasks in the service pass their health checks. + // + // * If a task has no essential containers with a health check defined, the + // service scheduler will wait for 40 seconds after a task reaches a RUNNING + // state before the task is counted towards the minimum healthy percent total. + // + // * If a task has one or more essential containers with a health check defined, + // the service scheduler will wait for the task to reach a healthy status + // before counting it towards the minimum healthy percent total. A task is + // considered healthy when all essential containers within the task have + // passed their health checks. The amount of time the service scheduler can + // wait for is determined by the container health check settings. + // + // For services are that do use a load balancer, the following should be noted: + // + // * If a task has no essential containers with a health check defined, the + // service scheduler will wait for the load balancer target group health + // check to return a healthy status before counting the task towards the + // minimum healthy percent total. + // + // * If a task has an essential container with a health check defined, the + // service scheduler will wait for both the task to reach a healthy status + // and the load balancer target group health check to return a healthy status + // before counting the task towards the minimum healthy percent total. + // + // If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL deployment + // types and is running tasks that use the EC2 launch type, the minimum healthy + // percent value is set to the default value and is used to define the lower + // limit on the number of the tasks in the service that remain in the RUNNING + // state while the container instances are in the DRAINING state. If a service + // is using either the blue/green (CODE_DEPLOY) or EXTERNAL deployment types + // and is running tasks that use the Fargate launch type, the minimum healthy + // percent value is not used, although it is returned when describing your service. MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` } @@ -11358,7 +11377,7 @@ func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentC } // The deployment controller to use for the service. For more information, see -// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// Amazon ECS deployment types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) // in the Amazon Elastic Container Service Developer Guide. type DeploymentController struct { _ struct{} `type:"structure"` @@ -11437,10 +11456,9 @@ type DeregisterContainerInstanceInput struct { Cluster *string `locationName:"cluster" type:"string"` // The container instance ID or full ARN of the container instance to deregister. - // The ARN contains the arn:aws:ecs namespace, followed by the Region of the - // container instance, the Amazon Web Services account ID of the container instance - // owner, the container-instance namespace, and then the container instance - // ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. + // For more information about the ARN format, see Amazon Resource Name (ARN) + // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids) + // in the Amazon ECS Developer Guide. // // ContainerInstance is a required field ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` @@ -12488,11 +12506,9 @@ type DiscoverPollEndpointInput struct { // container instance belongs to. Cluster *string `locationName:"cluster" type:"string"` - // The container instance ID or full ARN of the container instance. The ARN - // contains the arn:aws:ecs namespace, followed by the Region of the container - // instance, the Amazon Web Services account ID of the container instance owner, - // the container-instance namespace, and then the container instance ID. For - // example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. + // The container instance ID or full ARN of the container instance. For more + // information about the ARN format, see Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids) + // in the Amazon ECS Developer Guide. ContainerInstance *string `locationName:"containerInstance" type:"string"` } @@ -12666,7 +12682,7 @@ type EFSAuthorizationConfig struct { // be omitted or set to / which will enforce the path set on the EFS access // point. If an access point is used, transit encryption must be enabled in // the EFSVolumeConfiguration. For more information, see Working with Amazon - // EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) + // EFS access points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) // in the Amazon Elastic File System User Guide. AccessPointId *string `locationName:"accessPointId" type:"string"` @@ -12674,7 +12690,7 @@ type EFSAuthorizationConfig struct { // definition when mounting the Amazon EFS file system. If enabled, transit // encryption must be enabled in the EFSVolumeConfiguration. If this parameter // is omitted, the default value of DISABLED is used. For more information, - // see Using Amazon EFS Access Points (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) + // see Using Amazon EFS access points (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) // in the Amazon Elastic Container Service Developer Guide. Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` } @@ -12710,7 +12726,7 @@ func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { } // This parameter is specified when you're using an Amazon Elastic File System -// file system for task storage. For more information, see Amazon EFS Volumes +// file system for task storage. For more information, see Amazon EFS volumes // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) // in the Amazon Elastic Container Service Developer Guide. type EFSVolumeConfiguration struct { @@ -12738,14 +12754,14 @@ type EFSVolumeConfiguration struct { // the Amazon ECS host and the Amazon EFS server. Transit encryption must be // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, // the default value of DISABLED is used. For more information, see Encrypting - // Data in Transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) + // data in transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) // in the Amazon Elastic File System User Guide. TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` // The port to use when sending encrypted data between the Amazon ECS host and // the Amazon EFS server. If you do not specify a transit encryption port, it // will use the port selection strategy that the Amazon EFS mount helper uses. - // For more information, see EFS Mount Helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) + // For more information, see EFS mount helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) // in the Amazon Elastic File System User Guide. TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` } @@ -13261,7 +13277,7 @@ func (s *ExecuteCommandOutput) SetTaskArn(v string) *ExecuteCommandOutput { // The authorization configuration details for Amazon FSx for Windows File Server // file system. See FSxWindowsFileServerVolumeConfiguration (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) -// in the Amazon Elastic Container Service API Reference. +// in the Amazon ECS API Reference. // // For more information and the input format, see Amazon FSx for Windows File // Server Volumes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) @@ -13271,7 +13287,7 @@ type FSxWindowsFileServerAuthorizationConfig struct { // The authorization credential option to use. The authorization credential // options can be provided using either the Amazon Resource Name (ARN) of an - // Secrets Manager secret or SSM Parameter Store parameter. The ARNs refer to + // Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to // the stored credentials. // // CredentialsParameter is a required field @@ -13335,7 +13351,7 @@ func (s *FSxWindowsFileServerAuthorizationConfig) SetDomain(v string) *FSxWindow // file system for task storage. // // For more information and the input format, see Amazon FSx for Windows File -// Server Volumes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) +// Server volumes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) // in the Amazon Elastic Container Service Developer Guide. type FSxWindowsFileServerVolumeConfiguration struct { _ struct{} `type:"structure"` @@ -13471,7 +13487,7 @@ func (s *Failure) SetReason(v string) *Failure { // The FireLens configuration for the container. This is used to specify and // configure a log router for container logs. For more information, see Custom -// Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) +// log routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) // in the Amazon Elastic Container Service Developer Guide. type FirelensConfiguration struct { _ struct{} `type:"structure"` @@ -13480,8 +13496,8 @@ type FirelensConfiguration struct { // and can be used to specify a custom configuration file or to add additional // metadata, such as the task, task definition, cluster, and container instance // details to the log event. If specified, the syntax to use is "options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"}. - // For more information, see Creating a Task Definition that Uses a FireLens - // Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) + // For more information, see Creating a task definition that uses a FireLens + // configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) // in the Amazon Elastic Container Service Developer Guide. // // Tasks hosted on Fargate only support the file configuration file type. @@ -13581,11 +13597,11 @@ func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { // // * Container health checks require version 1.17.0 or greater of the Amazon // ECS container agent. For more information, see Updating the Amazon ECS -// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). +// container agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). // // * Container health checks are supported for Fargate tasks if you're using -// platform version 1.1.0 or greater. For more information, see Fargate Platform -// Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). +// platform version 1.1.0 or greater. For more information, see Fargate platform +// versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). // // * Container health checks aren't supported for tasks that are part of // a service that's configured to use a Classic Load Balancer. @@ -15545,7 +15561,7 @@ func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { // the Elastic Load Balancing configuration. // // A service-linked role is required for services that use multiple target groups. -// For more information, see Service-linked roles (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) +// For more information, see Using service-linked roles (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) // in the Amazon Elastic Container Service Developer Guide. type LoadBalancer struct { _ struct{} `type:"structure"` @@ -15577,13 +15593,13 @@ type LoadBalancer struct { // target group ARN. // // For services using the ECS deployment controller, you can specify one or - // multiple target groups. For more information, see Registering Multiple Target - // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) + // multiple target groups. For more information, see Registering multiple target + // groups with a service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) // in the Amazon Elastic Container Service Developer Guide. // // For services using the CODE_DEPLOY deployment controller, you're required // to define two target groups for the load balancer. For more information, - // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) + // see Blue/green deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) // in the Amazon Elastic Container Service Developer Guide. // // If your service's task definition uses the awsvpc network mode, you must @@ -15706,7 +15722,7 @@ type LogConfiguration struct { Options map[string]*string `locationName:"options" type:"map"` // The secrets to pass to the log configuration. For more information, see Specifying - // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) + // sensitive data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) // in the Amazon Elastic Container Service Developer Guide. SecretOptions []*Secret `locationName:"secretOptions" type:"list"` } @@ -15920,7 +15936,7 @@ func (s *ManagedAgentStateChange) SetStatus(v string) *ManagedAgentStateChange { // actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling // policy using an Amazon ECS managed CloudWatch metric with the specified targetCapacity // value as the target value for the metric. For more information, see Using -// Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) +// managed scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) // in the Amazon Elastic Container Service Developer Guide. // // If managed scaling is disabled, the user must manage the scaling of the Auto @@ -16368,7 +16384,7 @@ func (s *NoUpdateAvailableException) RequestID() string { } // An object representing a constraint on task placement. For more information, -// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) +// see Task placement constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) // in the Amazon Elastic Container Service Developer Guide. // // If you're using the Fargate launch type, task placement constraints aren't @@ -16420,7 +16436,7 @@ func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { } // The task placement strategy for a task or service. For more information, -// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) +// see Task placement strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) // in the Amazon Elastic Container Service Developer Guide. type PlacementStrategy struct { _ struct{} `type:"structure"` @@ -18742,7 +18758,7 @@ type RuntimePlatform struct { // The CPU architecture. // // You can run your Linux tasks on an ARM-based platform by setting the value - // to ARM64. This option is avaiable for tasks that run on Linuc Amazon EC2 + // to ARM64. This option is avaiable for tasks that run on Linux Amazon EC2 // instance or Linux containers on Fargate. CpuArchitecture *string `locationName:"cpuArchitecture" type:"string" enum:"CPUArchitecture"` @@ -18832,7 +18848,7 @@ func (s *Scale) SetValue(v float64) *Scale { // * To reference sensitive information in the log configuration of a container, // use the secretOptions container definition parameter. // -// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) +// For more information, see Specifying sensitive data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) // in the Amazon Elastic Container Service Developer Guide. type Secret struct { _ struct{} `type:"structure"` @@ -19092,10 +19108,9 @@ type Service struct { // scheduling strategy. SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` - // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, - // followed by the Region of the service, the Amazon Web Services account ID - // of the service owner, the service namespace, and then the service name. For - // example, arn:aws:ecs:region:012345678910:service/my-service. + // The ARN that identifies the service. For more information about the ARN format, + // see Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids) + // in the Amazon ECS Developer Guide. ServiceArn *string `locationName:"serviceArn" type:"string"` // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, diff --git a/service/ecs/doc.go b/service/ecs/doc.go index 6c10c55e76..898043ca26 100644 --- a/service/ecs/doc.go +++ b/service/ecs/doc.go @@ -5,10 +5,10 @@ // // Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, // container management service. It makes it easy to run, stop, and manage Docker -// containers on a cluster. You can host your cluster on a serverless infrastructure -// that's managed by Amazon ECS by launching your services or tasks on Fargate. -// For more control, you can host your tasks on a cluster of Amazon Elastic -// Compute Cloud (Amazon EC2) instances that you manage. +// containers. You can host your cluster on a serverless infrastructure that's +// managed by Amazon ECS by launching your services or tasks on Fargate. For +// more control, you can host your tasks on a cluster of Amazon Elastic Compute +// Cloud (Amazon EC2) or External (on-premises) instances that you manage. // // Amazon ECS makes it easy to launch and stop container-based applications // with simple API calls. This makes it easy to get the state of your cluster diff --git a/service/wellarchitected/api.go b/service/wellarchitected/api.go index 2d484b9d6b..b26517e5b0 100644 --- a/service/wellarchitected/api.go +++ b/service/wellarchitected/api.go @@ -3223,6 +3223,8 @@ func (c *WellArchitected) ListTagsForResourceRequest(input *ListTagsForResourceI // // List the tags for a resource. // +// The WorkloadArn parameter can be either a workload ARN or a custom lens ARN. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3601,6 +3603,8 @@ func (c *WellArchitected) TagResourceRequest(input *TagResourceInput) (req *requ // // Adds one or more tags to the specified resource. // +// The WorkloadArn parameter can be either a workload ARN or a custom lens ARN. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3684,6 +3688,8 @@ func (c *WellArchitected) UntagResourceRequest(input *UntagResourceInput) (req * // // Deletes specified tags from a resource. // +// The WorkloadArn parameter can be either a workload ARN or a custom lens ARN. +// // To specify multiple tags, use separate tagKeys parameters, for example: // // DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2 @@ -4354,6 +4360,48 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } +// The choice level additional resources. +type AdditionalResources struct { + _ struct{} `type:"structure"` + + // The URLs for additional resources, either helpful resources or improvement + // plans. Up to five additional URLs can be specified. + Content []*ChoiceContent `type:"list"` + + // Type of additional resource. + Type *string `type:"string" enum:"AdditionalResourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AdditionalResources) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AdditionalResources) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *AdditionalResources) SetContent(v []*ChoiceContent) *AdditionalResources { + s.Content = v + return s +} + +// SetType sets the Type field's value. +func (s *AdditionalResources) SetType(v string) *AdditionalResources { + s.Type = &v + return s +} + // An answer of the question. type Answer struct { _ struct{} `type:"structure"` @@ -4714,6 +4762,11 @@ func (s AssociateLensesOutput) GoString() string { type Choice struct { _ struct{} `type:"structure"` + // The additional resources for a choice. A choice can have up to two additional + // resources: one of type HELPFUL_RESOURCE, one of type IMPROVEMENT_PLAN, or + // both. + AdditionalResources []*AdditionalResources `type:"list"` + // The ID of a choice. ChoiceId *string `min:"1" type:"string"` @@ -4748,6 +4801,12 @@ func (s Choice) GoString() string { return s.String() } +// SetAdditionalResources sets the AdditionalResources field's value. +func (s *Choice) SetAdditionalResources(v []*AdditionalResources) *Choice { + s.AdditionalResources = v + return s +} + // SetChoiceId sets the ChoiceId field's value. func (s *Choice) SetChoiceId(v string) *Choice { s.ChoiceId = &v @@ -5136,7 +5195,12 @@ type CreateLensShareInput struct { // or the request will fail. ClientRequestToken *string `type:"string" idempotencyToken:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -5258,7 +5322,12 @@ type CreateLensVersionInput struct { // Set to true if this new major lens version. IsMajorVersion *bool `type:"boolean"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -5625,9 +5694,7 @@ type CreateWorkloadInput struct { // The review owner of the workload. The name, email address, or identifier // for the primary group or individual that owns the workload review process. - // - // ReviewOwner is a required field - ReviewOwner *string `min:"3" type:"string" required:"true"` + ReviewOwner *string `min:"3" type:"string"` // The tags to be associated with the workload. Tags map[string]*string `min:"1" type:"map"` @@ -5674,9 +5741,6 @@ func (s *CreateWorkloadInput) Validate() error { if s.Lenses == nil { invalidParams.Add(request.NewErrParamRequired("Lenses")) } - if s.ReviewOwner == nil { - invalidParams.Add(request.NewErrParamRequired("ReviewOwner")) - } if s.ReviewOwner != nil && len(*s.ReviewOwner) < 3 { invalidParams.Add(request.NewErrParamMinLen("ReviewOwner", 3)) } @@ -5988,7 +6052,12 @@ type DeleteLensInput struct { // or the request will fail. ClientRequestToken *string `location:"querystring" locationName:"ClientRequestToken" type:"string" idempotencyToken:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -6094,7 +6163,12 @@ type DeleteLensShareInput struct { // or the request will fail. ClientRequestToken *string `location:"querystring" locationName:"ClientRequestToken" type:"string" idempotencyToken:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -6484,7 +6558,12 @@ func (s DisassociateLensesOutput) GoString() string { type ExportLensInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -6579,7 +6658,12 @@ func (s *ExportLensOutput) SetLensJSON(v string) *ExportLensOutput { type GetAnswerInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -6683,7 +6767,12 @@ type GetAnswerOutput struct { // An answer of the question. Answer *Answer `type:"structure"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -6752,7 +6841,12 @@ func (s *GetAnswerOutput) SetWorkloadId(v string) *GetAnswerOutput { type GetLensInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -6847,7 +6941,12 @@ func (s *GetLensOutput) SetLens(v *Lens) *GetLensOutput { type GetLensReviewInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -6984,7 +7083,12 @@ func (s *GetLensReviewOutput) SetWorkloadId(v string) *GetLensReviewOutput { type GetLensReviewReportInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -7123,7 +7227,12 @@ type GetLensVersionDifferenceInput struct { // The base version of the lens. BaseLensVersion *string `location:"querystring" locationName:"BaseLensVersion" min:"1" type:"string"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -7201,7 +7310,12 @@ type GetLensVersionDifferenceOutput struct { // The latest version of the lens. LatestLensVersion *string `min:"1" type:"string"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -7486,7 +7600,12 @@ type ImportLensInput struct { // JSONString is a required field JSONString *string `min:"2" type:"string" required:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -7766,6 +7885,9 @@ type Lens struct { // The ID assigned to the share invitation. ShareInvitationId *string `type:"string"` + + // The tags assigned to the lens. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation. @@ -7822,11 +7944,22 @@ func (s *Lens) SetShareInvitationId(v string) *Lens { return s } +// SetTags sets the Tags field's value. +func (s *Lens) SetTags(v map[string]*string) *Lens { + s.Tags = v + return s +} + // A lens review of a question. type LensReview struct { _ struct{} `type:"structure"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -7946,7 +8079,12 @@ type LensReviewReport struct { // This data can be used to create a PDF file. Base64String *string `type:"string"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -7995,7 +8133,12 @@ func (s *LensReviewReport) SetLensArn(v string) *LensReviewReport { type LensReviewSummary struct { _ struct{} `type:"structure"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -8140,7 +8283,12 @@ type LensSummary struct { // The description of the lens. Description *string `min:"1" type:"string"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -8255,7 +8403,12 @@ type LensUpgradeSummary struct { // The latest version of the lens. LatestLensVersion *string `min:"1" type:"string"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -8332,7 +8485,12 @@ func (s *LensUpgradeSummary) SetWorkloadName(v string) *LensUpgradeSummary { type ListAnswersInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -8454,7 +8612,12 @@ type ListAnswersOutput struct { // List of answer summaries of lens review in a workload. AnswerSummaries []*AnswerSummary `type:"list"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -8533,7 +8696,12 @@ func (s *ListAnswersOutput) SetWorkloadId(v string) *ListAnswersOutput { type ListLensReviewImprovementsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -8655,7 +8823,12 @@ type ListLensReviewImprovementsOutput struct { // List of improvement summaries of lens review in a workload. ImprovementSummaries []*ImprovementSummary `type:"list"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -8881,7 +9054,12 @@ func (s *ListLensReviewsOutput) SetWorkloadId(v string) *ListLensReviewsOutput { type ListLensSharesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -10291,7 +10469,12 @@ func (s *ServiceQuotaExceededException) RequestID() string { type ShareInvitation struct { _ struct{} `type:"structure"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -10726,7 +10909,12 @@ type UpdateAnswerInput struct { // Defines whether this question is applicable to a lens review. IsApplicable *bool `type:"boolean"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -10867,7 +11055,12 @@ type UpdateAnswerOutput struct { // An answer of the question. Answer *Answer `type:"structure"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. LensAlias *string `min:"1" type:"string"` @@ -10926,7 +11119,12 @@ func (s *UpdateAnswerOutput) SetWorkloadId(v string) *UpdateAnswerOutput { type UpdateLensReviewInput struct { _ struct{} `type:"structure"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -11571,7 +11769,12 @@ type UpgradeLensReviewInput struct { // or the request will fail. ClientRequestToken *string `type:"string"` - // The alias of the lens, for example, serverless. + // The alias of the lens. + // + // For Amazon Web Services official lenses, this is either the lens alias, such + // as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless. + // + // For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens. // // Each lens is identified by its LensSummary$LensAlias. // @@ -12382,6 +12585,22 @@ func (s *WorkloadSummary) SetWorkloadName(v string) *WorkloadSummary { return s } +const ( + // AdditionalResourceTypeHelpfulResource is a AdditionalResourceType enum value + AdditionalResourceTypeHelpfulResource = "HELPFUL_RESOURCE" + + // AdditionalResourceTypeImprovementPlan is a AdditionalResourceType enum value + AdditionalResourceTypeImprovementPlan = "IMPROVEMENT_PLAN" +) + +// AdditionalResourceType_Values returns all elements of the AdditionalResourceType enum +func AdditionalResourceType_Values() []string { + return []string{ + AdditionalResourceTypeHelpfulResource, + AdditionalResourceTypeImprovementPlan, + } +} + const ( // AnswerReasonOutOfScope is a AnswerReason enum value AnswerReasonOutOfScope = "OUT_OF_SCOPE"