From 891e63ffbdeebcace48db530076e7ca3ee97e2e5 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Thu, 11 Jun 2020 12:34:33 -0700 Subject: [PATCH] Release v1.32.0 (2020-06-11) (#3366) Release v1.32.0 (2020-06-11) === ### Service Client Updates * `service/ecs`: Updates service API and documentation * This release adds support for deleting capacity providers. * `service/imagebuilder`: Updates service API and documentation * `service/lex-models`: Updates service API and documentation ### SDK Features * `service/iotdataplane`: As part of this release, we are introducing a new feature called named shadow, which extends the capability of AWS IoT Device Shadow to support multiple shadows for a single IoT device. With this release, customers can store different device state data into different shadows, and as a result access only the required state data when needed and reduce individual shadow size. --- CHANGELOG.md | 12 + CHANGELOG_PENDING.md | 1 - aws/endpoints/defaults.go | 23 ++ aws/version.go | 2 +- models/apis/ecs/2014-11-13/api-2.json | 45 ++- models/apis/ecs/2014-11-13/docs-2.json | 40 ++- .../apis/imagebuilder/2019-12-02/api-2.json | 51 +++- .../apis/imagebuilder/2019-12-02/docs-2.json | 34 ++- models/apis/lex-models/2017-04-19/api-2.json | 42 ++- models/apis/lex-models/2017-04-19/docs-2.json | 29 +- models/endpoints/endpoints.json | 21 ++ service/ecs/api.go | 279 ++++++++++++++++-- service/ecs/ecsiface/interface.go | 4 + service/imagebuilder/api.go | 148 +++++++++- service/imagebuilder/errors.go | 8 + service/lexmodelbuildingservice/api.go | 137 ++++++++- 16 files changed, 804 insertions(+), 72 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56486cb02f2..96db4f877ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +Release v1.32.0 (2020-06-11) +=== + +### Service Client Updates +* `service/ecs`: Updates service API and documentation + * This release adds support for deleting capacity providers. +* `service/imagebuilder`: Updates service API and documentation +* `service/lex-models`: Updates service API and documentation + +### SDK Features +* `service/iotdataplane`: As part of this release, we are introducing a new feature called named shadow, which extends the capability of AWS IoT Device Shadow to support multiple shadows for a single IoT device. With this release, customers can store different device state data into different shadows, and as a result access only the required state data when needed and reduce individual shadow size. + Release v1.31.15 (2020-06-10) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 739ea17b3dc..8a1927a39ca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,5 +1,4 @@ ### SDK Features -* `service/iotdataplane`: As part of this release, we are introducing a new feature called named shadow, which extends the capability of AWS IoT Device Shadow to support multiple shadows for a single IoT device. With this release, customers can store different device state data into different shadows, and as a result access only the required state data when needed and reduce individual shadow size. ### SDK Enhancements diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 99e395e95fa..64089826da7 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -1086,6 +1086,21 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "codeartifact": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "codebuild": service{ Endpoints: endpoints{ @@ -2712,6 +2727,7 @@ var awsPartition = partition{ "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, @@ -6548,6 +6564,13 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "kinesisanalytics": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "kms": service{ Endpoints: endpoints{ diff --git a/aws/version.go b/aws/version.go index e933da58d51..de4208c3de6 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.31.15" +const SDKVersion = "1.32.0" diff --git a/models/apis/ecs/2014-11-13/api-2.json b/models/apis/ecs/2014-11-13/api-2.json index a3c67428d9a..d64f4dbb693 100644 --- a/models/apis/ecs/2014-11-13/api-2.json +++ b/models/apis/ecs/2014-11-13/api-2.json @@ -25,7 +25,8 @@ {"shape":"ServerException"}, {"shape":"ClientException"}, {"shape":"InvalidParameterException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"UpdateInProgressException"} ] }, "CreateCluster":{ @@ -110,6 +111,20 @@ {"shape":"InvalidParameterException"} ] }, + "DeleteCapacityProvider":{ + "name":"DeleteCapacityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCapacityProviderRequest"}, + "output":{"shape":"DeleteCapacityProviderResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"} + ] + }, "DeleteCluster":{ "name":"DeleteCluster", "http":{ @@ -883,6 +898,8 @@ "name":{"shape":"String"}, "status":{"shape":"CapacityProviderStatus"}, "autoScalingGroupProvider":{"shape":"AutoScalingGroupProvider"}, + "updateStatus":{"shape":"CapacityProviderUpdateStatus"}, + "updateStatusReason":{"shape":"String"}, "tags":{"shape":"Tags"} } }, @@ -896,7 +913,10 @@ }, "CapacityProviderStatus":{ "type":"string", - "enum":["ACTIVE"] + "enum":[ + "ACTIVE", + "INACTIVE" + ] }, "CapacityProviderStrategy":{ "type":"list", @@ -921,6 +941,14 @@ "max":1000, "min":0 }, + "CapacityProviderUpdateStatus":{ + "type":"string", + "enum":[ + "DELETE_IN_PROGRESS", + "DELETE_COMPLETE", + "DELETE_FAILED" + ] + }, "CapacityProviders":{ "type":"list", "member":{"shape":"CapacityProvider"} @@ -1323,6 +1351,19 @@ "attributes":{"shape":"Attributes"} } }, + "DeleteCapacityProviderRequest":{ + "type":"structure", + "required":["capacityProvider"], + "members":{ + "capacityProvider":{"shape":"String"} + } + }, + "DeleteCapacityProviderResponse":{ + "type":"structure", + "members":{ + "capacityProvider":{"shape":"CapacityProvider"} + } + }, "DeleteClusterRequest":{ "type":"structure", "required":["cluster"], diff --git a/models/apis/ecs/2014-11-13/docs-2.json b/models/apis/ecs/2014-11-13/docs-2.json index 3fadb3128d4..e1c04045960 100644 --- a/models/apis/ecs/2014-11-13/docs-2.json +++ b/models/apis/ecs/2014-11-13/docs-2.json @@ -8,6 +8,7 @@ "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 cannot 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 are not 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 will transition to the INACTIVE state. 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, so you should not 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 cannot 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.

", @@ -225,7 +226,8 @@ "base": "

The details of a capacity provider.

", "refs": { "CapacityProviders$member": null, - "CreateCapacityProviderResponse$capacityProvider": "

The full description of the new capacity provider.

" + "CreateCapacityProviderResponse$capacityProvider": "

The full description of the new capacity provider.

", + "DeleteCapacityProviderResponse$capacityProvider": null } }, "CapacityProviderField": { @@ -243,7 +245,7 @@ "CapacityProviderStatus": { "base": null, "refs": { - "CapacityProvider$status": "

The current status of the capacity provider. Only capacity providers in an ACTIVE state can be used in a cluster.

" + "CapacityProvider$status": "

The current status of the capacity provider. Only capacity providers in an ACTIVE state can be used in a cluster. When a capacity provider is successfully deleted, it will have an INACTIVE status.

" } }, "CapacityProviderStrategy": { @@ -279,6 +281,12 @@ "CapacityProviderStrategyItem$weight": "

The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider.

For example, if you have a strategy that contains two capacity providers and both have a weight of 1, then when the base is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of 1 for capacityProviderA and a weight of 4 for capacityProviderB, then for every one task that is run using capacityProviderA, four tasks would use capacityProviderB.

" } }, + "CapacityProviderUpdateStatus": { + "base": null, + "refs": { + "CapacityProvider$updateStatus": "

The update status of the capacity provider. The following are the possible states that will be returned.

DELETE_IN_PROGRESS

The capacity provider is in the process of being deleted.

DELETE_COMPLETE

The capacity provider has been successfully deleted and will have an INACTIVE status.

DELETE_FAILED

The capacity provider was unable to be deleted. The update status reason will provide further details about why the delete failed.

" + } + }, "CapacityProviders": { "base": null, "refs": { @@ -540,6 +548,16 @@ "refs": { } }, + "DeleteCapacityProviderRequest": { + "base": null, + "refs": { + } + }, + "DeleteCapacityProviderResponse": { + "base": null, + "refs": { + } + }, "DeleteClusterRequest": { "base": null, "refs": { @@ -773,7 +791,7 @@ "EFSVolumeConfiguration": { "base": "

This parameter is specified when you are 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 are using an Amazon Elastic File System (Amazon EFS) file storage. Amazon EFS file systems are only supported when you are using the EC2 launch type.

EFSVolumeConfiguration 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 of EFSVolumeConfiguration.

" + "Volume$efsVolumeConfiguration": "

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

" } }, "EnvironmentFile": { @@ -874,7 +892,7 @@ "HostVolumeProperties": { "base": "

Details on a container instance bind mount host volume.

", "refs": { - "Volume$host": "

This parameter is specified when you are using bind mount host volumes. Bind mount host volumes are supported when you are using either the EC2 or Fargate launch types. The contents of the host parameter determine whether your bind mount host volume persists on the host container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data is not guaranteed to persist after the containers associated with it stop running.

Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows containers cannot mount directories on a different drive, and mount point cannot be across drives. For example, you can mount C:\\my\\path:C:\\my\\path and D:\\:D:\\, but not D:\\my\\path:C:\\my\\path or D:\\:C:\\my\\path.

" + "Volume$host": "

This parameter is specified when you are using bind mount host volumes. The contents of the host parameter determine whether your bind mount host volume persists on the host container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data is not guaranteed to persist after the containers associated with it stop running.

Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows containers cannot mount directories on a different drive, and mount point cannot be across drives. For example, you can mount C:\\my\\path:C:\\my\\path and D:\\:D:\\, but not D:\\my\\path:C:\\my\\path or D:\\:C:\\my\\path.

" } }, "InferenceAccelerator": { @@ -1577,7 +1595,7 @@ "base": null, "refs": { "DeleteAccountSettingRequest$name": "

The resource name for which to disable the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected.

", - "ListAccountSettingsRequest$name": "

The resource name you want to list the account settings for.

", + "ListAccountSettingsRequest$name": "

The name of the account setting you want to list the settings for.

", "PutAccountSettingDefaultRequest$name": "

The resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected. If containerInsights is specified, the default setting for CloudWatch Container Insights for your clusters is affected.

", "PutAccountSettingRequest$name": "

The Amazon ECS resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the elastic network interface (ENI) limit for your Amazon ECS container instances is affected. If containerInsights is specified, the default setting for CloudWatch Container Insights for your clusters is affected.

", "Setting$name": "

The Amazon ECS resource name.

" @@ -1641,6 +1659,7 @@ "AutoScalingGroupProvider$autoScalingGroupArn": "

The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

", "CapacityProvider$capacityProviderArn": "

The Amazon Resource Name (ARN) that identifies the capacity provider.

", "CapacityProvider$name": "

The name of the capacity provider.

", + "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 AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

", @@ -1692,6 +1711,7 @@ "CreateTaskSetRequest$clientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.

", "DeleteAccountSettingRequest$principalArn": "

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it disables the account setting for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user.

", "DeleteAttributesRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete attributes. If you do not specify a cluster, the default cluster is assumed.

", + "DeleteCapacityProviderRequest$capacityProvider": "

The short name or full Amazon Resource Name (ARN) of the capacity provider to delete.

", "DeleteClusterRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster to delete.

", "DeleteServiceRequest$cluster": "

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

", "DeleteServiceRequest$service": "

The name of the service to delete.

", @@ -1799,7 +1819,7 @@ "RegisterContainerInstanceRequest$containerInstanceArn": "

The ARN of the container instance (if it was previously registered).

", "RegisterTaskDefinitionRequest$family": "

You must specify a family for a task definition, which allows you to track multiple versions of the same task definition. The family is used as a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.

", "RegisterTaskDefinitionRequest$taskRoleArn": "

The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

", - "RegisterTaskDefinitionRequest$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

", + "RegisterTaskDefinitionRequest$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make AWS API calls on your behalf. The task execution IAM role is required depending on the requirements of your task. For more information, see Amazon ECS task execution IAM role in the Amazon Elastic Container Service Developer Guide.

", "RegisterTaskDefinitionRequest$cpu": "

The number of CPU units used by the task. It can be expressed as an integer using CPU units, for example 1024, or as a string using vCPUs, for example 1 vCPU or 1 vcpu, in a task definition. String values are converted to an integer indicating the CPU units when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If you are using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).

If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the memory parameter:

", "RegisterTaskDefinitionRequest$memory": "

The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB, for example 1024, or as a string using GB, for example 1GB or 1 GB, in a task definition. String values are converted to an integer indicating the MiB when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If using the EC2 launch type, this field is optional.

If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the cpu parameter:

", "RepositoryCredentials$credentialsParameter": "

The Amazon Resource Name (ARN) of the secret containing the private repository credentials.

When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret exists in the same Region as the task that you are launching then you can use either the full ARN or the name of the secret. When you are using the AWS Management Console, you must specify the full ARN of the secret.

", @@ -1874,12 +1894,12 @@ "TaskDefinition$taskDefinitionArn": "

The full Amazon Resource Name (ARN) of the task definition.

", "TaskDefinition$family": "

The name of a family that this task definition is registered to. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

A family groups multiple versions of a task definition. Amazon ECS gives the first task definition that you registered to a family a revision number of 1. Amazon ECS gives sequential revision numbers to each task definition that you add.

", "TaskDefinition$taskRoleArn": "

The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see Amazon ECS Task Role in the Amazon Elastic Container Service Developer Guide.

IAM roles for tasks on Windows require that the -EnableTaskIAMRole option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code in order to take advantage of the feature. For more information, see Windows IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

", - "TaskDefinition$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

", + "TaskDefinition$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make AWS API calls on your behalf. The task execution IAM role is required depending on the requirements of your task. For more information, see Amazon ECS task execution IAM role in the Amazon Elastic Container Service Developer Guide.

", "TaskDefinition$cpu": "

The number of cpu units used by the task. If you are using the EC2 launch type, this field is optional and any value can be used. If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter:

", "TaskDefinition$memory": "

The amount (in MiB) of memory used by the task.

If using the EC2 launch type, this field is optional and any value can be used. If a task-level memory value is specified then the container-level memory value is optional.

If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter:

", "TaskDefinitionPlacementConstraint$expression": "

A cluster query language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

", "TaskOverride$cpu": "

The cpu override for the task.

", - "TaskOverride$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

", + "TaskOverride$executionRoleArn": "

The Amazon Resource Name (ARN) of the task execution IAM role override for the task.

", "TaskOverride$memory": "

The memory override for the task.

", "TaskOverride$taskRoleArn": "

The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

", "TaskSet$id": "

The ID of the task set.

", @@ -2248,7 +2268,7 @@ "UlimitList": { "base": null, "refs": { - "ContainerDefinition$ulimits": "

A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed in the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

This parameter is not supported for Windows containers.

" + "ContainerDefinition$ulimits": "

A list of ulimits to set in the container. If a ulimit value is specified in a task definition, it will override the default values set by Docker. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed in the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

This parameter is not supported for Windows containers.

" } }, "UlimitName": { @@ -2345,7 +2365,7 @@ } }, "Volume": { - "base": "

A data volume used in a task definition. For tasks that use a Docker volume, specify a DockerVolumeConfiguration. For tasks that use a bind mount host volume, specify a host and optional sourcePath. For more information, see Using Data Volumes in Tasks.

", + "base": "

A data volume used in a task definition. For tasks that use Amazon Elastic File System (Amazon EFS) file storage, specify an efsVolumeConfiguration. For tasks that use a Docker volume, specify a DockerVolumeConfiguration. For tasks that use a bind mount host volume, specify a host and optional sourcePath. For more information, see Using Data Volumes in Tasks.

", "refs": { "VolumeList$member": null } diff --git a/models/apis/imagebuilder/2019-12-02/api-2.json b/models/apis/imagebuilder/2019-12-02/api-2.json index 3b365d72e6b..3b534b46472 100644 --- a/models/apis/imagebuilder/2019-12-02/api-2.json +++ b/models/apis/imagebuilder/2019-12-02/api-2.json @@ -50,7 +50,8 @@ {"shape":"CallRateLimitExceededException"}, {"shape":"InvalidVersionNumberException"}, {"shape":"ResourceInUseException"}, - {"shape":"InvalidParameterCombinationException"} + {"shape":"InvalidParameterCombinationException"}, + {"shape":"ServiceQuotaExceededException"} ] }, "CreateDistributionConfiguration":{ @@ -71,7 +72,8 @@ {"shape":"CallRateLimitExceededException"}, {"shape":"ResourceInUseException"}, {"shape":"ResourceAlreadyExistsException"}, - {"shape":"InvalidParameterCombinationException"} + {"shape":"InvalidParameterCombinationException"}, + {"shape":"ServiceQuotaExceededException"} ] }, "CreateImage":{ @@ -90,7 +92,8 @@ {"shape":"IdempotentParameterMismatchException"}, {"shape":"ForbiddenException"}, {"shape":"CallRateLimitExceededException"}, - {"shape":"ResourceInUseException"} + {"shape":"ResourceInUseException"}, + {"shape":"ServiceQuotaExceededException"} ] }, "CreateImagePipeline":{ @@ -110,7 +113,8 @@ {"shape":"ForbiddenException"}, {"shape":"CallRateLimitExceededException"}, {"shape":"ResourceInUseException"}, - {"shape":"ResourceAlreadyExistsException"} + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ServiceQuotaExceededException"} ] }, "CreateImageRecipe":{ @@ -131,7 +135,8 @@ {"shape":"CallRateLimitExceededException"}, {"shape":"InvalidVersionNumberException"}, {"shape":"ResourceInUseException"}, - {"shape":"ResourceAlreadyExistsException"} + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ServiceQuotaExceededException"} ] }, "CreateInfrastructureConfiguration":{ @@ -151,7 +156,8 @@ {"shape":"ForbiddenException"}, {"shape":"CallRateLimitExceededException"}, {"shape":"ResourceInUseException"}, - {"shape":"ResourceAlreadyExistsException"} + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ServiceQuotaExceededException"} ] }, "DeleteComponent":{ @@ -1061,6 +1067,7 @@ "parentImage":{"shape":"NonEmptyString"}, "blockDeviceMappings":{"shape":"InstanceBlockDeviceMappings"}, "tags":{"shape":"TagMap"}, + "workingDirectory":{"shape":"NonEmptyString"}, "clientToken":{ "shape":"ClientToken", "idempotencyToken":true @@ -1121,6 +1128,7 @@ "keyPair":{"shape":"NonEmptyString"}, "terminateInstanceOnFailure":{"shape":"NullableBoolean"}, "snsTopicArn":{"shape":"SnsTopicArn"}, + "resourceTags":{"shape":"ResourceTagMap"}, "tags":{"shape":"TagMap"}, "clientToken":{ "shape":"ClientToken", @@ -1392,7 +1400,7 @@ "required":["componentBuildVersionArn"], "members":{ "componentBuildVersionArn":{ - "shape":"ComponentBuildVersionArn", + "shape":"ComponentVersionArnOrBuildVersionArn", "location":"querystring", "locationName":"componentBuildVersionArn" } @@ -1500,7 +1508,7 @@ "required":["imageBuildVersionArn"], "members":{ "imageBuildVersionArn":{ - "shape":"ImageBuildVersionArn", + "shape":"ImageVersionArnOrBuildVersionArn", "location":"querystring", "locationName":"imageBuildVersionArn" } @@ -1610,7 +1618,8 @@ "parentImage":{"shape":"NonEmptyString"}, "blockDeviceMappings":{"shape":"InstanceBlockDeviceMappings"}, "dateCreated":{"shape":"DateTime"}, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "workingDirectory":{"shape":"NonEmptyString"} } }, "ImageRecipeArn":{ @@ -1703,6 +1712,10 @@ "type":"string", "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$" }, + "ImageVersionArnOrBuildVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image/[a-z0-9-_]+/(?:(?:(\\d+|x)\\.(\\d+|x)\\.(\\d+|x))|(?:\\d+\\.\\d+\\.\\d+/\\d+))$" + }, "ImageVersionList":{ "type":"list", "member":{"shape":"ImageVersion"} @@ -1759,6 +1772,7 @@ "snsTopicArn":{"shape":"NonEmptyString"}, "dateCreated":{"shape":"DateTime"}, "dateUpdated":{"shape":"DateTime"}, + "resourceTags":{"shape":"ResourceTagMap"}, "tags":{"shape":"TagMap"} } }, @@ -1774,6 +1788,7 @@ "description":{"shape":"NonEmptyString"}, "dateCreated":{"shape":"DateTime"}, "dateUpdated":{"shape":"DateTime"}, + "resourceTags":{"shape":"ResourceTagMap"}, "tags":{"shape":"TagMap"} } }, @@ -2207,6 +2222,13 @@ "max":30000, "min":1 }, + "ResourceTagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":30, + "min":1 + }, "RestrictedInteger":{ "type":"integer", "max":25, @@ -2238,6 +2260,14 @@ "error":{"httpStatusCode":500}, "exception":true }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":402}, + "exception":true + }, "ServiceUnavailableException":{ "type":"structure", "members":{ @@ -2421,7 +2451,8 @@ "clientToken":{ "shape":"ClientToken", "idempotencyToken":true - } + }, + "resourceTags":{"shape":"ResourceTagMap"} } }, "UpdateInfrastructureConfigurationResponse":{ diff --git a/models/apis/imagebuilder/2019-12-02/docs-2.json b/models/apis/imagebuilder/2019-12-02/docs-2.json index 79ab88f9a4a..b88a834e5da 100644 --- a/models/apis/imagebuilder/2019-12-02/docs-2.json +++ b/models/apis/imagebuilder/2019-12-02/docs-2.json @@ -28,11 +28,11 @@ "ListComponentBuildVersions": "

Returns the list of component build versions for the specified semantic version.

", "ListComponents": "

Returns the list of component build versions for the specified semantic version.

", "ListDistributionConfigurations": "

Returns a list of distribution configurations.

", - "ListImageBuildVersions": "

Returns a list of distribution configurations.

", + "ListImageBuildVersions": "

Returns a list of image build versions.

", "ListImagePipelineImages": "

Returns a list of images created by the specified pipeline.

", "ListImagePipelines": "

Returns a list of image pipelines.

", "ListImageRecipes": "

Returns a list of image recipes.

", - "ListImages": "

Returns the list of image build versions for the specified semantic version.

", + "ListImages": "

Returns the list of images that you have access to.

", "ListInfrastructureConfigurations": "

Returns a list of infrastructure configurations.

", "ListTagsForResource": "

Returns the list of tags for the specified resource.

", "PutComponentPolicy": "

Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutComponentPolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

", @@ -154,7 +154,6 @@ "DeleteComponentRequest$componentBuildVersionArn": "

The Amazon Resource Name (ARN) of the component build version to delete.

", "DeleteComponentResponse$componentBuildVersionArn": "

The Amazon Resource Name (ARN) of the component build version that was deleted.

", "GetComponentPolicyRequest$componentArn": "

The Amazon Resource Name (ARN) of the component whose policy you want to retrieve.

", - "GetComponentRequest$componentBuildVersionArn": "

The Amazon Resource Name (ARN) of the component that you want to retrieve. Regex requires \"/\\d+$\" suffix.

", "ImportComponentResponse$componentBuildVersionArn": "

The Amazon Resource Name (ARN) of the imported component.

", "PutComponentPolicyRequest$componentArn": "

The Amazon Resource Name (ARN) of the component that this policy should be applied to.

", "PutComponentPolicyResponse$componentArn": "

The Amazon Resource Name (ARN) of the component that this policy was applied to.

" @@ -221,7 +220,8 @@ "ComponentVersionArnOrBuildVersionArn": { "base": null, "refs": { - "ComponentConfiguration$componentArn": "

The Amazon Resource Name (ARN) of the component.

" + "ComponentConfiguration$componentArn": "

The Amazon Resource Name (ARN) of the component.

", + "GetComponentRequest$componentBuildVersionArn": "

The Amazon Resource Name (ARN) of the component that you want to retrieve. Regex requires \"/\\d+$\" suffix.

" } }, "ComponentVersionList": { @@ -476,6 +476,7 @@ "ResourceInUseException$message": null, "ResourceNotFoundException$message": null, "ServiceException$message": null, + "ServiceQuotaExceededException$message": null, "ServiceUnavailableException$message": null } }, @@ -631,7 +632,6 @@ "DeleteImageRequest$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image to delete.

", "DeleteImageResponse$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image that was deleted.

", "GetImagePolicyRequest$imageArn": "

The Amazon Resource Name (ARN) of the image whose policy you want to retrieve.

", - "GetImageRequest$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image that you want to retrieve.

", "PutImagePolicyRequest$imageArn": "

The Amazon Resource Name (ARN) of the image that this policy should be applied to.

", "PutImagePolicyResponse$imageArn": "

The Amazon Resource Name (ARN) of the image that this policy was applied to.

", "StartImagePipelineExecutionResponse$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image that was created by this request.

" @@ -773,6 +773,12 @@ "ListImageBuildVersionsRequest$imageVersionArn": "

The Amazon Resource Name (ARN) of the image whose build versions you want to retrieve.

" } }, + "ImageVersionArnOrBuildVersionArn": { + "base": null, + "refs": { + "GetImageRequest$imageBuildVersionArn": "

The Amazon Resource Name (ARN) of the image that you want to retrieve.

" + } + }, "ImageVersionList": { "base": null, "refs": { @@ -1028,6 +1034,7 @@ "CreateImagePipelineResponse$requestId": "

The request ID that uniquely identifies this request.

", "CreateImageRecipeRequest$description": "

The description of the image recipe.

", "CreateImageRecipeRequest$parentImage": "

The parent image of the image recipe. The value of the string can be the ARN of the parent image or an AMI ID. The format for the ARN follows this example: arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/2019.x.x. The ARN ends with /20xx.x.x, which communicates to EC2 Image Builder that you want to use the latest AMI created in 20xx (year). You can provide the specific version that you want to use, or you can use a wildcard in all of the fields. If you enter an AMI ID for the string value, you must have access to the AMI, and the AMI must be in the same Region in which you are using Image Builder.

", + "CreateImageRecipeRequest$workingDirectory": "

The working directory to be used during build and test workflows.

", "CreateImageRecipeResponse$requestId": "

The request ID that uniquely identifies this request.

", "CreateImageResponse$requestId": "

The request ID that uniquely identifies this request.

", "CreateInfrastructureConfigurationRequest$description": "

The description of the infrastructure configuration.

", @@ -1059,6 +1066,7 @@ "ImageRecipe$description": "

The description of the image recipe.

", "ImageRecipe$owner": "

The owner of the image recipe.

", "ImageRecipe$parentImage": "

The parent image of the image recipe.

", + "ImageRecipe$workingDirectory": "

The working directory to be used during build and test workflows.

", "ImageRecipeSummary$owner": "

The owner of the image recipe.

", "ImageRecipeSummary$parentImage": "

The parent image of the image recipe.

", "ImageState$reason": "

The reason for the image's status.

", @@ -1290,6 +1298,15 @@ "PutImageRecipePolicyRequest$policy": "

The policy to apply.

" } }, + "ResourceTagMap": { + "base": null, + "refs": { + "CreateInfrastructureConfigurationRequest$resourceTags": "

The tags attached to the resource created by Image Builder.

", + "InfrastructureConfiguration$resourceTags": "

The tags attached to the resource created by Image Builder.

", + "InfrastructureConfigurationSummary$resourceTags": "

The tags attached to the image created by Image Builder.

", + "UpdateInfrastructureConfigurationRequest$resourceTags": "

The tags attached to the resource created by Image Builder.

" + } + }, "RestrictedInteger": { "base": null, "refs": { @@ -1331,6 +1348,11 @@ "refs": { } }, + "ServiceQuotaExceededException": { + "base": "

You have exceeded the number of permitted resources or operations for this service. For service quotas, see EC2 Image Builder endpoints and quotas.

", + "refs": { + } + }, "ServiceUnavailableException": { "base": "

The service is unable to process your request at this time.

", "refs": { @@ -1362,6 +1384,7 @@ "TagKey": { "base": null, "refs": { + "ResourceTagMap$key": null, "TagKeyList$member": null, "TagMap$key": null } @@ -1411,6 +1434,7 @@ "TagValue": { "base": null, "refs": { + "ResourceTagMap$value": null, "TagMap$value": null } }, diff --git a/models/apis/lex-models/2017-04-19/api-2.json b/models/apis/lex-models/2017-04-19/api-2.json index cbfeb4fa9c8..2d65b5a939f 100644 --- a/models/apis/lex-models/2017-04-19/api-2.json +++ b/models/apis/lex-models/2017-04-19/api-2.json @@ -917,7 +917,8 @@ "lastUpdatedDate":{"shape":"Timestamp"}, "createdDate":{"shape":"Timestamp"}, "version":{"shape":"Version"}, - "checksum":{"shape":"String"} + "checksum":{"shape":"String"}, + "kendraConfiguration":{"shape":"KendraConfiguration"} } }, "CreateSlotTypeVersionRequest":{ @@ -1598,7 +1599,8 @@ "lastUpdatedDate":{"shape":"Timestamp"}, "createdDate":{"shape":"Timestamp"}, "version":{"shape":"Version"}, - "checksum":{"shape":"String"} + "checksum":{"shape":"String"}, + "kendraConfiguration":{"shape":"KendraConfiguration"} } }, "GetIntentVersionsRequest":{ @@ -1787,7 +1789,7 @@ "type":"string", "max":2048, "min":20, - "pattern":"^arn:[\\w\\-]+:iam::[\\d]{12}:role\\/[\\w+=,\\.@\\-]{1,64}$" + "pattern":"^arn:[\\w\\-]+:iam::[\\d]{12}:role/.+$" }, "ImportStatus":{ "type":"string", @@ -1847,6 +1849,24 @@ "exception":true, "fault":true }, + "KendraConfiguration":{ + "type":"structure", + "required":[ + "kendraIndex", + "role" + ], + "members":{ + "kendraIndex":{"shape":"KendraIndexArn"}, + "queryFilterString":{"shape":"QueryFilterString"}, + "role":{"shape":"roleArn"} + } + }, + "KendraIndexArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws:kendra:[a-z]+-[a-z]+-[0-9]:[0-9]{12}:index\\/[a-zA-Z0-9][a-zA-Z0-9_-]*" + }, "KmsKeyArn":{ "type":"string", "max":2048, @@ -2159,7 +2179,8 @@ "fulfillmentActivity":{"shape":"FulfillmentActivity"}, "parentIntentSignature":{"shape":"BuiltinIntentSignature"}, "checksum":{"shape":"String"}, - "createVersion":{"shape":"Boolean"} + "createVersion":{"shape":"Boolean"}, + "kendraConfiguration":{"shape":"KendraConfiguration"} } }, "PutIntentResponse":{ @@ -2180,7 +2201,8 @@ "createdDate":{"shape":"Timestamp"}, "version":{"shape":"Version"}, "checksum":{"shape":"String"}, - "createVersion":{"shape":"Boolean"} + "createVersion":{"shape":"Boolean"}, + "kendraConfiguration":{"shape":"KendraConfiguration"} } }, "PutSlotTypeRequest":{ @@ -2217,6 +2239,10 @@ "slotTypeConfigurations":{"shape":"SlotTypeConfigurations"} } }, + "QueryFilterString":{ + "type":"string", + "min":0 + }, "ReferenceType":{ "type":"string", "enum":[ @@ -2545,6 +2571,12 @@ "max":64, "min":1, "pattern":"\\$LATEST|[0-9]+" + }, + "roleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws:iam::[0-9]{12}:role/.*" } } } diff --git a/models/apis/lex-models/2017-04-19/docs-2.json b/models/apis/lex-models/2017-04-19/docs-2.json index 2e9403c3d48..bc5f82278db 100644 --- a/models/apis/lex-models/2017-04-19/docs-2.json +++ b/models/apis/lex-models/2017-04-19/docs-2.json @@ -750,6 +750,21 @@ "refs": { } }, + "KendraConfiguration": { + "base": "

Provides configuration information for the AMAZON.KendraSearchIntent intent. When you use this intent, Amazon Lex searches the specified Amazon Kendra index and returns documents from the index that match the user's utterance. For more information, see AMAZON.KendraSearchIntent.

", + "refs": { + "CreateIntentVersionResponse$kendraConfiguration": "

Configuration information, if any, for connectin an Amazon Kendra index with the AMAZON.KendraSearchIntent intent.

", + "GetIntentResponse$kendraConfiguration": "

Configuration information, if any, to connect to an Amazon Kendra index with the AMAZON.KendraSearchIntent intent.

", + "PutIntentRequest$kendraConfiguration": "

Configuration information required to use the AMAZON.KendraSearchIntent intent to connect to an Amazon Kendra index. For more information, see AMAZON.KendraSearchIntent.

", + "PutIntentResponse$kendraConfiguration": "

Configuration information, if any, required to connect to an Amazon Kendra index and use the AMAZON.KendraSearchIntent intent.

" + } + }, + "KendraIndexArn": { + "base": null, + "refs": { + "KendraConfiguration$kendraIndex": "

The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the AMAZON.KendraSearchIntent intent to search. The index must be in the same account and Region as the Amazon Lex bot. If the Amazon Kendra index does not exist, you get an exception when you call the PutIntent operation.

" + } + }, "KmsKeyArn": { "base": null, "refs": { @@ -947,7 +962,7 @@ "Priority": { "base": null, "refs": { - "Slot$priority": "

Directs Lex the order in which to elicit this slot value from the user. For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for the slot with priority 1.

If multiple slots share the same priority, the order in which Lex elicits values is arbitrary.

" + "Slot$priority": "

Directs Amazon Lex the order in which to elicit this slot value from the user. For example, if the intent has two slots with priorities 1 and 2, AWS Amazon Lex first elicits a value for the slot with priority 1.

If multiple slots share the same priority, the order in which Amazon Lex elicits values is arbitrary.

" } }, "ProcessBehavior": { @@ -1017,6 +1032,12 @@ "refs": { } }, + "QueryFilterString": { + "base": null, + "refs": { + "KendraConfiguration$queryFilterString": "

A query filter that Amazon Lex sends to Amazon Kendra to filter the response from the query. The filter is in the format defined by Amazon Kendra. For more information, see Filtering queries.

You can override this filter string with a new filter string at runtime.

" + } + }, "ReferenceType": { "base": null, "refs": { @@ -1443,6 +1464,12 @@ "SlotTypeMetadata$version": "

The version of the slot type.

", "UtteranceList$botVersion": "

The version of the bot that processed the list.

" } + }, + "roleArn": { + "base": null, + "refs": { + "KendraConfiguration$role": "

The Amazon Resource Name (ARN) of an IAM role that has permission to search the Amazon Kendra index. The role must be in the same account and Region as the Amazon Lex bot. If the role does not exist, you get an exception when you call the PutIntent operation.

" + } } } } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 6b3fda2a207..cc0ba4732a4 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -965,6 +965,20 @@ "us-west-2" : { } } }, + "codeartifact" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, "codebuild" : { "endpoints" : { "ap-east-1" : { }, @@ -2572,6 +2586,7 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, @@ -6281,6 +6296,12 @@ "cn-northwest-1" : { } } }, + "kinesisanalytics" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "kms" : { "endpoints" : { "cn-north-1" : { }, diff --git a/service/ecs/api.go b/service/ecs/api.go index 8a85c7cd85e..0838f1be037 100644 --- a/service/ecs/api.go +++ b/service/ecs/api.go @@ -89,6 +89,13 @@ func (c *ECS) CreateCapacityProviderRequest(input *CreateCapacityProviderInput) // * LimitExceededException // The limit for the resource has been exceeded. // +// * UpdateInProgressException +// There is already a current Amazon ECS container agent update in progress +// on the specified container instance. If the container agent becomes disconnected +// while it is in a transitional stage, such as PENDING or STAGING, the update +// process can get stuck in that state. However, when the agent reconnects, +// it resumes where it stopped previously. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProvider func (c *ECS) CreateCapacityProvider(input *CreateCapacityProviderInput) (*CreateCapacityProviderOutput, error) { req, out := c.CreateCapacityProviderRequest(input) @@ -708,6 +715,108 @@ func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttribut return out, req.Send() } +const opDeleteCapacityProvider = "DeleteCapacityProvider" + +// DeleteCapacityProviderRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCapacityProvider operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCapacityProvider for more information on using the DeleteCapacityProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteCapacityProviderRequest method. +// req, resp := client.DeleteCapacityProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProvider +func (c *ECS) DeleteCapacityProviderRequest(input *DeleteCapacityProviderInput) (req *request.Request, output *DeleteCapacityProviderOutput) { + op := &request.Operation{ + Name: opDeleteCapacityProvider, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCapacityProviderInput{} + } + + output = &DeleteCapacityProviderOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCapacityProvider API operation for Amazon EC2 Container Service. +// +// Deletes the specified capacity provider. +// +// The FARGATE and FARGATE_SPOT capacity providers are reserved and cannot 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 are not associated with +// a cluster can be deleted. To remove a capacity provider from a cluster, you +// can either use PutClusterCapacityProviders or delete the cluster. +// +// 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. +// +// See the AWS API reference guide for Amazon EC2 Container Service's +// API operation DeleteCapacityProvider for usage and error information. +// +// Returned Error Types: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProvider +func (c *ECS) DeleteCapacityProvider(input *DeleteCapacityProviderInput) (*DeleteCapacityProviderOutput, error) { + req, out := c.DeleteCapacityProviderRequest(input) + return out, req.Send() +} + +// DeleteCapacityProviderWithContext is the same as DeleteCapacityProvider with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCapacityProvider for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ECS) DeleteCapacityProviderWithContext(ctx aws.Context, input *DeleteCapacityProviderInput, opts ...request.Option) (*DeleteCapacityProviderOutput, error) { + req, out := c.DeleteCapacityProviderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteCluster = "DeleteCluster" // DeleteClusterRequest generates a "aws/request.Request" representing the @@ -6033,7 +6142,8 @@ type CapacityProvider struct { Name *string `locationName:"name" type:"string"` // The current status of the capacity provider. Only capacity providers in an - // ACTIVE state can be used in a cluster. + // ACTIVE state can be used in a cluster. When a capacity provider is successfully + // deleted, it will have an INACTIVE status. Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` // The metadata that you apply to the capacity provider to help you categorize @@ -6063,6 +6173,28 @@ type CapacityProvider struct { // cannot edit or delete tag keys or values with this prefix. Tags with this // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` + + // The update status of the capacity provider. The following are the possible + // states that will be returned. + // + // DELETE_IN_PROGRESS + // + // The capacity provider is in the process of being deleted. + // + // DELETE_COMPLETE + // + // The capacity provider has been successfully deleted and will have an INACTIVE + // status. + // + // DELETE_FAILED + // + // The capacity provider was unable to be deleted. The update status reason + // will provide further details about why the delete failed. + UpdateStatus *string `locationName:"updateStatus" type:"string" enum:"CapacityProviderUpdateStatus"` + + // The update status reason. This provides further details about the update + // status for the capacity provider. + UpdateStatusReason *string `locationName:"updateStatusReason" type:"string"` } // String returns the string representation @@ -6105,6 +6237,18 @@ func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { return s } +// SetUpdateStatus sets the UpdateStatus field's value. +func (s *CapacityProvider) SetUpdateStatus(v string) *CapacityProvider { + s.UpdateStatus = &v + return s +} + +// SetUpdateStatusReason sets the UpdateStatusReason field's value. +func (s *CapacityProvider) SetUpdateStatusReason(v string) *CapacityProvider { + s.UpdateStatusReason = &v + return s +} + // The details of a capacity provider strategy. type CapacityProviderStrategyItem struct { _ struct{} `type:"structure"` @@ -7421,8 +7565,9 @@ type ContainerDefinition struct { // namespaced kernel parameters as well as the containers. SystemControls []*SystemControl `locationName:"systemControls" type:"list"` - // A list of ulimits to set in the container. This parameter maps to Ulimits - // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) + // A list of ulimits to set in the container. If a ulimit value is specified + // in a task definition, it will override the default values set by Docker. + // This parameter maps to Ulimits in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). // Valid naming values are displayed in the Ulimit data type. This parameter @@ -9549,6 +9694,68 @@ func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributes return s } +type DeleteCapacityProviderInput struct { + _ struct{} `type:"structure"` + + // The short name or full Amazon Resource Name (ARN) of the capacity provider + // to delete. + // + // CapacityProvider is a required field + CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCapacityProviderInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCapacityProviderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCapacityProviderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCapacityProviderInput"} + if s.CapacityProvider == nil { + invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapacityProvider sets the CapacityProvider field's value. +func (s *DeleteCapacityProviderInput) SetCapacityProvider(v string) *DeleteCapacityProviderInput { + s.CapacityProvider = &v + return s +} + +type DeleteCapacityProviderOutput struct { + _ struct{} `type:"structure"` + + // The details of a capacity provider. + CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` +} + +// String returns the string representation +func (s DeleteCapacityProviderOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCapacityProviderOutput) GoString() string { + return s.String() +} + +// SetCapacityProvider sets the CapacityProvider field's value. +func (s *DeleteCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *DeleteCapacityProviderOutput { + s.CapacityProvider = v + return s +} + type DeleteClusterInput struct { _ struct{} `type:"structure"` @@ -12157,7 +12364,7 @@ type ListAccountSettingsInput struct { // returns up to 10 results and a nextToken value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The resource name you want to list the account settings for. + // The name of the account setting you want to list the settings for. Name *string `locationName:"name" type:"string" enum:"SettingName"` // The nextToken value returned from a ListAccountSettings request indicating @@ -14821,8 +15028,11 @@ type RegisterTaskDefinitionInput struct { // (30 GB) in increments of 1024 (1 GB) Cpu *string `locationName:"cpu" type:"string"` - // The Amazon Resource Name (ARN) of the task execution role that the Amazon - // ECS container agent and the Docker daemon can assume. + // The Amazon Resource Name (ARN) of the task execution role that grants the + // Amazon ECS container agent permission to make AWS API calls on your behalf. + // The task execution IAM role is required depending on the requirements of + // your task. For more information, see Amazon ECS task execution IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) + // in the Amazon Elastic Container Service Developer Guide. ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` // You must specify a family for a task definition, which allows you to track @@ -18001,9 +18211,11 @@ type TaskDefinition struct { // (30 GB) in increments of 1024 (1 GB) Cpu *string `locationName:"cpu" type:"string"` - // The Amazon Resource Name (ARN) of the task execution role that containers - // in this task can assume. All containers in this task are granted the permissions - // that are specified in this role. + // The Amazon Resource Name (ARN) of the task execution role that grants the + // Amazon ECS container agent permission to make AWS API calls on your behalf. + // The task execution IAM role is required depending on the requirements of + // your task. For more information, see Amazon ECS task execution IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) + // in the Amazon Elastic Container Service Developer Guide. ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` // The name of a family that this task definition is registered to. Up to 255 @@ -18366,8 +18578,8 @@ type TaskOverride struct { // The cpu override for the task. Cpu *string `locationName:"cpu" type:"string"` - // The Amazon Resource Name (ARN) of the task execution role that the Amazon - // ECS container agent and the Docker daemon can assume. + // The Amazon Resource Name (ARN) of the task execution IAM role override for + // the task. ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` // The Elastic Inference accelerator override for the task. @@ -19866,10 +20078,11 @@ func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { return s } -// A data volume used in a task definition. For tasks that use a Docker volume, -// specify a DockerVolumeConfiguration. For tasks that use a bind mount host -// volume, specify a host and optional sourcePath. For more information, see -// Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). +// A data volume used in a task definition. For tasks that use Amazon Elastic +// File System (Amazon EFS) file storage, specify an efsVolumeConfiguration. +// For tasks that use a Docker volume, specify a DockerVolumeConfiguration. +// For tasks that use a bind mount host volume, specify a host and optional +// sourcePath. For more information, see Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). type Volume struct { _ struct{} `type:"structure"` @@ -19880,23 +20093,15 @@ type Volume struct { DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` // This parameter is specified when you are using an Amazon Elastic File System - // (Amazon EFS) file storage. Amazon EFS file systems are only supported when - // you are using the EC2 launch type. - // - // EFSVolumeConfiguration 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 - // of EFSVolumeConfiguration. + // file system for task storage. EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` - // This parameter is specified when you are using bind mount host volumes. Bind - // mount host volumes are supported when you are using either the EC2 or Fargate - // launch types. The contents of the host parameter determine whether your bind - // mount host volume persists on the host container instance and where it is - // stored. If the host parameter is empty, then the Docker daemon assigns a - // host path for your data volume. However, the data is not guaranteed to persist - // after the containers associated with it stop running. + // This parameter is specified when you are using bind mount host volumes. The + // contents of the host parameter determine whether your bind mount host volume + // persists on the host container instance and where it is stored. If the host + // parameter is empty, then the Docker daemon assigns a host path for your data + // volume. However, the data is not guaranteed to persist after the containers + // associated with it stop running. // // Windows containers can mount whole directories on the same drive as $env:ProgramData. // Windows containers cannot mount directories on a different drive, and mount @@ -20031,6 +20236,20 @@ const ( const ( // CapacityProviderStatusActive is a CapacityProviderStatus enum value CapacityProviderStatusActive = "ACTIVE" + + // CapacityProviderStatusInactive is a CapacityProviderStatus enum value + CapacityProviderStatusInactive = "INACTIVE" +) + +const ( + // CapacityProviderUpdateStatusDeleteInProgress is a CapacityProviderUpdateStatus enum value + CapacityProviderUpdateStatusDeleteInProgress = "DELETE_IN_PROGRESS" + + // CapacityProviderUpdateStatusDeleteComplete is a CapacityProviderUpdateStatus enum value + CapacityProviderUpdateStatusDeleteComplete = "DELETE_COMPLETE" + + // CapacityProviderUpdateStatusDeleteFailed is a CapacityProviderUpdateStatus enum value + CapacityProviderUpdateStatusDeleteFailed = "DELETE_FAILED" ) const ( diff --git a/service/ecs/ecsiface/interface.go b/service/ecs/ecsiface/interface.go index 837f3e403f1..deeb5b70a88 100644 --- a/service/ecs/ecsiface/interface.go +++ b/service/ecs/ecsiface/interface.go @@ -84,6 +84,10 @@ type ECSAPI interface { DeleteAttributesWithContext(aws.Context, *ecs.DeleteAttributesInput, ...request.Option) (*ecs.DeleteAttributesOutput, error) DeleteAttributesRequest(*ecs.DeleteAttributesInput) (*request.Request, *ecs.DeleteAttributesOutput) + DeleteCapacityProvider(*ecs.DeleteCapacityProviderInput) (*ecs.DeleteCapacityProviderOutput, error) + DeleteCapacityProviderWithContext(aws.Context, *ecs.DeleteCapacityProviderInput, ...request.Option) (*ecs.DeleteCapacityProviderOutput, error) + DeleteCapacityProviderRequest(*ecs.DeleteCapacityProviderInput) (*request.Request, *ecs.DeleteCapacityProviderOutput) + DeleteCluster(*ecs.DeleteClusterInput) (*ecs.DeleteClusterOutput, error) DeleteClusterWithContext(aws.Context, *ecs.DeleteClusterInput, ...request.Option) (*ecs.DeleteClusterOutput, error) DeleteClusterRequest(*ecs.DeleteClusterInput) (*request.Request, *ecs.DeleteClusterOutput) diff --git a/service/imagebuilder/api.go b/service/imagebuilder/api.go index 94d810886bf..9241f58c9a6 100644 --- a/service/imagebuilder/api.go +++ b/service/imagebuilder/api.go @@ -207,6 +207,10 @@ func (c *Imagebuilder) CreateComponentRequest(input *CreateComponentInput) (req // You have specified two or more mutually exclusive parameters. Review the // error message for details. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateComponent func (c *Imagebuilder) CreateComponent(input *CreateComponentInput) (*CreateComponentOutput, error) { req, out := c.CreateComponentRequest(input) @@ -319,6 +323,10 @@ func (c *Imagebuilder) CreateDistributionConfigurationRequest(input *CreateDistr // You have specified two or more mutually exclusive parameters. Review the // error message for details. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateDistributionConfiguration func (c *Imagebuilder) CreateDistributionConfiguration(input *CreateDistributionConfigurationInput) (*CreateDistributionConfigurationOutput, error) { req, out := c.CreateDistributionConfigurationRequest(input) @@ -424,6 +432,10 @@ func (c *Imagebuilder) CreateImageRequest(input *CreateImageInput) (req *request // The resource that you are trying to operate on is currently in use. Review // the message details and retry later. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImage func (c *Imagebuilder) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) { req, out := c.CreateImageRequest(input) @@ -532,6 +544,10 @@ func (c *Imagebuilder) CreateImagePipelineRequest(input *CreateImagePipelineInpu // * ResourceAlreadyExistsException // The resource that you are trying to create already exists. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImagePipeline func (c *Imagebuilder) CreateImagePipeline(input *CreateImagePipelineInput) (*CreateImagePipelineOutput, error) { req, out := c.CreateImagePipelineRequest(input) @@ -643,6 +659,10 @@ func (c *Imagebuilder) CreateImageRecipeRequest(input *CreateImageRecipeInput) ( // * ResourceAlreadyExistsException // The resource that you are trying to create already exists. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageRecipe func (c *Imagebuilder) CreateImageRecipe(input *CreateImageRecipeInput) (*CreateImageRecipeOutput, error) { req, out := c.CreateImageRecipeRequest(input) @@ -751,6 +771,10 @@ func (c *Imagebuilder) CreateInfrastructureConfigurationRequest(input *CreateInf // * ResourceAlreadyExistsException // The resource that you are trying to create already exists. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateInfrastructureConfiguration func (c *Imagebuilder) CreateInfrastructureConfiguration(input *CreateInfrastructureConfigurationInput) (*CreateInfrastructureConfigurationOutput, error) { req, out := c.CreateInfrastructureConfigurationRequest(input) @@ -2863,7 +2887,7 @@ func (c *Imagebuilder) ListImageBuildVersionsRequest(input *ListImageBuildVersio // ListImageBuildVersions API operation for EC2 Image Builder. // -// Returns a list of distribution configurations. +// Returns a list of image build versions. // // 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 @@ -3494,7 +3518,7 @@ func (c *Imagebuilder) ListImagesRequest(input *ListImagesInput) (req *request.R // ListImages API operation for EC2 Image Builder. // -// Returns the list of image build versions for the specified semantic version. +// Returns the list of images that you have access to. // // 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 @@ -6253,6 +6277,9 @@ type CreateImageRecipeInput struct { // The tags of the image recipe. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The working directory to be used during build and test workflows. + WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` } // String returns the string representation @@ -6295,6 +6322,9 @@ func (s *CreateImageRecipeInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.WorkingDirectory != nil && len(*s.WorkingDirectory) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkingDirectory", 1)) + } if s.BlockDeviceMappings != nil { for i, v := range s.BlockDeviceMappings { if v == nil { @@ -6370,6 +6400,12 @@ func (s *CreateImageRecipeInput) SetTags(v map[string]*string) *CreateImageRecip return s } +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *CreateImageRecipeInput) SetWorkingDirectory(v string) *CreateImageRecipeInput { + s.WorkingDirectory = &v + return s +} + type CreateImageRecipeOutput struct { _ struct{} `type:"structure"` @@ -6444,6 +6480,9 @@ type CreateInfrastructureConfigurationInput struct { // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` + // The tags attached to the resource created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The security group IDs to associate with the instance used to customize your // EC2 AMI. SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` @@ -6494,6 +6533,9 @@ func (s *CreateInfrastructureConfigurationInput) Validate() error { if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } + if s.ResourceTags != nil && len(s.ResourceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) + } if s.SubnetId != nil && len(*s.SubnetId) < 1 { invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) } @@ -6554,6 +6596,12 @@ func (s *CreateInfrastructureConfigurationInput) SetName(v string) *CreateInfras return s } +// SetResourceTags sets the ResourceTags field's value. +func (s *CreateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *CreateInfrastructureConfigurationInput { + s.ResourceTags = v + return s +} + // SetSecurityGroupIds sets the SecurityGroupIds field's value. func (s *CreateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *CreateInfrastructureConfigurationInput { s.SecurityGroupIds = v @@ -8534,6 +8582,9 @@ type ImageRecipe struct { // The version of the image recipe. Version *string `locationName:"version" type:"string"` + + // The working directory to be used during build and test workflows. + WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` } // String returns the string representation @@ -8612,6 +8663,12 @@ func (s *ImageRecipe) SetVersion(v string) *ImageRecipe { return s } +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *ImageRecipe) SetWorkingDirectory(v string) *ImageRecipe { + s.WorkingDirectory = &v + return s +} + // A summary of an image recipe. type ImageRecipeSummary struct { _ struct{} `type:"structure"` @@ -9210,6 +9267,9 @@ type InfrastructureConfiguration struct { // The name of the infrastructure configuration. Name *string `locationName:"name" type:"string"` + // The tags attached to the resource created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The security group IDs of the infrastructure configuration. SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` @@ -9290,6 +9350,12 @@ func (s *InfrastructureConfiguration) SetName(v string) *InfrastructureConfigura return s } +// SetResourceTags sets the ResourceTags field's value. +func (s *InfrastructureConfiguration) SetResourceTags(v map[string]*string) *InfrastructureConfiguration { + s.ResourceTags = v + return s +} + // SetSecurityGroupIds sets the SecurityGroupIds field's value. func (s *InfrastructureConfiguration) SetSecurityGroupIds(v []*string) *InfrastructureConfiguration { s.SecurityGroupIds = v @@ -9339,6 +9405,9 @@ type InfrastructureConfigurationSummary struct { // The name of the infrastructure configuration. Name *string `locationName:"name" type:"string"` + // The tags attached to the image created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The tags of the infrastructure configuration. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } @@ -9383,6 +9452,12 @@ func (s *InfrastructureConfigurationSummary) SetName(v string) *InfrastructureCo return s } +// SetResourceTags sets the ResourceTags field's value. +func (s *InfrastructureConfigurationSummary) SetResourceTags(v map[string]*string) *InfrastructureConfigurationSummary { + s.ResourceTags = v + return s +} + // SetTags sets the Tags field's value. func (s *InfrastructureConfigurationSummary) SetTags(v map[string]*string) *InfrastructureConfigurationSummary { s.Tags = v @@ -11696,6 +11771,63 @@ func (s *ServiceException) RequestID() string { return s.RespMetadata.RequestID } +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + // The service is unable to process your request at this time. type ServiceUnavailableException struct { _ struct{} `type:"structure"` @@ -12343,6 +12475,9 @@ type UpdateInfrastructureConfigurationInput struct { // The logging configuration of the infrastructure configuration. Logging *Logging `locationName:"logging" type:"structure"` + // The tags attached to the resource created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The security group IDs to associate with the instance used to customize your // EC2 AMI. SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` @@ -12390,6 +12525,9 @@ func (s *UpdateInfrastructureConfigurationInput) Validate() error { if s.KeyPair != nil && len(*s.KeyPair) < 1 { invalidParams.Add(request.NewErrParamMinLen("KeyPair", 1)) } + if s.ResourceTags != nil && len(s.ResourceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) + } if s.SubnetId != nil && len(*s.SubnetId) < 1 { invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) } @@ -12447,6 +12585,12 @@ func (s *UpdateInfrastructureConfigurationInput) SetLogging(v *Logging) *UpdateI return s } +// SetResourceTags sets the ResourceTags field's value. +func (s *UpdateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *UpdateInfrastructureConfigurationInput { + s.ResourceTags = v + return s +} + // SetSecurityGroupIds sets the SecurityGroupIds field's value. func (s *UpdateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateInfrastructureConfigurationInput { s.SecurityGroupIds = v diff --git a/service/imagebuilder/errors.go b/service/imagebuilder/errors.go index 3f688043e53..d40ea63665e 100644 --- a/service/imagebuilder/errors.go +++ b/service/imagebuilder/errors.go @@ -105,6 +105,13 @@ const ( // This exception is thrown when the service encounters an unrecoverable exception. ErrCodeServiceException = "ServiceException" + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // You have exceeded the number of permitted resources or operations for this + // service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + // ErrCodeServiceUnavailableException for service response error code // "ServiceUnavailableException". // @@ -128,5 +135,6 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ResourceInUseException": newErrorResourceInUseException, "ResourceNotFoundException": newErrorResourceNotFoundException, "ServiceException": newErrorServiceException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, "ServiceUnavailableException": newErrorServiceUnavailableException, } diff --git a/service/lexmodelbuildingservice/api.go b/service/lexmodelbuildingservice/api.go index 5f334ee6141..9aff5ee16e5 100644 --- a/service/lexmodelbuildingservice/api.go +++ b/service/lexmodelbuildingservice/api.go @@ -5513,6 +5513,10 @@ type CreateIntentVersionOutput struct { // Describes how the intent is fulfilled. FulfillmentActivity *FulfillmentActivity `locationName:"fulfillmentActivity" type:"structure"` + // Configuration information, if any, for connectin an Amazon Kendra index with + // the AMAZON.KendraSearchIntent intent. + KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"` + // The date that the intent was updated. LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"` @@ -5595,6 +5599,12 @@ func (s *CreateIntentVersionOutput) SetFulfillmentActivity(v *FulfillmentActivit return s } +// SetKendraConfiguration sets the KendraConfiguration field's value. +func (s *CreateIntentVersionOutput) SetKendraConfiguration(v *KendraConfiguration) *CreateIntentVersionOutput { + s.KendraConfiguration = v + return s +} + // SetLastUpdatedDate sets the LastUpdatedDate field's value. func (s *CreateIntentVersionOutput) SetLastUpdatedDate(v time.Time) *CreateIntentVersionOutput { s.LastUpdatedDate = &v @@ -8325,6 +8335,10 @@ type GetIntentOutput struct { // Describes how the intent is fulfilled. For more information, see PutIntent. FulfillmentActivity *FulfillmentActivity `locationName:"fulfillmentActivity" type:"structure"` + // Configuration information, if any, to connect to an Amazon Kendra index with + // the AMAZON.KendraSearchIntent intent. + KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"` + // The date that the intent was updated. When you create a resource, the creation // date and the last updated date are the same. LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"` @@ -8407,6 +8421,12 @@ func (s *GetIntentOutput) SetFulfillmentActivity(v *FulfillmentActivity) *GetInt return s } +// SetKendraConfiguration sets the KendraConfiguration field's value. +func (s *GetIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *GetIntentOutput { + s.KendraConfiguration = v + return s +} + // SetLastUpdatedDate sets the LastUpdatedDate field's value. func (s *GetIntentOutput) SetLastUpdatedDate(v time.Time) *GetIntentOutput { s.LastUpdatedDate = &v @@ -9296,6 +9316,87 @@ func (s *InternalFailureException) RequestID() string { return s.RespMetadata.RequestID } +// Provides configuration information for the AMAZON.KendraSearchIntent intent. +// When you use this intent, Amazon Lex searches the specified Amazon Kendra +// index and returns documents from the index that match the user's utterance. +// For more information, see AMAZON.KendraSearchIntent (http://docs.aws.amazon.com/lex/latest/dg/built-in-intent-kendra-search.html). +type KendraConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the + // AMAZON.KendraSearchIntent intent to search. The index must be in the same + // account and Region as the Amazon Lex bot. If the Amazon Kendra index does + // not exist, you get an exception when you call the PutIntent operation. + // + // KendraIndex is a required field + KendraIndex *string `locationName:"kendraIndex" min:"20" type:"string" required:"true"` + + // A query filter that Amazon Lex sends to Amazon Kendra to filter the response + // from the query. The filter is in the format defined by Amazon Kendra. For + // more information, see Filtering queries (http://docs.aws.amazon.com/kendra/latest/dg/filtering.html). + // + // You can override this filter string with a new filter string at runtime. + QueryFilterString *string `locationName:"queryFilterString" type:"string"` + + // The Amazon Resource Name (ARN) of an IAM role that has permission to search + // the Amazon Kendra index. The role must be in the same account and Region + // as the Amazon Lex bot. If the role does not exist, you get an exception when + // you call the PutIntent operation. + // + // Role is a required field + Role *string `locationName:"role" min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s KendraConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KendraConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KendraConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KendraConfiguration"} + if s.KendraIndex == nil { + invalidParams.Add(request.NewErrParamRequired("KendraIndex")) + } + if s.KendraIndex != nil && len(*s.KendraIndex) < 20 { + invalidParams.Add(request.NewErrParamMinLen("KendraIndex", 20)) + } + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Role != nil && len(*s.Role) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Role", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKendraIndex sets the KendraIndex field's value. +func (s *KendraConfiguration) SetKendraIndex(v string) *KendraConfiguration { + s.KendraIndex = &v + return s +} + +// SetQueryFilterString sets the QueryFilterString field's value. +func (s *KendraConfiguration) SetQueryFilterString(v string) *KendraConfiguration { + s.QueryFilterString = &v + return s +} + +// SetRole sets the Role field's value. +func (s *KendraConfiguration) SetRole(v string) *KendraConfiguration { + s.Role = &v + return s +} + // The request exceeded a limit. Try your request again. type LimitExceededException struct { _ struct{} `type:"structure"` @@ -10693,6 +10794,11 @@ type PutIntentInput struct { // process the intent (for example, place an order with a pizzeria). FulfillmentActivity *FulfillmentActivity `locationName:"fulfillmentActivity" type:"structure"` + // Configuration information required to use the AMAZON.KendraSearchIntent intent + // to connect to an Amazon Kendra index. For more information, see AMAZON.KendraSearchIntent + // (http://docs.aws.amazon.com/lex/latest/dg/built-in-intent-kendra-search.html). + KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"` + // The name of the intent. The name is not case sensitive. // // The name can't match a built-in intent name, or a built-in intent name with @@ -10774,6 +10880,11 @@ func (s *PutIntentInput) Validate() error { invalidParams.AddNested("FulfillmentActivity", err.(request.ErrInvalidParams)) } } + if s.KendraConfiguration != nil { + if err := s.KendraConfiguration.Validate(); err != nil { + invalidParams.AddNested("KendraConfiguration", err.(request.ErrInvalidParams)) + } + } if s.RejectionStatement != nil { if err := s.RejectionStatement.Validate(); err != nil { invalidParams.AddNested("RejectionStatement", err.(request.ErrInvalidParams)) @@ -10844,6 +10955,12 @@ func (s *PutIntentInput) SetFulfillmentActivity(v *FulfillmentActivity) *PutInte return s } +// SetKendraConfiguration sets the KendraConfiguration field's value. +func (s *PutIntentInput) SetKendraConfiguration(v *KendraConfiguration) *PutIntentInput { + s.KendraConfiguration = v + return s +} + // SetName sets the Name field's value. func (s *PutIntentInput) SetName(v string) *PutIntentInput { s.Name = &v @@ -10912,6 +11029,10 @@ type PutIntentOutput struct { // intent. FulfillmentActivity *FulfillmentActivity `locationName:"fulfillmentActivity" type:"structure"` + // Configuration information, if any, required to connect to an Amazon Kendra + // index and use the AMAZON.KendraSearchIntent intent. + KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"` + // The date that the intent was updated. When you create a resource, the creation // date and last update dates are the same. LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"` @@ -11000,6 +11121,12 @@ func (s *PutIntentOutput) SetFulfillmentActivity(v *FulfillmentActivity) *PutInt return s } +// SetKendraConfiguration sets the KendraConfiguration field's value. +func (s *PutIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *PutIntentOutput { + s.KendraConfiguration = v + return s +} + // SetLastUpdatedDate sets the LastUpdatedDate field's value. func (s *PutIntentOutput) SetLastUpdatedDate(v time.Time) *PutIntentOutput { s.LastUpdatedDate = &v @@ -11459,12 +11586,12 @@ type Slot struct { // (https://docs.aws.amazon.com/lex/latest/dg/how-obfuscate.html). ObfuscationSetting *string `locationName:"obfuscationSetting" type:"string" enum:"ObfuscationSetting"` - // Directs Lex the order in which to elicit this slot value from the user. For - // example, if the intent has two slots with priorities 1 and 2, AWS Lex first - // elicits a value for the slot with priority 1. + // Directs Amazon Lex the order in which to elicit this slot value from the + // user. For example, if the intent has two slots with priorities 1 and 2, AWS + // Amazon Lex first elicits a value for the slot with priority 1. // - // If multiple slots share the same priority, the order in which Lex elicits - // values is arbitrary. + // If multiple slots share the same priority, the order in which Amazon Lex + // elicits values is arbitrary. Priority *int64 `locationName:"priority" type:"integer"` // A set of possible responses for the slot type used by text-based clients.