diff --git a/CHANGELOG.md b/CHANGELOG.md index bb5bae43f6c..e5236cdc65d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ +Release v1.44.300 (2023-07-13) +=== + +### Service Client Updates +* `service/cognito-idp`: Updates service API +* `service/connect`: Updates service API and documentation +* `service/datasync`: Updates service API and documentation +* `service/dms`: Updates service API and documentation + * Enhanced PostgreSQL target endpoint settings for providing Babelfish support. +* `service/ec2`: Updates service API + * This release adds support for the C7gn and Hpc7g instances. C7gn instances are powered by AWS Graviton3 processors and the fifth-generation AWS Nitro Cards. Hpc7g instances are powered by AWS Graviton 3E processors and provide up to 200 Gbps network bandwidth. +* `service/fsx`: Updates service API and documentation +* `service/iam`: Updates service documentation + * Documentation updates for AWS Identity and Access Management (IAM). +* `service/mediatailor`: Updates service API and documentation +* `service/personalize`: Updates service API and documentation +* `service/proton`: Updates service API, documentation, and paginators +* `service/s3`: Updates service API, documentation, and examples + * S3 Inventory now supports Object Access Control List and Object Owner as available object metadata fields in inventory reports. +* `service/sagemaker`: Updates service API and documentation + * Amazon SageMaker Canvas adds WorkspeceSettings support for CanvasAppSettings +* `service/secretsmanager`: Updates service documentation and examples + * Documentation updates for Secrets Manager + Release v1.44.299 (2023-07-11) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 8b35bfb89cd..74c0f42ced6 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -13886,11 +13886,21 @@ var awsPartition = partition{ }: endpoint{ Hostname: "internetmonitor.ap-northeast-2.api.aws", }, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{ + Hostname: "internetmonitor.ap-northeast-3.api.aws", + }, endpointKey{ Region: "ap-south-1", }: endpoint{ Hostname: "internetmonitor.ap-south-1.api.aws", }, + endpointKey{ + Region: "ap-south-2", + }: endpoint{ + Hostname: "internetmonitor.ap-south-2.api.aws", + }, endpointKey{ Region: "ap-southeast-1", }: endpoint{ @@ -13901,6 +13911,16 @@ var awsPartition = partition{ }: endpoint{ Hostname: "internetmonitor.ap-southeast-2.api.aws", }, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{ + Hostname: "internetmonitor.ap-southeast-3.api.aws", + }, + endpointKey{ + Region: "ap-southeast-4", + }: endpoint{ + Hostname: "internetmonitor.ap-southeast-4.api.aws", + }, endpointKey{ Region: "ca-central-1", }: endpoint{ @@ -13911,6 +13931,11 @@ var awsPartition = partition{ }: endpoint{ Hostname: "internetmonitor.eu-central-1.api.aws", }, + endpointKey{ + Region: "eu-central-2", + }: endpoint{ + Hostname: "internetmonitor.eu-central-2.api.aws", + }, endpointKey{ Region: "eu-north-1", }: endpoint{ @@ -13921,6 +13946,11 @@ var awsPartition = partition{ }: endpoint{ Hostname: "internetmonitor.eu-south-1.api.aws", }, + endpointKey{ + Region: "eu-south-2", + }: endpoint{ + Hostname: "internetmonitor.eu-south-2.api.aws", + }, endpointKey{ Region: "eu-west-1", }: endpoint{ @@ -13936,6 +13966,11 @@ var awsPartition = partition{ }: endpoint{ Hostname: "internetmonitor.eu-west-3.api.aws", }, + endpointKey{ + Region: "me-central-1", + }: endpoint{ + Hostname: "internetmonitor.me-central-1.api.aws", + }, endpointKey{ Region: "me-south-1", }: endpoint{ @@ -17569,6 +17604,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, @@ -26787,6 +26825,12 @@ var awsPartition = partition{ endpointKey{ Region: "ca-central-1", }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "ssm-incidents-fips.ca-central-1.amazonaws.com", + }, endpointKey{ Region: "eu-central-1", }: endpoint{}, @@ -26802,21 +26846,90 @@ var awsPartition = partition{ endpointKey{ Region: "eu-west-3", }: endpoint{}, + endpointKey{ + Region: "fips-ca-central-1", + }: endpoint{ + Hostname: "ssm-incidents-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-east-1", + }: endpoint{ + Hostname: "ssm-incidents-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-east-2", + }: endpoint{ + Hostname: "ssm-incidents-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-west-1", + }: endpoint{ + Hostname: "ssm-incidents-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-west-2", + }: endpoint{ + Hostname: "ssm-incidents-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "sa-east-1", }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, + endpointKey{ + Region: "us-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "ssm-incidents-fips.us-east-1.amazonaws.com", + }, endpointKey{ Region: "us-east-2", }: endpoint{}, + endpointKey{ + Region: "us-east-2", + Variant: fipsVariant, + }: endpoint{ + Hostname: "ssm-incidents-fips.us-east-2.amazonaws.com", + }, endpointKey{ Region: "us-west-1", }: endpoint{}, + endpointKey{ + Region: "us-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "ssm-incidents-fips.us-west-1.amazonaws.com", + }, endpointKey{ Region: "us-west-2", }: endpoint{}, + endpointKey{ + Region: "us-west-2", + Variant: fipsVariant, + }: endpoint{ + Hostname: "ssm-incidents-fips.us-west-2.amazonaws.com", + }, }, }, "ssm-sap": service{ @@ -28447,6 +28560,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-3", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-4", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -32344,6 +32460,20 @@ var awscnPartition = partition{ }, }, }, + "savingsplans": service{ + PartitionEndpoint: "aws-cn", + IsRegionalized: boxedFalse, + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "aws-cn", + }: endpoint{ + Hostname: "savingsplans.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "secretsmanager": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -37534,6 +37664,20 @@ var awsusgovPartition = partition{ }: endpoint{}, }, }, + "savingsplans": service{ + PartitionEndpoint: "aws-us-gov-global", + IsRegionalized: boxedFalse, + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "aws-us-gov-global", + }: endpoint{ + Hostname: "savingsplans.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, "secretsmanager": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index 027d9417f4d..45a7728c560 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.299" +const SDKVersion = "1.44.300" diff --git a/models/apis/cognito-idp/2016-04-18/api-2.json b/models/apis/cognito-idp/2016-04-18/api-2.json index f843708b402..6e739fb6615 100644 --- a/models/apis/cognito-idp/2016-04-18/api-2.json +++ b/models/apis/cognito-idp/2016-04-18/api-2.json @@ -4863,7 +4863,8 @@ "type":"string", "max":6, "min":6, - "pattern":"[0-9]+" + "pattern":"[0-9]+", + "sensitive":true }, "SoftwareTokenMfaConfigType":{ "type":"structure", @@ -5284,7 +5285,8 @@ "members":{ "IpAddress":{"shape":"StringType"}, "EncodedData":{"shape":"StringType"} - } + }, + "sensitive":true }, "UserFilterType":{ "type":"string", diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index 547b78e8c9a..758f57183db 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -705,6 +705,22 @@ {"shape":"InternalServiceException"} ] }, + "DeleteQueue":{ + "name":"DeleteQueue", + "http":{ + "method":"DELETE", + "requestUri":"/queues/{InstanceId}/{QueueId}" + }, + "input":{"shape":"DeleteQueueRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "DeleteQuickConnect":{ "name":"DeleteQuickConnect", "http":{ @@ -720,6 +736,22 @@ {"shape":"InternalServiceException"} ] }, + "DeleteRoutingProfile":{ + "name":"DeleteRoutingProfile", + "http":{ + "method":"DELETE", + "requestUri":"/routing-profiles/{InstanceId}/{RoutingProfileId}" + }, + "input":{"shape":"DeleteRoutingProfileRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "DeleteRule":{ "name":"DeleteRule", "http":{ @@ -4859,6 +4891,25 @@ } } }, + "DeleteQueueRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "QueueId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "QueueId":{ + "shape":"QueueId", + "location":"uri", + "locationName":"QueueId" + } + } + }, "DeleteQuickConnectRequest":{ "type":"structure", "required":[ @@ -4878,6 +4929,25 @@ } } }, + "DeleteRoutingProfileRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "RoutingProfileId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "RoutingProfileId":{ + "shape":"RoutingProfileId", + "location":"uri", + "locationName":"RoutingProfileId" + } + } + }, "DeleteRuleRequest":{ "type":"structure", "required":[ diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json index 8a39b1ceacf..b366f917798 100644 --- a/models/apis/connect/2017-08-08/docs-2.json +++ b/models/apis/connect/2017-08-08/docs-2.json @@ -43,7 +43,9 @@ "DeleteInstance": "

This API is in preview release for Amazon Connect and is subject to change.

Deletes the Amazon Connect instance.

Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. If you exceed this limit, you will get an error message indicating there has been an excessive number of attempts at creating or deleting instances. You must wait 30 days before you can restart creating and deleting instances in your account.

", "DeleteIntegrationAssociation": "

Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have any use cases associated with it.

", "DeletePrompt": "

Deletes a prompt.

", + "DeleteQueue": "

Deletes a queue.

", "DeleteQuickConnect": "

Deletes a quick connect.

", + "DeleteRoutingProfile": "

Deletes a routing profile.

", "DeleteRule": "

Deletes a rule for the specified Amazon Connect instance.

", "DeleteSecurityProfile": "

This API is in preview release for Amazon Connect and is subject to change.

Deletes a security profile.

", "DeleteTaskTemplate": "

Deletes the task template.

", @@ -1497,11 +1499,21 @@ "refs": { } }, + "DeleteQueueRequest": { + "base": null, + "refs": { + } + }, "DeleteQuickConnectRequest": { "base": null, "refs": { } }, + "DeleteRoutingProfileRequest": { + "base": null, + "refs": { + } + }, "DeleteRuleRequest": { "base": null, "refs": { @@ -2858,7 +2870,9 @@ "DeleteInstanceRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteIntegrationAssociationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeletePromptRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "DeleteQueueRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteQuickConnectRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "DeleteRoutingProfileRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteRuleRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteSecurityProfileRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "DeleteTaskTemplateRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", @@ -4399,6 +4413,7 @@ "AssociateQueueQuickConnectsRequest$QueueId": "

The identifier for the queue.

", "CreateQueueResponse$QueueId": "

The identifier for the queue.

", "CreateRoutingProfileRequest$DefaultOutboundQueueId": "

The default outbound queue for the routing profile.

", + "DeleteQueueRequest$QueueId": "

The identifier for the queue.

", "DescribeQueueRequest$QueueId": "

The identifier for the queue.

", "DisassociateQueueQuickConnectsRequest$QueueId": "

The identifier for the queue.

", "ListQueueQuickConnectsRequest$QueueId": "

The identifier for the queue.

", @@ -4854,6 +4869,7 @@ "AssociateRoutingProfileQueuesRequest$RoutingProfileId": "

The identifier of the routing profile.

", "CreateRoutingProfileResponse$RoutingProfileId": "

The identifier of the routing profile.

", "CreateUserRequest$RoutingProfileId": "

The identifier of the routing profile for the user.

", + "DeleteRoutingProfileRequest$RoutingProfileId": "

The identifier of the routing profile.

", "DescribeRoutingProfileRequest$RoutingProfileId": "

The identifier of the routing profile.

", "DisassociateRoutingProfileQueuesRequest$RoutingProfileId": "

The identifier of the routing profile.

", "ListRoutingProfileQueuesRequest$RoutingProfileId": "

The identifier of the routing profile.

", @@ -6311,8 +6327,8 @@ "base": null, "refs": { "GetFederationTokenResponse$SignInUrl": "

The URL to sign into the user's instance.

", - "Instance$InstanceAccessUrl": "

This URL allows contact center users to access Amazon Connect admin website.

", - "InstanceSummary$InstanceAccessUrl": "

This URL allows contact center users to access Amazon Connect admin website.

" + "Instance$InstanceAccessUrl": "

This URL allows contact center users to access the Amazon Connect admin website.

", + "InstanceSummary$InstanceAccessUrl": "

This URL allows contact center users to access the Amazon Connect admin website.

" } }, "UrlReference": { diff --git a/models/apis/datasync/2018-11-09/api-2.json b/models/apis/datasync/2018-11-09/api-2.json index 835b468f28b..88c28326ec0 100644 --- a/models/apis/datasync/2018-11-09/api-2.json +++ b/models/apis/datasync/2018-11-09/api-2.json @@ -2166,7 +2166,8 @@ "ClusterBlockStorageUsed":{"shape":"NonNegativeLong"}, "ClusterBlockStorageLogicalUsed":{"shape":"NonNegativeLong"}, "Recommendations":{"shape":"Recommendations"}, - "RecommendationStatus":{"shape":"RecommendationStatus"} + "RecommendationStatus":{"shape":"RecommendationStatus"}, + "LunCount":{"shape":"NonNegativeLong"} } }, "NetAppONTAPClusters":{ @@ -2188,7 +2189,8 @@ "Recommendations":{"shape":"Recommendations"}, "NfsExportedVolumes":{"shape":"NonNegativeLong"}, "RecommendationStatus":{"shape":"RecommendationStatus"}, - "TotalSnapshotCapacityUsed":{"shape":"NonNegativeLong"} + "TotalSnapshotCapacityUsed":{"shape":"NonNegativeLong"}, + "LunCount":{"shape":"NonNegativeLong"} } }, "NetAppONTAPSVMs":{ @@ -2211,7 +2213,8 @@ "SnapshotCapacityUsed":{"shape":"NonNegativeLong"}, "MaxP95Performance":{"shape":"MaxP95Performance"}, "Recommendations":{"shape":"Recommendations"}, - "RecommendationStatus":{"shape":"RecommendationStatus"} + "RecommendationStatus":{"shape":"RecommendationStatus"}, + "LunCount":{"shape":"NonNegativeLong"} } }, "NetAppONTAPVolumes":{ diff --git a/models/apis/datasync/2018-11-09/docs-2.json b/models/apis/datasync/2018-11-09/docs-2.json index 8d6a54a4a1d..508064a27e7 100644 --- a/models/apis/datasync/2018-11-09/docs-2.json +++ b/models/apis/datasync/2018-11-09/docs-2.json @@ -1,10 +1,10 @@ { "version": "2.0", - "service": "DataSync

DataSync is a managed data transfer service that makes it simpler for you to automate moving data between on-premises storage and Amazon Web Services storage services. You also can use DataSync to transfer data between other cloud providers and Amazon Web Services storage services.

This API interface reference includes documentation for using DataSync programmatically. For complete information, see the DataSync User Guide .

", + "service": "DataSync

DataSync is an online data movement and discovery service that simplifies data migration and helps you quickly, easily, and securely transfer your file or object data to, from, and between Amazon Web Services storage services.

This API interface reference includes documentation for using DataSync programmatically. For complete information, see the DataSync User Guide .

", "operations": { "AddStorageSystem": "

Creates an Amazon Web Services resource for an on-premises storage system that you want DataSync Discovery to collect information about.

", "CancelTaskExecution": "

Stops an DataSync task execution that's in progress. The transfer of some files are abruptly interrupted. File contents that're transferred to the destination might be incomplete or inconsistent with the source files.

However, if you start a new task execution using the same task and allow it to finish, file content on the destination will be complete and consistent. This applies to other unexpected failures that interrupt a task execution. In all of these cases, DataSync successfully completes the transfer when you start the next task execution.

", - "CreateAgent": "

Activates an DataSync agent that you have deployed in your storage environment. The activation process associates your agent with your account. In the activation process, you specify information such as the Amazon Web Services Region that you want to activate the agent in. You activate the agent in the Amazon Web Services Region where your target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created in this Amazon Web Services Region.

You can activate the agent in a VPC (virtual private cloud) or provide the agent access to a VPC endpoint so you can run tasks without going over the public internet.

You can use an agent for more than one location. If a task uses multiple agents, all of them need to have status AVAILABLE for the task to run. If you use multiple agents for a source location, the status of all the agents must be AVAILABLE for the task to run.

Agents are automatically updated by Amazon Web Services on a regular basis, using a mechanism that ensures minimal interruption to your tasks.

", + "CreateAgent": "

Activates an DataSync agent that you've deployed in your storage environment. The activation process associates the agent with your Amazon Web Services account.

If you haven't deployed an agent yet, see the following topics to learn more:

If you're transferring between Amazon Web Services storage services, you don't need a DataSync agent.

", "CreateLocationEfs": "

Creates an endpoint for an Amazon EFS file system that DataSync can access for a transfer. For more information, see Creating a location for Amazon EFS.

", "CreateLocationFsxLustre": "

Creates an endpoint for an Amazon FSx for Lustre file system.

", "CreateLocationFsxOntap": "

Creates an endpoint for an Amazon FSx for NetApp ONTAP file system that DataSync can access for a transfer. For more information, see Creating a location for FSx for ONTAP.

", @@ -64,7 +64,7 @@ "ActivationKey": { "base": null, "refs": { - "CreateAgentRequest$ActivationKey": "

Your agent activation key. You can get the activation key either by sending an HTTP GET request with redirects that enable you to get the agent IP address (port 80). Alternatively, you can get it from the DataSync console.

The redirect URL returned in the response provides you the activation key for your agent in the query string parameter activationKey. It might also include other activation-related parameters; however, these are merely defaults. The arguments you pass to this API call determine the actual configuration of your agent.

For more information, see Activating an Agent in the DataSync User Guide.

" + "CreateAgentRequest$ActivationKey": "

Specifies your DataSync agent's activation key. If you don't have an activation key, see Activate your agent.

" } }, "AddStorageSystemRequest": { @@ -82,7 +82,7 @@ "refs": { "AgentArnList$member": null, "AgentListEntry$AgentArn": "

The Amazon Resource Name (ARN) of a DataSync agent.

", - "CreateAgentResponse$AgentArn": "

The Amazon Resource Name (ARN) of the agent. Use the ListAgents operation to return a list of agents for your account and Amazon Web Services Region.

", + "CreateAgentResponse$AgentArn": "

The ARN of the agent that you just activated. Use the ListAgents operation to return a list of agents in your Amazon Web Services account and Amazon Web Services Region.

", "DeleteAgentRequest$AgentArn": "

The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents operation to return a list of agents for your account and Amazon Web Services Region.

", "DescribeAgentRequest$AgentArn": "

Specifies the Amazon Resource Name (ARN) of the DataSync agent to describe.

", "DescribeAgentResponse$AgentArn": "

The ARN of the agent.

", @@ -920,7 +920,7 @@ "base": null, "refs": { "AddStorageSystemRequest$Tags": "

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your on-premises storage system.

", - "CreateAgentRequest$Tags": "

The key-value pair that represents the tag that you want to associate with the agent. The value can be an empty string. This value helps you manage, filter, and search for your agents.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

", + "CreateAgentRequest$Tags": "

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least one tag for your agent.

", "CreateLocationEfsRequest$Tags": "

Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

", "CreateLocationFsxLustreRequest$Tags": "

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

", "CreateLocationFsxOntapRequest$Tags": "

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.

", @@ -1318,17 +1318,20 @@ "NetAppONTAPCluster$ClusterBlockStorageSize": "

The total storage space that's available in the cluster.

", "NetAppONTAPCluster$ClusterBlockStorageUsed": "

The storage space that's being used in a cluster.

", "NetAppONTAPCluster$ClusterBlockStorageLogicalUsed": "

The storage space that's being used in the cluster without accounting for compression or deduplication.

", + "NetAppONTAPCluster$LunCount": "

The number of LUNs (logical unit numbers) in the cluster.

", "NetAppONTAPSVM$CifsShareCount": "

The number of CIFS shares in the SVM.

", "NetAppONTAPSVM$TotalCapacityUsed": "

The storage space that's being used in the SVM.

", "NetAppONTAPSVM$TotalCapacityProvisioned": "

The total storage space that's available in the SVM.

", "NetAppONTAPSVM$TotalLogicalCapacityUsed": "

The storage space that's being used in the SVM without accounting for compression or deduplication.

", "NetAppONTAPSVM$NfsExportedVolumes": "

The number of NFS volumes in the SVM.

", "NetAppONTAPSVM$TotalSnapshotCapacityUsed": "

The amount of storage in the SVM that's being used for snapshots.

", + "NetAppONTAPSVM$LunCount": "

The number of LUNs (logical unit numbers) in the SVM.

", "NetAppONTAPVolume$CifsShareCount": "

The number of CIFS shares in the volume.

", "NetAppONTAPVolume$CapacityUsed": "

The storage space that's being used in the volume.

", "NetAppONTAPVolume$CapacityProvisioned": "

The total storage space that's available in the volume.

", "NetAppONTAPVolume$LogicalCapacityUsed": "

The storage space that's being used in the volume without accounting for compression or deduplication.

", - "NetAppONTAPVolume$SnapshotCapacityUsed": "

The amount of storage in the volume that's being used for snapshots.

" + "NetAppONTAPVolume$SnapshotCapacityUsed": "

The amount of storage in the volume that's being used for snapshots.

", + "NetAppONTAPVolume$LunCount": "

The number of LUNs (logical unit numbers) in the volume.

" } }, "ObjectStorageAccessKey": { @@ -1348,7 +1351,7 @@ "ObjectStorageCertificate": { "base": null, "refs": { - "CreateLocationObjectStorageRequest$ServerCertificate": "

Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem file (for example, file:///home/user/.ssh/storage_sys_certificate.pem). The certificate can be up to 32768 bytes (before Base64 encoding).

To use this parameter, configure ServerProtocol to HTTPS.

", + "CreateLocationObjectStorageRequest$ServerCertificate": "

Specifies a file with the certificates that are used to sign the object storage server's certificate (for example, file:///home/user/.ssh/storage_sys_certificate.pem). The file you specify must include the following:

The file can be up to 32768 bytes (before base64 encoding).

To use this parameter, configure ServerProtocol to HTTPS.

", "DescribeLocationObjectStorageResponse$ServerCertificate": "

The self-signed certificate that DataSync uses to securely authenticate with your object storage system.

", "UpdateLocationObjectStorageRequest$ServerCertificate": "

Specifies a certificate to authenticate with an object storage system that uses a private or self-signed certificate authority (CA). You must specify a Base64-encoded .pem file (for example, file:///home/user/.ssh/storage_sys_certificate.pem). The certificate can be up to 32768 bytes (before Base64 encoding).

To use this parameter, configure ServerProtocol to HTTPS.

Updating the certificate doesn't interfere with tasks that you have in progress.

" } @@ -1429,14 +1432,14 @@ "PLSecurityGroupArnList": { "base": null, "refs": { - "CreateAgentRequest$SecurityGroupArns": "

The ARNs of the security groups used to protect your data transfer task subnets. See SecurityGroupArns.

", + "CreateAgentRequest$SecurityGroupArns": "

Specifies the Amazon Resource Name (ARN) of the security group that protects your task's network interfaces when using a virtual private cloud (VPC) endpoint.

", "PrivateLinkConfig$SecurityGroupArns": "

The Amazon Resource Names (ARNs) of the security groups that are configured for the EC2 resource that hosts an agent activated in a VPC or an agent that has access to a VPC endpoint.

" } }, "PLSubnetArnList": { "base": null, "refs": { - "CreateAgentRequest$SubnetArns": "

The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic network interfaces for each data transfer task. The agent that runs a task must be private. When you start a task that is associated with an agent created in a VPC, or one that has access to an IP address in a VPC, then the task is also private. In this case, DataSync creates four network interfaces for each task in your subnet. For a data transfer to work, the agent must be able to route to all these four network interfaces.

", + "CreateAgentRequest$SubnetArns": "

Specifies the ARN of the subnet where you want to run your DataSync task when using a VPC endpoint. This is the subnet where DataSync creates and manages the network interfaces for your transfer.

", "PrivateLinkConfig$SubnetArns": "

The Amazon Resource Names (ARNs) of the subnets that are configured for an agent activated in a VPC or an agent that has access to a VPC endpoint.

" } }, @@ -1690,7 +1693,7 @@ "SmbUser": { "base": null, "refs": { - "CreateLocationFsxWindowsRequest$User": "

Specifies the user who has the permissions to access files and folders in the file system.

For information about choosing a user name that ensures sufficient permissions to files, folders, and metadata, see user.

", + "CreateLocationFsxWindowsRequest$User": "

Specifies the user who has the permissions to access files, folders, and metadata in your file system.

For information about choosing a user with sufficient permissions, see Required permissions.

", "CreateLocationSmbRequest$User": "

Specifies the user name that can mount your SMB file server and has permission to access the files and folders involved in your transfer.

For information about choosing a user with the right level of access for your transfer, see required permissions for SMB locations.

", "DescribeLocationFsxWindowsResponse$User": "

The user who has the permissions to access files and folders in the FSx for Windows File Server file system.

", "DescribeLocationSmbResponse$User": "

The user who can mount the share, has the permissions to access files and folders in the SMB share.

", @@ -1813,7 +1816,7 @@ "base": null, "refs": { "AgentListEntry$Name": "

The name of an agent.

", - "CreateAgentRequest$AgentName": "

The name you configured for your agent. This value is a text reference that is used to identify the agent in the console.

", + "CreateAgentRequest$AgentName": "

Specifies a name for your agent. You can see this name in the DataSync console.

", "CreateTaskRequest$Name": "

The name of a task. This value is a text reference that is used to identify the task in the console.

", "DescribeAgentResponse$Name": "

The name of the agent.

", "DescribeTaskResponse$Name": "

The name of the task that was described.

", @@ -1914,7 +1917,7 @@ "TaskQueueing": { "base": null, "refs": { - "Options$TaskQueueing": "

Specifies whether tasks should be queued before executing the tasks. The default is ENABLED, which means the tasks will be queued.

If you use the same agent to run multiple tasks, you can enable the tasks to run in series. For more information, see Queueing task executions.

" + "Options$TaskQueueing": "

Specifies whether your transfer tasks should be put into a queue during certain scenarios when running multiple tasks. This is ENABLED by default.

" } }, "TaskSchedule": { @@ -2085,7 +2088,7 @@ "VpcEndpointId": { "base": null, "refs": { - "CreateAgentRequest$VpcEndpointId": "

The ID of the VPC (virtual private cloud) endpoint that the agent has access to. This is the client-side VPC endpoint, also called a PrivateLink. If you don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service Configuration in the Amazon VPC User Guide.

VPC endpoint ID looks like this: vpce-01234d5aff67890e1.

", + "CreateAgentRequest$VpcEndpointId": "

Specifies the ID of the VPC endpoint that you want your agent to connect to. For example, a VPC endpoint ID looks like vpce-01234d5aff67890e1.

The VPC endpoint you use must include the DataSync service name (for example, com.amazonaws.us-east-2.datasync).

", "PrivateLinkConfig$VpcEndpointId": "

The ID of the VPC endpoint that is configured for an agent. An agent that is configured with a VPC endpoint will not be accessible over the public internet.

" } }, diff --git a/models/apis/dms/2016-01-01/api-2.json b/models/apis/dms/2016-01-01/api-2.json index a38acebc36d..973ab60c630 100644 --- a/models/apis/dms/2016-01-01/api-2.json +++ b/models/apis/dms/2016-01-01/api-2.json @@ -1558,6 +1558,13 @@ "type":"list", "member":{"shape":"DatabaseResponse"} }, + "DatabaseMode":{ + "type":"string", + "enum":[ + "default", + "babelfish" + ] + }, "DatabaseResponse":{ "type":"structure", "members":{ @@ -3128,7 +3135,9 @@ "TrimSpaceInChar":{"shape":"BooleanOptional"}, "MapBooleanAsBoolean":{"shape":"BooleanOptional"}, "MapJsonbAsClob":{"shape":"BooleanOptional"}, - "MapLongVarcharAs":{"shape":"LongVarcharMappingType"} + "MapLongVarcharAs":{"shape":"LongVarcharMappingType"}, + "DatabaseMode":{"shape":"DatabaseMode"}, + "BabelfishDatabaseName":{"shape":"String"} } }, "ProvisionData":{ diff --git a/models/apis/dms/2016-01-01/docs-2.json b/models/apis/dms/2016-01-01/docs-2.json index f395e330fed..02cdfecdc3d 100644 --- a/models/apis/dms/2016-01-01/docs-2.json +++ b/models/apis/dms/2016-01-01/docs-2.json @@ -485,6 +485,12 @@ "DescribeFleetAdvisorDatabasesResponse$Databases": "

Provides descriptions of the Fleet Advisor collector databases, including the database's collector, ID, and name.

" } }, + "DatabaseMode": { + "base": null, + "refs": { + "PostgreSQLSettings$DatabaseMode": "

Specifies whether to use default or custom replication behavior for PostgreSQL-compatible endpoints. You can use this setting to specify replication behavior for endpoints that require additional configuration, such as Babelfish endpoints.

" + } + }, "DatabaseResponse": { "base": "

Describes a database in a Fleet Advisor collector inventory.

", "refs": { @@ -2649,6 +2655,7 @@ "PostgreSQLSettings$SlotName": "

Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the PostgreSQL source instance.

When used with the CdcStartPosition request parameter for the DMS API , this attribute also makes it possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before starting the CDC load task. It also verifies that the task was created with a valid setting of CdcStartPosition. If the specified slot doesn't exist or the task doesn't have a valid CdcStartPosition setting, DMS raises an error.

For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the Database Migration Service User Guide. For more information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask.

", "PostgreSQLSettings$SecretsManagerAccessRoleArn": "

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted entity and grants the required permissions to access the value in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret has the value of the Amazon Web Services Secrets Manager secret that allows access to the PostgreSQL endpoint.

You can specify one of two sets of values for these permissions. You can specify the values for this setting and SecretsManagerSecretId. Or you can specify clear-text values for UserName, Password, ServerName, and Port. You can't specify both. For more information on creating this SecretsManagerSecret and the SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it, see Using secrets to access Database Migration Service resources in the Database Migration Service User Guide.

", "PostgreSQLSettings$SecretsManagerSecretId": "

The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the PostgreSQL endpoint connection details.

", + "PostgreSQLSettings$BabelfishDatabaseName": "

The Babelfish for Aurora PostgreSQL database name for the endpoint.

", "ProvisionData$ProvisionState": "

The current provisioning state

", "ProvisionData$ReasonForNewProvisioningData": "

A message describing the reason that DMS provisioned new resources for the serverless replication.

", "RdsConfiguration$EngineEdition": "

Describes the recommended target Amazon RDS engine edition.

", diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 7c214d10810..5d68598c0c1 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -27281,7 +27281,18 @@ "i4g.2xlarge", "i4g.4xlarge", "i4g.8xlarge", - "i4g.16xlarge" + "i4g.16xlarge", + "hpc7g.4xlarge", + "hpc7g.8xlarge", + "hpc7g.16xlarge", + "c7gn.medium", + "c7gn.large", + "c7gn.xlarge", + "c7gn.2xlarge", + "c7gn.4xlarge", + "c7gn.8xlarge", + "c7gn.12xlarge", + "c7gn.16xlarge" ] }, "InstanceTypeHypervisor":{ diff --git a/models/apis/fsx/2018-03-01/api-2.json b/models/apis/fsx/2018-03-01/api-2.json index 5956e6891ca..26140b7594e 100644 --- a/models/apis/fsx/2018-03-01/api-2.json +++ b/models/apis/fsx/2018-03-01/api-2.json @@ -869,6 +869,30 @@ "NEW_CHANGED_DELETED" ] }, + "AutocommitPeriod":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{"shape":"AutocommitPeriodType"}, + "Value":{"shape":"AutocommitPeriodValue"} + } + }, + "AutocommitPeriodType":{ + "type":"string", + "enum":[ + "MINUTES", + "HOURS", + "DAYS", + "MONTHS", + "YEARS", + "NONE" + ] + }, + "AutocommitPeriodValue":{ + "type":"integer", + "max":65535, + "min":1 + }, "AutomaticBackupRetentionDays":{ "type":"integer", "max":90, @@ -1314,7 +1338,8 @@ "TieringPolicy":{"shape":"TieringPolicy"}, "OntapVolumeType":{"shape":"InputOntapVolumeType"}, "SnapshotPolicy":{"shape":"SnapshotPolicy"}, - "CopyTagsToBackups":{"shape":"Flag"} + "CopyTagsToBackups":{"shape":"Flag"}, + "SnaplockConfiguration":{"shape":"CreateSnaplockConfiguration"} } }, "CreateOpenZFSOriginSnapshotConfiguration":{ @@ -1344,6 +1369,18 @@ "UserAndGroupQuotas":{"shape":"OpenZFSUserAndGroupQuotas"} } }, + "CreateSnaplockConfiguration":{ + "type":"structure", + "required":["SnaplockType"], + "members":{ + "AuditLogVolume":{"shape":"Flag"}, + "AutocommitPeriod":{"shape":"AutocommitPeriod"}, + "PrivilegedDelete":{"shape":"PrivilegedDelete"}, + "RetentionPeriod":{"shape":"SnaplockRetentionPeriod"}, + "SnaplockType":{"shape":"SnaplockType"}, + "VolumeAppendModeEnabled":{"shape":"Flag"} + } + }, "CreateSnapshotRequest":{ "type":"structure", "required":[ @@ -1851,7 +1888,8 @@ "type":"structure", "members":{ "SkipFinalBackup":{"shape":"Flag"}, - "FinalBackupTags":{"shape":"Tags"} + "FinalBackupTags":{"shape":"Tags"}, + "BypassSnaplockEnterpriseRetention":{"shape":"Flag"} } }, "DeleteVolumeOntapResponse":{ @@ -2793,7 +2831,8 @@ "UUID":{"shape":"UUID"}, "OntapVolumeType":{"shape":"OntapVolumeType"}, "SnapshotPolicy":{"shape":"SnapshotPolicy"}, - "CopyTagsToBackups":{"shape":"Flag"} + "CopyTagsToBackups":{"shape":"Flag"}, + "SnaplockConfiguration":{"shape":"SnaplockConfiguration"} } }, "OntapVolumeType":{ @@ -2963,6 +3002,14 @@ "max":1000, "min":12 }, + "PrivilegedDelete":{ + "type":"string", + "enum":[ + "DISABLED", + "ENABLED", + "PERMANENTLY_DISABLED" + ] + }, "ProgressPercent":{ "type":"integer", "max":100, @@ -3074,6 +3121,32 @@ "AdministrativeActions":{"shape":"AdministrativeActions"} } }, + "RetentionPeriod":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{"shape":"RetentionPeriodType"}, + "Value":{"shape":"RetentionPeriodValue"} + } + }, + "RetentionPeriodType":{ + "type":"string", + "enum":[ + "SECONDS", + "MINUTES", + "HOURS", + "DAYS", + "MONTHS", + "YEARS", + "INFINITE", + "UNSPECIFIED" + ] + }, + "RetentionPeriodValue":{ + "type":"integer", + "max":65535, + "min":0 + }, "RouteTableId":{ "type":"string", "max":21, @@ -3173,6 +3246,37 @@ }, "exception":true }, + "SnaplockConfiguration":{ + "type":"structure", + "members":{ + "AuditLogVolume":{"shape":"Flag"}, + "AutocommitPeriod":{"shape":"AutocommitPeriod"}, + "PrivilegedDelete":{"shape":"PrivilegedDelete"}, + "RetentionPeriod":{"shape":"SnaplockRetentionPeriod"}, + "SnaplockType":{"shape":"SnaplockType"}, + "VolumeAppendModeEnabled":{"shape":"Flag"} + } + }, + "SnaplockRetentionPeriod":{ + "type":"structure", + "required":[ + "DefaultRetention", + "MinimumRetention", + "MaximumRetention" + ], + "members":{ + "DefaultRetention":{"shape":"RetentionPeriod"}, + "MinimumRetention":{"shape":"RetentionPeriod"}, + "MaximumRetention":{"shape":"RetentionPeriod"} + } + }, + "SnaplockType":{ + "type":"string", + "enum":[ + "COMPLIANCE", + "ENTERPRISE" + ] + }, "Snapshot":{ "type":"structure", "members":{ @@ -3668,7 +3772,8 @@ "StorageEfficiencyEnabled":{"shape":"Flag"}, "TieringPolicy":{"shape":"TieringPolicy"}, "SnapshotPolicy":{"shape":"SnapshotPolicy"}, - "CopyTagsToBackups":{"shape":"Flag"} + "CopyTagsToBackups":{"shape":"Flag"}, + "SnaplockConfiguration":{"shape":"UpdateSnaplockConfiguration"} } }, "UpdateOpenZFSVolumeConfiguration":{ @@ -3683,6 +3788,16 @@ "ReadOnly":{"shape":"ReadOnly"} } }, + "UpdateSnaplockConfiguration":{ + "type":"structure", + "members":{ + "AuditLogVolume":{"shape":"Flag"}, + "AutocommitPeriod":{"shape":"AutocommitPeriod"}, + "PrivilegedDelete":{"shape":"PrivilegedDelete"}, + "RetentionPeriod":{"shape":"SnaplockRetentionPeriod"}, + "VolumeAppendModeEnabled":{"shape":"Flag"} + } + }, "UpdateSnapshotRequest":{ "type":"structure", "required":[ @@ -3769,7 +3884,7 @@ }, "VolumeCapacity":{ "type":"integer", - "max":2147483647, + "max":314572800, "min":0 }, "VolumeFilter":{ diff --git a/models/apis/fsx/2018-03-01/docs-2.json b/models/apis/fsx/2018-03-01/docs-2.json index a34c85f6db3..60e6536a5dc 100644 --- a/models/apis/fsx/2018-03-01/docs-2.json +++ b/models/apis/fsx/2018-03-01/docs-2.json @@ -39,7 +39,7 @@ "UntagResource": "

This action removes a tag from an Amazon FSx resource.

", "UpdateDataRepositoryAssociation": "

Updates the configuration of an existing data repository association on an Amazon FSx for Lustre file system. Data repository associations are supported on all FSx for Lustre 2.12 and newer file systems, excluding scratch_1 deployment type.

", "UpdateFileCache": "

Updates the configuration of an existing Amazon File Cache resource. You can update multiple properties in a single request.

", - "UpdateFileSystem": "

Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

For FSx for Windows File Server file systems, you can update the following properties:

For FSx for Lustre file systems, you can update the following properties:

For FSx for ONTAP file systems, you can update the following properties:

For FSx for OpenZFS file systems, you can update the following properties:

", + "UpdateFileSystem": "

Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

For FSx for Windows File Server file systems, you can update the following properties:

For FSx for Lustre file systems, you can update the following properties:

For FSx for ONTAP file systems, you can update the following properties:

For FSx for OpenZFS file systems, you can update the following properties:

", "UpdateSnapshot": "

Updates the name of an Amazon FSx for OpenZFS snapshot.

", "UpdateStorageVirtualMachine": "

Updates an FSx for ONTAP storage virtual machine (SVM).

", "UpdateVolume": "

Updates the configuration of an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume.

" @@ -197,6 +197,26 @@ "UpdateFileSystemLustreConfiguration$AutoImportPolicy": "

(Optional) When you create your file system, your existing S3 objects appear as file and directory listings. Use this property to choose how Amazon FSx keeps your file and directory listing up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

This parameter is not supported for file systems with a data repository association.

" } }, + "AutocommitPeriod": { + "base": "

Sets the autocommit period of files in an FSx for ONTAP SnapLock volume, which determines how long the files must remain unmodified before they're automatically transitioned to the write once, read many (WORM) state.

For more information, see Autocommit.

", + "refs": { + "CreateSnaplockConfiguration$AutocommitPeriod": "

The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume.

", + "SnaplockConfiguration$AutocommitPeriod": "

The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume.

", + "UpdateSnaplockConfiguration$AutocommitPeriod": "

The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume.

" + } + }, + "AutocommitPeriodType": { + "base": null, + "refs": { + "AutocommitPeriod$Type": "

Defines the type of time for the autocommit period of a file in an FSx for ONTAP SnapLock volume. Setting this value to NONE disables autocommit. The default value is NONE.

" + } + }, + "AutocommitPeriodValue": { + "base": null, + "refs": { + "AutocommitPeriod$Value": "

Defines the amount of time for the autocommit period of a file in an FSx for ONTAP SnapLock volume. The following ranges are valid:

" + } + }, "AutomaticBackupRetentionDays": { "base": "

The number of days to retain automatic backups. Setting this property to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 30.

", "refs": { @@ -502,6 +522,12 @@ "CreateVolumeRequest$OpenZFSConfiguration": "

Specifies the configuration to use when creating the OpenZFS volume.

" } }, + "CreateSnaplockConfiguration": { + "base": "

Defines the SnapLock configuration when creating an FSx for ONTAP SnapLock volume.

", + "refs": { + "CreateOntapVolumeConfiguration$SnaplockConfiguration": "

Specifies the SnapLock configuration for an FSx for ONTAP volume.

" + } + }, "CreateSnapshotRequest": { "base": null, "refs": { @@ -881,7 +907,7 @@ } }, "DeleteVolumeOntapConfiguration": { - "base": "

Use to specify skipping a final backup, or to add tags to a final backup.

", + "base": "

Use to specify skipping a final backup, adding tags to a final backup, or bypassing the retention period of an FSx for ONTAP SnapLock Enterprise volume when deleting an FSx for ONTAP volume.

", "refs": { "DeleteVolumeRequest$OntapConfiguration": "

For Amazon FSx for ONTAP volumes, specify whether to take a final backup of the volume and apply tags to the backup. To apply tags to the backup, you must have the fsx:TagResource permission.

" } @@ -1394,10 +1420,13 @@ "CreateOntapVolumeConfiguration$StorageEfficiencyEnabled": "

Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume, or set to false to disable them. This parameter is required.

", "CreateOntapVolumeConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the volume, regardless of this value.

", "CreateOpenZFSVolumeConfiguration$CopyTagsToSnapshots": "

A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

", + "CreateSnaplockConfiguration$AuditLogVolume": "

Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume. The default value is false. If you set AuditLogVolume to true, the SnapLock volume is created as an audit log volume. The minimum retention period for an audit log volume is six months.

For more information, see SnapLock audit log volumes.

", + "CreateSnaplockConfiguration$VolumeAppendModeEnabled": "

Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume. Volume-append mode allows you to create WORM-appendable files and write data to them incrementally. The default value is false.

For more information, see Volume-append mode.

", "DeleteFileSystemLustreConfiguration$SkipFinalBackup": "

Set SkipFinalBackup to false if you want to take a final backup of the file system you are deleting. By default, Amazon FSx will not take a final backup on your behalf when the DeleteFileSystem operation is invoked. (Default = true)

The fsx:CreateBackup permission is required if you set SkipFinalBackup to false in order to delete the file system and take a final backup.

", "DeleteFileSystemOpenZFSConfiguration$SkipFinalBackup": "

By default, Amazon FSx for OpenZFS takes a final backup on your behalf when the DeleteFileSystem operation is invoked. Doing this helps protect you from data loss, and we highly recommend taking the final backup. If you want to skip taking a final backup, set this value to true.

", "DeleteFileSystemWindowsConfiguration$SkipFinalBackup": "

By default, Amazon FSx for Windows takes a final backup on your behalf when the DeleteFileSystem operation is invoked. Doing this helps protect you from data loss, and we highly recommend taking the final backup. If you want to skip this backup, use this flag to do so.

", "DeleteVolumeOntapConfiguration$SkipFinalBackup": "

Set to true if you want to skip taking a final backup of the volume you are deleting.

", + "DeleteVolumeOntapConfiguration$BypassSnaplockEnterpriseRetention": "

Setting this to true allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. The IAM permission fsx:BypassSnaplockEnterpriseRetention is also required to delete SnapLock Enterprise volumes with unexpired WORM files. The default value is false.

For more information, see Deleting a SnapLock volume .

", "LustreFileSystemConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags on the file system are copied to backups. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value. (Default = false)

", "OntapVolumeConfiguration$StorageEfficiencyEnabled": "

The volume's storage efficiency setting.

", "OntapVolumeConfiguration$StorageVirtualMachineRoot": "

A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). Only one volume on an SVM can be the root volume. This value defaults to false. If this value is true, then this is the SVM root volume.

This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This flag, when set to false, helps you identify which volumes to delete before you can delete the SVM.

", @@ -1408,10 +1437,14 @@ "OpenZFSVolumeConfiguration$CopyTagsToSnapshots": "

A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is true and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

", "OpenZFSVolumeConfiguration$DeleteIntermediateSnaphots": "

A Boolean value indicating whether snapshots between the current state and the specified snapshot should be deleted when a volume is restored from snapshot.

", "OpenZFSVolumeConfiguration$DeleteClonedVolumes": "

A Boolean value indicating whether dependent clone volumes created from intermediate snapshots should be deleted when a volume is restored from snapshot.

", + "SnaplockConfiguration$AuditLogVolume": "

Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume. The default value is false. If you set AuditLogVolume to true, the SnapLock volume is created as an audit log volume. The minimum retention period for an audit log volume is six months.

For more information, see SnapLock audit log volumes.

", + "SnaplockConfiguration$VolumeAppendModeEnabled": "

Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume. Volume-append mode allows you to create WORM-appendable files and write data to them incrementally. The default value is false.

For more information, see Volume-append mode.

", "UpdateFileSystemOpenZFSConfiguration$CopyTagsToBackups": "

A Boolean value indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

", "UpdateFileSystemOpenZFSConfiguration$CopyTagsToVolumes": "

A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is true and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

", "UpdateOntapVolumeConfiguration$StorageEfficiencyEnabled": "

Default is false. Set to true to enable the deduplication, compression, and compaction storage efficiency features on the volume.

", "UpdateOntapVolumeConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the volume, regardless of this value.

", + "UpdateSnaplockConfiguration$AuditLogVolume": "

Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume. The default value is false. If you set AuditLogVolume to true, the SnapLock volume is created as an audit log volume. The minimum retention period for an audit log volume is six months.

For more information, see SnapLock audit log volumes.

", + "UpdateSnaplockConfiguration$VolumeAppendModeEnabled": "

Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume. Volume-append mode allows you to create WORM-appendable files and write data to them incrementally. The default value is false.

For more information, see Volume-append mode.

", "WindowsFileSystemConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags on the file system should be copied to backups. This value defaults to false. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

" } }, @@ -1960,6 +1993,14 @@ "LustreFileSystemConfiguration$PerUnitStorageThroughput": "

Per unit storage throughput represents the megabytes per second of read or write throughput per 1 tebibyte of storage provisioned. File system throughput capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). This option is only valid for PERSISTENT_1 and PERSISTENT_2 deployment types.

Valid values:

" } }, + "PrivilegedDelete": { + "base": null, + "refs": { + "CreateSnaplockConfiguration$PrivilegedDelete": "

Enables, disables, or permanently disables privileged delete on an FSx for ONTAP SnapLock Enterprise volume. Enabling privileged delete allows SnapLock administrators to delete WORM files even if they have active retention periods. PERMANENTLY_DISABLED is a terminal state. If privileged delete is permanently disabled on a SnapLock volume, you can't re-enable it. The default value is DISABLED.

For more information, see Privileged delete.

", + "SnaplockConfiguration$PrivilegedDelete": "

Enables, disables, or permanently disables privileged delete on an FSx for ONTAP SnapLock Enterprise volume. Enabling privileged delete allows SnapLock administrators to delete write once, read many (WORM) files even if they have active retention periods. PERMANENTLY_DISABLED is a terminal state. If privileged delete is permanently disabled on a SnapLock volume, you can't re-enable it. The default value is DISABLED.

For more information, see Privileged delete.

", + "UpdateSnaplockConfiguration$PrivilegedDelete": "

Enables, disables, or permanently disables privileged delete on an FSx for ONTAP SnapLock Enterprise volume. Enabling privileged delete allows SnapLock administrators to delete write once, read many (WORM) files even if they have active retention periods. PERMANENTLY_DISABLED is a terminal state. If privileged delete is permanently disabled on a SnapLock volume, you can't re-enable it. The default value is DISABLED.

For more information, see Privileged delete.

" + } + }, "ProgressPercent": { "base": "

Displays the current percent of progress of an asynchronous task.

", "refs": { @@ -2085,6 +2126,26 @@ "refs": { } }, + "RetentionPeriod": { + "base": "

Specifies the retention period of an FSx for ONTAP SnapLock volume. After it is set, it can't be changed. Files can't be deleted or modified during the retention period.

For more information, see Working with the retention period in SnapLock.

", + "refs": { + "SnaplockRetentionPeriod$DefaultRetention": "

The retention period assigned to a write once, read many (WORM) file by default if an explicit retention period is not set for an FSx for ONTAP SnapLock volume. The default retention period must be greater than or equal to the minimum retention period and less than or equal to the maximum retention period.

", + "SnaplockRetentionPeriod$MinimumRetention": "

The shortest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume.

", + "SnaplockRetentionPeriod$MaximumRetention": "

The longest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume.

" + } + }, + "RetentionPeriodType": { + "base": null, + "refs": { + "RetentionPeriod$Type": "

Defines the type of time for the retention period of an FSx for ONTAP SnapLock volume. Set it to one of the valid types. If you set it to INFINITE, the files are retained forever. If you set it to UNSPECIFIED, the files are retained until you set an explicit retention period.

" + } + }, + "RetentionPeriodValue": { + "base": null, + "refs": { + "RetentionPeriod$Value": "

Defines the amount of time for the retention period of an FSx for ONTAP SnapLock volume. You can't set a value for INFINITE or UNSPECIFIED. For all other options, the following ranges are valid:

" + } + }, "RouteTableId": { "base": null, "refs": { @@ -2129,7 +2190,7 @@ "refs": { "CreateOntapVolumeConfiguration$SecurityStyle": "

Specifies the security style for the volume. If a volume's security style is not specified, it is automatically set to the root volume's security style. The security style determines the type of permissions that FSx for ONTAP uses to control data access. For more information, see Volume security style in the Amazon FSx for NetApp ONTAP User Guide. Specify one of the following values:

", "OntapVolumeConfiguration$SecurityStyle": "

The security style for the volume, which can be UNIX, NTFS, or MIXED.

", - "UpdateOntapVolumeConfiguration$SecurityStyle": "

The security style for the volume, which can be UNIX. NTFS, or MIXED.

" + "UpdateOntapVolumeConfiguration$SecurityStyle": "

The security style for the volume, which can be UNIX, NTFS, or MIXED.

" } }, "SelfManagedActiveDirectoryAttributes": { @@ -2164,6 +2225,27 @@ "refs": { } }, + "SnaplockConfiguration": { + "base": "

Specifies the SnapLock configuration for an FSx for ONTAP SnapLock volume.

", + "refs": { + "OntapVolumeConfiguration$SnaplockConfiguration": "

The SnapLock configuration object for an FSx for ONTAP SnapLock volume.

" + } + }, + "SnaplockRetentionPeriod": { + "base": "

The configuration to set the retention period of an FSx for ONTAP SnapLock volume. The retention period includes default, maximum, and minimum settings. For more information, see Working with the retention period in SnapLock.

", + "refs": { + "CreateSnaplockConfiguration$RetentionPeriod": "

Specifies the retention period of an FSx for ONTAP SnapLock volume.

", + "SnaplockConfiguration$RetentionPeriod": "

Specifies the retention period of an FSx for ONTAP SnapLock volume.

", + "UpdateSnaplockConfiguration$RetentionPeriod": "

Specifies the retention period of an FSx for ONTAP SnapLock volume.

" + } + }, + "SnaplockType": { + "base": null, + "refs": { + "CreateSnaplockConfiguration$SnaplockType": "

Specifies the retention mode of an FSx for ONTAP SnapLock volume. After it is set, it can't be changed. You can choose one of the following retention modes:

", + "SnaplockConfiguration$SnaplockType": "

Specifies the retention mode of an FSx for ONTAP SnapLock volume. After it is set, it can't be changed. You can choose one of the following retention modes:

" + } + }, "Snapshot": { "base": "

A snapshot of an Amazon FSx for OpenZFS volume.

", "refs": { @@ -2646,6 +2728,12 @@ "UpdateVolumeRequest$OpenZFSConfiguration": "

The configuration of the OpenZFS volume that you are updating.

" } }, + "UpdateSnaplockConfiguration": { + "base": "

Updates the SnapLock configuration for an existing FSx for ONTAP volume.

", + "refs": { + "UpdateOntapVolumeConfiguration$SnaplockConfiguration": "

The configuration object for updating the SnapLock configuration of an FSx for ONTAP SnapLock volume.

" + } + }, "UpdateSnapshotRequest": { "base": null, "refs": { @@ -2696,7 +2784,7 @@ "VolumeCapacity": { "base": null, "refs": { - "CreateOntapVolumeConfiguration$SizeInMegabytes": "

Specifies the size of the volume, in megabytes (MB), that you are creating. Provide any whole number in the range of 20–104857600 to specify the size of the volume.

", + "CreateOntapVolumeConfiguration$SizeInMegabytes": "

Specifies the size of the volume, in megabytes (MB), that you are creating.

", "OntapVolumeConfiguration$SizeInMegabytes": "

The configured size of the volume, in megabytes (MBs).

", "UpdateOntapVolumeConfiguration$SizeInMegabytes": "

Specifies the size of the volume in megabytes.

" } diff --git a/models/apis/iam/2010-05-08/docs-2.json b/models/apis/iam/2010-05-08/docs-2.json index 4c25bdd56f3..06ef04d1306 100644 --- a/models/apis/iam/2010-05-08/docs-2.json +++ b/models/apis/iam/2010-05-08/docs-2.json @@ -3,7 +3,7 @@ "service": "Identity and Access Management

Identity and Access Management (IAM) is a web service for securely controlling access to Amazon Web Services services. With IAM, you can centrally manage users, security credentials such as access keys, and permissions that control which Amazon Web Services resources users and applications can access. For more information about IAM, see Identity and Access Management (IAM) and the Identity and Access Management User Guide.

", "operations": { "AddClientIDToOpenIDConnectProvider": "

Adds a new client ID (also known as audience) to the list of client IDs already registered for the specified IAM OpenID Connect (OIDC) provider resource.

This operation is idempotent; it does not fail or return an error if you add an existing client ID to the provider.

", - "AddRoleToInstanceProfile": "

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this quota cannot be increased. You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of Amazon Web Services because of eventual consistency. To force the change, you must disassociate the instance profile and then associate the instance profile, or you can stop your instance and then restart it.

The caller of this operation must be granted the PassRole permission on the IAM role by a permissions policy.

For more information about roles, see Working with roles. For more information about instance profiles, see About instance profiles.

", + "AddRoleToInstanceProfile": "

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this quota cannot be increased. You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of Amazon Web Services because of eventual consistency. To force the change, you must disassociate the instance profile and then associate the instance profile, or you can stop your instance and then restart it.

The caller of this operation must be granted the PassRole permission on the IAM role by a permissions policy.

For more information about roles, see IAM roles in the IAM User Guide. For more information about instance profiles, see Using instance profiles in the IAM User Guide.

", "AddUserToGroup": "

Adds the specified user to the specified group.

", "AttachGroupPolicy": "

Attaches the specified managed policy to the specified IAM group.

You use this operation to attach a managed policy to a group. To embed an inline policy in a group, use PutGroupPolicy .

As a best practice, you can validate your IAM policies. To learn more, see Validating IAM policies in the IAM User Guide.

For more information about policies, see Managed policies and inline policies in the IAM User Guide.

", "AttachRolePolicy": "

Attaches the specified managed policy to the specified IAM role. When you attach a managed policy to a role, the managed policy becomes part of the role's permission (access) policy.

You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole . You can update a role's trust policy using UpdateAssumerolePolicy .

Use this operation to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy . For more information about policies, see Managed policies and inline policies in the IAM User Guide.

As a best practice, you can validate your IAM policies. To learn more, see Validating IAM policies in the IAM User Guide.

", @@ -14,10 +14,10 @@ "CreateGroup": "

Creates a new group.

For information about the number of groups you can create, see IAM and STS quotas in the IAM User Guide.

", "CreateInstanceProfile": "

Creates a new instance profile. For information about instance profiles, see Using roles for applications on Amazon EC2 in the IAM User Guide, and Instance profiles in the Amazon EC2 User Guide.

For information about the number of instance profiles you can create, see IAM object quotas in the IAM User Guide.

", "CreateLoginProfile": "

Creates a password for the specified IAM user. A password allows an IAM user to access Amazon Web Services services through the Amazon Web Services Management Console.

You can use the CLI, the Amazon Web Services API, or the Users page in the IAM console to create a password for any IAM user. Use ChangePassword to update your own existing password in the My Security Credentials page in the Amazon Web Services Management Console.

For more information about managing passwords, see Managing passwords in the IAM User Guide.

", - "CreateOpenIDConnectProvider": "

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

The OIDC provider that you create with this operation can be used as a principal in a role's trust policy. Such a policy establishes a trust relationship between Amazon Web Services and the OIDC provider.

If you are using an OIDC identity provider from Google, Facebook, or Amazon Cognito, you don't need to create a separate IAM identity provider. These OIDC identity providers are already built-in to Amazon Web Services and are available for your use. Instead, you can move directly to creating new roles using your identity provider. To learn more, see Creating a role for web identity or OpenID connect federation in the IAM User Guide.

When you create the IAM OIDC provider, you specify the following:

You get all of this information from the OIDC IdP you want to use to access Amazon Web Services.

Amazon Web Services secures communication with some OIDC identity providers (IdPs) through our library of trusted certificate authorities (CAs) instead of using a certificate thumbprint to verify your IdP server certificate. These OIDC IdPs include Google, Auth0, and those that use an Amazon S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these cases, your legacy thumbprint remains in your configuration, but is no longer used for validation.

The trust for the OIDC provider is derived from the IAM provider that this operation creates. Therefore, it is best to limit access to the CreateOpenIDConnectProvider operation to highly privileged users.

", + "CreateOpenIDConnectProvider": "

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

The OIDC provider that you create with this operation can be used as a principal in a role's trust policy. Such a policy establishes a trust relationship between Amazon Web Services and the OIDC provider.

If you are using an OIDC identity provider from Google, Facebook, or Amazon Cognito, you don't need to create a separate IAM identity provider. These OIDC identity providers are already built-in to Amazon Web Services and are available for your use. Instead, you can move directly to creating new roles using your identity provider. To learn more, see Creating a role for web identity or OpenID connect federation in the IAM User Guide.

When you create the IAM OIDC provider, you specify the following:

You get all of this information from the OIDC IdP you want to use to access Amazon Web Services.

Amazon Web Services secures communication with some OIDC identity providers (IdPs) through our library of trusted root certificate authorities (CAs) instead of using a certificate thumbprint to verify your IdP server certificate. These OIDC IdPs include Auth0, GitHub, Google, and those that use an Amazon S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these cases, your legacy thumbprint remains in your configuration, but is no longer used for validation.

The trust for the OIDC provider is derived from the IAM provider that this operation creates. Therefore, it is best to limit access to the CreateOpenIDConnectProvider operation to highly privileged users.

", "CreatePolicy": "

Creates a new managed policy for your Amazon Web Services account.

This operation creates a policy version with a version identifier of v1 and sets v1 as the policy's default version. For more information about policy versions, see Versioning for managed policies in the IAM User Guide.

As a best practice, you can validate your IAM policies. To learn more, see Validating IAM policies in the IAM User Guide.

For more information about managed policies in general, see Managed policies and inline policies in the IAM User Guide.

", "CreatePolicyVersion": "

Creates a new version of the specified managed policy. To update a managed policy, you create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must delete an existing version using DeletePolicyVersion before you create a new version.

Optionally, you can set the new version as the policy's default version. The default version is the version that is in effect for the IAM users, groups, and roles to which the policy is attached.

For more information about managed policy versions, see Versioning for managed policies in the IAM User Guide.

", - "CreateRole": "

Creates a new role for your Amazon Web Services account. For more information about roles, see IAM roles. For information about quotas for role names and the number of roles you can create, see IAM and STS quotas in the IAM User Guide.

", + "CreateRole": "

Creates a new role for your Amazon Web Services account.

For more information about roles, see IAM roles in the IAM User Guide. For information about quotas for role names and the number of roles you can create, see IAM and STS quotas in the IAM User Guide.

", "CreateSAMLProvider": "

Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0.

The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy. Such a policy can enable federated users who sign in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the Amazon Web Services Management Console or one that supports API access to Amazon Web Services.

When you create the SAML provider resource, you upload a SAML metadata document that you get from your IdP. That document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP.

This operation requires Signature Version 4.

For more information, see Enabling SAML 2.0 federated users to access the Amazon Web Services Management Console and About SAML 2.0-based federation in the IAM User Guide.

", "CreateServiceLinkedRole": "

Creates an IAM role that is linked to a specific Amazon Web Services service. The service controls the attached policies and when the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted role, which could put your Amazon Web Services resources into an unknown state. Allowing the service to control the role helps improve service stability and proper cleanup when a service and its role are no longer needed. For more information, see Using service-linked roles in the IAM User Guide.

To attach a policy to this service-linked role, you must make the request using the Amazon Web Services service that depends on this role.

", "CreateServiceSpecificCredential": "

Generates a set of credentials consisting of a user name and password that can be used to access the service specified in the request. These credentials are generated by IAM, and can be used only for the specified service.

You can have a maximum of two sets of service-specific credentials for each supported service per user.

You can create service-specific credentials for CodeCommit and Amazon Keyspaces (for Apache Cassandra).

You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential.

For more information about service-specific credentials, see Using IAM with CodeCommit: Git credentials, SSH keys, and Amazon Web Services access keys in the IAM User Guide.

", @@ -29,7 +29,7 @@ "DeleteAccountPasswordPolicy": "

Deletes the password policy for the Amazon Web Services account. There are no parameters.

", "DeleteGroup": "

Deletes the specified IAM group. The group must not contain any users or have any attached policies.

", "DeleteGroupPolicy": "

Deletes the specified inline policy that is embedded in the specified IAM group.

A group can also have managed policies attached to it. To detach a managed policy from a group, use DetachGroupPolicy. For more information about policies, refer to Managed policies and inline policies in the IAM User Guide.

", - "DeleteInstanceProfile": "

Deletes the specified instance profile. The instance profile must not have an associated role.

Make sure that you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

For more information about instance profiles, see About instance profiles.

", + "DeleteInstanceProfile": "

Deletes the specified instance profile. The instance profile must not have an associated role.

Make sure that you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

For more information about instance profiles, see Using instance profiles in the IAM User Guide.

", "DeleteLoginProfile": "

Deletes the password for the specified IAM user, For more information, see Managing passwords for IAM users.

You can use the CLI, the Amazon Web Services API, or the Users page in the IAM console to delete a password for any IAM user. You can use ChangePassword to update, but not delete, your own password in the My Security Credentials page in the Amazon Web Services Management Console.

Deleting a user's password does not prevent a user from accessing Amazon Web Services through the command line interface or the API. To prevent all user access, you must also either make any access keys inactive or delete them. For more information about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.

", "DeleteOpenIDConnectProvider": "

Deletes an OpenID Connect identity provider (IdP) resource object in IAM.

Deleting an IAM OIDC provider resource does not update any roles that reference the provider as a principal in their trust policies. Any attempt to assume a role that references a deleted provider fails.

This operation is idempotent; it does not fail or return an error if you call the operation for a provider that does not exist.

", "DeletePolicy": "

Deletes the specified managed policy.

Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to. In addition, you must delete all the policy's versions. The following steps describe the process for deleting a managed policy:

For information about managed policies, see Managed policies and inline policies in the IAM User Guide.

", @@ -63,15 +63,15 @@ "GetCredentialReport": "

Retrieves a credential report for the Amazon Web Services account. For more information about the credential report, see Getting credential reports in the IAM User Guide.

", "GetGroup": "

Returns a list of IAM users that are in the specified IAM group. You can paginate the results using the MaxItems and Marker parameters.

", "GetGroupPolicy": "

Retrieves the specified inline policy document that is embedded in the specified IAM group.

Policies returned by this operation are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM group can also have managed policies attached to it. To retrieve a managed policy document that is attached to a group, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed policies and inline policies in the IAM User Guide.

", - "GetInstanceProfile": "

Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and role. For more information about instance profiles, see About instance profiles in the IAM User Guide.

", + "GetInstanceProfile": "

Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and role. For more information about instance profiles, see Using instance profiles in the IAM User Guide.

", "GetLoginProfile": "

Retrieves the user name for the specified IAM user. A login profile is created when you create a password for the user to access the Amazon Web Services Management Console. If the user does not exist or does not have a password, the operation returns a 404 (NoSuchEntity) error.

If you create an IAM user with access to the console, the CreateDate reflects the date you created the initial password for the user.

If you create an IAM user with programmatic access, and then later add a password for the user to access the Amazon Web Services Management Console, the CreateDate reflects the initial password creation date. A user with programmatic access does not have a login profile unless you create a password for the user to access the Amazon Web Services Management Console.

", "GetMFADevice": "

Retrieves information about an MFA device for a specified user.

", "GetOpenIDConnectProvider": "

Returns information about the specified OpenID Connect (OIDC) provider resource object in IAM.

", "GetOrganizationsAccessReport": "

Retrieves the service last accessed data report for Organizations that was previously generated using the GenerateOrganizationsAccessReport operation. This operation retrieves the status of your report job and the report contents.

Depending on the parameters that you passed when you generated the report, the data returned could include different information. For details, see GenerateOrganizationsAccessReport.

To call this operation, you must be signed in to the management account in your organization. SCPs must be enabled for your organization root. You must have permissions to perform this operation. For more information, see Refining permissions using service last accessed data in the IAM User Guide.

For each service that principals in an account (root user, IAM users, or IAM roles) could access using SCPs, the operation returns details about the most recent access attempt. If there was no attempt, the service is listed without details about the most recent attempt to access the service. If the operation fails, it returns the reason that it failed.

By default, the list is sorted by service namespace.

", "GetPolicy": "

Retrieves information about the specified managed policy, including the policy's default version and the total number of IAM users, groups, and roles to which the policy is attached. To retrieve the list of the specific users, groups, and roles that the policy is attached to, use ListEntitiesForPolicy. This operation returns metadata about the policy. To retrieve the actual policy document for a specific version of the policy, use GetPolicyVersion.

This operation retrieves information about managed policies. To retrieve information about an inline policy that is embedded with an IAM user, group, or role, use GetUserPolicy, GetGroupPolicy, or GetRolePolicy.

For more information about policies, see Managed policies and inline policies in the IAM User Guide.

", "GetPolicyVersion": "

Retrieves information about the specified version of the specified managed policy, including the policy document.

Policies returned by this operation are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

To list the available versions for a policy, use ListPolicyVersions.

This operation retrieves information about managed policies. To retrieve information about an inline policy that is embedded in a user, group, or role, use GetUserPolicy, GetGroupPolicy, or GetRolePolicy.

For more information about the types of policies, see Managed policies and inline policies in the IAM User Guide.

For more information about managed policy versions, see Versioning for managed policies in the IAM User Guide.

", - "GetRole": "

Retrieves information about the specified role, including the role's path, GUID, ARN, and the role's trust policy that grants permission to assume the role. For more information about roles, see Working with roles.

Policies returned by this operation are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

", - "GetRolePolicy": "

Retrieves the specified inline policy document that is embedded with the specified IAM role.

Policies returned by this operation are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM role can also have managed policies attached to it. To retrieve a managed policy document that is attached to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed policies and inline policies in the IAM User Guide.

For more information about roles, see Using roles to delegate permissions and federate identities.

", + "GetRole": "

Retrieves information about the specified role, including the role's path, GUID, ARN, and the role's trust policy that grants permission to assume the role. For more information about roles, see IAM roles in the IAM User Guide.

Policies returned by this operation are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

", + "GetRolePolicy": "

Retrieves the specified inline policy document that is embedded with the specified IAM role.

Policies returned by this operation are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM role can also have managed policies attached to it. To retrieve a managed policy document that is attached to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed policies and inline policies in the IAM User Guide.

For more information about roles, see IAM roles in the IAM User Guide.

", "GetSAMLProvider": "

Returns the SAML provider metadocument that was uploaded when the IAM SAML provider resource object was created or updated.

This operation requires Signature Version 4.

", "GetSSHPublicKey": "

Retrieves the specified SSH public key, including metadata about the key.

The SSH public key retrieved by this operation is used only for authenticating the associated IAM user to an CodeCommit repository. For more information about using SSH keys to authenticate to an CodeCommit repository, see Set up CodeCommit for SSH connections in the CodeCommit User Guide.

", "GetServerCertificate": "

Retrieves information about the specified server certificate stored in IAM.

For more information about working with server certificates, see Working with server certificates in the IAM User Guide. This topic includes a list of Amazon Web Services services that can use the server certificates that you manage with IAM.

", @@ -90,8 +90,8 @@ "ListGroups": "

Lists the IAM groups that have the specified path prefix.

You can paginate the results using the MaxItems and Marker parameters.

", "ListGroupsForUser": "

Lists the IAM groups that the specified IAM user belongs to.

You can paginate the results using the MaxItems and Marker parameters.

", "ListInstanceProfileTags": "

Lists the tags that are attached to the specified IAM instance profile. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM resources in the IAM User Guide.

", - "ListInstanceProfiles": "

Lists the instance profiles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about instance profiles, see About instance profiles.

IAM resource-listing operations return a subset of the available attributes for the resource. For example, this operation does not return tags, even though they are an attribute of the returned object. To view all of the information for an instance profile, see GetInstanceProfile.

You can paginate the results using the MaxItems and Marker parameters.

", - "ListInstanceProfilesForRole": "

Lists the instance profiles that have the specified associated IAM role. If there are none, the operation returns an empty list. For more information about instance profiles, go to About instance profiles.

You can paginate the results using the MaxItems and Marker parameters.

", + "ListInstanceProfiles": "

Lists the instance profiles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about instance profiles, see Using instance profiles in the IAM User Guide.

IAM resource-listing operations return a subset of the available attributes for the resource. For example, this operation does not return tags, even though they are an attribute of the returned object. To view all of the information for an instance profile, see GetInstanceProfile.

You can paginate the results using the MaxItems and Marker parameters.

", + "ListInstanceProfilesForRole": "

Lists the instance profiles that have the specified associated IAM role. If there are none, the operation returns an empty list. For more information about instance profiles, go to Using instance profiles in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters.

", "ListMFADeviceTags": "

Lists the tags that are attached to the specified IAM virtual multi-factor authentication (MFA) device. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM resources in the IAM User Guide.

", "ListMFADevices": "

Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this operation lists all the MFA devices associated with the specified user. If you do not specify a user name, IAM determines the user name implicitly based on the Amazon Web Services access key ID signing the request for this operation.

You can paginate the results using the MaxItems and Marker parameters.

", "ListOpenIDConnectProviderTags": "

Lists the tags that are attached to the specified OpenID Connect (OIDC)-compatible identity provider. The returned list of tags is sorted by tag key. For more information, see About web identity federation.

For more information about tagging, see Tagging IAM resources in the IAM User Guide.

", @@ -102,7 +102,7 @@ "ListPolicyVersions": "

Lists information about the versions of the specified managed policy, including the version that is currently set as the policy's default version.

For more information about managed policies, see Managed policies and inline policies in the IAM User Guide.

", "ListRolePolicies": "

Lists the names of the inline policies that are embedded in the specified IAM role.

An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, see Managed policies and inline policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the operation returns an empty list.

", "ListRoleTags": "

Lists the tags that are attached to the specified role. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM resources in the IAM User Guide.

", - "ListRoles": "

Lists the IAM roles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about roles, see Working with roles.

IAM resource-listing operations return a subset of the available attributes for the resource. This operation does not return the following attributes, even though they are an attribute of the returned object:

To view all of the information for a role, see GetRole.

You can paginate the results using the MaxItems and Marker parameters.

", + "ListRoles": "

Lists the IAM roles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about roles, see IAM roles in the IAM User Guide.

IAM resource-listing operations return a subset of the available attributes for the resource. This operation does not return the following attributes, even though they are an attribute of the returned object:

To view all of the information for a role, see GetRole.

You can paginate the results using the MaxItems and Marker parameters.

", "ListSAMLProviderTags": "

Lists the tags that are attached to the specified Security Assertion Markup Language (SAML) identity provider. The returned list of tags is sorted by tag key. For more information, see About SAML 2.0-based federation.

For more information about tagging, see Tagging IAM resources in the IAM User Guide.

", "ListSAMLProviders": "

Lists the SAML provider resource objects defined in IAM in the account. IAM resource-listing operations return a subset of the available attributes for the resource. For example, this operation does not return tags, even though they are an attribute of the returned object. To view all of the information for a SAML provider, see GetSAMLProvider.

This operation requires Signature Version 4.

", "ListSSHPublicKeys": "

Returns information about the SSH public keys associated with the specified IAM user. If none exists, the operation returns an empty list.

The SSH public keys returned by this operation are used only for authenticating the IAM user to an CodeCommit repository. For more information about using SSH keys to authenticate to an CodeCommit repository, see Set up CodeCommit for SSH connections in the CodeCommit User Guide.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

", @@ -116,11 +116,11 @@ "ListVirtualMFADevices": "

Lists the virtual MFA devices defined in the Amazon Web Services account by assignment status. If you do not specify an assignment status, the operation returns a list of all virtual MFA devices. Assignment status can be Assigned, Unassigned, or Any.

IAM resource-listing operations return a subset of the available attributes for the resource. For example, this operation does not return tags, even though they are an attribute of the returned object. To view tag information for a virtual MFA device, see ListMFADeviceTags.

You can paginate the results using the MaxItems and Marker parameters.

", "PutGroupPolicy": "

Adds or updates an inline policy document that is embedded in the specified IAM group.

A user can also have managed policies attached to it. To attach a managed policy to a group, use AttachGroupPolicy . To create a new managed policy, use CreatePolicy . For information about policies, see Managed policies and inline policies in the IAM User Guide.

For information about the maximum number of inline policies that you can embed in a group, see IAM and STS quotas in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutGroupPolicy. For general information about using the Query API with IAM, see Making query requests in the IAM User Guide.

", "PutRolePermissionsBoundary": "

Adds or updates the policy that is specified as the IAM role's permissions boundary. You can use an Amazon Web Services managed policy or a customer managed policy to set the boundary for a role. Use the boundary to control the maximum permissions that the role can have. Setting a permissions boundary is an advanced feature that can affect the permissions for the role.

You cannot set the boundary for a service-linked role.

Policies used as permissions boundaries do not provide permissions. You must also attach a permissions policy to the role. To learn how the effective permissions for a role are evaluated, see IAM JSON policy evaluation logic in the IAM User Guide.

", - "PutRolePolicy": "

Adds or updates an inline policy document that is embedded in the specified IAM role.

When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole . You can update a role's trust policy using UpdateAssumerolePolicy . For more information about IAM roles, see Using roles to delegate permissions and federate identities.

A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy . To create a new managed policy, use CreatePolicy . For information about policies, see Managed policies and inline policies in the IAM User Guide.

For information about the maximum number of inline policies that you can embed with a role, see IAM and STS quotas in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy. For general information about using the Query API with IAM, see Making query requests in the IAM User Guide.

", + "PutRolePolicy": "

Adds or updates an inline policy document that is embedded in the specified IAM role.

When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole . You can update a role's trust policy using UpdateAssumeRolePolicy . For more information about roles, see IAM roles in the IAM User Guide.

A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy . To create a new managed policy, use CreatePolicy . For information about policies, see Managed policies and inline policies in the IAM User Guide.

For information about the maximum number of inline policies that you can embed with a role, see IAM and STS quotas in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy. For general information about using the Query API with IAM, see Making query requests in the IAM User Guide.

", "PutUserPermissionsBoundary": "

Adds or updates the policy that is specified as the IAM user's permissions boundary. You can use an Amazon Web Services managed policy or a customer managed policy to set the boundary for a user. Use the boundary to control the maximum permissions that the user can have. Setting a permissions boundary is an advanced feature that can affect the permissions for the user.

Policies that are used as permissions boundaries do not provide permissions. You must also attach a permissions policy to the user. To learn how the effective permissions for a user are evaluated, see IAM JSON policy evaluation logic in the IAM User Guide.

", "PutUserPolicy": "

Adds or updates an inline policy document that is embedded in the specified IAM user.

An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use AttachUserPolicy . To create a new managed policy, use CreatePolicy . For information about policies, see Managed policies and inline policies in the IAM User Guide.

For information about the maximum number of inline policies that you can embed in a user, see IAM and STS quotas in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutUserPolicy. For general information about using the Query API with IAM, see Making query requests in the IAM User Guide.

", "RemoveClientIDFromOpenIDConnectProvider": "

Removes the specified client ID (also known as audience) from the list of client IDs registered for the specified IAM OpenID Connect (OIDC) provider resource object.

This operation is idempotent; it does not fail or return an error if you try to remove a client ID that does not exist.

", - "RemoveRoleFromInstanceProfile": "

Removes the specified IAM role from the specified EC2 instance profile.

Make sure that you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance.

For more information about IAM roles, see Working with roles. For more information about instance profiles, see About instance profiles.

", + "RemoveRoleFromInstanceProfile": "

Removes the specified IAM role from the specified EC2 instance profile.

Make sure that you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance.

For more information about roles, see IAM roles in the IAM User Guide. For more information about instance profiles, see Using instance profiles in the IAM User Guide.

", "RemoveUserFromGroup": "

Removes the specified user from the specified group.

", "ResetServiceSpecificCredential": "

Resets the password for a service-specific credential. The new password is Amazon Web Services generated and cryptographically strong. It cannot be configured by the user. Resetting the password immediately invalidates the previous password associated with this user.

", "ResyncMFADevice": "

Synchronizes the specified MFA device with its IAM resource object on the Amazon Web Services servers.

For more information about creating and working with virtual MFA devices, see Using a virtual MFA device in the IAM User Guide.

", @@ -149,7 +149,7 @@ "UpdateAssumeRolePolicy": "

Updates the policy that grants an IAM entity permission to assume a role. This is typically referred to as the \"role trust policy\". For more information about roles, see Using roles to delegate permissions and federate identities.

", "UpdateGroup": "

Updates the name and/or the path of the specified IAM group.

You should understand the implications of changing a group's path or name. For more information, see Renaming users and groups in the IAM User Guide.

The person making the request (the principal), must have permission to change the role group with the old name and the new name. For example, to change the group named Managers to MGRs, the principal must have a policy that allows them to update both groups. If the principal has permission to update the Managers group, but not the MGRs group, then the update fails. For more information about permissions, see Access management.

", "UpdateLoginProfile": "

Changes the password for the specified IAM user. You can use the CLI, the Amazon Web Services API, or the Users page in the IAM console to change the password for any IAM user. Use ChangePassword to change your own password in the My Security Credentials page in the Amazon Web Services Management Console.

For more information about modifying passwords, see Managing passwords in the IAM User Guide.

", - "UpdateOpenIDConnectProviderThumbprint": "

Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.

The list that you pass with this operation completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated.

Amazon Web Services secures communication with some OIDC identity providers (IdPs) through our library of trusted certificate authorities (CAs) instead of using a certificate thumbprint to verify your IdP server certificate. These OIDC IdPs include Google, Auth0, and those that use an Amazon S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these cases, your legacy thumbprint remains in your configuration, but is no longer used for validation.

Trust for the OIDC provider is derived from the provider certificate and is validated by the thumbprint. Therefore, it is best to limit access to the UpdateOpenIDConnectProviderThumbprint operation to highly privileged users.

", + "UpdateOpenIDConnectProviderThumbprint": "

Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.

The list that you pass with this operation completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated.

Amazon Web Services secures communication with some OIDC identity providers (IdPs) through our library of trusted root certificate authorities (CAs) instead of using a certificate thumbprint to verify your IdP server certificate. These OIDC IdPs include Auth0, GitHub, Google, and those that use an Amazon S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these cases, your legacy thumbprint remains in your configuration, but is no longer used for validation.

Trust for the OIDC provider is derived from the provider certificate and is validated by the thumbprint. Therefore, it is best to limit access to the UpdateOpenIDConnectProviderThumbprint operation to highly privileged users.

", "UpdateRole": "

Updates the description or maximum session duration setting of a role.

", "UpdateRoleDescription": "

Use UpdateRole instead.

Modifies only the description of a role. This operation performs the same function as the Description parameter in the UpdateRole operation.

", "UpdateSAMLProvider": "

Updates the metadata document for an existing SAML provider resource object.

This operation requires Signature Version 4.

", @@ -2982,7 +2982,7 @@ "GetUserPolicyResponse$PolicyDocument": "

The policy document.

IAM stores policies in JSON format. However, resources that were created using CloudFormation templates can be formatted in YAML. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

", "PolicyDetail$PolicyDocument": "

The policy document.

", "PolicyVersion$Document": "

The policy document.

The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in the response to the CreatePolicyVersion or ListPolicyVersions operations.

The policy document returned in this structure is URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

", - "PutGroupPolicyRequest$PolicyDocument": "

The policy document.

You must provide policies in JSON format in IAM. However, for CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. CloudFormation always converts a YAML policy to JSON format before submitting it to = IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

", + "PutGroupPolicyRequest$PolicyDocument": "

The policy document.

You must provide policies in JSON format in IAM. However, for CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

", "PutRolePolicyRequest$PolicyDocument": "

The policy document.

You must provide policies in JSON format in IAM. However, for CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

", "PutUserPolicyRequest$PolicyDocument": "

The policy document.

You must provide policies in JSON format in IAM. However, for CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

", "Role$AssumeRolePolicyDocument": "

The policy that grants an entity permission to assume the role.

", diff --git a/models/apis/mediatailor/2018-04-23/api-2.json b/models/apis/mediatailor/2018-04-23/api-2.json index d182101b0e9..c2974c923af 100644 --- a/models/apis/mediatailor/2018-04-23/api-2.json +++ b/models/apis/mediatailor/2018-04-23/api-2.json @@ -541,11 +541,20 @@ "members":{ "AlertCode":{"shape":"__string"}, "AlertMessage":{"shape":"__string"}, + "Category":{"shape":"AlertCategory"}, "LastModifiedTime":{"shape":"__timestampUnix"}, "RelatedResourceArns":{"shape":"__listOf__string"}, "ResourceArn":{"shape":"__string"} } }, + "AlertCategory":{ + "type":"string", + "enum":[ + "SCHEDULING_ERROR", + "PLAYBACK_WARNING", + "INFO" + ] + }, "AvailMatchingCriteria":{ "type":"structure", "required":[ diff --git a/models/apis/mediatailor/2018-04-23/docs-2.json b/models/apis/mediatailor/2018-04-23/docs-2.json index c514b6098cf..eb6a3372116 100644 --- a/models/apis/mediatailor/2018-04-23/docs-2.json +++ b/models/apis/mediatailor/2018-04-23/docs-2.json @@ -95,6 +95,12 @@ "__listOfAlert$member": null } }, + "AlertCategory": { + "base": null, + "refs": { + "Alert$Category": "

The category that MediaTailor assigns to the alert.

" + } + }, "AvailMatchingCriteria": { "base": "

MediaTailor only places (consumes) prefetched ads if the ad break meets the criteria defined by the dynamic variables. This gives you granular control over which ad break to place the prefetched ads into.

As an example, let's say that you set DynamicVariable to scte.event_id and Operator to EQUALS, and your playback configuration has an ADS URL of https://my.ads.server.com/path?&podId=[scte.avail_num]&event=[scte.event_id]&duration=[session.avail_duration_secs]. And the prefetch request to the ADS contains these values https://my.ads.server.com/path?&podId=3&event=my-awesome-event&duration=30. MediaTailor will only insert the prefetched ads into the ad break if has a SCTE marker with an event id of my-awesome-event, since it must match the event id that MediaTailor uses to query the ADS.

You can specify up to five AvailMatchingCriteria. If you specify multiple AvailMatchingCriteria, MediaTailor combines them to match using a logical AND. You can model logical OR combinations by creating multiple prefetch schedules.

", "refs": { @@ -888,7 +894,7 @@ "base": null, "refs": { "KeyValuePair$Key": "

For SCTE35_ENHANCED output, defines a key. MediaTailor takes this key, and its associated value, and generates the key/value pair within the EXT-X-ASSETtag. If you specify a key, you must also specify a corresponding value.

", - "KeyValuePair$Value": "

For SCTE35_ENHANCED output, defines a vaue. MediaTailor; takes this value, and its associated key, and generates the key/value pair within the EXT-X-ASSETtag. If you specify a value, you must also specify a corresponding key.

", + "KeyValuePair$Value": "

For SCTE35_ENHANCED output, defines a value. MediaTailor; takes this value, and its associated key, and generates the key/value pair within the EXT-X-ASSETtag. If you specify a value, you must also specify a corresponding key.

", "SegmentationDescriptor$SegmentationUpid": "

The Upid to assign to the segmentation_descriptor.segmentation_upid message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The value must be a hexadecimal string containing only the characters 0 though 9 and A through F. The default value is \"\" (an empty string).

" } }, diff --git a/models/apis/personalize/2018-05-22/api-2.json b/models/apis/personalize/2018-05-22/api-2.json index 8b9d143c5b7..0a1d7476e4f 100644 --- a/models/apis/personalize/2018-05-22/api-2.json +++ b/models/apis/personalize/2018-05-22/api-2.json @@ -953,6 +953,21 @@ ], "idempotent":true }, + "UpdateDataset":{ + "name":"UpdateDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDatasetRequest"}, + "output":{"shape":"UpdateDatasetResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "idempotent":true + }, "UpdateMetricAttribution":{ "name":"UpdateMetricAttribution", "http":{ @@ -1557,7 +1572,8 @@ "schemaArn":{"shape":"Arn"}, "status":{"shape":"Status"}, "creationDateTime":{"shape":"Date"}, - "lastUpdatedDateTime":{"shape":"Date"} + "lastUpdatedDateTime":{"shape":"Date"}, + "latestDatasetUpdate":{"shape":"DatasetUpdateSummary"} } }, "DatasetExportJob":{ @@ -1698,6 +1714,16 @@ "type":"string", "max":256 }, + "DatasetUpdateSummary":{ + "type":"structure", + "members":{ + "schemaArn":{"shape":"Arn"}, + "status":{"shape":"Status"}, + "failureReason":{"shape":"FailureReason"}, + "creationDateTime":{"shape":"Date"}, + "lastUpdatedDateTime":{"shape":"Date"} + } + }, "Datasets":{ "type":"list", "member":{"shape":"DatasetSummary"}, @@ -3043,6 +3069,23 @@ "campaignArn":{"shape":"Arn"} } }, + "UpdateDatasetRequest":{ + "type":"structure", + "required":[ + "datasetArn", + "schemaArn" + ], + "members":{ + "datasetArn":{"shape":"Arn"}, + "schemaArn":{"shape":"Arn"} + } + }, + "UpdateDatasetResponse":{ + "type":"structure", + "members":{ + "datasetArn":{"shape":"Arn"} + } + }, "UpdateMetricAttributionRequest":{ "type":"structure", "members":{ diff --git a/models/apis/personalize/2018-05-22/docs-2.json b/models/apis/personalize/2018-05-22/docs-2.json index ae0019e6095..f301d1c5c00 100644 --- a/models/apis/personalize/2018-05-22/docs-2.json +++ b/models/apis/personalize/2018-05-22/docs-2.json @@ -66,6 +66,7 @@ "TagResource": "

Add a list of tags to a resource.

", "UntagResource": "

Remove tags that are attached to a resource.

", "UpdateCampaign": "

Updates a campaign by either deploying a new solution or changing the value of the campaign's minProvisionedTPS parameter.

To update a campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the campaign status using the DescribeCampaign operation.

You can still get recommendations from a campaign while an update is in progress. The campaign will use the previous solution version and campaign configuration to generate recommendations until the latest campaign update status is Active.

For more information on campaigns, see CreateCampaign.

", + "UpdateDataset": "

Update a dataset to replace its schema with a new or existing one. For more information, see Replacing a dataset's schema.

", "UpdateMetricAttribution": "

Updates a metric attribution.

", "UpdateRecommender": "

Updates the recommender to modify the recommender configuration. If you update the recommender to modify the columns used in training, Amazon Personalize automatically starts a full retraining of the models backing your recommender. While the update completes, you can still get recommendations from the recommender. The recommender uses the previous configuration until the update completes. To track the status of this update, use the latestRecommenderUpdate returned in the DescribeRecommender operation.

" }, @@ -135,7 +136,7 @@ "CreateRecommenderRequest$recipeArn": "

The Amazon Resource Name (ARN) of the recipe that the recommender will use. For a recommender, a recipe is a Domain dataset group use case. Only Domain dataset group use cases can be used to create a recommender. For information about use cases see Choosing recommender use cases.

", "CreateRecommenderResponse$recommenderArn": "

The Amazon Resource Name (ARN) of the recommender.

", "CreateSchemaResponse$schemaArn": "

The Amazon Resource Name (ARN) of the created schema.

", - "CreateSolutionRequest$recipeArn": "

The ARN of the recipe to use for model training. Only specified when performAutoML is false.

", + "CreateSolutionRequest$recipeArn": "

The ARN of the recipe to use for model training. This is required when performAutoML is false.

", "CreateSolutionRequest$datasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group that provides the training data.

", "CreateSolutionResponse$solutionArn": "

The ARN of the solution.

", "CreateSolutionVersionRequest$solutionArn": "

The Amazon Resource Name (ARN) of the solution containing the training configuration information.

", @@ -156,6 +157,7 @@ "DatasetSchema$schemaArn": "

The Amazon Resource Name (ARN) of the schema.

", "DatasetSchemaSummary$schemaArn": "

The Amazon Resource Name (ARN) of the schema.

", "DatasetSummary$datasetArn": "

The Amazon Resource Name (ARN) of the dataset.

", + "DatasetUpdateSummary$schemaArn": "

The Amazon Resource Name (ARN) of the schema that replaced the previous schema of the dataset.

", "DeleteCampaignRequest$campaignArn": "

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

", "DeleteDatasetGroupRequest$datasetGroupArn": "

The ARN of the dataset group to delete.

", "DeleteDatasetRequest$datasetArn": "

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

", @@ -220,7 +222,7 @@ "RecommenderSummary$datasetGroupArn": "

The Amazon Resource Name (ARN) of the Domain dataset group that contains the recommender.

", "RecommenderSummary$recipeArn": "

The Amazon Resource Name (ARN) of the recipe (Domain dataset group use case) that the recommender was created for.

", "Solution$solutionArn": "

The ARN of the solution.

", - "Solution$recipeArn": "

The ARN of the recipe used to create the solution.

", + "Solution$recipeArn": "

The ARN of the recipe used to create the solution. This is required when performAutoML is false.

", "Solution$datasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group that provides the training data.

", "SolutionSummary$solutionArn": "

The Amazon Resource Name (ARN) of the solution.

", "SolutionSummary$recipeArn": "

The Amazon Resource Name (ARN) of the recipe used by the solution.

", @@ -239,6 +241,9 @@ "UpdateCampaignRequest$campaignArn": "

The Amazon Resource Name (ARN) of the campaign.

", "UpdateCampaignRequest$solutionVersionArn": "

The ARN of a new solution version to deploy.

", "UpdateCampaignResponse$campaignArn": "

The same campaign ARN as given in the request.

", + "UpdateDatasetRequest$datasetArn": "

The Amazon Resource Name (ARN) of the dataset that you want to update.

", + "UpdateDatasetRequest$schemaArn": "

The Amazon Resource Name (ARN) of the new schema you want use.

", + "UpdateDatasetResponse$datasetArn": "

The Amazon Resource Name (ARN) of the dataset you updated.

", "UpdateMetricAttributionRequest$metricAttributionArn": "

The Amazon Resource Name (ARN) for the metric attribution to update.

", "UpdateMetricAttributionResponse$metricAttributionArn": "

The Amazon Resource Name (ARN) for the metric attribution that you updated.

", "UpdateRecommenderRequest$recommenderArn": "

The Amazon Resource Name (ARN) of the recommender to modify.

", @@ -686,6 +691,12 @@ "ExcludedDatasetColumns$key": null } }, + "DatasetUpdateSummary": { + "base": "

Describes an update to a dataset.

", + "refs": { + "Dataset$latestDatasetUpdate": "

Describes the latest update to the dataset.

" + } + }, "Datasets": { "base": null, "refs": { @@ -731,6 +742,8 @@ "DatasetSchemaSummary$lastUpdatedDateTime": "

The date and time (in Unix time) that the schema was last updated.

", "DatasetSummary$creationDateTime": "

The date and time (in Unix time) that the dataset was created.

", "DatasetSummary$lastUpdatedDateTime": "

The date and time (in Unix time) that the dataset was last updated.

", + "DatasetUpdateSummary$creationDateTime": "

The creation date and time (in Unix time) of the dataset update.

", + "DatasetUpdateSummary$lastUpdatedDateTime": "

The last update date and time (in Unix time) of the dataset.

", "EventTracker$creationDateTime": "

The date and time (in Unix format) that the event tracker was created.

", "EventTracker$lastUpdatedDateTime": "

The date and time (in Unix time) that the event tracker was last updated.

", "EventTrackerSummary$creationDateTime": "

The date and time (in Unix time) that the event tracker was created.

", @@ -1116,6 +1129,7 @@ "DatasetGroupSummary$failureReason": "

If creating a dataset group fails, the reason behind the failure.

", "DatasetImportJob$failureReason": "

If a dataset import job fails, provides the reason why.

", "DatasetImportJobSummary$failureReason": "

If a dataset import job fails, the reason behind the failure.

", + "DatasetUpdateSummary$failureReason": "

If updating a dataset fails, provides the reason why.

", "Filter$failureReason": "

If the filter failed, the reason for its failure.

", "FilterSummary$failureReason": "

If the filter failed, the reason for the failure.

", "MetricAttribution$failureReason": "

The metric attribution's failure reason.

", @@ -1913,6 +1927,7 @@ "DatasetImportJob$status": "

The status of the dataset import job.

A dataset import job can be in one of the following states:

", "DatasetImportJobSummary$status": "

The status of the dataset import job.

A dataset import job can be in one of the following states:

", "DatasetSummary$status": "

The status of the dataset.

A dataset can be in one of the following states:

", + "DatasetUpdateSummary$status": "

The status of the dataset update.

", "EventTracker$status": "

The status of the event tracker.

An event tracker can be in one of the following states:

", "EventTrackerSummary$status": "

The status of the event tracker.

An event tracker can be in one of the following states:

", "FeatureTransformation$status": "

The status of the feature transformation.

A feature transformation can be in one of the following states:

", @@ -2087,6 +2102,16 @@ "refs": { } }, + "UpdateDatasetRequest": { + "base": null, + "refs": { + } + }, + "UpdateDatasetResponse": { + "base": null, + "refs": { + } + }, "UpdateMetricAttributionRequest": { "base": null, "refs": { diff --git a/models/apis/proton/2020-07-20/api-2.json b/models/apis/proton/2020-07-20/api-2.json index 2144d468a8b..74b6695824d 100644 --- a/models/apis/proton/2020-07-20/api-2.json +++ b/models/apis/proton/2020-07-20/api-2.json @@ -338,6 +338,23 @@ ], "idempotent":true }, + "DeleteDeployment":{ + "name":"DeleteDeployment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDeploymentInput"}, + "output":{"shape":"DeleteDeploymentOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, "DeleteEnvironment":{ "name":"DeleteEnvironment", "http":{ @@ -550,6 +567,22 @@ {"shape":"InternalServerException"} ] }, + "GetDeployment":{ + "name":"GetDeployment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDeploymentInput"}, + "output":{"shape":"GetDeploymentOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "GetEnvironment":{ "name":"GetEnvironment", "http":{ @@ -852,6 +885,22 @@ {"shape":"InternalServerException"} ] }, + "ListDeployments":{ + "name":"ListDeployments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDeploymentsInput"}, + "output":{"shape":"ListDeploymentsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "ListEnvironmentAccountConnections":{ "name":"ListEnvironmentAccountConnections", "http":{ @@ -1603,10 +1652,12 @@ "deploymentStatusMessage":{"shape":"StatusMessage"}, "description":{"shape":"Description"}, "environmentName":{"shape":"ResourceName"}, + "lastAttemptedDeploymentId":{"shape":"DeploymentId"}, "lastClientRequestToken":{"shape":"String"}, "lastDeploymentAttemptedAt":{"shape":"Timestamp"}, "lastDeploymentSucceededAt":{"shape":"Timestamp"}, "lastModifiedAt":{"shape":"Timestamp"}, + "lastSucceededDeploymentId":{"shape":"DeploymentId"}, "name":{"shape":"ResourceName"}, "serviceInstanceName":{"shape":"ResourceName"}, "serviceName":{"shape":"ResourceName"}, @@ -1614,6 +1665,12 @@ } }, "ComponentArn":{"type":"string"}, + "ComponentDeploymentIdList":{ + "type":"list", + "member":{"shape":"DeploymentId"}, + "max":1, + "min":0 + }, "ComponentDeploymentUpdateType":{ "type":"string", "enum":[ @@ -1621,6 +1678,15 @@ "CURRENT_VERSION" ] }, + "ComponentState":{ + "type":"structure", + "members":{ + "serviceInstanceName":{"shape":"ResourceNameOrEmpty"}, + "serviceName":{"shape":"ResourceNameOrEmpty"}, + "serviceSpec":{"shape":"SpecContents"}, + "templateFile":{"shape":"TemplateFileContents"} + } + }, "ComponentSummary":{ "type":"structure", "required":[ @@ -1637,9 +1703,11 @@ "deploymentStatus":{"shape":"DeploymentStatus"}, "deploymentStatusMessage":{"shape":"StatusMessage"}, "environmentName":{"shape":"ResourceName"}, + "lastAttemptedDeploymentId":{"shape":"DeploymentId"}, "lastDeploymentAttemptedAt":{"shape":"Timestamp"}, "lastDeploymentSucceededAt":{"shape":"Timestamp"}, "lastModifiedAt":{"shape":"Timestamp"}, + "lastSucceededDeploymentId":{"shape":"DeploymentId"}, "name":{"shape":"ResourceName"}, "serviceInstanceName":{"shape":"ResourceName"}, "serviceName":{"shape":"ResourceName"} @@ -1983,6 +2051,19 @@ "component":{"shape":"Component"} } }, + "DeleteDeploymentInput":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{"shape":"DeploymentId"} + } + }, + "DeleteDeploymentOutput":{ + "type":"structure", + "members":{ + "deployment":{"shape":"Deployment"} + } + }, "DeleteEnvironmentAccountConnectionInput":{ "type":"structure", "required":["id"], @@ -2133,10 +2214,55 @@ "templateSyncConfig":{"shape":"TemplateSyncConfig"} } }, + "Deployment":{ + "type":"structure", + "required":[ + "arn", + "createdAt", + "deploymentStatus", + "environmentName", + "id", + "lastModifiedAt", + "targetArn", + "targetResourceCreatedAt", + "targetResourceType" + ], + "members":{ + "arn":{"shape":"DeploymentArn"}, + "completedAt":{"shape":"Timestamp"}, + "componentName":{"shape":"ResourceName"}, + "createdAt":{"shape":"Timestamp"}, + "deploymentStatus":{"shape":"DeploymentStatus"}, + "deploymentStatusMessage":{"shape":"StatusMessage"}, + "environmentName":{"shape":"ResourceName"}, + "id":{"shape":"DeploymentId"}, + "initialState":{"shape":"DeploymentState"}, + "lastAttemptedDeploymentId":{"shape":"DeploymentId"}, + "lastModifiedAt":{"shape":"Timestamp"}, + "lastSucceededDeploymentId":{"shape":"DeploymentId"}, + "serviceInstanceName":{"shape":"ResourceName"}, + "serviceName":{"shape":"ResourceName"}, + "targetArn":{"shape":"Arn"}, + "targetResourceCreatedAt":{"shape":"Timestamp"}, + "targetResourceType":{"shape":"DeploymentTargetResourceType"}, + "targetState":{"shape":"DeploymentState"} + } + }, + "DeploymentArn":{"type":"string"}, "DeploymentId":{ "type":"string", "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" }, + "DeploymentState":{ + "type":"structure", + "members":{ + "component":{"shape":"ComponentState"}, + "environment":{"shape":"EnvironmentState"}, + "serviceInstance":{"shape":"ServiceInstanceState"}, + "servicePipeline":{"shape":"ServicePipelineState"} + }, + "union":true + }, "DeploymentStatus":{ "type":"string", "enum":[ @@ -2150,6 +2276,50 @@ "CANCELLED" ] }, + "DeploymentSummary":{ + "type":"structure", + "required":[ + "arn", + "createdAt", + "deploymentStatus", + "environmentName", + "id", + "lastModifiedAt", + "targetArn", + "targetResourceCreatedAt", + "targetResourceType" + ], + "members":{ + "arn":{"shape":"DeploymentArn"}, + "completedAt":{"shape":"Timestamp"}, + "componentName":{"shape":"ResourceName"}, + "createdAt":{"shape":"Timestamp"}, + "deploymentStatus":{"shape":"DeploymentStatus"}, + "environmentName":{"shape":"ResourceName"}, + "id":{"shape":"DeploymentId"}, + "lastAttemptedDeploymentId":{"shape":"DeploymentId"}, + "lastModifiedAt":{"shape":"Timestamp"}, + "lastSucceededDeploymentId":{"shape":"DeploymentId"}, + "serviceInstanceName":{"shape":"ResourceName"}, + "serviceName":{"shape":"ResourceName"}, + "targetArn":{"shape":"Arn"}, + "targetResourceCreatedAt":{"shape":"Timestamp"}, + "targetResourceType":{"shape":"DeploymentTargetResourceType"} + } + }, + "DeploymentSummaryList":{ + "type":"list", + "member":{"shape":"DeploymentSummary"} + }, + "DeploymentTargetResourceType":{ + "type":"string", + "enum":[ + "ENVIRONMENT", + "SERVICE_PIPELINE", + "SERVICE_INSTANCE", + "COMPONENT" + ] + }, "DeploymentUpdateType":{ "type":"string", "enum":[ @@ -2199,8 +2369,10 @@ "description":{"shape":"Description"}, "environmentAccountConnectionId":{"shape":"EnvironmentAccountConnectionId"}, "environmentAccountId":{"shape":"AwsAccountId"}, + "lastAttemptedDeploymentId":{"shape":"DeploymentId"}, "lastDeploymentAttemptedAt":{"shape":"Timestamp"}, "lastDeploymentSucceededAt":{"shape":"Timestamp"}, + "lastSucceededDeploymentId":{"shape":"DeploymentId"}, "name":{"shape":"ResourceName"}, "protonServiceRoleArn":{"shape":"Arn"}, "provisioning":{"shape":"Provisioning"}, @@ -2293,6 +2465,20 @@ "member":{"shape":"EnvironmentAccountConnectionSummary"} }, "EnvironmentArn":{"type":"string"}, + "EnvironmentState":{ + "type":"structure", + "required":[ + "templateMajorVersion", + "templateMinorVersion", + "templateName" + ], + "members":{ + "spec":{"shape":"SpecContents"}, + "templateMajorVersion":{"shape":"TemplateVersionPart"}, + "templateMinorVersion":{"shape":"TemplateVersionPart"}, + "templateName":{"shape":"ResourceName"} + } + }, "EnvironmentSummary":{ "type":"structure", "required":[ @@ -2315,8 +2501,10 @@ "description":{"shape":"Description"}, "environmentAccountConnectionId":{"shape":"EnvironmentAccountConnectionId"}, "environmentAccountId":{"shape":"AwsAccountId"}, + "lastAttemptedDeploymentId":{"shape":"DeploymentId"}, "lastDeploymentAttemptedAt":{"shape":"Timestamp"}, "lastDeploymentSucceededAt":{"shape":"Timestamp"}, + "lastSucceededDeploymentId":{"shape":"DeploymentId"}, "name":{"shape":"ResourceName"}, "protonServiceRoleArn":{"shape":"Arn"}, "provisioning":{"shape":"Provisioning"}, @@ -2476,6 +2664,23 @@ "component":{"shape":"Component"} } }, + "GetDeploymentInput":{ + "type":"structure", + "required":["id"], + "members":{ + "componentName":{"shape":"ResourceName"}, + "environmentName":{"shape":"ResourceName"}, + "id":{"shape":"DeploymentId"}, + "serviceInstanceName":{"shape":"ResourceName"}, + "serviceName":{"shape":"ResourceName"} + } + }, + "GetDeploymentOutput":{ + "type":"structure", + "members":{ + "deployment":{"shape":"Deployment"} + } + }, "GetEnvironmentAccountConnectionInput":{ "type":"structure", "required":["id"], @@ -2766,6 +2971,7 @@ "required":["componentName"], "members":{ "componentName":{"shape":"ResourceName"}, + "deploymentId":{"shape":"DeploymentId"}, "nextToken":{"shape":"EmptyNextToken"} } }, @@ -2811,6 +3017,25 @@ "nextToken":{"shape":"NextToken"} } }, + "ListDeploymentsInput":{ + "type":"structure", + "members":{ + "componentName":{"shape":"ResourceName"}, + "environmentName":{"shape":"ResourceName"}, + "maxResults":{"shape":"MaxPageResults"}, + "nextToken":{"shape":"NextToken"}, + "serviceInstanceName":{"shape":"ResourceName"}, + "serviceName":{"shape":"ResourceName"} + } + }, + "ListDeploymentsOutput":{ + "type":"structure", + "required":["deployments"], + "members":{ + "deployments":{"shape":"DeploymentSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListEnvironmentAccountConnectionsInput":{ "type":"structure", "required":["requestedBy"], @@ -2834,6 +3059,7 @@ "type":"structure", "required":["environmentName"], "members":{ + "deploymentId":{"shape":"DeploymentId"}, "environmentName":{"shape":"ResourceName"}, "nextToken":{"shape":"EmptyNextToken"} } @@ -2955,6 +3181,7 @@ "serviceName" ], "members":{ + "deploymentId":{"shape":"DeploymentId"}, "nextToken":{"shape":"EmptyNextToken"}, "serviceInstanceName":{"shape":"ResourceName"}, "serviceName":{"shape":"ResourceName"} @@ -3050,6 +3277,7 @@ "type":"structure", "required":["serviceName"], "members":{ + "deploymentId":{"shape":"DeploymentId"}, "nextToken":{"shape":"EmptyNextToken"}, "serviceName":{"shape":"ResourceName"} } @@ -3588,9 +3816,11 @@ "deploymentStatus":{"shape":"DeploymentStatus"}, "deploymentStatusMessage":{"shape":"StatusMessage"}, "environmentName":{"shape":"ResourceName"}, + "lastAttemptedDeploymentId":{"shape":"DeploymentId"}, "lastClientRequestToken":{"shape":"String"}, "lastDeploymentAttemptedAt":{"shape":"Timestamp"}, "lastDeploymentSucceededAt":{"shape":"Timestamp"}, + "lastSucceededDeploymentId":{"shape":"DeploymentId"}, "name":{"shape":"ResourceName"}, "serviceName":{"shape":"ResourceName"}, "spec":{"shape":"SpecContents"}, @@ -3600,6 +3830,24 @@ } }, "ServiceInstanceArn":{"type":"string"}, + "ServiceInstanceState":{ + "type":"structure", + "required":[ + "spec", + "templateMajorVersion", + "templateMinorVersion", + "templateName" + ], + "members":{ + "lastSuccessfulComponentDeploymentIds":{"shape":"ComponentDeploymentIdList"}, + "lastSuccessfulEnvironmentDeploymentId":{"shape":"DeploymentId"}, + "lastSuccessfulServicePipelineDeploymentId":{"shape":"DeploymentId"}, + "spec":{"shape":"SpecContents"}, + "templateMajorVersion":{"shape":"TemplateVersionPart"}, + "templateMinorVersion":{"shape":"TemplateVersionPart"}, + "templateName":{"shape":"ResourceName"} + } + }, "ServiceInstanceSummary":{ "type":"structure", "required":[ @@ -3621,8 +3869,10 @@ "deploymentStatus":{"shape":"DeploymentStatus"}, "deploymentStatusMessage":{"shape":"StatusMessage"}, "environmentName":{"shape":"ResourceName"}, + "lastAttemptedDeploymentId":{"shape":"DeploymentId"}, "lastDeploymentAttemptedAt":{"shape":"Timestamp"}, "lastDeploymentSucceededAt":{"shape":"Timestamp"}, + "lastSucceededDeploymentId":{"shape":"DeploymentId"}, "name":{"shape":"ResourceName"}, "serviceName":{"shape":"ResourceName"}, "templateMajorVersion":{"shape":"TemplateVersionPart"}, @@ -3651,8 +3901,24 @@ "createdAt":{"shape":"Timestamp"}, "deploymentStatus":{"shape":"DeploymentStatus"}, "deploymentStatusMessage":{"shape":"StatusMessage"}, + "lastAttemptedDeploymentId":{"shape":"DeploymentId"}, "lastDeploymentAttemptedAt":{"shape":"Timestamp"}, "lastDeploymentSucceededAt":{"shape":"Timestamp"}, + "lastSucceededDeploymentId":{"shape":"DeploymentId"}, + "spec":{"shape":"SpecContents"}, + "templateMajorVersion":{"shape":"TemplateVersionPart"}, + "templateMinorVersion":{"shape":"TemplateVersionPart"}, + "templateName":{"shape":"ResourceName"} + } + }, + "ServicePipelineState":{ + "type":"structure", + "required":[ + "templateMajorVersion", + "templateMinorVersion", + "templateName" + ], + "members":{ "spec":{"shape":"SpecContents"}, "templateMajorVersion":{"shape":"TemplateVersionPart"}, "templateMinorVersion":{"shape":"TemplateVersionPart"}, diff --git a/models/apis/proton/2020-07-20/docs-2.json b/models/apis/proton/2020-07-20/docs-2.json index 3a7dd71267f..f446eb55c88 100644 --- a/models/apis/proton/2020-07-20/docs-2.json +++ b/models/apis/proton/2020-07-20/docs-2.json @@ -20,6 +20,7 @@ "CreateServiceTemplateVersion": "

Create a new major or minor version of a service template. A major version of a service template is a version that isn't backward compatible. A minor version of a service template is a version that's backward compatible within its major version.

", "CreateTemplateSyncConfig": "

Set up a template to create new template versions automatically by tracking a linked repository. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

When a commit is pushed to your linked repository, Proton checks for changes to your repository template bundles. If it detects a template bundle change, a new major or minor version of its template is created, if the version doesn’t already exist. For more information, see Template sync configurations in the Proton User Guide.

", "DeleteComponent": "

Delete an Proton component resource.

For more information about components, see Proton components in the Proton User Guide.

", + "DeleteDeployment": "

Delete the deployment.

", "DeleteEnvironment": "

Delete an environment.

", "DeleteEnvironmentAccountConnection": "

In an environment account, delete an environment account connection.

After you delete an environment account connection that’s in use by an Proton environment, Proton can’t manage the environment infrastructure resources until a new environment account connection is accepted for the environment account and associated environment. You're responsible for cleaning up provisioned resources that remain without an environment connection.

For more information, see Environment account connections in the Proton User guide.

", "DeleteEnvironmentTemplate": "

If no other major or minor versions of an environment template exist, delete the environment template.

", @@ -32,6 +33,7 @@ "DeleteTemplateSyncConfig": "

Delete a template sync configuration.

", "GetAccountSettings": "

Get detail data for Proton account-wide settings.

", "GetComponent": "

Get detailed data for a component.

For more information about components, see Proton components in the Proton User Guide.

", + "GetDeployment": "

Get detailed data for a deployment.

", "GetEnvironment": "

Get detailed data for an environment.

", "GetEnvironmentAccountConnection": "

In an environment account, get the detailed data for an environment account connection.

For more information, see Environment account connections in the Proton User guide.

", "GetEnvironmentTemplate": "

Get detailed data for an environment template.

", @@ -51,6 +53,7 @@ "ListComponentOutputs": "

Get a list of component Infrastructure as Code (IaC) outputs.

For more information about components, see Proton components in the Proton User Guide.

", "ListComponentProvisionedResources": "

List provisioned resources for a component with details.

For more information about components, see Proton components in the Proton User Guide.

", "ListComponents": "

List components with summary data. You can filter the result list by environment, service, or a single service instance.

For more information about components, see Proton components in the Proton User Guide.

", + "ListDeployments": "

List deployments. You can filter the result list by environment, service, or a single service instance.

", "ListEnvironmentAccountConnections": "

View a list of environment account connections.

For more information, see Environment account connections in the Proton User guide.

", "ListEnvironmentOutputs": "

List the infrastructure as code outputs for your environment.

", "ListEnvironmentProvisionedResources": "

List the provisioned resources for your environment.

", @@ -119,6 +122,8 @@ "CreateRepositoryInput$encryptionKey": "

The ARN of your customer Amazon Web Services Key Management Service (Amazon Web Services KMS) key.

", "CreateServiceInput$repositoryConnectionArn": "

The Amazon Resource Name (ARN) of the repository connection. For more information, see Setting up an AWS CodeStar connection in the Proton User Guide. Don't include this parameter if your service template doesn't include a service pipeline.

", "CreateServiceTemplateInput$encryptionKey": "

A customer provided encryption key that's used to encrypt data.

", + "Deployment$targetArn": "

The Amazon Resource Name (ARN) of the target of the deployment.

", + "DeploymentSummary$targetArn": "

The Amazon Resource Name (ARN) of the target of the deployment.

", "Environment$protonServiceRoleArn": "

The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf.

", "EnvironmentAccountConnection$roleArn": "

The IAM service role that's associated with the environment account connection.

", "EnvironmentAccountConnectionSummary$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton User Guide.

", @@ -263,12 +268,24 @@ "ComponentSummary$arn": "

The Amazon Resource Name (ARN) of the component.

" } }, + "ComponentDeploymentIdList": { + "base": null, + "refs": { + "ServiceInstanceState$lastSuccessfulComponentDeploymentIds": "

The IDs for the last successful components deployed for this service instance.

" + } + }, "ComponentDeploymentUpdateType": { "base": null, "refs": { "UpdateComponentInput$deploymentType": "

The deployment type. It defines the mode for updating a component, as follows:

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated. You can only specify description in this mode.

CURRENT_VERSION

In this mode, the component is deployed and updated with the new serviceSpec, templateSource, and/or type that you provide. Only requested parameters are updated.

" } }, + "ComponentState": { + "base": "

The detailed data about the current state of the component.

", + "refs": { + "DeploymentState$component": "

The state of the component associated with the deployment.

" + } + }, "ComponentSummary": { "base": "

Summary data of an Proton component resource.

For more information about components, see Proton components in the Proton User Guide.

", "refs": { @@ -422,6 +439,16 @@ "refs": { } }, + "DeleteDeploymentInput": { + "base": null, + "refs": { + } + }, + "DeleteDeploymentOutput": { + "base": null, + "refs": { + } + }, "DeleteEnvironmentAccountConnectionInput": { "base": null, "refs": { @@ -522,10 +549,60 @@ "refs": { } }, + "Deployment": { + "base": "

The detailed information about a deployment.

", + "refs": { + "DeleteDeploymentOutput$deployment": "

The detailed data of the deployment being deleted.

", + "GetDeploymentOutput$deployment": "

The detailed data of the requested deployment.

" + } + }, + "DeploymentArn": { + "base": null, + "refs": { + "Deployment$arn": "

The Amazon Resource Name (ARN) of the deployment.

", + "DeploymentSummary$arn": "

The Amazon Resource Name (ARN) of the deployment.

" + } + }, "DeploymentId": { "base": null, "refs": { - "NotifyResourceDeploymentStatusChangeInput$deploymentId": "

The deployment ID for your provisioned resource.

" + "Component$lastAttemptedDeploymentId": "

The ID of the last attempted deployment of this component.

", + "Component$lastSucceededDeploymentId": "

The ID of the last successful deployment of this component.

", + "ComponentDeploymentIdList$member": null, + "ComponentSummary$lastAttemptedDeploymentId": "

The ID of the last attempted deployment of this component.

", + "ComponentSummary$lastSucceededDeploymentId": "

The ID of the last successful deployment of this component.

", + "DeleteDeploymentInput$id": "

The ID of the deployment to delete.

", + "Deployment$id": "

The ID of the deployment.

", + "Deployment$lastAttemptedDeploymentId": "

The ID of the last attempted deployment.

", + "Deployment$lastSucceededDeploymentId": "

The ID of the last successful deployment.

", + "DeploymentSummary$id": "

The ID of the deployment.

", + "DeploymentSummary$lastAttemptedDeploymentId": "

The ID of the last attempted deployment.

", + "DeploymentSummary$lastSucceededDeploymentId": "

The ID of the last successful deployment.

", + "Environment$lastAttemptedDeploymentId": "

The ID of the last attempted deployment of this environment.

", + "Environment$lastSucceededDeploymentId": "

The ID of the last successful deployment of this environment.

", + "EnvironmentSummary$lastAttemptedDeploymentId": "

The ID of the last attempted deployment of this environment.

", + "EnvironmentSummary$lastSucceededDeploymentId": "

The ID of the last successful deployment of this environment.

", + "GetDeploymentInput$id": "

The ID of the deployment that you want to get the detailed data for.

", + "ListComponentOutputsInput$deploymentId": "

The ID of the deployment whose outputs you want.

", + "ListEnvironmentOutputsInput$deploymentId": "

The ID of the deployment whose outputs you want.

", + "ListServiceInstanceOutputsInput$deploymentId": "

The ID of the deployment whose outputs you want.

", + "ListServicePipelineOutputsInput$deploymentId": "

The ID of the deployment you want the outputs for.

", + "NotifyResourceDeploymentStatusChangeInput$deploymentId": "

The deployment ID for your provisioned resource.

", + "ServiceInstance$lastAttemptedDeploymentId": "

The ID of the last attempted deployment of this service instance.

", + "ServiceInstance$lastSucceededDeploymentId": "

The ID of the last successful deployment of this service instance.

", + "ServiceInstanceState$lastSuccessfulEnvironmentDeploymentId": "

The ID for the last successful environment deployed for this service instance.

", + "ServiceInstanceState$lastSuccessfulServicePipelineDeploymentId": "

The ID for the last successful service pipeline deployed for this service instance.

", + "ServiceInstanceSummary$lastAttemptedDeploymentId": "

The ID of the last attempted deployment of this service instance.

", + "ServiceInstanceSummary$lastSucceededDeploymentId": "

The ID of the last successful deployment of this service instance.

", + "ServicePipeline$lastAttemptedDeploymentId": "

The ID of the last attempted deployment of this service pipeline.

", + "ServicePipeline$lastSucceededDeploymentId": "

The ID of the last successful deployment of this service pipeline.

" + } + }, + "DeploymentState": { + "base": "

The detailed data about the current state of the deployment.

", + "refs": { + "Deployment$initialState": "

The initial state of the target resource at the time of the deployment.

", + "Deployment$targetState": "

The target state of the target resource at the time of the deployment.

" } }, "DeploymentStatus": { @@ -533,6 +610,8 @@ "refs": { "Component$deploymentStatus": "

The component deployment status.

", "ComponentSummary$deploymentStatus": "

The component deployment status.

", + "Deployment$deploymentStatus": "

The status of the deployment.

", + "DeploymentSummary$deploymentStatus": "

The current status of the deployment.

", "Environment$deploymentStatus": "

The environment deployment status.

", "EnvironmentSummary$deploymentStatus": "

The environment deployment status.

", "ServiceInstance$deploymentStatus": "

The service instance deployment status.

", @@ -540,6 +619,25 @@ "ServicePipeline$deploymentStatus": "

The deployment status of the service pipeline.

" } }, + "DeploymentSummary": { + "base": "

Summary data of the deployment.

", + "refs": { + "DeploymentSummaryList$member": null + } + }, + "DeploymentSummaryList": { + "base": null, + "refs": { + "ListDeploymentsOutput$deployments": "

An array of deployment with summary data.

" + } + }, + "DeploymentTargetResourceType": { + "base": null, + "refs": { + "Deployment$targetResourceType": "

The resource type of the deployment target. It can be an environment, service, service instance, or component.

", + "DeploymentSummary$targetResourceType": "

The resource type of the deployment target. It can be an environment, service, service instance, or component.

" + } + }, "DeploymentUpdateType": { "base": null, "refs": { @@ -699,6 +797,12 @@ "EnvironmentSummary$arn": "

The Amazon Resource Name (ARN) of the environment.

" } }, + "EnvironmentState": { + "base": "

The detailed data about the current state of the environment.

", + "refs": { + "DeploymentState$environment": "

The state of the environment associated with the deployment.

" + } + }, "EnvironmentSummary": { "base": "

Summary data of an Proton environment resource. An Proton environment is a set of resources shared across Proton services.

", "refs": { @@ -820,6 +924,16 @@ "refs": { } }, + "GetDeploymentInput": { + "base": null, + "refs": { + } + }, + "GetDeploymentOutput": { + "base": null, + "refs": { + } + }, "GetEnvironmentAccountConnectionInput": { "base": null, "refs": { @@ -1049,6 +1163,16 @@ "refs": { } }, + "ListDeploymentsInput": { + "base": null, + "refs": { + } + }, + "ListDeploymentsOutput": { + "base": null, + "refs": { + } + }, "ListEnvironmentAccountConnectionsInput": { "base": null, "refs": { @@ -1253,6 +1377,7 @@ "base": null, "refs": { "ListComponentsInput$maxResults": "

The maximum number of components to list.

", + "ListDeploymentsInput$maxResults": "

The maximum number of deployments to list.

", "ListEnvironmentAccountConnectionsInput$maxResults": "

The maximum number of environment account connections to list.

", "ListEnvironmentTemplateVersionsInput$maxResults": "

The maximum number of major or minor versions of an environment template to list.

", "ListEnvironmentTemplatesInput$maxResults": "

The maximum number of environment templates to list.

", @@ -1270,6 +1395,8 @@ "refs": { "ListComponentsInput$nextToken": "

A token that indicates the location of the next component in the array of components, after the list of components that was previously requested.

", "ListComponentsOutput$nextToken": "

A token that indicates the location of the next component in the array of components, after the current requested list of components.

", + "ListDeploymentsInput$nextToken": "

A token that indicates the location of the next deployment in the array of deployment, after the list of deployment that was previously requested.

", + "ListDeploymentsOutput$nextToken": "

A token that indicates the location of the next deployment in the array of deployment, after the current requested list of deployment.

", "ListEnvironmentAccountConnectionsInput$nextToken": "

A token that indicates the location of the next environment account connection in the array of environment account connections, after the list of environment account connections that was previously requested.

", "ListEnvironmentAccountConnectionsOutput$nextToken": "

A token that indicates the location of the next environment account connection in the array of environment account connections, after the current requested list of environment account connections.

", "ListEnvironmentTemplateVersionsInput$nextToken": "

A token that indicates the location of the next major or minor version in the array of major or minor versions of an environment template, after the list of major or minor versions that was previously requested.

", @@ -1594,10 +1721,19 @@ "DeleteServiceTemplateInput$name": "

The name of the service template to delete.

", "DeleteServiceTemplateVersionInput$templateName": "

The name of the service template.

", "DeleteTemplateSyncConfigInput$templateName": "

The template name.

", + "Deployment$componentName": "

The name of the component associated with this deployment.

", + "Deployment$environmentName": "

The name of the environment associated with this deployment.

", + "Deployment$serviceInstanceName": "

The name of the deployment's service instance.

", + "Deployment$serviceName": "

The name of the service in this deployment.

", + "DeploymentSummary$componentName": "

The name of the component associated with the deployment.

", + "DeploymentSummary$environmentName": "

The name of the environment associated with the deployment.

", + "DeploymentSummary$serviceInstanceName": "

The name of the service instance associated with the deployment.

", + "DeploymentSummary$serviceName": "

The name of the service associated with the deployment.

", "Environment$name": "

The name of the environment.

", "Environment$templateName": "

The Amazon Resource Name (ARN) of the environment template.

", "EnvironmentAccountConnection$environmentName": "

The name of the environment that's associated with the environment account connection.

", "EnvironmentAccountConnectionSummary$environmentName": "

The name of the environment that's associated with the environment account connection.

", + "EnvironmentState$templateName": "

The name of the environment template that was used to create the environment.

", "EnvironmentSummary$name": "

The name of the environment.

", "EnvironmentSummary$templateName": "

The name of the environment template.

", "EnvironmentTemplate$name": "

The name of the environment template.

", @@ -1606,6 +1742,10 @@ "EnvironmentTemplateVersion$templateName": "

The name of the version of an environment template.

", "EnvironmentTemplateVersionSummary$templateName": "

The name of the environment template.

", "GetComponentInput$name": "

The name of the component that you want to get the detailed data for.

", + "GetDeploymentInput$componentName": "

The name of a component that you want to get the detailed data for.

", + "GetDeploymentInput$environmentName": "

The name of a environment that you want to get the detailed data for.

", + "GetDeploymentInput$serviceInstanceName": "

The name of the service instance associated with the given deployment ID. serviceName must be specified to identify the service instance.

", + "GetDeploymentInput$serviceName": "

The name of the service associated with the given deployment ID.

", "GetEnvironmentInput$name": "

The name of the environment that you want to get the detailed data for.

", "GetEnvironmentTemplateInput$name": "

The name of the environment template that you want to get the detailed data for.

", "GetEnvironmentTemplateVersionInput$templateName": "

The name of the environment template a version of which you want to get detailed data for.

", @@ -1626,6 +1766,10 @@ "ListComponentsInput$environmentName": "

The name of an environment for result list filtering. Proton returns components associated with the environment or attached to service instances running in it.

", "ListComponentsInput$serviceInstanceName": "

The name of a service instance for result list filtering. Proton returns the component attached to the service instance, if any.

", "ListComponentsInput$serviceName": "

The name of a service for result list filtering. Proton returns components attached to service instances of the service.

", + "ListDeploymentsInput$componentName": "

The name of a component for result list filtering. Proton returns deployments associated with that component.

", + "ListDeploymentsInput$environmentName": "

The name of an environment for result list filtering. Proton returns deployments associated with the environment.

", + "ListDeploymentsInput$serviceInstanceName": "

The name of a service instance for result list filtering. Proton returns the deployments associated with the service instance.

", + "ListDeploymentsInput$serviceName": "

The name of a service for result list filtering. Proton returns deployments associated with service instances of the service.

", "ListEnvironmentAccountConnectionsInput$environmentName": "

The environment name that's associated with each listed environment account connection.

", "ListEnvironmentOutputsInput$environmentName": "

The environment name.

", "ListEnvironmentProvisionedResourcesInput$environmentName": "

The environment name.

", @@ -1644,11 +1788,13 @@ "ServiceInstance$name": "

The name of the service instance.

", "ServiceInstance$serviceName": "

The name of the service that the service instance belongs to.

", "ServiceInstance$templateName": "

The name of the service template that was used to create the service instance.

", + "ServiceInstanceState$templateName": "

The name of the service template that was used to create the service instance.

", "ServiceInstanceSummary$environmentName": "

The name of the environment that the service instance was deployed into.

", "ServiceInstanceSummary$name": "

The name of the service instance.

", "ServiceInstanceSummary$serviceName": "

The name of the service that the service instance belongs to.

", "ServiceInstanceSummary$templateName": "

The name of the service template.

", "ServicePipeline$templateName": "

The name of the service template that was used to create the service pipeline.

", + "ServicePipelineState$templateName": "

The name of the service template that was used to create the service pipeline.

", "ServiceSummary$name": "

The name of the service.

", "ServiceSummary$templateName": "

The name of the service template.

", "ServiceSyncConfig$serviceName": "

The name of the service that the service instance is added to.

", @@ -1676,6 +1822,8 @@ "ResourceNameOrEmpty": { "base": null, "refs": { + "ComponentState$serviceInstanceName": "

The name of the service instance that this component is attached to. Provided when a component is attached to a service instance.

", + "ComponentState$serviceName": "

The name of the service that serviceInstanceName is associated with. Provided when a component is attached to a service instance.

", "UpdateComponentInput$serviceInstanceName": "

The name of the service instance that you want to attach this component to. Don't specify to keep the component's current service instance attachment. Specify an empty string to detach the component from the service instance it's attached to. Specify non-empty values for both serviceInstanceName and serviceName or for neither of them.

", "UpdateComponentInput$serviceName": "

The name of the service that serviceInstanceName is associated with. Don't specify to keep the component's current service instance attachment. Specify an empty string to detach the component from the service instance it's attached to. Specify non-empty values for both serviceInstanceName and serviceName or for neither of them.

" } @@ -1805,6 +1953,12 @@ "ServiceInstanceSummary$arn": "

The Amazon Resource Name (ARN) of the service instance.

" } }, + "ServiceInstanceState": { + "base": "

The detailed data about the current state of this service instance.

", + "refs": { + "DeploymentState$serviceInstance": "

The state of the service instance associated with the deployment.

" + } + }, "ServiceInstanceSummary": { "base": "

Summary data of an Proton service instance resource.

", "refs": { @@ -1825,6 +1979,12 @@ "UpdateServicePipelineOutput$pipeline": "

The pipeline details that are returned by Proton.

" } }, + "ServicePipelineState": { + "base": "

The detailed data about the current state of the service pipeline.

", + "refs": { + "DeploymentState$servicePipeline": "

The state of the service pipeline associated with the deployment.

" + } + }, "ServiceQuotaExceededException": { "base": "

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

", "refs": { @@ -1944,14 +2104,18 @@ "base": null, "refs": { "Component$serviceSpec": "

The service spec that the component uses to access service inputs. Provided when a component is attached to a service instance.

", + "ComponentState$serviceSpec": "

The service spec that the component uses to access service inputs. Provided when a component is attached to a service instance.

", "CreateComponentInput$serviceSpec": "

The service spec that you want the component to use to access service inputs. Set this only when you attach the component to a service instance.

", "CreateEnvironmentInput$spec": "

A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more information, see Environments in the Proton User Guide.

", "CreateServiceInput$spec": "

A link to a spec file that provides inputs as defined in the service template bundle schema file. The spec file is in YAML format. Don’t include pipeline inputs in the spec if your service template doesn’t include a service pipeline. For more information, see Create a service in the Proton User Guide.

", "CreateServiceInstanceInput$spec": "

The spec for the service instance you want to create.

", "Environment$spec": "

The environment spec.

", + "EnvironmentState$spec": "

The environment spec that was used to create the environment.

", "Service$spec": "

The formatted specification that defines the service.

", "ServiceInstance$spec": "

The service spec that was used to create the service instance.

", + "ServiceInstanceState$spec": "

The service spec that was used to create the service instance.

", "ServicePipeline$spec": "

The service spec that was used to create the service pipeline.

", + "ServicePipelineState$spec": "

The service spec that was used to create the service pipeline.

", "UpdateComponentInput$serviceSpec": "

The service spec that you want the component to use to access service inputs. Set this only when the component is attached to a service instance.

", "UpdateEnvironmentInput$spec": "

The formatted specification that defines the update.

", "UpdateServiceInput$spec": "

Lists the service instances to add and the existing service instances to remain. Omit the existing service instances to delete from the list. Don't include edits to the existing service instances or pipeline. For more information, see Edit a service in the Proton User Guide.

", @@ -1964,6 +2128,7 @@ "refs": { "Component$deploymentStatusMessage": "

The message associated with the component deployment status.

", "ComponentSummary$deploymentStatusMessage": "

The message associated with the component deployment status.

", + "Deployment$deploymentStatusMessage": "

The deployment status message.

", "Environment$deploymentStatusMessage": "

An environment deployment status message.

", "EnvironmentSummary$deploymentStatusMessage": "

An environment deployment status message.

", "EnvironmentTemplateVersion$statusMessage": "

The status message of the version of an environment template.

", @@ -2095,6 +2260,7 @@ "TemplateFileContents": { "base": null, "refs": { + "ComponentState$templateFile": "

The template file used.

", "CreateComponentInput$templateFile": "

A path to the Infrastructure as Code (IaC) file describing infrastructure that a custom component provisions.

Components support a single IaC file, even if you use Terraform as your template language.

", "UpdateComponentInput$templateFile": "

A path to the Infrastructure as Code (IaC) file describing infrastructure that a custom component provisions.

Components support a single IaC file, even if you use Terraform as your template language.

" } @@ -2151,6 +2317,8 @@ "DeleteServiceTemplateVersionInput$minorVersion": "

The service template minor version to delete.

", "Environment$templateMajorVersion": "

The major version of the environment template.

", "Environment$templateMinorVersion": "

The minor version of the environment template.

", + "EnvironmentState$templateMajorVersion": "

The major version of the environment template that was used to create the environment.

", + "EnvironmentState$templateMinorVersion": "

The minor version of the environment template that was used to create the environment.

", "EnvironmentSummary$templateMajorVersion": "

The major version of the environment template.

", "EnvironmentSummary$templateMinorVersion": "

The minor version of the environment template.

", "EnvironmentTemplateFilter$majorVersion": "

Include majorVersion to filter search for a major version.

", @@ -2169,10 +2337,14 @@ "ListServiceTemplateVersionsInput$majorVersion": "

To view a list of minor of versions under a major version of a service template, include major Version.

To view a list of major versions of a service template, exclude major Version.

", "ServiceInstance$templateMajorVersion": "

The major version of the service template that was used to create the service instance.

", "ServiceInstance$templateMinorVersion": "

The minor version of the service template that was used to create the service instance.

", + "ServiceInstanceState$templateMajorVersion": "

The major version of the service template that was used to create the service pipeline.

", + "ServiceInstanceState$templateMinorVersion": "

The minor version of the service template that was used to create the service pipeline.

", "ServiceInstanceSummary$templateMajorVersion": "

The service instance template major version.

", "ServiceInstanceSummary$templateMinorVersion": "

The service instance template minor version.

", "ServicePipeline$templateMajorVersion": "

The major version of the service template that was used to create the service pipeline.

", "ServicePipeline$templateMinorVersion": "

The minor version of the service template that was used to create the service pipeline.

", + "ServicePipelineState$templateMajorVersion": "

The major version of the service template that was used to create the service pipeline.

", + "ServicePipelineState$templateMinorVersion": "

The minor version of the service template that was used to create the service pipeline.

", "ServiceTemplateVersion$majorVersion": "

The latest major version that's associated with the version of a service template.

", "ServiceTemplateVersion$minorVersion": "

The minor version of a service template.

", "ServiceTemplateVersion$recommendedMinorVersion": "

The recommended minor version of the service template.

", @@ -2225,6 +2397,14 @@ "ComponentSummary$lastDeploymentAttemptedAt": "

The time when a deployment of the component was last attempted.

", "ComponentSummary$lastDeploymentSucceededAt": "

The time when the component was last deployed successfully.

", "ComponentSummary$lastModifiedAt": "

The time when the component was last modified.

", + "Deployment$completedAt": "

The date and time the deployment was completed.

", + "Deployment$createdAt": "

The date and time the deployment was created.

", + "Deployment$lastModifiedAt": "

The date and time the deployment was last modified.

", + "Deployment$targetResourceCreatedAt": "

The date and time the depoyment target was created.

", + "DeploymentSummary$completedAt": "

The date and time the deployment was completed.

", + "DeploymentSummary$createdAt": "

The date and time the deployment was created.

", + "DeploymentSummary$lastModifiedAt": "

The date and time the deployment was last modified.

", + "DeploymentSummary$targetResourceCreatedAt": "

The date and time the target resource was created.

", "Environment$createdAt": "

The time when the environment was created.

", "Environment$lastDeploymentAttemptedAt": "

The time when a deployment of the environment was last attempted.

", "Environment$lastDeploymentSucceededAt": "

The time when the environment was last deployed successfully.

", diff --git a/models/apis/proton/2020-07-20/endpoint-tests-1.json b/models/apis/proton/2020-07-20/endpoint-tests-1.json index fd7da6d333f..2ea3a3dcf5b 100644 --- a/models/apis/proton/2020-07-20/endpoint-tests-1.json +++ b/models/apis/proton/2020-07-20/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -214,9 +214,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -227,9 +227,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -238,9 +238,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -251,9 +251,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -262,9 +262,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -275,9 +275,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -286,9 +286,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -299,9 +299,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -312,9 +312,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -337,9 +337,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -349,9 +349,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": true, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, diff --git a/models/apis/proton/2020-07-20/paginators-1.json b/models/apis/proton/2020-07-20/paginators-1.json index 457a6a8bd4d..f9a86b70b65 100644 --- a/models/apis/proton/2020-07-20/paginators-1.json +++ b/models/apis/proton/2020-07-20/paginators-1.json @@ -16,6 +16,12 @@ "limit_key": "maxResults", "result_key": "components" }, + "ListDeployments": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "deployments" + }, "ListEnvironmentAccountConnections": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/s3/2006-03-01/api-2.json b/models/apis/s3/2006-03-01/api-2.json index 5e0a0425447..0b74e51e202 100644 --- a/models/apis/s3/2006-03-01/api-2.json +++ b/models/apis/s3/2006-03-01/api-2.json @@ -1328,7 +1328,9 @@ "us-gov-east-1", "us-gov-west-1", "us-west-1", - "us-west-2" + "us-west-2", + "ap-south-2", + "eu-south-2" ] }, "BucketLoggingStatus":{ @@ -4687,7 +4689,9 @@ "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus", - "ChecksumAlgorithm" + "ChecksumAlgorithm", + "ObjectAccessControlList", + "ObjectOwner" ] }, "InventoryOptionalFields":{ diff --git a/models/apis/s3/2006-03-01/docs-2.json b/models/apis/s3/2006-03-01/docs-2.json index c4e20ed5fea..3a1c6c202fe 100644 --- a/models/apis/s3/2006-03-01/docs-2.json +++ b/models/apis/s3/2006-03-01/docs-2.json @@ -4,7 +4,7 @@ "operations": { "AbortMultipartUpload": "

This action aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.

To verify that all parts have been removed, so you don't get charged for the part storage, you should call the ListParts action and ensure that the parts list is empty.

For information about permissions required to use the multipart upload, see Multipart Upload and Permissions.

The following operations are related to AbortMultipartUpload:

", "CompleteMultipartUpload": "

Completes a multipart upload by assembling previously uploaded parts.

You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This action concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded.

Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. A request could fail after the initial 200 OK response has been sent. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

You cannot use Content-Type: application/x-www-form-urlencoded with Complete Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response.

For more information about multipart uploads, see Uploading Objects Using Multipart Upload.

For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions.

CompleteMultipartUpload has the following special errors:

The following operations are related to CompleteMultipartUpload:

", - "CopyObject": "

Creates a copy of an object that is already stored in Amazon S3.

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

If the copy is successful, you receive a response with information about the copied object.

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing.

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

Metadata

When copying an object, you can preserve all metadata (the default) or specify new metadata. However, the access control list (ACL) is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

x-amz-website-redirect-location is unique to each object and must be specified in the request headers to copy the value.

x-amz-copy-source-if Headers

To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

Server-side encryption

Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy.

When you perform a CopyObject operation, if you want to use a different type of encryption setting for the target object, you can use other appropriate encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it writes your data to disks in its data centers and decrypts the data when you access it. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying. For more information about server-side encryption, see Using Server-Side Encryption.

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups that are defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

Checksums

When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you can optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header.

Storage Class Options

You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 by using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. For more information, see Copying Objects.

Versioning

By default, x-amz-copy-source header identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

The following operations are related to CopyObject:

", + "CopyObject": "

Creates a copy of an object that is already stored in Amazon S3.

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

If the copy is successful, you receive a response with information about the copied object.

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. For pricing information, see Amazon S3 pricing.

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

Metadata

When copying an object, you can preserve all metadata (the default) or specify new metadata. However, the access control list (ACL) is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

x-amz-website-redirect-location is unique to each object and must be specified in the request headers to copy the value.

x-amz-copy-source-if Headers

To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

Server-side encryption

Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy.

When you perform a CopyObject operation, if you want to use a different type of encryption setting for the target object, you can use other appropriate encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it writes your data to disks in its data centers and decrypts the data when you access it. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying. For more information about server-side encryption, see Using Server-Side Encryption.

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups that are defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

Checksums

When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you can optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header.

Storage Class Options

You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 by using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. For more information, see Copying Objects.

Versioning

By default, x-amz-copy-source header identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

The following operations are related to CopyObject:

", "CreateBucket": "

Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

Not every string is an acceptable bucket name. For information about bucket naming restrictions, see Bucket naming rules.

If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

By default, the bucket is created in the US East (N. Virginia) Region. You can optionally specify a Region in the request body. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region. For more information, see Accessing a bucket.

If you send your create bucket request to the s3.amazonaws.com endpoint, the request goes to the us-east-1 Region. Accordingly, the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets.

Permissions

In addition to s3:CreateBucket, the following permissions are required when your CreateBucket request includes specific headers:

If your CreateBucket request sets BucketOwnerEnforced for Amazon S3 Object Ownership and specifies a bucket ACL that provides access to an external Amazon Web Services account, your request fails with a 400 error and returns the InvalidBucketAcLWithObjectOwnership error code. For more information, see Setting Object Ownership on an existing bucket in the Amazon S3 User Guide.

The following operations are related to CreateBucket:

", "CreateMultipartUpload": "

This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request.

For more information about multipart uploads, see Multipart Upload Overview.

If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration.

For information about the permissions required to use the multipart upload API, see Multipart Upload and Permissions.

For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4).

After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload.

Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption information in your request, the encryption setting of the uploaded parts is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to use a different type of encryption setting for the uploaded parts, you can request that Amazon S3 encrypts the object with a KMS key, an Amazon S3 managed key, or a customer-provided key. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. You can request that Amazon S3 save the uploaded parts encrypted with server-side encryption with an Amazon S3 managed key (SSE-S3), an Key Management Service (KMS) key (SSE-KMS), or a customer-provided encryption key (SSE-C).

To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions and Protecting data using server-side encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role.

For more information, see Protecting Data Using Server-Side Encryption.

Access Permissions

When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Server-Side- Encryption-Specific Request Headers

Amazon S3 encrypts data by using server-side encryption with an Amazon S3 managed key (SSE-S3) by default. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can request that Amazon S3 encrypts data at rest by using server-side encryption with other key options. The option you use depends on whether you want to use KMS keys (SSE-KMS) or provide your own encryption keys (SSE-C).

Access-Control-List (ACL)-Specific Request Headers

You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods:

The following operations are related to CreateMultipartUpload:

", "DeleteBucket": "

Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted.

The following operations are related to DeleteBucket:

", diff --git a/models/apis/s3/2006-03-01/examples-1.json b/models/apis/s3/2006-03-01/examples-1.json index 7242b572a02..d4cbbd175a9 100644 --- a/models/apis/s3/2006-03-01/examples-1.json +++ b/models/apis/s3/2006-03-01/examples-1.json @@ -84,10 +84,13 @@ "CreateBucket": [ { "input": { - "Bucket": "examplebucket" + "Bucket": "examplebucket", + "CreateBucketConfiguration": { + "LocationConstraint": "eu-west-1" + } }, "output": { - "Location": "/examplebucket" + "Location": "http://examplebucket..s3.amazonaws.com/" }, "comments": { "input": { @@ -95,19 +98,16 @@ "output": { } }, - "description": "The following example creates a bucket.", - "id": "to-create-a-bucket--1472851826060", - "title": "To create a bucket " + "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", + "id": "to-create-a-bucket-in-a-specific-region-1483399072992", + "title": "To create a bucket in a specific region" }, { "input": { - "Bucket": "examplebucket", - "CreateBucketConfiguration": { - "LocationConstraint": "eu-west-1" - } + "Bucket": "examplebucket" }, "output": { - "Location": "http://examplebucket..s3.amazonaws.com/" + "Location": "/examplebucket" }, "comments": { "input": { @@ -115,9 +115,9 @@ "output": { } }, - "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", - "id": "to-create-a-bucket-in-a-specific-region-1483399072992", - "title": "To create a bucket in a specific region" + "description": "The following example creates a bucket.", + "id": "to-create-a-bucket--1472851826060", + "title": "To create a bucket " } ], "CreateMultipartUpload": [ @@ -257,10 +257,8 @@ "DeleteObject": [ { "input": { - "Bucket": "examplebucket", - "Key": "objectkey.jpg" - }, - "output": { + "Bucket": "ExampleBucket", + "Key": "HappyFace.jpg" }, "comments": { "input": { @@ -268,14 +266,16 @@ "output": { } }, - "description": "The following example deletes an object from an S3 bucket.", - "id": "to-delete-an-object-1472850136595", - "title": "To delete an object" + "description": "The following example deletes an object from a non-versioned bucket.", + "id": "to-delete-an-object-from-a-non-versioned-bucket-1481588533089", + "title": "To delete an object (from a non-versioned bucket)" }, { "input": { - "Bucket": "ExampleBucket", - "Key": "HappyFace.jpg" + "Bucket": "examplebucket", + "Key": "objectkey.jpg" + }, + "output": { }, "comments": { "input": { @@ -283,20 +283,19 @@ "output": { } }, - "description": "The following example deletes an object from a non-versioned bucket.", - "id": "to-delete-an-object-from-a-non-versioned-bucket-1481588533089", - "title": "To delete an object (from a non-versioned bucket)" + "description": "The following example deletes an object from an S3 bucket.", + "id": "to-delete-an-object-1472850136595", + "title": "To delete an object" } ], "DeleteObjectTagging": [ { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "Key": "HappyFace.jpg" }, "output": { - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "VersionId": "null" }, "comments": { "input": { @@ -304,17 +303,18 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", - "id": "to-remove-tag-set-from-an-object-version-1483145285913", - "title": "To remove tag set from an object version" + "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", + "id": "to-remove-tag-set-from-an-object-1483145342862", + "title": "To remove tag set from an object" }, { "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "output": { - "VersionId": "null" + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "comments": { "input": { @@ -322,9 +322,9 @@ "output": { } }, - "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", - "id": "to-remove-tag-set-from-an-object-1483145342862", - "title": "To remove tag set from an object" + "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", + "id": "to-remove-tag-set-from-an-object-version-1483145285913", + "title": "To remove tag set from an object version" } ], "DeleteObjects": [ @@ -1569,15 +1569,11 @@ "input": { "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "exampleobject", - "Metadata": { - "metadata1": "value1", - "metadata2": "value2" - } + "Key": "objectkey" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" + "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" }, "comments": { "input": { @@ -1585,22 +1581,23 @@ "output": { } }, - "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", - "title": "To upload object and specify user-defined metadata" + "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-create-an-object-1483147613675", + "title": "To create an object." }, { "input": { - "Body": "HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "ServerSideEncryption": "AES256", - "StorageClass": "STANDARD_IA" + "Key": "exampleobject", + "Metadata": { + "metadata1": "value1", + "metadata2": "value2" + } }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" + "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" }, "comments": { "input": { @@ -1608,19 +1605,19 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", - "id": "to-upload-an-object-(specify-optional-headers)", - "title": "To upload an object (specify optional headers)" + "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", + "title": "To upload object and specify user-defined metadata" }, { "input": { - "Body": "filetoupload", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "objectkey" + "Key": "HappyFace.jpg" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" + "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" }, "comments": { "input": { @@ -1628,9 +1625,9 @@ "output": { } }, - "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-create-an-object-1483147613675", - "title": "To create an object." + "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", + "id": "to-upload-an-object-1481760101010", + "title": "To upload an object" }, { "input": { @@ -1657,11 +1654,14 @@ "input": { "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "ServerSideEncryption": "AES256", + "StorageClass": "STANDARD_IA" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" + "ServerSideEncryption": "AES256", + "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" }, "comments": { "input": { @@ -1669,22 +1669,20 @@ "output": { } }, - "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", - "id": "to-upload-an-object-1481760101010", - "title": "To upload an object" + "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", + "id": "to-upload-an-object-(specify-optional-headers)", + "title": "To upload an object (specify optional headers)" }, { "input": { - "Body": "filetoupload", + "Body": "c:\\HappyFace.jpg", "Bucket": "examplebucket", - "Key": "exampleobject", - "ServerSideEncryption": "AES256", + "Key": "HappyFace.jpg", "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" + "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" }, "comments": { "input": { @@ -1692,20 +1690,22 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", - "title": "To upload an object and specify server-side encryption and object tags" + "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", + "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", + "title": "To upload an object and specify optional tags" }, { "input": { - "Body": "c:\\HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", + "Key": "exampleobject", + "ServerSideEncryption": "AES256", "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" + "ServerSideEncryption": "AES256", + "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" }, "comments": { "input": { @@ -1713,9 +1713,9 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", - "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", - "title": "To upload an object and specify optional tags" + "description": "The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", + "title": "To upload an object and specify server-side encryption and object tags" } ], "PutObjectAcl": [ @@ -1826,14 +1826,15 @@ "input": { "Bucket": "examplebucket", "CopySource": "/bucketname/sourceobjectkey", + "CopySourceRange": "bytes=1-100000", "Key": "examplelargeobject", - "PartNumber": "1", + "PartNumber": "2", "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" }, "output": { "CopyPartResult": { - "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"", - "LastModified": "2016-12-29T21:24:43.000Z" + "ETag": "\"65d16d19e65a7508a51f043180edcc36\"", + "LastModified": "2016-12-29T21:44:28.000Z" } }, "comments": { @@ -1842,23 +1843,22 @@ "output": { } }, - "description": "The following example uploads a part of a multipart upload by copying data from an existing object as data source.", - "id": "to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348", - "title": "To upload a part by copying data from an existing object as data source" + "description": "The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.", + "id": "to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594", + "title": "To upload a part by copying byte range from an existing object as data source" }, { "input": { "Bucket": "examplebucket", "CopySource": "/bucketname/sourceobjectkey", - "CopySourceRange": "bytes=1-100000", "Key": "examplelargeobject", - "PartNumber": "2", + "PartNumber": "1", "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" }, "output": { "CopyPartResult": { - "ETag": "\"65d16d19e65a7508a51f043180edcc36\"", - "LastModified": "2016-12-29T21:44:28.000Z" + "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"", + "LastModified": "2016-12-29T21:24:43.000Z" } }, "comments": { @@ -1867,9 +1867,9 @@ "output": { } }, - "description": "The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.", - "id": "to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594", - "title": "To upload a part by copying byte range from an existing object as data source" + "description": "The following example uploads a part of a multipart upload by copying data from an existing object as data source.", + "id": "to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348", + "title": "To upload a part by copying data from an existing object as data source" } ] } diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index bc5dee05f34..365a59d62a4 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -4809,7 +4809,8 @@ "type":"structure", "members":{ "TimeSeriesForecastingSettings":{"shape":"TimeSeriesForecastingSettings"}, - "ModelRegisterSettings":{"shape":"ModelRegisterSettings"} + "ModelRegisterSettings":{"shape":"ModelRegisterSettings"}, + "WorkspaceSettings":{"shape":"WorkspaceSettings"} } }, "CapacitySize":{ @@ -21222,6 +21223,13 @@ "type":"list", "member":{"shape":"Workforce"} }, + "WorkspaceSettings":{ + "type":"structure", + "members":{ + "S3ArtifactPath":{"shape":"S3Uri"}, + "S3KmsKeyId":{"shape":"KmsKeyId"} + } + }, "Workteam":{ "type":"structure", "required":[ diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index a9673ccc8bd..2e263fc685a 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -1553,8 +1553,8 @@ "CapacitySize": { "base": "

Specifies the type and size of the endpoint capacity to activate for a blue/green deployment, a rolling deployment, or a rollback strategy. You can specify your batches as either instance count or the overall percentage or your fleet.

For a rollback strategy, if you don't specify the fields in this object, or if you set the Value to 100%, then SageMaker uses a blue/green rollback strategy and rolls all traffic back to the blue fleet.

", "refs": { - "RollingUpdatePolicy$MaximumBatchSize": null, - "RollingUpdatePolicy$RollbackMaximumBatchSize": null, + "RollingUpdatePolicy$MaximumBatchSize": "

Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.

", + "RollingUpdatePolicy$RollbackMaximumBatchSize": "

Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.

", "TrafficRoutingConfig$CanarySize": "

Batch size for the first step to turn on traffic on the new endpoint fleet. Value must be less than or equal to 50% of the variant's total instance count.

", "TrafficRoutingConfig$LinearStepSize": "

Batch size for each step to turn on traffic on the new endpoint fleet. Value must be 10-50% of the variant's total instance count.

" } @@ -7087,7 +7087,8 @@ "S3StorageConfig$KmsKeyId": "

The Amazon Web Services Key Management Service (KMS) key ARN of the key used to encrypt any objects written into the OfflineStore S3 location.

The IAM roleARN that is passed as a parameter to CreateFeatureGroup must have below permissions to the KmsKeyId:

", "SharingSettings$S3KmsKeyId": "

When NotebookOutputOption is Allowed, the Amazon Web Services Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.

", "TransformOutput$KmsKeyId": "

The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats:

If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.

The KMS key policy must grant permission to the IAM role that you specify in your CreateModel request. For more information, see Using Key Policies in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.

", - "TransformResources$VolumeKmsKeyId": "

The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job.

Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a VolumeKmsKeyId when using an instance type with local storage.

For a list of instance types that support local instance storage, see Instance Store Volumes.

For more information about local instance storage encryption, see SSD Instance Store Volumes.

The VolumeKmsKeyId can be any of the following formats:

" + "TransformResources$VolumeKmsKeyId": "

The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job.

Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a VolumeKmsKeyId when using an instance type with local storage.

For a list of instance types that support local instance storage, see Instance Store Volumes.

For more information about local instance storage encryption, see SSD Instance Store Volumes.

The VolumeKmsKeyId can be any of the following formats:

", + "WorkspaceSettings$S3KmsKeyId": "

The Amazon Web Services Key Management Service (KMS) encryption key ID that is used to encrypt artifacts generated by Canvas in the Amazon S3 bucket.

" } }, "LabelAttributeName": { @@ -12051,10 +12052,11 @@ "SharingSettings$S3OutputPath": "

When NotebookOutputOption is Allowed, the Amazon S3 bucket used to store the shared notebook snapshots.

", "TabularJobConfig$FeatureSpecificationS3Uri": "

A URL to the Amazon S3 data source containing selected features from the input data source to run an Autopilot job V2. You can input FeatureAttributeNames (optional) in JSON format as shown below:

{ \"FeatureAttributeNames\":[\"col1\", \"col2\", ...] }.

You can also specify the data type of the feature (optional) in the format shown below:

{ \"FeatureDataTypes\":{\"col1\":\"numeric\", \"col2\":\"categorical\" ... } }

These column keys may not include the target column.

In ensembling mode, Autopilot only supports the following data types: numeric, categorical, text, and datetime. In HPO mode, Autopilot can support numeric, categorical, text, datetime, and sequence.

If only FeatureDataTypes is provided, the column keys (col1, col2,..) should be a subset of the column names in the input data.

If both FeatureDataTypes and FeatureAttributeNames are provided, then the column keys should be a subset of the column names provided in FeatureAttributeNames.

The key name FeatureAttributeNames is fixed. The values listed in [\"col1\", \"col2\", ...] are case sensitive and should be a list of strings containing unique values that are a subset of the column names in the input data. The list of columns provided must not include the target column.

", "TensorBoardOutputConfig$S3OutputPath": "

Path to Amazon S3 storage location for TensorBoard output.

", - "TimeSeriesForecastingJobConfig$FeatureSpecificationS3Uri": "

A URL to the Amazon S3 data source containing additional selected features that complement the target, itemID, timestamp, and grouped columns set in TimeSeriesConfig. When not provided, the AutoML job V2 includes all the columns from the original dataset that are not already declared in TimeSeriesConfig. If provided, the AutoML job V2 only considers these additional columns as a complement to the ones declared in TimeSeriesConfig.

You can input FeatureAttributeNames (optional) in JSON format as shown below:

{ \"FeatureAttributeNames\":[\"col1\", \"col2\", ...] }.

You can also specify the data type of the feature (optional) in the format shown below:

{ \"FeatureDataTypes\":{\"col1\":\"numeric\", \"col2\":\"categorical\" ... } }

Autopilot supports the following data types: numeric, categorical, text, and datetime.

These column keys must not include any column set in TimeSeriesConfig.

When not provided, the AutoML job V2 includes all the columns from the original dataset that are not already declared in TimeSeriesConfig. If provided, the AutoML job V2 only considers these additional columns as a complement to the ones declared in TimeSeriesConfig.

Autopilot supports the following data types: numeric, categorical, text, and datetime.

", + "TimeSeriesForecastingJobConfig$FeatureSpecificationS3Uri": "

A URL to the Amazon S3 data source containing additional selected features that complement the target, itemID, timestamp, and grouped columns set in TimeSeriesConfig. When not provided, the AutoML job V2 includes all the columns from the original dataset that are not already declared in TimeSeriesConfig. If provided, the AutoML job V2 only considers these additional columns as a complement to the ones declared in TimeSeriesConfig.

You can input FeatureAttributeNames (optional) in JSON format as shown below:

{ \"FeatureAttributeNames\":[\"col1\", \"col2\", ...] }.

You can also specify the data type of the feature (optional) in the format shown below:

{ \"FeatureDataTypes\":{\"col1\":\"numeric\", \"col2\":\"categorical\" ... } }

Autopilot supports the following data types: numeric, categorical, text, and datetime.

These column keys must not include any column set in TimeSeriesConfig.

", "TransformOutput$S3OutputPath": "

The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, s3://bucket-name/key-name-prefix.

For every S3 object used as input for the transform job, batch transform stores the transformed data with an .out suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform stores the transformed data at s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out. Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an .out file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.

", "TransformS3DataSource$S3Uri": "

Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

", - "UiConfig$UiTemplateS3Uri": "

The Amazon S3 bucket location of the UI template, or worker task template. This is the template used to render the worker UI and tools for labeling job tasks. For more information about the contents of a UI template, see Creating Your Custom Labeling Task Template.

" + "UiConfig$UiTemplateS3Uri": "

The Amazon S3 bucket location of the UI template, or worker task template. This is the template used to render the worker UI and tools for labeling job tasks. For more information about the contents of a UI template, see Creating Your Custom Labeling Task Template.

", + "WorkspaceSettings$S3ArtifactPath": "

The Amazon S3 bucket used to store artifacts generated by Canvas. Updating the Amazon S3 location impacts existing configuration settings, and Canvas users no longer have access to their artifacts. Canvas users must log out and log back in to apply the new location.

" } }, "SageMakerImageVersionAlias": { @@ -15142,6 +15144,12 @@ "ListWorkforcesResponse$Workforces": "

A list containing information about your workforce.

" } }, + "WorkspaceSettings": { + "base": "

The workspace settings for the SageMaker Canvas application.

", + "refs": { + "CanvasAppSettings$WorkspaceSettings": "

The workspace settings for the SageMaker Canvas application.

" + } + }, "Workteam": { "base": "

Provides details about a labeling work team.

", "refs": { diff --git a/models/apis/secretsmanager/2017-10-17/docs-2.json b/models/apis/secretsmanager/2017-10-17/docs-2.json index 03a9d9cf30d..e7b27e47c96 100644 --- a/models/apis/secretsmanager/2017-10-17/docs-2.json +++ b/models/apis/secretsmanager/2017-10-17/docs-2.json @@ -21,7 +21,7 @@ "StopReplicationToReplica": "

Removes the link between the replica secret and the primary secret and promotes the replica to a primary secret in the replica Region.

You must call this operation from the Region in which you want to promote the replica to a primary secret.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:StopReplicationToReplica. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "TagResource": "

Attaches tags to a secret. Tags consist of a key name and a value. Tags are part of the secret's metadata. They are not associated with specific versions of the secret. This operation appends tags to the existing list of tags.

The following restrictions apply to tags:

If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:TagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "UntagResource": "

Removes specific tags from a secret.

This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.

If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:UntagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "UpdateSecret": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

To change the rotation configuration of a secret, use RotateSecret instead.

To change a secret so that it is managed by another service, you need to recreate the secret in that service. See Secrets Manager secrets managed by other Amazon Web Services services.

We recommend you avoid calling UpdateSecret at a sustained rate of more than once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you update the secret value more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.

If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically moves the staging label AWSCURRENT to the new version. Then it attaches the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If you call this operation with a ClientRequestToken that matches an existing version's VersionId, the operation results in an error. You can't modify an existing version, you can only create a new version. To remove a version, remove all staging labels from it. See UpdateSecretVersionStage.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:UpdateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey and kms:Decrypt permissions on the key. For more information, see Secret encryption and decryption.

", + "UpdateSecret": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

To change the rotation configuration of a secret, use RotateSecret instead.

To change a secret so that it is managed by another service, you need to recreate the secret in that service. See Secrets Manager secrets managed by other Amazon Web Services services.

We recommend you avoid calling UpdateSecret at a sustained rate of more than once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you update the secret value more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.

If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically moves the staging label AWSCURRENT to the new version. Then it attaches the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If you call this operation with a ClientRequestToken that matches an existing version's VersionId, the operation results in an error. You can't modify an existing version, you can only create a new version. To remove a version, remove all staging labels from it. See UpdateSecretVersionStage.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:UpdateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey, kms:Encrypt, and kms:Decrypt permissions on the key. If you change the KMS key and you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information, see Secret encryption and decryption.

", "UpdateSecretVersionStage": "

Modifies the staging labels attached to a version of a secret. Secrets Manager uses staging labels to track a version as it progresses through the secret rotation process. Each staging label can be attached to only one version at a time. To add a staging label to a version when it is already attached to another version, Secrets Manager first removes it from the other version first and then attaches it to this one. For more information about versions and staging labels, see Concepts: Version.

The staging labels that you specify in the VersionStage parameter are added to the existing list of staging labels for the version.

You can move the AWSCURRENT staging label to this version by including it in this call.

Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:UpdateSecretVersionStage. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", "ValidateResourcePolicy": "

Validates that a resource policy does not grant a wide range of principals access to your secret. A resource-based policy is optional for secrets.

The API performs three checks when validating the policy:

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:ValidateResourcePolicy and secretsmanager:PutResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

" }, @@ -305,7 +305,7 @@ "ReplicaRegionType$KmsKeyId": "

The ARN, key ID, or alias of the KMS key to encrypt the secret. If you don't include this field, Secrets Manager uses aws/secretsmanager.

", "ReplicationStatusType$KmsKeyId": "

Can be an ARN, Key ID, or Alias.

", "SecretListEntry$KmsKeyId": "

The ARN of the KMS key that Secrets Manager uses to encrypt the secret value. If the secret is encrypted with the Amazon Web Services managed key aws/secretsmanager, this field is omitted.

", - "UpdateSecretRequest$KmsKeyId": "

The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. For more information about versions and staging labels, see Concepts: Version.

A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

" + "UpdateSecretRequest$KmsKeyId": "

The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

" } }, "LastAccessedDateType": { diff --git a/models/apis/secretsmanager/2017-10-17/examples-1.json b/models/apis/secretsmanager/2017-10-17/examples-1.json index 06eac37f837..d095b2df9c7 100644 --- a/models/apis/secretsmanager/2017-10-17/examples-1.json +++ b/models/apis/secretsmanager/2017-10-17/examples-1.json @@ -51,7 +51,7 @@ "SecretId": "MyTestDatabaseSecret" }, "output": { - "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseMasterSecret-a1b2c3", + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret" }, "comments": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 3d1d6c722fb..0e1d6f0b02a 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -7952,27 +7952,45 @@ "ap-northeast-2" : { "hostname" : "internetmonitor.ap-northeast-2.api.aws" }, + "ap-northeast-3" : { + "hostname" : "internetmonitor.ap-northeast-3.api.aws" + }, "ap-south-1" : { "hostname" : "internetmonitor.ap-south-1.api.aws" }, + "ap-south-2" : { + "hostname" : "internetmonitor.ap-south-2.api.aws" + }, "ap-southeast-1" : { "hostname" : "internetmonitor.ap-southeast-1.api.aws" }, "ap-southeast-2" : { "hostname" : "internetmonitor.ap-southeast-2.api.aws" }, + "ap-southeast-3" : { + "hostname" : "internetmonitor.ap-southeast-3.api.aws" + }, + "ap-southeast-4" : { + "hostname" : "internetmonitor.ap-southeast-4.api.aws" + }, "ca-central-1" : { "hostname" : "internetmonitor.ca-central-1.api.aws" }, "eu-central-1" : { "hostname" : "internetmonitor.eu-central-1.api.aws" }, + "eu-central-2" : { + "hostname" : "internetmonitor.eu-central-2.api.aws" + }, "eu-north-1" : { "hostname" : "internetmonitor.eu-north-1.api.aws" }, "eu-south-1" : { "hostname" : "internetmonitor.eu-south-1.api.aws" }, + "eu-south-2" : { + "hostname" : "internetmonitor.eu-south-2.api.aws" + }, "eu-west-1" : { "hostname" : "internetmonitor.eu-west-1.api.aws" }, @@ -7982,6 +8000,9 @@ "eu-west-3" : { "hostname" : "internetmonitor.eu-west-3.api.aws" }, + "me-central-1" : { + "hostname" : "internetmonitor.me-central-1.api.aws" + }, "me-south-1" : { "hostname" : "internetmonitor.me-south-1.api.aws" }, @@ -10160,6 +10181,7 @@ "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, @@ -15385,17 +15407,77 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "ssm-incidents-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "ssm-incidents-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "ssm-incidents-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "ssm-incidents-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "ssm-incidents-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "ssm-incidents-fips.us-west-2.amazonaws.com" + }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "ssm-incidents-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "ssm-incidents-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "ssm-incidents-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "ssm-incidents-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "ssm-sap" : { @@ -16282,6 +16364,7 @@ "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, + "ap-southeast-4" : { }, "ca-central-1" : { "variants" : [ { "hostname" : "transfer-fips.ca-central-1.amazonaws.com", @@ -18758,6 +18841,18 @@ } } }, + "savingsplans" : { + "endpoints" : { + "aws-cn" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "savingsplans.cn-northwest-1.amazonaws.com.cn" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-cn" + }, "secretsmanager" : { "endpoints" : { "cn-north-1" : { }, @@ -22482,6 +22577,18 @@ } } }, + "savingsplans" : { + "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "savingsplans.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-us-gov-global" + }, "secretsmanager" : { "endpoints" : { "us-gov-east-1" : { diff --git a/service/cognitoidentityprovider/api.go b/service/cognitoidentityprovider/api.go index 7555e16bca7..98d7abfa89d 100644 --- a/service/cognitoidentityprovider/api.go +++ b/service/cognitoidentityprovider/api.go @@ -17223,7 +17223,11 @@ type ConfirmForgotPasswordInput struct { // IP address, or location. Amazon Cognito advanced security evaluates the risk // of an authentication event based on the context that your app generates and // passes to Amazon Cognito when it makes API requests. - UserContextData *UserContextDataType `type:"structure"` + // + // UserContextData is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ConfirmForgotPasswordInput's + // String and GoString methods. + UserContextData *UserContextDataType `type:"structure" sensitive:"true"` // The user name of the user for whom you want to enter a code to retrieve a // forgotten password. @@ -17432,7 +17436,11 @@ type ConfirmSignUpInput struct { // IP address, or location. Amazon Cognito advanced security evaluates the risk // of an authentication event based on the context that your app generates and // passes to Amazon Cognito when it makes API requests. - UserContextData *UserContextDataType `type:"structure"` + // + // UserContextData is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ConfirmSignUpInput's + // String and GoString methods. + UserContextData *UserContextDataType `type:"structure" sensitive:"true"` // The user name of the user whose registration you want to confirm. // @@ -21759,7 +21767,11 @@ type ForgotPasswordInput struct { // IP address, or location. Amazon Cognito advanced security evaluates the risk // of an authentication event based on the context that your app generates and // passes to Amazon Cognito when it makes API requests. - UserContextData *UserContextDataType `type:"structure"` + // + // UserContextData is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ForgotPasswordInput's + // String and GoString methods. + UserContextData *UserContextDataType `type:"structure" sensitive:"true"` // The user name of the user for whom you want to enter a code to reset a forgotten // password. @@ -23351,7 +23363,11 @@ type InitiateAuthInput struct { // IP address, or location. Amazon Cognito advanced security evaluates the risk // of an authentication event based on the context that your app generates and // passes to Amazon Cognito when it makes API requests. - UserContextData *UserContextDataType `type:"structure"` + // + // UserContextData is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by InitiateAuthInput's + // String and GoString methods. + UserContextData *UserContextDataType `type:"structure" sensitive:"true"` } // String returns the string representation. @@ -26612,7 +26628,11 @@ type ResendConfirmationCodeInput struct { // IP address, or location. Amazon Cognito advanced security evaluates the risk // of an authentication event based on the context that your app generates and // passes to Amazon Cognito when it makes API requests. - UserContextData *UserContextDataType `type:"structure"` + // + // UserContextData is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ResendConfirmationCodeInput's + // String and GoString methods. + UserContextData *UserContextDataType `type:"structure" sensitive:"true"` // The username attribute of the user to whom you want to resend a confirmation // code. @@ -27041,7 +27061,11 @@ type RespondToAuthChallengeInput struct { // IP address, or location. Amazon Cognito advanced security evaluates the risk // of an authentication event based on the context that your app generates and // passes to Amazon Cognito when it makes API requests. - UserContextData *UserContextDataType `type:"structure"` + // + // UserContextData is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by RespondToAuthChallengeInput's + // String and GoString methods. + UserContextData *UserContextDataType `type:"structure" sensitive:"true"` } // String returns the string representation. @@ -28330,7 +28354,11 @@ type SignUpInput struct { // IP address, or location. Amazon Cognito advanced security evaluates the risk // of an authentication event based on the context that your app generates and // passes to Amazon Cognito when it makes API requests. - UserContextData *UserContextDataType `type:"structure"` + // + // UserContextData is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by SignUpInput's + // String and GoString methods. + UserContextData *UserContextDataType `type:"structure" sensitive:"true"` // The user name of the user you want to register. // @@ -31670,7 +31698,7 @@ func (s *UserAttributeUpdateSettingsType) SetAttributesRequireVerificationBefore // used for evaluating the risk of an unexpected event by Amazon Cognito advanced // security. type UserContextDataType struct { - _ struct{} `type:"structure"` + _ struct{} `type:"structure" sensitive:"true"` // Encoded device-fingerprint details that your app collected with the Amazon // Cognito context data collection library. For more information, see Adding @@ -33672,8 +33700,12 @@ type VerifySoftwareTokenInput struct { // The one- time password computed using the secret code returned by AssociateSoftwareToken // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AssociateSoftwareToken.html). // + // UserCode is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by VerifySoftwareTokenInput's + // String and GoString methods. + // // UserCode is a required field - UserCode *string `min:"6" type:"string" required:"true"` + UserCode *string `min:"6" type:"string" required:"true" sensitive:"true"` } // String returns the string representation. diff --git a/service/connect/api.go b/service/connect/api.go index 829beda4ee4..e41f3216e7f 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -4045,6 +4045,101 @@ func (c *Connect) DeletePromptWithContext(ctx aws.Context, input *DeletePromptIn return out, req.Send() } +const opDeleteQueue = "DeleteQueue" + +// DeleteQueueRequest generates a "aws/request.Request" representing the +// client's request for the DeleteQueue 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 DeleteQueue for more information on using the DeleteQueue +// 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 DeleteQueueRequest method. +// req, resp := client.DeleteQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteQueue +func (c *Connect) DeleteQueueRequest(input *DeleteQueueInput) (req *request.Request, output *DeleteQueueOutput) { + op := &request.Operation{ + Name: opDeleteQueue, + HTTPMethod: "DELETE", + HTTPPath: "/queues/{InstanceId}/{QueueId}", + } + + if input == nil { + input = &DeleteQueueInput{} + } + + output = &DeleteQueueOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteQueue API operation for Amazon Connect Service. +// +// Deletes a queue. +// +// 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 Connect Service's +// API operation DeleteQueue for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ResourceInUseException +// That resource is already in use. Please try another. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteQueue +func (c *Connect) DeleteQueue(input *DeleteQueueInput) (*DeleteQueueOutput, error) { + req, out := c.DeleteQueueRequest(input) + return out, req.Send() +} + +// DeleteQueueWithContext is the same as DeleteQueue with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteQueue 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 *Connect) DeleteQueueWithContext(ctx aws.Context, input *DeleteQueueInput, opts ...request.Option) (*DeleteQueueOutput, error) { + req, out := c.DeleteQueueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteQuickConnect = "DeleteQuickConnect" // DeleteQuickConnectRequest generates a "aws/request.Request" representing the @@ -4137,6 +4232,101 @@ func (c *Connect) DeleteQuickConnectWithContext(ctx aws.Context, input *DeleteQu return out, req.Send() } +const opDeleteRoutingProfile = "DeleteRoutingProfile" + +// DeleteRoutingProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRoutingProfile 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 DeleteRoutingProfile for more information on using the DeleteRoutingProfile +// 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 DeleteRoutingProfileRequest method. +// req, resp := client.DeleteRoutingProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteRoutingProfile +func (c *Connect) DeleteRoutingProfileRequest(input *DeleteRoutingProfileInput) (req *request.Request, output *DeleteRoutingProfileOutput) { + op := &request.Operation{ + Name: opDeleteRoutingProfile, + HTTPMethod: "DELETE", + HTTPPath: "/routing-profiles/{InstanceId}/{RoutingProfileId}", + } + + if input == nil { + input = &DeleteRoutingProfileInput{} + } + + output = &DeleteRoutingProfileOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRoutingProfile API operation for Amazon Connect Service. +// +// Deletes a routing profile. +// +// 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 Connect Service's +// API operation DeleteRoutingProfile for usage and error information. +// +// Returned Error Types: +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - ResourceInUseException +// That resource is already in use. Please try another. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteRoutingProfile +func (c *Connect) DeleteRoutingProfile(input *DeleteRoutingProfileInput) (*DeleteRoutingProfileOutput, error) { + req, out := c.DeleteRoutingProfileRequest(input) + return out, req.Send() +} + +// DeleteRoutingProfileWithContext is the same as DeleteRoutingProfile with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRoutingProfile 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 *Connect) DeleteRoutingProfileWithContext(ctx aws.Context, input *DeleteRoutingProfileInput, opts ...request.Option) (*DeleteRoutingProfileOutput, error) { + req, out := c.DeleteRoutingProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteRule = "DeleteRule" // DeleteRuleRequest generates a "aws/request.Request" representing the @@ -28924,6 +29114,96 @@ func (s DeletePromptOutput) GoString() string { return s.String() } +type DeleteQueueInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The identifier for the queue. + // + // QueueId is a required field + QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQueueInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQueueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteQueueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteQueueInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.QueueId == nil { + invalidParams.Add(request.NewErrParamRequired("QueueId")) + } + if s.QueueId != nil && len(*s.QueueId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueueId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DeleteQueueInput) SetInstanceId(v string) *DeleteQueueInput { + s.InstanceId = &v + return s +} + +// SetQueueId sets the QueueId field's value. +func (s *DeleteQueueInput) SetQueueId(v string) *DeleteQueueInput { + s.QueueId = &v + return s +} + +type DeleteQueueOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQueueOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteQueueOutput) GoString() string { + return s.String() +} + type DeleteQuickConnectInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -29014,6 +29294,96 @@ func (s DeleteQuickConnectOutput) GoString() string { return s.String() } +type DeleteRoutingProfileInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Amazon Connect instance. You can find the instance + // ID (https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) + // in the Amazon Resource Name (ARN) of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The identifier of the routing profile. + // + // RoutingProfileId is a required field + RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRoutingProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRoutingProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRoutingProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRoutingProfileInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.RoutingProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("RoutingProfileId")) + } + if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DeleteRoutingProfileInput) SetInstanceId(v string) *DeleteRoutingProfileInput { + s.InstanceId = &v + return s +} + +// SetRoutingProfileId sets the RoutingProfileId field's value. +func (s *DeleteRoutingProfileInput) SetRoutingProfileId(v string) *DeleteRoutingProfileInput { + s.RoutingProfileId = &v + return s +} + +type DeleteRoutingProfileOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRoutingProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRoutingProfileOutput) GoString() string { + return s.String() +} + type DeleteRuleInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -38597,7 +38967,7 @@ type Instance struct { // Whether inbound calls are enabled. InboundCallsEnabled *bool `type:"boolean"` - // This URL allows contact center users to access Amazon Connect admin website. + // This URL allows contact center users to access the Amazon Connect admin website. InstanceAccessUrl *string `type:"string"` // The alias of instance. @@ -38871,7 +39241,7 @@ type InstanceSummary struct { // Whether inbound calls are enabled. InboundCallsEnabled *bool `type:"boolean"` - // This URL allows contact center users to access Amazon Connect admin website. + // This URL allows contact center users to access the Amazon Connect admin website. InstanceAccessUrl *string `type:"string"` // The alias of the instance. diff --git a/service/connect/connectiface/interface.go b/service/connect/connectiface/interface.go index c75d8dd0ac7..c97d40cb267 100644 --- a/service/connect/connectiface/interface.go +++ b/service/connect/connectiface/interface.go @@ -224,10 +224,18 @@ type ConnectAPI interface { DeletePromptWithContext(aws.Context, *connect.DeletePromptInput, ...request.Option) (*connect.DeletePromptOutput, error) DeletePromptRequest(*connect.DeletePromptInput) (*request.Request, *connect.DeletePromptOutput) + DeleteQueue(*connect.DeleteQueueInput) (*connect.DeleteQueueOutput, error) + DeleteQueueWithContext(aws.Context, *connect.DeleteQueueInput, ...request.Option) (*connect.DeleteQueueOutput, error) + DeleteQueueRequest(*connect.DeleteQueueInput) (*request.Request, *connect.DeleteQueueOutput) + DeleteQuickConnect(*connect.DeleteQuickConnectInput) (*connect.DeleteQuickConnectOutput, error) DeleteQuickConnectWithContext(aws.Context, *connect.DeleteQuickConnectInput, ...request.Option) (*connect.DeleteQuickConnectOutput, error) DeleteQuickConnectRequest(*connect.DeleteQuickConnectInput) (*request.Request, *connect.DeleteQuickConnectOutput) + DeleteRoutingProfile(*connect.DeleteRoutingProfileInput) (*connect.DeleteRoutingProfileOutput, error) + DeleteRoutingProfileWithContext(aws.Context, *connect.DeleteRoutingProfileInput, ...request.Option) (*connect.DeleteRoutingProfileOutput, error) + DeleteRoutingProfileRequest(*connect.DeleteRoutingProfileInput) (*request.Request, *connect.DeleteRoutingProfileOutput) + DeleteRule(*connect.DeleteRuleInput) (*connect.DeleteRuleOutput, error) DeleteRuleWithContext(aws.Context, *connect.DeleteRuleInput, ...request.Option) (*connect.DeleteRuleOutput, error) DeleteRuleRequest(*connect.DeleteRuleInput) (*request.Request, *connect.DeleteRuleOutput) diff --git a/service/databasemigrationservice/api.go b/service/databasemigrationservice/api.go index 4a1dfb25fbb..072f4a36d99 100644 --- a/service/databasemigrationservice/api.go +++ b/service/databasemigrationservice/api.go @@ -22382,6 +22382,9 @@ type PostgreSQLSettings struct { // Example: afterConnectScript=SET session_replication_role='replica' AfterConnectScript *string `type:"string"` + // The Babelfish for Aurora PostgreSQL database name for the endpoint. + BabelfishDatabaseName *string `type:"string"` + // To capture DDL events, DMS creates various artifacts in the PostgreSQL database // when the task starts. You can later remove these artifacts. // @@ -22389,6 +22392,11 @@ type PostgreSQLSettings struct { // the source database. CaptureDdls *bool `type:"boolean"` + // Specifies whether to use default or custom replication behavior for PostgreSQL-compatible + // endpoints. You can use this setting to specify replication behavior for endpoints + // that require additional configuration, such as Babelfish endpoints. + DatabaseMode *string `type:"string" enum:"DatabaseMode"` + // Database name for the endpoint. DatabaseName *string `type:"string"` @@ -22533,12 +22541,24 @@ func (s *PostgreSQLSettings) SetAfterConnectScript(v string) *PostgreSQLSettings return s } +// SetBabelfishDatabaseName sets the BabelfishDatabaseName field's value. +func (s *PostgreSQLSettings) SetBabelfishDatabaseName(v string) *PostgreSQLSettings { + s.BabelfishDatabaseName = &v + return s +} + // SetCaptureDdls sets the CaptureDdls field's value. func (s *PostgreSQLSettings) SetCaptureDdls(v bool) *PostgreSQLSettings { s.CaptureDdls = &v return s } +// SetDatabaseMode sets the DatabaseMode field's value. +func (s *PostgreSQLSettings) SetDatabaseMode(v string) *PostgreSQLSettings { + s.DatabaseMode = &v + return s +} + // SetDatabaseName sets the DatabaseName field's value. func (s *PostgreSQLSettings) SetDatabaseName(v string) *PostgreSQLSettings { s.DatabaseName = &v @@ -29807,6 +29827,22 @@ func DataFormatValue_Values() []string { } } +const ( + // DatabaseModeDefault is a DatabaseMode enum value + DatabaseModeDefault = "default" + + // DatabaseModeBabelfish is a DatabaseMode enum value + DatabaseModeBabelfish = "babelfish" +) + +// DatabaseMode_Values returns all elements of the DatabaseMode enum +func DatabaseMode_Values() []string { + return []string{ + DatabaseModeDefault, + DatabaseModeBabelfish, + } +} + const ( // DatePartitionDelimiterValueSlash is a DatePartitionDelimiterValue enum value DatePartitionDelimiterValueSlash = "SLASH" diff --git a/service/datasync/api.go b/service/datasync/api.go index 8914f99b505..4d3b642696f 100644 --- a/service/datasync/api.go +++ b/service/datasync/api.go @@ -232,24 +232,18 @@ func (c *DataSync) CreateAgentRequest(input *CreateAgentInput) (req *request.Req // CreateAgent API operation for AWS DataSync. // -// Activates an DataSync agent that you have deployed in your storage environment. -// The activation process associates your agent with your account. In the activation -// process, you specify information such as the Amazon Web Services Region that -// you want to activate the agent in. You activate the agent in the Amazon Web -// Services Region where your target locations (in Amazon S3 or Amazon EFS) -// reside. Your tasks are created in this Amazon Web Services Region. +// Activates an DataSync agent that you've deployed in your storage environment. +// The activation process associates the agent with your Amazon Web Services +// account. // -// You can activate the agent in a VPC (virtual private cloud) or provide the -// agent access to a VPC endpoint so you can run tasks without going over the -// public internet. +// If you haven't deployed an agent yet, see the following topics to learn more: // -// You can use an agent for more than one location. If a task uses multiple -// agents, all of them need to have status AVAILABLE for the task to run. If -// you use multiple agents for a source location, the status of all the agents -// must be AVAILABLE for the task to run. +// - Agent requirements (https://docs.aws.amazon.com/datasync/latest/userguide/agent-requirements.html) // -// Agents are automatically updated by Amazon Web Services on a regular basis, -// using a mechanism that ensures minimal interruption to your tasks. +// - Create an agent (https://docs.aws.amazon.com/datasync/latest/userguide/configure-agent.html) +// +// If you're transferring between Amazon Web Services storage services, you +// don't need a DataSync agent. // // 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 @@ -5759,53 +5753,35 @@ func (s *Capacity) SetUsed(v int64) *Capacity { type CreateAgentInput struct { _ struct{} `type:"structure"` - // Your agent activation key. You can get the activation key either by sending - // an HTTP GET request with redirects that enable you to get the agent IP address - // (port 80). Alternatively, you can get it from the DataSync console. - // - // The redirect URL returned in the response provides you the activation key - // for your agent in the query string parameter activationKey. It might also - // include other activation-related parameters; however, these are merely defaults. - // The arguments you pass to this API call determine the actual configuration - // of your agent. - // - // For more information, see Activating an Agent in the DataSync User Guide. + // Specifies your DataSync agent's activation key. If you don't have an activation + // key, see Activate your agent (https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html). // // ActivationKey is a required field ActivationKey *string `type:"string" required:"true"` - // The name you configured for your agent. This value is a text reference that - // is used to identify the agent in the console. + // Specifies a name for your agent. You can see this name in the DataSync console. AgentName *string `min:"1" type:"string"` - // The ARNs of the security groups used to protect your data transfer task subnets. - // See SecurityGroupArns (https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns). + // Specifies the Amazon Resource Name (ARN) of the security group that protects + // your task's network interfaces (https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces) + // when using a virtual private cloud (VPC) endpoint (https://docs.aws.amazon.com/datasync/latest/userguide/choose-service-endpoint.html#choose-service-endpoint-vpc). SecurityGroupArns []*string `min:"1" type:"list"` - // The Amazon Resource Names (ARNs) of the subnets in which DataSync will create - // elastic network interfaces for each data transfer task. The agent that runs - // a task must be private. When you start a task that is associated with an - // agent created in a VPC, or one that has access to an IP address in a VPC, - // then the task is also private. In this case, DataSync creates four network - // interfaces for each task in your subnet. For a data transfer to work, the - // agent must be able to route to all these four network interfaces. + // Specifies the ARN of the subnet where you want to run your DataSync task + // when using a VPC endpoint. This is the subnet where DataSync creates and + // manages the network interfaces (https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces) + // for your transfer. SubnetArns []*string `min:"1" type:"list"` - // The key-value pair that represents the tag that you want to associate with - // the agent. The value can be an empty string. This value helps you manage, - // filter, and search for your agents. - // - // Valid characters for key and value are letters, spaces, and numbers representable - // in UTF-8 format, and the following special characters: + - = . _ : / @. + // Specifies labels that help you categorize, filter, and search for your Amazon + // Web Services resources. We recommend creating at least one tag for your agent. Tags []*TagListEntry `type:"list"` - // The ID of the VPC (virtual private cloud) endpoint that the agent has access - // to. This is the client-side VPC endpoint, also called a PrivateLink. If you - // don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service - // Configuration (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service) - // in the Amazon VPC User Guide. + // Specifies the ID of the VPC endpoint that you want your agent to connect + // to. For example, a VPC endpoint ID looks like vpce-01234d5aff67890e1. // - // VPC endpoint ID looks like this: vpce-01234d5aff67890e1. + // The VPC endpoint you use must include the DataSync service name (for example, + // com.amazonaws.us-east-2.datasync). VpcEndpointId *string `type:"string"` } @@ -5899,8 +5875,9 @@ func (s *CreateAgentInput) SetVpcEndpointId(v string) *CreateAgentInput { type CreateAgentOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the agent. Use the ListAgents operation - // to return a list of agents for your account and Amazon Web Services Region. + // The ARN of the agent that you just activated. Use the ListAgents (https://docs.aws.amazon.com/datasync/latest/userguide/API_ListAgents.html) + // operation to return a list of agents in your Amazon Web Services account + // and Amazon Web Services Region. AgentArn *string `type:"string"` } @@ -6583,11 +6560,11 @@ type CreateLocationFsxWindowsInput struct { // location. Tags []*TagListEntry `type:"list"` - // Specifies the user who has the permissions to access files and folders in - // the file system. + // Specifies the user who has the permissions to access files, folders, and + // metadata in your file system. // - // For information about choosing a user name that ensures sufficient permissions - // to files, folders, and metadata, see user (create-fsx-location.html#FSxWuser). + // For information about choosing a user with sufficient permissions, see Required + // permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#create-fsx-windows-location-permissions). // // User is a required field User *string `type:"string" required:"true"` @@ -7190,10 +7167,19 @@ type CreateLocationObjectStorageInput struct { // String and GoString methods. SecretKey *string `min:"1" type:"string" sensitive:"true"` - // Specifies a certificate to authenticate with an object storage system that - // uses a private or self-signed certificate authority (CA). You must specify - // a Base64-encoded .pem file (for example, file:///home/user/.ssh/storage_sys_certificate.pem). - // The certificate can be up to 32768 bytes (before Base64 encoding). + // Specifies a file with the certificates that are used to sign the object storage + // server's certificate (for example, file:///home/user/.ssh/storage_sys_certificate.pem). + // The file you specify must include the following: + // + // * The certificate of the signing certificate authority (CA) + // + // * Any intermediate certificates + // + // * base64 encoding + // + // * A .pem extension + // + // The file can be up to 32768 bytes (before base64 encoding). // // To use this parameter, configure ServerProtocol to HTTPS. // ServerCertificate is automatically base64 encoded/decoded by the SDK. @@ -12633,6 +12619,9 @@ type NetAppONTAPCluster struct { // The name of the cluster. ClusterName *string `type:"string"` + // The number of LUNs (logical unit numbers) in the cluster. + LunCount *int64 `type:"long"` + // The performance data that DataSync Discovery collects about the cluster. MaxP95Performance *MaxP95Performance `type:"structure"` @@ -12702,6 +12691,12 @@ func (s *NetAppONTAPCluster) SetClusterName(v string) *NetAppONTAPCluster { return s } +// SetLunCount sets the LunCount field's value. +func (s *NetAppONTAPCluster) SetLunCount(v int64) *NetAppONTAPCluster { + s.LunCount = &v + return s +} + // SetMaxP95Performance sets the MaxP95Performance field's value. func (s *NetAppONTAPCluster) SetMaxP95Performance(v *MaxP95Performance) *NetAppONTAPCluster { s.MaxP95Performance = v @@ -12747,6 +12742,9 @@ type NetAppONTAPSVM struct { // The data transfer protocols (such as NFS) configured for the SVM. EnabledProtocols []*string `type:"list"` + // The number of LUNs (logical unit numbers) in the SVM. + LunCount *int64 `type:"long"` + // The performance data that DataSync Discovery collects about the SVM. MaxP95Performance *MaxP95Performance `type:"structure"` @@ -12820,6 +12818,12 @@ func (s *NetAppONTAPSVM) SetEnabledProtocols(v []*string) *NetAppONTAPSVM { return s } +// SetLunCount sets the LunCount field's value. +func (s *NetAppONTAPSVM) SetLunCount(v int64) *NetAppONTAPSVM { + s.LunCount = &v + return s +} + // SetMaxP95Performance sets the MaxP95Performance field's value. func (s *NetAppONTAPSVM) SetMaxP95Performance(v *MaxP95Performance) *NetAppONTAPSVM { s.MaxP95Performance = v @@ -12898,6 +12902,9 @@ type NetAppONTAPVolume struct { // compression or deduplication. LogicalCapacityUsed *int64 `type:"long"` + // The number of LUNs (logical unit numbers) in the volume. + LunCount *int64 `type:"long"` + // The performance data that DataSync Discovery collects about the volume. MaxP95Performance *MaxP95Performance `type:"structure"` @@ -12976,6 +12983,12 @@ func (s *NetAppONTAPVolume) SetLogicalCapacityUsed(v int64) *NetAppONTAPVolume { return s } +// SetLunCount sets the LunCount field's value. +func (s *NetAppONTAPVolume) SetLunCount(v int64) *NetAppONTAPVolume { + s.LunCount = &v + return s +} + // SetMaxP95Performance sets the MaxP95Performance field's value. func (s *NetAppONTAPVolume) SetMaxP95Performance(v *MaxP95Performance) *NetAppONTAPVolume { s.MaxP95Performance = v @@ -13304,11 +13317,9 @@ type Options struct { // location. DACLs and SACLs are set based on the destination server’s configuration. SecurityDescriptorCopyFlags *string `type:"string" enum:"SmbSecurityDescriptorCopyFlags"` - // Specifies whether tasks should be queued before executing the tasks. The - // default is ENABLED, which means the tasks will be queued. - // - // If you use the same agent to run multiple tasks, you can enable the tasks - // to run in series. For more information, see Queueing task executions (https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#queue-task-execution). + // Specifies whether your transfer tasks should be put into a queue during certain + // scenarios when running multiple tasks (https://docs.aws.amazon.com/datasync/latest/userguide/run-task.html#running-multiple-tasks). + // This is ENABLED by default. TaskQueueing *string `type:"string" enum:"TaskQueueing"` // Determines whether DataSync transfers only the data and metadata that differ diff --git a/service/datasync/doc.go b/service/datasync/doc.go index 48964df84ba..9d10cd1b24d 100644 --- a/service/datasync/doc.go +++ b/service/datasync/doc.go @@ -3,10 +3,9 @@ // Package datasync provides the client and types for making API // requests to AWS DataSync. // -// DataSync is a managed data transfer service that makes it simpler for you -// to automate moving data between on-premises storage and Amazon Web Services -// storage services. You also can use DataSync to transfer data between other -// cloud providers and Amazon Web Services storage services. +// DataSync is an online data movement and discovery service that simplifies +// data migration and helps you quickly, easily, and securely transfer your +// file or object data to, from, and between Amazon Web Services storage services. // // This API interface reference includes documentation for using DataSync programmatically. // For complete information, see the DataSync User Guide (https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html) . diff --git a/service/ec2/api.go b/service/ec2/api.go index cc3b5576003..3f1334e4083 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -186759,6 +186759,39 @@ const ( // InstanceTypeI4g16xlarge is a InstanceType enum value InstanceTypeI4g16xlarge = "i4g.16xlarge" + + // InstanceTypeHpc7g4xlarge is a InstanceType enum value + InstanceTypeHpc7g4xlarge = "hpc7g.4xlarge" + + // InstanceTypeHpc7g8xlarge is a InstanceType enum value + InstanceTypeHpc7g8xlarge = "hpc7g.8xlarge" + + // InstanceTypeHpc7g16xlarge is a InstanceType enum value + InstanceTypeHpc7g16xlarge = "hpc7g.16xlarge" + + // InstanceTypeC7gnMedium is a InstanceType enum value + InstanceTypeC7gnMedium = "c7gn.medium" + + // InstanceTypeC7gnLarge is a InstanceType enum value + InstanceTypeC7gnLarge = "c7gn.large" + + // InstanceTypeC7gnXlarge is a InstanceType enum value + InstanceTypeC7gnXlarge = "c7gn.xlarge" + + // InstanceTypeC7gn2xlarge is a InstanceType enum value + InstanceTypeC7gn2xlarge = "c7gn.2xlarge" + + // InstanceTypeC7gn4xlarge is a InstanceType enum value + InstanceTypeC7gn4xlarge = "c7gn.4xlarge" + + // InstanceTypeC7gn8xlarge is a InstanceType enum value + InstanceTypeC7gn8xlarge = "c7gn.8xlarge" + + // InstanceTypeC7gn12xlarge is a InstanceType enum value + InstanceTypeC7gn12xlarge = "c7gn.12xlarge" + + // InstanceTypeC7gn16xlarge is a InstanceType enum value + InstanceTypeC7gn16xlarge = "c7gn.16xlarge" ) // InstanceType_Values returns all elements of the InstanceType enum @@ -187418,6 +187451,17 @@ func InstanceType_Values() []string { InstanceTypeI4g4xlarge, InstanceTypeI4g8xlarge, InstanceTypeI4g16xlarge, + InstanceTypeHpc7g4xlarge, + InstanceTypeHpc7g8xlarge, + InstanceTypeHpc7g16xlarge, + InstanceTypeC7gnMedium, + InstanceTypeC7gnLarge, + InstanceTypeC7gnXlarge, + InstanceTypeC7gn2xlarge, + InstanceTypeC7gn4xlarge, + InstanceTypeC7gn8xlarge, + InstanceTypeC7gn12xlarge, + InstanceTypeC7gn16xlarge, } } diff --git a/service/fsx/api.go b/service/fsx/api.go index 62bd6f3e4c1..759a0f1cca0 100644 --- a/service/fsx/api.go +++ b/service/fsx/api.go @@ -4582,6 +4582,8 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // // - DataCompressionType // +// - LogConfiguration +// // - LustreRootSquashConfiguration // // - StorageCapacity @@ -5571,6 +5573,82 @@ func (s *AutoImportPolicy) SetEvents(v []*string) *AutoImportPolicy { return s } +// Sets the autocommit period of files in an FSx for ONTAP SnapLock volume, +// which determines how long the files must remain unmodified before they're +// automatically transitioned to the write once, read many (WORM) state. +// +// For more information, see Autocommit (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/worm-state.html#worm-state-autocommit). +type AutocommitPeriod struct { + _ struct{} `type:"structure"` + + // Defines the type of time for the autocommit period of a file in an FSx for + // ONTAP SnapLock volume. Setting this value to NONE disables autocommit. The + // default value is NONE. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"AutocommitPeriodType"` + + // Defines the amount of time for the autocommit period of a file in an FSx + // for ONTAP SnapLock volume. The following ranges are valid: + // + // * Minutes: 5 - 65,535 + // + // * Hours: 1 - 65,535 + // + // * Days: 1 - 3,650 + // + // * Months: 1 - 120 + // + // * Years: 1 - 10 + Value *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AutocommitPeriod) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AutocommitPeriod) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AutocommitPeriod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AutocommitPeriod"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Value != nil && *s.Value < 1 { + invalidParams.Add(request.NewErrParamMinValue("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetType sets the Type field's value. +func (s *AutocommitPeriod) SetType(v string) *AutocommitPeriod { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *AutocommitPeriod) SetValue(v int64) *AutocommitPeriod { + s.Value = &v + return s +} + // A backup of an Amazon FSx for Windows File Server, Amazon FSx for Lustre // file system, Amazon FSx for NetApp ONTAP volume, or Amazon FSx for OpenZFS // file system. @@ -9028,12 +9106,13 @@ type CreateOntapVolumeConfiguration struct { SecurityStyle *string `type:"string" enum:"SecurityStyle"` // Specifies the size of the volume, in megabytes (MB), that you are creating. - // Provide any whole number in the range of 20–104857600 to specify the size - // of the volume. // // SizeInMegabytes is a required field SizeInMegabytes *int64 `type:"integer" required:"true"` + // Specifies the SnapLock configuration for an FSx for ONTAP volume. + SnaplockConfiguration *CreateSnaplockConfiguration `type:"structure"` + // Specifies the snapshot policy for the volume. There are three built-in snapshot // policies: // @@ -9122,6 +9201,11 @@ func (s *CreateOntapVolumeConfiguration) Validate() error { if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 { invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21)) } + if s.SnaplockConfiguration != nil { + if err := s.SnaplockConfiguration.Validate(); err != nil { + invalidParams.AddNested("SnaplockConfiguration", err.(request.ErrInvalidParams)) + } + } if s.TieringPolicy != nil { if err := s.TieringPolicy.Validate(); err != nil { invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams)) @@ -9164,6 +9248,12 @@ func (s *CreateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *CreateOnta return s } +// SetSnaplockConfiguration sets the SnaplockConfiguration field's value. +func (s *CreateOntapVolumeConfiguration) SetSnaplockConfiguration(v *CreateSnaplockConfiguration) *CreateOntapVolumeConfiguration { + s.SnaplockConfiguration = v + return s +} + // SetSnapshotPolicy sets the SnapshotPolicy field's value. func (s *CreateOntapVolumeConfiguration) SetSnapshotPolicy(v string) *CreateOntapVolumeConfiguration { s.SnapshotPolicy = &v @@ -9475,6 +9565,141 @@ func (s *CreateOpenZFSVolumeConfiguration) SetUserAndGroupQuotas(v []*OpenZFSUse return s } +// Defines the SnapLock configuration when creating an FSx for ONTAP SnapLock +// volume. +type CreateSnaplockConfiguration struct { + _ struct{} `type:"structure"` + + // Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume. + // The default value is false. If you set AuditLogVolume to true, the SnapLock + // volume is created as an audit log volume. The minimum retention period for + // an audit log volume is six months. + // + // For more information, see SnapLock audit log volumes (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/how-snaplock-works.html#snaplock-audit-log-volume). + AuditLogVolume *bool `type:"boolean"` + + // The configuration object for setting the autocommit period of files in an + // FSx for ONTAP SnapLock volume. + AutocommitPeriod *AutocommitPeriod `type:"structure"` + + // Enables, disables, or permanently disables privileged delete on an FSx for + // ONTAP SnapLock Enterprise volume. Enabling privileged delete allows SnapLock + // administrators to delete WORM files even if they have active retention periods. + // PERMANENTLY_DISABLED is a terminal state. If privileged delete is permanently + // disabled on a SnapLock volume, you can't re-enable it. The default value + // is DISABLED. + // + // For more information, see Privileged delete (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/how-snaplock-works.html#privileged-delete). + PrivilegedDelete *string `type:"string" enum:"PrivilegedDelete"` + + // Specifies the retention period of an FSx for ONTAP SnapLock volume. + RetentionPeriod *SnaplockRetentionPeriod `type:"structure"` + + // Specifies the retention mode of an FSx for ONTAP SnapLock volume. After it + // is set, it can't be changed. You can choose one of the following retention + // modes: + // + // * COMPLIANCE: Files transitioned to write once, read many (WORM) on a + // Compliance volume can't be deleted until their retention periods expire. + // This retention mode is used to address government or industry-specific + // mandates or to protect against ransomware attacks. For more information, + // see SnapLock Compliance (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snaplock-compliance.html). + // + // * ENTERPRISE: Files transitioned to WORM on an Enterprise volume can be + // deleted by authorized users before their retention periods expire using + // privileged delete. This retention mode is used to advance an organization's + // data integrity and internal compliance or to test retention settings before + // using SnapLock Compliance. For more information, see SnapLock Enterprise + // (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/how-snaplock-works.htmlFile). + // + // SnaplockType is a required field + SnaplockType *string `type:"string" required:"true" enum:"SnaplockType"` + + // Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume. + // Volume-append mode allows you to create WORM-appendable files and write data + // to them incrementally. The default value is false. + // + // For more information, see Volume-append mode (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/worm-state.html#worm-state-append). + VolumeAppendModeEnabled *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnaplockConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnaplockConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSnaplockConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSnaplockConfiguration"} + if s.SnaplockType == nil { + invalidParams.Add(request.NewErrParamRequired("SnaplockType")) + } + if s.AutocommitPeriod != nil { + if err := s.AutocommitPeriod.Validate(); err != nil { + invalidParams.AddNested("AutocommitPeriod", err.(request.ErrInvalidParams)) + } + } + if s.RetentionPeriod != nil { + if err := s.RetentionPeriod.Validate(); err != nil { + invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuditLogVolume sets the AuditLogVolume field's value. +func (s *CreateSnaplockConfiguration) SetAuditLogVolume(v bool) *CreateSnaplockConfiguration { + s.AuditLogVolume = &v + return s +} + +// SetAutocommitPeriod sets the AutocommitPeriod field's value. +func (s *CreateSnaplockConfiguration) SetAutocommitPeriod(v *AutocommitPeriod) *CreateSnaplockConfiguration { + s.AutocommitPeriod = v + return s +} + +// SetPrivilegedDelete sets the PrivilegedDelete field's value. +func (s *CreateSnaplockConfiguration) SetPrivilegedDelete(v string) *CreateSnaplockConfiguration { + s.PrivilegedDelete = &v + return s +} + +// SetRetentionPeriod sets the RetentionPeriod field's value. +func (s *CreateSnaplockConfiguration) SetRetentionPeriod(v *SnaplockRetentionPeriod) *CreateSnaplockConfiguration { + s.RetentionPeriod = v + return s +} + +// SetSnaplockType sets the SnaplockType field's value. +func (s *CreateSnaplockConfiguration) SetSnaplockType(v string) *CreateSnaplockConfiguration { + s.SnaplockType = &v + return s +} + +// SetVolumeAppendModeEnabled sets the VolumeAppendModeEnabled field's value. +func (s *CreateSnaplockConfiguration) SetVolumeAppendModeEnabled(v bool) *CreateSnaplockConfiguration { + s.VolumeAppendModeEnabled = &v + return s +} + type CreateSnapshotInput struct { _ struct{} `type:"structure"` @@ -12414,10 +12639,21 @@ func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput { return s } -// Use to specify skipping a final backup, or to add tags to a final backup. +// Use to specify skipping a final backup, adding tags to a final backup, or +// bypassing the retention period of an FSx for ONTAP SnapLock Enterprise volume +// when deleting an FSx for ONTAP volume. type DeleteVolumeOntapConfiguration struct { _ struct{} `type:"structure"` + // Setting this to true allows a SnapLock administrator to delete an FSx for + // ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) + // files. The IAM permission fsx:BypassSnaplockEnterpriseRetention is also required + // to delete SnapLock Enterprise volumes with unexpired WORM files. The default + // value is false. + // + // For more information, see Deleting a SnapLock volume (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/how-snaplock-works.html#snaplock-delete-volume). + BypassSnaplockEnterpriseRetention *bool `type:"boolean"` + // A list of Tag values, with a maximum of 50 elements. FinalBackupTags []*Tag `min:"1" type:"list"` @@ -12467,6 +12703,12 @@ func (s *DeleteVolumeOntapConfiguration) Validate() error { return nil } +// SetBypassSnaplockEnterpriseRetention sets the BypassSnaplockEnterpriseRetention field's value. +func (s *DeleteVolumeOntapConfiguration) SetBypassSnaplockEnterpriseRetention(v bool) *DeleteVolumeOntapConfiguration { + s.BypassSnaplockEnterpriseRetention = &v + return s +} + // SetFinalBackupTags sets the FinalBackupTags field's value. func (s *DeleteVolumeOntapConfiguration) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapConfiguration { s.FinalBackupTags = v @@ -17039,6 +17281,9 @@ type OntapVolumeConfiguration struct { // The configured size of the volume, in megabytes (MBs). SizeInMegabytes *int64 `type:"integer"` + // The SnapLock configuration object for an FSx for ONTAP SnapLock volume. + SnaplockConfiguration *SnaplockConfiguration `type:"structure"` + // Specifies the snapshot policy for the volume. There are three built-in snapshot // policies: // @@ -17137,6 +17382,12 @@ func (s *OntapVolumeConfiguration) SetSizeInMegabytes(v int64) *OntapVolumeConfi return s } +// SetSnaplockConfiguration sets the SnaplockConfiguration field's value. +func (s *OntapVolumeConfiguration) SetSnaplockConfiguration(v *SnaplockConfiguration) *OntapVolumeConfiguration { + s.SnaplockConfiguration = v + return s +} + // SetSnapshotPolicy sets the SnapshotPolicy field's value. func (s *OntapVolumeConfiguration) SetSnapshotPolicy(v string) *OntapVolumeConfiguration { s.SnapshotPolicy = &v @@ -18267,6 +18518,83 @@ func (s *RestoreVolumeFromSnapshotOutput) SetVolumeId(v string) *RestoreVolumeFr return s } +// Specifies the retention period of an FSx for ONTAP SnapLock volume. After +// it is set, it can't be changed. Files can't be deleted or modified during +// the retention period. +// +// For more information, see Working with the retention period in SnapLock (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snaplock-retention.html). +type RetentionPeriod struct { + _ struct{} `type:"structure"` + + // Defines the type of time for the retention period of an FSx for ONTAP SnapLock + // volume. Set it to one of the valid types. If you set it to INFINITE, the + // files are retained forever. If you set it to UNSPECIFIED, the files are retained + // until you set an explicit retention period. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"RetentionPeriodType"` + + // Defines the amount of time for the retention period of an FSx for ONTAP SnapLock + // volume. You can't set a value for INFINITE or UNSPECIFIED. For all other + // options, the following ranges are valid: + // + // * Seconds: 0 - 65,535 + // + // * Minutes: 0 - 65,535 + // + // * Hours: 0 - 24 + // + // * Days: 0 - 365 + // + // * Months: 0 - 12 + // + // * Years: 0 - 100 + Value *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetentionPeriod) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetentionPeriod) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RetentionPeriod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RetentionPeriod"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetType sets the Type field's value. +func (s *RetentionPeriod) SetType(v string) *RetentionPeriod { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *RetentionPeriod) SetValue(v int64) *RetentionPeriod { + s.Value = &v + return s +} + // The configuration for an Amazon S3 data repository linked to an Amazon FSx // for Lustre file system with a data repository association. The configuration // consists of an AutoImportPolicy that defines which file events on the data @@ -18740,6 +19068,213 @@ func (s *ServiceLimitExceeded) RequestID() string { return s.RespMetadata.RequestID } +// Specifies the SnapLock configuration for an FSx for ONTAP SnapLock volume. +type SnaplockConfiguration struct { + _ struct{} `type:"structure"` + + // Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume. + // The default value is false. If you set AuditLogVolume to true, the SnapLock + // volume is created as an audit log volume. The minimum retention period for + // an audit log volume is six months. + // + // For more information, see SnapLock audit log volumes (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/how-snaplock-works.html#snaplock-audit-log-volume). + AuditLogVolume *bool `type:"boolean"` + + // The configuration object for setting the autocommit period of files in an + // FSx for ONTAP SnapLock volume. + AutocommitPeriod *AutocommitPeriod `type:"structure"` + + // Enables, disables, or permanently disables privileged delete on an FSx for + // ONTAP SnapLock Enterprise volume. Enabling privileged delete allows SnapLock + // administrators to delete write once, read many (WORM) files even if they + // have active retention periods. PERMANENTLY_DISABLED is a terminal state. + // If privileged delete is permanently disabled on a SnapLock volume, you can't + // re-enable it. The default value is DISABLED. + // + // For more information, see Privileged delete (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/how-snaplock-works.html#privileged-delete). + PrivilegedDelete *string `type:"string" enum:"PrivilegedDelete"` + + // Specifies the retention period of an FSx for ONTAP SnapLock volume. + RetentionPeriod *SnaplockRetentionPeriod `type:"structure"` + + // Specifies the retention mode of an FSx for ONTAP SnapLock volume. After it + // is set, it can't be changed. You can choose one of the following retention + // modes: + // + // * COMPLIANCE: Files transitioned to write once, read many (WORM) on a + // Compliance volume can't be deleted until their retention periods expire. + // This retention mode is used to address government or industry-specific + // mandates or to protect against ransomware attacks. For more information, + // see SnapLock Compliance (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snaplock-compliance.html). + // + // * ENTERPRISE: Files transitioned to WORM on an Enterprise volume can be + // deleted by authorized users before their retention periods expire using + // privileged delete. This retention mode is used to advance an organization's + // data integrity and internal compliance or to test retention settings before + // using SnapLock Compliance. For more information, see SnapLock Enterprise + // (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/how-snaplock-works.htmlFile). + SnaplockType *string `type:"string" enum:"SnaplockType"` + + // Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume. + // Volume-append mode allows you to create WORM-appendable files and write data + // to them incrementally. The default value is false. + // + // For more information, see Volume-append mode (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/worm-state.html#worm-state-append). + VolumeAppendModeEnabled *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SnaplockConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SnaplockConfiguration) GoString() string { + return s.String() +} + +// SetAuditLogVolume sets the AuditLogVolume field's value. +func (s *SnaplockConfiguration) SetAuditLogVolume(v bool) *SnaplockConfiguration { + s.AuditLogVolume = &v + return s +} + +// SetAutocommitPeriod sets the AutocommitPeriod field's value. +func (s *SnaplockConfiguration) SetAutocommitPeriod(v *AutocommitPeriod) *SnaplockConfiguration { + s.AutocommitPeriod = v + return s +} + +// SetPrivilegedDelete sets the PrivilegedDelete field's value. +func (s *SnaplockConfiguration) SetPrivilegedDelete(v string) *SnaplockConfiguration { + s.PrivilegedDelete = &v + return s +} + +// SetRetentionPeriod sets the RetentionPeriod field's value. +func (s *SnaplockConfiguration) SetRetentionPeriod(v *SnaplockRetentionPeriod) *SnaplockConfiguration { + s.RetentionPeriod = v + return s +} + +// SetSnaplockType sets the SnaplockType field's value. +func (s *SnaplockConfiguration) SetSnaplockType(v string) *SnaplockConfiguration { + s.SnaplockType = &v + return s +} + +// SetVolumeAppendModeEnabled sets the VolumeAppendModeEnabled field's value. +func (s *SnaplockConfiguration) SetVolumeAppendModeEnabled(v bool) *SnaplockConfiguration { + s.VolumeAppendModeEnabled = &v + return s +} + +// The configuration to set the retention period of an FSx for ONTAP SnapLock +// volume. The retention period includes default, maximum, and minimum settings. +// For more information, see Working with the retention period in SnapLock (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snaplock-retention.html). +type SnaplockRetentionPeriod struct { + _ struct{} `type:"structure"` + + // The retention period assigned to a write once, read many (WORM) file by default + // if an explicit retention period is not set for an FSx for ONTAP SnapLock + // volume. The default retention period must be greater than or equal to the + // minimum retention period and less than or equal to the maximum retention + // period. + // + // DefaultRetention is a required field + DefaultRetention *RetentionPeriod `type:"structure" required:"true"` + + // The longest retention period that can be assigned to a WORM file on an FSx + // for ONTAP SnapLock volume. + // + // MaximumRetention is a required field + MaximumRetention *RetentionPeriod `type:"structure" required:"true"` + + // The shortest retention period that can be assigned to a WORM file on an FSx + // for ONTAP SnapLock volume. + // + // MinimumRetention is a required field + MinimumRetention *RetentionPeriod `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SnaplockRetentionPeriod) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SnaplockRetentionPeriod) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SnaplockRetentionPeriod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SnaplockRetentionPeriod"} + if s.DefaultRetention == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultRetention")) + } + if s.MaximumRetention == nil { + invalidParams.Add(request.NewErrParamRequired("MaximumRetention")) + } + if s.MinimumRetention == nil { + invalidParams.Add(request.NewErrParamRequired("MinimumRetention")) + } + if s.DefaultRetention != nil { + if err := s.DefaultRetention.Validate(); err != nil { + invalidParams.AddNested("DefaultRetention", err.(request.ErrInvalidParams)) + } + } + if s.MaximumRetention != nil { + if err := s.MaximumRetention.Validate(); err != nil { + invalidParams.AddNested("MaximumRetention", err.(request.ErrInvalidParams)) + } + } + if s.MinimumRetention != nil { + if err := s.MinimumRetention.Validate(); err != nil { + invalidParams.AddNested("MinimumRetention", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultRetention sets the DefaultRetention field's value. +func (s *SnaplockRetentionPeriod) SetDefaultRetention(v *RetentionPeriod) *SnaplockRetentionPeriod { + s.DefaultRetention = v + return s +} + +// SetMaximumRetention sets the MaximumRetention field's value. +func (s *SnaplockRetentionPeriod) SetMaximumRetention(v *RetentionPeriod) *SnaplockRetentionPeriod { + s.MaximumRetention = v + return s +} + +// SetMinimumRetention sets the MinimumRetention field's value. +func (s *SnaplockRetentionPeriod) SetMinimumRetention(v *RetentionPeriod) *SnaplockRetentionPeriod { + s.MinimumRetention = v + return s +} + // A snapshot of an Amazon FSx for OpenZFS volume. type Snapshot struct { _ struct{} `type:"structure"` @@ -20948,12 +21483,16 @@ type UpdateOntapVolumeConfiguration struct { // The JunctionPath must have a leading forward slash, such as /vol3. JunctionPath *string `min:"1" type:"string"` - // The security style for the volume, which can be UNIX. NTFS, or MIXED. + // The security style for the volume, which can be UNIX, NTFS, or MIXED. SecurityStyle *string `type:"string" enum:"SecurityStyle"` // Specifies the size of the volume in megabytes. SizeInMegabytes *int64 `type:"integer"` + // The configuration object for updating the SnapLock configuration of an FSx + // for ONTAP SnapLock volume. + SnaplockConfiguration *UpdateSnaplockConfiguration `type:"structure"` + // Specifies the snapshot policy for the volume. There are three built-in snapshot // policies: // @@ -21010,6 +21549,11 @@ func (s *UpdateOntapVolumeConfiguration) Validate() error { if s.SnapshotPolicy != nil && len(*s.SnapshotPolicy) < 1 { invalidParams.Add(request.NewErrParamMinLen("SnapshotPolicy", 1)) } + if s.SnaplockConfiguration != nil { + if err := s.SnaplockConfiguration.Validate(); err != nil { + invalidParams.AddNested("SnaplockConfiguration", err.(request.ErrInvalidParams)) + } + } if s.TieringPolicy != nil { if err := s.TieringPolicy.Validate(); err != nil { invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams)) @@ -21046,6 +21590,12 @@ func (s *UpdateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *UpdateOnta return s } +// SetSnaplockConfiguration sets the SnaplockConfiguration field's value. +func (s *UpdateOntapVolumeConfiguration) SetSnaplockConfiguration(v *UpdateSnaplockConfiguration) *UpdateOntapVolumeConfiguration { + s.SnaplockConfiguration = v + return s +} + // SetSnapshotPolicy sets the SnapshotPolicy field's value. func (s *UpdateOntapVolumeConfiguration) SetSnapshotPolicy(v string) *UpdateOntapVolumeConfiguration { s.SnapshotPolicy = &v @@ -21212,6 +21762,111 @@ func (s *UpdateOpenZFSVolumeConfiguration) SetUserAndGroupQuotas(v []*OpenZFSUse return s } +// Updates the SnapLock configuration for an existing FSx for ONTAP volume. +type UpdateSnaplockConfiguration struct { + _ struct{} `type:"structure"` + + // Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume. + // The default value is false. If you set AuditLogVolume to true, the SnapLock + // volume is created as an audit log volume. The minimum retention period for + // an audit log volume is six months. + // + // For more information, see SnapLock audit log volumes (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/how-snaplock-works.html#snaplock-audit-log-volume). + AuditLogVolume *bool `type:"boolean"` + + // The configuration object for setting the autocommit period of files in an + // FSx for ONTAP SnapLock volume. + AutocommitPeriod *AutocommitPeriod `type:"structure"` + + // Enables, disables, or permanently disables privileged delete on an FSx for + // ONTAP SnapLock Enterprise volume. Enabling privileged delete allows SnapLock + // administrators to delete write once, read many (WORM) files even if they + // have active retention periods. PERMANENTLY_DISABLED is a terminal state. + // If privileged delete is permanently disabled on a SnapLock volume, you can't + // re-enable it. The default value is DISABLED. + // + // For more information, see Privileged delete (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/how-snaplock-works.html#privileged-delete). + PrivilegedDelete *string `type:"string" enum:"PrivilegedDelete"` + + // Specifies the retention period of an FSx for ONTAP SnapLock volume. + RetentionPeriod *SnaplockRetentionPeriod `type:"structure"` + + // Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume. + // Volume-append mode allows you to create WORM-appendable files and write data + // to them incrementally. The default value is false. + // + // For more information, see Volume-append mode (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/worm-state.html#worm-state-append). + VolumeAppendModeEnabled *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSnaplockConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSnaplockConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSnaplockConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSnaplockConfiguration"} + if s.AutocommitPeriod != nil { + if err := s.AutocommitPeriod.Validate(); err != nil { + invalidParams.AddNested("AutocommitPeriod", err.(request.ErrInvalidParams)) + } + } + if s.RetentionPeriod != nil { + if err := s.RetentionPeriod.Validate(); err != nil { + invalidParams.AddNested("RetentionPeriod", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuditLogVolume sets the AuditLogVolume field's value. +func (s *UpdateSnaplockConfiguration) SetAuditLogVolume(v bool) *UpdateSnaplockConfiguration { + s.AuditLogVolume = &v + return s +} + +// SetAutocommitPeriod sets the AutocommitPeriod field's value. +func (s *UpdateSnaplockConfiguration) SetAutocommitPeriod(v *AutocommitPeriod) *UpdateSnaplockConfiguration { + s.AutocommitPeriod = v + return s +} + +// SetPrivilegedDelete sets the PrivilegedDelete field's value. +func (s *UpdateSnaplockConfiguration) SetPrivilegedDelete(v string) *UpdateSnaplockConfiguration { + s.PrivilegedDelete = &v + return s +} + +// SetRetentionPeriod sets the RetentionPeriod field's value. +func (s *UpdateSnaplockConfiguration) SetRetentionPeriod(v *SnaplockRetentionPeriod) *UpdateSnaplockConfiguration { + s.RetentionPeriod = v + return s +} + +// SetVolumeAppendModeEnabled sets the VolumeAppendModeEnabled field's value. +func (s *UpdateSnaplockConfiguration) SetVolumeAppendModeEnabled(v bool) *UpdateSnaplockConfiguration { + s.VolumeAppendModeEnabled = &v + return s +} + type UpdateSnapshotInput struct { _ struct{} `type:"structure"` @@ -22483,6 +23138,38 @@ func AutoImportPolicyType_Values() []string { } } +const ( + // AutocommitPeriodTypeMinutes is a AutocommitPeriodType enum value + AutocommitPeriodTypeMinutes = "MINUTES" + + // AutocommitPeriodTypeHours is a AutocommitPeriodType enum value + AutocommitPeriodTypeHours = "HOURS" + + // AutocommitPeriodTypeDays is a AutocommitPeriodType enum value + AutocommitPeriodTypeDays = "DAYS" + + // AutocommitPeriodTypeMonths is a AutocommitPeriodType enum value + AutocommitPeriodTypeMonths = "MONTHS" + + // AutocommitPeriodTypeYears is a AutocommitPeriodType enum value + AutocommitPeriodTypeYears = "YEARS" + + // AutocommitPeriodTypeNone is a AutocommitPeriodType enum value + AutocommitPeriodTypeNone = "NONE" +) + +// AutocommitPeriodType_Values returns all elements of the AutocommitPeriodType enum +func AutocommitPeriodType_Values() []string { + return []string{ + AutocommitPeriodTypeMinutes, + AutocommitPeriodTypeHours, + AutocommitPeriodTypeDays, + AutocommitPeriodTypeMonths, + AutocommitPeriodTypeYears, + AutocommitPeriodTypeNone, + } +} + // The lifecycle status of the backup. // // - AVAILABLE - The backup is fully available. @@ -23129,6 +23816,26 @@ func OpenZFSQuotaType_Values() []string { } } +const ( + // PrivilegedDeleteDisabled is a PrivilegedDelete enum value + PrivilegedDeleteDisabled = "DISABLED" + + // PrivilegedDeleteEnabled is a PrivilegedDelete enum value + PrivilegedDeleteEnabled = "ENABLED" + + // PrivilegedDeletePermanentlyDisabled is a PrivilegedDelete enum value + PrivilegedDeletePermanentlyDisabled = "PERMANENTLY_DISABLED" +) + +// PrivilegedDelete_Values returns all elements of the PrivilegedDelete enum +func PrivilegedDelete_Values() []string { + return []string{ + PrivilegedDeleteDisabled, + PrivilegedDeleteEnabled, + PrivilegedDeletePermanentlyDisabled, + } +} + const ( // ReportFormatReportCsv20191124 is a ReportFormat enum value ReportFormatReportCsv20191124 = "REPORT_CSV_20191124" @@ -23185,6 +23892,46 @@ func RestoreOpenZFSVolumeOption_Values() []string { } } +const ( + // RetentionPeriodTypeSeconds is a RetentionPeriodType enum value + RetentionPeriodTypeSeconds = "SECONDS" + + // RetentionPeriodTypeMinutes is a RetentionPeriodType enum value + RetentionPeriodTypeMinutes = "MINUTES" + + // RetentionPeriodTypeHours is a RetentionPeriodType enum value + RetentionPeriodTypeHours = "HOURS" + + // RetentionPeriodTypeDays is a RetentionPeriodType enum value + RetentionPeriodTypeDays = "DAYS" + + // RetentionPeriodTypeMonths is a RetentionPeriodType enum value + RetentionPeriodTypeMonths = "MONTHS" + + // RetentionPeriodTypeYears is a RetentionPeriodType enum value + RetentionPeriodTypeYears = "YEARS" + + // RetentionPeriodTypeInfinite is a RetentionPeriodType enum value + RetentionPeriodTypeInfinite = "INFINITE" + + // RetentionPeriodTypeUnspecified is a RetentionPeriodType enum value + RetentionPeriodTypeUnspecified = "UNSPECIFIED" +) + +// RetentionPeriodType_Values returns all elements of the RetentionPeriodType enum +func RetentionPeriodType_Values() []string { + return []string{ + RetentionPeriodTypeSeconds, + RetentionPeriodTypeMinutes, + RetentionPeriodTypeHours, + RetentionPeriodTypeDays, + RetentionPeriodTypeMonths, + RetentionPeriodTypeYears, + RetentionPeriodTypeInfinite, + RetentionPeriodTypeUnspecified, + } +} + const ( // SecurityStyleUnix is a SecurityStyle enum value SecurityStyleUnix = "UNIX" @@ -23258,6 +24005,22 @@ func ServiceLimit_Values() []string { } } +const ( + // SnaplockTypeCompliance is a SnaplockType enum value + SnaplockTypeCompliance = "COMPLIANCE" + + // SnaplockTypeEnterprise is a SnaplockType enum value + SnaplockTypeEnterprise = "ENTERPRISE" +) + +// SnaplockType_Values returns all elements of the SnaplockType enum +func SnaplockType_Values() []string { + return []string{ + SnaplockTypeCompliance, + SnaplockTypeEnterprise, + } +} + const ( // SnapshotFilterNameFileSystemId is a SnapshotFilterName enum value SnapshotFilterNameFileSystemId = "file-system-id" diff --git a/service/iam/api.go b/service/iam/api.go index 461dd14a79f..527ebcddc91 100644 --- a/service/iam/api.go +++ b/service/iam/api.go @@ -167,9 +167,10 @@ func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInp // The caller of this operation must be granted the PassRole permission on the // IAM role by a permissions policy. // -// For more information about roles, see Working with roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). -// For more information about instance profiles, see About instance profiles -// (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). +// For more information about roles, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) +// in the IAM User Guide. For more information about instance profiles, see +// Using instance profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) +// in the IAM User Guide. // // 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 @@ -1357,11 +1358,12 @@ func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProvi // Amazon Web Services. // // Amazon Web Services secures communication with some OIDC identity providers -// (IdPs) through our library of trusted certificate authorities (CAs) instead -// of using a certificate thumbprint to verify your IdP server certificate. -// These OIDC IdPs include Google, Auth0, and those that use an Amazon S3 bucket -// to host a JSON Web Key Set (JWKS) endpoint. In these cases, your legacy thumbprint -// remains in your configuration, but is no longer used for validation. +// (IdPs) through our library of trusted root certificate authorities (CAs) +// instead of using a certificate thumbprint to verify your IdP server certificate. +// These OIDC IdPs include Auth0, GitHub, Google, and those that use an Amazon +// S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these cases, your +// legacy thumbprint remains in your configuration, but is no longer used for +// validation. // // The trust for the OIDC provider is derived from the IAM provider that this // operation creates. Therefore, it is best to limit access to the CreateOpenIDConnectProvider @@ -1686,10 +1688,11 @@ func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, o // CreateRole API operation for AWS Identity and Access Management. // -// Creates a new role for your Amazon Web Services account. For more information -// about roles, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). -// For information about quotas for role names and the number of roles you can -// create, see IAM and STS quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) +// Creates a new role for your Amazon Web Services account. +// +// For more information about roles, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) +// in the IAM User Guide. For information about quotas for role names and the +// number of roles you can create, see IAM and STS quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2926,8 +2929,9 @@ func (c *IAM) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (r // that is associated with a running instance will break any applications running // on the instance. // -// For more information about instance profiles, see About instance profiles -// (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). +// For more information about instance profiles, see Using instance profiles +// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) +// in the IAM User Guide. // // 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 @@ -6531,7 +6535,7 @@ func (c *IAM) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *re // // Retrieves information about the specified instance profile, including the // instance profile's path, GUID, ARN, and role. For more information about -// instance profiles, see About instance profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html) +// instance profiles, see Using instance profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -7195,7 +7199,8 @@ func (c *IAM) GetRoleRequest(input *GetRoleInput) (req *request.Request, output // // Retrieves information about the specified role, including the role's path, // GUID, ARN, and the role's trust policy that grants permission to assume the -// role. For more information about roles, see Working with roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). +// role. For more information about roles, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) +// in the IAM User Guide. // // Policies returned by this operation are URL-encoded compliant with RFC 3986 // (https://tools.ietf.org/html/rfc3986). You can use a URL decoding method @@ -7303,8 +7308,8 @@ func (c *IAM) GetRolePolicyRequest(input *GetRolePolicyInput) (req *request.Requ // (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) // in the IAM User Guide. // -// For more information about roles, see Using roles to delegate permissions -// and federate identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). +// For more information about roles, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) +// in the IAM User Guide. // // 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 @@ -9677,7 +9682,8 @@ func (c *IAM) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req // // Lists the instance profiles that have the specified path prefix. If there // are none, the operation returns an empty list. For more information about -// instance profiles, see About instance profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). +// instance profiles, see Using instance profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) +// in the IAM User Guide. // // IAM resource-listing operations return a subset of the available attributes // for the resource. For example, this operation does not return tags, even @@ -9822,7 +9828,8 @@ func (c *IAM) ListInstanceProfilesForRoleRequest(input *ListInstanceProfilesForR // // Lists the instance profiles that have the specified associated IAM role. // If there are none, the operation returns an empty list. For more information -// about instance profiles, go to About instance profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). +// about instance profiles, go to Using instance profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) +// in the IAM User Guide. // // You can paginate the results using the MaxItems and Marker parameters. // @@ -11361,7 +11368,8 @@ func (c *IAM) ListRolesRequest(input *ListRolesInput) (req *request.Request, out // // Lists the IAM roles that have the specified path prefix. If there are none, // the operation returns an empty list. For more information about roles, see -// Working with roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). +// IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) +// in the IAM User Guide. // // IAM resource-listing operations return a subset of the available attributes // for the resource. This operation does not return the following attributes, @@ -13240,9 +13248,9 @@ func (c *IAM) PutRolePolicyRequest(input *PutRolePolicyInput) (req *request.Requ // When you embed an inline policy in a role, the inline policy is used as part // of the role's access (permissions) policy. The role's trust policy is created // at the same time as the role, using CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). -// You can update a role's trust policy using UpdateAssumerolePolicy (https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). -// For more information about IAM roles, see Using roles to delegate permissions -// and federate identities (https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html). +// You can update a role's trust policy using UpdateAssumeRolePolicy (https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). +// For more information about roles, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) +// in the IAM User Guide. // // A role can also have a managed policy attached to it. To attach a managed // policy to a role, use AttachRolePolicy (https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachRolePolicy.html). @@ -13674,9 +13682,10 @@ func (c *IAM) RemoveRoleFromInstanceProfileRequest(input *RemoveRoleFromInstance // an instance profile that is associated with a running instance might break // any applications running on the instance. // -// For more information about IAM roles, see Working with roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). -// For more information about instance profiles, see About instance profiles -// (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). +// For more information about roles, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) +// in the IAM User Guide. For more information about instance profiles, see +// Using instance profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) +// in the IAM User Guide. // // 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 @@ -16944,11 +16953,12 @@ func (c *IAM) UpdateOpenIDConnectProviderThumbprintRequest(input *UpdateOpenIDCo // as a principal fails until the certificate thumbprint is updated. // // Amazon Web Services secures communication with some OIDC identity providers -// (IdPs) through our library of trusted certificate authorities (CAs) instead -// of using a certificate thumbprint to verify your IdP server certificate. -// These OIDC IdPs include Google, Auth0, and those that use an Amazon S3 bucket -// to host a JSON Web Key Set (JWKS) endpoint. In these cases, your legacy thumbprint -// remains in your configuration, but is no longer used for validation. +// (IdPs) through our library of trusted root certificate authorities (CAs) +// instead of using a certificate thumbprint to verify your IdP server certificate. +// These OIDC IdPs include Auth0, GitHub, Google, and those that use an Amazon +// S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these cases, your +// legacy thumbprint remains in your configuration, but is no longer used for +// validation. // // Trust for the OIDC provider is derived from the provider certificate and // is validated by the thumbprint. Therefore, it is best to limit access to @@ -33700,7 +33710,7 @@ type PutGroupPolicyInput struct { // You must provide policies in JSON format in IAM. However, for CloudFormation // templates formatted in YAML, you can provide the policy in JSON or YAML format. // CloudFormation always converts a YAML policy to JSON format before submitting - // it to = IAM. + // it to IAM. // // The regex pattern (http://wikipedia.org/wiki/regex) used to validate this // parameter is a string of characters consisting of the following: diff --git a/service/mediatailor/api.go b/service/mediatailor/api.go index 25cfb732922..0c0ff2c69fe 100644 --- a/service/mediatailor/api.go +++ b/service/mediatailor/api.go @@ -3992,6 +3992,9 @@ type Alert struct { // AlertMessage is a required field AlertMessage *string `type:"string" required:"true"` + // The category that MediaTailor assigns to the alert. + Category *string `type:"string" enum:"AlertCategory"` + // The timestamp when the alert was last modified. // // LastModifiedTime is a required field @@ -4038,6 +4041,12 @@ func (s *Alert) SetAlertMessage(v string) *Alert { return s } +// SetCategory sets the Category field's value. +func (s *Alert) SetCategory(v string) *Alert { + s.Category = &v + return s +} + // SetLastModifiedTime sets the LastModifiedTime field's value. func (s *Alert) SetLastModifiedTime(v time.Time) *Alert { s.LastModifiedTime = &v @@ -8602,7 +8611,7 @@ type KeyValuePair struct { // Key is a required field Key *string `type:"string" required:"true"` - // For SCTE35_ENHANCED output, defines a vaue. MediaTailor; takes this value, + // For SCTE35_ENHANCED output, defines a value. MediaTailor; takes this value, // and its associated key, and generates the key/value pair within the EXT-X-ASSETtag. // If you specify a value, you must also specify a corresponding key. // @@ -13272,6 +13281,26 @@ func AdMarkupType_Values() []string { } } +const ( + // AlertCategorySchedulingError is a AlertCategory enum value + AlertCategorySchedulingError = "SCHEDULING_ERROR" + + // AlertCategoryPlaybackWarning is a AlertCategory enum value + AlertCategoryPlaybackWarning = "PLAYBACK_WARNING" + + // AlertCategoryInfo is a AlertCategory enum value + AlertCategoryInfo = "INFO" +) + +// AlertCategory_Values returns all elements of the AlertCategory enum +func AlertCategory_Values() []string { + return []string{ + AlertCategorySchedulingError, + AlertCategoryPlaybackWarning, + AlertCategoryInfo, + } +} + const ( // ChannelStateRunning is a ChannelState enum value ChannelStateRunning = "RUNNING" diff --git a/service/personalize/api.go b/service/personalize/api.go index 11e3c8cf895..acbce15149c 100644 --- a/service/personalize/api.go +++ b/service/personalize/api.go @@ -6901,6 +6901,92 @@ func (c *Personalize) UpdateCampaignWithContext(ctx aws.Context, input *UpdateCa return out, req.Send() } +const opUpdateDataset = "UpdateDataset" + +// UpdateDatasetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataset 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 UpdateDataset for more information on using the UpdateDataset +// 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 UpdateDatasetRequest method. +// req, resp := client.UpdateDatasetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateDataset +func (c *Personalize) UpdateDatasetRequest(input *UpdateDatasetInput) (req *request.Request, output *UpdateDatasetOutput) { + op := &request.Operation{ + Name: opUpdateDataset, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDatasetInput{} + } + + output = &UpdateDatasetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataset API operation for Amazon Personalize. +// +// Update a dataset to replace its schema with a new or existing one. For more +// information, see Replacing a dataset's schema (https://docs.aws.amazon.com/personalize/latest/dg/updating-dataset-schema.html). +// +// 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 Personalize's +// API operation UpdateDataset for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// Provide a valid value for the field or parameter. +// +// - ResourceNotFoundException +// Could not find the specified resource. +// +// - ResourceInUseException +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/UpdateDataset +func (c *Personalize) UpdateDataset(input *UpdateDatasetInput) (*UpdateDatasetOutput, error) { + req, out := c.UpdateDatasetRequest(input) + return out, req.Send() +} + +// UpdateDatasetWithContext is the same as UpdateDataset with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataset 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 *Personalize) UpdateDatasetWithContext(ctx aws.Context, input *UpdateDatasetInput, opts ...request.Option) (*UpdateDatasetOutput, error) { + req, out := c.UpdateDatasetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateMetricAttribution = "UpdateMetricAttribution" // UpdateMetricAttributionRequest generates a "aws/request.Request" representing the @@ -10355,7 +10441,7 @@ type CreateSolutionInput struct { // set it to false. PerformHPO *bool `locationName:"performHPO" type:"boolean"` - // The ARN of the recipe to use for model training. Only specified when performAutoML + // The ARN of the recipe to use for model training. This is required when performAutoML // is false. RecipeArn *string `locationName:"recipeArn" type:"string"` @@ -10692,6 +10778,9 @@ type Dataset struct { // A time stamp that shows when the dataset was updated. LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + // Describes the latest update to the dataset. + LatestDatasetUpdate *DatasetUpdateSummary `locationName:"latestDatasetUpdate" type:"structure"` + // The name of the dataset. Name *string `locationName:"name" min:"1" type:"string"` @@ -10756,6 +10845,12 @@ func (s *Dataset) SetLastUpdatedDateTime(v time.Time) *Dataset { return s } +// SetLatestDatasetUpdate sets the LatestDatasetUpdate field's value. +func (s *Dataset) SetLatestDatasetUpdate(v *DatasetUpdateSummary) *Dataset { + s.LatestDatasetUpdate = v + return s +} + // SetName sets the Name field's value. func (s *Dataset) SetName(v string) *Dataset { s.Name = &v @@ -11724,6 +11819,75 @@ func (s *DatasetSummary) SetStatus(v string) *DatasetSummary { return s } +// Describes an update to a dataset. +type DatasetUpdateSummary struct { + _ struct{} `type:"structure"` + + // The creation date and time (in Unix time) of the dataset update. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // If updating a dataset fails, provides the reason why. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The last update date and time (in Unix time) of the dataset. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the schema that replaced the previous schema + // of the dataset. + SchemaArn *string `locationName:"schemaArn" type:"string"` + + // The status of the dataset update. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatasetUpdateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatasetUpdateSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *DatasetUpdateSummary) SetCreationDateTime(v time.Time) *DatasetUpdateSummary { + s.CreationDateTime = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DatasetUpdateSummary) SetFailureReason(v string) *DatasetUpdateSummary { + s.FailureReason = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *DatasetUpdateSummary) SetLastUpdatedDateTime(v time.Time) *DatasetUpdateSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *DatasetUpdateSummary) SetSchemaArn(v string) *DatasetUpdateSummary { + s.SchemaArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DatasetUpdateSummary) SetStatus(v string) *DatasetUpdateSummary { + s.Status = &v + return s +} + // Provides the name and default range of a categorical hyperparameter and whether // the hyperparameter is tunable. A tunable hyperparameter can have its value // determined during hyperparameter optimization (HPO). @@ -17913,7 +18077,8 @@ type Solution struct { // The default is false. PerformHPO *bool `locationName:"performHPO" type:"boolean"` - // The ARN of the recipe used to create the solution. + // The ARN of the recipe used to create the solution. This is required when + // performAutoML is false. RecipeArn *string `locationName:"recipeArn" type:"string"` // The ARN of the solution. @@ -19277,6 +19442,97 @@ func (s *UpdateCampaignOutput) SetCampaignArn(v string) *UpdateCampaignOutput { return s } +type UpdateDatasetInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset that you want to update. + // + // DatasetArn is a required field + DatasetArn *string `locationName:"datasetArn" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the new schema you want use. + // + // SchemaArn is a required field + SchemaArn *string `locationName:"schemaArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDatasetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDatasetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDatasetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDatasetInput"} + if s.DatasetArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetArn")) + } + if s.SchemaArn == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *UpdateDatasetInput) SetDatasetArn(v string) *UpdateDatasetInput { + s.DatasetArn = &v + return s +} + +// SetSchemaArn sets the SchemaArn field's value. +func (s *UpdateDatasetInput) SetSchemaArn(v string) *UpdateDatasetInput { + s.SchemaArn = &v + return s +} + +type UpdateDatasetOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset you updated. + DatasetArn *string `locationName:"datasetArn" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDatasetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDatasetOutput) GoString() string { + return s.String() +} + +// SetDatasetArn sets the DatasetArn field's value. +func (s *UpdateDatasetOutput) SetDatasetArn(v string) *UpdateDatasetOutput { + s.DatasetArn = &v + return s +} + type UpdateMetricAttributionInput struct { _ struct{} `type:"structure"` diff --git a/service/personalize/personalizeiface/interface.go b/service/personalize/personalizeiface/interface.go index 2cd4407c882..8bd0a66f286 100644 --- a/service/personalize/personalizeiface/interface.go +++ b/service/personalize/personalizeiface/interface.go @@ -364,6 +364,10 @@ type PersonalizeAPI interface { UpdateCampaignWithContext(aws.Context, *personalize.UpdateCampaignInput, ...request.Option) (*personalize.UpdateCampaignOutput, error) UpdateCampaignRequest(*personalize.UpdateCampaignInput) (*request.Request, *personalize.UpdateCampaignOutput) + UpdateDataset(*personalize.UpdateDatasetInput) (*personalize.UpdateDatasetOutput, error) + UpdateDatasetWithContext(aws.Context, *personalize.UpdateDatasetInput, ...request.Option) (*personalize.UpdateDatasetOutput, error) + UpdateDatasetRequest(*personalize.UpdateDatasetInput) (*request.Request, *personalize.UpdateDatasetOutput) + UpdateMetricAttribution(*personalize.UpdateMetricAttributionInput) (*personalize.UpdateMetricAttributionOutput, error) UpdateMetricAttributionWithContext(aws.Context, *personalize.UpdateMetricAttributionInput, ...request.Option) (*personalize.UpdateMetricAttributionOutput, error) UpdateMetricAttributionRequest(*personalize.UpdateMetricAttributionInput) (*request.Request, *personalize.UpdateMetricAttributionOutput) diff --git a/service/proton/api.go b/service/proton/api.go index e5f3a2540f1..4280b59fb22 100644 --- a/service/proton/api.go +++ b/service/proton/api.go @@ -1884,6 +1884,98 @@ func (c *Proton) DeleteComponentWithContext(ctx aws.Context, input *DeleteCompon return out, req.Send() } +const opDeleteDeployment = "DeleteDeployment" + +// DeleteDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDeployment 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 DeleteDeployment for more information on using the DeleteDeployment +// 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 DeleteDeploymentRequest method. +// req, resp := client.DeleteDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteDeployment +func (c *Proton) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req *request.Request, output *DeleteDeploymentOutput) { + op := &request.Operation{ + Name: opDeleteDeployment, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDeploymentInput{} + } + + output = &DeleteDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDeployment API operation for AWS Proton. +// +// Delete the deployment. +// +// 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 AWS Proton's +// API operation DeleteDeployment for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteDeployment +func (c *Proton) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDeploymentOutput, error) { + req, out := c.DeleteDeploymentRequest(input) + return out, req.Send() +} + +// DeleteDeploymentWithContext is the same as DeleteDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDeployment 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 *Proton) DeleteDeploymentWithContext(ctx aws.Context, input *DeleteDeploymentInput, opts ...request.Option) (*DeleteDeploymentOutput, error) { + req, out := c.DeleteDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteEnvironment = "DeleteEnvironment" // DeleteEnvironmentRequest generates a "aws/request.Request" representing the @@ -3056,6 +3148,98 @@ func (c *Proton) GetComponentWithContext(ctx aws.Context, input *GetComponentInp return out, req.Send() } +const opGetDeployment = "GetDeployment" + +// GetDeploymentRequest generates a "aws/request.Request" representing the +// client's request for the GetDeployment 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 GetDeployment for more information on using the GetDeployment +// 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 GetDeploymentRequest method. +// req, resp := client.GetDeploymentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetDeployment +func (c *Proton) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) { + op := &request.Operation{ + Name: opGetDeployment, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDeploymentInput{} + } + + output = &GetDeploymentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDeployment API operation for AWS Proton. +// +// Get detailed data for a deployment. +// +// 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 AWS Proton's +// API operation GetDeployment for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetDeployment +func (c *Proton) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) { + req, out := c.GetDeploymentRequest(input) + return out, req.Send() +} + +// GetDeploymentWithContext is the same as GetDeployment with the addition of +// the ability to pass a context and additional request options. +// +// See GetDeployment 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 *Proton) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) { + req, out := c.GetDeploymentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetEnvironment = "GetEnvironment" // GetEnvironmentRequest generates a "aws/request.Request" representing the @@ -5011,34 +5195,34 @@ func (c *Proton) ListComponentsPagesWithContext(ctx aws.Context, input *ListComp return p.Err() } -const opListEnvironmentAccountConnections = "ListEnvironmentAccountConnections" +const opListDeployments = "ListDeployments" -// ListEnvironmentAccountConnectionsRequest generates a "aws/request.Request" representing the -// client's request for the ListEnvironmentAccountConnections operation. The "output" return +// ListDeploymentsRequest generates a "aws/request.Request" representing the +// client's request for the ListDeployments 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 ListEnvironmentAccountConnections for more information on using the ListEnvironmentAccountConnections +// See ListDeployments for more information on using the ListDeployments // 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 ListEnvironmentAccountConnectionsRequest method. -// req, resp := client.ListEnvironmentAccountConnectionsRequest(params) +// // Example sending a request using the ListDeploymentsRequest method. +// req, resp := client.ListDeploymentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentAccountConnections -func (c *Proton) ListEnvironmentAccountConnectionsRequest(input *ListEnvironmentAccountConnectionsInput) (req *request.Request, output *ListEnvironmentAccountConnectionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListDeployments +func (c *Proton) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) { op := &request.Operation{ - Name: opListEnvironmentAccountConnections, + Name: opListDeployments, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -5050,27 +5234,25 @@ func (c *Proton) ListEnvironmentAccountConnectionsRequest(input *ListEnvironment } if input == nil { - input = &ListEnvironmentAccountConnectionsInput{} + input = &ListDeploymentsInput{} } - output = &ListEnvironmentAccountConnectionsOutput{} + output = &ListDeploymentsOutput{} req = c.newRequest(op, input, output) return } -// ListEnvironmentAccountConnections API operation for AWS Proton. -// -// View a list of environment account connections. +// ListDeployments API operation for AWS Proton. // -// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) -// in the Proton User guide. +// List deployments. You can filter the result list by environment, service, +// or a single service instance. // // 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 AWS Proton's -// API operation ListEnvironmentAccountConnections for usage and error information. +// API operation ListDeployments for usage and error information. // // Returned Error Types: // @@ -5084,67 +5266,70 @@ func (c *Proton) ListEnvironmentAccountConnectionsRequest(input *ListEnvironment // - ThrottlingException // The request was denied due to request throttling. // +// - ResourceNotFoundException +// The requested resource wasn't found. +// // - InternalServerException // The request failed to register with the service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentAccountConnections -func (c *Proton) ListEnvironmentAccountConnections(input *ListEnvironmentAccountConnectionsInput) (*ListEnvironmentAccountConnectionsOutput, error) { - req, out := c.ListEnvironmentAccountConnectionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListDeployments +func (c *Proton) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) { + req, out := c.ListDeploymentsRequest(input) return out, req.Send() } -// ListEnvironmentAccountConnectionsWithContext is the same as ListEnvironmentAccountConnections with the addition of +// ListDeploymentsWithContext is the same as ListDeployments with the addition of // the ability to pass a context and additional request options. // -// See ListEnvironmentAccountConnections for details on how to use this API operation. +// See ListDeployments 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 *Proton) ListEnvironmentAccountConnectionsWithContext(ctx aws.Context, input *ListEnvironmentAccountConnectionsInput, opts ...request.Option) (*ListEnvironmentAccountConnectionsOutput, error) { - req, out := c.ListEnvironmentAccountConnectionsRequest(input) +func (c *Proton) ListDeploymentsWithContext(ctx aws.Context, input *ListDeploymentsInput, opts ...request.Option) (*ListDeploymentsOutput, error) { + req, out := c.ListDeploymentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListEnvironmentAccountConnectionsPages iterates over the pages of a ListEnvironmentAccountConnections operation, +// ListDeploymentsPages iterates over the pages of a ListDeployments operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListEnvironmentAccountConnections method for more information on how to use this operation. +// See ListDeployments method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListEnvironmentAccountConnections operation. +// // Example iterating over at most 3 pages of a ListDeployments operation. // pageNum := 0 -// err := client.ListEnvironmentAccountConnectionsPages(params, -// func(page *proton.ListEnvironmentAccountConnectionsOutput, lastPage bool) bool { +// err := client.ListDeploymentsPages(params, +// func(page *proton.ListDeploymentsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Proton) ListEnvironmentAccountConnectionsPages(input *ListEnvironmentAccountConnectionsInput, fn func(*ListEnvironmentAccountConnectionsOutput, bool) bool) error { - return c.ListEnvironmentAccountConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Proton) ListDeploymentsPages(input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool) error { + return c.ListDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListEnvironmentAccountConnectionsPagesWithContext same as ListEnvironmentAccountConnectionsPages except +// ListDeploymentsPagesWithContext same as ListDeploymentsPages except // it takes a Context and allows setting request options on the pages. // // 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 *Proton) ListEnvironmentAccountConnectionsPagesWithContext(ctx aws.Context, input *ListEnvironmentAccountConnectionsInput, fn func(*ListEnvironmentAccountConnectionsOutput, bool) bool, opts ...request.Option) error { +func (c *Proton) ListDeploymentsPagesWithContext(ctx aws.Context, input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListEnvironmentAccountConnectionsInput + var inCpy *ListDeploymentsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListEnvironmentAccountConnectionsRequest(inCpy) + req, _ := c.ListDeploymentsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5152,7 +5337,7 @@ func (c *Proton) ListEnvironmentAccountConnectionsPagesWithContext(ctx aws.Conte } for p.Next() { - if !fn(p.Page().(*ListEnvironmentAccountConnectionsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDeploymentsOutput), !p.HasNextPage()) { break } } @@ -5160,63 +5345,66 @@ func (c *Proton) ListEnvironmentAccountConnectionsPagesWithContext(ctx aws.Conte return p.Err() } -const opListEnvironmentOutputs = "ListEnvironmentOutputs" +const opListEnvironmentAccountConnections = "ListEnvironmentAccountConnections" -// ListEnvironmentOutputsRequest generates a "aws/request.Request" representing the -// client's request for the ListEnvironmentOutputs operation. The "output" return +// ListEnvironmentAccountConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the ListEnvironmentAccountConnections 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 ListEnvironmentOutputs for more information on using the ListEnvironmentOutputs +// See ListEnvironmentAccountConnections for more information on using the ListEnvironmentAccountConnections // 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 ListEnvironmentOutputsRequest method. -// req, resp := client.ListEnvironmentOutputsRequest(params) +// // Example sending a request using the ListEnvironmentAccountConnectionsRequest method. +// req, resp := client.ListEnvironmentAccountConnectionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentOutputs -func (c *Proton) ListEnvironmentOutputsRequest(input *ListEnvironmentOutputsInput) (req *request.Request, output *ListEnvironmentOutputsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentAccountConnections +func (c *Proton) ListEnvironmentAccountConnectionsRequest(input *ListEnvironmentAccountConnectionsInput) (req *request.Request, output *ListEnvironmentAccountConnectionsOutput) { op := &request.Operation{ - Name: opListEnvironmentOutputs, + Name: opListEnvironmentAccountConnections, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, - LimitToken: "", + LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { - input = &ListEnvironmentOutputsInput{} + input = &ListEnvironmentAccountConnectionsInput{} } - output = &ListEnvironmentOutputsOutput{} + output = &ListEnvironmentAccountConnectionsOutput{} req = c.newRequest(op, input, output) return } -// ListEnvironmentOutputs API operation for AWS Proton. +// ListEnvironmentAccountConnections API operation for AWS Proton. // -// List the infrastructure as code outputs for your environment. +// View a list of environment account connections. +// +// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) +// in the Proton User guide. // // 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 AWS Proton's -// API operation ListEnvironmentOutputs for usage and error information. +// API operation ListEnvironmentAccountConnections for usage and error information. // // Returned Error Types: // @@ -5230,70 +5418,67 @@ func (c *Proton) ListEnvironmentOutputsRequest(input *ListEnvironmentOutputsInpu // - ThrottlingException // The request was denied due to request throttling. // -// - ResourceNotFoundException -// The requested resource wasn't found. -// // - InternalServerException // The request failed to register with the service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentOutputs -func (c *Proton) ListEnvironmentOutputs(input *ListEnvironmentOutputsInput) (*ListEnvironmentOutputsOutput, error) { - req, out := c.ListEnvironmentOutputsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentAccountConnections +func (c *Proton) ListEnvironmentAccountConnections(input *ListEnvironmentAccountConnectionsInput) (*ListEnvironmentAccountConnectionsOutput, error) { + req, out := c.ListEnvironmentAccountConnectionsRequest(input) return out, req.Send() } -// ListEnvironmentOutputsWithContext is the same as ListEnvironmentOutputs with the addition of +// ListEnvironmentAccountConnectionsWithContext is the same as ListEnvironmentAccountConnections with the addition of // the ability to pass a context and additional request options. // -// See ListEnvironmentOutputs for details on how to use this API operation. +// See ListEnvironmentAccountConnections 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 *Proton) ListEnvironmentOutputsWithContext(ctx aws.Context, input *ListEnvironmentOutputsInput, opts ...request.Option) (*ListEnvironmentOutputsOutput, error) { - req, out := c.ListEnvironmentOutputsRequest(input) +func (c *Proton) ListEnvironmentAccountConnectionsWithContext(ctx aws.Context, input *ListEnvironmentAccountConnectionsInput, opts ...request.Option) (*ListEnvironmentAccountConnectionsOutput, error) { + req, out := c.ListEnvironmentAccountConnectionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListEnvironmentOutputsPages iterates over the pages of a ListEnvironmentOutputs operation, +// ListEnvironmentAccountConnectionsPages iterates over the pages of a ListEnvironmentAccountConnections operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListEnvironmentOutputs method for more information on how to use this operation. +// See ListEnvironmentAccountConnections method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListEnvironmentOutputs operation. +// // Example iterating over at most 3 pages of a ListEnvironmentAccountConnections operation. // pageNum := 0 -// err := client.ListEnvironmentOutputsPages(params, -// func(page *proton.ListEnvironmentOutputsOutput, lastPage bool) bool { +// err := client.ListEnvironmentAccountConnectionsPages(params, +// func(page *proton.ListEnvironmentAccountConnectionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Proton) ListEnvironmentOutputsPages(input *ListEnvironmentOutputsInput, fn func(*ListEnvironmentOutputsOutput, bool) bool) error { - return c.ListEnvironmentOutputsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Proton) ListEnvironmentAccountConnectionsPages(input *ListEnvironmentAccountConnectionsInput, fn func(*ListEnvironmentAccountConnectionsOutput, bool) bool) error { + return c.ListEnvironmentAccountConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListEnvironmentOutputsPagesWithContext same as ListEnvironmentOutputsPages except +// ListEnvironmentAccountConnectionsPagesWithContext same as ListEnvironmentAccountConnectionsPages except // it takes a Context and allows setting request options on the pages. // // 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 *Proton) ListEnvironmentOutputsPagesWithContext(ctx aws.Context, input *ListEnvironmentOutputsInput, fn func(*ListEnvironmentOutputsOutput, bool) bool, opts ...request.Option) error { +func (c *Proton) ListEnvironmentAccountConnectionsPagesWithContext(ctx aws.Context, input *ListEnvironmentAccountConnectionsInput, fn func(*ListEnvironmentAccountConnectionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListEnvironmentOutputsInput + var inCpy *ListEnvironmentAccountConnectionsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListEnvironmentOutputsRequest(inCpy) + req, _ := c.ListEnvironmentAccountConnectionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5301,7 +5486,7 @@ func (c *Proton) ListEnvironmentOutputsPagesWithContext(ctx aws.Context, input * } for p.Next() { - if !fn(p.Page().(*ListEnvironmentOutputsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListEnvironmentAccountConnectionsOutput), !p.HasNextPage()) { break } } @@ -5309,7 +5494,156 @@ func (c *Proton) ListEnvironmentOutputsPagesWithContext(ctx aws.Context, input * return p.Err() } -const opListEnvironmentProvisionedResources = "ListEnvironmentProvisionedResources" +const opListEnvironmentOutputs = "ListEnvironmentOutputs" + +// ListEnvironmentOutputsRequest generates a "aws/request.Request" representing the +// client's request for the ListEnvironmentOutputs 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 ListEnvironmentOutputs for more information on using the ListEnvironmentOutputs +// 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 ListEnvironmentOutputsRequest method. +// req, resp := client.ListEnvironmentOutputsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentOutputs +func (c *Proton) ListEnvironmentOutputsRequest(input *ListEnvironmentOutputsInput) (req *request.Request, output *ListEnvironmentOutputsOutput) { + op := &request.Operation{ + Name: opListEnvironmentOutputs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEnvironmentOutputsInput{} + } + + output = &ListEnvironmentOutputsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEnvironmentOutputs API operation for AWS Proton. +// +// List the infrastructure as code outputs for your environment. +// +// 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 AWS Proton's +// API operation ListEnvironmentOutputs for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input is invalid or an out-of-range value was supplied for the input +// parameter. +// +// - AccessDeniedException +// There isn't sufficient access for performing this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ResourceNotFoundException +// The requested resource wasn't found. +// +// - InternalServerException +// The request failed to register with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentOutputs +func (c *Proton) ListEnvironmentOutputs(input *ListEnvironmentOutputsInput) (*ListEnvironmentOutputsOutput, error) { + req, out := c.ListEnvironmentOutputsRequest(input) + return out, req.Send() +} + +// ListEnvironmentOutputsWithContext is the same as ListEnvironmentOutputs with the addition of +// the ability to pass a context and additional request options. +// +// See ListEnvironmentOutputs 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 *Proton) ListEnvironmentOutputsWithContext(ctx aws.Context, input *ListEnvironmentOutputsInput, opts ...request.Option) (*ListEnvironmentOutputsOutput, error) { + req, out := c.ListEnvironmentOutputsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEnvironmentOutputsPages iterates over the pages of a ListEnvironmentOutputs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEnvironmentOutputs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEnvironmentOutputs operation. +// pageNum := 0 +// err := client.ListEnvironmentOutputsPages(params, +// func(page *proton.ListEnvironmentOutputsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Proton) ListEnvironmentOutputsPages(input *ListEnvironmentOutputsInput, fn func(*ListEnvironmentOutputsOutput, bool) bool) error { + return c.ListEnvironmentOutputsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEnvironmentOutputsPagesWithContext same as ListEnvironmentOutputsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *Proton) ListEnvironmentOutputsPagesWithContext(ctx aws.Context, input *ListEnvironmentOutputsInput, fn func(*ListEnvironmentOutputsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEnvironmentOutputsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEnvironmentOutputsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEnvironmentOutputsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEnvironmentProvisionedResources = "ListEnvironmentProvisionedResources" // ListEnvironmentProvisionedResourcesRequest generates a "aws/request.Request" representing the // client's request for the ListEnvironmentProvisionedResources operation. The "output" return @@ -10103,6 +10437,9 @@ type Component struct { // EnvironmentName is a required field EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + // The ID of the last attempted deployment of this component. + LastAttemptedDeploymentId *string `locationName:"lastAttemptedDeploymentId" type:"string"` + // The last token the client requested. LastClientRequestToken *string `locationName:"lastClientRequestToken" type:"string"` @@ -10117,6 +10454,9 @@ type Component struct { // LastModifiedAt is a required field LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"` + // The ID of the last successful deployment of this component. + LastSucceededDeploymentId *string `locationName:"lastSucceededDeploymentId" type:"string"` + // The name of the component. // // Name is a required field @@ -10193,6 +10533,12 @@ func (s *Component) SetEnvironmentName(v string) *Component { return s } +// SetLastAttemptedDeploymentId sets the LastAttemptedDeploymentId field's value. +func (s *Component) SetLastAttemptedDeploymentId(v string) *Component { + s.LastAttemptedDeploymentId = &v + return s +} + // SetLastClientRequestToken sets the LastClientRequestToken field's value. func (s *Component) SetLastClientRequestToken(v string) *Component { s.LastClientRequestToken = &v @@ -10217,6 +10563,12 @@ func (s *Component) SetLastModifiedAt(v time.Time) *Component { return s } +// SetLastSucceededDeploymentId sets the LastSucceededDeploymentId field's value. +func (s *Component) SetLastSucceededDeploymentId(v string) *Component { + s.LastSucceededDeploymentId = &v + return s +} + // SetName sets the Name field's value. func (s *Component) SetName(v string) *Component { s.Name = &v @@ -10241,6 +10593,76 @@ func (s *Component) SetServiceSpec(v string) *Component { return s } +// The detailed data about the current state of the component. +type ComponentState struct { + _ struct{} `type:"structure"` + + // The name of the service instance that this component is attached to. Provided + // when a component is attached to a service instance. + ServiceInstanceName *string `locationName:"serviceInstanceName" type:"string"` + + // The name of the service that serviceInstanceName is associated with. Provided + // when a component is attached to a service instance. + ServiceName *string `locationName:"serviceName" type:"string"` + + // The service spec that the component uses to access service inputs. Provided + // when a component is attached to a service instance. + // + // ServiceSpec is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ComponentState's + // String and GoString methods. + ServiceSpec *string `locationName:"serviceSpec" min:"1" type:"string" sensitive:"true"` + + // The template file used. + // + // TemplateFile is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ComponentState's + // String and GoString methods. + TemplateFile *string `locationName:"templateFile" min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ComponentState) GoString() string { + return s.String() +} + +// SetServiceInstanceName sets the ServiceInstanceName field's value. +func (s *ComponentState) SetServiceInstanceName(v string) *ComponentState { + s.ServiceInstanceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *ComponentState) SetServiceName(v string) *ComponentState { + s.ServiceName = &v + return s +} + +// SetServiceSpec sets the ServiceSpec field's value. +func (s *ComponentState) SetServiceSpec(v string) *ComponentState { + s.ServiceSpec = &v + return s +} + +// SetTemplateFile sets the TemplateFile field's value. +func (s *ComponentState) SetTemplateFile(v string) *ComponentState { + s.TemplateFile = &v + return s +} + // Summary data of an Proton component resource. // // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) @@ -10275,6 +10697,9 @@ type ComponentSummary struct { // EnvironmentName is a required field EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + // The ID of the last attempted deployment of this component. + LastAttemptedDeploymentId *string `locationName:"lastAttemptedDeploymentId" type:"string"` + // The time when a deployment of the component was last attempted. LastDeploymentAttemptedAt *time.Time `locationName:"lastDeploymentAttemptedAt" type:"timestamp"` @@ -10286,6 +10711,9 @@ type ComponentSummary struct { // LastModifiedAt is a required field LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"` + // The ID of the last successful deployment of this component. + LastSucceededDeploymentId *string `locationName:"lastSucceededDeploymentId" type:"string"` + // The name of the component. // // Name is a required field @@ -10348,6 +10776,12 @@ func (s *ComponentSummary) SetEnvironmentName(v string) *ComponentSummary { return s } +// SetLastAttemptedDeploymentId sets the LastAttemptedDeploymentId field's value. +func (s *ComponentSummary) SetLastAttemptedDeploymentId(v string) *ComponentSummary { + s.LastAttemptedDeploymentId = &v + return s +} + // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value. func (s *ComponentSummary) SetLastDeploymentAttemptedAt(v time.Time) *ComponentSummary { s.LastDeploymentAttemptedAt = &v @@ -10366,6 +10800,12 @@ func (s *ComponentSummary) SetLastModifiedAt(v time.Time) *ComponentSummary { return s } +// SetLastSucceededDeploymentId sets the LastSucceededDeploymentId field's value. +func (s *ComponentSummary) SetLastSucceededDeploymentId(v string) *ComponentSummary { + s.LastSucceededDeploymentId = &v + return s +} + // SetName sets the Name field's value. func (s *ComponentSummary) SetName(v string) *ComponentSummary { s.Name = &v @@ -12867,10 +13307,10 @@ func (s *DeleteComponentOutput) SetComponent(v *Component) *DeleteComponentOutpu return s } -type DeleteEnvironmentAccountConnectionInput struct { +type DeleteDeploymentInput struct { _ struct{} `type:"structure"` - // The ID of the environment account connection to delete. + // The ID of the deployment to delete. // // Id is a required field Id *string `locationName:"id" type:"string" required:"true"` @@ -12881,7 +13321,7 @@ type DeleteEnvironmentAccountConnectionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEnvironmentAccountConnectionInput) String() string { +func (s DeleteDeploymentInput) String() string { return awsutil.Prettify(s) } @@ -12890,13 +13330,13 @@ func (s DeleteEnvironmentAccountConnectionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEnvironmentAccountConnectionInput) GoString() string { +func (s DeleteDeploymentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteEnvironmentAccountConnectionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentAccountConnectionInput"} +func (s *DeleteDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -12908,16 +13348,16 @@ func (s *DeleteEnvironmentAccountConnectionInput) Validate() error { } // SetId sets the Id field's value. -func (s *DeleteEnvironmentAccountConnectionInput) SetId(v string) *DeleteEnvironmentAccountConnectionInput { +func (s *DeleteDeploymentInput) SetId(v string) *DeleteDeploymentInput { s.Id = &v return s } -type DeleteEnvironmentAccountConnectionOutput struct { +type DeleteDeploymentOutput struct { _ struct{} `type:"structure"` - // The detailed data of the environment account connection being deleted. - EnvironmentAccountConnection *EnvironmentAccountConnection `locationName:"environmentAccountConnection" type:"structure"` + // The detailed data of the deployment being deleted. + Deployment *Deployment `locationName:"deployment" type:"structure"` } // String returns the string representation. @@ -12925,7 +13365,7 @@ type DeleteEnvironmentAccountConnectionOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEnvironmentAccountConnectionOutput) String() string { +func (s DeleteDeploymentOutput) String() string { return awsutil.Prettify(s) } @@ -12934,23 +13374,23 @@ func (s DeleteEnvironmentAccountConnectionOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEnvironmentAccountConnectionOutput) GoString() string { +func (s DeleteDeploymentOutput) GoString() string { return s.String() } -// SetEnvironmentAccountConnection sets the EnvironmentAccountConnection field's value. -func (s *DeleteEnvironmentAccountConnectionOutput) SetEnvironmentAccountConnection(v *EnvironmentAccountConnection) *DeleteEnvironmentAccountConnectionOutput { - s.EnvironmentAccountConnection = v +// SetDeployment sets the Deployment field's value. +func (s *DeleteDeploymentOutput) SetDeployment(v *Deployment) *DeleteDeploymentOutput { + s.Deployment = v return s } -type DeleteEnvironmentInput struct { +type DeleteEnvironmentAccountConnectionInput struct { _ struct{} `type:"structure"` - // The name of the environment to delete. + // The ID of the environment account connection to delete. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` } // String returns the string representation. @@ -12958,7 +13398,7 @@ type DeleteEnvironmentInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEnvironmentInput) String() string { +func (s DeleteEnvironmentAccountConnectionInput) String() string { return awsutil.Prettify(s) } @@ -12967,15 +13407,92 @@ func (s DeleteEnvironmentInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteEnvironmentInput) GoString() string { +func (s DeleteEnvironmentAccountConnectionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteEnvironmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *DeleteEnvironmentAccountConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentAccountConnectionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteEnvironmentAccountConnectionInput) SetId(v string) *DeleteEnvironmentAccountConnectionInput { + s.Id = &v + return s +} + +type DeleteEnvironmentAccountConnectionOutput struct { + _ struct{} `type:"structure"` + + // The detailed data of the environment account connection being deleted. + EnvironmentAccountConnection *EnvironmentAccountConnection `locationName:"environmentAccountConnection" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEnvironmentAccountConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEnvironmentAccountConnectionOutput) GoString() string { + return s.String() +} + +// SetEnvironmentAccountConnection sets the EnvironmentAccountConnection field's value. +func (s *DeleteEnvironmentAccountConnectionOutput) SetEnvironmentAccountConnection(v *EnvironmentAccountConnection) *DeleteEnvironmentAccountConnectionOutput { + s.EnvironmentAccountConnection = v + return s +} + +type DeleteEnvironmentInput struct { + _ struct{} `type:"structure"` + + // The name of the environment to delete. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEnvironmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) @@ -13761,6 +14278,450 @@ func (s *DeleteTemplateSyncConfigOutput) SetTemplateSyncConfig(v *TemplateSyncCo return s } +// The detailed information about a deployment. +type Deployment struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the deployment. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The date and time the deployment was completed. + CompletedAt *time.Time `locationName:"completedAt" type:"timestamp"` + + // The name of the component associated with this deployment. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The date and time the deployment was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // The status of the deployment. + // + // DeploymentStatus is a required field + DeploymentStatus *string `locationName:"deploymentStatus" type:"string" required:"true" enum:"DeploymentStatus"` + + // The deployment status message. + // + // DeploymentStatusMessage is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Deployment's + // String and GoString methods. + DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string" sensitive:"true"` + + // The name of the environment associated with this deployment. + // + // EnvironmentName is a required field + EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + + // The ID of the deployment. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The initial state of the target resource at the time of the deployment. + InitialState *DeploymentState `locationName:"initialState" type:"structure"` + + // The ID of the last attempted deployment. + LastAttemptedDeploymentId *string `locationName:"lastAttemptedDeploymentId" type:"string"` + + // The date and time the deployment was last modified. + // + // LastModifiedAt is a required field + LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"` + + // The ID of the last successful deployment. + LastSucceededDeploymentId *string `locationName:"lastSucceededDeploymentId" type:"string"` + + // The name of the deployment's service instance. + ServiceInstanceName *string `locationName:"serviceInstanceName" min:"1" type:"string"` + + // The name of the service in this deployment. + ServiceName *string `locationName:"serviceName" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the target of the deployment. + // + // TargetArn is a required field + TargetArn *string `locationName:"targetArn" min:"1" type:"string" required:"true"` + + // The date and time the depoyment target was created. + // + // TargetResourceCreatedAt is a required field + TargetResourceCreatedAt *time.Time `locationName:"targetResourceCreatedAt" type:"timestamp" required:"true"` + + // The resource type of the deployment target. It can be an environment, service, + // service instance, or component. + // + // TargetResourceType is a required field + TargetResourceType *string `locationName:"targetResourceType" type:"string" required:"true" enum:"DeploymentTargetResourceType"` + + // The target state of the target resource at the time of the deployment. + TargetState *DeploymentState `locationName:"targetState" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Deployment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Deployment) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Deployment) SetArn(v string) *Deployment { + s.Arn = &v + return s +} + +// SetCompletedAt sets the CompletedAt field's value. +func (s *Deployment) SetCompletedAt(v time.Time) *Deployment { + s.CompletedAt = &v + return s +} + +// SetComponentName sets the ComponentName field's value. +func (s *Deployment) SetComponentName(v string) *Deployment { + s.ComponentName = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { + s.CreatedAt = &v + return s +} + +// SetDeploymentStatus sets the DeploymentStatus field's value. +func (s *Deployment) SetDeploymentStatus(v string) *Deployment { + s.DeploymentStatus = &v + return s +} + +// SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value. +func (s *Deployment) SetDeploymentStatusMessage(v string) *Deployment { + s.DeploymentStatusMessage = &v + return s +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *Deployment) SetEnvironmentName(v string) *Deployment { + s.EnvironmentName = &v + return s +} + +// SetId sets the Id field's value. +func (s *Deployment) SetId(v string) *Deployment { + s.Id = &v + return s +} + +// SetInitialState sets the InitialState field's value. +func (s *Deployment) SetInitialState(v *DeploymentState) *Deployment { + s.InitialState = v + return s +} + +// SetLastAttemptedDeploymentId sets the LastAttemptedDeploymentId field's value. +func (s *Deployment) SetLastAttemptedDeploymentId(v string) *Deployment { + s.LastAttemptedDeploymentId = &v + return s +} + +// SetLastModifiedAt sets the LastModifiedAt field's value. +func (s *Deployment) SetLastModifiedAt(v time.Time) *Deployment { + s.LastModifiedAt = &v + return s +} + +// SetLastSucceededDeploymentId sets the LastSucceededDeploymentId field's value. +func (s *Deployment) SetLastSucceededDeploymentId(v string) *Deployment { + s.LastSucceededDeploymentId = &v + return s +} + +// SetServiceInstanceName sets the ServiceInstanceName field's value. +func (s *Deployment) SetServiceInstanceName(v string) *Deployment { + s.ServiceInstanceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *Deployment) SetServiceName(v string) *Deployment { + s.ServiceName = &v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *Deployment) SetTargetArn(v string) *Deployment { + s.TargetArn = &v + return s +} + +// SetTargetResourceCreatedAt sets the TargetResourceCreatedAt field's value. +func (s *Deployment) SetTargetResourceCreatedAt(v time.Time) *Deployment { + s.TargetResourceCreatedAt = &v + return s +} + +// SetTargetResourceType sets the TargetResourceType field's value. +func (s *Deployment) SetTargetResourceType(v string) *Deployment { + s.TargetResourceType = &v + return s +} + +// SetTargetState sets the TargetState field's value. +func (s *Deployment) SetTargetState(v *DeploymentState) *Deployment { + s.TargetState = v + return s +} + +// The detailed data about the current state of the deployment. +type DeploymentState struct { + _ struct{} `type:"structure"` + + // The state of the component associated with the deployment. + Component *ComponentState `locationName:"component" type:"structure"` + + // The state of the environment associated with the deployment. + Environment *EnvironmentState `locationName:"environment" type:"structure"` + + // The state of the service instance associated with the deployment. + ServiceInstance *ServiceInstanceState `locationName:"serviceInstance" type:"structure"` + + // The state of the service pipeline associated with the deployment. + ServicePipeline *ServicePipelineState `locationName:"servicePipeline" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeploymentState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeploymentState) GoString() string { + return s.String() +} + +// SetComponent sets the Component field's value. +func (s *DeploymentState) SetComponent(v *ComponentState) *DeploymentState { + s.Component = v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *DeploymentState) SetEnvironment(v *EnvironmentState) *DeploymentState { + s.Environment = v + return s +} + +// SetServiceInstance sets the ServiceInstance field's value. +func (s *DeploymentState) SetServiceInstance(v *ServiceInstanceState) *DeploymentState { + s.ServiceInstance = v + return s +} + +// SetServicePipeline sets the ServicePipeline field's value. +func (s *DeploymentState) SetServicePipeline(v *ServicePipelineState) *DeploymentState { + s.ServicePipeline = v + return s +} + +// Summary data of the deployment. +type DeploymentSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the deployment. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The date and time the deployment was completed. + CompletedAt *time.Time `locationName:"completedAt" type:"timestamp"` + + // The name of the component associated with the deployment. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The date and time the deployment was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // The current status of the deployment. + // + // DeploymentStatus is a required field + DeploymentStatus *string `locationName:"deploymentStatus" type:"string" required:"true" enum:"DeploymentStatus"` + + // The name of the environment associated with the deployment. + // + // EnvironmentName is a required field + EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + + // The ID of the deployment. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The ID of the last attempted deployment. + LastAttemptedDeploymentId *string `locationName:"lastAttemptedDeploymentId" type:"string"` + + // The date and time the deployment was last modified. + // + // LastModifiedAt is a required field + LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"` + + // The ID of the last successful deployment. + LastSucceededDeploymentId *string `locationName:"lastSucceededDeploymentId" type:"string"` + + // The name of the service instance associated with the deployment. + ServiceInstanceName *string `locationName:"serviceInstanceName" min:"1" type:"string"` + + // The name of the service associated with the deployment. + ServiceName *string `locationName:"serviceName" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the target of the deployment. + // + // TargetArn is a required field + TargetArn *string `locationName:"targetArn" min:"1" type:"string" required:"true"` + + // The date and time the target resource was created. + // + // TargetResourceCreatedAt is a required field + TargetResourceCreatedAt *time.Time `locationName:"targetResourceCreatedAt" type:"timestamp" required:"true"` + + // The resource type of the deployment target. It can be an environment, service, + // service instance, or component. + // + // TargetResourceType is a required field + TargetResourceType *string `locationName:"targetResourceType" type:"string" required:"true" enum:"DeploymentTargetResourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeploymentSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeploymentSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DeploymentSummary) SetArn(v string) *DeploymentSummary { + s.Arn = &v + return s +} + +// SetCompletedAt sets the CompletedAt field's value. +func (s *DeploymentSummary) SetCompletedAt(v time.Time) *DeploymentSummary { + s.CompletedAt = &v + return s +} + +// SetComponentName sets the ComponentName field's value. +func (s *DeploymentSummary) SetComponentName(v string) *DeploymentSummary { + s.ComponentName = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *DeploymentSummary) SetCreatedAt(v time.Time) *DeploymentSummary { + s.CreatedAt = &v + return s +} + +// SetDeploymentStatus sets the DeploymentStatus field's value. +func (s *DeploymentSummary) SetDeploymentStatus(v string) *DeploymentSummary { + s.DeploymentStatus = &v + return s +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *DeploymentSummary) SetEnvironmentName(v string) *DeploymentSummary { + s.EnvironmentName = &v + return s +} + +// SetId sets the Id field's value. +func (s *DeploymentSummary) SetId(v string) *DeploymentSummary { + s.Id = &v + return s +} + +// SetLastAttemptedDeploymentId sets the LastAttemptedDeploymentId field's value. +func (s *DeploymentSummary) SetLastAttemptedDeploymentId(v string) *DeploymentSummary { + s.LastAttemptedDeploymentId = &v + return s +} + +// SetLastModifiedAt sets the LastModifiedAt field's value. +func (s *DeploymentSummary) SetLastModifiedAt(v time.Time) *DeploymentSummary { + s.LastModifiedAt = &v + return s +} + +// SetLastSucceededDeploymentId sets the LastSucceededDeploymentId field's value. +func (s *DeploymentSummary) SetLastSucceededDeploymentId(v string) *DeploymentSummary { + s.LastSucceededDeploymentId = &v + return s +} + +// SetServiceInstanceName sets the ServiceInstanceName field's value. +func (s *DeploymentSummary) SetServiceInstanceName(v string) *DeploymentSummary { + s.ServiceInstanceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *DeploymentSummary) SetServiceName(v string) *DeploymentSummary { + s.ServiceName = &v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *DeploymentSummary) SetTargetArn(v string) *DeploymentSummary { + s.TargetArn = &v + return s +} + +// SetTargetResourceCreatedAt sets the TargetResourceCreatedAt field's value. +func (s *DeploymentSummary) SetTargetResourceCreatedAt(v time.Time) *DeploymentSummary { + s.TargetResourceCreatedAt = &v + return s +} + +// SetTargetResourceType sets the TargetResourceType field's value. +func (s *DeploymentSummary) SetTargetResourceType(v string) *DeploymentSummary { + s.TargetResourceType = &v + return s +} + // Detailed data of an Proton environment resource. An Proton environment is // a set of resources shared across Proton services. type Environment struct { @@ -13818,6 +14779,9 @@ type Environment struct { // are provisioned in. EnvironmentAccountId *string `locationName:"environmentAccountId" type:"string"` + // The ID of the last attempted deployment of this environment. + LastAttemptedDeploymentId *string `locationName:"lastAttemptedDeploymentId" type:"string"` + // The time when a deployment of the environment was last attempted. // // LastDeploymentAttemptedAt is a required field @@ -13828,6 +14792,9 @@ type Environment struct { // LastDeploymentSucceededAt is a required field LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"` + // The ID of the last successful deployment of this environment. + LastSucceededDeploymentId *string `locationName:"lastSucceededDeploymentId" type:"string"` + // The name of the environment. // // Name is a required field @@ -13941,6 +14908,12 @@ func (s *Environment) SetEnvironmentAccountId(v string) *Environment { return s } +// SetLastAttemptedDeploymentId sets the LastAttemptedDeploymentId field's value. +func (s *Environment) SetLastAttemptedDeploymentId(v string) *Environment { + s.LastAttemptedDeploymentId = &v + return s +} + // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value. func (s *Environment) SetLastDeploymentAttemptedAt(v time.Time) *Environment { s.LastDeploymentAttemptedAt = &v @@ -13953,6 +14926,12 @@ func (s *Environment) SetLastDeploymentSucceededAt(v time.Time) *Environment { return s } +// SetLastSucceededDeploymentId sets the LastSucceededDeploymentId field's value. +func (s *Environment) SetLastSucceededDeploymentId(v string) *Environment { + s.LastSucceededDeploymentId = &v + return s +} + // SetName sets the Name field's value. func (s *Environment) SetName(v string) *Environment { s.Name = &v @@ -14299,6 +15278,77 @@ func (s *EnvironmentAccountConnectionSummary) SetStatus(v string) *EnvironmentAc return s } +// The detailed data about the current state of the environment. +type EnvironmentState struct { + _ struct{} `type:"structure"` + + // The environment spec that was used to create the environment. + // + // Spec is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by EnvironmentState's + // String and GoString methods. + Spec *string `locationName:"spec" min:"1" type:"string" sensitive:"true"` + + // The major version of the environment template that was used to create the + // environment. + // + // TemplateMajorVersion is a required field + TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"` + + // The minor version of the environment template that was used to create the + // environment. + // + // TemplateMinorVersion is a required field + TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string" required:"true"` + + // The name of the environment template that was used to create the environment. + // + // TemplateName is a required field + TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnvironmentState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnvironmentState) GoString() string { + return s.String() +} + +// SetSpec sets the Spec field's value. +func (s *EnvironmentState) SetSpec(v string) *EnvironmentState { + s.Spec = &v + return s +} + +// SetTemplateMajorVersion sets the TemplateMajorVersion field's value. +func (s *EnvironmentState) SetTemplateMajorVersion(v string) *EnvironmentState { + s.TemplateMajorVersion = &v + return s +} + +// SetTemplateMinorVersion sets the TemplateMinorVersion field's value. +func (s *EnvironmentState) SetTemplateMinorVersion(v string) *EnvironmentState { + s.TemplateMinorVersion = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *EnvironmentState) SetTemplateName(v string) *EnvironmentState { + s.TemplateName = &v + return s +} + // Summary data of an Proton environment resource. An Proton environment is // a set of resources shared across Proton services. type EnvironmentSummary struct { @@ -14352,6 +15402,9 @@ type EnvironmentSummary struct { // are provisioned in. EnvironmentAccountId *string `locationName:"environmentAccountId" type:"string"` + // The ID of the last attempted deployment of this environment. + LastAttemptedDeploymentId *string `locationName:"lastAttemptedDeploymentId" type:"string"` + // The time when a deployment of the environment was last attempted. // // LastDeploymentAttemptedAt is a required field @@ -14362,6 +15415,9 @@ type EnvironmentSummary struct { // LastDeploymentSucceededAt is a required field LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"` + // The ID of the last successful deployment of this environment. + LastSucceededDeploymentId *string `locationName:"lastSucceededDeploymentId" type:"string"` + // The name of the environment. // // Name is a required field @@ -14457,6 +15513,12 @@ func (s *EnvironmentSummary) SetEnvironmentAccountId(v string) *EnvironmentSumma return s } +// SetLastAttemptedDeploymentId sets the LastAttemptedDeploymentId field's value. +func (s *EnvironmentSummary) SetLastAttemptedDeploymentId(v string) *EnvironmentSummary { + s.LastAttemptedDeploymentId = &v + return s +} + // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value. func (s *EnvironmentSummary) SetLastDeploymentAttemptedAt(v time.Time) *EnvironmentSummary { s.LastDeploymentAttemptedAt = &v @@ -14469,6 +15531,12 @@ func (s *EnvironmentSummary) SetLastDeploymentSucceededAt(v time.Time) *Environm return s } +// SetLastSucceededDeploymentId sets the LastSucceededDeploymentId field's value. +func (s *EnvironmentSummary) SetLastSucceededDeploymentId(v string) *EnvironmentSummary { + s.LastSucceededDeploymentId = &v + return s +} + // SetName sets the Name field's value. func (s *EnvironmentSummary) SetName(v string) *EnvironmentSummary { s.Name = &v @@ -15223,6 +16291,132 @@ func (s *GetComponentOutput) SetComponent(v *Component) *GetComponentOutput { return s } +type GetDeploymentInput struct { + _ struct{} `type:"structure"` + + // The name of a component that you want to get the detailed data for. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The name of a environment that you want to get the detailed data for. + EnvironmentName *string `locationName:"environmentName" min:"1" type:"string"` + + // The ID of the deployment that you want to get the detailed data for. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` + + // The name of the service instance associated with the given deployment ID. + // serviceName must be specified to identify the service instance. + ServiceInstanceName *string `locationName:"serviceInstanceName" min:"1" type:"string"` + + // The name of the service associated with the given deployment ID. + ServiceName *string `locationName:"serviceName" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDeploymentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDeploymentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDeploymentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1)) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.ServiceInstanceName != nil && len(*s.ServiceInstanceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceInstanceName", 1)) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentName sets the ComponentName field's value. +func (s *GetDeploymentInput) SetComponentName(v string) *GetDeploymentInput { + s.ComponentName = &v + return s +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *GetDeploymentInput) SetEnvironmentName(v string) *GetDeploymentInput { + s.EnvironmentName = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetDeploymentInput) SetId(v string) *GetDeploymentInput { + s.Id = &v + return s +} + +// SetServiceInstanceName sets the ServiceInstanceName field's value. +func (s *GetDeploymentInput) SetServiceInstanceName(v string) *GetDeploymentInput { + s.ServiceInstanceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *GetDeploymentInput) SetServiceName(v string) *GetDeploymentInput { + s.ServiceName = &v + return s +} + +type GetDeploymentOutput struct { + _ struct{} `type:"structure"` + + // The detailed data of the requested deployment. + Deployment *Deployment `locationName:"deployment" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDeploymentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDeploymentOutput) GoString() string { + return s.String() +} + +// SetDeployment sets the Deployment field's value. +func (s *GetDeploymentOutput) SetDeployment(v *Deployment) *GetDeploymentOutput { + s.Deployment = v + return s +} + type GetEnvironmentAccountConnectionInput struct { _ struct{} `type:"structure"` @@ -16828,6 +18022,9 @@ type ListComponentOutputsInput struct { // ComponentName is a required field ComponentName *string `locationName:"componentName" min:"1" type:"string" required:"true"` + // The ID of the deployment whose outputs you want. + DeploymentId *string `locationName:"deploymentId" type:"string"` + // A token that indicates the location of the next output in the array of outputs, // after the list of outputs that was previously requested. NextToken *string `locationName:"nextToken" type:"string"` @@ -16873,6 +18070,12 @@ func (s *ListComponentOutputsInput) SetComponentName(v string) *ListComponentOut return s } +// SetDeploymentId sets the DeploymentId field's value. +func (s *ListComponentOutputsInput) SetDeploymentId(v string) *ListComponentOutputsInput { + s.DeploymentId = &v + return s +} + // SetNextToken sets the NextToken field's value. func (s *ListComponentOutputsInput) SetNextToken(v string) *ListComponentOutputsInput { s.NextToken = &v @@ -16989,11 +18192,148 @@ type ListComponentProvisionedResourcesOutput struct { // array of provisioned resources, after the current requested list of provisioned // resources. NextToken *string `locationName:"nextToken" type:"string"` - - // An array of provisioned resources for a component. - // - // ProvisionedResources is a required field - ProvisionedResources []*ProvisionedResource `locationName:"provisionedResources" type:"list" required:"true"` + + // An array of provisioned resources for a component. + // + // ProvisionedResources is a required field + ProvisionedResources []*ProvisionedResource `locationName:"provisionedResources" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListComponentProvisionedResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListComponentProvisionedResourcesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentProvisionedResourcesOutput) SetNextToken(v string) *ListComponentProvisionedResourcesOutput { + s.NextToken = &v + return s +} + +// SetProvisionedResources sets the ProvisionedResources field's value. +func (s *ListComponentProvisionedResourcesOutput) SetProvisionedResources(v []*ProvisionedResource) *ListComponentProvisionedResourcesOutput { + s.ProvisionedResources = v + return s +} + +type ListComponentsInput struct { + _ struct{} `type:"structure"` + + // The name of an environment for result list filtering. Proton returns components + // associated with the environment or attached to service instances running + // in it. + EnvironmentName *string `locationName:"environmentName" min:"1" type:"string"` + + // The maximum number of components to list. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token that indicates the location of the next component in the array of + // components, after the list of components that was previously requested. + NextToken *string `locationName:"nextToken" type:"string"` + + // The name of a service instance for result list filtering. Proton returns + // the component attached to the service instance, if any. + ServiceInstanceName *string `locationName:"serviceInstanceName" min:"1" type:"string"` + + // The name of a service for result list filtering. Proton returns components + // attached to service instances of the service. + ServiceName *string `locationName:"serviceName" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListComponentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListComponentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComponentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"} + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ServiceInstanceName != nil && len(*s.ServiceInstanceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceInstanceName", 1)) + } + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *ListComponentsInput) SetEnvironmentName(v string) *ListComponentsInput { + s.EnvironmentName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput { + s.NextToken = &v + return s +} + +// SetServiceInstanceName sets the ServiceInstanceName field's value. +func (s *ListComponentsInput) SetServiceInstanceName(v string) *ListComponentsInput { + s.ServiceInstanceName = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *ListComponentsInput) SetServiceName(v string) *ListComponentsInput { + s.ServiceName = &v + return s +} + +type ListComponentsOutput struct { + _ struct{} `type:"structure"` + + // An array of components with summary data. + // + // Components is a required field + Components []*ComponentSummary `locationName:"components" type:"list" required:"true"` + + // A token that indicates the location of the next component in the array of + // components, after the current requested list of components. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -17001,7 +18341,7 @@ type ListComponentProvisionedResourcesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentProvisionedResourcesOutput) String() string { +func (s ListComponentsOutput) String() string { return awsutil.Prettify(s) } @@ -17010,43 +18350,46 @@ func (s ListComponentProvisionedResourcesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentProvisionedResourcesOutput) GoString() string { +func (s ListComponentsOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListComponentProvisionedResourcesOutput) SetNextToken(v string) *ListComponentProvisionedResourcesOutput { - s.NextToken = &v +// SetComponents sets the Components field's value. +func (s *ListComponentsOutput) SetComponents(v []*ComponentSummary) *ListComponentsOutput { + s.Components = v return s } -// SetProvisionedResources sets the ProvisionedResources field's value. -func (s *ListComponentProvisionedResourcesOutput) SetProvisionedResources(v []*ProvisionedResource) *ListComponentProvisionedResourcesOutput { - s.ProvisionedResources = v +// SetNextToken sets the NextToken field's value. +func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { + s.NextToken = &v return s } -type ListComponentsInput struct { +type ListDeploymentsInput struct { _ struct{} `type:"structure"` - // The name of an environment for result list filtering. Proton returns components - // associated with the environment or attached to service instances running - // in it. + // The name of a component for result list filtering. Proton returns deployments + // associated with that component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The name of an environment for result list filtering. Proton returns deployments + // associated with the environment. EnvironmentName *string `locationName:"environmentName" min:"1" type:"string"` - // The maximum number of components to list. + // The maximum number of deployments to list. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // A token that indicates the location of the next component in the array of - // components, after the list of components that was previously requested. + // A token that indicates the location of the next deployment in the array of + // deployment, after the list of deployment that was previously requested. NextToken *string `locationName:"nextToken" type:"string"` // The name of a service instance for result list filtering. Proton returns - // the component attached to the service instance, if any. + // the deployments associated with the service instance. ServiceInstanceName *string `locationName:"serviceInstanceName" min:"1" type:"string"` - // The name of a service for result list filtering. Proton returns components - // attached to service instances of the service. + // The name of a service for result list filtering. Proton returns deployments + // associated with service instances of the service. ServiceName *string `locationName:"serviceName" min:"1" type:"string"` } @@ -17055,7 +18398,7 @@ type ListComponentsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentsInput) String() string { +func (s ListDeploymentsInput) String() string { return awsutil.Prettify(s) } @@ -17064,13 +18407,16 @@ func (s ListComponentsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentsInput) GoString() string { +func (s ListDeploymentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListComponentsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"} +func (s *ListDeploymentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 { invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1)) } @@ -17090,46 +18436,52 @@ func (s *ListComponentsInput) Validate() error { return nil } +// SetComponentName sets the ComponentName field's value. +func (s *ListDeploymentsInput) SetComponentName(v string) *ListDeploymentsInput { + s.ComponentName = &v + return s +} + // SetEnvironmentName sets the EnvironmentName field's value. -func (s *ListComponentsInput) SetEnvironmentName(v string) *ListComponentsInput { +func (s *ListDeploymentsInput) SetEnvironmentName(v string) *ListDeploymentsInput { s.EnvironmentName = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput { +func (s *ListDeploymentsInput) SetMaxResults(v int64) *ListDeploymentsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput { +func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput { s.NextToken = &v return s } // SetServiceInstanceName sets the ServiceInstanceName field's value. -func (s *ListComponentsInput) SetServiceInstanceName(v string) *ListComponentsInput { +func (s *ListDeploymentsInput) SetServiceInstanceName(v string) *ListDeploymentsInput { s.ServiceInstanceName = &v return s } // SetServiceName sets the ServiceName field's value. -func (s *ListComponentsInput) SetServiceName(v string) *ListComponentsInput { +func (s *ListDeploymentsInput) SetServiceName(v string) *ListDeploymentsInput { s.ServiceName = &v return s } -type ListComponentsOutput struct { +type ListDeploymentsOutput struct { _ struct{} `type:"structure"` - // An array of components with summary data. + // An array of deployment with summary data. // - // Components is a required field - Components []*ComponentSummary `locationName:"components" type:"list" required:"true"` + // Deployments is a required field + Deployments []*DeploymentSummary `locationName:"deployments" type:"list" required:"true"` - // A token that indicates the location of the next component in the array of - // components, after the current requested list of components. + // A token that indicates the location of the next deployment in the array of + // deployment, after the current requested list of deployment. NextToken *string `locationName:"nextToken" type:"string"` } @@ -17138,7 +18490,7 @@ type ListComponentsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentsOutput) String() string { +func (s ListDeploymentsOutput) String() string { return awsutil.Prettify(s) } @@ -17147,18 +18499,18 @@ func (s ListComponentsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListComponentsOutput) GoString() string { +func (s ListDeploymentsOutput) GoString() string { return s.String() } -// SetComponents sets the Components field's value. -func (s *ListComponentsOutput) SetComponents(v []*ComponentSummary) *ListComponentsOutput { - s.Components = v +// SetDeployments sets the Deployments field's value. +func (s *ListDeploymentsOutput) SetDeployments(v []*DeploymentSummary) *ListDeploymentsOutput { + s.Deployments = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { +func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput { s.NextToken = &v return s } @@ -17302,6 +18654,9 @@ func (s *ListEnvironmentAccountConnectionsOutput) SetNextToken(v string) *ListEn type ListEnvironmentOutputsInput struct { _ struct{} `type:"structure"` + // The ID of the deployment whose outputs you want. + DeploymentId *string `locationName:"deploymentId" type:"string"` + // The environment name. // // EnvironmentName is a required field @@ -17347,6 +18702,12 @@ func (s *ListEnvironmentOutputsInput) Validate() error { return nil } +// SetDeploymentId sets the DeploymentId field's value. +func (s *ListEnvironmentOutputsInput) SetDeploymentId(v string) *ListEnvironmentOutputsInput { + s.DeploymentId = &v + return s +} + // SetEnvironmentName sets the EnvironmentName field's value. func (s *ListEnvironmentOutputsInput) SetEnvironmentName(v string) *ListEnvironmentOutputsInput { s.EnvironmentName = &v @@ -18087,6 +19448,9 @@ func (s *ListRepositorySyncDefinitionsOutput) SetSyncDefinitions(v []*Repository type ListServiceInstanceOutputsInput struct { _ struct{} `type:"structure"` + // The ID of the deployment whose outputs you want. + DeploymentId *string `locationName:"deploymentId" type:"string"` + // A token that indicates the location of the next output in the array of outputs, // after the list of outputs that was previously requested. NextToken *string `locationName:"nextToken" type:"string"` @@ -18142,6 +19506,12 @@ func (s *ListServiceInstanceOutputsInput) Validate() error { return nil } +// SetDeploymentId sets the DeploymentId field's value. +func (s *ListServiceInstanceOutputsInput) SetDeploymentId(v string) *ListServiceInstanceOutputsInput { + s.DeploymentId = &v + return s +} + // SetNextToken sets the NextToken field's value. func (s *ListServiceInstanceOutputsInput) SetNextToken(v string) *ListServiceInstanceOutputsInput { s.NextToken = &v @@ -18517,6 +19887,9 @@ func (s *ListServiceInstancesOutput) SetServiceInstances(v []*ServiceInstanceSum type ListServicePipelineOutputsInput struct { _ struct{} `type:"structure"` + // The ID of the deployment you want the outputs for. + DeploymentId *string `locationName:"deploymentId" type:"string"` + // A token that indicates the location of the next output in the array of outputs, // after the list of outputs that was previously requested. NextToken *string `locationName:"nextToken" type:"string"` @@ -18561,6 +19934,12 @@ func (s *ListServicePipelineOutputsInput) Validate() error { return nil } +// SetDeploymentId sets the DeploymentId field's value. +func (s *ListServicePipelineOutputsInput) SetDeploymentId(v string) *ListServicePipelineOutputsInput { + s.DeploymentId = &v + return s +} + // SetNextToken sets the NextToken field's value. func (s *ListServicePipelineOutputsInput) SetNextToken(v string) *ListServicePipelineOutputsInput { s.NextToken = &v @@ -20595,6 +21974,9 @@ type ServiceInstance struct { // EnvironmentName is a required field EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + // The ID of the last attempted deployment of this service instance. + LastAttemptedDeploymentId *string `locationName:"lastAttemptedDeploymentId" type:"string"` + // The last client request token received. LastClientRequestToken *string `locationName:"lastClientRequestToken" type:"string"` @@ -20608,6 +21990,9 @@ type ServiceInstance struct { // LastDeploymentSucceededAt is a required field LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"` + // The ID of the last successful deployment of this service instance. + LastSucceededDeploymentId *string `locationName:"lastSucceededDeploymentId" type:"string"` + // The name of the service instance. // // Name is a required field @@ -20691,6 +22076,12 @@ func (s *ServiceInstance) SetEnvironmentName(v string) *ServiceInstance { return s } +// SetLastAttemptedDeploymentId sets the LastAttemptedDeploymentId field's value. +func (s *ServiceInstance) SetLastAttemptedDeploymentId(v string) *ServiceInstance { + s.LastAttemptedDeploymentId = &v + return s +} + // SetLastClientRequestToken sets the LastClientRequestToken field's value. func (s *ServiceInstance) SetLastClientRequestToken(v string) *ServiceInstance { s.LastClientRequestToken = &v @@ -20709,6 +22100,12 @@ func (s *ServiceInstance) SetLastDeploymentSucceededAt(v time.Time) *ServiceInst return s } +// SetLastSucceededDeploymentId sets the LastSucceededDeploymentId field's value. +func (s *ServiceInstance) SetLastSucceededDeploymentId(v string) *ServiceInstance { + s.LastSucceededDeploymentId = &v + return s +} + // SetName sets the Name field's value. func (s *ServiceInstance) SetName(v string) *ServiceInstance { s.Name = &v @@ -20745,6 +22142,107 @@ func (s *ServiceInstance) SetTemplateName(v string) *ServiceInstance { return s } +// The detailed data about the current state of this service instance. +type ServiceInstanceState struct { + _ struct{} `type:"structure"` + + // The IDs for the last successful components deployed for this service instance. + LastSuccessfulComponentDeploymentIds []*string `locationName:"lastSuccessfulComponentDeploymentIds" type:"list"` + + // The ID for the last successful environment deployed for this service instance. + LastSuccessfulEnvironmentDeploymentId *string `locationName:"lastSuccessfulEnvironmentDeploymentId" type:"string"` + + // The ID for the last successful service pipeline deployed for this service + // instance. + LastSuccessfulServicePipelineDeploymentId *string `locationName:"lastSuccessfulServicePipelineDeploymentId" type:"string"` + + // The service spec that was used to create the service instance. + // + // Spec is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ServiceInstanceState's + // String and GoString methods. + // + // Spec is a required field + Spec *string `locationName:"spec" min:"1" type:"string" required:"true" sensitive:"true"` + + // The major version of the service template that was used to create the service + // pipeline. + // + // TemplateMajorVersion is a required field + TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"` + + // The minor version of the service template that was used to create the service + // pipeline. + // + // TemplateMinorVersion is a required field + TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string" required:"true"` + + // The name of the service template that was used to create the service instance. + // + // TemplateName is a required field + TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceInstanceState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceInstanceState) GoString() string { + return s.String() +} + +// SetLastSuccessfulComponentDeploymentIds sets the LastSuccessfulComponentDeploymentIds field's value. +func (s *ServiceInstanceState) SetLastSuccessfulComponentDeploymentIds(v []*string) *ServiceInstanceState { + s.LastSuccessfulComponentDeploymentIds = v + return s +} + +// SetLastSuccessfulEnvironmentDeploymentId sets the LastSuccessfulEnvironmentDeploymentId field's value. +func (s *ServiceInstanceState) SetLastSuccessfulEnvironmentDeploymentId(v string) *ServiceInstanceState { + s.LastSuccessfulEnvironmentDeploymentId = &v + return s +} + +// SetLastSuccessfulServicePipelineDeploymentId sets the LastSuccessfulServicePipelineDeploymentId field's value. +func (s *ServiceInstanceState) SetLastSuccessfulServicePipelineDeploymentId(v string) *ServiceInstanceState { + s.LastSuccessfulServicePipelineDeploymentId = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *ServiceInstanceState) SetSpec(v string) *ServiceInstanceState { + s.Spec = &v + return s +} + +// SetTemplateMajorVersion sets the TemplateMajorVersion field's value. +func (s *ServiceInstanceState) SetTemplateMajorVersion(v string) *ServiceInstanceState { + s.TemplateMajorVersion = &v + return s +} + +// SetTemplateMinorVersion sets the TemplateMinorVersion field's value. +func (s *ServiceInstanceState) SetTemplateMinorVersion(v string) *ServiceInstanceState { + s.TemplateMinorVersion = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *ServiceInstanceState) SetTemplateName(v string) *ServiceInstanceState { + s.TemplateName = &v + return s +} + // Summary data of an Proton service instance resource. type ServiceInstanceSummary struct { _ struct{} `type:"structure"` @@ -20776,6 +22274,9 @@ type ServiceInstanceSummary struct { // EnvironmentName is a required field EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + // The ID of the last attempted deployment of this service instance. + LastAttemptedDeploymentId *string `locationName:"lastAttemptedDeploymentId" type:"string"` + // The time when a deployment of the service was last attempted. // // LastDeploymentAttemptedAt is a required field @@ -20786,6 +22287,9 @@ type ServiceInstanceSummary struct { // LastDeploymentSucceededAt is a required field LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"` + // The ID of the last successful deployment of this service instance. + LastSucceededDeploymentId *string `locationName:"lastSucceededDeploymentId" type:"string"` + // The name of the service instance. // // Name is a required field @@ -20860,6 +22364,12 @@ func (s *ServiceInstanceSummary) SetEnvironmentName(v string) *ServiceInstanceSu return s } +// SetLastAttemptedDeploymentId sets the LastAttemptedDeploymentId field's value. +func (s *ServiceInstanceSummary) SetLastAttemptedDeploymentId(v string) *ServiceInstanceSummary { + s.LastAttemptedDeploymentId = &v + return s +} + // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value. func (s *ServiceInstanceSummary) SetLastDeploymentAttemptedAt(v time.Time) *ServiceInstanceSummary { s.LastDeploymentAttemptedAt = &v @@ -20872,6 +22382,12 @@ func (s *ServiceInstanceSummary) SetLastDeploymentSucceededAt(v time.Time) *Serv return s } +// SetLastSucceededDeploymentId sets the LastSucceededDeploymentId field's value. +func (s *ServiceInstanceSummary) SetLastSucceededDeploymentId(v string) *ServiceInstanceSummary { + s.LastSucceededDeploymentId = &v + return s +} + // SetName sets the Name field's value. func (s *ServiceInstanceSummary) SetName(v string) *ServiceInstanceSummary { s.Name = &v @@ -20928,6 +22444,9 @@ type ServicePipeline struct { // String and GoString methods. DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string" sensitive:"true"` + // The ID of the last attempted deployment of this service pipeline. + LastAttemptedDeploymentId *string `locationName:"lastAttemptedDeploymentId" type:"string"` + // The time when a deployment of the service pipeline was last attempted. // // LastDeploymentAttemptedAt is a required field @@ -20938,6 +22457,9 @@ type ServicePipeline struct { // LastDeploymentSucceededAt is a required field LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"` + // The ID of the last successful deployment of this service pipeline. + LastSucceededDeploymentId *string `locationName:"lastSucceededDeploymentId" type:"string"` + // The service spec that was used to create the service pipeline. // // Spec is a sensitive parameter and its value will be @@ -21005,6 +22527,12 @@ func (s *ServicePipeline) SetDeploymentStatusMessage(v string) *ServicePipeline return s } +// SetLastAttemptedDeploymentId sets the LastAttemptedDeploymentId field's value. +func (s *ServicePipeline) SetLastAttemptedDeploymentId(v string) *ServicePipeline { + s.LastAttemptedDeploymentId = &v + return s +} + // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value. func (s *ServicePipeline) SetLastDeploymentAttemptedAt(v time.Time) *ServicePipeline { s.LastDeploymentAttemptedAt = &v @@ -21017,6 +22545,12 @@ func (s *ServicePipeline) SetLastDeploymentSucceededAt(v time.Time) *ServicePipe return s } +// SetLastSucceededDeploymentId sets the LastSucceededDeploymentId field's value. +func (s *ServicePipeline) SetLastSucceededDeploymentId(v string) *ServicePipeline { + s.LastSucceededDeploymentId = &v + return s +} + // SetSpec sets the Spec field's value. func (s *ServicePipeline) SetSpec(v string) *ServicePipeline { s.Spec = &v @@ -21041,6 +22575,77 @@ func (s *ServicePipeline) SetTemplateName(v string) *ServicePipeline { return s } +// The detailed data about the current state of the service pipeline. +type ServicePipelineState struct { + _ struct{} `type:"structure"` + + // The service spec that was used to create the service pipeline. + // + // Spec is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ServicePipelineState's + // String and GoString methods. + Spec *string `locationName:"spec" min:"1" type:"string" sensitive:"true"` + + // The major version of the service template that was used to create the service + // pipeline. + // + // TemplateMajorVersion is a required field + TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"` + + // The minor version of the service template that was used to create the service + // pipeline. + // + // TemplateMinorVersion is a required field + TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string" required:"true"` + + // The name of the service template that was used to create the service pipeline. + // + // TemplateName is a required field + TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServicePipelineState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServicePipelineState) GoString() string { + return s.String() +} + +// SetSpec sets the Spec field's value. +func (s *ServicePipelineState) SetSpec(v string) *ServicePipelineState { + s.Spec = &v + return s +} + +// SetTemplateMajorVersion sets the TemplateMajorVersion field's value. +func (s *ServicePipelineState) SetTemplateMajorVersion(v string) *ServicePipelineState { + s.TemplateMajorVersion = &v + return s +} + +// SetTemplateMinorVersion sets the TemplateMinorVersion field's value. +func (s *ServicePipelineState) SetTemplateMinorVersion(v string) *ServicePipelineState { + s.TemplateMinorVersion = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *ServicePipelineState) SetTemplateName(v string) *ServicePipelineState { + s.TemplateName = &v + return s +} + // A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) // in the Proton User Guide. type ServiceQuotaExceededException struct { @@ -24782,6 +26387,30 @@ func DeploymentStatus_Values() []string { } } +const ( + // DeploymentTargetResourceTypeEnvironment is a DeploymentTargetResourceType enum value + DeploymentTargetResourceTypeEnvironment = "ENVIRONMENT" + + // DeploymentTargetResourceTypeServicePipeline is a DeploymentTargetResourceType enum value + DeploymentTargetResourceTypeServicePipeline = "SERVICE_PIPELINE" + + // DeploymentTargetResourceTypeServiceInstance is a DeploymentTargetResourceType enum value + DeploymentTargetResourceTypeServiceInstance = "SERVICE_INSTANCE" + + // DeploymentTargetResourceTypeComponent is a DeploymentTargetResourceType enum value + DeploymentTargetResourceTypeComponent = "COMPONENT" +) + +// DeploymentTargetResourceType_Values returns all elements of the DeploymentTargetResourceType enum +func DeploymentTargetResourceType_Values() []string { + return []string{ + DeploymentTargetResourceTypeEnvironment, + DeploymentTargetResourceTypeServicePipeline, + DeploymentTargetResourceTypeServiceInstance, + DeploymentTargetResourceTypeComponent, + } +} + const ( // DeploymentUpdateTypeNone is a DeploymentUpdateType enum value DeploymentUpdateTypeNone = "NONE" diff --git a/service/proton/protoniface/interface.go b/service/proton/protoniface/interface.go index 4ce4c2df105..737e77a50c5 100644 --- a/service/proton/protoniface/interface.go +++ b/service/proton/protoniface/interface.go @@ -132,6 +132,10 @@ type ProtonAPI interface { DeleteComponentWithContext(aws.Context, *proton.DeleteComponentInput, ...request.Option) (*proton.DeleteComponentOutput, error) DeleteComponentRequest(*proton.DeleteComponentInput) (*request.Request, *proton.DeleteComponentOutput) + DeleteDeployment(*proton.DeleteDeploymentInput) (*proton.DeleteDeploymentOutput, error) + DeleteDeploymentWithContext(aws.Context, *proton.DeleteDeploymentInput, ...request.Option) (*proton.DeleteDeploymentOutput, error) + DeleteDeploymentRequest(*proton.DeleteDeploymentInput) (*request.Request, *proton.DeleteDeploymentOutput) + DeleteEnvironment(*proton.DeleteEnvironmentInput) (*proton.DeleteEnvironmentOutput, error) DeleteEnvironmentWithContext(aws.Context, *proton.DeleteEnvironmentInput, ...request.Option) (*proton.DeleteEnvironmentOutput, error) DeleteEnvironmentRequest(*proton.DeleteEnvironmentInput) (*request.Request, *proton.DeleteEnvironmentOutput) @@ -180,6 +184,10 @@ type ProtonAPI interface { GetComponentWithContext(aws.Context, *proton.GetComponentInput, ...request.Option) (*proton.GetComponentOutput, error) GetComponentRequest(*proton.GetComponentInput) (*request.Request, *proton.GetComponentOutput) + GetDeployment(*proton.GetDeploymentInput) (*proton.GetDeploymentOutput, error) + GetDeploymentWithContext(aws.Context, *proton.GetDeploymentInput, ...request.Option) (*proton.GetDeploymentOutput, error) + GetDeploymentRequest(*proton.GetDeploymentInput) (*request.Request, *proton.GetDeploymentOutput) + GetEnvironment(*proton.GetEnvironmentInput) (*proton.GetEnvironmentOutput, error) GetEnvironmentWithContext(aws.Context, *proton.GetEnvironmentInput, ...request.Option) (*proton.GetEnvironmentOutput, error) GetEnvironmentRequest(*proton.GetEnvironmentInput) (*request.Request, *proton.GetEnvironmentOutput) @@ -265,6 +273,13 @@ type ProtonAPI interface { ListComponentsPages(*proton.ListComponentsInput, func(*proton.ListComponentsOutput, bool) bool) error ListComponentsPagesWithContext(aws.Context, *proton.ListComponentsInput, func(*proton.ListComponentsOutput, bool) bool, ...request.Option) error + ListDeployments(*proton.ListDeploymentsInput) (*proton.ListDeploymentsOutput, error) + ListDeploymentsWithContext(aws.Context, *proton.ListDeploymentsInput, ...request.Option) (*proton.ListDeploymentsOutput, error) + ListDeploymentsRequest(*proton.ListDeploymentsInput) (*request.Request, *proton.ListDeploymentsOutput) + + ListDeploymentsPages(*proton.ListDeploymentsInput, func(*proton.ListDeploymentsOutput, bool) bool) error + ListDeploymentsPagesWithContext(aws.Context, *proton.ListDeploymentsInput, func(*proton.ListDeploymentsOutput, bool) bool, ...request.Option) error + ListEnvironmentAccountConnections(*proton.ListEnvironmentAccountConnectionsInput) (*proton.ListEnvironmentAccountConnectionsOutput, error) ListEnvironmentAccountConnectionsWithContext(aws.Context, *proton.ListEnvironmentAccountConnectionsInput, ...request.Option) (*proton.ListEnvironmentAccountConnectionsOutput, error) ListEnvironmentAccountConnectionsRequest(*proton.ListEnvironmentAccountConnectionsInput) (*request.Request, *proton.ListEnvironmentAccountConnectionsOutput) diff --git a/service/s3/api.go b/service/s3/api.go index 6df89213b2e..08ef909ba8c 100644 --- a/service/s3/api.go +++ b/service/s3/api.go @@ -346,8 +346,9 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // to read the entire body. // // The copy request charge is based on the storage class and Region that you -// specify for the destination object. For pricing information, see Amazon S3 -// pricing (http://aws.amazon.com/s3/pricing/). +// specify for the destination object. The request can also result in a data +// retrieval charge for the source if the source storage class bills for data +// retrieval. For pricing information, see Amazon S3 pricing (http://aws.amazon.com/s3/pricing/). // // Amazon S3 transfer acceleration does not support cross-Region copies. If // you request a cross-Region copy using a transfer acceleration endpoint, you @@ -41352,6 +41353,12 @@ const ( // BucketLocationConstraintUsWest2 is a BucketLocationConstraint enum value BucketLocationConstraintUsWest2 = "us-west-2" + + // BucketLocationConstraintApSouth2 is a BucketLocationConstraint enum value + BucketLocationConstraintApSouth2 = "ap-south-2" + + // BucketLocationConstraintEuSouth2 is a BucketLocationConstraint enum value + BucketLocationConstraintEuSouth2 = "eu-south-2" ) // BucketLocationConstraint_Values returns all elements of the BucketLocationConstraint enum @@ -41383,6 +41390,8 @@ func BucketLocationConstraint_Values() []string { BucketLocationConstraintUsGovWest1, BucketLocationConstraintUsWest1, BucketLocationConstraintUsWest2, + BucketLocationConstraintApSouth2, + BucketLocationConstraintEuSouth2, } } @@ -41832,6 +41841,12 @@ const ( // InventoryOptionalFieldChecksumAlgorithm is a InventoryOptionalField enum value InventoryOptionalFieldChecksumAlgorithm = "ChecksumAlgorithm" + + // InventoryOptionalFieldObjectAccessControlList is a InventoryOptionalField enum value + InventoryOptionalFieldObjectAccessControlList = "ObjectAccessControlList" + + // InventoryOptionalFieldObjectOwner is a InventoryOptionalField enum value + InventoryOptionalFieldObjectOwner = "ObjectOwner" ) // InventoryOptionalField_Values returns all elements of the InventoryOptionalField enum @@ -41850,6 +41865,8 @@ func InventoryOptionalField_Values() []string { InventoryOptionalFieldIntelligentTieringAccessTier, InventoryOptionalFieldBucketKeyStatus, InventoryOptionalFieldChecksumAlgorithm, + InventoryOptionalFieldObjectAccessControlList, + InventoryOptionalFieldObjectOwner, } } diff --git a/service/s3/examples_test.go b/service/s3/examples_test.go index 66ff55da670..9a1147c1419 100644 --- a/service/s3/examples_test.go +++ b/service/s3/examples_test.go @@ -125,12 +125,16 @@ func ExampleS3_CopyObject_shared00() { fmt.Println(result) } -// To create a bucket -// The following example creates a bucket. +// To create a bucket in a specific region +// The following example creates a bucket. The request specifies an AWS region where +// to create the bucket. func ExampleS3_CreateBucket_shared00() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), + CreateBucketConfiguration: &s3.CreateBucketConfiguration{ + LocationConstraint: aws.String("eu-west-1"), + }, } result, err := svc.CreateBucket(input) @@ -155,16 +159,12 @@ func ExampleS3_CreateBucket_shared00() { fmt.Println(result) } -// To create a bucket in a specific region -// The following example creates a bucket. The request specifies an AWS region where -// to create the bucket. +// To create a bucket +// The following example creates a bucket. func ExampleS3_CreateBucket_shared01() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), - CreateBucketConfiguration: &s3.CreateBucketConfiguration{ - LocationConstraint: aws.String("eu-west-1"), - }, } result, err := svc.CreateBucket(input) @@ -398,13 +398,13 @@ func ExampleS3_DeleteBucketWebsite_shared00() { fmt.Println(result) } -// To delete an object -// The following example deletes an object from an S3 bucket. +// To delete an object (from a non-versioned bucket) +// The following example deletes an object from a non-versioned bucket. func ExampleS3_DeleteObject_shared00() { svc := s3.New(session.New()) input := &s3.DeleteObjectInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("objectkey.jpg"), + Bucket: aws.String("ExampleBucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.DeleteObject(input) @@ -425,13 +425,13 @@ func ExampleS3_DeleteObject_shared00() { fmt.Println(result) } -// To delete an object (from a non-versioned bucket) -// The following example deletes an object from a non-versioned bucket. +// To delete an object +// The following example deletes an object from an S3 bucket. func ExampleS3_DeleteObject_shared01() { svc := s3.New(session.New()) input := &s3.DeleteObjectInput{ - Bucket: aws.String("ExampleBucket"), - Key: aws.String("HappyFace.jpg"), + Bucket: aws.String("examplebucket"), + Key: aws.String("objectkey.jpg"), } result, err := svc.DeleteObject(input) @@ -452,15 +452,15 @@ func ExampleS3_DeleteObject_shared01() { fmt.Println(result) } -// To remove tag set from an object version -// The following example removes tag set associated with the specified object version. -// The request specifies both the object key and object version. +// To remove tag set from an object +// The following example removes tag set associated with the specified object. If the +// bucket is versioning enabled, the operation removes tag set from the latest object +// version. func ExampleS3_DeleteObjectTagging_shared00() { svc := s3.New(session.New()) input := &s3.DeleteObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.DeleteObjectTagging(input) @@ -481,15 +481,15 @@ func ExampleS3_DeleteObjectTagging_shared00() { fmt.Println(result) } -// To remove tag set from an object -// The following example removes tag set associated with the specified object. If the -// bucket is versioning enabled, the operation removes tag set from the latest object -// version. +// To remove tag set from an object version +// The following example removes tag set associated with the specified object version. +// The request specifies both the object key and object version. func ExampleS3_DeleteObjectTagging_shared01() { svc := s3.New(session.New()) input := &s3.DeleteObjectTaggingInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + VersionId: aws.String("ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI"), } result, err := svc.DeleteObjectTagging(input) @@ -1748,19 +1748,15 @@ func ExampleS3_PutBucketWebsite_shared00() { fmt.Println(result) } -// To upload object and specify user-defined metadata -// The following example creates an object. The request also specifies optional metadata. -// If the bucket is versioning enabled, S3 returns version ID in response. +// To create an object. +// The following example creates an object. If the bucket is versioning enabled, S3 +// returns version ID in response. func ExampleS3_PutObject_shared00() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - Metadata: map[string]*string{ - "metadata1": aws.String("value1"), - "metadata2": aws.String("value2"), - }, + Key: aws.String("objectkey"), } result, err := svc.PutObject(input) @@ -1781,17 +1777,19 @@ func ExampleS3_PutObject_shared00() { fmt.Println(result) } -// To upload an object (specify optional headers) -// The following example uploads an object. The request specifies optional request headers -// to directs S3 to use specific storage class and use server-side encryption. +// To upload object and specify user-defined metadata +// The following example creates an object. The request also specifies optional metadata. +// If the bucket is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared01() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - ServerSideEncryption: aws.String("AES256"), - StorageClass: aws.String("STANDARD_IA"), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), + Bucket: aws.String("examplebucket"), + Key: aws.String("exampleobject"), + Metadata: map[string]*string{ + "metadata1": aws.String("value1"), + "metadata2": aws.String("value2"), + }, } result, err := svc.PutObject(input) @@ -1812,15 +1810,16 @@ func ExampleS3_PutObject_shared01() { fmt.Println(result) } -// To create an object. -// The following example creates an object. If the bucket is versioning enabled, S3 -// returns version ID in response. +// To upload an object +// The following example uploads an object to a versioning-enabled bucket. The source +// file is specified using Windows file syntax. S3 returns VersionId of the newly created +// object. func ExampleS3_PutObject_shared02() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), Bucket: aws.String("examplebucket"), - Key: aws.String("objectkey"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.PutObject(input) @@ -1872,16 +1871,17 @@ func ExampleS3_PutObject_shared03() { fmt.Println(result) } -// To upload an object -// The following example uploads an object to a versioning-enabled bucket. The source -// file is specified using Windows file syntax. S3 returns VersionId of the newly created -// object. +// To upload an object (specify optional headers) +// The following example uploads an object. The request specifies optional request headers +// to directs S3 to use specific storage class and use server-side encryption. func ExampleS3_PutObject_shared04() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + ServerSideEncryption: aws.String("AES256"), + StorageClass: aws.String("STANDARD_IA"), } result, err := svc.PutObject(input) @@ -1902,18 +1902,16 @@ func ExampleS3_PutObject_shared04() { fmt.Println(result) } -// To upload an object and specify server-side encryption and object tags -// The following example uploads an object. The request specifies the optional server-side -// encryption option. The request also specifies optional object tags. If the bucket -// is versioning enabled, S3 returns version ID in response. +// To upload an object and specify optional tags +// The following example uploads an object. The request specifies optional object tags. +// The bucket is versioned, therefore S3 returns version ID of the newly created object. func ExampleS3_PutObject_shared05() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), - Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - ServerSideEncryption: aws.String("AES256"), - Tagging: aws.String("key1=value1&key2=value2"), + Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -1934,16 +1932,18 @@ func ExampleS3_PutObject_shared05() { fmt.Println(result) } -// To upload an object and specify optional tags -// The following example uploads an object. The request specifies optional object tags. -// The bucket is versioned, therefore S3 returns version ID of the newly created object. +// To upload an object and specify server-side encryption and object tags +// The following example uploads an object. The request specifies the optional server-side +// encryption option. The request also specifies optional object tags. If the bucket +// is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared06() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - Tagging: aws.String("key1=value1&key2=value2"), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), + Bucket: aws.String("examplebucket"), + Key: aws.String("exampleobject"), + ServerSideEncryption: aws.String("AES256"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -2104,17 +2104,18 @@ func ExampleS3_UploadPart_shared00() { fmt.Println(result) } -// To upload a part by copying data from an existing object as data source -// The following example uploads a part of a multipart upload by copying data from an -// existing object as data source. +// To upload a part by copying byte range from an existing object as data source +// The following example uploads a part of a multipart upload by copying a specified +// byte range from an existing object as data source. func ExampleS3_UploadPartCopy_shared00() { svc := s3.New(session.New()) input := &s3.UploadPartCopyInput{ - Bucket: aws.String("examplebucket"), - CopySource: aws.String("/bucketname/sourceobjectkey"), - Key: aws.String("examplelargeobject"), - PartNumber: aws.Int64(1), - UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), + Bucket: aws.String("examplebucket"), + CopySource: aws.String("/bucketname/sourceobjectkey"), + CopySourceRange: aws.String("bytes=1-100000"), + Key: aws.String("examplelargeobject"), + PartNumber: aws.Int64(2), + UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), } result, err := svc.UploadPartCopy(input) @@ -2135,18 +2136,17 @@ func ExampleS3_UploadPartCopy_shared00() { fmt.Println(result) } -// To upload a part by copying byte range from an existing object as data source -// The following example uploads a part of a multipart upload by copying a specified -// byte range from an existing object as data source. +// To upload a part by copying data from an existing object as data source +// The following example uploads a part of a multipart upload by copying data from an +// existing object as data source. func ExampleS3_UploadPartCopy_shared01() { svc := s3.New(session.New()) input := &s3.UploadPartCopyInput{ - Bucket: aws.String("examplebucket"), - CopySource: aws.String("/bucketname/sourceobjectkey"), - CopySourceRange: aws.String("bytes=1-100000"), - Key: aws.String("examplelargeobject"), - PartNumber: aws.Int64(2), - UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), + Bucket: aws.String("examplebucket"), + CopySource: aws.String("/bucketname/sourceobjectkey"), + Key: aws.String("examplelargeobject"), + PartNumber: aws.Int64(1), + UploadId: aws.String("exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--"), } result, err := svc.UploadPartCopy(input) diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 595f5655f6c..151d08829ab 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -34177,6 +34177,9 @@ type CanvasAppSettings struct { // Time series forecast settings for the Canvas application. TimeSeriesForecastingSettings *TimeSeriesForecastingSettings `type:"structure"` + + // The workspace settings for the SageMaker Canvas application. + WorkspaceSettings *WorkspaceSettings `type:"structure"` } // String returns the string representation. @@ -34229,6 +34232,12 @@ func (s *CanvasAppSettings) SetTimeSeriesForecastingSettings(v *TimeSeriesForeca return s } +// SetWorkspaceSettings sets the WorkspaceSettings field's value. +func (s *CanvasAppSettings) SetWorkspaceSettings(v *WorkspaceSettings) *CanvasAppSettings { + s.WorkspaceSettings = v + return s +} + // Specifies the type and size of the endpoint capacity to activate for a blue/green // deployment, a rolling deployment, or a rollback strategy. You can specify // your batches as either instance count or the overall percentage or your fleet. @@ -102384,13 +102393,9 @@ func (s *RetryStrategy) SetMaximumRetryAttempts(v int64) *RetryStrategy { type RollingUpdatePolicy struct { _ struct{} `type:"structure"` - // Specifies the type and size of the endpoint capacity to activate for a blue/green - // deployment, a rolling deployment, or a rollback strategy. You can specify - // your batches as either instance count or the overall percentage or your fleet. - // - // For a rollback strategy, if you don't specify the fields in this object, - // or if you set the Value to 100%, then SageMaker uses a blue/green rollback - // strategy and rolls all traffic back to the blue fleet. + // Batch size for each rolling step to provision capacity and turn on traffic + // on the new endpoint fleet, and terminate capacity on the old endpoint fleet. + // Value must be between 5% to 50% of the variant's total instance count. // // MaximumBatchSize is a required field MaximumBatchSize *CapacitySize `type:"structure" required:"true"` @@ -102398,13 +102403,11 @@ type RollingUpdatePolicy struct { // The time limit for the total deployment. Exceeding this limit causes a timeout. MaximumExecutionTimeoutInSeconds *int64 `min:"600" type:"integer"` - // Specifies the type and size of the endpoint capacity to activate for a blue/green - // deployment, a rolling deployment, or a rollback strategy. You can specify - // your batches as either instance count or the overall percentage or your fleet. - // - // For a rollback strategy, if you don't specify the fields in this object, - // or if you set the Value to 100%, then SageMaker uses a blue/green rollback - // strategy and rolls all traffic back to the blue fleet. + // Batch size for rollback to the old endpoint fleet. Each rolling step to provision + // capacity and turn on traffic on the old endpoint fleet, and terminate capacity + // on the new endpoint fleet. If this field is absent, the default value will + // be set to 100% of total capacity which means to bring up the whole capacity + // of the old fleet at once during rollback. RollbackMaximumBatchSize *CapacitySize `type:"structure"` // The length of the baking period, during which SageMaker monitors alarms for @@ -107226,14 +107229,6 @@ type TimeSeriesForecastingJobConfig struct { // and datetime. // // These column keys must not include any column set in TimeSeriesConfig. - // - // When not provided, the AutoML job V2 includes all the columns from the original - // dataset that are not already declared in TimeSeriesConfig. If provided, the - // AutoML job V2 only considers these additional columns as a complement to - // the ones declared in TimeSeriesConfig. - // - // Autopilot supports the following data types: numeric, categorical, text, - // and datetime. FeatureSpecificationS3Uri *string `type:"string"` // The frequency of predictions in a forecast. @@ -116347,6 +116342,51 @@ func (s *WorkforceVpcConfigResponse) SetVpcId(v string) *WorkforceVpcConfigRespo return s } +// The workspace settings for the SageMaker Canvas application. +type WorkspaceSettings struct { + _ struct{} `type:"structure"` + + // The Amazon S3 bucket used to store artifacts generated by Canvas. Updating + // the Amazon S3 location impacts existing configuration settings, and Canvas + // users no longer have access to their artifacts. Canvas users must log out + // and log back in to apply the new location. + S3ArtifactPath *string `type:"string"` + + // The Amazon Web Services Key Management Service (KMS) encryption key ID that + // is used to encrypt artifacts generated by Canvas in the Amazon S3 bucket. + S3KmsKeyId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkspaceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkspaceSettings) GoString() string { + return s.String() +} + +// SetS3ArtifactPath sets the S3ArtifactPath field's value. +func (s *WorkspaceSettings) SetS3ArtifactPath(v string) *WorkspaceSettings { + s.S3ArtifactPath = &v + return s +} + +// SetS3KmsKeyId sets the S3KmsKeyId field's value. +func (s *WorkspaceSettings) SetS3KmsKeyId(v string) *WorkspaceSettings { + s.S3KmsKeyId = &v + return s +} + // Provides details about a labeling work team. type Workteam struct { _ struct{} `type:"structure"` diff --git a/service/secretsmanager/api.go b/service/secretsmanager/api.go index 44b2f36afcd..92a89253ee1 100644 --- a/service/secretsmanager/api.go +++ b/service/secretsmanager/api.go @@ -2481,9 +2481,11 @@ func (c *SecretsManager) UpdateSecretRequest(input *UpdateSecretInput) (req *req // Required permissions: secretsmanager:UpdateSecret. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). -// If you use a customer managed key, you must also have kms:GenerateDataKey -// and kms:Decrypt permissions on the key. For more information, see Secret -// encryption and decryption (https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html). +// If you use a customer managed key, you must also have kms:GenerateDataKey, +// kms:Encrypt, and kms:Decrypt permissions on the key. If you change the KMS +// key and you don't have kms:Encrypt permission to the new key, Secrets Manager +// does not re-ecrypt existing secret versions with the new key. For more information, +// see Secret encryption and decryption (https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html). // // 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 @@ -7086,8 +7088,10 @@ type UpdateSecretInput struct { // The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt // new secret versions as well as any existing versions with the staging labels - // AWSCURRENT, AWSPENDING, or AWSPREVIOUS. For more information about versions - // and staging labels, see Concepts: Version (https://docs.aws.amazon.com/secretsmanager/latest/userguide/getting-started.html#term_version). + // AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission + // to the new key, Secrets Manager does not re-ecrypt existing secret versions + // with the new key. For more information about versions and staging labels, + // see Concepts: Version (https://docs.aws.amazon.com/secretsmanager/latest/userguide/getting-started.html#term_version). // // A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. // For more information, see About aliases (https://docs.aws.amazon.com/kms/latest/developerguide/alias-about.html).