diff --git a/CHANGELOG.md b/CHANGELOG.md index f4e98c212e5..f4e35ade01d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +Release v1.46.7 (2023-10-30) +=== + +### Service Client Updates +* `service/connect`: Updates service API and documentation +* `service/dataexchange`: Updates service API and documentation +* `service/datasync`: Updates service API and documentation +* `service/finspace`: Updates service API and documentation +* `service/mediapackagev2`: Updates service API and documentation +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * This release launches the CreateIntegration, DeleteIntegration, and DescribeIntegrations APIs to manage zero-ETL Integrations. +* `service/redshift-serverless`: Updates service API, documentation, and paginators +* `service/resiliencehub`: Updates service API and documentation +* `service/s3outposts`: Updates service API and documentation +* `service/wisdom`: Updates service documentation + Release v1.46.6 (2023-10-27) === diff --git a/aws/version.go b/aws/version.go index 0b5aea00c0b..a516335df8e 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.46.6" +const SDKVersion = "1.46.7" diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index 57c262b3211..a5506d3d79f 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -4029,12 +4029,10 @@ }, "ClaimPhoneNumberRequest":{ "type":"structure", - "required":[ - "TargetArn", - "PhoneNumber" - ], + "required":["PhoneNumber"], "members":{ "TargetArn":{"shape":"ARN"}, + "InstanceId":{"shape":"InstanceId"}, "PhoneNumber":{"shape":"PhoneNumber"}, "PhoneNumberDescription":{"shape":"PhoneNumberDescription"}, "Tags":{"shape":"TagMap"}, @@ -4061,6 +4059,7 @@ "PhoneNumberType":{"shape":"PhoneNumberType"}, "PhoneNumberDescription":{"shape":"PhoneNumberDescription"}, "TargetArn":{"shape":"ARN"}, + "InstanceId":{"shape":"InstanceId"}, "Tags":{"shape":"TagMap"}, "PhoneNumberStatus":{"shape":"PhoneNumberStatus"} } @@ -8479,7 +8478,8 @@ "PhoneNumber":{"shape":"PhoneNumber"}, "PhoneNumberCountryCode":{"shape":"PhoneNumberCountryCode"}, "PhoneNumberType":{"shape":"PhoneNumberType"}, - "TargetArn":{"shape":"ARN"} + "TargetArn":{"shape":"ARN"}, + "InstanceId":{"shape":"InstanceId"} } }, "ListPhoneNumbersSummaryList":{ @@ -8490,6 +8490,7 @@ "type":"structure", "members":{ "TargetArn":{"shape":"ARN"}, + "InstanceId":{"shape":"InstanceId"}, "MaxResults":{ "shape":"MaxResult1000", "box":true @@ -10694,12 +10695,12 @@ "SearchAvailablePhoneNumbersRequest":{ "type":"structure", "required":[ - "TargetArn", "PhoneNumberCountryCode", "PhoneNumberType" ], "members":{ "TargetArn":{"shape":"ARN"}, + "InstanceId":{"shape":"InstanceId"}, "PhoneNumberCountryCode":{"shape":"PhoneNumberCountryCode"}, "PhoneNumberType":{"shape":"PhoneNumberType"}, "PhoneNumberPrefix":{"shape":"PhoneNumberPrefix"}, @@ -12305,10 +12306,7 @@ }, "UpdatePhoneNumberRequest":{ "type":"structure", - "required":[ - "PhoneNumberId", - "TargetArn" - ], + "required":["PhoneNumberId"], "members":{ "PhoneNumberId":{ "shape":"PhoneNumberId", @@ -12316,6 +12314,7 @@ "locationName":"PhoneNumberId" }, "TargetArn":{"shape":"ARN"}, + "InstanceId":{"shape":"InstanceId"}, "ClientToken":{ "shape":"ClientToken", "idempotencyToken":true diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json index dd9d5fe63ac..15a788bd250 100644 --- a/models/apis/connect/2017-08-08/docs-2.json +++ b/models/apis/connect/2017-08-08/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents.

There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, seeP98941055 Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

", + "service": "

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents.

There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

", "operations": { "ActivateEvaluationForm": "

Activates an evaluation form in the specified Amazon Connect instance. After the evaluation form is activated, it is available to start new evaluations based on the form.

", "AssociateApprovedOrigin": "

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

Associates an approved origin to an Amazon Connect instance.

", @@ -129,7 +129,7 @@ "ListRoutingProfiles": "

Provides summary information about the routing profiles for the specified Amazon Connect instance.

For more information about routing profiles, see Routing Profiles and Create a Routing Profile in the Amazon Connect Administrator Guide.

", "ListRules": "

List all rules for the specified Amazon Connect instance.

", "ListSecurityKeys": "

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

Returns a paginated list of all security keys associated with the instance.

", - "ListSecurityProfileApplications": "

Returns a list of third party applications in a specific security profile.

", + "ListSecurityProfileApplications": "

Returns a list of third-party applications in a specific security profile.

", "ListSecurityProfilePermissions": "

Lists the permissions granted to a security profile.

", "ListSecurityProfiles": "

Provides summary information about the security profiles for the specified Amazon Connect instance.

For more information about security profiles, see Security Profiles in the Amazon Connect Administrator Guide.

", "ListTagsForResource": "

Lists the tags for the specified resource.

For sample policies that use tags, see Amazon Connect Identity-Based Policy Examples in the Amazon Connect Administrator Guide.

", @@ -145,7 +145,7 @@ "PutUserStatus": "

Changes the current status of a user or agent in Amazon Connect. If the agent is currently handling a contact, this sets the agent's next status.

For more information, see Agent status and Set your next status in the Amazon Connect Administrator Guide.

", "ReleasePhoneNumber": "

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed.

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect console.

After releasing a phone number, the phone number enters into a cooldown period of 30 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support.

If you plan to claim and release numbers frequently during a 30 day period, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until 30 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers during any 30 day period. If you claim and release phone numbers using the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 30 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

", "ReplicateInstance": "

Replicates an Amazon Connect instance in the specified Amazon Web Services Region.

For more information about replicating an Amazon Connect instance, see Create a replica of your existing Amazon Connect instance in the Amazon Connect Administrator Guide.

", - "ResumeContactRecording": "

When a contact is being recorded, and the recording has been suspended using SuspendContactRecording, this API resumes recording the call or screen.

Voice and screen recordings are supported.

", + "ResumeContactRecording": "

When a contact is being recorded, and the recording has been suspended using SuspendContactRecording, this API resumes recording whatever recording is selected in the flow configuration: call, screen, or both. If only call recording or only screen recording is enabled, then it would resume.

Voice and screen recordings are supported.

", "SearchAvailablePhoneNumbers": "

Searches for available phone numbers that you can claim to your Amazon Connect instance or traffic distribution group. If the provided TargetArn is a traffic distribution group, you can call this API in both Amazon Web Services Regions associated with the traffic distribution group.

", "SearchHoursOfOperations": "

Searches the hours of operation in an Amazon Connect instance, with optional filtering.

", "SearchPrompts": "

Searches prompts in an Amazon Connect instance, with optional filtering.

", @@ -166,7 +166,7 @@ "StopContactRecording": "

Stops recording a call when a contact is being recorded. StopContactRecording is a one-time action. If you use StopContactRecording to stop recording an ongoing call, you can't use StartContactRecording to restart it. For scenarios where the recording has started and you want to suspend it for sensitive information (for example, to collect a credit card number), and then restart it, use SuspendContactRecording and ResumeContactRecording.

Only voice recordings are supported at this time.

", "StopContactStreaming": "

Ends message streaming on a specified contact. To restart message streaming on that contact, call the StartContactStreaming API.

", "SubmitContactEvaluation": "

Submits a contact evaluation in the specified Amazon Connect instance. Answers included in the request are merged with existing answers for the given evaluation. If no answers or notes are passed, the evaluation is submitted with the existing answers and notes. You can delete an answer or note by passing an empty object ({}) to the question identifier.

If a contact evaluation is already in submitted state, this operation will trigger a resubmission.

", - "SuspendContactRecording": "

When a contact is being recorded, this API suspends recording the call or screen. For example, you might suspend the call or screen recording while collecting sensitive information, such as a credit card number. Then use ResumeContactRecording to restart recording.

The period of time that the recording is suspended is filled with silence in the final recording.

Voice and screen recordings are supported.

", + "SuspendContactRecording": "

When a contact is being recorded, this API suspends recording whatever is selected in the flow configuration: call, screen, or both. If only call recording or only screen recording is enabled, then it would be suspended. For example, you might suspend the screen recording while collecting sensitive information, such as a credit card number. Then use ResumeContactRecording to restart recording the screen.

The period of time that the recording is suspended is filled with silence in the final recording.

Voice and screen recordings are supported.

", "TagResource": "

Adds the specified tags to the specified resource.

Some of the supported resource types are agents, routing profiles, queues, quick connects, contact flows, agent statuses, hours of operation, phone numbers, security profiles, and task templates. For a complete list, see Tagging resources in Amazon Connect.

For sample policies that use tags, see Amazon Connect Identity-Based Policy Examples in the Amazon Connect Administrator Guide.

", "TransferContact": "

Transfers contacts from one agent or queue to another agent or queue at any point after a contact is created. You can transfer a contact to another queue by providing the flow which orchestrates the contact to the destination queue. This gives you more control over contact handling and helps you adhere to the service level agreement (SLA) guaranteed to your customers.

Note the following requirements:

", "UntagResource": "

Removes the specified tags from the specified resource.

", @@ -222,10 +222,10 @@ "AgentStatus$AgentStatusARN": "

The Amazon Resource Name (ARN) of the agent status.

", "AgentStatusReference$StatusArn": "

The Amazon Resource Name (ARN) of the agent's status.

", "AgentStatusSummary$Arn": "

The Amazon Resource Name (ARN) for the agent status.

", - "ClaimPhoneNumberRequest$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone numbers are claimed to.

", + "ClaimPhoneNumberRequest$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone number inbound traffic is routed through. You must enter InstanceId or TargetArn.

", "ClaimPhoneNumberResponse$PhoneNumberArn": "

The Amazon Resource Name (ARN) of the phone number.

", "ClaimedPhoneNumberSummary$PhoneNumberArn": "

The Amazon Resource Name (ARN) of the phone number.

", - "ClaimedPhoneNumberSummary$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone numbers are claimed to.

", + "ClaimedPhoneNumberSummary$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone number inbound traffic is routed through.

", "Contact$Arn": "

The Amazon Resource Name (ARN) for the contact.

", "ContactFlow$Arn": "

The Amazon Resource Name (ARN) of the flow.

", "ContactFlowModule$Arn": "

The Amazon Resource Name (ARN).

", @@ -283,8 +283,8 @@ "KinesisFirehoseConfig$FirehoseArn": "

The Amazon Resource Name (ARN) of the delivery stream.

", "KinesisStreamConfig$StreamArn": "

The Amazon Resource Name (ARN) of the data stream.

", "ListPhoneNumbersSummary$PhoneNumberArn": "

The Amazon Resource Name (ARN) of the phone number.

", - "ListPhoneNumbersSummary$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone numbers are claimed to.

", - "ListPhoneNumbersV2Request$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone numbers are claimed to. If TargetArn input is not provided, this API lists numbers claimed to all the Amazon Connect instances belonging to your account in the same Amazon Web Services Region as the request.

", + "ListPhoneNumbersSummary$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone number inbound traffic is routed through.

", + "ListPhoneNumbersV2Request$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone number inbound traffic is routed through. If both TargetArn and InstanceId input are not provided, this API lists numbers claimed to all the Amazon Connect instances belonging to your account in the same Amazon Web Services Region as the request.

", "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource. All Amazon Connect resources (instances, queues, flows, routing profiles, etc) have an ARN. To locate the ARN for an instance, for example, see Find your Amazon Connect instance ID/ARN.

", "MonitorContactResponse$ContactArn": "

The ARN of the contact.

", "PhoneNumberSummary$Arn": "

The Amazon Resource Name (ARN) of the phone number.

", @@ -304,7 +304,7 @@ "Rule$RuleArn": "

The Amazon Resource Name (ARN) of the rule.

", "Rule$LastUpdatedBy": "

The Amazon Resource Name (ARN) of the user who last updated the rule.

", "RuleSummary$RuleArn": "

The Amazon Resource Name (ARN) of the rule.

", - "SearchAvailablePhoneNumbersRequest$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone numbers are claimed to.

", + "SearchAvailablePhoneNumbersRequest$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone number inbound traffic is routed through. You must enter InstanceId or TargetArn.

", "SecurityProfile$Arn": "

The Amazon Resource Name (ARN) for the secruity profile.

", "SecurityProfileSearchSummary$Arn": "

The Amazon Resource Name (ARN) of the security profile.

", "SecurityProfileSummary$Arn": "

The Amazon Resource Name (ARN) of the security profile.

", @@ -315,7 +315,7 @@ "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource.

", "UpdateContactEvaluationResponse$EvaluationArn": "

The Amazon Resource Name (ARN) for the contact evaluation resource.

", "UpdateEvaluationFormResponse$EvaluationFormArn": "

The Amazon Resource Name (ARN) for the contact evaluation resource.

", - "UpdatePhoneNumberRequest$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone numbers are claimed to.

", + "UpdatePhoneNumberRequest$TargetArn": "

The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution groups that phone number inbound traffic is routed through. You must enter InstanceId or TargetArn.

", "UpdatePhoneNumberResponse$PhoneNumberArn": "

The Amazon Resource Name (ARN) of the phone number.

", "UpdatePromptResponse$PromptARN": "

The Amazon Resource Name (ARN) of the prompt.

", "UseCase$UseCaseArn": "

The Amazon Resource Name (ARN) for the use case.

", @@ -552,7 +552,7 @@ } }, "Application": { - "base": "

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

A third party application's metadata.

", + "base": "

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

A third-party application's metadata.

", "refs": { "Applications$member": null } @@ -566,9 +566,9 @@ "Applications": { "base": null, "refs": { - "CreateSecurityProfileRequest$Applications": "

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

A list of third party applications that the security profile will give access to.

", - "ListSecurityProfileApplicationsResponse$Applications": "

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

A list of the third party application's metadata.

", - "UpdateSecurityProfileRequest$Applications": "

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

A list of the third party application's metadata.

" + "CreateSecurityProfileRequest$Applications": "

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

A list of third-party applications that the security profile will give access to.

", + "ListSecurityProfileApplicationsResponse$Applications": "

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

A list of the third-party application's metadata.

", + "UpdateSecurityProfileRequest$Applications": "

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

A list of the third-party application's metadata.

" } }, "ApproximateTotalCount": { @@ -2972,6 +2972,8 @@ "AssociateRoutingProfileQueuesRequest$InstanceId": "

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

", "AssociateSecurityKeyRequest$InstanceId": "

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

", "AssociateTrafficDistributionGroupUserRequest$InstanceId": "

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

", + "ClaimPhoneNumberRequest$InstanceId": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. You must enter InstanceId or TargetArn.

", + "ClaimedPhoneNumberSummary$InstanceId": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", "CreateAgentStatusRequest$InstanceId": "

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

", "CreateContactFlowModuleRequest$InstanceId": "

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

", "CreateContactFlowRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", @@ -3070,6 +3072,8 @@ "ListLambdaFunctionsRequest$InstanceId": "

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

", "ListLexBotsRequest$InstanceId": "

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

", "ListPhoneNumbersRequest$InstanceId": "

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

", + "ListPhoneNumbersSummary$InstanceId": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "ListPhoneNumbersV2Request$InstanceId": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. If both TargetArn and InstanceId are not provided, this API lists numbers claimed to all the Amazon Connect instances belonging to your account in the same AWS Region as the request.

", "ListPromptsRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", "ListQueueQuickConnectsRequest$InstanceId": "

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

", "ListQueuesRequest$InstanceId": "

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

", @@ -3078,7 +3082,7 @@ "ListRoutingProfilesRequest$InstanceId": "

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

", "ListRulesRequest$InstanceId": "

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

", "ListSecurityKeysRequest$InstanceId": "

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

", - "ListSecurityProfileApplicationsRequest$InstanceId": "

The instance identifier.

", + "ListSecurityProfileApplicationsRequest$InstanceId": "

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

", "ListSecurityProfilePermissionsRequest$InstanceId": "

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

", "ListSecurityProfilesRequest$InstanceId": "

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

", "ListTaskTemplatesRequest$InstanceId": "

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

", @@ -3090,6 +3094,7 @@ "ReplicateInstanceResponse$Id": "

The identifier of the replicated instance. You can find the instanceId in the ARN of the instance. The replicated instance has the same identifier as the instance it was replicated from.

", "ResumeContactRecordingRequest$InstanceId": "

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

", "RoutingProfile$InstanceId": "

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

", + "SearchAvailablePhoneNumbersRequest$InstanceId": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. You must enter InstanceId or TargetArn.

", "SearchHoursOfOperationsRequest$InstanceId": "

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

", "SearchPromptsRequest$InstanceId": "

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

", "SearchQueuesRequest$InstanceId": "

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

", @@ -3127,6 +3132,7 @@ "UpdateInstanceAttributeRequest$InstanceId": "

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

", "UpdateInstanceStorageConfigRequest$InstanceId": "

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

", "UpdateParticipantRoleConfigRequest$InstanceId": "

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

", + "UpdatePhoneNumberRequest$InstanceId": "

The identifier of the Amazon Connect instance that phone numbers are claimed to. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. You must enter InstanceId or TargetArn.

", "UpdatePromptRequest$InstanceId": "

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

", "UpdateQueueHoursOfOperationRequest$InstanceId": "

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

", "UpdateQueueMaxContactsRequest$InstanceId": "

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

", @@ -4111,8 +4117,8 @@ "ListRulesResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", "ListSecurityKeysRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ListSecurityKeysResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", - "ListSecurityProfileApplicationsRequest$NextToken": "

The token for the next set of results. The next set of results can be retrieved by using the token value returned in the previous response when making the next request.

", - "ListSecurityProfileApplicationsResponse$NextToken": "

The token for the next set of results. The next set of results can be retrieved by using the token value returned in the previous response when making the next request.

", + "ListSecurityProfileApplicationsRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "ListSecurityProfileApplicationsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", "ListSecurityProfilePermissionsRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ListSecurityProfilePermissionsResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", "ListSecurityProfilesRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", @@ -5437,7 +5443,7 @@ "CreateSecurityProfileResponse$SecurityProfileId": "

The identifier for the security profle.

", "DeleteSecurityProfileRequest$SecurityProfileId": "

The identifier for the security profle.

", "DescribeSecurityProfileRequest$SecurityProfileId": "

The identifier for the security profle.

", - "ListSecurityProfileApplicationsRequest$SecurityProfileId": "

The security profile identifier.

", + "ListSecurityProfileApplicationsRequest$SecurityProfileId": "

The identifier for the security profle.

", "ListSecurityProfilePermissionsRequest$SecurityProfileId": "

The identifier for the security profle.

", "SecurityProfile$Id": "

The identifier for the security profile.

", "SecurityProfileIds$member": null, diff --git a/models/apis/dataexchange/2017-07-25/api-2.json b/models/apis/dataexchange/2017-07-25/api-2.json index 5ed4a1f9584..3f13d782d8a 100644 --- a/models/apis/dataexchange/2017-07-25/api-2.json +++ b/models/apis/dataexchange/2017-07-25/api-2.json @@ -369,6 +369,24 @@ ], "endpoint":{"hostPrefix":"api-fulfill."} }, + "SendDataSetNotification":{ + "name":"SendDataSetNotification", + "http":{ + "method":"POST", + "requestUri":"/v1/data-sets/{DataSetId}/notification", + "responseCode":202 + }, + "input":{"shape":"SendDataSetNotificationRequest"}, + "output":{"shape":"SendDataSetNotificationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, "StartJob":{ "name":"StartJob", "http":{ @@ -615,6 +633,12 @@ } } }, + "ClientToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[\\x21-\\x7E]{1,64}" + }, "Code":{ "type":"string", "enum":[ @@ -798,6 +822,12 @@ "UpdatedAt":{"shape":"Timestamp"} } }, + "DataUpdateRequestDetails":{ + "type":"structure", + "members":{ + "DataUpdatedAt":{"shape":"Timestamp"} + } + }, "DatabaseLFTagPolicy":{ "type":"structure", "required":["Expression"], @@ -886,6 +916,13 @@ } } }, + "DeprecationRequestDetails":{ + "type":"structure", + "required":["DeprecationAt"], + "members":{ + "DeprecationAt":{"shape":"Timestamp"} + } + }, "Description":{"type":"string"}, "Details":{ "type":"structure", @@ -1486,6 +1523,13 @@ "type":"string", "enum":["LFTagPolicy"] }, + "LakeFormationTagPolicyDetails":{ + "type":"structure", + "members":{ + "Database":{"shape":"__string"}, + "Table":{"shape":"__string"} + } + }, "LimitName":{ "type":"string", "enum":[ @@ -1683,10 +1727,18 @@ "type":"list", "member":{"shape":"LFTag"} }, + "ListOfLakeFormationTagPolicies":{ + "type":"list", + "member":{"shape":"LakeFormationTagPolicyDetails"} + }, "ListOfRedshiftDataShareAssetSourceEntry":{ "type":"list", "member":{"shape":"RedshiftDataShareAssetSourceEntry"} }, + "ListOfRedshiftDataShares":{ + "type":"list", + "member":{"shape":"RedshiftDataShareDetails"} + }, "ListOfRevisionDestinationEntry":{ "type":"list", "member":{"shape":"RevisionDestinationEntry"} @@ -1695,6 +1747,14 @@ "type":"list", "member":{"shape":"RevisionEntry"} }, + "ListOfS3DataAccesses":{ + "type":"list", + "member":{"shape":"S3DataAccessDetails"} + }, + "ListOfSchemaChangeDetails":{ + "type":"list", + "member":{"shape":"SchemaChangeDetails"} + }, "ListOfTableTagPolicyLFPermissions":{ "type":"list", "member":{"shape":"TableTagPolicyLFPermission"} @@ -1771,6 +1831,23 @@ }, "Name":{"type":"string"}, "NextToken":{"type":"string"}, + "NotificationDetails":{ + "type":"structure", + "members":{ + "DataUpdate":{"shape":"DataUpdateRequestDetails"}, + "Deprecation":{"shape":"DeprecationRequestDetails"}, + "SchemaChange":{"shape":"SchemaChangeRequestDetails"} + } + }, + "NotificationType":{ + "type":"string", + "enum":[ + "DATA_DELAY", + "DATA_UPDATE", + "DEPRECATION", + "SCHEMA_CHANGE" + ] + }, "Origin":{ "type":"string", "enum":[ @@ -1803,6 +1880,21 @@ "DataShareArn":{"shape":"__string"} } }, + "RedshiftDataShareDetails":{ + "type":"structure", + "required":[ + "Arn", + "Database" + ], + "members":{ + "Arn":{"shape":"__string"}, + "Database":{"shape":"__string"}, + "Function":{"shape":"__string"}, + "Table":{"shape":"__string"}, + "Schema":{"shape":"__string"}, + "View":{"shape":"__string"} + } + }, "RequestDetails":{ "type":"structure", "members":{ @@ -1960,6 +2052,13 @@ "KmsKeysToGrant":{"shape":"ListOfKmsKeysToGrant"} } }, + "S3DataAccessDetails":{ + "type":"structure", + "members":{ + "KeyPrefixes":{"shape":"ListOf__string"}, + "Keys":{"shape":"ListOf__string"} + } + }, "S3SnapshotAsset":{ "type":"structure", "required":["Size"], @@ -1967,6 +2066,42 @@ "Size":{"shape":"__doubleMin0"} } }, + "SchemaChangeDetails":{ + "type":"structure", + "required":[ + "Name", + "Type" + ], + "members":{ + "Name":{"shape":"__string"}, + "Type":{"shape":"SchemaChangeType"}, + "Description":{"shape":"__string"} + } + }, + "SchemaChangeRequestDetails":{ + "type":"structure", + "required":["SchemaChangeAt"], + "members":{ + "Changes":{"shape":"ListOfSchemaChangeDetails"}, + "SchemaChangeAt":{"shape":"Timestamp"} + } + }, + "SchemaChangeType":{ + "type":"string", + "enum":[ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "ScopeDetails":{ + "type":"structure", + "members":{ + "LakeFormationTagPolicies":{"shape":"ListOfLakeFormationTagPolicies"}, + "RedshiftDataShares":{"shape":"ListOfRedshiftDataShares"}, + "S3DataAccesses":{"shape":"ListOfS3DataAccesses"} + } + }, "SendApiAssetRequest":{ "type":"structure", "required":[ @@ -2025,6 +2160,33 @@ }, "payload":"Body" }, + "SendDataSetNotificationRequest":{ + "type":"structure", + "required":[ + "DataSetId", + "Type" + ], + "members":{ + "Scope":{"shape":"ScopeDetails"}, + "ClientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "Comment":{"shape":"__stringMin0Max16384"}, + "DataSetId":{ + "shape":"__string", + "location":"uri", + "locationName":"DataSetId" + }, + "Details":{"shape":"NotificationDetails"}, + "Type":{"shape":"NotificationType"} + } + }, + "SendDataSetNotificationResponse":{ + "type":"structure", + "members":{ + } + }, "ServerSideEncryptionTypes":{ "type":"string", "enum":[ diff --git a/models/apis/dataexchange/2017-07-25/docs-2.json b/models/apis/dataexchange/2017-07-25/docs-2.json index 192cd8424e9..c394cd8f8ad 100644 --- a/models/apis/dataexchange/2017-07-25/docs-2.json +++ b/models/apis/dataexchange/2017-07-25/docs-2.json @@ -24,6 +24,7 @@ "ListTagsForResource": "

This operation lists the tags on the resource.

", "RevokeRevision": "

This operation revokes subscribers' access to a revision.

", "SendApiAsset": "

This operation invokes an API Gateway API asset. The request is proxied to the provider’s API Gateway API.

", + "SendDataSetNotification": "

The type of event associated with the data set.

", "StartJob": "

This operation starts a job.

", "TagResource": "

This operation tags a resource.

", "UntagResource": "

This operation removes one or more tags from a resource.

", @@ -163,6 +164,12 @@ "refs": { } }, + "ClientToken": { + "base": null, + "refs": { + "SendDataSetNotificationRequest$ClientToken": "

Idempotency key for the notification, this key allows us to deduplicate notifications that are sent in quick succession erroneously.

" + } + }, "Code": { "base": null, "refs": { @@ -232,6 +239,12 @@ "ListOfDataSetEntry$member": null } }, + "DataUpdateRequestDetails": { + "base": "

Extra details specific to a data update type notification.

", + "refs": { + "NotificationDetails$DataUpdate": "

Extra details specific to a data update type notification.

" + } + }, "DatabaseLFTagPolicy": { "base": "

The LF-tag policy for database resources.

", "refs": { @@ -271,6 +284,12 @@ "refs": { } }, + "DeprecationRequestDetails": { + "base": "

Extra details specific to a deprecation type notification.

", + "refs": { + "NotificationDetails$Deprecation": "

Extra details specific to a deprecation type notification.

" + } + }, "Description": { "base": null, "refs": { @@ -647,6 +666,12 @@ "LakeFormationDataPermissionAsset$LakeFormationDataPermissionType": "

The data permission type.

" } }, + "LakeFormationTagPolicyDetails": { + "base": "

Extra details specific to the affected scope in this LF data set.

", + "refs": { + "ListOfLakeFormationTagPolicies$member": null + } + }, "LimitName": { "base": null, "refs": { @@ -774,6 +799,12 @@ "TableLFTagPolicyAndPermissions$Expression": "

A list of LF-tag conditions that apply to table resources.

" } }, + "ListOfLakeFormationTagPolicies": { + "base": null, + "refs": { + "ScopeDetails$LakeFormationTagPolicies": "

Underlying LF resources that will be affected by this notification.

" + } + }, "ListOfRedshiftDataShareAssetSourceEntry": { "base": null, "refs": { @@ -781,6 +812,12 @@ "ImportAssetsFromRedshiftDataSharesResponseDetails$AssetSources": "

A list of Amazon Redshift datashare asset sources.

" } }, + "ListOfRedshiftDataShares": { + "base": null, + "refs": { + "ScopeDetails$RedshiftDataShares": "

Underlying Redshift resources that will be affected by this notification.

" + } + }, "ListOfRevisionDestinationEntry": { "base": null, "refs": { @@ -794,6 +831,18 @@ "ListDataSetRevisionsResponse$Revisions": "

The asset objects listed by the request.

" } }, + "ListOfS3DataAccesses": { + "base": null, + "refs": { + "ScopeDetails$S3DataAccesses": "

Underlying S3 resources that will be affected by this notification.

" + } + }, + "ListOfSchemaChangeDetails": { + "base": null, + "refs": { + "SchemaChangeRequestDetails$Changes": "

List of schema changes happening in the scope of this notification. This can have up to 100 entries.

" + } + }, "ListOfTableTagPolicyLFPermissions": { "base": null, "refs": { @@ -807,6 +856,8 @@ "S3DataAccessAsset$Keys": "

S3 keys made available using this asset.

", "S3DataAccessAssetSourceEntry$KeyPrefixes": "

Organizes Amazon S3 asset key prefixes stored in an Amazon S3 bucket.

", "S3DataAccessAssetSourceEntry$Keys": "

The keys used to create the Amazon S3 data access.

", + "S3DataAccessDetails$KeyPrefixes": "

A list of the key prefixes affected by this notification. This can have up to 50 entries.

", + "S3DataAccessDetails$Keys": "

A list of the keys affected by this notification. This can have up to 50 entries.

", "UntagResourceRequest$TagKeys": "

The key tags.

" } }, @@ -877,6 +928,18 @@ "ListRevisionAssetsResponse$NextToken": "

The token value retrieved from a previous call to access the next page of results.

" } }, + "NotificationDetails": { + "base": "

Extra details specific to this notification.

", + "refs": { + "SendDataSetNotificationRequest$Details": "

Extra details specific to this notification type.

" + } + }, + "NotificationType": { + "base": null, + "refs": { + "SendDataSetNotificationRequest$Type": "

The type of the notification. Describing the kind of event the notification is alerting you to.

" + } + }, "Origin": { "base": null, "refs": { @@ -915,6 +978,12 @@ "ListOfRedshiftDataShareAssetSourceEntry$member": null } }, + "RedshiftDataShareDetails": { + "base": "

Extra details specific to the affected scope in this Redshift data set.

", + "refs": { + "ListOfRedshiftDataShares$member": null + } + }, "RequestDetails": { "base": "

The details for the request.

", "refs": { @@ -990,12 +1059,42 @@ "CreateS3DataAccessFromS3BucketResponseDetails$AssetSource": "

Details about the asset source from an Amazon S3 bucket.

" } }, + "S3DataAccessDetails": { + "base": "

Extra details specific to the affected scope in this S3 Data Access data set.

", + "refs": { + "ListOfS3DataAccesses$member": null + } + }, "S3SnapshotAsset": { "base": "

The Amazon S3 object that is the asset.

", "refs": { "AssetDetails$S3SnapshotAsset": "

The Amazon S3 object that is the asset.

" } }, + "SchemaChangeDetails": { + "base": "

Object encompassing information about a schema change to a single, particular field, a notification can have up to 100 of these.

", + "refs": { + "ListOfSchemaChangeDetails$member": null + } + }, + "SchemaChangeRequestDetails": { + "base": "

Extra details specific to this schema change type notification.

", + "refs": { + "NotificationDetails$SchemaChange": "

Extra details specific to a schema change type notification.

" + } + }, + "SchemaChangeType": { + "base": null, + "refs": { + "SchemaChangeDetails$Type": "

Is the field being added, removed, or modified?

" + } + }, + "ScopeDetails": { + "base": "

Details about the scope of the notifications such as the affected resources.

", + "refs": { + "SendDataSetNotificationRequest$Scope": "

Affected scope of this notification such as the underlying resources affected by the notification event.

" + } + }, "SendApiAssetRequest": { "base": null, "refs": { @@ -1006,6 +1105,16 @@ "refs": { } }, + "SendDataSetNotificationRequest": { + "base": null, + "refs": { + } + }, + "SendDataSetNotificationResponse": { + "base": null, + "refs": { + } + }, "ServerSideEncryptionTypes": { "base": null, "refs": { @@ -1088,6 +1197,8 @@ "CreateRevisionResponse$RevokedAt": "

The date and time that the revision was revoked, in ISO 8601 format.

", "DataSetEntry$CreatedAt": "

The date and time that the data set was created, in ISO 8601 format.

", "DataSetEntry$UpdatedAt": "

The date and time that the data set was last updated, in ISO 8601 format.

", + "DataUpdateRequestDetails$DataUpdatedAt": "

A datetime in the past when the data was updated. This typically means that the underlying resource supporting the data set was updated.

", + "DeprecationRequestDetails$DeprecationAt": "

A datetime in the future when the data set will be deprecated.

", "EventActionEntry$CreatedAt": "

The date and time that the event action was created, in ISO 8601 format.

", "EventActionEntry$UpdatedAt": "

The date and time that the event action was last updated, in ISO 8601 format.

", "ExportAssetToSignedUrlResponseDetails$SignedUrlExpiresAt": "

The date and time that the signed URL expires, in ISO 8601 format.

", @@ -1112,6 +1223,7 @@ "RevokeRevisionResponse$CreatedAt": "

The date and time that the revision was created, in ISO 8601 format.

", "RevokeRevisionResponse$UpdatedAt": "

The date and time that the revision was last updated, in ISO 8601 format.

", "RevokeRevisionResponse$RevokedAt": "

The date and time that the revision was revoked, in ISO 8601 format.

", + "SchemaChangeRequestDetails$SchemaChangeAt": "

A date in the future when the schema change is taking effect.

", "UpdateAssetResponse$CreatedAt": "

The date and time that the asset was created, in ISO 8601 format.

", "UpdateAssetResponse$UpdatedAt": "

The date and time that the asset was last updated, in ISO 8601 format.

", "UpdateDataSetResponse$CreatedAt": "

The date and time that the data set was created, in ISO 8601 format.

", @@ -1262,6 +1374,8 @@ "InternalServerException$Message": "

The message identifying the service exception that occurred.

", "JobError$Message": "

The message related to the job error.

", "JobError$ResourceId": "

The unique identifier for the resource related to the error.

", + "LakeFormationTagPolicyDetails$Database": "

The underlying Glue database that the notification is referring to.

", + "LakeFormationTagPolicyDetails$Table": "

The underlying Glue table that the notification is referring to.

", "ListDataSetRevisionsRequest$DataSetId": "

The unique identifier for a data set.

", "ListDataSetRevisionsRequest$NextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListDataSetsRequest$NextToken": "

The token value retrieved from a previous call to access the next page of results.

", @@ -1281,6 +1395,12 @@ "OriginDetails$ProductId": "

The product ID of the origin of the data set.

", "RedshiftDataShareAsset$Arn": "

The Amazon Resource Name (ARN) of the datashare asset.

", "RedshiftDataShareAssetSourceEntry$DataShareArn": "

The Amazon Resource Name (ARN) of the datashare asset.

", + "RedshiftDataShareDetails$Arn": "

The ARN of the underlying Redshift data share that is being affected by this notification.

", + "RedshiftDataShareDetails$Database": "

The database name in the Redshift data share that is being affected by this notification.

", + "RedshiftDataShareDetails$Function": "

A function name in the Redshift database that is being affected by this notification.

", + "RedshiftDataShareDetails$Table": "

A table name in the Redshift database that is being affected by this notification.

", + "RedshiftDataShareDetails$Schema": "

A schema name in the Redshift database that is being affected by this notification.

", + "RedshiftDataShareDetails$View": "

A view name in the Redshift database that is being affected by this notification.

", "ResourceNotFoundException$Message": "

The resource couldn't be found.

", "ResourceNotFoundException$ResourceId": "

The unique identifier for the resource that couldn't be found.

", "RevisionDestinationEntry$Bucket": "

The Amazon S3 bucket that is the destination for the assets in the revision.

", @@ -1291,6 +1411,8 @@ "S3DataAccessAsset$S3AccessPointAlias": "

The automatically-generated bucket-style alias for your Amazon S3 Access Point. Customers can access their entitled data using the S3 Access Point alias.

", "S3DataAccessAsset$S3AccessPointArn": "

The ARN for your Amazon S3 Access Point. Customers can also access their entitled data using the S3 Access Point ARN.

", "S3DataAccessAssetSourceEntry$Bucket": "

The Amazon S3 bucket used for hosting shared data in the Amazon S3 data access.

", + "SchemaChangeDetails$Name": "

Name of the changing field. This value can be up to 255 characters long.

", + "SchemaChangeDetails$Description": "

Description of what's changing about this field. This value can be up to 512 characters long.

", "SendApiAssetRequest$Body": "

The request body.

", "SendApiAssetRequest$AssetId": "

Asset ID value for the API request.

", "SendApiAssetRequest$DataSetId": "

Data set ID value for the API request.

", @@ -1298,6 +1420,7 @@ "SendApiAssetRequest$Path": "

URI path value for the API request. Alternatively, you can set the URI path directly by invoking /v1/{pathValue}.

", "SendApiAssetRequest$RevisionId": "

Revision ID value for the API request.

", "SendApiAssetResponse$Body": "

The response body from the underlying API tracked by the API asset.

", + "SendDataSetNotificationRequest$DataSetId": "

Affected data set of the notification.

", "ServiceLimitExceededException$Message": "

The request has exceeded the quotas imposed by the service.

", "StartJobRequest$JobId": "

The unique identifier for a job.

", "TagResourceRequest$ResourceArn": "

An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.

", @@ -1321,6 +1444,7 @@ "GetRevisionResponse$Comment": "

An optional comment about the revision.

", "RevisionEntry$Comment": "

An optional comment about the revision.

", "RevokeRevisionResponse$Comment": "

An optional comment about the revision.

", + "SendDataSetNotificationRequest$Comment": "

Free-form text field for providers to add information about their notifications.

", "UpdateRevisionRequest$Comment": "

An optional comment about the revision.

", "UpdateRevisionResponse$Comment": "

An optional comment about the revision.

" } diff --git a/models/apis/dataexchange/2017-07-25/endpoint-rule-set-1.json b/models/apis/dataexchange/2017-07-25/endpoint-rule-set-1.json index 1efff28c887..c0d8e7884a7 100644 --- a/models/apis/dataexchange/2017-07-25/endpoint-rule-set-1.json +++ b/models/apis/dataexchange/2017-07-25/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://dataexchange-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://dataexchange-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://dataexchange-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://dataexchange-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://dataexchange.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://dataexchange.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://dataexchange.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dataexchange.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/dataexchange/2017-07-25/endpoint-tests-1.json b/models/apis/dataexchange/2017-07-25/endpoint-tests-1.json index d25d3633ad5..0593d36ac7a 100644 --- a/models/apis/dataexchange/2017-07-25/endpoint-tests-1.json +++ b/models/apis/dataexchange/2017-07-25/endpoint-tests-1.json @@ -9,8 +9,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -256,8 +256,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -269,8 +269,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -282,8 +282,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -293,8 +293,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -306,8 +306,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -317,8 +317,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -330,8 +330,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -341,8 +341,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -354,8 +354,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -365,8 +365,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -378,8 +378,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -391,8 +391,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -404,8 +404,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -416,8 +416,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -428,8 +428,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } }, diff --git a/models/apis/datasync/2018-11-09/api-2.json b/models/apis/datasync/2018-11-09/api-2.json index 88a1c0fd8f4..3f9a48a2e87 100644 --- a/models/apis/datasync/2018-11-09/api-2.json +++ b/models/apis/datasync/2018-11-09/api-2.json @@ -864,7 +864,8 @@ "members":{ "AgentArn":{"shape":"AgentArn"}, "Name":{"shape":"TagValue"}, - "Status":{"shape":"AgentStatus"} + "Status":{"shape":"AgentStatus"}, + "Platform":{"shape":"Platform"} } }, "AgentStatus":{ @@ -874,6 +875,12 @@ "OFFLINE" ] }, + "AgentVersion":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9\\s+=._:@/-]+$" + }, "Atime":{ "type":"string", "enum":[ @@ -1311,7 +1318,8 @@ "LastConnectionTime":{"shape":"Time"}, "CreationTime":{"shape":"Time"}, "EndpointType":{"shape":"EndpointType"}, - "PrivateLinkConfig":{"shape":"PrivateLinkConfig"} + "PrivateLinkConfig":{"shape":"PrivateLinkConfig"}, + "Platform":{"shape":"Platform"} } }, "DescribeDiscoveryJobRequest":{ @@ -2412,8 +2420,8 @@ "ObjectStorageSecretKey":{ "type":"string", "max":200, - "min":1, - "pattern":"^.+$", + "min":0, + "pattern":"^.*$", "sensitive":true }, "ObjectStorageServerPort":{ @@ -2526,6 +2534,12 @@ "ERROR" ] }, + "Platform":{ + "type":"structure", + "members":{ + "Version":{"shape":"AgentVersion"} + } + }, "PosixPermissions":{ "type":"string", "enum":[ diff --git a/models/apis/datasync/2018-11-09/docs-2.json b/models/apis/datasync/2018-11-09/docs-2.json index 12a70990f53..add630c67f8 100644 --- a/models/apis/datasync/2018-11-09/docs-2.json +++ b/models/apis/datasync/2018-11-09/docs-2.json @@ -8,19 +8,19 @@ "CreateLocationAzureBlob": "

Creates an endpoint for a Microsoft Azure Blob Storage container that DataSync can use as a transfer source or destination.

Before you begin, make sure you know how DataSync accesses Azure Blob Storage and works with access tiers and blob types. You also need a DataSync agent that can connect to your container.

", "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.

", + "CreateLocationFsxOntap": "

Creates an endpoint for an Amazon FSx for NetApp ONTAP file system that DataSync can use for a data transfer.

Before you begin, make sure that you understand how DataSync accesses an FSx for ONTAP file system.

", "CreateLocationFsxOpenZfs": "

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

Request parameters related to SMB aren't supported with the CreateLocationFsxOpenZfs operation.

", - "CreateLocationFsxWindows": "

Creates an endpoint for an Amazon FSx for Windows File Server file system.

", + "CreateLocationFsxWindows": "

Creates an endpoint for an Amazon FSx for Windows File Server file system that DataSync can use for a data transfer.

Before you begin, make sure that you understand how DataSync accesses an FSx for Windows File Server.

", "CreateLocationHdfs": "

Creates an endpoint for a Hadoop Distributed File System (HDFS).

", "CreateLocationNfs": "

Creates an endpoint for a Network File System (NFS) file server that DataSync can use for a data transfer.

For more information, see Configuring transfers to or from an NFS file server.

If you're copying data to or from an Snowcone device, you can also use CreateLocationNfs to create your transfer location. For more information, see Configuring transfers with Snowcone.

", "CreateLocationObjectStorage": "

Creates an endpoint for an object storage system that DataSync can access for a transfer. For more information, see Creating a location for object storage.

", "CreateLocationS3": "

A location is an endpoint for an Amazon S3 bucket. DataSync can use the location as a source or destination for copying data.

Before you create your location, make sure that you read the following sections:

For more information, see Creating an Amazon S3 location.

", "CreateLocationSmb": "

Creates an endpoint for a Server Message Block (SMB) file server that DataSync can use for a data transfer.

Before you begin, make sure that you understand how DataSync accesses an SMB file server.

", "CreateTask": "

Configures a transfer task, which defines where and how DataSync moves your data.

A task includes a source location, destination location, and the options for how and when you want to transfer your data (such as bandwidth limits, scheduling, among other options).

If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

", - "DeleteAgent": "

Deletes an agent. To specify which agent to delete, use the Amazon Resource Name (ARN) of the agent in your request. The operation disassociates the agent from your Amazon Web Services account. However, it doesn't delete the agent virtual machine (VM) from your on-premises environment.

", + "DeleteAgent": "

Removes an DataSync agent resource from your Amazon Web Services account.

Keep in mind that this operation (which can't be undone) doesn't remove the agent's virtual machine (VM) or Amazon EC2 instance from your storage environment. For next steps, you can delete the VM or instance from your storage environment or reuse it to activate a new agent.

", "DeleteLocation": "

Deletes the configuration of a location used by DataSync.

", "DeleteTask": "

Deletes an DataSync transfer task.

", - "DescribeAgent": "

Returns metadata about an DataSync agent, such as its name, endpoint type, and status.

", + "DescribeAgent": "

Returns information about an DataSync agent, such as its name, service endpoint type, and status.

", "DescribeDiscoveryJob": "

Returns information about a DataSync discovery job.

", "DescribeLocationAzureBlob": "

Provides details about how an DataSync transfer location for Microsoft Azure Blob Storage is configured.

", "DescribeLocationEfs": "

Returns metadata about your DataSync location for an Amazon EFS file system.

", @@ -52,13 +52,13 @@ "StopDiscoveryJob": "

Stops a running DataSync discovery job.

You can stop a discovery job anytime. A job that's stopped before it's scheduled to end likely will provide you some information about your on-premises storage system resources. To get recommendations for a stopped job, you must use the GenerateRecommendations operation.

", "TagResource": "

Applies a tag to an Amazon Web Services resource. Tags are key-value pairs that can help you manage, filter, and search for your resources.

These include DataSync resources, such as locations, tasks, and task executions.

", "UntagResource": "

Removes tags from an Amazon Web Services resource.

", - "UpdateAgent": "

Updates the name of an agent.

", + "UpdateAgent": "

Updates the name of an DataSync agent.

", "UpdateDiscoveryJob": "

Edits a DataSync discovery job configuration.

", "UpdateLocationAzureBlob": "

Modifies some configurations of the Microsoft Azure Blob Storage transfer location that you're using with DataSync.

", "UpdateLocationHdfs": "

Updates some parameters of a previously created location for a Hadoop Distributed File System cluster.

", "UpdateLocationNfs": "

Modifies some configurations of the Network File System (NFS) transfer location that you're using with DataSync.

For more information, see Configuring transfers to or from an NFS file server.

", "UpdateLocationObjectStorage": "

Updates some parameters of an existing object storage location that DataSync accesses for a transfer. For information about creating a self-managed object storage location, see Creating a location for object storage.

", - "UpdateLocationSmb": "

Updates some of the parameters of a previously created location for Server Message Block (SMB) file system access. For information about creating an SMB location, see Creating a location for SMB.

", + "UpdateLocationSmb": "

Updates some of the parameters of a Server Message Block (SMB) file server location that you can use for DataSync transfers.

", "UpdateStorageSystem": "

Modifies some configurations of an on-premises storage system resource that you're using with DataSync Discovery.

", "UpdateTask": "

Updates the configuration of a DataSync transfer task.

", "UpdateTaskExecution": "

Updates the configuration of a running DataSync task execution.

Currently, the only Option that you can modify with UpdateTaskExecution is BytesPerSecond , which throttles bandwidth for a running or queued task execution.

" @@ -87,7 +87,7 @@ "AgentListEntry$AgentArn": "

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

", "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.

", + "DescribeAgentRequest$AgentArn": "

Specifies the Amazon Resource Name (ARN) of the DataSync agent that you want information about.

", "DescribeAgentResponse$AgentArn": "

The ARN of the agent.

", "DiscoveryAgentArnList$member": null, "UpdateAgentRequest$AgentArn": "

The Amazon Resource Name (ARN) of the agent to update.

" @@ -110,7 +110,7 @@ "UpdateLocationAzureBlobRequest$AgentArns": "

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.

You can specify more than one agent. For more information, see Using multiple agents for your transfer.

", "UpdateLocationHdfsRequest$AgentArns": "

The ARNs of the agents that are used to connect to the HDFS cluster.

", "UpdateLocationObjectStorageRequest$AgentArns": "

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can securely connect with your location.

", - "UpdateLocationSmbRequest$AgentArns": "

The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block (SMB) location.

" + "UpdateLocationSmbRequest$AgentArns": "

Specifies the DataSync agent (or agents) which you want to connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

" } }, "AgentList": { @@ -128,8 +128,14 @@ "AgentStatus": { "base": null, "refs": { - "AgentListEntry$Status": "

The status of an agent. For more information, see DataSync agent statuses.

", - "DescribeAgentResponse$Status": "

The status of the agent. If the status is ONLINE, then the agent is configured properly and is available to use. The Running status is the normal running status for an agent. If the status is OFFLINE, the agent's VM is turned off or the agent is in an unhealthy state. When the issue that caused the unhealthy state is resolved, the agent returns to ONLINE status.

" + "AgentListEntry$Status": "

The status of an agent.

", + "DescribeAgentResponse$Status": "

The status of the agent.

" + } + }, + "AgentVersion": { + "base": null, + "refs": { + "Platform$Version": "

The version of the DataSync agent.

Beginning December 7, 2023, we will discontinue version 1 DataSync agents. Check the DataSync console to see if you have affected agents. If you do, replace those agents before then to avoid data transfer or storage discovery disruptions. If you need more help, contact Amazon Web Services Support.

" } }, "Atime": { @@ -770,7 +776,7 @@ "EndpointType": { "base": null, "refs": { - "DescribeAgentResponse$EndpointType": "

The type of endpoint that your agent is connected to. If the endpoint is a VPC endpoint, the agent is not accessible over the public internet.

" + "DescribeAgentResponse$EndpointType": "

The type of service endpoint that your agent is connected to.

" } }, "ErrorMessage": { @@ -989,7 +995,7 @@ "refs": { "CreateLocationEfsRequest$FileSystemAccessRoleArn": "

Specifies an Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.

", "DescribeLocationEfsResponse$FileSystemAccessRoleArn": "

The Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.

", - "ReportDestinationS3$BucketAccessRoleArn": "

Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync to upload a task report to your S3 bucket. For more information, see Allowing DataSync to upload a task report to an Amazon S3 bucket.

", + "ReportDestinationS3$BucketAccessRoleArn": "

Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync to upload a task report to your S3 bucket. For more information, see Allowing DataSync to upload a task report to an Amazon S3 bucket.

", "S3Config$BucketAccessRoleArn": "

The ARN of the IAM role for accessing the S3 bucket.

" } }, @@ -1177,7 +1183,7 @@ "UpdateLocationHdfsRequest$LocationArn": "

The Amazon Resource Name (ARN) of the source HDFS cluster location.

", "UpdateLocationNfsRequest$LocationArn": "

Specifies the Amazon Resource Name (ARN) of the NFS transfer location that you want to update.

", "UpdateLocationObjectStorageRequest$LocationArn": "

Specifies the ARN of the object storage system location that you're updating.

", - "UpdateLocationSmbRequest$LocationArn": "

The Amazon Resource Name (ARN) of the SMB location to update.

" + "UpdateLocationSmbRequest$LocationArn": "

Specifies the ARN of the SMB location that you want to update.

" } }, "LocationFilter": { @@ -1543,6 +1549,13 @@ "TaskExecutionResultDetail$VerifyStatus": "

The status of the VERIFYING phase.

" } }, + "Platform": { + "base": "

The platform-related details about the DataSync agent, such as the version number.

", + "refs": { + "AgentListEntry$Platform": "

The platform-related details about the agent, such as the version number.

", + "DescribeAgentResponse$Platform": "

The platform-related details about the agent, such as the version number.

" + } + }, "PosixPermissions": { "base": null, "refs": { @@ -1562,9 +1575,9 @@ } }, "PrivateLinkConfig": { - "base": "

Specifies how your DataSync agent connects to Amazon Web Services using a virtual private cloud (VPC) service endpoint. An agent that uses a VPC endpoint isn't accessible over the public internet.

", + "base": "

Specifies how your DataSync agent connects to Amazon Web Services using a virtual private cloud (VPC) service endpoint. An agent that uses a VPC endpoint isn't accessible over the public internet.

", "refs": { - "DescribeAgentResponse$PrivateLinkConfig": "

The subnet and the security group that DataSync used to access a VPC endpoint.

" + "DescribeAgentResponse$PrivateLinkConfig": "

The network configuration that the agent uses when connecting to a VPC service endpoint.

" } }, "PtolemyBoolean": { @@ -1660,13 +1673,13 @@ } }, "ReportDestination": { - "base": "

Specifies where DataSync uploads your task report.

", + "base": "

Specifies where DataSync uploads your task report.

", "refs": { - "TaskReportConfig$Destination": "

Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see Task reports.

" + "TaskReportConfig$Destination": "

Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see Task reports.

" } }, "ReportDestinationS3": { - "base": "

Specifies the Amazon S3 bucket where DataSync uploads your task report.

", + "base": "

Specifies the Amazon S3 bucket where DataSync uploads your task report.

", "refs": { "ReportDestination$S3": "

Specifies the Amazon S3 bucket where DataSync uploads your task report.

" } @@ -1685,7 +1698,7 @@ } }, "ReportOverride": { - "base": "

Specifies the level of detail for a particular aspect of your DataSync task report.

", + "base": "

Specifies the level of detail for a particular aspect of your DataSync task report.

", "refs": { "ReportOverrides$Transferred": "

Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.

", "ReportOverrides$Verified": "

Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify at the end of your transfer.

", @@ -1694,15 +1707,15 @@ } }, "ReportOverrides": { - "base": "

The level of detail included in each aspect of your DataSync task report.

", + "base": "

The level of detail included in each aspect of your DataSync task report.

", "refs": { "TaskReportConfig$Overrides": "

Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.

" } }, "ReportResult": { - "base": "

Indicates whether DataSync created a complete task report for your transfer.

", + "base": "

Indicates whether DataSync created a complete task report for your transfer.

", "refs": { - "DescribeTaskExecutionResponse$ReportResult": "

Indicates whether DataSync generated a complete task report for your transfer.

" + "DescribeTaskExecutionResponse$ReportResult": "

Indicates whether DataSync generated a complete task report for your transfer.

" } }, "ResourceDetails": { @@ -1791,12 +1804,12 @@ "SmbDomain": { "base": null, "refs": { - "CreateLocationFsxWindowsRequest$Domain": "

Specifies the name of the Windows domain that the FSx for Windows File Server belongs to.

", - "CreateLocationSmbRequest$Domain": "

Specifies the Windows domain name that your SMB file server belongs to.

For more information, see required permissions for SMB locations.

", + "CreateLocationFsxWindowsRequest$Domain": "

Specifies the name of the Windows domain that the FSx for Windows File Server belongs to.

If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

For more information, see required permissions for FSx for Windows File Server locations.

", + "CreateLocationSmbRequest$Domain": "

Specifies the Windows domain name that your SMB file server belongs to.

If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

For more information, see required permissions for SMB locations.

", "DescribeLocationFsxWindowsResponse$Domain": "

The name of the Windows domain that the FSx for Windows File Server belongs to.

", "DescribeLocationSmbResponse$Domain": "

The name of the Windows domain that the SMB server belongs to.

", "FsxProtocolSmb$Domain": "

Specifies the fully qualified domain name (FQDN) of the Microsoft Active Directory that your storage virtual machine (SVM) belongs to.

", - "UpdateLocationSmbRequest$Domain": "

The name of the Windows domain that the SMB server belongs to.

" + "UpdateLocationSmbRequest$Domain": "

Specifies the Windows domain name that your SMB file server belongs to.

If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

For more information, see required permissions for SMB locations.

" } }, "SmbMountOptions": { @@ -1811,10 +1824,10 @@ "SmbPassword": { "base": null, "refs": { - "CreateLocationFsxWindowsRequest$Password": "

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

", + "CreateLocationFsxWindowsRequest$Password": "

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

For more information, see required permissions for FSx for Windows File Server locations.

", "CreateLocationSmbRequest$Password": "

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

For more information, see required permissions for SMB locations.

", "FsxProtocolSmb$Password": "

Specifies the password of a user who has permission to access your SVM.

", - "UpdateLocationSmbRequest$Password": "

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

" + "UpdateLocationSmbRequest$Password": "

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

For more information, see required permissions for SMB locations.

" } }, "SmbSecurityDescriptorCopyFlags": { @@ -1827,18 +1840,18 @@ "base": null, "refs": { "CreateLocationSmbRequest$Subdirectory": "

Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, /path/to/subdirectory). Make sure that other SMB clients in your network can also mount this path.

To copy all data in the specified subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see required permissions for SMB locations.

", - "UpdateLocationSmbRequest$Subdirectory": "

The subdirectory in the SMB file system that is used to read data from the SMB source location or write data to the SMB destination. The SMB path should be a path that's exported by the SMB server, or a subdirectory of that path. The path should be such that it can be mounted by other SMB clients in your network.

Subdirectory must be specified with forward slashes. For example, /path/to/folder.

To transfer all the data in the folder that you specified, DataSync must have permissions to mount the SMB share and to access all the data in that share. To ensure this, do either of the following:

Doing either of these options enables the agent to access the data. For the agent to access directories, you must also enable all execute access.

" + "UpdateLocationSmbRequest$Subdirectory": "

Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, /path/to/subdirectory). Make sure that other SMB clients in your network can also mount this path.

To copy all data in the specified subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see required permissions for SMB locations.

" } }, "SmbUser": { "base": null, "refs": { - "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.

", + "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 the right level of access for your transfer, see required permissions for FSx for Windows File Server locations.

", "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.

", "FsxProtocolSmb$User": "

Specifies a user name that can mount the location and access the files, folders, and metadata that you need in the SVM.

If you provide a user in your Active Directory, note the following:

Make sure that the user has the permissions it needs to copy the data you want:

", - "UpdateLocationSmbRequest$User": "

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

" + "UpdateLocationSmbRequest$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.

" } }, "SmbVersion": { @@ -2061,11 +2074,11 @@ } }, "TaskReportConfig": { - "base": "

Specifies how you want to configure a task report, which provides detailed information about for your DataSync transfer.

For more information, see Task reports.

", + "base": "

Specifies how you want to configure a task report, which provides detailed information about for your DataSync transfer.

For more information, see Task reports.

", "refs": { "CreateTaskRequest$TaskReportConfig": "

Specifies how you want to configure a task report, which provides detailed information about for your DataSync transfer.

", "DescribeTaskExecutionResponse$TaskReportConfig": "

The configuration of your task report, which provides detailed information about for your DataSync transfer.

", - "DescribeTaskResponse$TaskReportConfig": "

The configuration of your task report. For more information, see Creating a task report.

", + "DescribeTaskResponse$TaskReportConfig": "

The configuration of your task report. For more information, see Creating a task report.

", "StartTaskExecutionRequest$TaskReportConfig": "

Specifies how you want to configure a task report, which provides detailed information about for your DataSync transfer.

", "UpdateTaskRequest$TaskReportConfig": "

Specifies how you want to configure a task report, which provides detailed information about for your DataSync transfer.

" } @@ -2094,8 +2107,8 @@ "Time": { "base": null, "refs": { - "DescribeAgentResponse$LastConnectionTime": "

The time that the agent last connected to DataSync.

", - "DescribeAgentResponse$CreationTime": "

The time that the agent was activated (that is, created in your account).

", + "DescribeAgentResponse$LastConnectionTime": "

The last time that the agent was communicating with the DataSync service.

", + "DescribeAgentResponse$CreationTime": "

The time that the agent was activated.

", "DescribeLocationAzureBlobResponse$CreationTime": "

The time that your Azure Blob Storage transfer location was created.

", "DescribeLocationEfsResponse$CreationTime": "

The time that the location was created.

", "DescribeLocationFsxLustreResponse$CreationTime": "

The time that the FSx for Lustre location was created.

", @@ -2264,7 +2277,7 @@ "DescribeTaskExecutionResponse$BytesCompressed": "

The physical number of bytes transferred over the network after compression was applied. In most cases, this number is less than BytesTransferred unless the data isn't compressible.

", "DescribeTaskExecutionResponse$FilesDeleted": "

The number of files, objects, and directories that DataSync deleted in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

", "DescribeTaskExecutionResponse$FilesSkipped": "

The number of files, objects, and directories that DataSync skipped during your transfer.

", - "DescribeTaskExecutionResponse$FilesVerified": "

The number of files, objects, and directories that DataSync verified during your transfer.

", + "DescribeTaskExecutionResponse$FilesVerified": "

The number of files, objects, and directories that DataSync verified during your transfer.

When you configure your task to verify only the data that's transferred, DataSync doesn't verify directories in some situations or files that fail to transfer.

", "DescribeTaskExecutionResponse$EstimatedFilesToDelete": "

The expected number of files, objects, and directories that DataSync will delete in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

" } }, diff --git a/models/apis/datasync/2018-11-09/endpoint-rule-set-1.json b/models/apis/datasync/2018-11-09/endpoint-rule-set-1.json index 0d32931aa5a..ee7f280d542 100644 --- a/models/apis/datasync/2018-11-09/endpoint-rule-set-1.json +++ b/models/apis/datasync/2018-11-09/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/finspace/2021-03-12/api-2.json b/models/apis/finspace/2021-03-12/api-2.json index 4111a8df37a..113761d7a7a 100644 --- a/models/apis/finspace/2021-03-12/api-2.json +++ b/models/apis/finspace/2021-03-12/api-2.json @@ -485,6 +485,24 @@ {"shape":"ValidationException"} ] }, + "UpdateKxClusterCodeConfiguration":{ + "name":"UpdateKxClusterCodeConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/kx/environments/{environmentId}/clusters/{clusterName}/configuration/code" + }, + "input":{"shape":"UpdateKxClusterCodeConfigurationRequest"}, + "output":{"shape":"UpdateKxClusterCodeConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "UpdateKxClusterDatabases":{ "name":"UpdateKxClusterDatabases", "http":{ @@ -1561,6 +1579,20 @@ "createdTimestamp":{"shape":"Timestamp"} } }, + "KxClusterCodeDeploymentConfiguration":{ + "type":"structure", + "required":["deploymentStrategy"], + "members":{ + "deploymentStrategy":{"shape":"KxClusterCodeDeploymentStrategy"} + } + }, + "KxClusterCodeDeploymentStrategy":{ + "type":"string", + "enum":[ + "ROLLING", + "FORCE" + ] + }, "KxClusterDescription":{ "type":"string", "max":1000, @@ -2328,6 +2360,39 @@ "environment":{"shape":"Environment"} } }, + "UpdateKxClusterCodeConfigurationRequest":{ + "type":"structure", + "required":[ + "environmentId", + "clusterName", + "code" + ], + "members":{ + "environmentId":{ + "shape":"KxEnvironmentId", + "location":"uri", + "locationName":"environmentId" + }, + "clusterName":{ + "shape":"KxClusterName", + "location":"uri", + "locationName":"clusterName" + }, + "clientToken":{ + "shape":"ClientTokenString", + "idempotencyToken":true + }, + "code":{"shape":"CodeConfiguration"}, + "initializationScript":{"shape":"InitializationScriptFilePath"}, + "commandLineArguments":{"shape":"KxCommandLineArguments"}, + "deploymentConfiguration":{"shape":"KxClusterCodeDeploymentConfiguration"} + } + }, + "UpdateKxClusterCodeConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateKxClusterDatabasesRequest":{ "type":"structure", "required":[ diff --git a/models/apis/finspace/2021-03-12/docs-2.json b/models/apis/finspace/2021-03-12/docs-2.json index 88b517d256e..875f48439ee 100644 --- a/models/apis/finspace/2021-03-12/docs-2.json +++ b/models/apis/finspace/2021-03-12/docs-2.json @@ -31,6 +31,7 @@ "TagResource": "

Adds metadata tags to a FinSpace resource.

", "UntagResource": "

Removes metadata tags from a FinSpace resource.

", "UpdateEnvironment": "

Update your FinSpace environment.

", + "UpdateKxClusterCodeConfiguration": "

Allows you to update code configuration on a running cluster. By using this API you can update the code, the initialization script path, and the command line arguments for a specific cluster. The configuration that you want to update will override any existing configurations on the cluster.

", "UpdateKxClusterDatabases": "

Updates the databases mounted on a kdb cluster, which includes the changesetId and all the dbPaths to be cached. This API does not allow you to change a database name or add a database if you created a cluster without one.

Using this API you can point a cluster to a different changeset and modify a list of partitions being cached.

", "UpdateKxDatabase": "

Updates information for the given kdb database.

", "UpdateKxEnvironment": "

Updates information for the given kdb environment.

", @@ -160,6 +161,7 @@ "CreateKxDatabaseRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "DeleteKxClusterRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "DeleteKxDatabaseRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", + "UpdateKxClusterCodeConfigurationRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "UpdateKxClusterDatabasesRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

", "UpdateKxDatabaseRequest$clientToken": "

A token that ensures idempotency. This token expires in 10 minutes.

" } @@ -169,7 +171,8 @@ "refs": { "CreateKxClusterRequest$code": "

The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the cluster.

", "CreateKxClusterResponse$code": "

The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the cluster.

", - "GetKxClusterResponse$code": "

The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the cluster.

" + "GetKxClusterResponse$code": "

The details of the custom code that you want to use inside a cluster when analyzing a data. It consists of the S3 source bucket, location, S3 object version, and the relative path from where the custom code is loaded into the cluster.

", + "UpdateKxClusterCodeConfigurationRequest$code": null } }, "ConflictException": { @@ -663,7 +666,8 @@ "CreateKxClusterRequest$initializationScript": "

Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q.

", "CreateKxClusterResponse$initializationScript": "

Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q.

", "GetKxClusterResponse$initializationScript": "

Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q.

", - "KxCluster$initializationScript": "

Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q.

" + "KxCluster$initializationScript": "

Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q.

", + "UpdateKxClusterCodeConfigurationRequest$initializationScript": "

Specifies a Q program that will be run at launch of a cluster. It is a relative path within .zip file that contains the custom code, which will be loaded on the cluster. It must include the file name itself. For example, somedir/init.q.

" } }, "InternalServerException": { @@ -726,7 +730,7 @@ "KxCacheStorageType": { "base": null, "refs": { - "KxCacheStorageConfiguration$type": "

The type of cache storage . The valid values are:

", + "KxCacheStorageConfiguration$type": "

The type of cache storage. The valid values are:

For cache type CACHE_1000 and CACHE_250 you can select cache size as 1200 GB or increments of 2400 GB. For cache type CACHE_12 you can select the cache size in increments of 6000 GB.

", "KxDatabaseCacheConfiguration$cacheType": "

The type of disk cache. This parameter is used to map the database path to cache storage. The valid values are:

" } }, @@ -748,6 +752,18 @@ "KxClusters$member": null } }, + "KxClusterCodeDeploymentConfiguration": { + "base": "

The configuration that allows you to choose how you want to update code on a cluster. Depending on the option you choose, you can reduce the time it takes to update the cluster.

", + "refs": { + "UpdateKxClusterCodeConfigurationRequest$deploymentConfiguration": "

The configuration that allows you to choose how you want to update the code on a cluster.

" + } + }, + "KxClusterCodeDeploymentStrategy": { + "base": null, + "refs": { + "KxClusterCodeDeploymentConfiguration$deploymentStrategy": "

The type of deployment that you want on a cluster.

" + } + }, "KxClusterDescription": { "base": null, "refs": { @@ -768,6 +784,7 @@ "GetKxConnectionStringRequest$clusterName": "

A name of the kdb cluster.

", "KxCluster$clusterName": "

A unique name for the cluster.

", "ListKxClusterNodesRequest$clusterName": "

A unique name for the cluster.

", + "UpdateKxClusterCodeConfigurationRequest$clusterName": "

The name of the cluster.

", "UpdateKxClusterDatabasesRequest$clusterName": "

A unique name for the cluster that you want to modify.

" } }, @@ -832,7 +849,8 @@ "refs": { "CreateKxClusterRequest$commandLineArguments": "

Defines the key-value pairs to make them available inside the cluster.

", "CreateKxClusterResponse$commandLineArguments": "

Defines the key-value pairs to make them available inside the cluster.

", - "GetKxClusterResponse$commandLineArguments": "

Defines key-value pairs to make them available inside the cluster.

" + "GetKxClusterResponse$commandLineArguments": "

Defines key-value pairs to make them available inside the cluster.

", + "UpdateKxClusterCodeConfigurationRequest$commandLineArguments": "

Specifies the key-value pairs to make them available inside the cluster.

" } }, "KxDatabaseCacheConfiguration": { @@ -875,7 +893,7 @@ } }, "KxDeploymentConfiguration": { - "base": "

The configuration that allows you to choose how you want to update the databases on a cluster. Depending on the option you choose, you can reduce the time it takes to update the database changesets on to a cluster.

", + "base": "

The configuration that allows you to choose how you want to update the databases on a cluster. Depending on the option you choose, you can reduce the time it takes to update the cluster.

", "refs": { "UpdateKxClusterDatabasesRequest$deploymentConfiguration": "

The configuration that allows you to choose how you want to update the databases on a cluster.

" } @@ -883,7 +901,7 @@ "KxDeploymentStrategy": { "base": null, "refs": { - "KxDeploymentConfiguration$deploymentStrategy": "

The type of deployment that you want on a cluster.

" + "KxDeploymentConfiguration$deploymentStrategy": "

The type of deployment that you want on a cluster.

" } }, "KxEnvironment": { @@ -901,6 +919,7 @@ "GetKxClusterRequest$environmentId": "

A unique identifier for the kdb environment.

", "ListKxClusterNodesRequest$environmentId": "

A unique identifier for the kdb environment.

", "ListKxClustersRequest$environmentId": "

A unique identifier for the kdb environment.

", + "UpdateKxClusterCodeConfigurationRequest$environmentId": "

A unique identifier of the kdb environment.

", "UpdateKxClusterDatabasesRequest$environmentId": "

The unique identifier of a kdb environment.

" } }, @@ -1399,6 +1418,16 @@ "refs": { } }, + "UpdateKxClusterCodeConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateKxClusterCodeConfigurationResponse": { + "base": null, + "refs": { + } + }, "UpdateKxClusterDatabasesRequest": { "base": null, "refs": { diff --git a/models/apis/finspace/2021-03-12/endpoint-rule-set-1.json b/models/apis/finspace/2021-03-12/endpoint-rule-set-1.json index 2ae22d4be88..a66c17cef0e 100644 --- a/models/apis/finspace/2021-03-12/endpoint-rule-set-1.json +++ b/models/apis/finspace/2021-03-12/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/mediapackagev2/2022-12-25/api-2.json b/models/apis/mediapackagev2/2022-12-25/api-2.json index 49b314d6164..b67854e0d17 100644 --- a/models/apis/mediapackagev2/2022-12-25/api-2.json +++ b/models/apis/mediapackagev2/2022-12-25/api-2.json @@ -276,7 +276,8 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"}, {"shape":"AccessDeniedException"}, - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} ] }, "ListOriginEndpoints":{ @@ -619,7 +620,8 @@ "ChildManifestName":{"shape":"ManifestName"}, "ScteHls":{"shape":"ScteHls"}, "ManifestWindowSeconds":{"shape":"CreateHlsManifestConfigurationManifestWindowSecondsInteger"}, - "ProgramDateTimeIntervalSeconds":{"shape":"CreateHlsManifestConfigurationProgramDateTimeIntervalSecondsInteger"} + "ProgramDateTimeIntervalSeconds":{"shape":"CreateHlsManifestConfigurationProgramDateTimeIntervalSecondsInteger"}, + "FilterConfiguration":{"shape":"FilterConfiguration"} } }, "CreateHlsManifestConfigurationManifestWindowSecondsInteger":{ @@ -646,7 +648,8 @@ "ChildManifestName":{"shape":"ManifestName"}, "ScteHls":{"shape":"ScteHls"}, "ManifestWindowSeconds":{"shape":"CreateLowLatencyHlsManifestConfigurationManifestWindowSecondsInteger"}, - "ProgramDateTimeIntervalSeconds":{"shape":"CreateLowLatencyHlsManifestConfigurationProgramDateTimeIntervalSecondsInteger"} + "ProgramDateTimeIntervalSeconds":{"shape":"CreateLowLatencyHlsManifestConfigurationProgramDateTimeIntervalSecondsInteger"}, + "FilterConfiguration":{"shape":"FilterConfiguration"} } }, "CreateLowLatencyHlsManifestConfigurationManifestWindowSecondsInteger":{ @@ -910,6 +913,26 @@ "CmafEncryptionMethod":{"shape":"CmafEncryptionMethod"} } }, + "FilterConfiguration":{ + "type":"structure", + "members":{ + "ManifestFilter":{"shape":"FilterConfigurationManifestFilterString"}, + "Start":{"shape":"Timestamp"}, + "End":{"shape":"Timestamp"}, + "TimeDelaySeconds":{"shape":"FilterConfigurationTimeDelaySecondsInteger"} + } + }, + "FilterConfigurationManifestFilterString":{ + "type":"string", + "max":1024, + "min":1 + }, + "FilterConfigurationTimeDelaySecondsInteger":{ + "type":"integer", + "box":true, + "max":1209600, + "min":0 + }, "GetChannelGroupRequest":{ "type":"structure", "required":["ChannelGroupName"], @@ -1026,7 +1049,8 @@ "ChildManifestName":{"shape":"ResourceName"}, "ManifestWindowSeconds":{"shape":"Integer"}, "ProgramDateTimeIntervalSeconds":{"shape":"Integer"}, - "ScteHls":{"shape":"ScteHls"} + "ScteHls":{"shape":"ScteHls"}, + "FilterConfiguration":{"shape":"FilterConfiguration"} } }, "GetHlsManifests":{ @@ -1045,7 +1069,8 @@ "ChildManifestName":{"shape":"ResourceName"}, "ManifestWindowSeconds":{"shape":"Integer"}, "ProgramDateTimeIntervalSeconds":{"shape":"Integer"}, - "ScteHls":{"shape":"ScteHls"} + "ScteHls":{"shape":"ScteHls"}, + "FilterConfiguration":{"shape":"FilterConfiguration"} } }, "GetLowLatencyHlsManifests":{ @@ -1829,7 +1854,10 @@ "MEMBER_MIN_LENGTH", "MEMBER_MAX_LENGTH", "MEMBER_INVALID_ENUM_VALUE", - "MEMBER_DOES_NOT_MATCH_PATTERN" + "MEMBER_DOES_NOT_MATCH_PATTERN", + "INVALID_MANIFEST_FILTER", + "INVALID_TIME_DELAY_SECONDS", + "END_TIME_EARLIER_THAN_START_TIME" ] } } diff --git a/models/apis/mediapackagev2/2022-12-25/docs-2.json b/models/apis/mediapackagev2/2022-12-25/docs-2.json index d88e15ca4f8..f0201f3fdb8 100644 --- a/models/apis/mediapackagev2/2022-12-25/docs-2.json +++ b/models/apis/mediapackagev2/2022-12-25/docs-2.json @@ -271,6 +271,27 @@ "Encryption$EncryptionMethod": "

The encryption method to use.

" } }, + "FilterConfiguration": { + "base": "

Filter configuration includes settings for manifest filtering, start and end times, and time delay that apply to all of your egress requests for this manifest.

", + "refs": { + "CreateHlsManifestConfiguration$FilterConfiguration": null, + "CreateLowLatencyHlsManifestConfiguration$FilterConfiguration": null, + "GetHlsManifestConfiguration$FilterConfiguration": null, + "GetLowLatencyHlsManifestConfiguration$FilterConfiguration": null + } + }, + "FilterConfigurationManifestFilterString": { + "base": null, + "refs": { + "FilterConfiguration$ManifestFilter": "

Optionally specify one or more manifest filters for all of your manifest egress requests. When you include a manifest filter, note that you cannot use an identical manifest filter query parameter for this manifest's endpoint URL.

" + } + }, + "FilterConfigurationTimeDelaySecondsInteger": { + "base": null, + "refs": { + "FilterConfiguration$TimeDelaySeconds": "

Optionally specify the time delay for all of your manifest egress requests. Enter a value that is smaller than your endpoint's startover window. When you include time delay, note that you cannot use time delay query parameters for this manifest's endpoint URL.

" + } + }, "GetChannelGroupRequest": { "base": null, "refs": { @@ -832,6 +853,8 @@ "CreateChannelResponse$ModifiedAt": "

The date and time the channel was modified.

", "CreateOriginEndpointResponse$CreatedAt": "

The date and time the origin endpoint was created.

", "CreateOriginEndpointResponse$ModifiedAt": "

The date and time the origin endpoint was modified.

", + "FilterConfiguration$Start": "

Optionally specify the start time for all of your manifest egress requests. When you include start time, note that you cannot use start time query parameters for this manifest's endpoint URL.

", + "FilterConfiguration$End": "

Optionally specify the end time for all of your manifest egress requests. When you include end time, note that you cannot use end time query parameters for this manifest's endpoint URL.

", "GetChannelGroupResponse$CreatedAt": "

The date and time the channel group was created.

", "GetChannelGroupResponse$ModifiedAt": "

The date and time the channel group was modified.

", "GetChannelResponse$CreatedAt": "

The date and time the channel was created.

", diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index 3c01c28d3db..34fd162c58f 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -69,7 +69,8 @@ {"shape":"DBSnapshotNotFoundFault"}, {"shape":"DBProxyNotFoundFault"}, {"shape":"DBProxyTargetGroupNotFoundFault"}, - {"shape":"BlueGreenDeploymentNotFoundFault"} + {"shape":"BlueGreenDeploymentNotFoundFault"}, + {"shape":"IntegrationNotFoundFault"} ] }, "ApplyPendingMaintenanceAction":{ @@ -577,6 +578,26 @@ {"shape":"DBClusterNotFoundFault"} ] }, + "CreateIntegration":{ + "name":"CreateIntegration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIntegrationMessage"}, + "output":{ + "shape":"Integration", + "resultWrapper":"CreateIntegrationResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"IntegrationAlreadyExistsFault"}, + {"shape":"IntegrationQuotaExceededFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"IntegrationConflictOperationFault"} + ] + }, "CreateOptionGroup":{ "name":"CreateOptionGroup", "http":{ @@ -859,6 +880,23 @@ {"shape":"InvalidGlobalClusterStateFault"} ] }, + "DeleteIntegration":{ + "name":"DeleteIntegration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIntegrationMessage"}, + "output":{ + "shape":"Integration", + "resultWrapper":"DeleteIntegrationResult" + }, + "errors":[ + {"shape":"IntegrationNotFoundFault"}, + {"shape":"IntegrationConflictOperationFault"}, + {"shape":"InvalidIntegrationStateFault"} + ] + }, "DeleteOptionGroup":{ "name":"DeleteOptionGroup", "http":{ @@ -1358,6 +1396,21 @@ {"shape":"GlobalClusterNotFoundFault"} ] }, + "DescribeIntegrations":{ + "name":"DescribeIntegrations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIntegrationsMessage"}, + "output":{ + "shape":"DescribeIntegrationsResponse", + "resultWrapper":"DescribeIntegrationsResult" + }, + "errors":[ + {"shape":"IntegrationNotFoundFault"} + ] + }, "DescribeOptionGroupOptions":{ "name":"DescribeOptionGroupOptions", "http":{ @@ -1538,7 +1591,8 @@ {"shape":"DBClusterNotFoundFault"}, {"shape":"DBProxyNotFoundFault"}, {"shape":"DBProxyTargetGroupNotFoundFault"}, - {"shape":"BlueGreenDeploymentNotFoundFault"} + {"shape":"BlueGreenDeploymentNotFoundFault"}, + {"shape":"IntegrationNotFoundFault"} ] }, "ModifyActivityStream":{ @@ -2070,7 +2124,8 @@ {"shape":"DBClusterNotFoundFault"}, {"shape":"DBProxyNotFoundFault"}, {"shape":"DBProxyTargetGroupNotFoundFault"}, - {"shape":"BlueGreenDeploymentNotFoundFault"} + {"shape":"BlueGreenDeploymentNotFoundFault"}, + {"shape":"IntegrationNotFoundFault"} ] }, "ResetDBClusterParameterGroup":{ @@ -2682,6 +2737,11 @@ "ResourcePendingMaintenanceActions":{"shape":"ResourcePendingMaintenanceActions"} } }, + "Arn":{ + "type":"string", + "max":2048, + "min":20 + }, "AttributeValueList":{ "type":"list", "member":{ @@ -3594,6 +3654,22 @@ "GlobalCluster":{"shape":"GlobalCluster"} } }, + "CreateIntegrationMessage":{ + "type":"structure", + "required":[ + "SourceArn", + "TargetArn", + "IntegrationName" + ], + "members":{ + "SourceArn":{"shape":"SourceArn"}, + "TargetArn":{"shape":"Arn"}, + "IntegrationName":{"shape":"IntegrationName"}, + "KMSKeyId":{"shape":"String"}, + "AdditionalEncryptionContext":{"shape":"EncryptionContextMap"}, + "Tags":{"shape":"TagList"} + } + }, "CreateOptionGroupMessage":{ "type":"structure", "required":[ @@ -4250,7 +4326,8 @@ "CustomDBEngineVersionManifest":{"shape":"CustomDBEngineVersionManifest"}, "SupportsCertificateRotationWithoutRestart":{"shape":"BooleanOptional"}, "SupportedCACertificateIdentifiers":{"shape":"CACertificateIdentifiersList"}, - "SupportsLocalWriteForwarding":{"shape":"BooleanOptional"} + "SupportsLocalWriteForwarding":{"shape":"BooleanOptional"}, + "SupportsIntegrations":{"shape":"Boolean"} } }, "DBEngineVersionList":{ @@ -5348,6 +5425,13 @@ "GlobalCluster":{"shape":"GlobalCluster"} } }, + "DeleteIntegrationMessage":{ + "type":"structure", + "required":["IntegrationIdentifier"], + "members":{ + "IntegrationIdentifier":{"shape":"IntegrationIdentifier"} + } + }, "DeleteOptionGroupMessage":{ "type":"structure", "required":["OptionGroupName"], @@ -5774,6 +5858,22 @@ "Marker":{"shape":"String"} } }, + "DescribeIntegrationsMessage":{ + "type":"structure", + "members":{ + "IntegrationIdentifier":{"shape":"IntegrationIdentifier"}, + "Filters":{"shape":"FilterList"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"Marker"} + } + }, + "DescribeIntegrationsResponse":{ + "type":"structure", + "members":{ + "Marker":{"shape":"Marker"}, + "Integrations":{"shape":"IntegrationList"} + } + }, "DescribeOptionGroupOptionsMessage":{ "type":"structure", "required":["EngineName"], @@ -5972,6 +6072,11 @@ }, "exception":true }, + "EncryptionContextMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, "Endpoint":{ "type":"structure", "members":{ @@ -6435,6 +6540,117 @@ }, "Integer":{"type":"integer"}, "IntegerOptional":{"type":"integer"}, + "Integration":{ + "type":"structure", + "members":{ + "SourceArn":{"shape":"SourceArn"}, + "TargetArn":{"shape":"Arn"}, + "IntegrationName":{"shape":"IntegrationName"}, + "IntegrationArn":{"shape":"IntegrationArn"}, + "KMSKeyId":{"shape":"String"}, + "AdditionalEncryptionContext":{"shape":"EncryptionContextMap"}, + "Status":{"shape":"IntegrationStatus"}, + "Tags":{"shape":"TagList"}, + "CreateTime":{"shape":"TStamp"}, + "Errors":{"shape":"IntegrationErrorList"} + } + }, + "IntegrationAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"IntegrationAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "IntegrationArn":{ + "type":"string", + "max":255, + "min":1, + "pattern":"arn:aws[a-z\\-]*:rds(-[a-z]*)?:[a-z0-9\\-]*:[0-9]*:integration:[a-z][a-z0-9]*(-[a-zA-Z0-9]+)*\\/[a-zA-Z0-9_:\\-\\/]+" + }, + "IntegrationConflictOperationFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"IntegrationConflictOperationFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "IntegrationError":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"String"}, + "ErrorMessage":{"shape":"String"} + } + }, + "IntegrationErrorList":{ + "type":"list", + "member":{ + "shape":"IntegrationError", + "locationName":"IntegrationError" + } + }, + "IntegrationIdentifier":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9_:\\-\\/]+" + }, + "IntegrationList":{ + "type":"list", + "member":{ + "shape":"Integration", + "locationName":"Integration" + } + }, + "IntegrationName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*" + }, + "IntegrationNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"IntegrationNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "IntegrationQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"IntegrationQuotaExceededFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "IntegrationStatus":{ + "type":"string", + "enum":[ + "creating", + "active", + "modifying", + "failed", + "deleting", + "syncing", + "needs_attention" + ] + }, "InvalidBlueGreenDeploymentStateFault":{ "type":"structure", "members":{ @@ -6677,6 +6893,17 @@ }, "exception":true }, + "InvalidIntegrationStateFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidIntegrationStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidOptionGroupStateFault":{ "type":"structure", "members":{ @@ -6777,6 +7004,11 @@ }, "Long":{"type":"long"}, "LongOptional":{"type":"long"}, + "Marker":{ + "type":"string", + "max":340, + "min":1 + }, "MasterUserSecret":{ "type":"structure", "members":{ @@ -8415,6 +8647,12 @@ }, "exception":true }, + "SourceArn":{ + "type":"string", + "max":255, + "min":1, + "pattern":"arn:aws[a-z\\-]*:rds(-[a-z]*)?:[a-z0-9\\-]*:[0-9]*:(cluster|db):[a-z][a-z0-9]*(-[a-z0-9]+)*" + }, "SourceClusterNotSupportedFault":{ "type":"structure", "members":{ @@ -8934,7 +9172,8 @@ "SupportsParallelQuery":{"shape":"BooleanOptional"}, "SupportsGlobalDatabases":{"shape":"BooleanOptional"}, "SupportsBabelfish":{"shape":"BooleanOptional"}, - "SupportsLocalWriteForwarding":{"shape":"BooleanOptional"} + "SupportsLocalWriteForwarding":{"shape":"BooleanOptional"}, + "SupportsIntegrations":{"shape":"BooleanOptional"} } }, "UserAuthConfig":{ diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index c4eea69e8db..3bd95482057 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -31,6 +31,7 @@ "CreateDBSubnetGroup": "

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the Amazon Web Services Region.

", "CreateEventSubscription": "

Creates an RDS event notification subscription. This operation requires a topic Amazon Resource Name (ARN) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the type of source (SourceType) that you want to be notified of and provide a list of RDS sources (SourceIds) that triggers the events. You can also provide a list of event categories (EventCategories) for events that you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIds = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify SourceIds, you receive notice of the events for that source type for all your RDS sources. If you don't specify either the SourceType or the SourceIds, you are notified of events generated from all RDS sources belonging to your customer account.

For more information about subscribing to an event for RDS DB engines, see Subscribing to Amazon RDS event notification in the Amazon RDS User Guide.

For more information about subscribing to an event for Aurora DB engines, see Subscribing to Amazon RDS event notification in the Amazon Aurora User Guide.

", "CreateGlobalCluster": "

Creates an Aurora global database spread across multiple Amazon Web Services Regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

You can create a global database that is initially empty, and then create the primary and secondary DB clusters in the global database. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database.

This operation applies only to Aurora DB clusters.

", + "CreateIntegration": "

Creates a zero-ETL integration with Amazon Redshift. For more information, see Working with Amazon Aurora zero-ETL integrations with Amazon Redshift in the Amazon Aurora User Guide.

", "CreateOptionGroup": "

Creates a new option group. You can create up to 20 option groups.

This command doesn't apply to RDS Custom.

", "DeleteBlueGreenDeployment": "

Deletes a blue/green deployment.

For more information, see Using Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS Blue/Green Deployments for database updates in the Amazon Aurora User Guide.

", "DeleteCustomDBEngineVersion": "

Deletes a custom engine version. To run this command, make sure you meet the following prerequisites:

Typically, deletion takes a few minutes.

The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the DeleteCustomDbEngineVersion event aren't logged. However, you might see calls from the API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for the DeleteCustomDbEngineVersion event.

For more information, see Deleting a CEV in the Amazon RDS User Guide.

", @@ -49,6 +50,7 @@ "DeleteDBSubnetGroup": "

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

", "DeleteEventSubscription": "

Deletes an RDS event notification subscription.

", "DeleteGlobalCluster": "

Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed first.

This action only applies to Aurora DB clusters.

", + "DeleteIntegration": "

Deletes a zero-ETL integration with Amazon Redshift. For more information, see Deleting Amazon Aurora zero-ETL integrations with Amazon Redshift in the Amazon Aurora User Guide

", "DeleteOptionGroup": "

Deletes an existing option group.

", "DeregisterDBProxyTargets": "

Remove the association between one or more DBProxyTarget data structures and a DBProxyTargetGroup.

", "DescribeAccountAttributes": "

Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.

This command doesn't take any parameters.

", @@ -83,6 +85,7 @@ "DescribeEvents": "

Returns events related to DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, DB cluster snapshots, and RDS Proxies for the past 14 days. Events specific to a particular DB instance, DB cluster, DB parameter group, DB security group, DB snapshot, DB cluster snapshot group, or RDS Proxy can be obtained by providing the name as a parameter.

For more information on working with events, see Monitoring Amazon RDS events in the Amazon RDS User Guide and Monitoring Amazon Aurora events in the Amazon Aurora User Guide.

By default, RDS returns events that were generated in the past hour.

", "DescribeExportTasks": "

Returns information about a snapshot or cluster export to Amazon S3. This API operation supports pagination.

", "DescribeGlobalClusters": "

Returns information about Aurora global database clusters. This API supports pagination.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora DB clusters.

", + "DescribeIntegrations": "

Describe one or more zero-ETL integration with Amazon Redshift. For more information, see Viewing and monitoring Amazon Aurora zero-ETL integrations with Amazon Redshift in the Amazon Aurora User Guide

", "DescribeOptionGroupOptions": "

Describes all available options.

", "DescribeOptionGroups": "

Describes the available option groups.

", "DescribeOrderableDBInstanceOptions": "

Returns a list of orderable DB instance options for the specified DB engine, DB engine version, and DB instance class.

", @@ -239,6 +242,13 @@ "refs": { } }, + "Arn": { + "base": null, + "refs": { + "CreateIntegrationMessage$TargetArn": "

The ARN of the Redshift data warehouse to use as the target for replication.

", + "Integration$TargetArn": "

The ARN of the Redshift data warehouse used as the target for replication.

" + } + }, "AttributeValueList": { "base": null, "refs": { @@ -444,6 +454,7 @@ "DBEngineVersion$SupportsParallelQuery": "

Indicates whether you can use Aurora parallel query with a specific DB engine version.

", "DBEngineVersion$SupportsGlobalDatabases": "

Indicates whether you can use Aurora global databases with a specific DB engine version.

", "DBEngineVersion$SupportsBabelfish": "

Indicates whether the engine version supports Babelfish for Aurora PostgreSQL.

", + "DBEngineVersion$SupportsIntegrations": "

Indicates whether the DB engine version supports Aurora zero-ETL integrations with Amazon Redshift.

", "DBInstance$MultiAZ": "

Indicates whether the DB instance is a Multi-AZ deployment. This setting doesn't apply to RDS Custom DB instances.

", "DBInstance$AutoMinorVersionUpgrade": "

Indicates whether minor version patches are applied automatically.

", "DBInstance$PubliclyAccessible": "

Indicates whether the DB instance is publicly accessible.

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

For more information, see CreateDBInstance.

", @@ -688,7 +699,8 @@ "UpgradeTarget$SupportsParallelQuery": "

Indicates whether you can use Aurora parallel query with the target engine version.

", "UpgradeTarget$SupportsGlobalDatabases": "

Indicates whether you can use Aurora global databases with the target engine version.

", "UpgradeTarget$SupportsBabelfish": "

Indicates whether you can use Babelfish for Aurora PostgreSQL with the target engine version.

", - "UpgradeTarget$SupportsLocalWriteForwarding": "

Indicates whether the target engine version supports forwarding write operations from reader DB instances to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

Valid for: Aurora DB clusters only

" + "UpgradeTarget$SupportsLocalWriteForwarding": "

Indicates whether the target engine version supports forwarding write operations from reader DB instances to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

Valid for: Aurora DB clusters only

", + "UpgradeTarget$SupportsIntegrations": "

Indicates whether the DB engine version supports Aurora zero-ETL integrations with Amazon Redshift.

" } }, "BucketName": { @@ -981,6 +993,11 @@ "refs": { } }, + "CreateIntegrationMessage": { + "base": null, + "refs": { + } + }, "CreateOptionGroupMessage": { "base": "

", "refs": { @@ -1957,6 +1974,11 @@ "refs": { } }, + "DeleteIntegrationMessage": { + "base": null, + "refs": { + } + }, "DeleteOptionGroupMessage": { "base": "

", "refs": { @@ -2194,6 +2216,16 @@ "refs": { } }, + "DescribeIntegrationsMessage": { + "base": null, + "refs": { + } + }, + "DescribeIntegrationsResponse": { + "base": null, + "refs": { + } + }, "DescribeOptionGroupOptionsMessage": { "base": "

", "refs": { @@ -2329,6 +2361,13 @@ "refs": { } }, + "EncryptionContextMap": { + "base": null, + "refs": { + "CreateIntegrationMessage$AdditionalEncryptionContext": "

An optional set of non-secret key–value pairs that contains additional contextual information about the data. For more information, see Encryption context in the Amazon Web Services Key Management Service Developer Guide.

You can only include this parameter if you specify the KMSKeyId parameter.

", + "Integration$AdditionalEncryptionContext": "

The encryption context for the integration. For more information, see Encryption context in the Amazon Web Services Key Management Service Developer Guide.

" + } + }, "Endpoint": { "base": "

This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:

For the data structure that represents Amazon Aurora DB cluster endpoints, see DBClusterEndpoint.

", "refs": { @@ -2540,6 +2579,7 @@ "DescribeEventsMessage$Filters": "

This parameter isn't currently supported.

", "DescribeExportTasksMessage$Filters": "

Filters specify one or more snapshot or cluster exports to describe. The filters are specified as name-value pairs that define what to include in the output. Filter names and values are case-sensitive.

Supported filters include the following:

", "DescribeGlobalClustersMessage$Filters": "

This parameter isn't currently supported.

", + "DescribeIntegrationsMessage$Filters": "

A filter that specifies one or more resources to return.

", "DescribeOptionGroupOptionsMessage$Filters": "

This parameter isn't currently supported.

", "DescribeOptionGroupsMessage$Filters": "

This parameter isn't currently supported.

", "DescribeOrderableDBInstanceOptionsMessage$Filters": "

This parameter isn't currently supported.

", @@ -2784,6 +2824,7 @@ "DescribeEventsMessage$Duration": "

The number of minutes to retrieve events for.

Default: 60

", "DescribeEventsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeGlobalClustersMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", + "DescribeIntegrationsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeOptionGroupOptionsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeOptionGroupsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

", "DescribeOrderableDBInstanceOptionsMessage$MaxRecords": "

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 10000.

", @@ -2861,6 +2902,76 @@ "StartDBInstanceAutomatedBackupsReplicationMessage$BackupRetentionPeriod": "

The retention period for the replicated automated backups.

" } }, + "Integration": { + "base": "

An Aurora zero-ETL integration with Amazon Redshift. For more information, see Working with Amazon Aurora zero-ETL integrations with Amazon Redshift in the Amazon Aurora User Guide.

", + "refs": { + "IntegrationList$member": null + } + }, + "IntegrationAlreadyExistsFault": { + "base": "

The integration you are trying to create already exists.

", + "refs": { + } + }, + "IntegrationArn": { + "base": null, + "refs": { + "Integration$IntegrationArn": "

The ARN of the integration.

" + } + }, + "IntegrationConflictOperationFault": { + "base": "

A conflicting conditional operation is currently in progress against this resource. Typically occurs when there are multiple requests being made to the same resource at the same time, and these requests conflict with each other.

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

An error associated with a zero-ETL integration with Amazon Redshift.

", + "refs": { + "IntegrationErrorList$member": null + } + }, + "IntegrationErrorList": { + "base": null, + "refs": { + "Integration$Errors": "

Any errors associated with the integration.

" + } + }, + "IntegrationIdentifier": { + "base": null, + "refs": { + "DeleteIntegrationMessage$IntegrationIdentifier": "

The unique identifier of the integration.

", + "DescribeIntegrationsMessage$IntegrationIdentifier": "

The unique identifier of the integration.

" + } + }, + "IntegrationList": { + "base": null, + "refs": { + "DescribeIntegrationsResponse$Integrations": "

A list of integrations.

" + } + }, + "IntegrationName": { + "base": null, + "refs": { + "CreateIntegrationMessage$IntegrationName": "

The name of the integration.

", + "Integration$IntegrationName": "

The name of the integration.

" + } + }, + "IntegrationNotFoundFault": { + "base": "

The specified integration could not be found.

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

You can't crate any more zero-ETL integrations because the quota has been reached.

", + "refs": { + } + }, + "IntegrationStatus": { + "base": null, + "refs": { + "Integration$Status": "

The current status of the integration.

" + } + }, "InvalidBlueGreenDeploymentStateFault": { "base": "

The blue/green deployment can't be switched over or deleted because there is an invalid configuration in the green environment.

", "refs": { @@ -2971,6 +3082,11 @@ "refs": { } }, + "InvalidIntegrationStateFault": { + "base": "

The integration is in an invalid state and can't perform the requested operation.

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

The option group isn't in the available state.

", "refs": { @@ -3068,6 +3184,13 @@ "RestoreDBClusterToPointInTimeMessage$BacktrackWindow": "

The target backtrack window, in seconds. To disable backtracking, set this value to 0.

Default: 0

Constraints:

Valid for: Aurora MySQL DB clusters only

" } }, + "Marker": { + "base": null, + "refs": { + "DescribeIntegrationsMessage$Marker": "

An optional pagination token provided by a previous DescribeIntegrations request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", + "DescribeIntegrationsResponse$Marker": "

A pagination token that can be used in a later DescribeIntegrations request.

" + } + }, "MasterUserSecret": { "base": "

Contains the secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.

For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.

", "refs": { @@ -3888,6 +4011,13 @@ "refs": { } }, + "SourceArn": { + "base": null, + "refs": { + "CreateIntegrationMessage$SourceArn": "

The Amazon Resource Name (ARN) of the Aurora DB cluster to use as the source for replication.

", + "Integration$SourceArn": "

The Amazon Resource Name (ARN) of the Aurora DB cluster used as the source for replication.

" + } + }, "SourceClusterNotSupportedFault": { "base": "

The source DB cluster isn't supported for a blue/green deployment.

", "refs": { @@ -4207,6 +4337,7 @@ "CreateGlobalClusterMessage$Engine": "

The database engine to use for this global database cluster.

Valid Values: aurora-mysql | aurora-postgresql

Constraints:

", "CreateGlobalClusterMessage$EngineVersion": "

The engine version to use for this global database cluster.

Constraints:

", "CreateGlobalClusterMessage$DatabaseName": "

The name for your database of up to 64 alphanumeric characters. If you don't specify a name, Amazon Aurora doesn't create a database in the global database cluster.

Constraints:

", + "CreateIntegrationMessage$KMSKeyId": "

The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, Aurora uses a default Amazon Web Services owned key.

", "CreateOptionGroupMessage$OptionGroupName": "

Specifies the name of the option group to be created.

Constraints:

Example: myoptiongroup

", "CreateOptionGroupMessage$EngineName": "

Specifies the name of the engine that this option group should be associated with.

Valid Values:

", "CreateOptionGroupMessage$MajorEngineVersion": "

Specifies the major version of the engine that this option group should be associated with.

", @@ -4601,6 +4732,8 @@ "EC2SecurityGroup$EC2SecurityGroupName": "

Specifies the name of the EC2 security group.

", "EC2SecurityGroup$EC2SecurityGroupId": "

Specifies the id of the EC2 security group.

", "EC2SecurityGroup$EC2SecurityGroupOwnerId": "

Specifies the Amazon Web Services ID of the owner of the EC2 security group specified in the EC2SecurityGroupName field.

", + "EncryptionContextMap$key": null, + "EncryptionContextMap$value": null, "Endpoint$Address": "

Specifies the DNS address of the DB instance.

", "Endpoint$HostedZoneId": "

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

", "EngineDefaults$DBParameterGroupFamily": "

Specifies the name of the DB parameter group family that the engine default parameters apply to.

", @@ -4648,6 +4781,9 @@ "GlobalClustersMessage$Marker": "

An optional pagination token provided by a previous DescribeGlobalClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

", "IPRange$Status": "

The status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

", "IPRange$CIDRIP": "

The IP range.

", + "Integration$KMSKeyId": "

The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key used to to encrypt the integration.

", + "IntegrationError$ErrorCode": "

The error code associated with the integration.

", + "IntegrationError$ErrorMessage": "

A message explaining the error.

", "KeyList$member": null, "ListTagsForResourceMessage$ResourceName": "

The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

", "LogTypeList$member": null, @@ -5219,6 +5355,7 @@ "ExportTask$SnapshotTime": "

The time when the snapshot was created.

", "ExportTask$TaskStartTime": "

The time when the snapshot or cluster export task started.

", "ExportTask$TaskEndTime": "

The time when the snapshot or cluster export task ended.

", + "Integration$CreateTime": "

The time when the integration was created, in Universal Coordinated Time (UTC).

", "OptionGroup$CopyTimestamp": "

Indicates when the option group was copied.

", "PendingMaintenanceAction$AutoAppliedAfterDate": "

The date of the maintenance window when the action is applied. The maintenance action is applied to the resource during its first maintenance window after this date.

", "PendingMaintenanceAction$ForcedApplyDate": "

The date when the maintenance action is automatically applied.

On this date, the maintenance action is applied to the resource as soon as possible, regardless of the maintenance window for the resource. There might be a delay of one or more days from this date before the maintenance action is applied.

", @@ -5262,12 +5399,14 @@ "CreateDBSnapshotMessage$Tags": null, "CreateDBSubnetGroupMessage$Tags": "

Tags to assign to the DB subnet group.

", "CreateEventSubscriptionMessage$Tags": null, + "CreateIntegrationMessage$Tags": null, "CreateOptionGroupMessage$Tags": "

Tags to assign to the option group.

", "DBCluster$TagList": null, "DBClusterSnapshot$TagList": null, "DBEngineVersion$TagList": null, "DBInstance$TagList": null, "DBSnapshot$TagList": null, + "Integration$Tags": null, "PurchaseReservedDBInstancesOfferingMessage$Tags": null, "RestoreDBClusterFromS3Message$Tags": null, "RestoreDBClusterFromSnapshotMessage$Tags": "

The tags to be assigned to the restored DB cluster.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

", diff --git a/models/apis/rds/2014-10-31/paginators-1.json b/models/apis/rds/2014-10-31/paginators-1.json index 41d01c2eb56..7a04fb282f7 100644 --- a/models/apis/rds/2014-10-31/paginators-1.json +++ b/models/apis/rds/2014-10-31/paginators-1.json @@ -162,6 +162,12 @@ "output_token": "Marker", "result_key": "GlobalClusters" }, + "DescribeIntegrations": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "Integrations" + }, "DescribeOptionGroupOptions": { "input_token": "Marker", "limit_key": "MaxRecords", diff --git a/models/apis/redshift-serverless/2021-04-21/api-2.json b/models/apis/redshift-serverless/2021-04-21/api-2.json index 812d60604df..817526658db 100644 --- a/models/apis/redshift-serverless/2021-04-21/api-2.json +++ b/models/apis/redshift-serverless/2021-04-21/api-2.json @@ -30,6 +30,23 @@ {"shape":"ServiceQuotaExceededException"} ] }, + "CreateCustomDomainAssociation":{ + "name":"CreateCustomDomainAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCustomDomainAssociationRequest"}, + "output":{"shape":"CreateCustomDomainAssociationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, "CreateEndpointAccess":{ "name":"CreateEndpointAccess", "http":{ @@ -117,6 +134,23 @@ ], "idempotent":true }, + "DeleteCustomDomainAssociation":{ + "name":"DeleteCustomDomainAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCustomDomainAssociationRequest"}, + "output":{"shape":"DeleteCustomDomainAssociationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, "DeleteEndpointAccess":{ "name":"DeleteEndpointAccess", "http":{ @@ -225,6 +259,23 @@ {"shape":"ValidationException"} ] }, + "GetCustomDomainAssociation":{ + "name":"GetCustomDomainAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCustomDomainAssociationRequest"}, + "output":{"shape":"GetCustomDomainAssociationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, "GetEndpointAccess":{ "name":"GetEndpointAccess", "http":{ @@ -339,6 +390,22 @@ {"shape":"ValidationException"} ] }, + "ListCustomDomainAssociations":{ + "name":"ListCustomDomainAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCustomDomainAssociationsRequest"}, + "output":{"shape":"ListCustomDomainAssociationsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidPaginationException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, "ListEndpointAccess":{ "name":"ListEndpointAccess", "http":{ @@ -546,6 +613,23 @@ {"shape":"ThrottlingException"} ] }, + "UpdateCustomDomainAssociation":{ + "name":"UpdateCustomDomainAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCustomDomainAssociationRequest"}, + "output":{"shape":"UpdateCustomDomainAssociationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, "UpdateEndpointAccess":{ "name":"UpdateEndpointAccess", "http":{ @@ -642,6 +726,19 @@ "max":1011, "min":1 }, + "Association":{ + "type":"structure", + "members":{ + "customDomainCertificateArn":{"shape":"CustomDomainCertificateArnString"}, + "customDomainCertificateExpiryTime":{"shape":"SyntheticTimestamp_date_time"}, + "customDomainName":{"shape":"CustomDomainName"}, + "workgroupName":{"shape":"WorkgroupName"} + } + }, + "AssociationList":{ + "type":"list", + "member":{"shape":"Association"} + }, "Boolean":{ "type":"boolean", "box":true @@ -684,6 +781,28 @@ "snapshot":{"shape":"Snapshot"} } }, + "CreateCustomDomainAssociationRequest":{ + "type":"structure", + "required":[ + "customDomainCertificateArn", + "customDomainName", + "workgroupName" + ], + "members":{ + "customDomainCertificateArn":{"shape":"CustomDomainCertificateArnString"}, + "customDomainName":{"shape":"CustomDomainName"}, + "workgroupName":{"shape":"WorkgroupName"} + } + }, + "CreateCustomDomainAssociationResponse":{ + "type":"structure", + "members":{ + "customDomainCertificateArn":{"shape":"CustomDomainCertificateArnString"}, + "customDomainCertificateExpiryTime":{"shape":"SyntheticTimestamp_date_time"}, + "customDomainName":{"shape":"CustomDomainName"}, + "workgroupName":{"shape":"WorkgroupName"} + } + }, "CreateEndpointAccessRequest":{ "type":"structure", "required":[ @@ -792,6 +911,18 @@ "workgroup":{"shape":"Workgroup"} } }, + "CustomDomainCertificateArnString":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:[\\w+=/,.@-]+:acm:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=,.@-]+)*" + }, + "CustomDomainName":{ + "type":"string", + "max":253, + "min":1, + "pattern":"^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$" + }, "DbName":{"type":"string"}, "DbPassword":{ "type":"string", @@ -801,6 +932,22 @@ "type":"string", "sensitive":true }, + "DeleteCustomDomainAssociationRequest":{ + "type":"structure", + "required":[ + "customDomainName", + "workgroupName" + ], + "members":{ + "customDomainName":{"shape":"CustomDomainName"}, + "workgroupName":{"shape":"WorkgroupName"} + } + }, + "DeleteCustomDomainAssociationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteEndpointAccessRequest":{ "type":"structure", "required":["endpointName"], @@ -915,8 +1062,8 @@ }, "GetCredentialsRequest":{ "type":"structure", - "required":["workgroupName"], "members":{ + "customDomainName":{"shape":"CustomDomainName"}, "dbName":{"shape":"DbName"}, "durationSeconds":{"shape":"Integer"}, "workgroupName":{"shape":"WorkgroupName"} @@ -931,6 +1078,26 @@ "nextRefreshTime":{"shape":"Timestamp"} } }, + "GetCustomDomainAssociationRequest":{ + "type":"structure", + "required":[ + "customDomainName", + "workgroupName" + ], + "members":{ + "customDomainName":{"shape":"CustomDomainName"}, + "workgroupName":{"shape":"WorkgroupName"} + } + }, + "GetCustomDomainAssociationResponse":{ + "type":"structure", + "members":{ + "customDomainCertificateArn":{"shape":"CustomDomainCertificateArnString"}, + "customDomainCertificateExpiryTime":{"shape":"SyntheticTimestamp_date_time"}, + "customDomainName":{"shape":"CustomDomainName"}, + "workgroupName":{"shape":"WorkgroupName"} + } + }, "GetEndpointAccessRequest":{ "type":"structure", "required":["endpointName"], @@ -1075,6 +1242,31 @@ "exception":true }, "KmsKeyId":{"type":"string"}, + "ListCustomDomainAssociationsRequest":{ + "type":"structure", + "members":{ + "customDomainCertificateArn":{"shape":"CustomDomainCertificateArnString"}, + "customDomainName":{"shape":"CustomDomainName"}, + "maxResults":{ + "shape":"ListCustomDomainAssociationsRequestMaxResultsInteger", + "box":true + }, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListCustomDomainAssociationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListCustomDomainAssociationsResponse":{ + "type":"structure", + "members":{ + "associations":{"shape":"AssociationList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListEndpointAccessRequest":{ "type":"structure", "members":{ @@ -1634,6 +1826,28 @@ "members":{ } }, + "UpdateCustomDomainAssociationRequest":{ + "type":"structure", + "required":[ + "customDomainCertificateArn", + "customDomainName", + "workgroupName" + ], + "members":{ + "customDomainCertificateArn":{"shape":"CustomDomainCertificateArnString"}, + "customDomainName":{"shape":"CustomDomainName"}, + "workgroupName":{"shape":"WorkgroupName"} + } + }, + "UpdateCustomDomainAssociationResponse":{ + "type":"structure", + "members":{ + "customDomainCertificateArn":{"shape":"CustomDomainCertificateArnString"}, + "customDomainCertificateExpiryTime":{"shape":"SyntheticTimestamp_date_time"}, + "customDomainName":{"shape":"CustomDomainName"}, + "workgroupName":{"shape":"WorkgroupName"} + } + }, "UpdateEndpointAccessRequest":{ "type":"structure", "required":["endpointName"], @@ -1803,6 +2017,9 @@ "baseCapacity":{"shape":"Integer"}, "configParameters":{"shape":"ConfigParameterList"}, "creationDate":{"shape":"SyntheticTimestamp_date_time"}, + "customDomainCertificateArn":{"shape":"CustomDomainCertificateArnString"}, + "customDomainCertificateExpiryTime":{"shape":"SyntheticTimestamp_date_time"}, + "customDomainName":{"shape":"CustomDomainName"}, "endpoint":{"shape":"Endpoint"}, "enhancedVpcRouting":{"shape":"Boolean"}, "namespaceName":{"shape":"String"}, diff --git a/models/apis/redshift-serverless/2021-04-21/docs-2.json b/models/apis/redshift-serverless/2021-04-21/docs-2.json index a21d13753da..59abdb73518 100644 --- a/models/apis/redshift-serverless/2021-04-21/docs-2.json +++ b/models/apis/redshift-serverless/2021-04-21/docs-2.json @@ -3,11 +3,13 @@ "service": "

This is an interface reference for Amazon Redshift Serverless. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Redshift Serverless.

Amazon Redshift Serverless automatically provisions data warehouse capacity and intelligently scales the underlying resources based on workload demands. Amazon Redshift Serverless adjusts capacity in seconds to deliver consistently high performance and simplified operations for even the most demanding and volatile workloads. Amazon Redshift Serverless lets you focus on using your data to acquire new insights for your business and customers.

To learn more about Amazon Redshift Serverless, see What is Amazon Redshift Serverless.

", "operations": { "ConvertRecoveryPointToSnapshot": "

Converts a recovery point to a snapshot. For more information about recovery points and snapshots, see Working with snapshots and recovery points.

", + "CreateCustomDomainAssociation": "

Creates a custom domain association for Amazon Redshift Serverless.

", "CreateEndpointAccess": "

Creates an Amazon Redshift Serverless managed VPC endpoint.

", "CreateNamespace": "

Creates a namespace in Amazon Redshift Serverless.

", "CreateSnapshot": "

Creates a snapshot of all databases in a namespace. For more information about snapshots, see Working with snapshots and recovery points.

", "CreateUsageLimit": "

Creates a usage limit for a specified Amazon Redshift Serverless usage type. The usage limit is identified by the returned usage limit identifier.

", "CreateWorkgroup": "

Creates an workgroup in Amazon Redshift Serverless.

", + "DeleteCustomDomainAssociation": "

Deletes a custom domain association for Amazon Redshift Serverless.

", "DeleteEndpointAccess": "

Deletes an Amazon Redshift Serverless managed VPC endpoint.

", "DeleteNamespace": "

Deletes a namespace from Amazon Redshift Serverless. Before you delete the namespace, you can create a final snapshot that has all of the data within the namespace.

", "DeleteResourcePolicy": "

Deletes the specified resource policy.

", @@ -15,6 +17,7 @@ "DeleteUsageLimit": "

Deletes a usage limit from Amazon Redshift Serverless.

", "DeleteWorkgroup": "

Deletes a workgroup.

", "GetCredentials": "

Returns a database user name and temporary password with temporary authorization to log in to Amazon Redshift Serverless.

By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes).

 <p>The Identity and Access Management (IAM) user or role that runs GetCredentials must have an IAM policy attached that allows access to all necessary actions and resources.</p> <p>If the <code>DbName</code> parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.</p> 
", + "GetCustomDomainAssociation": "

Gets information about a specific custom domain association.

", "GetEndpointAccess": "

Returns information, such as the name, about a VPC endpoint.

", "GetNamespace": "

Returns information about a namespace in Amazon Redshift Serverless.

", "GetRecoveryPoint": "

Returns information about a recovery point.

", @@ -23,6 +26,7 @@ "GetTableRestoreStatus": "

Returns information about a TableRestoreStatus object.

", "GetUsageLimit": "

Returns information about a usage limit.

", "GetWorkgroup": "

Returns information about a specific workgroup.

", + "ListCustomDomainAssociations": "

Lists custom domain associations for Amazon Redshift Serverless.

", "ListEndpointAccess": "

Returns an array of EndpointAccess objects and relevant information.

", "ListNamespaces": "

Returns information about a list of specified namespaces.

", "ListRecoveryPoints": "

Returns an array of recovery points.

", @@ -37,6 +41,7 @@ "RestoreTableFromSnapshot": "

Restores a table from a snapshot to your Amazon Redshift Serverless instance. You can't use this operation to restore tables with interleaved sort keys.

", "TagResource": "

Assigns one or more tags to a resource.

", "UntagResource": "

Removes a tag or set of tags from a resource.

", + "UpdateCustomDomainAssociation": "

Updates an Amazon Redshift Serverless certificate associated with a custom domain.

", "UpdateEndpointAccess": "

Updates an Amazon Redshift Serverless managed endpoint.

", "UpdateNamespace": "

Updates a namespace with the specified settings. Unless required, you can't update multiple parameters in one request. For example, you must specify both adminUsername and adminUserPassword to update either field, but you can't update both kmsKeyId and logExports in a single request.

", "UpdateSnapshot": "

Updates a snapshot.

", @@ -66,6 +71,18 @@ "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource to remove tags from.

" } }, + "Association": { + "base": "

An object that represents the custom domain name association.

", + "refs": { + "AssociationList$member": null + } + }, + "AssociationList": { + "base": null, + "refs": { + "ListCustomDomainAssociationsResponse$associations": "

A list of Association objects.

" + } + }, "Boolean": { "base": null, "refs": { @@ -110,6 +127,16 @@ "refs": { } }, + "CreateCustomDomainAssociationRequest": { + "base": null, + "refs": { + } + }, + "CreateCustomDomainAssociationResponse": { + "base": null, + "refs": { + } + }, "CreateEndpointAccessRequest": { "base": null, "refs": { @@ -160,6 +187,35 @@ "refs": { } }, + "CustomDomainCertificateArnString": { + "base": null, + "refs": { + "Association$customDomainCertificateArn": "

The custom domain name’s certificate Amazon resource name (ARN).

", + "CreateCustomDomainAssociationRequest$customDomainCertificateArn": "

The custom domain name’s certificate Amazon resource name (ARN).

", + "CreateCustomDomainAssociationResponse$customDomainCertificateArn": "

The custom domain name’s certificate Amazon resource name (ARN).

", + "GetCustomDomainAssociationResponse$customDomainCertificateArn": "

The custom domain name’s certificate Amazon resource name (ARN).

", + "ListCustomDomainAssociationsRequest$customDomainCertificateArn": "

The custom domain name’s certificate Amazon resource name (ARN).

", + "UpdateCustomDomainAssociationRequest$customDomainCertificateArn": "

The custom domain name’s certificate Amazon resource name (ARN). This is optional.

", + "UpdateCustomDomainAssociationResponse$customDomainCertificateArn": "

The custom domain name’s certificate Amazon resource name (ARN).

", + "Workgroup$customDomainCertificateArn": "

The custom domain name’s certificate Amazon resource name (ARN).

" + } + }, + "CustomDomainName": { + "base": null, + "refs": { + "Association$customDomainName": "

The custom domain name associated with the workgroup.

", + "CreateCustomDomainAssociationRequest$customDomainName": "

The custom domain name to associate with the workgroup.

", + "CreateCustomDomainAssociationResponse$customDomainName": "

The custom domain name to associate with the workgroup.

", + "DeleteCustomDomainAssociationRequest$customDomainName": "

The custom domain name associated with the workgroup.

", + "GetCredentialsRequest$customDomainName": "

The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request.

", + "GetCustomDomainAssociationRequest$customDomainName": "

The custom domain name associated with the workgroup.

", + "GetCustomDomainAssociationResponse$customDomainName": "

The custom domain name associated with the workgroup.

", + "ListCustomDomainAssociationsRequest$customDomainName": "

The custom domain name associated with the workgroup.

", + "UpdateCustomDomainAssociationRequest$customDomainName": "

The custom domain name associated with the workgroup.

", + "UpdateCustomDomainAssociationResponse$customDomainName": "

The custom domain name associated with the workgroup.

", + "Workgroup$customDomainName": "

The custom domain name associated with the workgroup.

" + } + }, "DbName": { "base": null, "refs": { @@ -171,7 +227,7 @@ "refs": { "CreateNamespaceRequest$adminUserPassword": "

The password of the administrator for the first database created in the namespace.

You can't use adminUserPassword if manageAdminPassword is true.

", "GetCredentialsResponse$dbPassword": "

A temporary password that authorizes the user name returned by DbUser to log on to the database DbName.

", - "UpdateNamespaceRequest$adminUserPassword": "

The password of the administrator for the first database created in the namespace. This parameter must be updated together with adminUsername.

You can't use adminUserPassword if manageAdminPassword is true.

" + "UpdateNamespaceRequest$adminUserPassword": "

The password of the administrator for the first database created in the namespace. This parameter must be updated together with adminUsername.

You can't use adminUserPassword if manageAdminPassword is true.

" } }, "DbUser": { @@ -183,6 +239,16 @@ "UpdateNamespaceRequest$adminUsername": "

The username of the administrator for the first database created in the namespace. This parameter must be updated together with adminUserPassword.

" } }, + "DeleteCustomDomainAssociationRequest": { + "base": null, + "refs": { + } + }, + "DeleteCustomDomainAssociationResponse": { + "base": null, + "refs": { + } + }, "DeleteEndpointAccessRequest": { "base": null, "refs": { @@ -285,6 +351,16 @@ "refs": { } }, + "GetCustomDomainAssociationRequest": { + "base": null, + "refs": { + } + }, + "GetCustomDomainAssociationResponse": { + "base": null, + "refs": { + } + }, "GetEndpointAccessRequest": { "base": null, "refs": { @@ -425,6 +501,22 @@ "UpdateNamespaceRequest$adminPasswordSecretKmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if manageAdminPassword is true.

" } }, + "ListCustomDomainAssociationsRequest": { + "base": null, + "refs": { + } + }, + "ListCustomDomainAssociationsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListCustomDomainAssociationsRequest$maxResults": "

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" + } + }, + "ListCustomDomainAssociationsResponse": { + "base": null, + "refs": { + } + }, "ListEndpointAccessRequest": { "base": null, "refs": { @@ -627,6 +719,8 @@ "PaginationToken": { "base": null, "refs": { + "ListCustomDomainAssociationsRequest$nextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", + "ListCustomDomainAssociationsResponse$nextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", "ListTableRestoreStatusRequest$nextToken": "

If your initial ListTableRestoreStatus operation returns a nextToken, you can include the returned nextToken in following ListTableRestoreStatus operations. This will return results on the next page.

", "ListTableRestoreStatusResponse$nextToken": "

If your initial ListTableRestoreStatus operation returns a nextToken, you can include the returned nextToken in following ListTableRestoreStatus operations. This will returns results on the next page.

", "ListUsageLimitsRequest$nextToken": "

If your initial ListUsageLimits operation returns a nextToken, you can include the returned nextToken in following ListUsageLimits operations, which returns results in the next page.

", @@ -904,12 +998,17 @@ "SyntheticTimestamp_date_time": { "base": null, "refs": { + "Association$customDomainCertificateExpiryTime": "

The expiration time for the certificate.

", + "CreateCustomDomainAssociationResponse$customDomainCertificateExpiryTime": "

The expiration time for the certificate.

", "EndpointAccess$endpointCreateTime": "

The time that the endpoint was created.

", + "GetCustomDomainAssociationResponse$customDomainCertificateExpiryTime": "

The expiration time for the certificate.

", "Namespace$creationDate": "

The date of when the namespace was created.

", "RecoveryPoint$recoveryPointCreateTime": "

The time the recovery point is created.

", "Snapshot$snapshotCreateTime": "

The timestamp of when the snapshot was created.

", "Snapshot$snapshotRetentionStartTime": "

The timestamp of when data within the snapshot started getting retained.

", - "Workgroup$creationDate": "

The creation date of the workgroup.

" + "UpdateCustomDomainAssociationResponse$customDomainCertificateExpiryTime": "

The expiration time for the certificate.

", + "Workgroup$creationDate": "

The creation date of the workgroup.

", + "Workgroup$customDomainCertificateExpiryTime": "

The expiration time for the certificate.

" } }, "TableRestoreStatus": { @@ -1004,6 +1103,16 @@ "refs": { } }, + "UpdateCustomDomainAssociationRequest": { + "base": null, + "refs": { + } + }, + "UpdateCustomDomainAssociationResponse": { + "base": null, + "refs": { + } + }, "UpdateEndpointAccessRequest": { "base": null, "refs": { @@ -1156,13 +1265,21 @@ "WorkgroupName": { "base": null, "refs": { + "Association$workgroupName": "

The name of the workgroup associated with the database.

", + "CreateCustomDomainAssociationRequest$workgroupName": "

The name of the workgroup associated with the database.

", + "CreateCustomDomainAssociationResponse$workgroupName": "

The name of the workgroup associated with the database.

", "CreateWorkgroupRequest$workgroupName": "

The name of the created workgroup.

", + "DeleteCustomDomainAssociationRequest$workgroupName": "

The name of the workgroup associated with the database.

", "DeleteWorkgroupRequest$workgroupName": "

The name of the workgroup to be deleted.

", "GetCredentialsRequest$workgroupName": "

The name of the workgroup associated with the database.

", + "GetCustomDomainAssociationRequest$workgroupName": "

The name of the workgroup associated with the database.

", + "GetCustomDomainAssociationResponse$workgroupName": "

The name of the workgroup associated with the database.

", "GetWorkgroupRequest$workgroupName": "

The name of the workgroup to return information for.

", "RecoveryPoint$workgroupName": "

The name of the workgroup the recovery point is associated with.

", "RestoreFromRecoveryPointRequest$workgroupName": "

The name of the workgroup used to restore data.

", "RestoreFromSnapshotRequest$workgroupName": "

The name of the workgroup used to restore the snapshot.

", + "UpdateCustomDomainAssociationRequest$workgroupName": "

The name of the workgroup associated with the database.

", + "UpdateCustomDomainAssociationResponse$workgroupName": "

The name of the workgroup associated with the database.

", "UpdateWorkgroupRequest$workgroupName": "

The name of the workgroup to update. You can't update the name of a workgroup once it is created.

", "Workgroup$workgroupName": "

The name of the workgroup.

" } diff --git a/models/apis/redshift-serverless/2021-04-21/paginators-1.json b/models/apis/redshift-serverless/2021-04-21/paginators-1.json index 6eec4209e49..9a86cbe89cc 100644 --- a/models/apis/redshift-serverless/2021-04-21/paginators-1.json +++ b/models/apis/redshift-serverless/2021-04-21/paginators-1.json @@ -1,5 +1,11 @@ { "pagination": { + "ListCustomDomainAssociations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "associations" + }, "ListEndpointAccess": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/resiliencehub/2020-04-30/api-2.json b/models/apis/resiliencehub/2020-04-30/api-2.json index bc6adc78bbf..c184cf1f431 100644 --- a/models/apis/resiliencehub/2020-04-30/api-2.json +++ b/models/apis/resiliencehub/2020-04-30/api-2.json @@ -1076,6 +1076,8 @@ "permissionModel":{"shape":"PermissionModel"}, "policyArn":{"shape":"Arn"}, "resiliencyScore":{"shape":"Double"}, + "rpoInSecs":{"shape":"IntegerOptional"}, + "rtoInSecs":{"shape":"IntegerOptional"}, "status":{"shape":"AppStatusType"}, "tags":{"shape":"TagMap"} } @@ -1228,8 +1230,11 @@ "creationTime":{"shape":"TimeStamp"}, "description":{"shape":"EntityDescription"}, "driftStatus":{"shape":"AppDriftStatusType"}, + "lastAppComplianceEvaluationTime":{"shape":"TimeStamp"}, "name":{"shape":"EntityName"}, "resiliencyScore":{"shape":"Double"}, + "rpoInSecs":{"shape":"IntegerOptional"}, + "rtoInSecs":{"shape":"IntegerOptional"}, "status":{"shape":"AppStatusType"} } }, @@ -2218,6 +2223,10 @@ } }, "Integer":{"type":"integer"}, + "IntegerOptional":{ + "type":"integer", + "box":true + }, "InternalServerException":{ "type":"structure", "members":{ @@ -2469,6 +2478,11 @@ "location":"querystring", "locationName":"appArn" }, + "fromLastAssessmentTime":{ + "shape":"TimeStamp", + "location":"querystring", + "locationName":"fromLastAssessmentTime" + }, "maxResults":{ "shape":"MaxResults", "location":"querystring", @@ -2483,6 +2497,16 @@ "shape":"NextToken", "location":"querystring", "locationName":"nextToken" + }, + "reverseOrder":{ + "shape":"BooleanOptional", + "location":"querystring", + "locationName":"reverseOrder" + }, + "toLastAssessmentTime":{ + "shape":"TimeStamp", + "location":"querystring", + "locationName":"toLastAssessmentTime" } } }, diff --git a/models/apis/resiliencehub/2020-04-30/docs-2.json b/models/apis/resiliencehub/2020-04-30/docs-2.json index 67e5cfaa24d..e9b107f060e 100644 --- a/models/apis/resiliencehub/2020-04-30/docs-2.json +++ b/models/apis/resiliencehub/2020-04-30/docs-2.json @@ -2,13 +2,13 @@ "version": "2.0", "service": "

Resilience Hub helps you proactively prepare and protect your Amazon Web Services applications from disruptions. It offers continual resiliency assessment and validation that integrates into your software development lifecycle. This enables you to uncover resiliency weaknesses, ensure recovery time objective (RTO) and recovery point objective (RPO) targets for your applications are met, and resolve issues before they are released into production.

", "operations": { - "AddDraftAppVersionResourceMappings": "

Adds the resource mapping for the draft application version. You can also update an existing resource mapping to a new physical resource.

", + "AddDraftAppVersionResourceMappings": "

Adds the source of resource-maps to the draft version of an application. During assessment, Resilience Hub will use these resource-maps to resolve the latest physical ID for each resource in the application template. For more information about different types of resources suported by Resilience Hub and how to add them in your application, see Step 2: How is your application managed? in the Resilience Hub User Guide.

", "BatchUpdateRecommendationStatus": "

Enables you to include or exclude one or more operational recommendations.

", "CreateApp": "

Creates an Resilience Hub application. An Resilience Hub application is a collection of Amazon Web Services resources structured to prevent and recover Amazon Web Services application disruptions. To describe a Resilience Hub application, you provide an application name, resources from one or more CloudFormation stacks, Resource Groups, Terraform state files, AppRegistry applications, and an appropriate resiliency policy. In addition, you can also add resources that are located on Amazon Elastic Kubernetes Service (Amazon EKS) clusters as optional resources. For more information about the number of resources supported per application, see Service quotas.

After you create an Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO).

", "CreateAppVersionAppComponent": "

Creates a new Application Component in the Resilience Hub application.

This API updates the Resilience Hub application draft version. To use this Application Component for running assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

", "CreateAppVersionResource": "

Adds a resource to the Resilience Hub application and assigns it to the specified Application Components. If you specify a new Application Component, Resilience Hub will automatically create the Application Component.

", "CreateRecommendationTemplate": "

Creates a new recommendation template for the Resilience Hub application.

", - "CreateResiliencyPolicy": "

Creates a resiliency policy for an application.

", + "CreateResiliencyPolicy": "

Creates a resiliency policy for an application.

Resilience Hub allows you to provide a value of zero for rtoInSecs and rpoInSecs of your resiliency policy. But, while assessing your application, the lowest possible assessment result is near zero. Hence, if you provide value zero for rtoInSecs and rpoInSecs, the estimated workload RTO and estimated workload RPO result will be near zero and the Compliance status for your application will be set to Policy breached.

", "DeleteApp": "

Deletes an Resilience Hub application. This is a destructive action that can't be undone.

", "DeleteAppAssessment": "

Deletes an Resilience Hub application assessment. This is a destructive action that can't be undone.

", "DeleteAppInputSource": "

Deletes the input source and all of its imported resources from the Resilience Hub application.

", @@ -55,7 +55,7 @@ "UpdateAppVersion": "

Updates the Resilience Hub application version.

This API updates the Resilience Hub application draft version. To use this information for running resiliency assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

", "UpdateAppVersionAppComponent": "

Updates an existing Application Component in the Resilience Hub application.

This API updates the Resilience Hub application draft version. To use this Application Component for running assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

", "UpdateAppVersionResource": "

Updates the resource details in the Resilience Hub application.

", - "UpdateResiliencyPolicy": "

Updates a resiliency policy.

" + "UpdateResiliencyPolicy": "

Updates a resiliency policy.

Resilience Hub allows you to provide a value of zero for rtoInSecs and rpoInSecs of your resiliency policy. But, while assessing your application, the lowest possible assessment result is near zero. Hence, if you provide value zero for rtoInSecs and rpoInSecs, the estimated workload RTO and estimated workload RPO result will be near zero and the Compliance status for your application will be set to Policy breached.

" }, "shapes": { "AccessDeniedException": { @@ -252,102 +252,102 @@ "Arn": { "base": null, "refs": { - "AddDraftAppVersionResourceMappingsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "AddDraftAppVersionResourceMappingsResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "App$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "App$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "AppAssessment$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "AppAssessment$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "AppAssessmentSummary$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "AppAssessmentSummary$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "AppInputSource$sourceArn": "

The Amazon Resource Name (ARN) of the input source. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "AppSummary$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", + "AddDraftAppVersionResourceMappingsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "AddDraftAppVersionResourceMappingsResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "App$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "App$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "AppAssessment$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "AppAssessment$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "AppAssessmentSummary$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "AppAssessmentSummary$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "AppInputSource$sourceArn": "

The Amazon Resource Name (ARN) of the input source. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "AppSummary$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", "ArnList$member": null, - "BatchUpdateRecommendationStatusRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "BatchUpdateRecommendationStatusResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "CreateAppRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "CreateAppVersionAppComponentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "CreateAppVersionAppComponentResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "CreateAppVersionResourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "CreateAppVersionResourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "CreateRecommendationTemplateRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppAssessmentRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppAssessmentResponse$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppInputSourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppInputSourceRequest$sourceArn": "

The Amazon Resource Name (ARN) of the imported resource you want to remove from the Resilience Hub application. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppInputSourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppVersionAppComponentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppVersionAppComponentResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppVersionResourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteAppVersionResourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", + "BatchUpdateRecommendationStatusRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "BatchUpdateRecommendationStatusResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "CreateAppRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "CreateAppVersionAppComponentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "CreateAppVersionAppComponentResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "CreateAppVersionResourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "CreateAppVersionResourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "CreateRecommendationTemplateRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppAssessmentRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppAssessmentResponse$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppInputSourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppInputSourceRequest$sourceArn": "

The Amazon Resource Name (ARN) of the imported resource you want to remove from the Resilience Hub application. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppInputSourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppVersionAppComponentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppVersionAppComponentResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppVersionResourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteAppVersionResourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", "DeleteRecommendationTemplateRequest$recommendationTemplateArn": "

The Amazon Resource Name (ARN) for a recommendation template.

", "DeleteRecommendationTemplateResponse$recommendationTemplateArn": "

The Amazon Resource Name (ARN) for a recommendation template.

", - "DeleteResiliencyPolicyRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DeleteResiliencyPolicyResponse$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppAssessmentRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionAppComponentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionAppComponentResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionResourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionResourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionResourcesResolutionStatusRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionResourcesResolutionStatusResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionTemplateRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeAppVersionTemplateResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeDraftAppVersionResourcesImportStatusRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeDraftAppVersionResourcesImportStatusResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "DescribeResiliencyPolicyRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "EksSource$eksClusterArn": "

Amazon Resource Name (ARN) of the Amazon Elastic Kubernetes Service cluster. The format for this ARN is: arn:aws:eks:region:account-id:cluster/cluster-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "EksSourceClusterNamespace$eksClusterArn": "

Amazon Resource Name (ARN) of the Amazon Elastic Kubernetes Service cluster. The format for this ARN is: arn:aws:eks:region:account-id:cluster/cluster-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "EventSubscription$snsTopicArn": "

Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ImportResourcesToDraftAppVersionRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ImportResourcesToDraftAppVersionResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAlarmRecommendationsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppAssessmentComplianceDriftsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppAssessmentsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppComponentCompliancesRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppComponentRecommendationsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppInputSourcesRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppVersionAppComponentsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppVersionAppComponentsResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppVersionResourceMappingsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppVersionResourcesRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppVersionsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListAppsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListRecommendationTemplatesRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", + "DeleteResiliencyPolicyRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DeleteResiliencyPolicyResponse$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppAssessmentRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionAppComponentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionAppComponentResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionResourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionResourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionResourcesResolutionStatusRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionResourcesResolutionStatusResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionTemplateRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeAppVersionTemplateResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeDraftAppVersionResourcesImportStatusRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeDraftAppVersionResourcesImportStatusResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "DescribeResiliencyPolicyRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "EksSource$eksClusterArn": "

Amazon Resource Name (ARN) of the Amazon Elastic Kubernetes Service cluster. The format for this ARN is: arn:aws:eks:region:account-id:cluster/cluster-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "EksSourceClusterNamespace$eksClusterArn": "

Amazon Resource Name (ARN) of the Amazon Elastic Kubernetes Service cluster. The format for this ARN is: arn:aws:eks:region:account-id:cluster/cluster-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "EventSubscription$snsTopicArn": "

Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: arn:partition:sns:region:account:topic-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ImportResourcesToDraftAppVersionRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ImportResourcesToDraftAppVersionResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAlarmRecommendationsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppAssessmentComplianceDriftsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppAssessmentsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppComponentCompliancesRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppComponentRecommendationsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppInputSourcesRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppVersionAppComponentsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppVersionAppComponentsResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppVersionResourceMappingsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppVersionResourcesRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppVersionsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListAppsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListRecommendationTemplatesRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", "ListRecommendationTemplatesRequest$recommendationTemplateArn": "

The Amazon Resource Name (ARN) for a recommendation template.

", - "ListSopRecommendationsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", + "ListSopRecommendationsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) for a specific resource in your Resilience Hub application.

", - "ListTestRecommendationsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ListUnsupportedAppVersionResourcesRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "PublishAppVersionRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "PublishAppVersionResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "PutDraftAppVersionTemplateRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "PutDraftAppVersionTemplateResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "RecommendationTemplate$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "RecommendationTemplate$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", + "ListTestRecommendationsRequest$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ListUnsupportedAppVersionResourcesRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "PublishAppVersionRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "PublishAppVersionResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "PutDraftAppVersionTemplateRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "PutDraftAppVersionTemplateResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "RecommendationTemplate$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "RecommendationTemplate$assessmentArn": "

Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn:partition:resiliencehub:region:account:app-assessment/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", "RecommendationTemplate$recommendationTemplateArn": "

Amazon Resource Name (ARN) for the recommendation template.

", - "RemoveDraftAppVersionResourceMappingsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "RemoveDraftAppVersionResourceMappingsResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ResiliencyPolicy$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ResolveAppVersionResourcesRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "ResolveAppVersionResourcesResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "StartAppAssessmentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", + "RemoveDraftAppVersionResourceMappingsRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "RemoveDraftAppVersionResourceMappingsResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ResiliencyPolicy$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ResolveAppVersionResourcesRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "ResolveAppVersionResourcesResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "StartAppAssessmentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", "TagResourceRequest$resourceArn": "

Amazon Resource Name (ARN) of the resource.

", "UntagResourceRequest$resourceArn": "

Amazon Resource Name (ARN) of the resource.

", - "UpdateAppRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "UpdateAppRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "UpdateAppVersionAppComponentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "UpdateAppVersionAppComponentResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "UpdateAppVersionRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "UpdateAppVersionResourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "UpdateAppVersionResourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "UpdateAppVersionResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

", - "UpdateResiliencyPolicyRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference guide.

" + "UpdateAppRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "UpdateAppRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "UpdateAppVersionAppComponentRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "UpdateAppVersionAppComponentResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "UpdateAppVersionRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "UpdateAppVersionResourceRequest$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "UpdateAppVersionResourceResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "UpdateAppVersionResponse$appArn": "

Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

", + "UpdateResiliencyPolicyRequest$policyArn": "

Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

" } }, "ArnList": { @@ -442,6 +442,7 @@ "BatchUpdateRecommendationStatusSuccessfulEntry$excluded": "

Indicates if the operational recommendation was successfully excluded.

", "DeleteAppRequest$forceDelete": "

A boolean option to force the deletion of an Resilience Hub application.

", "ListAppAssessmentsRequest$reverseOrder": "

The default is to sort by ascending startTime. To sort by descending startTime, set reverseOrder to true.

", + "ListAppsRequest$reverseOrder": "

The application list is sorted based on the values of lastAppComplianceEvaluationTime field. By default, application list is sorted in ascending order. To sort the appliation list in descending order, set this field to True.

", "ListRecommendationTemplatesRequest$reverseOrder": "

The default is to sort by ascending startTime. To sort by descending startTime, set reverseOrder to true.

", "PhysicalResource$excluded": "

Indicates if a resource is included or excluded from the assessment.

", "RecommendationItem$alreadyImplemented": "

Specifies if the recommendation has already been implemented.

", @@ -1085,6 +1086,15 @@ "AppInputSource$resourceCount": "

The number of resources.

" } }, + "IntegerOptional": { + "base": null, + "refs": { + "App$rpoInSecs": "

Recovery Point Objective (RPO) in seconds.

", + "App$rtoInSecs": "

Recovery Time Objective (RTO) in seconds.

", + "AppSummary$rpoInSecs": "

Recovery Point Objective (RPO) in seconds.

", + "AppSummary$rtoInSecs": "

Recovery Time Objective (RTO) in seconds.

" + } + }, "InternalServerException": { "base": "

This exception occurs when there is an internal failure in the Resilience Hub service.

", "refs": { @@ -1510,7 +1520,7 @@ } }, "ResiliencyPolicy": { - "base": "

Defines a resiliency policy.

", + "base": "

Defines a resiliency policy.

Resilience Hub allows you to provide a value of zero for rtoInSecs and rpoInSecs of your resiliency policy. But, while assessing your application, the lowest possible assessment result is near zero. Hence, if you provide value zero for rtoInSecs and rpoInSecs, the estimated workload RTO and estimated workload RPO result will be near zero and the Compliance status for your application will be set to Policy breached.

", "refs": { "AppAssessment$policy": "

Resiliency policy of an application.

", "CreateResiliencyPolicyResponse$policy": "

The type of resiliency policy that was created, including the recovery time objective (RTO) and recovery point objective (RPO) in seconds.

", @@ -1653,8 +1663,8 @@ "DisruptionCompliance$achievableRtoInSecs": "

The Recovery Time Objective (RTO) that is achievable, in seconds

", "DisruptionCompliance$currentRpoInSecs": "

The current RPO, in seconds.

", "DisruptionCompliance$currentRtoInSecs": "

The current RTO, in seconds.

", - "FailurePolicy$rpoInSecs": "

The Recovery Point Objective (RPO), in seconds.

", - "FailurePolicy$rtoInSecs": "

The Recovery Time Objective (RTO), in seconds.

", + "FailurePolicy$rpoInSecs": "

Recovery Point Objective (RPO) in seconds.

", + "FailurePolicy$rtoInSecs": "

Recovery Time Objective (RTO) in seconds.

", "RecommendationDisruptionCompliance$expectedRpoInSecs": "

The expected RPO after applying the recommended configuration change.

", "RecommendationDisruptionCompliance$expectedRtoInSecs": "

The expected RTO after applying the recommended configuration change.

" } @@ -1757,7 +1767,7 @@ "LogicalResourceId$identifier": "

Identifier of the resource.

", "LogicalResourceId$logicalStackName": "

The name of the CloudFormation stack this resource belongs to.

", "LogicalResourceId$terraformSourceName": "

The name of the Terraform S3 state file this resource belongs to.

", - "PhysicalResource$resourceType": "

The type of resource.

", + "PhysicalResource$resourceType": "

Type of resource.

", "PhysicalResourceId$identifier": "

Identifier of the physical resource.

", "ResolveAppVersionResourcesResponse$resolutionId": "

The identifier for a specific resolution.

", "ResourceError$logicalResourceId": "

Identifier of the logical resource.

", @@ -1923,22 +1933,25 @@ "TimeStamp": { "base": null, "refs": { - "App$creationTime": "

Timestamp for when the app was created.

", - "App$lastAppComplianceEvaluationTime": "

Timestamp for the most recent compliance evaluation.

", + "App$creationTime": "

Date and time when the app was created.

", + "App$lastAppComplianceEvaluationTime": "

Date and time the most recent compliance evaluation.

", "App$lastDriftEvaluationTime": "

Indicates the last time that a drift was evaluated.

", - "App$lastResiliencyScoreEvaluationTime": "

Timestamp for the most recent resiliency score evaluation.

", + "App$lastResiliencyScoreEvaluationTime": "

Date and time the most recent resiliency score evaluation.

", "AppAssessment$endTime": "

End time for the action.

", "AppAssessment$startTime": "

Starting time for the action.

", "AppAssessmentSummary$endTime": "

End time for the action.

", "AppAssessmentSummary$startTime": "

Starting time for the action.

", - "AppSummary$creationTime": "

The timestamp for when the app was created.

", + "AppSummary$creationTime": "

Date and time when the app was created.

", + "AppSummary$lastAppComplianceEvaluationTime": "

Date and time of the most recent compliance evaluation.

", "AppVersionSummary$creationTime": "

Creation time of the application version.

", - "DescribeDraftAppVersionResourcesImportStatusResponse$statusChangeTime": "

The timestamp for when the status last changed.

", + "DescribeDraftAppVersionResourcesImportStatusResponse$statusChangeTime": "

The time when the status last changed.

", "ListAppVersionsRequest$endTime": "

Upper limit of the time range to filter the application versions.

", "ListAppVersionsRequest$startTime": "

Lower limit of the time range to filter the application versions.

", + "ListAppsRequest$fromLastAssessmentTime": "

Indicates the lower limit of the range that is used to filter applications based on their last assessment times.

", + "ListAppsRequest$toLastAssessmentTime": "

Indicates the upper limit of the range that is used to filter the applications based on their last assessment times.

", "RecommendationTemplate$endTime": "

The end time for the action.

", "RecommendationTemplate$startTime": "

The start time for the action.

", - "ResiliencyPolicy$creationTime": "

The timestamp for when the resiliency policy was created.

" + "ResiliencyPolicy$creationTime": "

Date and time when the resiliency policy was created.

" } }, "UnsupportedResource": { diff --git a/models/apis/resiliencehub/2020-04-30/endpoint-rule-set-1.json b/models/apis/resiliencehub/2020-04-30/endpoint-rule-set-1.json index 5387f61cc97..45c48b7a529 100644 --- a/models/apis/resiliencehub/2020-04-30/endpoint-rule-set-1.json +++ b/models/apis/resiliencehub/2020-04-30/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://resiliencehub-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://resiliencehub-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://resiliencehub-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://resiliencehub-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://resiliencehub.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://resiliencehub.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://resiliencehub.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://resiliencehub.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/s3outposts/2017-07-25/api-2.json b/models/apis/s3outposts/2017-07-25/api-2.json index 3ee25ede8b8..f2460e85e23 100644 --- a/models/apis/s3outposts/2017-07-25/api-2.json +++ b/models/apis/s3outposts/2017-07-25/api-2.json @@ -326,6 +326,7 @@ "type":"structure", "members":{ "OutpostArn":{"shape":"OutpostArn"}, + "S3OutpostArn":{"shape":"S3OutpostArn"}, "OutpostId":{"shape":"OutpostId"}, "OwnerId":{"shape":"AwsAccountId"}, "CapacityInBytes":{"shape":"CapacityInBytes"} @@ -359,6 +360,10 @@ "error":{"httpStatusCode":404}, "exception":true }, + "S3OutpostArn":{ + "type":"string", + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3-outposts:[a-z\\-0-9]*:[0-9]{12}:outpost/(op-[a-f0-9]{17}|\\d{12})/s3$" + }, "SecurityGroupId":{ "type":"string", "pattern":"^sg-([0-9a-f]{8}|[0-9a-f]{17})$" diff --git a/models/apis/s3outposts/2017-07-25/docs-2.json b/models/apis/s3outposts/2017-07-25/docs-2.json index bb208ae305f..52180207b2a 100644 --- a/models/apis/s3outposts/2017-07-25/docs-2.json +++ b/models/apis/s3outposts/2017-07-25/docs-2.json @@ -244,6 +244,12 @@ "refs": { } }, + "S3OutpostArn": { + "base": null, + "refs": { + "Outpost$S3OutpostArn": "

Specifies the unique S3 on Outposts ARN for use with Resource Access Manager (RAM).

" + } + }, "SecurityGroupId": { "base": null, "refs": { diff --git a/models/apis/s3outposts/2017-07-25/endpoint-rule-set-1.json b/models/apis/s3outposts/2017-07-25/endpoint-rule-set-1.json index 755a138c886..b2e4f6d2998 100644 --- a/models/apis/s3outposts/2017-07-25/endpoint-rule-set-1.json +++ b/models/apis/s3outposts/2017-07-25/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3-outposts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://s3-outposts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3-outposts-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://s3-outposts-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://s3-outposts.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://s3-outposts.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://s3-outposts.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://s3-outposts.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/s3outposts/2017-07-25/endpoint-tests-1.json b/models/apis/s3outposts/2017-07-25/endpoint-tests-1.json index 2d8077a877f..f0cf683fa13 100644 --- a/models/apis/s3outposts/2017-07-25/endpoint-tests-1.json +++ b/models/apis/s3outposts/2017-07-25/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-northeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -333,9 +333,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -346,9 +346,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -359,9 +359,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -372,9 +372,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -385,9 +385,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -398,9 +398,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -411,9 +411,20 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "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 } }, { @@ -424,9 +435,20 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -437,9 +459,20 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "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 } }, { @@ -450,9 +483,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -463,9 +507,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -476,9 +520,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -501,9 +545,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" } }, @@ -513,11 +557,17 @@ "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" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/wisdom/2020-10-19/docs-2.json b/models/apis/wisdom/2020-10-19/docs-2.json index 4e0929370a1..2fafb456664 100644 --- a/models/apis/wisdom/2020-10-19/docs-2.json +++ b/models/apis/wisdom/2020-10-19/docs-2.json @@ -377,7 +377,7 @@ "GenericArn": { "base": null, "refs": { - "AppIntegrationsConfiguration$appIntegrationArn": "

The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

", + "AppIntegrationsConfiguration$appIntegrationArn": "

The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

", "AssistantIntegrationConfiguration$topicIntegrationArn": "

The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

", "SessionIntegrationConfiguration$topicIntegrationArn": "

The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

" } @@ -629,7 +629,7 @@ "ListKnowledgeBasesRequest$nextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", "ListKnowledgeBasesResponse$nextToken": "

If there are additional results, this is the token for the next set of results.

", "ObjectFieldsList$member": null, - "ServerSideEncryptionConfiguration$kmsKeyId": "

The KMS key. For information about valid ID values, see Key identifiers (KeyId).

", + "ServerSideEncryptionConfiguration$kmsKeyId": "

The customer managed key used for encryption. For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance. For information about valid ID values, see Key identifiers (KeyId).

", "UpdateContentRequest$revisionId": "

The revisionId of the content resource to update, taken from an earlier call to GetContent, GetContentSummary, SearchContent, or ListContents. If included, this argument acts as an optimistic lock to ensure content was not modified since it was last read. If it has been modified, this API throws a PreconditionFailedException.

" } }, @@ -833,14 +833,14 @@ } }, "ServerSideEncryptionConfiguration": { - "base": "

The KMS key used for encryption.

", - "refs": { - "AssistantData$serverSideEncryptionConfiguration": "

The KMS key used for encryption.

", - "AssistantSummary$serverSideEncryptionConfiguration": "

The KMS key used for encryption.

", - "CreateAssistantRequest$serverSideEncryptionConfiguration": "

The KMS key used for encryption.

", - "CreateKnowledgeBaseRequest$serverSideEncryptionConfiguration": "

The KMS key used for encryption.

", - "KnowledgeBaseData$serverSideEncryptionConfiguration": "

The KMS key used for encryption.

", - "KnowledgeBaseSummary$serverSideEncryptionConfiguration": "

The KMS key used for encryption.

" + "base": "

The configuration information for the customer managed key used for encryption.

", + "refs": { + "AssistantData$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions to the connect.amazonaws.com service principal.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "AssistantSummary$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions to the connect.amazonaws.com service principal.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "CreateAssistantRequest$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

The customer managed key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, and kms:DescribeKey permissions to the connect.amazonaws.com service principal.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "CreateKnowledgeBaseRequest$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "KnowledgeBaseData$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

", + "KnowledgeBaseSummary$serverSideEncryptionConfiguration": "

The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom.

For more information about setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom for your instance.

" } }, "ServiceQuotaExceededException": { diff --git a/service/connect/api.go b/service/connect/api.go index 4cad36889b9..412aa8c7d1a 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -13985,7 +13985,7 @@ func (c *Connect) ListSecurityProfileApplicationsRequest(input *ListSecurityProf // ListSecurityProfileApplications API operation for Amazon Connect Service. // -// Returns a list of third party applications in a specific security profile. +// Returns a list of third-party applications in a specific security 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 @@ -16148,7 +16148,9 @@ func (c *Connect) ResumeContactRecordingRequest(input *ResumeContactRecordingInp // ResumeContactRecording API operation for Amazon Connect Service. // // When a contact is being recorded, and the recording has been suspended using -// SuspendContactRecording, this API resumes recording the call or screen. +// SuspendContactRecording, this API resumes recording whatever recording is +// selected in the flow configuration: call, screen, or both. If only call recording +// or only screen recording is enabled, then it would resume. // // Voice and screen recordings are supported. // @@ -18761,10 +18763,12 @@ func (c *Connect) SuspendContactRecordingRequest(input *SuspendContactRecordingI // SuspendContactRecording API operation for Amazon Connect Service. // -// When a contact is being recorded, this API suspends recording the call or -// screen. For example, you might suspend the call or screen recording while -// collecting sensitive information, such as a credit card number. Then use -// ResumeContactRecording to restart recording. +// When a contact is being recorded, this API suspends recording whatever is +// selected in the flow configuration: call, screen, or both. If only call recording +// or only screen recording is enabled, then it would be suspended. For example, +// you might suspend the screen recording while collecting sensitive information, +// such as a credit card number. Then use ResumeContactRecording to restart +// recording the screen. // // The period of time that the recording is suspended is filled with silence // in the final recording. @@ -23966,7 +23970,7 @@ func (s *AnswerMachineDetectionConfig) SetEnableAnswerMachineDetection(v bool) * // This API is in preview release for Amazon Connect and is subject to change. // -// A third party application's metadata. +// A third-party application's metadata. type Application struct { _ struct{} `type:"structure"` @@ -25522,6 +25526,12 @@ type ClaimPhoneNumberInput struct { // Pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ ClientToken *string `type:"string" idempotencyToken:"true"` + // The identifier of the Amazon Connect instance that phone numbers are claimed + // to. 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. You must enter InstanceId + // or TargetArn. + InstanceId *string `min:"1" type:"string"` + // The phone number you want to claim. Phone numbers are formatted [+] [country // code] [subscriber number including area code]. // @@ -25536,10 +25546,9 @@ type ClaimPhoneNumberInput struct { Tags map[string]*string `min:"1" type:"map"` // The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution - // groups that phone numbers are claimed to. - // - // TargetArn is a required field - TargetArn *string `type:"string" required:"true"` + // groups that phone number inbound traffic is routed through. You must enter + // InstanceId or TargetArn. + TargetArn *string `type:"string"` } // String returns the string representation. @@ -25563,15 +25572,15 @@ func (s ClaimPhoneNumberInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ClaimPhoneNumberInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ClaimPhoneNumberInput"} + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } if s.PhoneNumber == nil { invalidParams.Add(request.NewErrParamRequired("PhoneNumber")) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } - if s.TargetArn == nil { - invalidParams.Add(request.NewErrParamRequired("TargetArn")) - } if invalidParams.Len() > 0 { return invalidParams @@ -25585,6 +25594,12 @@ func (s *ClaimPhoneNumberInput) SetClientToken(v string) *ClaimPhoneNumberInput return s } +// SetInstanceId sets the InstanceId field's value. +func (s *ClaimPhoneNumberInput) SetInstanceId(v string) *ClaimPhoneNumberInput { + s.InstanceId = &v + return s +} + // SetPhoneNumber sets the PhoneNumber field's value. func (s *ClaimPhoneNumberInput) SetPhoneNumber(v string) *ClaimPhoneNumberInput { s.PhoneNumber = &v @@ -25654,6 +25669,11 @@ func (s *ClaimPhoneNumberOutput) SetPhoneNumberId(v string) *ClaimPhoneNumberOut type ClaimedPhoneNumberSummary struct { _ struct{} `type:"structure"` + // The identifier of the Amazon Connect instance that phone numbers are claimed + // to. 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 *string `min:"1" type:"string"` + // The phone number. Phone numbers are formatted [+] [country code] [subscriber // number including area code]. PhoneNumber *string `type:"string"` @@ -25704,7 +25724,7 @@ type ClaimedPhoneNumberSummary struct { Tags map[string]*string `min:"1" type:"map"` // The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution - // groups that phone numbers are claimed to. + // groups that phone number inbound traffic is routed through. TargetArn *string `type:"string"` } @@ -25726,6 +25746,12 @@ func (s ClaimedPhoneNumberSummary) GoString() string { return s.String() } +// SetInstanceId sets the InstanceId field's value. +func (s *ClaimedPhoneNumberSummary) SetInstanceId(v string) *ClaimedPhoneNumberSummary { + s.InstanceId = &v + return s +} + // SetPhoneNumber sets the PhoneNumber field's value. func (s *ClaimedPhoneNumberSummary) SetPhoneNumber(v string) *ClaimedPhoneNumberSummary { s.PhoneNumber = &v @@ -28704,7 +28730,7 @@ type CreateSecurityProfileInput struct { // This API is in preview release for Amazon Connect and is subject to change. // - // A list of third party applications that the security profile will give access + // A list of third-party applications that the security profile will give access // to. Applications []*Application `type:"list"` @@ -45397,6 +45423,11 @@ func (s *ListPhoneNumbersOutput) SetPhoneNumberSummaryList(v []*PhoneNumberSumma type ListPhoneNumbersSummary struct { _ struct{} `type:"structure"` + // The identifier of the Amazon Connect instance that phone numbers are claimed + // to. 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 *string `min:"1" type:"string"` + // The phone number. Phone numbers are formatted [+] [country code] [subscriber // number including area code]. PhoneNumber *string `type:"string"` @@ -45414,7 +45445,7 @@ type ListPhoneNumbersSummary struct { PhoneNumberType *string `type:"string" enum:"PhoneNumberType"` // The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution - // groups that phone numbers are claimed to. + // groups that phone number inbound traffic is routed through. TargetArn *string `type:"string"` } @@ -45436,6 +45467,12 @@ func (s ListPhoneNumbersSummary) GoString() string { return s.String() } +// SetInstanceId sets the InstanceId field's value. +func (s *ListPhoneNumbersSummary) SetInstanceId(v string) *ListPhoneNumbersSummary { + s.InstanceId = &v + return s +} + // SetPhoneNumber sets the PhoneNumber field's value. func (s *ListPhoneNumbersSummary) SetPhoneNumber(v string) *ListPhoneNumbersSummary { s.PhoneNumber = &v @@ -45475,6 +45512,14 @@ func (s *ListPhoneNumbersSummary) SetTargetArn(v string) *ListPhoneNumbersSummar type ListPhoneNumbersV2Input struct { _ struct{} `type:"structure"` + // The identifier of the Amazon Connect instance that phone numbers are claimed + // to. 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. If both TargetArn and + // InstanceId are not provided, this API lists numbers claimed to all the Amazon + // Connect instances belonging to your account in the same AWS Region as the + // request. + InstanceId *string `min:"1" type:"string"` + // The maximum number of results to return per page. MaxResults *int64 `min:"1" type:"integer"` @@ -45493,9 +45538,10 @@ type ListPhoneNumbersV2Input struct { PhoneNumberTypes []*string `type:"list" enum:"PhoneNumberType"` // The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution - // groups that phone numbers are claimed to. If TargetArn input is not provided, - // this API lists numbers claimed to all the Amazon Connect instances belonging - // to your account in the same Amazon Web Services Region as the request. + // groups that phone number inbound traffic is routed through. If both TargetArn + // and InstanceId input are not provided, this API lists numbers claimed to + // all the Amazon Connect instances belonging to your account in the same Amazon + // Web Services Region as the request. TargetArn *string `type:"string"` } @@ -45520,6 +45566,9 @@ func (s ListPhoneNumbersV2Input) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListPhoneNumbersV2Input) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListPhoneNumbersV2Input"} + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -45533,6 +45582,12 @@ func (s *ListPhoneNumbersV2Input) Validate() error { return nil } +// SetInstanceId sets the InstanceId field's value. +func (s *ListPhoneNumbersV2Input) SetInstanceId(v string) *ListPhoneNumbersV2Input { + s.InstanceId = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListPhoneNumbersV2Input) SetMaxResults(v int64) *ListPhoneNumbersV2Input { s.MaxResults = &v @@ -46595,7 +46650,9 @@ func (s *ListSecurityKeysOutput) SetSecurityKeys(v []*SecurityKey) *ListSecurity type ListSecurityProfileApplicationsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The instance identifier. + // 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"` @@ -46603,12 +46660,11 @@ type ListSecurityProfileApplicationsInput struct { // The maximum number of results to return per page. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token for the next set of results. The next set of results can be retrieved - // by using the token value returned in the previous response when making the - // next request. + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - // The security profile identifier. + // The identifier for the security profle. // // SecurityProfileId is a required field SecurityProfileId *string `location:"uri" locationName:"SecurityProfileId" type:"string" required:"true"` @@ -46686,12 +46742,10 @@ type ListSecurityProfileApplicationsOutput struct { // This API is in preview release for Amazon Connect and is subject to change. // - // A list of the third party application's metadata. + // A list of the third-party application's metadata. Applications []*Application `type:"list"` - // The token for the next set of results. The next set of results can be retrieved - // by using the token value returned in the previous response when making the - // next request. + // If there are additional results, this is the token for the next set of results. NextToken *string `type:"string"` } @@ -52594,6 +52648,12 @@ func (s *S3Config) SetEncryptionConfig(v *EncryptionConfig) *S3Config { type SearchAvailablePhoneNumbersInput struct { _ struct{} `type:"structure"` + // The identifier of the Amazon Connect instance that phone numbers are claimed + // to. 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. You must enter InstanceId + // or TargetArn. + InstanceId *string `min:"1" type:"string"` + // The maximum number of results to return per page. MaxResults *int64 `min:"1" type:"integer"` @@ -52616,10 +52676,9 @@ type SearchAvailablePhoneNumbersInput struct { PhoneNumberType *string `type:"string" required:"true" enum:"PhoneNumberType"` // The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution - // groups that phone numbers are claimed to. - // - // TargetArn is a required field - TargetArn *string `type:"string" required:"true"` + // groups that phone number inbound traffic is routed through. You must enter + // InstanceId or TargetArn. + TargetArn *string `type:"string"` } // String returns the string representation. @@ -52643,6 +52702,9 @@ func (s SearchAvailablePhoneNumbersInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *SearchAvailablePhoneNumbersInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "SearchAvailablePhoneNumbersInput"} + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -52655,9 +52717,6 @@ func (s *SearchAvailablePhoneNumbersInput) Validate() error { if s.PhoneNumberType == nil { invalidParams.Add(request.NewErrParamRequired("PhoneNumberType")) } - if s.TargetArn == nil { - invalidParams.Add(request.NewErrParamRequired("TargetArn")) - } if invalidParams.Len() > 0 { return invalidParams @@ -52665,6 +52724,12 @@ func (s *SearchAvailablePhoneNumbersInput) Validate() error { return nil } +// SetInstanceId sets the InstanceId field's value. +func (s *SearchAvailablePhoneNumbersInput) SetInstanceId(v string) *SearchAvailablePhoneNumbersInput { + s.InstanceId = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *SearchAvailablePhoneNumbersInput) SetMaxResults(v int64) *SearchAvailablePhoneNumbersInput { s.MaxResults = &v @@ -59987,16 +60052,21 @@ type UpdatePhoneNumberInput struct { // idempotent APIs (https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). ClientToken *string `type:"string" idempotencyToken:"true"` + // The identifier of the Amazon Connect instance that phone numbers are claimed + // to. 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. You must enter InstanceId + // or TargetArn. + InstanceId *string `min:"1" type:"string"` + // A unique identifier for the phone number. // // PhoneNumberId is a required field PhoneNumberId *string `location:"uri" locationName:"PhoneNumberId" type:"string" required:"true"` // The Amazon Resource Name (ARN) for Amazon Connect instances or traffic distribution - // groups that phone numbers are claimed to. - // - // TargetArn is a required field - TargetArn *string `type:"string" required:"true"` + // groups that phone number inbound traffic is routed through. You must enter + // InstanceId or TargetArn. + TargetArn *string `type:"string"` } // String returns the string representation. @@ -60020,15 +60090,15 @@ func (s UpdatePhoneNumberInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdatePhoneNumberInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdatePhoneNumberInput"} + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } if s.PhoneNumberId == nil { invalidParams.Add(request.NewErrParamRequired("PhoneNumberId")) } if s.PhoneNumberId != nil && len(*s.PhoneNumberId) < 1 { invalidParams.Add(request.NewErrParamMinLen("PhoneNumberId", 1)) } - if s.TargetArn == nil { - invalidParams.Add(request.NewErrParamRequired("TargetArn")) - } if invalidParams.Len() > 0 { return invalidParams @@ -60042,6 +60112,12 @@ func (s *UpdatePhoneNumberInput) SetClientToken(v string) *UpdatePhoneNumberInpu return s } +// SetInstanceId sets the InstanceId field's value. +func (s *UpdatePhoneNumberInput) SetInstanceId(v string) *UpdatePhoneNumberInput { + s.InstanceId = &v + return s +} + // SetPhoneNumberId sets the PhoneNumberId field's value. func (s *UpdatePhoneNumberInput) SetPhoneNumberId(v string) *UpdatePhoneNumberInput { s.PhoneNumberId = &v @@ -61806,7 +61882,7 @@ type UpdateSecurityProfileInput struct { // This API is in preview release for Amazon Connect and is subject to change. // - // A list of the third party application's metadata. + // A list of the third-party application's metadata. Applications []*Application `type:"list"` // The description of the security profile. diff --git a/service/connect/doc.go b/service/connect/doc.go index 9a399748671..73da5c55de5 100644 --- a/service/connect/doc.go +++ b/service/connect/doc.go @@ -13,7 +13,7 @@ // // There are limits to the number of Amazon Connect resources that you can create. // There are also limits to the number of requests that you can make per second. -// For more information, seeP98941055 Amazon Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) +// For more information, see Amazon Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) // in the Amazon Connect Administrator Guide. // // You can connect programmatically to an Amazon Web Services service by using diff --git a/service/connectwisdomservice/api.go b/service/connectwisdomservice/api.go index 6cd3a936244..73f6625915e 100644 --- a/service/connectwisdomservice/api.go +++ b/service/connectwisdomservice/api.go @@ -3226,6 +3226,14 @@ type AppIntegrationsConfiguration struct { // your AppIntegrations DataIntegration must have a FileConfiguration, including // only file extensions that are among docx, pdf, html, htm, and txt. // + // * For Amazon S3 (https://aws.amazon.com/s3/), the ObjectConfiguration + // and FileConfiguration of your AppIntegrations DataIntegration must be + // null. The SourceURI of your DataIntegration must use the following format: + // s3://your_s3_bucket_name. The bucket policy of the corresponding S3 bucket + // must allow the Amazon Web Services principal app-integrations.amazonaws.com + // to perform s3:ListBucket, s3:GetObject, and s3:GetBucketLocation against + // the bucket. + // // AppIntegrationArn is a required field AppIntegrationArn *string `locationName:"appIntegrationArn" min:"1" type:"string" required:"true"` @@ -3582,7 +3590,15 @@ type AssistantData struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The KMS key used for encryption. + // The configuration information for the customer managed key used for encryption. + // + // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey + // permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom + // with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, + // and kms:DescribeKey permissions to the connect.amazonaws.com service principal. + // + // For more information about setting up a customer managed key for Wisdom, + // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"serverSideEncryptionConfiguration" type:"structure"` // The status of the assistant. @@ -3729,7 +3745,15 @@ type AssistantSummary struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The KMS key used for encryption. + // The configuration information for the customer managed key used for encryption. + // + // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey + // permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom + // with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, + // and kms:DescribeKey permissions to the connect.amazonaws.com service principal. + // + // For more information about setting up a customer managed key for Wisdom, + // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"serverSideEncryptionConfiguration" type:"structure"` // The status of the assistant. @@ -4419,7 +4443,15 @@ type CreateAssistantInput struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The KMS key used for encryption. + // The configuration information for the customer managed key used for encryption. + // + // The customer managed key must have a policy that allows kms:CreateGrant and + // kms:DescribeKey permissions to the IAM identity using the key to invoke Wisdom. + // To use Wisdom with chat, the key policy must also allow kms:Decrypt, kms:GenerateDataKey*, + // and kms:DescribeKey permissions to the connect.amazonaws.com service principal. + // + // For more information about setting up a customer managed key for Wisdom, + // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"serverSideEncryptionConfiguration" type:"structure"` // The tags used to organize, track, or control access for this resource. @@ -4753,7 +4785,13 @@ type CreateKnowledgeBaseInput struct { // Information about how to render the content. RenderingConfiguration *RenderingConfiguration `locationName:"renderingConfiguration" type:"structure"` - // The KMS key used for encryption. + // The configuration information for the customer managed key used for encryption. + // + // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey + // permissions to the IAM identity using the key to invoke Wisdom. + // + // For more information about setting up a customer managed key for Wisdom, + // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"serverSideEncryptionConfiguration" type:"structure"` // The source of the knowledge base content. Only set this argument for EXTERNAL @@ -6344,7 +6382,13 @@ type KnowledgeBaseData struct { // Information about how to render the content. RenderingConfiguration *RenderingConfiguration `locationName:"renderingConfiguration" type:"structure"` - // The KMS key used for encryption. + // The configuration information for the customer managed key used for encryption. + // + // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey + // permissions to the IAM identity using the key to invoke Wisdom. + // + // For more information about setting up a customer managed key for Wisdom, + // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"serverSideEncryptionConfiguration" type:"structure"` // Source configuration information about the knowledge base. @@ -6473,7 +6517,13 @@ type KnowledgeBaseSummary struct { // Information about how to render the content. RenderingConfiguration *RenderingConfiguration `locationName:"renderingConfiguration" type:"structure"` - // The KMS key used for encryption. + // The configuration information for the customer managed key used for encryption. + // + // This KMS key must have a policy that allows kms:CreateGrant and kms:DescribeKey + // permissions to the IAM identity using the key to invoke Wisdom. + // + // For more information about setting up a customer managed key for Wisdom, + // see Enable Amazon Connect Wisdom for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"serverSideEncryptionConfiguration" type:"structure"` // Configuration information about the external data source. @@ -8247,12 +8297,14 @@ func (s *SearchSessionsOutput) SetSessionSummaries(v []*SessionSummary) *SearchS return s } -// The KMS key used for encryption. +// The configuration information for the customer managed key used for encryption. type ServerSideEncryptionConfiguration struct { _ struct{} `type:"structure"` - // The KMS key. For information about valid ID values, see Key identifiers (KeyId) - // (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id). + // The customer managed key used for encryption. For more information about + // setting up a customer managed key for Wisdom, see Enable Amazon Connect Wisdom + // for your instance (https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html). + // For information about valid ID values, see Key identifiers (KeyId) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id). KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` } diff --git a/service/dataexchange/api.go b/service/dataexchange/api.go index 5e076736af5..f6f396cfac1 100644 --- a/service/dataexchange/api.go +++ b/service/dataexchange/api.go @@ -2283,6 +2283,102 @@ func (c *DataExchange) SendApiAssetWithContext(ctx aws.Context, input *SendApiAs return out, req.Send() } +const opSendDataSetNotification = "SendDataSetNotification" + +// SendDataSetNotificationRequest generates a "aws/request.Request" representing the +// client's request for the SendDataSetNotification 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 SendDataSetNotification for more information on using the SendDataSetNotification +// 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 SendDataSetNotificationRequest method. +// req, resp := client.SendDataSetNotificationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dataexchange-2017-07-25/SendDataSetNotification +func (c *DataExchange) SendDataSetNotificationRequest(input *SendDataSetNotificationInput) (req *request.Request, output *SendDataSetNotificationOutput) { + op := &request.Operation{ + Name: opSendDataSetNotification, + HTTPMethod: "POST", + HTTPPath: "/v1/data-sets/{DataSetId}/notification", + } + + if input == nil { + input = &SendDataSetNotificationInput{} + } + + output = &SendDataSetNotificationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SendDataSetNotification API operation for AWS Data Exchange. +// +// The type of event associated with the data set. +// +// 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 Data Exchange's +// API operation SendDataSetNotification for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource couldn't be found. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - AccessDeniedException +// Access to the resource is denied. +// +// - ConflictException +// The request couldn't be completed because it conflicted with the current +// state of the resource. +// +// - ValidationException +// The request was invalid. +// +// - InternalServerException +// An exception occurred with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dataexchange-2017-07-25/SendDataSetNotification +func (c *DataExchange) SendDataSetNotification(input *SendDataSetNotificationInput) (*SendDataSetNotificationOutput, error) { + req, out := c.SendDataSetNotificationRequest(input) + return out, req.Send() +} + +// SendDataSetNotificationWithContext is the same as SendDataSetNotification with the addition of +// the ability to pass a context and additional request options. +// +// See SendDataSetNotification 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 *DataExchange) SendDataSetNotificationWithContext(ctx aws.Context, input *SendDataSetNotificationInput, opts ...request.Option) (*SendDataSetNotificationOutput, error) { + req, out := c.SendDataSetNotificationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartJob = "StartJob" // StartJobRequest generates a "aws/request.Request" representing the @@ -4728,6 +4824,39 @@ func (s *DataSetEntry) SetUpdatedAt(v time.Time) *DataSetEntry { return s } +// Extra details specific to a data update type notification. +type DataUpdateRequestDetails struct { + _ struct{} `type:"structure"` + + // A datetime in the past when the data was updated. This typically means that + // the underlying resource supporting the data set was updated. + DataUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` +} + +// 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 DataUpdateRequestDetails) 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 DataUpdateRequestDetails) GoString() string { + return s.String() +} + +// SetDataUpdatedAt sets the DataUpdatedAt field's value. +func (s *DataUpdateRequestDetails) SetDataUpdatedAt(v time.Time) *DataUpdateRequestDetails { + s.DataUpdatedAt = &v + return s +} + // The LF-tag policy for database resources. type DatabaseLFTagPolicy struct { _ struct{} `type:"structure"` @@ -5168,6 +5297,53 @@ func (s DeleteRevisionOutput) GoString() string { return s.String() } +// Extra details specific to a deprecation type notification. +type DeprecationRequestDetails struct { + _ struct{} `type:"structure"` + + // A datetime in the future when the data set will be deprecated. + // + // DeprecationAt is a required field + DeprecationAt *time.Time `type:"timestamp" timestampFormat:"iso8601" 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 DeprecationRequestDetails) 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 DeprecationRequestDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeprecationRequestDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeprecationRequestDetails"} + if s.DeprecationAt == nil { + invalidParams.Add(request.NewErrParamRequired("DeprecationAt")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeprecationAt sets the DeprecationAt field's value. +func (s *DeprecationRequestDetails) SetDeprecationAt(v time.Time) *DeprecationRequestDetails { + s.DeprecationAt = &v + return s +} + // Information about the job error. type Details struct { _ struct{} `type:"structure"` @@ -8296,6 +8472,47 @@ func (s *LakeFormationDataPermissionDetails) SetLFTagPolicy(v *LFTagPolicyDetail return s } +// Extra details specific to the affected scope in this LF data set. +type LakeFormationTagPolicyDetails struct { + _ struct{} `type:"structure"` + + // The underlying Glue database that the notification is referring to. + Database *string `type:"string"` + + // The underlying Glue table that the notification is referring to. + Table *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 LakeFormationTagPolicyDetails) 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 LakeFormationTagPolicyDetails) GoString() string { + return s.String() +} + +// SetDatabase sets the Database field's value. +func (s *LakeFormationTagPolicyDetails) SetDatabase(v string) *LakeFormationTagPolicyDetails { + s.Database = &v + return s +} + +// SetTable sets the Table field's value. +func (s *LakeFormationTagPolicyDetails) SetTable(v string) *LakeFormationTagPolicyDetails { + s.Table = &v + return s +} + type ListDataSetRevisionsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -8939,6 +9156,76 @@ func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForRe return s } +// Extra details specific to this notification. +type NotificationDetails struct { + _ struct{} `type:"structure"` + + // Extra details specific to a data update type notification. + DataUpdate *DataUpdateRequestDetails `type:"structure"` + + // Extra details specific to a deprecation type notification. + Deprecation *DeprecationRequestDetails `type:"structure"` + + // Extra details specific to a schema change type notification. + SchemaChange *SchemaChangeRequestDetails `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 NotificationDetails) 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 NotificationDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NotificationDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NotificationDetails"} + if s.Deprecation != nil { + if err := s.Deprecation.Validate(); err != nil { + invalidParams.AddNested("Deprecation", err.(request.ErrInvalidParams)) + } + } + if s.SchemaChange != nil { + if err := s.SchemaChange.Validate(); err != nil { + invalidParams.AddNested("SchemaChange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataUpdate sets the DataUpdate field's value. +func (s *NotificationDetails) SetDataUpdate(v *DataUpdateRequestDetails) *NotificationDetails { + s.DataUpdate = v + return s +} + +// SetDeprecation sets the Deprecation field's value. +func (s *NotificationDetails) SetDeprecation(v *DeprecationRequestDetails) *NotificationDetails { + s.Deprecation = v + return s +} + +// SetSchemaChange sets the SchemaChange field's value. +func (s *NotificationDetails) SetSchemaChange(v *SchemaChangeRequestDetails) *NotificationDetails { + s.SchemaChange = v + return s +} + // Details about the origin of the data set. type OriginDetails struct { _ struct{} `type:"structure"` @@ -9054,36 +9341,33 @@ func (s *RedshiftDataShareAssetSourceEntry) SetDataShareArn(v string) *RedshiftD return s } -// The details for the request. -type RequestDetails struct { +// Extra details specific to the affected scope in this Redshift data set. +type RedshiftDataShareDetails struct { _ struct{} `type:"structure"` - // Details of the request to create S3 data access from the Amazon S3 bucket. - CreateS3DataAccessFromS3Bucket *CreateS3DataAccessFromS3BucketRequestDetails `type:"structure"` - - // Details about the export to signed URL request. - ExportAssetToSignedUrl *ExportAssetToSignedUrlRequestDetails `type:"structure"` - - // Details about the export to Amazon S3 request. - ExportAssetsToS3 *ExportAssetsToS3RequestDetails `type:"structure"` - - // Details about the export to Amazon S3 request. - ExportRevisionsToS3 *ExportRevisionsToS3RequestDetails `type:"structure"` + // The ARN of the underlying Redshift data share that is being affected by this + // notification. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` - // Details about the import from signed URL request. - ImportAssetFromApiGatewayApi *ImportAssetFromApiGatewayApiRequestDetails `type:"structure"` + // The database name in the Redshift data share that is being affected by this + // notification. + // + // Database is a required field + Database *string `type:"string" required:"true"` - // Details about the import from Amazon S3 request. - ImportAssetFromSignedUrl *ImportAssetFromSignedUrlRequestDetails `type:"structure"` + // A function name in the Redshift database that is being affected by this notification. + Function *string `type:"string"` - // Request details for the ImportAssetsFromLakeFormationTagPolicy job. - ImportAssetsFromLakeFormationTagPolicy *ImportAssetsFromLakeFormationTagPolicyRequestDetails `type:"structure"` + // A schema name in the Redshift database that is being affected by this notification. + Schema *string `type:"string"` - // Details from an import from Amazon Redshift datashare request. - ImportAssetsFromRedshiftDataShares *ImportAssetsFromRedshiftDataSharesRequestDetails `type:"structure"` + // A table name in the Redshift database that is being affected by this notification. + Table *string `type:"string"` - // Details about the import asset from API Gateway API request. - ImportAssetsFromS3 *ImportAssetsFromS3RequestDetails `type:"structure"` + // A view name in the Redshift database that is being affected by this notification. + View *string `type:"string"` } // String returns the string representation. @@ -9091,7 +9375,7 @@ type RequestDetails 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 RequestDetails) String() string { +func (s RedshiftDataShareDetails) String() string { return awsutil.Prettify(s) } @@ -9100,36 +9384,138 @@ func (s RequestDetails) 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 RequestDetails) GoString() string { +func (s RedshiftDataShareDetails) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RequestDetails) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RequestDetails"} - if s.CreateS3DataAccessFromS3Bucket != nil { - if err := s.CreateS3DataAccessFromS3Bucket.Validate(); err != nil { - invalidParams.AddNested("CreateS3DataAccessFromS3Bucket", err.(request.ErrInvalidParams)) - } - } - if s.ExportAssetToSignedUrl != nil { - if err := s.ExportAssetToSignedUrl.Validate(); err != nil { - invalidParams.AddNested("ExportAssetToSignedUrl", err.(request.ErrInvalidParams)) - } +func (s *RedshiftDataShareDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RedshiftDataShareDetails"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.ExportAssetsToS3 != nil { - if err := s.ExportAssetsToS3.Validate(); err != nil { - invalidParams.AddNested("ExportAssetsToS3", err.(request.ErrInvalidParams)) - } + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) } - if s.ExportRevisionsToS3 != nil { - if err := s.ExportRevisionsToS3.Validate(); err != nil { - invalidParams.AddNested("ExportRevisionsToS3", err.(request.ErrInvalidParams)) - } + + if invalidParams.Len() > 0 { + return invalidParams } - if s.ImportAssetFromApiGatewayApi != nil { - if err := s.ImportAssetFromApiGatewayApi.Validate(); err != nil { - invalidParams.AddNested("ImportAssetFromApiGatewayApi", err.(request.ErrInvalidParams)) + return nil +} + +// SetArn sets the Arn field's value. +func (s *RedshiftDataShareDetails) SetArn(v string) *RedshiftDataShareDetails { + s.Arn = &v + return s +} + +// SetDatabase sets the Database field's value. +func (s *RedshiftDataShareDetails) SetDatabase(v string) *RedshiftDataShareDetails { + s.Database = &v + return s +} + +// SetFunction sets the Function field's value. +func (s *RedshiftDataShareDetails) SetFunction(v string) *RedshiftDataShareDetails { + s.Function = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *RedshiftDataShareDetails) SetSchema(v string) *RedshiftDataShareDetails { + s.Schema = &v + return s +} + +// SetTable sets the Table field's value. +func (s *RedshiftDataShareDetails) SetTable(v string) *RedshiftDataShareDetails { + s.Table = &v + return s +} + +// SetView sets the View field's value. +func (s *RedshiftDataShareDetails) SetView(v string) *RedshiftDataShareDetails { + s.View = &v + return s +} + +// The details for the request. +type RequestDetails struct { + _ struct{} `type:"structure"` + + // Details of the request to create S3 data access from the Amazon S3 bucket. + CreateS3DataAccessFromS3Bucket *CreateS3DataAccessFromS3BucketRequestDetails `type:"structure"` + + // Details about the export to signed URL request. + ExportAssetToSignedUrl *ExportAssetToSignedUrlRequestDetails `type:"structure"` + + // Details about the export to Amazon S3 request. + ExportAssetsToS3 *ExportAssetsToS3RequestDetails `type:"structure"` + + // Details about the export to Amazon S3 request. + ExportRevisionsToS3 *ExportRevisionsToS3RequestDetails `type:"structure"` + + // Details about the import from signed URL request. + ImportAssetFromApiGatewayApi *ImportAssetFromApiGatewayApiRequestDetails `type:"structure"` + + // Details about the import from Amazon S3 request. + ImportAssetFromSignedUrl *ImportAssetFromSignedUrlRequestDetails `type:"structure"` + + // Request details for the ImportAssetsFromLakeFormationTagPolicy job. + ImportAssetsFromLakeFormationTagPolicy *ImportAssetsFromLakeFormationTagPolicyRequestDetails `type:"structure"` + + // Details from an import from Amazon Redshift datashare request. + ImportAssetsFromRedshiftDataShares *ImportAssetsFromRedshiftDataSharesRequestDetails `type:"structure"` + + // Details about the import asset from API Gateway API request. + ImportAssetsFromS3 *ImportAssetsFromS3RequestDetails `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 RequestDetails) 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 RequestDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RequestDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RequestDetails"} + if s.CreateS3DataAccessFromS3Bucket != nil { + if err := s.CreateS3DataAccessFromS3Bucket.Validate(); err != nil { + invalidParams.AddNested("CreateS3DataAccessFromS3Bucket", err.(request.ErrInvalidParams)) + } + } + if s.ExportAssetToSignedUrl != nil { + if err := s.ExportAssetToSignedUrl.Validate(); err != nil { + invalidParams.AddNested("ExportAssetToSignedUrl", err.(request.ErrInvalidParams)) + } + } + if s.ExportAssetsToS3 != nil { + if err := s.ExportAssetsToS3.Validate(); err != nil { + invalidParams.AddNested("ExportAssetsToS3", err.(request.ErrInvalidParams)) + } + } + if s.ExportRevisionsToS3 != nil { + if err := s.ExportRevisionsToS3.Validate(); err != nil { + invalidParams.AddNested("ExportRevisionsToS3", err.(request.ErrInvalidParams)) + } + } + if s.ImportAssetFromApiGatewayApi != nil { + if err := s.ImportAssetFromApiGatewayApi.Validate(); err != nil { + invalidParams.AddNested("ImportAssetFromApiGatewayApi", err.(request.ErrInvalidParams)) } } if s.ImportAssetFromSignedUrl != nil { @@ -10034,6 +10420,50 @@ func (s *S3DataAccessAssetSourceEntry) SetKmsKeysToGrant(v []*KmsKeyToGrant) *S3 return s } +// Extra details specific to the affected scope in this S3 Data Access data +// set. +type S3DataAccessDetails struct { + _ struct{} `type:"structure"` + + // A list of the key prefixes affected by this notification. This can have up + // to 50 entries. + KeyPrefixes []*string `type:"list"` + + // A list of the keys affected by this notification. This can have up to 50 + // entries. + Keys []*string `type:"list"` +} + +// 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 S3DataAccessDetails) 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 S3DataAccessDetails) GoString() string { + return s.String() +} + +// SetKeyPrefixes sets the KeyPrefixes field's value. +func (s *S3DataAccessDetails) SetKeyPrefixes(v []*string) *S3DataAccessDetails { + s.KeyPrefixes = v + return s +} + +// SetKeys sets the Keys field's value. +func (s *S3DataAccessDetails) SetKeys(v []*string) *S3DataAccessDetails { + s.Keys = v + return s +} + // The Amazon S3 object that is the asset. type S3SnapshotAsset struct { _ struct{} `type:"structure"` @@ -10068,6 +10498,215 @@ func (s *S3SnapshotAsset) SetSize(v float64) *S3SnapshotAsset { return s } +// Object encompassing information about a schema change to a single, particular +// field, a notification can have up to 100 of these. +type SchemaChangeDetails struct { + _ struct{} `type:"structure"` + + // Description of what's changing about this field. This value can be up to + // 512 characters long. + Description *string `type:"string"` + + // Name of the changing field. This value can be up to 255 characters long. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // Is the field being added, removed, or modified? + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"SchemaChangeType"` +} + +// 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 SchemaChangeDetails) 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 SchemaChangeDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SchemaChangeDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SchemaChangeDetails"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *SchemaChangeDetails) SetDescription(v string) *SchemaChangeDetails { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *SchemaChangeDetails) SetName(v string) *SchemaChangeDetails { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *SchemaChangeDetails) SetType(v string) *SchemaChangeDetails { + s.Type = &v + return s +} + +// Extra details specific to this schema change type notification. +type SchemaChangeRequestDetails struct { + _ struct{} `type:"structure"` + + // List of schema changes happening in the scope of this notification. This + // can have up to 100 entries. + Changes []*SchemaChangeDetails `type:"list"` + + // A date in the future when the schema change is taking effect. + // + // SchemaChangeAt is a required field + SchemaChangeAt *time.Time `type:"timestamp" timestampFormat:"iso8601" 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 SchemaChangeRequestDetails) 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 SchemaChangeRequestDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SchemaChangeRequestDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SchemaChangeRequestDetails"} + if s.SchemaChangeAt == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaChangeAt")) + } + if s.Changes != nil { + for i, v := range s.Changes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Changes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChanges sets the Changes field's value. +func (s *SchemaChangeRequestDetails) SetChanges(v []*SchemaChangeDetails) *SchemaChangeRequestDetails { + s.Changes = v + return s +} + +// SetSchemaChangeAt sets the SchemaChangeAt field's value. +func (s *SchemaChangeRequestDetails) SetSchemaChangeAt(v time.Time) *SchemaChangeRequestDetails { + s.SchemaChangeAt = &v + return s +} + +// Details about the scope of the notifications such as the affected resources. +type ScopeDetails struct { + _ struct{} `type:"structure"` + + // Underlying LF resources that will be affected by this notification. + LakeFormationTagPolicies []*LakeFormationTagPolicyDetails `type:"list"` + + // Underlying Redshift resources that will be affected by this notification. + RedshiftDataShares []*RedshiftDataShareDetails `type:"list"` + + // Underlying S3 resources that will be affected by this notification. + S3DataAccesses []*S3DataAccessDetails `type:"list"` +} + +// 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 ScopeDetails) 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 ScopeDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScopeDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScopeDetails"} + if s.RedshiftDataShares != nil { + for i, v := range s.RedshiftDataShares { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RedshiftDataShares", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLakeFormationTagPolicies sets the LakeFormationTagPolicies field's value. +func (s *ScopeDetails) SetLakeFormationTagPolicies(v []*LakeFormationTagPolicyDetails) *ScopeDetails { + s.LakeFormationTagPolicies = v + return s +} + +// SetRedshiftDataShares sets the RedshiftDataShares field's value. +func (s *ScopeDetails) SetRedshiftDataShares(v []*RedshiftDataShareDetails) *ScopeDetails { + s.RedshiftDataShares = v + return s +} + +// SetS3DataAccesses sets the S3DataAccesses field's value. +func (s *ScopeDetails) SetS3DataAccesses(v []*S3DataAccessDetails) *ScopeDetails { + s.S3DataAccesses = v + return s +} + type SendApiAssetInput struct { _ struct{} `type:"structure" payload:"Body"` @@ -10236,6 +10875,143 @@ func (s *SendApiAssetOutput) SetResponseHeaders(v map[string]*string) *SendApiAs return s } +type SendDataSetNotificationInput struct { + _ struct{} `type:"structure"` + + // Idempotency key for the notification, this key allows us to deduplicate notifications + // that are sent in quick succession erroneously. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // Free-form text field for providers to add information about their notifications. + Comment *string `type:"string"` + + // Affected data set of the notification. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + + // Extra details specific to this notification type. + Details *NotificationDetails `type:"structure"` + + // Affected scope of this notification such as the underlying resources affected + // by the notification event. + Scope *ScopeDetails `type:"structure"` + + // The type of the notification. Describing the kind of event the notification + // is alerting you to. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"NotificationType"` +} + +// 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 SendDataSetNotificationInput) 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 SendDataSetNotificationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendDataSetNotificationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendDataSetNotificationInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Details != nil { + if err := s.Details.Validate(); err != nil { + invalidParams.AddNested("Details", err.(request.ErrInvalidParams)) + } + } + if s.Scope != nil { + if err := s.Scope.Validate(); err != nil { + invalidParams.AddNested("Scope", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *SendDataSetNotificationInput) SetClientToken(v string) *SendDataSetNotificationInput { + s.ClientToken = &v + return s +} + +// SetComment sets the Comment field's value. +func (s *SendDataSetNotificationInput) SetComment(v string) *SendDataSetNotificationInput { + s.Comment = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *SendDataSetNotificationInput) SetDataSetId(v string) *SendDataSetNotificationInput { + s.DataSetId = &v + return s +} + +// SetDetails sets the Details field's value. +func (s *SendDataSetNotificationInput) SetDetails(v *NotificationDetails) *SendDataSetNotificationInput { + s.Details = v + return s +} + +// SetScope sets the Scope field's value. +func (s *SendDataSetNotificationInput) SetScope(v *ScopeDetails) *SendDataSetNotificationInput { + s.Scope = v + return s +} + +// SetType sets the Type field's value. +func (s *SendDataSetNotificationInput) SetType(v string) *SendDataSetNotificationInput { + s.Type = &v + return s +} + +type SendDataSetNotificationOutput 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 SendDataSetNotificationOutput) 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 SendDataSetNotificationOutput) GoString() string { + return s.String() +} + // The request has exceeded the quotas imposed by the service. type ServiceLimitExceededException struct { _ struct{} `type:"structure"` @@ -11852,6 +12628,30 @@ func LimitName_Values() []string { } } +const ( + // NotificationTypeDataDelay is a NotificationType enum value + NotificationTypeDataDelay = "DATA_DELAY" + + // NotificationTypeDataUpdate is a NotificationType enum value + NotificationTypeDataUpdate = "DATA_UPDATE" + + // NotificationTypeDeprecation is a NotificationType enum value + NotificationTypeDeprecation = "DEPRECATION" + + // NotificationTypeSchemaChange is a NotificationType enum value + NotificationTypeSchemaChange = "SCHEMA_CHANGE" +) + +// NotificationType_Values returns all elements of the NotificationType enum +func NotificationType_Values() []string { + return []string{ + NotificationTypeDataDelay, + NotificationTypeDataUpdate, + NotificationTypeDeprecation, + NotificationTypeSchemaChange, + } +} + const ( // OriginOwned is a Origin enum value OriginOwned = "OWNED" @@ -11908,6 +12708,26 @@ func ResourceType_Values() []string { } } +const ( + // SchemaChangeTypeAdd is a SchemaChangeType enum value + SchemaChangeTypeAdd = "ADD" + + // SchemaChangeTypeRemove is a SchemaChangeType enum value + SchemaChangeTypeRemove = "REMOVE" + + // SchemaChangeTypeModify is a SchemaChangeType enum value + SchemaChangeTypeModify = "MODIFY" +) + +// SchemaChangeType_Values returns all elements of the SchemaChangeType enum +func SchemaChangeType_Values() []string { + return []string{ + SchemaChangeTypeAdd, + SchemaChangeTypeRemove, + SchemaChangeTypeModify, + } +} + const ( // ServerSideEncryptionTypesAwsKms is a ServerSideEncryptionTypes enum value ServerSideEncryptionTypesAwsKms = "aws:kms" diff --git a/service/dataexchange/dataexchangeiface/interface.go b/service/dataexchange/dataexchangeiface/interface.go index 9b399364d8d..ba27d1ea026 100644 --- a/service/dataexchange/dataexchangeiface/interface.go +++ b/service/dataexchange/dataexchangeiface/interface.go @@ -163,6 +163,10 @@ type DataExchangeAPI interface { SendApiAssetWithContext(aws.Context, *dataexchange.SendApiAssetInput, ...request.Option) (*dataexchange.SendApiAssetOutput, error) SendApiAssetRequest(*dataexchange.SendApiAssetInput) (*request.Request, *dataexchange.SendApiAssetOutput) + SendDataSetNotification(*dataexchange.SendDataSetNotificationInput) (*dataexchange.SendDataSetNotificationOutput, error) + SendDataSetNotificationWithContext(aws.Context, *dataexchange.SendDataSetNotificationInput, ...request.Option) (*dataexchange.SendDataSetNotificationOutput, error) + SendDataSetNotificationRequest(*dataexchange.SendDataSetNotificationInput) (*request.Request, *dataexchange.SendDataSetNotificationOutput) + StartJob(*dataexchange.StartJobInput) (*dataexchange.StartJobOutput, error) StartJobWithContext(aws.Context, *dataexchange.StartJobInput, ...request.Option) (*dataexchange.StartJobOutput, error) StartJobRequest(*dataexchange.StartJobInput) (*request.Request, *dataexchange.StartJobOutput) diff --git a/service/datasync/api.go b/service/datasync/api.go index 1945966ec20..dbcc360a42c 100644 --- a/service/datasync/api.go +++ b/service/datasync/api.go @@ -582,8 +582,10 @@ func (c *DataSync) CreateLocationFsxOntapRequest(input *CreateLocationFsxOntapIn // CreateLocationFsxOntap API operation for AWS DataSync. // // 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 (https://docs.aws.amazon.com/datasync/latest/userguide/create-ontap-location.html). +// can use for a data transfer. +// +// Before you begin, make sure that you understand how DataSync accesses an +// FSx for ONTAP file system (https://docs.aws.amazon.com/datasync/latest/userguide/create-ontap-location.html#create-ontap-location-access). // // 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 @@ -752,7 +754,11 @@ func (c *DataSync) CreateLocationFsxWindowsRequest(input *CreateLocationFsxWindo // CreateLocationFsxWindows API operation for AWS DataSync. // -// Creates an endpoint for an Amazon FSx for Windows File Server file system. +// Creates an endpoint for an Amazon FSx for Windows File Server file system +// that DataSync can use for a data transfer. +// +// Before you begin, make sure that you understand how DataSync accesses an +// FSx for Windows File Server (https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#create-fsx-location-access). // // 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 @@ -1360,10 +1366,12 @@ func (c *DataSync) DeleteAgentRequest(input *DeleteAgentInput) (req *request.Req // DeleteAgent API operation for AWS DataSync. // -// Deletes an agent. To specify which agent to delete, use the Amazon Resource -// Name (ARN) of the agent in your request. The operation disassociates the -// agent from your Amazon Web Services account. However, it doesn't delete the -// agent virtual machine (VM) from your on-premises environment. +// Removes an DataSync agent resource from your Amazon Web Services account. +// +// Keep in mind that this operation (which can't be undone) doesn't remove the +// agent's virtual machine (VM) or Amazon EC2 instance from your storage environment. +// For next steps, you can delete the VM or instance from your storage environment +// or reuse it to activate a new agent (https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.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 @@ -1611,8 +1619,8 @@ func (c *DataSync) DescribeAgentRequest(input *DescribeAgentInput) (req *request // DescribeAgent API operation for AWS DataSync. // -// Returns metadata about an DataSync agent, such as its name, endpoint type, -// and status. +// Returns information about an DataSync agent, such as its name, service endpoint +// type, and status. // // 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 @@ -4842,7 +4850,7 @@ func (c *DataSync) UpdateAgentRequest(input *UpdateAgentInput) (req *request.Req // UpdateAgent API operation for AWS DataSync. // -// Updates the name of an agent. +// Updates the name of an 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 @@ -5350,9 +5358,8 @@ func (c *DataSync) UpdateLocationSmbRequest(input *UpdateLocationSmbInput) (req // UpdateLocationSmb API operation for AWS DataSync. // -// Updates some of the parameters of a previously created location for Server -// Message Block (SMB) file system access. For information about creating an -// SMB location, see Creating a location for SMB (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html). +// Updates some of the parameters of a Server Message Block (SMB) file server +// location that you can use for DataSync transfers. // // 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 @@ -5856,8 +5863,17 @@ type AgentListEntry struct { // The name of an agent. Name *string `min:"1" type:"string"` - // The status of an agent. For more information, see DataSync agent statuses - // (https://docs.aws.amazon.com/datasync/latest/userguide/understand-agent-statuses.html). + // The platform-related details about the agent, such as the version number. + Platform *Platform `type:"structure"` + + // The status of an agent. + // + // * If the status is ONLINE, the agent is configured properly and ready + // to use. + // + // * If the status is OFFLINE, the agent has been out of contact with DataSync + // for five minutes or longer. This can happen for a few reasons. For more + // information, see What do I do if my agent is offline? (https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-agents.html#troubleshoot-agent-offline) Status *string `type:"string" enum:"AgentStatus"` } @@ -5891,6 +5907,12 @@ func (s *AgentListEntry) SetName(v string) *AgentListEntry { return s } +// SetPlatform sets the Platform field's value. +func (s *AgentListEntry) SetPlatform(v *Platform) *AgentListEntry { + s.Platform = v + return s +} + // SetStatus sets the Status field's value. func (s *AgentListEntry) SetStatus(v string) *AgentListEntry { s.Status = &v @@ -7045,6 +7067,12 @@ type CreateLocationFsxWindowsInput struct { // Specifies the name of the Windows domain that the FSx for Windows File Server // belongs to. + // + // If you have multiple domains in your environment, configuring this parameter + // makes sure that DataSync connects to the right file server. + // + // For more information, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#create-fsx-windows-location-permissions) + // for FSx for Windows File Server locations. Domain *string `type:"string"` // Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server @@ -7056,6 +7084,9 @@ type CreateLocationFsxWindowsInput struct { // Specifies the password of the user who has the permissions to access files // and folders in the file system. // + // For more information, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#create-fsx-windows-location-permissions) + // for FSx for Windows File Server locations. + // // Password is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by CreateLocationFsxWindowsInput's // String and GoString methods. @@ -7090,8 +7121,9 @@ type CreateLocationFsxWindowsInput struct { // 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 (https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#create-fsx-windows-location-permissions). + // For information about choosing a user with the right level of access for + // your transfer, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#create-fsx-windows-location-permissions) + // for FSx for Windows File Server locations. // // User is a required field User *string `type:"string" required:"true"` @@ -7665,7 +7697,7 @@ type CreateLocationObjectStorageInput struct { // SecretKey is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by CreateLocationObjectStorageInput's // String and GoString methods. - SecretKey *string `min:"1" type:"string" sensitive:"true"` + SecretKey *string `type:"string" sensitive:"true"` // 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). @@ -7745,9 +7777,6 @@ func (s *CreateLocationObjectStorageInput) Validate() error { if s.BucketName != nil && len(*s.BucketName) < 3 { invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) } - if s.SecretKey != nil && len(*s.SecretKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecretKey", 1)) - } if s.ServerHostname == nil { invalidParams.Add(request.NewErrParamRequired("ServerHostname")) } @@ -8041,6 +8070,9 @@ type CreateLocationSmbInput struct { // Specifies the Windows domain name that your SMB file server belongs to. // + // If you have multiple domains in your environment, configuring this parameter + // makes sure that DataSync connects to the right file server. + // // For more information, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) // for SMB locations. Domain *string `type:"string"` @@ -8733,7 +8765,8 @@ func (s DeleteTaskOutput) GoString() string { type DescribeAgentInput struct { _ struct{} `type:"structure"` - // Specifies the Amazon Resource Name (ARN) of the DataSync agent to describe. + // Specifies the Amazon Resource Name (ARN) of the DataSync agent that you want + // information about. // // AgentArn is a required field AgentArn *string `type:"string" required:"true"` @@ -8783,27 +8816,34 @@ type DescribeAgentOutput struct { // The ARN of the agent. AgentArn *string `type:"string"` - // The time that the agent was activated (that is, created in your account). + // The time that the agent was activated (https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html). CreationTime *time.Time `type:"timestamp"` - // The type of endpoint that your agent is connected to. If the endpoint is - // a VPC endpoint, the agent is not accessible over the public internet. + // The type of service endpoint (https://docs.aws.amazon.com/datasync/latest/userguide/choose-service-endpoint.html) + // that your agent is connected to. EndpointType *string `type:"string" enum:"EndpointType"` - // The time that the agent last connected to DataSync. + // The last time that the agent was communicating with the DataSync service. LastConnectionTime *time.Time `type:"timestamp"` // The name of the agent. Name *string `min:"1" type:"string"` - // The subnet and the security group that DataSync used to access a VPC endpoint. + // The platform-related details about the agent, such as the version number. + Platform *Platform `type:"structure"` + + // The network configuration that the agent uses when connecting to a VPC service + // endpoint (https://docs.aws.amazon.com/datasync/latest/userguide/choose-service-endpoint.html#choose-service-endpoint-vpc). PrivateLinkConfig *PrivateLinkConfig `type:"structure"` - // The status of the agent. If the status is ONLINE, then the agent is configured - // properly and is available to use. The Running status is the normal running - // status for an agent. If the status is OFFLINE, the agent's VM is turned off - // or the agent is in an unhealthy state. When the issue that caused the unhealthy - // state is resolved, the agent returns to ONLINE status. + // The status of the agent. + // + // * If the status is ONLINE, the agent is configured properly and ready + // to use. + // + // * If the status is OFFLINE, the agent has been out of contact with DataSync + // for five minutes or longer. This can happen for a few reasons. For more + // information, see What do I do if my agent is offline? (https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-agents.html#troubleshoot-agent-offline) Status *string `type:"string" enum:"AgentStatus"` } @@ -8855,6 +8895,12 @@ func (s *DescribeAgentOutput) SetName(v string) *DescribeAgentOutput { return s } +// SetPlatform sets the Platform field's value. +func (s *DescribeAgentOutput) SetPlatform(v *Platform) *DescribeAgentOutput { + s.Platform = v + return s +} + // SetPrivateLinkConfig sets the PrivateLinkConfig field's value. func (s *DescribeAgentOutput) SetPrivateLinkConfig(v *PrivateLinkConfig) *DescribeAgentOutput { s.PrivateLinkConfig = v @@ -11064,6 +11110,10 @@ type DescribeTaskExecutionOutput struct { // The number of files, objects, and directories that DataSync verified during // your transfer. + // + // When you configure your task to verify only the data that's transferred (https://docs.aws.amazon.com/datasync/latest/userguide/configure-data-verification-options.html), + // DataSync doesn't verify directories in some situations or files that fail + // to transfer. FilesVerified *int64 `type:"long"` // A list of filter rules that include specific data during your transfer. For @@ -11080,7 +11130,7 @@ type DescribeTaskExecutionOutput struct { // any of these options before starting your task. Options *Options `type:"structure"` - // Indicates whether DataSync generated a complete task report (https://docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html) + // Indicates whether DataSync generated a complete task report (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) // for your transfer. ReportResult *ReportResult `type:"structure"` @@ -11362,7 +11412,7 @@ type DescribeTaskOutput struct { TaskArn *string `type:"string"` // The configuration of your task report. For more information, see Creating - // a task report (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html). + // a task report (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html). TaskReportConfig *TaskReportConfig `type:"structure"` } @@ -14278,9 +14328,48 @@ func (s *P95Metrics) SetThroughput(v *Throughput) *P95Metrics { return s } +// The platform-related details about the DataSync agent, such as the version +// number. +type Platform struct { + _ struct{} `type:"structure"` + + // The version of the DataSync agent. + // + // Beginning December 7, 2023, we will discontinue version 1 DataSync agents. + // Check the DataSync console to see if you have affected agents. If you do, + // replace (https://docs.aws.amazon.com/datasync/latest/userguide/replacing-agent.html) + // those agents before then to avoid data transfer or storage discovery disruptions. + // If you need more help, contact Amazon Web Services Support (https://aws.amazon.com/contact-us/). + Version *string `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 Platform) 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 Platform) GoString() string { + return s.String() +} + +// SetVersion sets the Version field's value. +func (s *Platform) SetVersion(v string) *Platform { + s.Version = &v + return s +} + // Specifies how your DataSync agent connects to Amazon Web Services using a -// virtual private cloud (VPC) service endpoint. An agent that uses a VPC endpoint -// isn't accessible over the public internet. +// virtual private cloud (VPC) service endpoint (https://docs.aws.amazon.com/datasync/latest/userguide/choose-service-endpoint.html#choose-service-endpoint-vpc). +// An agent that uses a VPC endpoint isn't accessible over the public internet. type PrivateLinkConfig struct { _ struct{} `type:"structure"` @@ -14516,7 +14605,7 @@ func (s RemoveStorageSystemOutput) GoString() string { return s.String() } -// Specifies where DataSync uploads your task report (https://docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html). +// Specifies where DataSync uploads your task report (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html). type ReportDestination struct { _ struct{} `type:"structure"` @@ -14563,13 +14652,13 @@ func (s *ReportDestination) SetS3(v *ReportDestinationS3) *ReportDestination { return s } -// Specifies the Amazon S3 bucket where DataSync uploads your task report (https://docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html). +// Specifies the Amazon S3 bucket where DataSync uploads your task report (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html). type ReportDestinationS3 struct { _ struct{} `type:"structure"` // Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync // to upload a task report to your S3 bucket. For more information, see Allowing - // DataSync to upload a task report to an Amazon S3 bucket (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html). + // DataSync to upload a task report to an Amazon S3 bucket (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/datasync/latest/userguide/task-reports.html). // // BucketAccessRoleArn is a required field BucketAccessRoleArn *string `type:"string" required:"true"` @@ -14636,7 +14725,7 @@ func (s *ReportDestinationS3) SetSubdirectory(v string) *ReportDestinationS3 { } // Specifies the level of detail for a particular aspect of your DataSync task -// report (https://docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html). +// report (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html). type ReportOverride struct { _ struct{} `type:"structure"` @@ -14677,7 +14766,7 @@ func (s *ReportOverride) SetReportLevel(v string) *ReportOverride { } // The level of detail included in each aspect of your DataSync task report -// (https://docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html). +// (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html). type ReportOverrides struct { _ struct{} `type:"structure"` @@ -14742,7 +14831,7 @@ func (s *ReportOverrides) SetVerified(v *ReportOverride) *ReportOverrides { return s } -// Indicates whether DataSync created a complete task report (https://docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html) +// Indicates whether DataSync created a complete task report (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) // for your transfer. type ReportResult struct { _ struct{} `type:"structure"` @@ -15878,12 +15967,12 @@ func (s *TaskListEntry) SetTaskArn(v string) *TaskListEntry { // Specifies how you want to configure a task report, which provides detailed // information about for your DataSync transfer. // -// For more information, see Task reports (https://docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html). +// For more information, see Task reports (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html). type TaskReportConfig struct { _ struct{} `type:"structure"` // Specifies the Amazon S3 bucket where DataSync uploads your task report. For - // more information, see Task reports (https://docs.aws.amazon.com/datasync/latest/userguide/creating-task-reports.html#task-report-access). + // more information, see Task reports (https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html#task-report-access). Destination *ReportDestination `type:"structure"` // Specifies whether your task report includes the new version of each object @@ -16843,7 +16932,7 @@ type UpdateLocationObjectStorageInput struct { // SecretKey is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by UpdateLocationObjectStorageInput's // String and GoString methods. - SecretKey *string `min:"1" type:"string" sensitive:"true"` + SecretKey *string `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 @@ -16899,9 +16988,6 @@ func (s *UpdateLocationObjectStorageInput) Validate() error { if s.LocationArn == nil { invalidParams.Add(request.NewErrParamRequired("LocationArn")) } - if s.SecretKey != nil && len(*s.SecretKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SecretKey", 1)) - } if s.ServerPort != nil && *s.ServerPort < 1 { invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1)) } @@ -16985,14 +17071,20 @@ func (s UpdateLocationObjectStorageOutput) GoString() string { type UpdateLocationSmbInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block - // (SMB) location. + // Specifies the DataSync agent (or agents) which you want to connect to your + // SMB file server. You specify an agent by using its Amazon Resource Name (ARN). AgentArns []*string `min:"1" type:"list"` - // The name of the Windows domain that the SMB server belongs to. + // Specifies the Windows domain name that your SMB file server belongs to. + // + // If you have multiple domains in your environment, configuring this parameter + // makes sure that DataSync connects to the right file server. + // + // For more information, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) + // for SMB locations. Domain *string `type:"string"` - // The Amazon Resource Name (ARN) of the SMB location to update. + // Specifies the ARN of the SMB location that you want to update. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -17001,39 +17093,34 @@ type UpdateLocationSmbInput struct { // uses to access an SMB file server. MountOptions *SmbMountOptions `type:"structure"` - // The password of the user who can mount the share has the permissions to access - // files and folders in the SMB share. + // Specifies the password of the user who can mount your SMB file server and + // has permission to access the files and folders involved in your transfer. + // + // For more information, see required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) + // for SMB locations. // // Password is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by UpdateLocationSmbInput's // String and GoString methods. Password *string `type:"string" sensitive:"true"` - // The subdirectory in the SMB file system that is used to read data from the - // SMB source location or write data to the SMB destination. The SMB path should - // be a path that's exported by the SMB server, or a subdirectory of that path. - // The path should be such that it can be mounted by other SMB clients in your - // network. - // - // Subdirectory must be specified with forward slashes. For example, /path/to/folder. - // - // To transfer all the data in the folder that you specified, DataSync must - // have permissions to mount the SMB share and to access all the data in that - // share. To ensure this, do either of the following: - // - // * Ensure that the user/password specified belongs to the user who can - // mount the share and who has the appropriate permissions for all of the - // files and directories that you want DataSync to access. - // - // * Use credentials of a member of the Backup Operators group to mount the - // share. + // Specifies the name of the share exported by your SMB file server where DataSync + // will read or write data. You can include a subdirectory in the share path + // (for example, /path/to/subdirectory). Make sure that other SMB clients in + // your network can also mount this path. // - // Doing either of these options enables the agent to access the data. For the - // agent to access directories, you must also enable all execute access. + // To copy all data in the specified subdirectory, DataSync must be able to + // mount the SMB share and access all of its data. For more information, see + // required permissions (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) + // for SMB locations. Subdirectory *string `type:"string"` - // The user who can mount the share has the permissions to access files and - // folders in the SMB share. + // 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 (https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) + // for SMB locations. User *string `type:"string"` } diff --git a/service/finspace/api.go b/service/finspace/api.go index 5acd0a0153f..54cabf0d89e 100644 --- a/service/finspace/api.go +++ b/service/finspace/api.go @@ -2951,6 +2951,108 @@ func (c *Finspace) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEn return out, req.Send() } +const opUpdateKxClusterCodeConfiguration = "UpdateKxClusterCodeConfiguration" + +// UpdateKxClusterCodeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateKxClusterCodeConfiguration 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 UpdateKxClusterCodeConfiguration for more information on using the UpdateKxClusterCodeConfiguration +// 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 UpdateKxClusterCodeConfigurationRequest method. +// req, resp := client.UpdateKxClusterCodeConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxClusterCodeConfiguration +func (c *Finspace) UpdateKxClusterCodeConfigurationRequest(input *UpdateKxClusterCodeConfigurationInput) (req *request.Request, output *UpdateKxClusterCodeConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateKxClusterCodeConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/kx/environments/{environmentId}/clusters/{clusterName}/configuration/code", + } + + if input == nil { + input = &UpdateKxClusterCodeConfigurationInput{} + } + + output = &UpdateKxClusterCodeConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateKxClusterCodeConfiguration API operation for FinSpace User Environment Management service. +// +// Allows you to update code configuration on a running cluster. By using this +// API you can update the code, the initialization script path, and the command +// line arguments for a specific cluster. The configuration that you want to +// update will override any existing configurations on the cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for FinSpace User Environment Management service's +// API operation UpdateKxClusterCodeConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - LimitExceededException +// A service limit or quota is exceeded. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ConflictException +// There was a conflict with this action, and it could not be completed. +// +// - ResourceNotFoundException +// One or more resources can't be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/finspace-2021-03-12/UpdateKxClusterCodeConfiguration +func (c *Finspace) UpdateKxClusterCodeConfiguration(input *UpdateKxClusterCodeConfigurationInput) (*UpdateKxClusterCodeConfigurationOutput, error) { + req, out := c.UpdateKxClusterCodeConfigurationRequest(input) + return out, req.Send() +} + +// UpdateKxClusterCodeConfigurationWithContext is the same as UpdateKxClusterCodeConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateKxClusterCodeConfiguration 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 *Finspace) UpdateKxClusterCodeConfigurationWithContext(ctx aws.Context, input *UpdateKxClusterCodeConfigurationInput, opts ...request.Option) (*UpdateKxClusterCodeConfigurationOutput, error) { + req, out := c.UpdateKxClusterCodeConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateKxClusterDatabases = "UpdateKxClusterDatabases" // UpdateKxClusterDatabasesRequest generates a "aws/request.Request" representing the @@ -7733,10 +7835,18 @@ type KxCacheStorageConfiguration struct { // Size is a required field Size *int64 `locationName:"size" min:"1200" type:"integer" required:"true"` - // The type of cache storage . The valid values are: + // The type of cache storage. The valid values are: // // * CACHE_1000 – This type provides at least 1000 MB/s disk access throughput. // + // * CACHE_250 – This type provides at least 250 MB/s disk access throughput. + // + // * CACHE_12 – This type provides at least 12 MB/s disk access throughput. + // + // For cache type CACHE_1000 and CACHE_250 you can select cache size as 1200 + // GB or increments of 2400 GB. For cache type CACHE_12 you can select the cache + // size in increments of 6000 GB. + // // Type is a required field Type *string `locationName:"type" min:"8" type:"string" required:"true"` } @@ -8051,6 +8161,61 @@ func (s *KxCluster) SetStatusReason(v string) *KxCluster { return s } +// The configuration that allows you to choose how you want to update code on +// a cluster. Depending on the option you choose, you can reduce the time it +// takes to update the cluster. +type KxClusterCodeDeploymentConfiguration struct { + _ struct{} `type:"structure"` + + // The type of deployment that you want on a cluster. + // + // * ROLLING – This options updates the cluster by stopping the exiting + // q process and starting a new q process with updated configuration. + // + // * FORCE – This option updates the cluster by immediately stopping all + // the running processes before starting up new ones with the updated configuration. + // + // DeploymentStrategy is a required field + DeploymentStrategy *string `locationName:"deploymentStrategy" type:"string" required:"true" enum:"KxClusterCodeDeploymentStrategy"` +} + +// 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 KxClusterCodeDeploymentConfiguration) 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 KxClusterCodeDeploymentConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KxClusterCodeDeploymentConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KxClusterCodeDeploymentConfiguration"} + if s.DeploymentStrategy == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentStrategy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeploymentStrategy sets the DeploymentStrategy field's value. +func (s *KxClusterCodeDeploymentConfiguration) SetDeploymentStrategy(v string) *KxClusterCodeDeploymentConfiguration { + s.DeploymentStrategy = &v + return s +} + // Defines the key-value pairs to make them available inside the cluster. type KxCommandLineArgument struct { _ struct{} `type:"structure"` @@ -8316,19 +8481,20 @@ func (s *KxDatabaseListEntry) SetLastModifiedTimestamp(v time.Time) *KxDatabaseL // The configuration that allows you to choose how you want to update the databases // on a cluster. Depending on the option you choose, you can reduce the time -// it takes to update the database changesets on to a cluster. +// it takes to update the cluster. type KxDeploymentConfiguration struct { _ struct{} `type:"structure"` // The type of deployment that you want on a cluster. // - // * ROLLING – This options loads the updated database by stopping the - // exiting q process and starting a new q process with updated configuration. + // * ROLLING – This options updates the cluster by stopping the exiting + // q process and starting a new q process with updated configuration. // - // * NO_RESTART – This option loads the updated database on the running - // q process without stopping it. This option is quicker as it reduces the - // turn around time to update a kdb database changeset configuration on a - // cluster. + // * NO_RESTART – This option updates the cluster without stopping the + // running q process. It is only available for HDB type cluster. This option + // is quicker as it reduces the turn around time to update configuration + // on a cluster. With this deployment mode, you cannot update the initializationScript + // and commandLineArguments parameters. // // DeploymentStrategy is a required field DeploymentStrategy *string `locationName:"deploymentStrategy" type:"string" required:"true" enum:"KxDeploymentStrategy"` @@ -10652,6 +10818,173 @@ func (s *UpdateEnvironmentOutput) SetEnvironment(v *Environment) *UpdateEnvironm return s } +type UpdateKxClusterCodeConfigurationInput struct { + _ struct{} `type:"structure"` + + // A token that ensures idempotency. This token expires in 10 minutes. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The name of the cluster. + // + // ClusterName is a required field + ClusterName *string `location:"uri" locationName:"clusterName" min:"3" type:"string" required:"true"` + + // The structure of the customer code available within the running cluster. + // + // Code is a required field + Code *CodeConfiguration `locationName:"code" type:"structure" required:"true"` + + // Specifies the key-value pairs to make them available inside the cluster. + CommandLineArguments []*KxCommandLineArgument `locationName:"commandLineArguments" type:"list"` + + // The configuration that allows you to choose how you want to update the code + // on a cluster. + DeploymentConfiguration *KxClusterCodeDeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` + + // A unique identifier of the kdb environment. + // + // EnvironmentId is a required field + EnvironmentId *string `location:"uri" locationName:"environmentId" min:"1" type:"string" required:"true"` + + // Specifies a Q program that will be run at launch of a cluster. It is a relative + // path within .zip file that contains the custom code, which will be loaded + // on the cluster. It must include the file name itself. For example, somedir/init.q. + InitializationScript *string `locationName:"initializationScript" 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 UpdateKxClusterCodeConfigurationInput) 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 UpdateKxClusterCodeConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateKxClusterCodeConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateKxClusterCodeConfigurationInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 3)) + } + if s.Code == nil { + invalidParams.Add(request.NewErrParamRequired("Code")) + } + if s.EnvironmentId == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentId")) + } + if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1)) + } + if s.InitializationScript != nil && len(*s.InitializationScript) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InitializationScript", 1)) + } + if s.Code != nil { + if err := s.Code.Validate(); err != nil { + invalidParams.AddNested("Code", err.(request.ErrInvalidParams)) + } + } + if s.CommandLineArguments != nil { + for i, v := range s.CommandLineArguments { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CommandLineArguments", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DeploymentConfiguration != nil { + if err := s.DeploymentConfiguration.Validate(); err != nil { + invalidParams.AddNested("DeploymentConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateKxClusterCodeConfigurationInput) SetClientToken(v string) *UpdateKxClusterCodeConfigurationInput { + s.ClientToken = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *UpdateKxClusterCodeConfigurationInput) SetClusterName(v string) *UpdateKxClusterCodeConfigurationInput { + s.ClusterName = &v + return s +} + +// SetCode sets the Code field's value. +func (s *UpdateKxClusterCodeConfigurationInput) SetCode(v *CodeConfiguration) *UpdateKxClusterCodeConfigurationInput { + s.Code = v + return s +} + +// SetCommandLineArguments sets the CommandLineArguments field's value. +func (s *UpdateKxClusterCodeConfigurationInput) SetCommandLineArguments(v []*KxCommandLineArgument) *UpdateKxClusterCodeConfigurationInput { + s.CommandLineArguments = v + return s +} + +// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. +func (s *UpdateKxClusterCodeConfigurationInput) SetDeploymentConfiguration(v *KxClusterCodeDeploymentConfiguration) *UpdateKxClusterCodeConfigurationInput { + s.DeploymentConfiguration = v + return s +} + +// SetEnvironmentId sets the EnvironmentId field's value. +func (s *UpdateKxClusterCodeConfigurationInput) SetEnvironmentId(v string) *UpdateKxClusterCodeConfigurationInput { + s.EnvironmentId = &v + return s +} + +// SetInitializationScript sets the InitializationScript field's value. +func (s *UpdateKxClusterCodeConfigurationInput) SetInitializationScript(v string) *UpdateKxClusterCodeConfigurationInput { + s.InitializationScript = &v + return s +} + +type UpdateKxClusterCodeConfigurationOutput 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 UpdateKxClusterCodeConfigurationOutput) 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 UpdateKxClusterCodeConfigurationOutput) GoString() string { + return s.String() +} + type UpdateKxClusterDatabasesInput struct { _ struct{} `type:"structure"` @@ -11981,6 +12314,22 @@ func KxAzMode_Values() []string { } } +const ( + // KxClusterCodeDeploymentStrategyRolling is a KxClusterCodeDeploymentStrategy enum value + KxClusterCodeDeploymentStrategyRolling = "ROLLING" + + // KxClusterCodeDeploymentStrategyForce is a KxClusterCodeDeploymentStrategy enum value + KxClusterCodeDeploymentStrategyForce = "FORCE" +) + +// KxClusterCodeDeploymentStrategy_Values returns all elements of the KxClusterCodeDeploymentStrategy enum +func KxClusterCodeDeploymentStrategy_Values() []string { + return []string{ + KxClusterCodeDeploymentStrategyRolling, + KxClusterCodeDeploymentStrategyForce, + } +} + const ( // KxClusterStatusPending is a KxClusterStatus enum value KxClusterStatusPending = "PENDING" diff --git a/service/finspace/finspaceiface/interface.go b/service/finspace/finspaceiface/interface.go index 93841d25808..6dce3b34802 100644 --- a/service/finspace/finspaceiface/interface.go +++ b/service/finspace/finspaceiface/interface.go @@ -188,6 +188,10 @@ type FinspaceAPI interface { UpdateEnvironmentWithContext(aws.Context, *finspace.UpdateEnvironmentInput, ...request.Option) (*finspace.UpdateEnvironmentOutput, error) UpdateEnvironmentRequest(*finspace.UpdateEnvironmentInput) (*request.Request, *finspace.UpdateEnvironmentOutput) + UpdateKxClusterCodeConfiguration(*finspace.UpdateKxClusterCodeConfigurationInput) (*finspace.UpdateKxClusterCodeConfigurationOutput, error) + UpdateKxClusterCodeConfigurationWithContext(aws.Context, *finspace.UpdateKxClusterCodeConfigurationInput, ...request.Option) (*finspace.UpdateKxClusterCodeConfigurationOutput, error) + UpdateKxClusterCodeConfigurationRequest(*finspace.UpdateKxClusterCodeConfigurationInput) (*request.Request, *finspace.UpdateKxClusterCodeConfigurationOutput) + UpdateKxClusterDatabases(*finspace.UpdateKxClusterDatabasesInput) (*finspace.UpdateKxClusterDatabasesOutput, error) UpdateKxClusterDatabasesWithContext(aws.Context, *finspace.UpdateKxClusterDatabasesInput, ...request.Option) (*finspace.UpdateKxClusterDatabasesOutput, error) UpdateKxClusterDatabasesRequest(*finspace.UpdateKxClusterDatabasesInput) (*request.Request, *finspace.UpdateKxClusterDatabasesOutput) diff --git a/service/mediapackagev2/api.go b/service/mediapackagev2/api.go index fab9f13b0d8..0b98214ad3f 100644 --- a/service/mediapackagev2/api.go +++ b/service/mediapackagev2/api.go @@ -1527,6 +1527,9 @@ func (c *MediaPackageV2) ListChannelsRequest(input *ListChannelsInput) (req *req // - ValidationException // The input failed to meet the constraints specified by the AWS service. // +// - ResourceNotFoundException +// The specified resource doesn't exist. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/mediapackagev2-2022-12-25/ListChannels func (c *MediaPackageV2) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) { req, out := c.ListChannelsRequest(input) @@ -3222,6 +3225,11 @@ type CreateHlsManifestConfiguration struct { // the manifestName you provided on the originEndpoint object. ChildManifestName *string `min:"1" type:"string"` + // Filter configuration includes settings for manifest filtering, start and + // end times, and time delay that apply to all of your egress requests for this + // manifest. + FilterConfiguration *FilterConfiguration `type:"structure"` + // A short short string that's appended to the endpoint URL. The manifest name // creates a unique path to this endpoint. If you don't enter a value, MediaPackage // uses the default manifest name, index. MediaPackage automatically inserts @@ -3287,6 +3295,11 @@ func (s *CreateHlsManifestConfiguration) Validate() error { if s.ProgramDateTimeIntervalSeconds != nil && *s.ProgramDateTimeIntervalSeconds < 1 { invalidParams.Add(request.NewErrParamMinValue("ProgramDateTimeIntervalSeconds", 1)) } + if s.FilterConfiguration != nil { + if err := s.FilterConfiguration.Validate(); err != nil { + invalidParams.AddNested("FilterConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3300,6 +3313,12 @@ func (s *CreateHlsManifestConfiguration) SetChildManifestName(v string) *CreateH return s } +// SetFilterConfiguration sets the FilterConfiguration field's value. +func (s *CreateHlsManifestConfiguration) SetFilterConfiguration(v *FilterConfiguration) *CreateHlsManifestConfiguration { + s.FilterConfiguration = v + return s +} + // SetManifestName sets the ManifestName field's value. func (s *CreateHlsManifestConfiguration) SetManifestName(v string) *CreateHlsManifestConfiguration { s.ManifestName = &v @@ -3335,6 +3354,11 @@ type CreateLowLatencyHlsManifestConfiguration struct { // the manifestName you provided on the originEndpoint object. ChildManifestName *string `min:"1" type:"string"` + // Filter configuration includes settings for manifest filtering, start and + // end times, and time delay that apply to all of your egress requests for this + // manifest. + FilterConfiguration *FilterConfiguration `type:"structure"` + // A short short string that's appended to the endpoint URL. The manifest name // creates a unique path to this endpoint. If you don't enter a value, MediaPackage // uses the default manifest name, index. MediaPackage automatically inserts @@ -3400,6 +3424,11 @@ func (s *CreateLowLatencyHlsManifestConfiguration) Validate() error { if s.ProgramDateTimeIntervalSeconds != nil && *s.ProgramDateTimeIntervalSeconds < 1 { invalidParams.Add(request.NewErrParamMinValue("ProgramDateTimeIntervalSeconds", 1)) } + if s.FilterConfiguration != nil { + if err := s.FilterConfiguration.Validate(); err != nil { + invalidParams.AddNested("FilterConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3413,6 +3442,12 @@ func (s *CreateLowLatencyHlsManifestConfiguration) SetChildManifestName(v string return s } +// SetFilterConfiguration sets the FilterConfiguration field's value. +func (s *CreateLowLatencyHlsManifestConfiguration) SetFilterConfiguration(v *FilterConfiguration) *CreateLowLatencyHlsManifestConfiguration { + s.FilterConfiguration = v + return s +} + // SetManifestName sets the ManifestName field's value. func (s *CreateLowLatencyHlsManifestConfiguration) SetManifestName(v string) *CreateLowLatencyHlsManifestConfiguration { s.ManifestName = &v @@ -4545,6 +4580,90 @@ func (s *EncryptionMethod) SetTsEncryptionMethod(v string) *EncryptionMethod { return s } +// Filter configuration includes settings for manifest filtering, start and +// end times, and time delay that apply to all of your egress requests for this +// manifest. +type FilterConfiguration struct { + _ struct{} `type:"structure"` + + // Optionally specify the end time for all of your manifest egress requests. + // When you include end time, note that you cannot use end time query parameters + // for this manifest's endpoint URL. + End *time.Time `type:"timestamp"` + + // Optionally specify one or more manifest filters for all of your manifest + // egress requests. When you include a manifest filter, note that you cannot + // use an identical manifest filter query parameter for this manifest's endpoint + // URL. + ManifestFilter *string `min:"1" type:"string"` + + // Optionally specify the start time for all of your manifest egress requests. + // When you include start time, note that you cannot use start time query parameters + // for this manifest's endpoint URL. + Start *time.Time `type:"timestamp"` + + // Optionally specify the time delay for all of your manifest egress requests. + // Enter a value that is smaller than your endpoint's startover window. When + // you include time delay, note that you cannot use time delay query parameters + // for this manifest's endpoint URL. + TimeDelaySeconds *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 FilterConfiguration) 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 FilterConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FilterConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterConfiguration"} + if s.ManifestFilter != nil && len(*s.ManifestFilter) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ManifestFilter", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnd sets the End field's value. +func (s *FilterConfiguration) SetEnd(v time.Time) *FilterConfiguration { + s.End = &v + return s +} + +// SetManifestFilter sets the ManifestFilter field's value. +func (s *FilterConfiguration) SetManifestFilter(v string) *FilterConfiguration { + s.ManifestFilter = &v + return s +} + +// SetStart sets the Start field's value. +func (s *FilterConfiguration) SetStart(v time.Time) *FilterConfiguration { + s.Start = &v + return s +} + +// SetTimeDelaySeconds sets the TimeDelaySeconds field's value. +func (s *FilterConfiguration) SetTimeDelaySeconds(v int64) *FilterConfiguration { + s.TimeDelaySeconds = &v + return s +} + type GetChannelGroupInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -5005,6 +5124,11 @@ type GetHlsManifestConfiguration struct { // object overrides the manifestName you provided on the originEndpoint object. ChildManifestName *string `min:"1" type:"string"` + // Filter configuration includes settings for manifest filtering, start and + // end times, and time delay that apply to all of your egress requests for this + // manifest. + FilterConfiguration *FilterConfiguration `type:"structure"` + // A short short string that's appended to the endpoint URL. The manifest name // creates a unique path to this endpoint. If you don't enter a value, MediaPackage // uses the default manifest name, index. MediaPackage automatically inserts @@ -5063,6 +5187,12 @@ func (s *GetHlsManifestConfiguration) SetChildManifestName(v string) *GetHlsMani return s } +// SetFilterConfiguration sets the FilterConfiguration field's value. +func (s *GetHlsManifestConfiguration) SetFilterConfiguration(v *FilterConfiguration) *GetHlsManifestConfiguration { + s.FilterConfiguration = v + return s +} + // SetManifestName sets the ManifestName field's value. func (s *GetHlsManifestConfiguration) SetManifestName(v string) *GetHlsManifestConfiguration { s.ManifestName = &v @@ -5103,6 +5233,11 @@ type GetLowLatencyHlsManifestConfiguration struct { // object overrides the manifestName you provided on the originEndpoint object. ChildManifestName *string `min:"1" type:"string"` + // Filter configuration includes settings for manifest filtering, start and + // end times, and time delay that apply to all of your egress requests for this + // manifest. + FilterConfiguration *FilterConfiguration `type:"structure"` + // A short short string that's appended to the endpoint URL. The manifest name // creates a unique path to this endpoint. If you don't enter a value, MediaPackage // uses the default manifest name, index. MediaPackage automatically inserts @@ -5161,6 +5296,12 @@ func (s *GetLowLatencyHlsManifestConfiguration) SetChildManifestName(v string) * return s } +// SetFilterConfiguration sets the FilterConfiguration field's value. +func (s *GetLowLatencyHlsManifestConfiguration) SetFilterConfiguration(v *FilterConfiguration) *GetLowLatencyHlsManifestConfiguration { + s.FilterConfiguration = v + return s +} + // SetManifestName sets the ManifestName field's value. func (s *GetLowLatencyHlsManifestConfiguration) SetManifestName(v string) *GetLowLatencyHlsManifestConfiguration { s.ManifestName = &v @@ -8418,6 +8559,15 @@ const ( // ValidationExceptionTypeMemberDoesNotMatchPattern is a ValidationExceptionType enum value ValidationExceptionTypeMemberDoesNotMatchPattern = "MEMBER_DOES_NOT_MATCH_PATTERN" + + // ValidationExceptionTypeInvalidManifestFilter is a ValidationExceptionType enum value + ValidationExceptionTypeInvalidManifestFilter = "INVALID_MANIFEST_FILTER" + + // ValidationExceptionTypeInvalidTimeDelaySeconds is a ValidationExceptionType enum value + ValidationExceptionTypeInvalidTimeDelaySeconds = "INVALID_TIME_DELAY_SECONDS" + + // ValidationExceptionTypeEndTimeEarlierThanStartTime is a ValidationExceptionType enum value + ValidationExceptionTypeEndTimeEarlierThanStartTime = "END_TIME_EARLIER_THAN_START_TIME" ) // ValidationExceptionType_Values returns all elements of the ValidationExceptionType enum @@ -8457,5 +8607,8 @@ func ValidationExceptionType_Values() []string { ValidationExceptionTypeMemberMaxLength, ValidationExceptionTypeMemberInvalidEnumValue, ValidationExceptionTypeMemberDoesNotMatchPattern, + ValidationExceptionTypeInvalidManifestFilter, + ValidationExceptionTypeInvalidTimeDelaySeconds, + ValidationExceptionTypeEndTimeEarlierThanStartTime, } } diff --git a/service/rds/api.go b/service/rds/api.go index 3b77ee83a5b..951fcf05345 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -362,6 +362,9 @@ func (c *RDS) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *requ // - ErrCodeBlueGreenDeploymentNotFoundFault "BlueGreenDeploymentNotFoundFault" // BlueGreenDeploymentIdentifier doesn't refer to an existing blue/green deployment. // +// - ErrCodeIntegrationNotFoundFault "IntegrationNotFoundFault" +// The specified integration could not be found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource func (c *RDS) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) { req, out := c.AddTagsToResourceRequest(input) @@ -3067,6 +3070,107 @@ func (c *RDS) CreateGlobalClusterWithContext(ctx aws.Context, input *CreateGloba return out, req.Send() } +const opCreateIntegration = "CreateIntegration" + +// CreateIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the CreateIntegration 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 CreateIntegration for more information on using the CreateIntegration +// 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 CreateIntegrationRequest method. +// req, resp := client.CreateIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateIntegration +func (c *RDS) CreateIntegrationRequest(input *CreateIntegrationInput) (req *request.Request, output *CreateIntegrationOutput) { + op := &request.Operation{ + Name: opCreateIntegration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateIntegrationInput{} + } + + output = &CreateIntegrationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateIntegration API operation for Amazon Relational Database Service. +// +// Creates a zero-ETL integration with Amazon Redshift. For more information, +// see Working with Amazon Aurora zero-ETL integrations with Amazon Redshift +// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.html) +// in the Amazon Aurora 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 Amazon Relational Database Service's +// API operation CreateIntegration for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault" +// DBClusterIdentifier doesn't refer to an existing DB cluster. +// +// - ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound" +// DBInstanceIdentifier doesn't refer to an existing DB instance. +// +// - ErrCodeIntegrationAlreadyExistsFault "IntegrationAlreadyExistsFault" +// The integration you are trying to create already exists. +// +// - ErrCodeIntegrationQuotaExceededFault "IntegrationQuotaExceededFault" +// You can't crate any more zero-ETL integrations because the quota has been +// reached. +// +// - ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred accessing an Amazon Web Services KMS key. +// +// - ErrCodeIntegrationConflictOperationFault "IntegrationConflictOperationFault" +// A conflicting conditional operation is currently in progress against this +// resource. Typically occurs when there are multiple requests being made to +// the same resource at the same time, and these requests conflict with each +// other. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateIntegration +func (c *RDS) CreateIntegration(input *CreateIntegrationInput) (*CreateIntegrationOutput, error) { + req, out := c.CreateIntegrationRequest(input) + return out, req.Send() +} + +// CreateIntegrationWithContext is the same as CreateIntegration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIntegration 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 *RDS) CreateIntegrationWithContext(ctx aws.Context, input *CreateIntegrationInput, opts ...request.Option) (*CreateIntegrationOutput, error) { + req, out := c.CreateIntegrationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateOptionGroup = "CreateOptionGroup" // CreateOptionGroupRequest generates a "aws/request.Request" representing the @@ -4706,6 +4810,96 @@ func (c *RDS) DeleteGlobalClusterWithContext(ctx aws.Context, input *DeleteGloba return out, req.Send() } +const opDeleteIntegration = "DeleteIntegration" + +// DeleteIntegrationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIntegration 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 DeleteIntegration for more information on using the DeleteIntegration +// 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 DeleteIntegrationRequest method. +// req, resp := client.DeleteIntegrationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteIntegration +func (c *RDS) DeleteIntegrationRequest(input *DeleteIntegrationInput) (req *request.Request, output *DeleteIntegrationOutput) { + op := &request.Operation{ + Name: opDeleteIntegration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIntegrationInput{} + } + + output = &DeleteIntegrationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteIntegration API operation for Amazon Relational Database Service. +// +// Deletes a zero-ETL integration with Amazon Redshift. For more information, +// see Deleting Amazon Aurora zero-ETL integrations with Amazon Redshift (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.deleting.html) +// in the Amazon Aurora 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 Amazon Relational Database Service's +// API operation DeleteIntegration for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeIntegrationNotFoundFault "IntegrationNotFoundFault" +// The specified integration could not be found. +// +// - ErrCodeIntegrationConflictOperationFault "IntegrationConflictOperationFault" +// A conflicting conditional operation is currently in progress against this +// resource. Typically occurs when there are multiple requests being made to +// the same resource at the same time, and these requests conflict with each +// other. +// +// - ErrCodeInvalidIntegrationStateFault "InvalidIntegrationStateFault" +// The integration is in an invalid state and can't perform the requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteIntegration +func (c *RDS) DeleteIntegration(input *DeleteIntegrationInput) (*DeleteIntegrationOutput, error) { + req, out := c.DeleteIntegrationRequest(input) + return out, req.Send() +} + +// DeleteIntegrationWithContext is the same as DeleteIntegration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIntegration 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 *RDS) DeleteIntegrationWithContext(ctx aws.Context, input *DeleteIntegrationInput, opts ...request.Option) (*DeleteIntegrationOutput, error) { + req, out := c.DeleteIntegrationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteOptionGroup = "DeleteOptionGroup" // DeleteOptionGroupRequest generates a "aws/request.Request" representing the @@ -9072,6 +9266,144 @@ func (c *RDS) DescribeGlobalClustersPagesWithContext(ctx aws.Context, input *Des return p.Err() } +const opDescribeIntegrations = "DescribeIntegrations" + +// DescribeIntegrationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIntegrations 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 DescribeIntegrations for more information on using the DescribeIntegrations +// 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 DescribeIntegrationsRequest method. +// req, resp := client.DescribeIntegrationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeIntegrations +func (c *RDS) DescribeIntegrationsRequest(input *DescribeIntegrationsInput) (req *request.Request, output *DescribeIntegrationsOutput) { + op := &request.Operation{ + Name: opDescribeIntegrations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeIntegrationsInput{} + } + + output = &DescribeIntegrationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIntegrations API operation for Amazon Relational Database Service. +// +// Describe one or more zero-ETL integration with Amazon Redshift. For more +// information, see Viewing and monitoring Amazon Aurora zero-ETL integrations +// with Amazon Redshift (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.describingmonitoring.html) +// in the Amazon Aurora 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 Amazon Relational Database Service's +// API operation DescribeIntegrations for usage and error information. +// +// Returned Error Codes: +// - ErrCodeIntegrationNotFoundFault "IntegrationNotFoundFault" +// The specified integration could not be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeIntegrations +func (c *RDS) DescribeIntegrations(input *DescribeIntegrationsInput) (*DescribeIntegrationsOutput, error) { + req, out := c.DescribeIntegrationsRequest(input) + return out, req.Send() +} + +// DescribeIntegrationsWithContext is the same as DescribeIntegrations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIntegrations 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 *RDS) DescribeIntegrationsWithContext(ctx aws.Context, input *DescribeIntegrationsInput, opts ...request.Option) (*DescribeIntegrationsOutput, error) { + req, out := c.DescribeIntegrationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeIntegrationsPages iterates over the pages of a DescribeIntegrations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeIntegrations 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 DescribeIntegrations operation. +// pageNum := 0 +// err := client.DescribeIntegrationsPages(params, +// func(page *rds.DescribeIntegrationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *RDS) DescribeIntegrationsPages(input *DescribeIntegrationsInput, fn func(*DescribeIntegrationsOutput, bool) bool) error { + return c.DescribeIntegrationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeIntegrationsPagesWithContext same as DescribeIntegrationsPages 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 *RDS) DescribeIntegrationsPagesWithContext(ctx aws.Context, input *DescribeIntegrationsInput, fn func(*DescribeIntegrationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeIntegrationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeIntegrationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeIntegrationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions" // DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the @@ -10561,6 +10893,9 @@ func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req * // - ErrCodeBlueGreenDeploymentNotFoundFault "BlueGreenDeploymentNotFoundFault" // BlueGreenDeploymentIdentifier doesn't refer to an existing blue/green deployment. // +// - ErrCodeIntegrationNotFoundFault "IntegrationNotFoundFault" +// The specified integration could not be found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) @@ -13497,6 +13832,9 @@ func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) // - ErrCodeBlueGreenDeploymentNotFoundFault "BlueGreenDeploymentNotFoundFault" // BlueGreenDeploymentIdentifier doesn't refer to an existing blue/green deployment. // +// - ErrCodeIntegrationNotFoundFault "IntegrationNotFoundFault" +// The specified integration could not be found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) { req, out := c.RemoveTagsFromResourceRequest(input) @@ -19521,6 +19859,10 @@ type CreateCustomDBEngineVersionOutput struct { // engine version. SupportsGlobalDatabases *bool `type:"boolean"` + // Indicates whether the DB engine version supports Aurora zero-ETL integrations + // with Amazon Redshift. + SupportsIntegrations *bool `type:"boolean"` + // Indicates whether the DB engine version supports forwarding write operations // from reader DB instances to the writer DB instance in the DB cluster. By // default, write operations aren't allowed on reader DB instances. @@ -19722,6 +20064,12 @@ func (s *CreateCustomDBEngineVersionOutput) SetSupportsGlobalDatabases(v bool) * return s } +// SetSupportsIntegrations sets the SupportsIntegrations field's value. +func (s *CreateCustomDBEngineVersionOutput) SetSupportsIntegrations(v bool) *CreateCustomDBEngineVersionOutput { + s.SupportsIntegrations = &v + return s +} + // SetSupportsLocalWriteForwarding sets the SupportsLocalWriteForwarding field's value. func (s *CreateCustomDBEngineVersionOutput) SetSupportsLocalWriteForwarding(v bool) *CreateCustomDBEngineVersionOutput { s.SupportsLocalWriteForwarding = &v @@ -24948,6 +25296,247 @@ func (s *CreateGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *CreateGl return s } +type CreateIntegrationInput struct { + _ struct{} `type:"structure"` + + // An optional set of non-secret key–value pairs that contains additional + // contextual information about the data. For more information, see Encryption + // context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the Amazon Web Services Key Management Service Developer Guide. + // + // You can only include this parameter if you specify the KMSKeyId parameter. + AdditionalEncryptionContext map[string]*string `type:"map"` + + // The name of the integration. + // + // IntegrationName is a required field + IntegrationName *string `min:"1" type:"string" required:"true"` + + // The Amazon Web Services Key Management System (Amazon Web Services KMS) key + // identifier for the key to use to encrypt the integration. If you don't specify + // an encryption key, Aurora uses a default Amazon Web Services owned key. + KMSKeyId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the Aurora DB cluster to use as the source + // for replication. + // + // SourceArn is a required field + SourceArn *string `min:"1" type:"string" required:"true"` + + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // The ARN of the Redshift data warehouse to use as the target for replication. + // + // TargetArn is a required field + TargetArn *string `min:"20" 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 CreateIntegrationInput) 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 CreateIntegrationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIntegrationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationInput"} + if s.IntegrationName == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationName")) + } + if s.IntegrationName != nil && len(*s.IntegrationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationName", 1)) + } + if s.SourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("SourceArn")) + } + if s.SourceArn != nil && len(*s.SourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceArn", 1)) + } + if s.TargetArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetArn")) + } + if s.TargetArn != nil && len(*s.TargetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TargetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *CreateIntegrationInput) SetAdditionalEncryptionContext(v map[string]*string) *CreateIntegrationInput { + s.AdditionalEncryptionContext = v + return s +} + +// SetIntegrationName sets the IntegrationName field's value. +func (s *CreateIntegrationInput) SetIntegrationName(v string) *CreateIntegrationInput { + s.IntegrationName = &v + return s +} + +// SetKMSKeyId sets the KMSKeyId field's value. +func (s *CreateIntegrationInput) SetKMSKeyId(v string) *CreateIntegrationInput { + s.KMSKeyId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *CreateIntegrationInput) SetSourceArn(v string) *CreateIntegrationInput { + s.SourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateIntegrationInput) SetTags(v []*Tag) *CreateIntegrationInput { + s.Tags = v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *CreateIntegrationInput) SetTargetArn(v string) *CreateIntegrationInput { + s.TargetArn = &v + return s +} + +// An Aurora zero-ETL integration with Amazon Redshift. For more information, +// see Working with Amazon Aurora zero-ETL integrations with Amazon Redshift +// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.html) +// in the Amazon Aurora User Guide. +type CreateIntegrationOutput struct { + _ struct{} `type:"structure"` + + // The encryption context for the integration. For more information, see Encryption + // context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the Amazon Web Services Key Management Service Developer Guide. + AdditionalEncryptionContext map[string]*string `type:"map"` + + // The time when the integration was created, in Universal Coordinated Time + // (UTC). + CreateTime *time.Time `type:"timestamp"` + + // Any errors associated with the integration. + Errors []*IntegrationError `locationNameList:"IntegrationError" type:"list"` + + // The ARN of the integration. + IntegrationArn *string `min:"1" type:"string"` + + // The name of the integration. + IntegrationName *string `min:"1" type:"string"` + + // The Amazon Web Services Key Management System (Amazon Web Services KMS) key + // identifier for the key used to to encrypt the integration. + KMSKeyId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the Aurora DB cluster used as the source + // for replication. + SourceArn *string `min:"1" type:"string"` + + // The current status of the integration. + Status *string `type:"string" enum:"IntegrationStatus"` + + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // The ARN of the Redshift data warehouse used as the target for replication. + TargetArn *string `min:"20" 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 CreateIntegrationOutput) 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 CreateIntegrationOutput) GoString() string { + return s.String() +} + +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *CreateIntegrationOutput) SetAdditionalEncryptionContext(v map[string]*string) *CreateIntegrationOutput { + s.AdditionalEncryptionContext = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CreateIntegrationOutput) SetCreateTime(v time.Time) *CreateIntegrationOutput { + s.CreateTime = &v + return s +} + +// SetErrors sets the Errors field's value. +func (s *CreateIntegrationOutput) SetErrors(v []*IntegrationError) *CreateIntegrationOutput { + s.Errors = v + return s +} + +// SetIntegrationArn sets the IntegrationArn field's value. +func (s *CreateIntegrationOutput) SetIntegrationArn(v string) *CreateIntegrationOutput { + s.IntegrationArn = &v + return s +} + +// SetIntegrationName sets the IntegrationName field's value. +func (s *CreateIntegrationOutput) SetIntegrationName(v string) *CreateIntegrationOutput { + s.IntegrationName = &v + return s +} + +// SetKMSKeyId sets the KMSKeyId field's value. +func (s *CreateIntegrationOutput) SetKMSKeyId(v string) *CreateIntegrationOutput { + s.KMSKeyId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *CreateIntegrationOutput) SetSourceArn(v string) *CreateIntegrationOutput { + s.SourceArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateIntegrationOutput) SetStatus(v string) *CreateIntegrationOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateIntegrationOutput) SetTags(v []*Tag) *CreateIntegrationOutput { + s.Tags = v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *CreateIntegrationOutput) SetTargetArn(v string) *CreateIntegrationOutput { + s.TargetArn = &v + return s +} + type CreateOptionGroupInput struct { _ struct{} `type:"structure"` @@ -27168,6 +27757,10 @@ type DBEngineVersion struct { // engine version. SupportsGlobalDatabases *bool `type:"boolean"` + // Indicates whether the DB engine version supports Aurora zero-ETL integrations + // with Amazon Redshift. + SupportsIntegrations *bool `type:"boolean"` + // Indicates whether the DB engine version supports forwarding write operations // from reader DB instances to the writer DB instance in the DB cluster. By // default, write operations aren't allowed on reader DB instances. @@ -27369,6 +27962,12 @@ func (s *DBEngineVersion) SetSupportsGlobalDatabases(v bool) *DBEngineVersion { return s } +// SetSupportsIntegrations sets the SupportsIntegrations field's value. +func (s *DBEngineVersion) SetSupportsIntegrations(v bool) *DBEngineVersion { + s.SupportsIntegrations = &v + return s +} + // SetSupportsLocalWriteForwarding sets the SupportsLocalWriteForwarding field's value. func (s *DBEngineVersion) SetSupportsLocalWriteForwarding(v bool) *DBEngineVersion { s.SupportsLocalWriteForwarding = &v @@ -30531,6 +31130,10 @@ type DeleteCustomDBEngineVersionOutput struct { // engine version. SupportsGlobalDatabases *bool `type:"boolean"` + // Indicates whether the DB engine version supports Aurora zero-ETL integrations + // with Amazon Redshift. + SupportsIntegrations *bool `type:"boolean"` + // Indicates whether the DB engine version supports forwarding write operations // from reader DB instances to the writer DB instance in the DB cluster. By // default, write operations aren't allowed on reader DB instances. @@ -30732,6 +31335,12 @@ func (s *DeleteCustomDBEngineVersionOutput) SetSupportsGlobalDatabases(v bool) * return s } +// SetSupportsIntegrations sets the SupportsIntegrations field's value. +func (s *DeleteCustomDBEngineVersionOutput) SetSupportsIntegrations(v bool) *DeleteCustomDBEngineVersionOutput { + s.SupportsIntegrations = &v + return s +} + // SetSupportsLocalWriteForwarding sets the SupportsLocalWriteForwarding field's value. func (s *DeleteCustomDBEngineVersionOutput) SetSupportsLocalWriteForwarding(v bool) *DeleteCustomDBEngineVersionOutput { s.SupportsLocalWriteForwarding = &v @@ -32187,6 +32796,177 @@ func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGl return s } +type DeleteIntegrationInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the integration. + // + // IntegrationIdentifier is a required field + IntegrationIdentifier *string `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 DeleteIntegrationInput) 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 DeleteIntegrationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIntegrationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationInput"} + if s.IntegrationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationIdentifier")) + } + if s.IntegrationIdentifier != nil && len(*s.IntegrationIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIntegrationIdentifier sets the IntegrationIdentifier field's value. +func (s *DeleteIntegrationInput) SetIntegrationIdentifier(v string) *DeleteIntegrationInput { + s.IntegrationIdentifier = &v + return s +} + +// An Aurora zero-ETL integration with Amazon Redshift. For more information, +// see Working with Amazon Aurora zero-ETL integrations with Amazon Redshift +// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.html) +// in the Amazon Aurora User Guide. +type DeleteIntegrationOutput struct { + _ struct{} `type:"structure"` + + // The encryption context for the integration. For more information, see Encryption + // context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the Amazon Web Services Key Management Service Developer Guide. + AdditionalEncryptionContext map[string]*string `type:"map"` + + // The time when the integration was created, in Universal Coordinated Time + // (UTC). + CreateTime *time.Time `type:"timestamp"` + + // Any errors associated with the integration. + Errors []*IntegrationError `locationNameList:"IntegrationError" type:"list"` + + // The ARN of the integration. + IntegrationArn *string `min:"1" type:"string"` + + // The name of the integration. + IntegrationName *string `min:"1" type:"string"` + + // The Amazon Web Services Key Management System (Amazon Web Services KMS) key + // identifier for the key used to to encrypt the integration. + KMSKeyId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the Aurora DB cluster used as the source + // for replication. + SourceArn *string `min:"1" type:"string"` + + // The current status of the integration. + Status *string `type:"string" enum:"IntegrationStatus"` + + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // The ARN of the Redshift data warehouse used as the target for replication. + TargetArn *string `min:"20" 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 DeleteIntegrationOutput) 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 DeleteIntegrationOutput) GoString() string { + return s.String() +} + +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *DeleteIntegrationOutput) SetAdditionalEncryptionContext(v map[string]*string) *DeleteIntegrationOutput { + s.AdditionalEncryptionContext = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *DeleteIntegrationOutput) SetCreateTime(v time.Time) *DeleteIntegrationOutput { + s.CreateTime = &v + return s +} + +// SetErrors sets the Errors field's value. +func (s *DeleteIntegrationOutput) SetErrors(v []*IntegrationError) *DeleteIntegrationOutput { + s.Errors = v + return s +} + +// SetIntegrationArn sets the IntegrationArn field's value. +func (s *DeleteIntegrationOutput) SetIntegrationArn(v string) *DeleteIntegrationOutput { + s.IntegrationArn = &v + return s +} + +// SetIntegrationName sets the IntegrationName field's value. +func (s *DeleteIntegrationOutput) SetIntegrationName(v string) *DeleteIntegrationOutput { + s.IntegrationName = &v + return s +} + +// SetKMSKeyId sets the KMSKeyId field's value. +func (s *DeleteIntegrationOutput) SetKMSKeyId(v string) *DeleteIntegrationOutput { + s.KMSKeyId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *DeleteIntegrationOutput) SetSourceArn(v string) *DeleteIntegrationOutput { + s.SourceArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteIntegrationOutput) SetStatus(v string) *DeleteIntegrationOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DeleteIntegrationOutput) SetTags(v []*Tag) *DeleteIntegrationOutput { + s.Tags = v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *DeleteIntegrationOutput) SetTargetArn(v string) *DeleteIntegrationOutput { + s.TargetArn = &v + return s +} + type DeleteOptionGroupInput struct { _ struct{} `type:"structure"` @@ -37278,6 +38058,138 @@ func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalCluste return s } +type DescribeIntegrationsInput struct { + _ struct{} `type:"structure"` + + // A filter that specifies one or more resources to return. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // The unique identifier of the integration. + IntegrationIdentifier *string `min:"1" type:"string"` + + // An optional pagination token provided by a previous DescribeIntegrations + // request. If this parameter is specified, the response includes only records + // beyond the marker, up to the value specified by MaxRecords. + Marker *string `min:"1" type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that you can retrieve the remaining results. + // + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *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 DescribeIntegrationsInput) 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 DescribeIntegrationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIntegrationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIntegrationsInput"} + if s.IntegrationIdentifier != nil && len(*s.IntegrationIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IntegrationIdentifier", 1)) + } + if s.Marker != nil && len(*s.Marker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeIntegrationsInput) SetFilters(v []*Filter) *DescribeIntegrationsInput { + s.Filters = v + return s +} + +// SetIntegrationIdentifier sets the IntegrationIdentifier field's value. +func (s *DescribeIntegrationsInput) SetIntegrationIdentifier(v string) *DescribeIntegrationsInput { + s.IntegrationIdentifier = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeIntegrationsInput) SetMarker(v string) *DescribeIntegrationsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeIntegrationsInput) SetMaxRecords(v int64) *DescribeIntegrationsInput { + s.MaxRecords = &v + return s +} + +type DescribeIntegrationsOutput struct { + _ struct{} `type:"structure"` + + // A list of integrations. + Integrations []*Integration `locationNameList:"Integration" type:"list"` + + // A pagination token that can be used in a later DescribeIntegrations request. + Marker *string `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 DescribeIntegrationsOutput) 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 DescribeIntegrationsOutput) GoString() string { + return s.String() +} + +// SetIntegrations sets the Integrations field's value. +func (s *DescribeIntegrationsOutput) SetIntegrations(v []*Integration) *DescribeIntegrationsOutput { + s.Integrations = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeIntegrationsOutput) SetMarker(v string) *DescribeIntegrationsOutput { + s.Marker = &v + return s +} + type DescribeOptionGroupOptionsInput struct { _ struct{} `type:"structure"` @@ -40163,6 +41075,171 @@ func (s *IPRange) SetStatus(v string) *IPRange { return s } +// An Aurora zero-ETL integration with Amazon Redshift. For more information, +// see Working with Amazon Aurora zero-ETL integrations with Amazon Redshift +// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.html) +// in the Amazon Aurora User Guide. +type Integration struct { + _ struct{} `type:"structure"` + + // The encryption context for the integration. For more information, see Encryption + // context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the Amazon Web Services Key Management Service Developer Guide. + AdditionalEncryptionContext map[string]*string `type:"map"` + + // The time when the integration was created, in Universal Coordinated Time + // (UTC). + CreateTime *time.Time `type:"timestamp"` + + // Any errors associated with the integration. + Errors []*IntegrationError `locationNameList:"IntegrationError" type:"list"` + + // The ARN of the integration. + IntegrationArn *string `min:"1" type:"string"` + + // The name of the integration. + IntegrationName *string `min:"1" type:"string"` + + // The Amazon Web Services Key Management System (Amazon Web Services KMS) key + // identifier for the key used to to encrypt the integration. + KMSKeyId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the Aurora DB cluster used as the source + // for replication. + SourceArn *string `min:"1" type:"string"` + + // The current status of the integration. + Status *string `type:"string" enum:"IntegrationStatus"` + + // A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) + // in the Amazon RDS User Guide. + Tags []*Tag `locationNameList:"Tag" type:"list"` + + // The ARN of the Redshift data warehouse used as the target for replication. + TargetArn *string `min:"20" 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 Integration) 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 Integration) GoString() string { + return s.String() +} + +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *Integration) SetAdditionalEncryptionContext(v map[string]*string) *Integration { + s.AdditionalEncryptionContext = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *Integration) SetCreateTime(v time.Time) *Integration { + s.CreateTime = &v + return s +} + +// SetErrors sets the Errors field's value. +func (s *Integration) SetErrors(v []*IntegrationError) *Integration { + s.Errors = v + return s +} + +// SetIntegrationArn sets the IntegrationArn field's value. +func (s *Integration) SetIntegrationArn(v string) *Integration { + s.IntegrationArn = &v + return s +} + +// SetIntegrationName sets the IntegrationName field's value. +func (s *Integration) SetIntegrationName(v string) *Integration { + s.IntegrationName = &v + return s +} + +// SetKMSKeyId sets the KMSKeyId field's value. +func (s *Integration) SetKMSKeyId(v string) *Integration { + s.KMSKeyId = &v + return s +} + +// SetSourceArn sets the SourceArn field's value. +func (s *Integration) SetSourceArn(v string) *Integration { + s.SourceArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Integration) SetStatus(v string) *Integration { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Integration) SetTags(v []*Tag) *Integration { + s.Tags = v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *Integration) SetTargetArn(v string) *Integration { + s.TargetArn = &v + return s +} + +// An error associated with a zero-ETL integration with Amazon Redshift. +type IntegrationError struct { + _ struct{} `type:"structure"` + + // The error code associated with the integration. + // + // ErrorCode is a required field + ErrorCode *string `type:"string" required:"true"` + + // A message explaining the error. + ErrorMessage *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 IntegrationError) 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 IntegrationError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *IntegrationError) SetErrorCode(v string) *IntegrationError { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *IntegrationError) SetErrorMessage(v string) *IntegrationError { + s.ErrorMessage = &v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure"` @@ -40976,6 +42053,10 @@ type ModifyCustomDBEngineVersionOutput struct { // engine version. SupportsGlobalDatabases *bool `type:"boolean"` + // Indicates whether the DB engine version supports Aurora zero-ETL integrations + // with Amazon Redshift. + SupportsIntegrations *bool `type:"boolean"` + // Indicates whether the DB engine version supports forwarding write operations // from reader DB instances to the writer DB instance in the DB cluster. By // default, write operations aren't allowed on reader DB instances. @@ -41177,6 +42258,12 @@ func (s *ModifyCustomDBEngineVersionOutput) SetSupportsGlobalDatabases(v bool) * return s } +// SetSupportsIntegrations sets the SupportsIntegrations field's value. +func (s *ModifyCustomDBEngineVersionOutput) SetSupportsIntegrations(v bool) *ModifyCustomDBEngineVersionOutput { + s.SupportsIntegrations = &v + return s +} + // SetSupportsLocalWriteForwarding sets the SupportsLocalWriteForwarding field's value. func (s *ModifyCustomDBEngineVersionOutput) SetSupportsLocalWriteForwarding(v bool) *ModifyCustomDBEngineVersionOutput { s.SupportsLocalWriteForwarding = &v @@ -55092,6 +56179,10 @@ type UpgradeTarget struct { // version. SupportsGlobalDatabases *bool `type:"boolean"` + // Indicates whether the DB engine version supports Aurora zero-ETL integrations + // with Amazon Redshift. + SupportsIntegrations *bool `type:"boolean"` + // Indicates whether the target engine version supports forwarding write operations // from reader DB instances to the writer DB instance in the DB cluster. By // default, write operations aren't allowed on reader DB instances. @@ -55170,6 +56261,12 @@ func (s *UpgradeTarget) SetSupportsGlobalDatabases(v bool) *UpgradeTarget { return s } +// SetSupportsIntegrations sets the SupportsIntegrations field's value. +func (s *UpgradeTarget) SetSupportsIntegrations(v bool) *UpgradeTarget { + s.SupportsIntegrations = &v + return s +} + // SetSupportsLocalWriteForwarding sets the SupportsLocalWriteForwarding field's value. func (s *UpgradeTarget) SetSupportsLocalWriteForwarding(v bool) *UpgradeTarget { s.SupportsLocalWriteForwarding = &v @@ -55892,6 +56989,42 @@ func IAMAuthMode_Values() []string { } } +const ( + // IntegrationStatusCreating is a IntegrationStatus enum value + IntegrationStatusCreating = "creating" + + // IntegrationStatusActive is a IntegrationStatus enum value + IntegrationStatusActive = "active" + + // IntegrationStatusModifying is a IntegrationStatus enum value + IntegrationStatusModifying = "modifying" + + // IntegrationStatusFailed is a IntegrationStatus enum value + IntegrationStatusFailed = "failed" + + // IntegrationStatusDeleting is a IntegrationStatus enum value + IntegrationStatusDeleting = "deleting" + + // IntegrationStatusSyncing is a IntegrationStatus enum value + IntegrationStatusSyncing = "syncing" + + // IntegrationStatusNeedsAttention is a IntegrationStatus enum value + IntegrationStatusNeedsAttention = "needs_attention" +) + +// IntegrationStatus_Values returns all elements of the IntegrationStatus enum +func IntegrationStatus_Values() []string { + return []string{ + IntegrationStatusCreating, + IntegrationStatusActive, + IntegrationStatusModifying, + IntegrationStatusFailed, + IntegrationStatusDeleting, + IntegrationStatusSyncing, + IntegrationStatusNeedsAttention, + } +} + const ( // LocalWriteForwardingStatusEnabled is a LocalWriteForwardingStatus enum value LocalWriteForwardingStatusEnabled = "enabled" diff --git a/service/rds/errors.go b/service/rds/errors.go index 8529f9287a3..602a1e5724f 100644 --- a/service/rds/errors.go +++ b/service/rds/errors.go @@ -494,6 +494,34 @@ const ( // Availability Zones that have more storage available. ErrCodeInsufficientStorageClusterCapacityFault = "InsufficientStorageClusterCapacity" + // ErrCodeIntegrationAlreadyExistsFault for service response error code + // "IntegrationAlreadyExistsFault". + // + // The integration you are trying to create already exists. + ErrCodeIntegrationAlreadyExistsFault = "IntegrationAlreadyExistsFault" + + // ErrCodeIntegrationConflictOperationFault for service response error code + // "IntegrationConflictOperationFault". + // + // A conflicting conditional operation is currently in progress against this + // resource. Typically occurs when there are multiple requests being made to + // the same resource at the same time, and these requests conflict with each + // other. + ErrCodeIntegrationConflictOperationFault = "IntegrationConflictOperationFault" + + // ErrCodeIntegrationNotFoundFault for service response error code + // "IntegrationNotFoundFault". + // + // The specified integration could not be found. + ErrCodeIntegrationNotFoundFault = "IntegrationNotFoundFault" + + // ErrCodeIntegrationQuotaExceededFault for service response error code + // "IntegrationQuotaExceededFault". + // + // You can't crate any more zero-ETL integrations because the quota has been + // reached. + ErrCodeIntegrationQuotaExceededFault = "IntegrationQuotaExceededFault" + // ErrCodeInvalidBlueGreenDeploymentStateFault for service response error code // "InvalidBlueGreenDeploymentStateFault". // @@ -638,6 +666,12 @@ const ( // operation. ErrCodeInvalidGlobalClusterStateFault = "InvalidGlobalClusterStateFault" + // ErrCodeInvalidIntegrationStateFault for service response error code + // "InvalidIntegrationStateFault". + // + // The integration is in an invalid state and can't perform the requested operation. + ErrCodeInvalidIntegrationStateFault = "InvalidIntegrationStateFault" + // ErrCodeInvalidOptionGroupStateFault for service response error code // "InvalidOptionGroupStateFault". // diff --git a/service/rds/examples_test.go b/service/rds/examples_test.go index e7641ae50aa..c6e93cc312e 100644 --- a/service/rds/examples_test.go +++ b/service/rds/examples_test.go @@ -157,6 +157,8 @@ func ExampleRDS_AddTagsToResource_shared00() { fmt.Println(rds.ErrCodeDBProxyTargetGroupNotFoundFault, aerr.Error()) case rds.ErrCodeBlueGreenDeploymentNotFoundFault: fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) + case rds.ErrCodeIntegrationNotFoundFault: + fmt.Println(rds.ErrCodeIntegrationNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -2847,6 +2849,8 @@ func ExampleRDS_ListTagsForResource_shared00() { fmt.Println(rds.ErrCodeDBProxyTargetGroupNotFoundFault, aerr.Error()) case rds.ErrCodeBlueGreenDeploymentNotFoundFault: fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) + case rds.ErrCodeIntegrationNotFoundFault: + fmt.Println(rds.ErrCodeIntegrationNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } @@ -3703,6 +3707,8 @@ func ExampleRDS_RemoveTagsFromResource_shared00() { fmt.Println(rds.ErrCodeDBProxyTargetGroupNotFoundFault, aerr.Error()) case rds.ErrCodeBlueGreenDeploymentNotFoundFault: fmt.Println(rds.ErrCodeBlueGreenDeploymentNotFoundFault, aerr.Error()) + case rds.ErrCodeIntegrationNotFoundFault: + fmt.Println(rds.ErrCodeIntegrationNotFoundFault, aerr.Error()) default: fmt.Println(aerr.Error()) } diff --git a/service/rds/rdsiface/interface.go b/service/rds/rdsiface/interface.go index 0c7b81d2764..79610592eec 100644 --- a/service/rds/rdsiface/interface.go +++ b/service/rds/rdsiface/interface.go @@ -176,6 +176,10 @@ type RDSAPI interface { CreateGlobalClusterWithContext(aws.Context, *rds.CreateGlobalClusterInput, ...request.Option) (*rds.CreateGlobalClusterOutput, error) CreateGlobalClusterRequest(*rds.CreateGlobalClusterInput) (*request.Request, *rds.CreateGlobalClusterOutput) + CreateIntegration(*rds.CreateIntegrationInput) (*rds.CreateIntegrationOutput, error) + CreateIntegrationWithContext(aws.Context, *rds.CreateIntegrationInput, ...request.Option) (*rds.CreateIntegrationOutput, error) + CreateIntegrationRequest(*rds.CreateIntegrationInput) (*request.Request, *rds.CreateIntegrationOutput) + CreateOptionGroup(*rds.CreateOptionGroupInput) (*rds.CreateOptionGroupOutput, error) CreateOptionGroupWithContext(aws.Context, *rds.CreateOptionGroupInput, ...request.Option) (*rds.CreateOptionGroupOutput, error) CreateOptionGroupRequest(*rds.CreateOptionGroupInput) (*request.Request, *rds.CreateOptionGroupOutput) @@ -248,6 +252,10 @@ type RDSAPI interface { DeleteGlobalClusterWithContext(aws.Context, *rds.DeleteGlobalClusterInput, ...request.Option) (*rds.DeleteGlobalClusterOutput, error) DeleteGlobalClusterRequest(*rds.DeleteGlobalClusterInput) (*request.Request, *rds.DeleteGlobalClusterOutput) + DeleteIntegration(*rds.DeleteIntegrationInput) (*rds.DeleteIntegrationOutput, error) + DeleteIntegrationWithContext(aws.Context, *rds.DeleteIntegrationInput, ...request.Option) (*rds.DeleteIntegrationOutput, error) + DeleteIntegrationRequest(*rds.DeleteIntegrationInput) (*request.Request, *rds.DeleteIntegrationOutput) + DeleteOptionGroup(*rds.DeleteOptionGroupInput) (*rds.DeleteOptionGroupOutput, error) DeleteOptionGroupWithContext(aws.Context, *rds.DeleteOptionGroupInput, ...request.Option) (*rds.DeleteOptionGroupOutput, error) DeleteOptionGroupRequest(*rds.DeleteOptionGroupInput) (*request.Request, *rds.DeleteOptionGroupOutput) @@ -465,6 +473,13 @@ type RDSAPI interface { DescribeGlobalClustersPages(*rds.DescribeGlobalClustersInput, func(*rds.DescribeGlobalClustersOutput, bool) bool) error DescribeGlobalClustersPagesWithContext(aws.Context, *rds.DescribeGlobalClustersInput, func(*rds.DescribeGlobalClustersOutput, bool) bool, ...request.Option) error + DescribeIntegrations(*rds.DescribeIntegrationsInput) (*rds.DescribeIntegrationsOutput, error) + DescribeIntegrationsWithContext(aws.Context, *rds.DescribeIntegrationsInput, ...request.Option) (*rds.DescribeIntegrationsOutput, error) + DescribeIntegrationsRequest(*rds.DescribeIntegrationsInput) (*request.Request, *rds.DescribeIntegrationsOutput) + + DescribeIntegrationsPages(*rds.DescribeIntegrationsInput, func(*rds.DescribeIntegrationsOutput, bool) bool) error + DescribeIntegrationsPagesWithContext(aws.Context, *rds.DescribeIntegrationsInput, func(*rds.DescribeIntegrationsOutput, bool) bool, ...request.Option) error + DescribeOptionGroupOptions(*rds.DescribeOptionGroupOptionsInput) (*rds.DescribeOptionGroupOptionsOutput, error) DescribeOptionGroupOptionsWithContext(aws.Context, *rds.DescribeOptionGroupOptionsInput, ...request.Option) (*rds.DescribeOptionGroupOptionsOutput, error) DescribeOptionGroupOptionsRequest(*rds.DescribeOptionGroupOptionsInput) (*request.Request, *rds.DescribeOptionGroupOptionsOutput) diff --git a/service/redshiftserverless/api.go b/service/redshiftserverless/api.go index 35991e04011..ecb60e353ad 100644 --- a/service/redshiftserverless/api.go +++ b/service/redshiftserverless/api.go @@ -109,6 +109,101 @@ func (c *RedshiftServerless) ConvertRecoveryPointToSnapshotWithContext(ctx aws.C return out, req.Send() } +const opCreateCustomDomainAssociation = "CreateCustomDomainAssociation" + +// CreateCustomDomainAssociationRequest generates a "aws/request.Request" representing the +// client's request for the CreateCustomDomainAssociation 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 CreateCustomDomainAssociation for more information on using the CreateCustomDomainAssociation +// 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 CreateCustomDomainAssociationRequest method. +// req, resp := client.CreateCustomDomainAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateCustomDomainAssociation +func (c *RedshiftServerless) CreateCustomDomainAssociationRequest(input *CreateCustomDomainAssociationInput) (req *request.Request, output *CreateCustomDomainAssociationOutput) { + op := &request.Operation{ + Name: opCreateCustomDomainAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCustomDomainAssociationInput{} + } + + output = &CreateCustomDomainAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCustomDomainAssociation API operation for Redshift Serverless. +// +// Creates a custom domain association for Amazon Redshift Serverless. +// +// 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 Redshift Serverless's +// API operation CreateCustomDomainAssociation for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateCustomDomainAssociation +func (c *RedshiftServerless) CreateCustomDomainAssociation(input *CreateCustomDomainAssociationInput) (*CreateCustomDomainAssociationOutput, error) { + req, out := c.CreateCustomDomainAssociationRequest(input) + return out, req.Send() +} + +// CreateCustomDomainAssociationWithContext is the same as CreateCustomDomainAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCustomDomainAssociation 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 *RedshiftServerless) CreateCustomDomainAssociationWithContext(ctx aws.Context, input *CreateCustomDomainAssociationInput, opts ...request.Option) (*CreateCustomDomainAssociationOutput, error) { + req, out := c.CreateCustomDomainAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateEndpointAccess = "CreateEndpointAccess" // CreateEndpointAccessRequest generates a "aws/request.Request" representing the @@ -577,6 +672,102 @@ func (c *RedshiftServerless) CreateWorkgroupWithContext(ctx aws.Context, input * return out, req.Send() } +const opDeleteCustomDomainAssociation = "DeleteCustomDomainAssociation" + +// DeleteCustomDomainAssociationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCustomDomainAssociation 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 DeleteCustomDomainAssociation for more information on using the DeleteCustomDomainAssociation +// 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 DeleteCustomDomainAssociationRequest method. +// req, resp := client.DeleteCustomDomainAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteCustomDomainAssociation +func (c *RedshiftServerless) DeleteCustomDomainAssociationRequest(input *DeleteCustomDomainAssociationInput) (req *request.Request, output *DeleteCustomDomainAssociationOutput) { + op := &request.Operation{ + Name: opDeleteCustomDomainAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCustomDomainAssociationInput{} + } + + output = &DeleteCustomDomainAssociationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteCustomDomainAssociation API operation for Redshift Serverless. +// +// Deletes a custom domain association for Amazon Redshift Serverless. +// +// 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 Redshift Serverless's +// API operation DeleteCustomDomainAssociation for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteCustomDomainAssociation +func (c *RedshiftServerless) DeleteCustomDomainAssociation(input *DeleteCustomDomainAssociationInput) (*DeleteCustomDomainAssociationOutput, error) { + req, out := c.DeleteCustomDomainAssociationRequest(input) + return out, req.Send() +} + +// DeleteCustomDomainAssociationWithContext is the same as DeleteCustomDomainAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCustomDomainAssociation 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 *RedshiftServerless) DeleteCustomDomainAssociationWithContext(ctx aws.Context, input *DeleteCustomDomainAssociationInput, opts ...request.Option) (*DeleteCustomDomainAssociationOutput, error) { + req, out := c.DeleteCustomDomainAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteEndpointAccess = "DeleteEndpointAccess" // DeleteEndpointAccessRequest generates a "aws/request.Request" representing the @@ -1208,6 +1399,101 @@ func (c *RedshiftServerless) GetCredentialsWithContext(ctx aws.Context, input *G return out, req.Send() } +const opGetCustomDomainAssociation = "GetCustomDomainAssociation" + +// GetCustomDomainAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetCustomDomainAssociation 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 GetCustomDomainAssociation for more information on using the GetCustomDomainAssociation +// 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 GetCustomDomainAssociationRequest method. +// req, resp := client.GetCustomDomainAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetCustomDomainAssociation +func (c *RedshiftServerless) GetCustomDomainAssociationRequest(input *GetCustomDomainAssociationInput) (req *request.Request, output *GetCustomDomainAssociationOutput) { + op := &request.Operation{ + Name: opGetCustomDomainAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetCustomDomainAssociationInput{} + } + + output = &GetCustomDomainAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCustomDomainAssociation API operation for Redshift Serverless. +// +// Gets information about a specific custom domain association. +// +// 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 Redshift Serverless's +// API operation GetCustomDomainAssociation for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetCustomDomainAssociation +func (c *RedshiftServerless) GetCustomDomainAssociation(input *GetCustomDomainAssociationInput) (*GetCustomDomainAssociationOutput, error) { + req, out := c.GetCustomDomainAssociationRequest(input) + return out, req.Send() +} + +// GetCustomDomainAssociationWithContext is the same as GetCustomDomainAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See GetCustomDomainAssociation 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 *RedshiftServerless) GetCustomDomainAssociationWithContext(ctx aws.Context, input *GetCustomDomainAssociationInput, opts ...request.Option) (*GetCustomDomainAssociationOutput, error) { + req, out := c.GetCustomDomainAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetEndpointAccess = "GetEndpointAccess" // GetEndpointAccessRequest generates a "aws/request.Request" representing the @@ -1901,34 +2187,34 @@ func (c *RedshiftServerless) GetWorkgroupWithContext(ctx aws.Context, input *Get return out, req.Send() } -const opListEndpointAccess = "ListEndpointAccess" +const opListCustomDomainAssociations = "ListCustomDomainAssociations" -// ListEndpointAccessRequest generates a "aws/request.Request" representing the -// client's request for the ListEndpointAccess operation. The "output" return +// ListCustomDomainAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomDomainAssociations 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 ListEndpointAccess for more information on using the ListEndpointAccess +// See ListCustomDomainAssociations for more information on using the ListCustomDomainAssociations // 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 ListEndpointAccessRequest method. -// req, resp := client.ListEndpointAccessRequest(params) +// // Example sending a request using the ListCustomDomainAssociationsRequest method. +// req, resp := client.ListCustomDomainAssociationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListEndpointAccess -func (c *RedshiftServerless) ListEndpointAccessRequest(input *ListEndpointAccessInput) (req *request.Request, output *ListEndpointAccessOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListCustomDomainAssociations +func (c *RedshiftServerless) ListCustomDomainAssociationsRequest(input *ListCustomDomainAssociationsInput) (req *request.Request, output *ListCustomDomainAssociationsOutput) { op := &request.Operation{ - Name: opListEndpointAccess, + Name: opListCustomDomainAssociations, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1940,24 +2226,24 @@ func (c *RedshiftServerless) ListEndpointAccessRequest(input *ListEndpointAccess } if input == nil { - input = &ListEndpointAccessInput{} + input = &ListCustomDomainAssociationsInput{} } - output = &ListEndpointAccessOutput{} + output = &ListCustomDomainAssociationsOutput{} req = c.newRequest(op, input, output) return } -// ListEndpointAccess API operation for Redshift Serverless. +// ListCustomDomainAssociations API operation for Redshift Serverless. // -// Returns an array of EndpointAccess objects and relevant information. +// Lists custom domain associations for Amazon Redshift Serverless. // // 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 Redshift Serverless's -// API operation ListEndpointAccess for usage and error information. +// API operation ListCustomDomainAssociations for usage and error information. // // Returned Error Types: // @@ -1965,31 +2251,180 @@ func (c *RedshiftServerless) ListEndpointAccessRequest(input *ListEndpointAccess // The request processing has failed because of an unknown error, exception // or failure. // -// - ResourceNotFoundException -// The resource could not be found. -// -// - ConflictException -// The submitted action has conflicts. +// - InvalidPaginationException +// The provided pagination token is invalid. // // - ValidationException // The input failed to satisfy the constraints specified by an AWS service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListEndpointAccess -func (c *RedshiftServerless) ListEndpointAccess(input *ListEndpointAccessInput) (*ListEndpointAccessOutput, error) { - req, out := c.ListEndpointAccessRequest(input) +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListCustomDomainAssociations +func (c *RedshiftServerless) ListCustomDomainAssociations(input *ListCustomDomainAssociationsInput) (*ListCustomDomainAssociationsOutput, error) { + req, out := c.ListCustomDomainAssociationsRequest(input) return out, req.Send() } -// ListEndpointAccessWithContext is the same as ListEndpointAccess with the addition of +// ListCustomDomainAssociationsWithContext is the same as ListCustomDomainAssociations with the addition of // the ability to pass a context and additional request options. // -// See ListEndpointAccess for details on how to use this API operation. +// See ListCustomDomainAssociations 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 *RedshiftServerless) ListEndpointAccessWithContext(ctx aws.Context, input *ListEndpointAccessInput, opts ...request.Option) (*ListEndpointAccessOutput, error) { +func (c *RedshiftServerless) ListCustomDomainAssociationsWithContext(ctx aws.Context, input *ListCustomDomainAssociationsInput, opts ...request.Option) (*ListCustomDomainAssociationsOutput, error) { + req, out := c.ListCustomDomainAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCustomDomainAssociationsPages iterates over the pages of a ListCustomDomainAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCustomDomainAssociations 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 ListCustomDomainAssociations operation. +// pageNum := 0 +// err := client.ListCustomDomainAssociationsPages(params, +// func(page *redshiftserverless.ListCustomDomainAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *RedshiftServerless) ListCustomDomainAssociationsPages(input *ListCustomDomainAssociationsInput, fn func(*ListCustomDomainAssociationsOutput, bool) bool) error { + return c.ListCustomDomainAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCustomDomainAssociationsPagesWithContext same as ListCustomDomainAssociationsPages 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 *RedshiftServerless) ListCustomDomainAssociationsPagesWithContext(ctx aws.Context, input *ListCustomDomainAssociationsInput, fn func(*ListCustomDomainAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCustomDomainAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCustomDomainAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCustomDomainAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEndpointAccess = "ListEndpointAccess" + +// ListEndpointAccessRequest generates a "aws/request.Request" representing the +// client's request for the ListEndpointAccess 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 ListEndpointAccess for more information on using the ListEndpointAccess +// 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 ListEndpointAccessRequest method. +// req, resp := client.ListEndpointAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListEndpointAccess +func (c *RedshiftServerless) ListEndpointAccessRequest(input *ListEndpointAccessInput) (req *request.Request, output *ListEndpointAccessOutput) { + op := &request.Operation{ + Name: opListEndpointAccess, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEndpointAccessInput{} + } + + output = &ListEndpointAccessOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEndpointAccess API operation for Redshift Serverless. +// +// Returns an array of EndpointAccess objects and relevant information. +// +// 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 Redshift Serverless's +// API operation ListEndpointAccess for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListEndpointAccess +func (c *RedshiftServerless) ListEndpointAccess(input *ListEndpointAccessInput) (*ListEndpointAccessOutput, error) { + req, out := c.ListEndpointAccessRequest(input) + return out, req.Send() +} + +// ListEndpointAccessWithContext is the same as ListEndpointAccess with the addition of +// the ability to pass a context and additional request options. +// +// See ListEndpointAccess 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 *RedshiftServerless) ListEndpointAccessWithContext(ctx aws.Context, input *ListEndpointAccessInput, opts ...request.Option) (*ListEndpointAccessOutput, error) { req, out := c.ListEndpointAccessRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) @@ -3538,6 +3973,102 @@ func (c *RedshiftServerless) UntagResourceWithContext(ctx aws.Context, input *Un return out, req.Send() } +const opUpdateCustomDomainAssociation = "UpdateCustomDomainAssociation" + +// UpdateCustomDomainAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCustomDomainAssociation 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 UpdateCustomDomainAssociation for more information on using the UpdateCustomDomainAssociation +// 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 UpdateCustomDomainAssociationRequest method. +// req, resp := client.UpdateCustomDomainAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/UpdateCustomDomainAssociation +func (c *RedshiftServerless) UpdateCustomDomainAssociationRequest(input *UpdateCustomDomainAssociationInput) (req *request.Request, output *UpdateCustomDomainAssociationOutput) { + op := &request.Operation{ + Name: opUpdateCustomDomainAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCustomDomainAssociationInput{} + } + + output = &UpdateCustomDomainAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCustomDomainAssociation API operation for Redshift Serverless. +// +// Updates an Amazon Redshift Serverless certificate associated with a custom +// domain. +// +// 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 Redshift Serverless's +// API operation UpdateCustomDomainAssociation for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/UpdateCustomDomainAssociation +func (c *RedshiftServerless) UpdateCustomDomainAssociation(input *UpdateCustomDomainAssociationInput) (*UpdateCustomDomainAssociationOutput, error) { + req, out := c.UpdateCustomDomainAssociationRequest(input) + return out, req.Send() +} + +// UpdateCustomDomainAssociationWithContext is the same as UpdateCustomDomainAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCustomDomainAssociation 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 *RedshiftServerless) UpdateCustomDomainAssociationWithContext(ctx aws.Context, input *UpdateCustomDomainAssociationInput, opts ...request.Option) (*UpdateCustomDomainAssociationOutput, error) { + req, out := c.UpdateCustomDomainAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateEndpointAccess = "UpdateEndpointAccess" // UpdateEndpointAccessRequest generates a "aws/request.Request" representing the @@ -4061,6 +4592,65 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } +// An object that represents the custom domain name association. +type Association struct { + _ struct{} `type:"structure"` + + // The custom domain name’s certificate Amazon resource name (ARN). + CustomDomainCertificateArn *string `locationName:"customDomainCertificateArn" min:"20" type:"string"` + + // The expiration time for the certificate. + CustomDomainCertificateExpiryTime *time.Time `locationName:"customDomainCertificateExpiryTime" type:"timestamp" timestampFormat:"iso8601"` + + // The custom domain name associated with the workgroup. + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string"` + + // The name of the workgroup associated with the database. + WorkgroupName *string `locationName:"workgroupName" min:"3" 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 Association) 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 Association) GoString() string { + return s.String() +} + +// SetCustomDomainCertificateArn sets the CustomDomainCertificateArn field's value. +func (s *Association) SetCustomDomainCertificateArn(v string) *Association { + s.CustomDomainCertificateArn = &v + return s +} + +// SetCustomDomainCertificateExpiryTime sets the CustomDomainCertificateExpiryTime field's value. +func (s *Association) SetCustomDomainCertificateExpiryTime(v time.Time) *Association { + s.CustomDomainCertificateExpiryTime = &v + return s +} + +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *Association) SetCustomDomainName(v string) *Association { + s.CustomDomainName = &v + return s +} + +// SetWorkgroupName sets the WorkgroupName field's value. +func (s *Association) SetWorkgroupName(v string) *Association { + s.WorkgroupName = &v + return s +} + // An array of key-value pairs to set for advanced control over Amazon Redshift // Serverless. type ConfigParameter struct { @@ -4291,21 +4881,162 @@ func (s *ConvertRecoveryPointToSnapshotOutput) SetSnapshot(v *Snapshot) *Convert return s } -type CreateEndpointAccessInput struct { +type CreateCustomDomainAssociationInput struct { _ struct{} `type:"structure"` - // The name of the VPC endpoint. An endpoint name must contain 1-30 characters. - // Valid characters are A-Z, a-z, 0-9, and hyphen(-). The first character must - // be a letter. The name can't contain two consecutive hyphens or end with a - // hyphen. + // The custom domain name’s certificate Amazon resource name (ARN). // - // EndpointName is a required field - EndpointName *string `locationName:"endpointName" type:"string" required:"true"` + // CustomDomainCertificateArn is a required field + CustomDomainCertificateArn *string `locationName:"customDomainCertificateArn" min:"20" type:"string" required:"true"` - // The unique identifers of subnets from which Amazon Redshift Serverless chooses - // one to deploy a VPC endpoint. + // The custom domain name to associate with the workgroup. // - // SubnetIds is a required field + // CustomDomainName is a required field + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string" required:"true"` + + // The name of the workgroup associated with the database. + // + // WorkgroupName is a required field + WorkgroupName *string `locationName:"workgroupName" min:"3" 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 CreateCustomDomainAssociationInput) 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 CreateCustomDomainAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCustomDomainAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCustomDomainAssociationInput"} + if s.CustomDomainCertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("CustomDomainCertificateArn")) + } + if s.CustomDomainCertificateArn != nil && len(*s.CustomDomainCertificateArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CustomDomainCertificateArn", 20)) + } + if s.CustomDomainName == nil { + invalidParams.Add(request.NewErrParamRequired("CustomDomainName")) + } + if s.CustomDomainName != nil && len(*s.CustomDomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomDomainName", 1)) + } + if s.WorkgroupName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkgroupName")) + } + if s.WorkgroupName != nil && len(*s.WorkgroupName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("WorkgroupName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomDomainCertificateArn sets the CustomDomainCertificateArn field's value. +func (s *CreateCustomDomainAssociationInput) SetCustomDomainCertificateArn(v string) *CreateCustomDomainAssociationInput { + s.CustomDomainCertificateArn = &v + return s +} + +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *CreateCustomDomainAssociationInput) SetCustomDomainName(v string) *CreateCustomDomainAssociationInput { + s.CustomDomainName = &v + return s +} + +// SetWorkgroupName sets the WorkgroupName field's value. +func (s *CreateCustomDomainAssociationInput) SetWorkgroupName(v string) *CreateCustomDomainAssociationInput { + s.WorkgroupName = &v + return s +} + +type CreateCustomDomainAssociationOutput struct { + _ struct{} `type:"structure"` + + // The custom domain name’s certificate Amazon resource name (ARN). + CustomDomainCertificateArn *string `locationName:"customDomainCertificateArn" min:"20" type:"string"` + + // The expiration time for the certificate. + CustomDomainCertificateExpiryTime *time.Time `locationName:"customDomainCertificateExpiryTime" type:"timestamp" timestampFormat:"iso8601"` + + // The custom domain name to associate with the workgroup. + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string"` + + // The name of the workgroup associated with the database. + WorkgroupName *string `locationName:"workgroupName" min:"3" 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 CreateCustomDomainAssociationOutput) 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 CreateCustomDomainAssociationOutput) GoString() string { + return s.String() +} + +// SetCustomDomainCertificateArn sets the CustomDomainCertificateArn field's value. +func (s *CreateCustomDomainAssociationOutput) SetCustomDomainCertificateArn(v string) *CreateCustomDomainAssociationOutput { + s.CustomDomainCertificateArn = &v + return s +} + +// SetCustomDomainCertificateExpiryTime sets the CustomDomainCertificateExpiryTime field's value. +func (s *CreateCustomDomainAssociationOutput) SetCustomDomainCertificateExpiryTime(v time.Time) *CreateCustomDomainAssociationOutput { + s.CustomDomainCertificateExpiryTime = &v + return s +} + +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *CreateCustomDomainAssociationOutput) SetCustomDomainName(v string) *CreateCustomDomainAssociationOutput { + s.CustomDomainName = &v + return s +} + +// SetWorkgroupName sets the WorkgroupName field's value. +func (s *CreateCustomDomainAssociationOutput) SetWorkgroupName(v string) *CreateCustomDomainAssociationOutput { + s.WorkgroupName = &v + return s +} + +type CreateEndpointAccessInput struct { + _ struct{} `type:"structure"` + + // The name of the VPC endpoint. An endpoint name must contain 1-30 characters. + // Valid characters are A-Z, a-z, 0-9, and hyphen(-). The first character must + // be a letter. The name can't contain two consecutive hyphens or end with a + // hyphen. + // + // EndpointName is a required field + EndpointName *string `locationName:"endpointName" type:"string" required:"true"` + + // The unique identifers of subnets from which Amazon Redshift Serverless chooses + // one to deploy a VPC endpoint. + // + // SubnetIds is a required field SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` // The unique identifiers of the security group that defines the ports, protocols, @@ -5046,6 +5777,94 @@ func (s *CreateWorkgroupOutput) SetWorkgroup(v *Workgroup) *CreateWorkgroupOutpu return s } +type DeleteCustomDomainAssociationInput struct { + _ struct{} `type:"structure"` + + // The custom domain name associated with the workgroup. + // + // CustomDomainName is a required field + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string" required:"true"` + + // The name of the workgroup associated with the database. + // + // WorkgroupName is a required field + WorkgroupName *string `locationName:"workgroupName" min:"3" 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 DeleteCustomDomainAssociationInput) 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 DeleteCustomDomainAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCustomDomainAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCustomDomainAssociationInput"} + if s.CustomDomainName == nil { + invalidParams.Add(request.NewErrParamRequired("CustomDomainName")) + } + if s.CustomDomainName != nil && len(*s.CustomDomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomDomainName", 1)) + } + if s.WorkgroupName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkgroupName")) + } + if s.WorkgroupName != nil && len(*s.WorkgroupName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("WorkgroupName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *DeleteCustomDomainAssociationInput) SetCustomDomainName(v string) *DeleteCustomDomainAssociationInput { + s.CustomDomainName = &v + return s +} + +// SetWorkgroupName sets the WorkgroupName field's value. +func (s *DeleteCustomDomainAssociationInput) SetWorkgroupName(v string) *DeleteCustomDomainAssociationInput { + s.WorkgroupName = &v + return s +} + +type DeleteCustomDomainAssociationOutput 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 DeleteCustomDomainAssociationOutput) 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 DeleteCustomDomainAssociationOutput) GoString() string { + return s.String() +} + type DeleteEndpointAccessInput struct { _ struct{} `type:"structure"` @@ -5694,6 +6513,10 @@ func (s *EndpointAccess) SetWorkgroupName(v string) *EndpointAccess { type GetCredentialsInput struct { _ struct{} `type:"structure"` + // The custom domain name associated with the workgroup. The custom domain name + // or the workgroup name must be included in the request. + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string"` + // The name of the database to get temporary authorization to log on to. // // Constraints: @@ -5716,6 +6539,146 @@ type GetCredentialsInput struct { // minimum is 900 seconds, and the maximum is 3600 seconds. DurationSeconds *int64 `locationName:"durationSeconds" type:"integer"` + // The name of the workgroup associated with the database. + WorkgroupName *string `locationName:"workgroupName" min:"3" 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 GetCredentialsInput) 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 GetCredentialsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCredentialsInput"} + if s.CustomDomainName != nil && len(*s.CustomDomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomDomainName", 1)) + } + if s.WorkgroupName != nil && len(*s.WorkgroupName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("WorkgroupName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *GetCredentialsInput) SetCustomDomainName(v string) *GetCredentialsInput { + s.CustomDomainName = &v + return s +} + +// SetDbName sets the DbName field's value. +func (s *GetCredentialsInput) SetDbName(v string) *GetCredentialsInput { + s.DbName = &v + return s +} + +// SetDurationSeconds sets the DurationSeconds field's value. +func (s *GetCredentialsInput) SetDurationSeconds(v int64) *GetCredentialsInput { + s.DurationSeconds = &v + return s +} + +// SetWorkgroupName sets the WorkgroupName field's value. +func (s *GetCredentialsInput) SetWorkgroupName(v string) *GetCredentialsInput { + s.WorkgroupName = &v + return s +} + +type GetCredentialsOutput struct { + _ struct{} `type:"structure"` + + // A temporary password that authorizes the user name returned by DbUser to + // log on to the database DbName. + // + // DbPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetCredentialsOutput's + // String and GoString methods. + DbPassword *string `locationName:"dbPassword" type:"string" sensitive:"true"` + + // A database user name that is authorized to log on to the database DbName + // using the password DbPassword. If the specified DbUser exists in the database, + // the new user name has the same database privileges as the the user named + // in DbUser. By default, the user is added to PUBLIC. + // + // DbUser is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetCredentialsOutput's + // String and GoString methods. + DbUser *string `locationName:"dbUser" type:"string" sensitive:"true"` + + // The date and time the password in DbPassword expires. + Expiration *time.Time `locationName:"expiration" type:"timestamp"` + + // The date and time of when the DbUser and DbPassword authorization refreshes. + NextRefreshTime *time.Time `locationName:"nextRefreshTime" type:"timestamp"` +} + +// 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 GetCredentialsOutput) 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 GetCredentialsOutput) GoString() string { + return s.String() +} + +// SetDbPassword sets the DbPassword field's value. +func (s *GetCredentialsOutput) SetDbPassword(v string) *GetCredentialsOutput { + s.DbPassword = &v + return s +} + +// SetDbUser sets the DbUser field's value. +func (s *GetCredentialsOutput) SetDbUser(v string) *GetCredentialsOutput { + s.DbUser = &v + return s +} + +// SetExpiration sets the Expiration field's value. +func (s *GetCredentialsOutput) SetExpiration(v time.Time) *GetCredentialsOutput { + s.Expiration = &v + return s +} + +// SetNextRefreshTime sets the NextRefreshTime field's value. +func (s *GetCredentialsOutput) SetNextRefreshTime(v time.Time) *GetCredentialsOutput { + s.NextRefreshTime = &v + return s +} + +type GetCustomDomainAssociationInput struct { + _ struct{} `type:"structure"` + + // The custom domain name associated with the workgroup. + // + // CustomDomainName is a required field + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string" required:"true"` + // The name of the workgroup associated with the database. // // WorkgroupName is a required field @@ -5727,7 +6690,7 @@ type GetCredentialsInput 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 GetCredentialsInput) String() string { +func (s GetCustomDomainAssociationInput) String() string { return awsutil.Prettify(s) } @@ -5736,13 +6699,19 @@ func (s GetCredentialsInput) 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 GetCredentialsInput) GoString() string { +func (s GetCustomDomainAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCredentialsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCredentialsInput"} +func (s *GetCustomDomainAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCustomDomainAssociationInput"} + if s.CustomDomainName == nil { + invalidParams.Add(request.NewErrParamRequired("CustomDomainName")) + } + if s.CustomDomainName != nil && len(*s.CustomDomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomDomainName", 1)) + } if s.WorkgroupName == nil { invalidParams.Add(request.NewErrParamRequired("WorkgroupName")) } @@ -5756,50 +6725,32 @@ func (s *GetCredentialsInput) Validate() error { return nil } -// SetDbName sets the DbName field's value. -func (s *GetCredentialsInput) SetDbName(v string) *GetCredentialsInput { - s.DbName = &v - return s -} - -// SetDurationSeconds sets the DurationSeconds field's value. -func (s *GetCredentialsInput) SetDurationSeconds(v int64) *GetCredentialsInput { - s.DurationSeconds = &v +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *GetCustomDomainAssociationInput) SetCustomDomainName(v string) *GetCustomDomainAssociationInput { + s.CustomDomainName = &v return s } // SetWorkgroupName sets the WorkgroupName field's value. -func (s *GetCredentialsInput) SetWorkgroupName(v string) *GetCredentialsInput { +func (s *GetCustomDomainAssociationInput) SetWorkgroupName(v string) *GetCustomDomainAssociationInput { s.WorkgroupName = &v return s } -type GetCredentialsOutput struct { +type GetCustomDomainAssociationOutput struct { _ struct{} `type:"structure"` - // A temporary password that authorizes the user name returned by DbUser to - // log on to the database DbName. - // - // DbPassword is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by GetCredentialsOutput's - // String and GoString methods. - DbPassword *string `locationName:"dbPassword" type:"string" sensitive:"true"` + // The custom domain name’s certificate Amazon resource name (ARN). + CustomDomainCertificateArn *string `locationName:"customDomainCertificateArn" min:"20" type:"string"` - // A database user name that is authorized to log on to the database DbName - // using the password DbPassword. If the specified DbUser exists in the database, - // the new user name has the same database privileges as the the user named - // in DbUser. By default, the user is added to PUBLIC. - // - // DbUser is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by GetCredentialsOutput's - // String and GoString methods. - DbUser *string `locationName:"dbUser" type:"string" sensitive:"true"` + // The expiration time for the certificate. + CustomDomainCertificateExpiryTime *time.Time `locationName:"customDomainCertificateExpiryTime" type:"timestamp" timestampFormat:"iso8601"` - // The date and time the password in DbPassword expires. - Expiration *time.Time `locationName:"expiration" type:"timestamp"` + // The custom domain name associated with the workgroup. + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string"` - // The date and time of when the DbUser and DbPassword authorization refreshes. - NextRefreshTime *time.Time `locationName:"nextRefreshTime" type:"timestamp"` + // The name of the workgroup associated with the database. + WorkgroupName *string `locationName:"workgroupName" min:"3" type:"string"` } // String returns the string representation. @@ -5807,7 +6758,7 @@ type GetCredentialsOutput 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 GetCredentialsOutput) String() string { +func (s GetCustomDomainAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -5816,31 +6767,31 @@ func (s GetCredentialsOutput) 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 GetCredentialsOutput) GoString() string { +func (s GetCustomDomainAssociationOutput) GoString() string { return s.String() } -// SetDbPassword sets the DbPassword field's value. -func (s *GetCredentialsOutput) SetDbPassword(v string) *GetCredentialsOutput { - s.DbPassword = &v +// SetCustomDomainCertificateArn sets the CustomDomainCertificateArn field's value. +func (s *GetCustomDomainAssociationOutput) SetCustomDomainCertificateArn(v string) *GetCustomDomainAssociationOutput { + s.CustomDomainCertificateArn = &v return s } -// SetDbUser sets the DbUser field's value. -func (s *GetCredentialsOutput) SetDbUser(v string) *GetCredentialsOutput { - s.DbUser = &v +// SetCustomDomainCertificateExpiryTime sets the CustomDomainCertificateExpiryTime field's value. +func (s *GetCustomDomainAssociationOutput) SetCustomDomainCertificateExpiryTime(v time.Time) *GetCustomDomainAssociationOutput { + s.CustomDomainCertificateExpiryTime = &v return s } -// SetExpiration sets the Expiration field's value. -func (s *GetCredentialsOutput) SetExpiration(v time.Time) *GetCredentialsOutput { - s.Expiration = &v +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *GetCustomDomainAssociationOutput) SetCustomDomainName(v string) *GetCustomDomainAssociationOutput { + s.CustomDomainName = &v return s } -// SetNextRefreshTime sets the NextRefreshTime field's value. -func (s *GetCredentialsOutput) SetNextRefreshTime(v time.Time) *GetCredentialsOutput { - s.NextRefreshTime = &v +// SetWorkgroupName sets the WorkgroupName field's value. +func (s *GetCustomDomainAssociationOutput) SetWorkgroupName(v string) *GetCustomDomainAssociationOutput { + s.WorkgroupName = &v return s } @@ -6667,6 +7618,131 @@ func (s *InvalidPaginationException) RequestID() string { return s.RespMetadata.RequestID } +type ListCustomDomainAssociationsInput struct { + _ struct{} `type:"structure"` + + // The custom domain name’s certificate Amazon resource name (ARN). + CustomDomainCertificateArn *string `locationName:"customDomainCertificateArn" min:"20" type:"string"` + + // The custom domain name associated with the workgroup. + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string"` + + // An optional parameter that specifies the maximum number of results to return. + // You can use nextToken to display the next page of results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // When nextToken is returned, there are more results available. The value of + // nextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `locationName:"nextToken" min:"8" 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 ListCustomDomainAssociationsInput) 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 ListCustomDomainAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCustomDomainAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCustomDomainAssociationsInput"} + if s.CustomDomainCertificateArn != nil && len(*s.CustomDomainCertificateArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CustomDomainCertificateArn", 20)) + } + if s.CustomDomainName != nil && len(*s.CustomDomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomDomainName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 8 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 8)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomDomainCertificateArn sets the CustomDomainCertificateArn field's value. +func (s *ListCustomDomainAssociationsInput) SetCustomDomainCertificateArn(v string) *ListCustomDomainAssociationsInput { + s.CustomDomainCertificateArn = &v + return s +} + +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *ListCustomDomainAssociationsInput) SetCustomDomainName(v string) *ListCustomDomainAssociationsInput { + s.CustomDomainName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCustomDomainAssociationsInput) SetMaxResults(v int64) *ListCustomDomainAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomDomainAssociationsInput) SetNextToken(v string) *ListCustomDomainAssociationsInput { + s.NextToken = &v + return s +} + +type ListCustomDomainAssociationsOutput struct { + _ struct{} `type:"structure"` + + // A list of Association objects. + Associations []*Association `locationName:"associations" type:"list"` + + // When nextToken is returned, there are more results available. The value of + // nextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `locationName:"nextToken" min:"8" 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 ListCustomDomainAssociationsOutput) 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 ListCustomDomainAssociationsOutput) GoString() string { + return s.String() +} + +// SetAssociations sets the Associations field's value. +func (s *ListCustomDomainAssociationsOutput) SetAssociations(v []*Association) *ListCustomDomainAssociationsOutput { + s.Associations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomDomainAssociationsOutput) SetNextToken(v string) *ListCustomDomainAssociationsOutput { + s.NextToken = &v + return s +} + type ListEndpointAccessInput struct { _ struct{} `type:"structure"` @@ -9387,6 +10463,148 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateCustomDomainAssociationInput struct { + _ struct{} `type:"structure"` + + // The custom domain name’s certificate Amazon resource name (ARN). This is + // optional. + // + // CustomDomainCertificateArn is a required field + CustomDomainCertificateArn *string `locationName:"customDomainCertificateArn" min:"20" type:"string" required:"true"` + + // The custom domain name associated with the workgroup. + // + // CustomDomainName is a required field + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string" required:"true"` + + // The name of the workgroup associated with the database. + // + // WorkgroupName is a required field + WorkgroupName *string `locationName:"workgroupName" min:"3" 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 UpdateCustomDomainAssociationInput) 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 UpdateCustomDomainAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCustomDomainAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCustomDomainAssociationInput"} + if s.CustomDomainCertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("CustomDomainCertificateArn")) + } + if s.CustomDomainCertificateArn != nil && len(*s.CustomDomainCertificateArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CustomDomainCertificateArn", 20)) + } + if s.CustomDomainName == nil { + invalidParams.Add(request.NewErrParamRequired("CustomDomainName")) + } + if s.CustomDomainName != nil && len(*s.CustomDomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomDomainName", 1)) + } + if s.WorkgroupName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkgroupName")) + } + if s.WorkgroupName != nil && len(*s.WorkgroupName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("WorkgroupName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomDomainCertificateArn sets the CustomDomainCertificateArn field's value. +func (s *UpdateCustomDomainAssociationInput) SetCustomDomainCertificateArn(v string) *UpdateCustomDomainAssociationInput { + s.CustomDomainCertificateArn = &v + return s +} + +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *UpdateCustomDomainAssociationInput) SetCustomDomainName(v string) *UpdateCustomDomainAssociationInput { + s.CustomDomainName = &v + return s +} + +// SetWorkgroupName sets the WorkgroupName field's value. +func (s *UpdateCustomDomainAssociationInput) SetWorkgroupName(v string) *UpdateCustomDomainAssociationInput { + s.WorkgroupName = &v + return s +} + +type UpdateCustomDomainAssociationOutput struct { + _ struct{} `type:"structure"` + + // The custom domain name’s certificate Amazon resource name (ARN). + CustomDomainCertificateArn *string `locationName:"customDomainCertificateArn" min:"20" type:"string"` + + // The expiration time for the certificate. + CustomDomainCertificateExpiryTime *time.Time `locationName:"customDomainCertificateExpiryTime" type:"timestamp" timestampFormat:"iso8601"` + + // The custom domain name associated with the workgroup. + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string"` + + // The name of the workgroup associated with the database. + WorkgroupName *string `locationName:"workgroupName" min:"3" 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 UpdateCustomDomainAssociationOutput) 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 UpdateCustomDomainAssociationOutput) GoString() string { + return s.String() +} + +// SetCustomDomainCertificateArn sets the CustomDomainCertificateArn field's value. +func (s *UpdateCustomDomainAssociationOutput) SetCustomDomainCertificateArn(v string) *UpdateCustomDomainAssociationOutput { + s.CustomDomainCertificateArn = &v + return s +} + +// SetCustomDomainCertificateExpiryTime sets the CustomDomainCertificateExpiryTime field's value. +func (s *UpdateCustomDomainAssociationOutput) SetCustomDomainCertificateExpiryTime(v time.Time) *UpdateCustomDomainAssociationOutput { + s.CustomDomainCertificateExpiryTime = &v + return s +} + +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *UpdateCustomDomainAssociationOutput) SetCustomDomainName(v string) *UpdateCustomDomainAssociationOutput { + s.CustomDomainName = &v + return s +} + +// SetWorkgroupName sets the WorkgroupName field's value. +func (s *UpdateCustomDomainAssociationOutput) SetWorkgroupName(v string) *UpdateCustomDomainAssociationOutput { + s.WorkgroupName = &v + return s +} + type UpdateEndpointAccessInput struct { _ struct{} `type:"structure"` @@ -10256,6 +11474,15 @@ type Workgroup struct { // The creation date of the workgroup. CreationDate *time.Time `locationName:"creationDate" type:"timestamp" timestampFormat:"iso8601"` + // The custom domain name’s certificate Amazon resource name (ARN). + CustomDomainCertificateArn *string `locationName:"customDomainCertificateArn" min:"20" type:"string"` + + // The expiration time for the certificate. + CustomDomainCertificateExpiryTime *time.Time `locationName:"customDomainCertificateExpiryTime" type:"timestamp" timestampFormat:"iso8601"` + + // The custom domain name associated with the workgroup. + CustomDomainName *string `locationName:"customDomainName" min:"1" type:"string"` + // The endpoint that is created from the workgroup. Endpoint *Endpoint `locationName:"endpoint" type:"structure"` @@ -10340,6 +11567,24 @@ func (s *Workgroup) SetCreationDate(v time.Time) *Workgroup { return s } +// SetCustomDomainCertificateArn sets the CustomDomainCertificateArn field's value. +func (s *Workgroup) SetCustomDomainCertificateArn(v string) *Workgroup { + s.CustomDomainCertificateArn = &v + return s +} + +// SetCustomDomainCertificateExpiryTime sets the CustomDomainCertificateExpiryTime field's value. +func (s *Workgroup) SetCustomDomainCertificateExpiryTime(v time.Time) *Workgroup { + s.CustomDomainCertificateExpiryTime = &v + return s +} + +// SetCustomDomainName sets the CustomDomainName field's value. +func (s *Workgroup) SetCustomDomainName(v string) *Workgroup { + s.CustomDomainName = &v + return s +} + // SetEndpoint sets the Endpoint field's value. func (s *Workgroup) SetEndpoint(v *Endpoint) *Workgroup { s.Endpoint = v diff --git a/service/redshiftserverless/redshiftserverlessiface/interface.go b/service/redshiftserverless/redshiftserverlessiface/interface.go index 1c2993ca126..2e963e805b0 100644 --- a/service/redshiftserverless/redshiftserverlessiface/interface.go +++ b/service/redshiftserverless/redshiftserverlessiface/interface.go @@ -64,6 +64,10 @@ type RedshiftServerlessAPI interface { ConvertRecoveryPointToSnapshotWithContext(aws.Context, *redshiftserverless.ConvertRecoveryPointToSnapshotInput, ...request.Option) (*redshiftserverless.ConvertRecoveryPointToSnapshotOutput, error) ConvertRecoveryPointToSnapshotRequest(*redshiftserverless.ConvertRecoveryPointToSnapshotInput) (*request.Request, *redshiftserverless.ConvertRecoveryPointToSnapshotOutput) + CreateCustomDomainAssociation(*redshiftserverless.CreateCustomDomainAssociationInput) (*redshiftserverless.CreateCustomDomainAssociationOutput, error) + CreateCustomDomainAssociationWithContext(aws.Context, *redshiftserverless.CreateCustomDomainAssociationInput, ...request.Option) (*redshiftserverless.CreateCustomDomainAssociationOutput, error) + CreateCustomDomainAssociationRequest(*redshiftserverless.CreateCustomDomainAssociationInput) (*request.Request, *redshiftserverless.CreateCustomDomainAssociationOutput) + CreateEndpointAccess(*redshiftserverless.CreateEndpointAccessInput) (*redshiftserverless.CreateEndpointAccessOutput, error) CreateEndpointAccessWithContext(aws.Context, *redshiftserverless.CreateEndpointAccessInput, ...request.Option) (*redshiftserverless.CreateEndpointAccessOutput, error) CreateEndpointAccessRequest(*redshiftserverless.CreateEndpointAccessInput) (*request.Request, *redshiftserverless.CreateEndpointAccessOutput) @@ -84,6 +88,10 @@ type RedshiftServerlessAPI interface { CreateWorkgroupWithContext(aws.Context, *redshiftserverless.CreateWorkgroupInput, ...request.Option) (*redshiftserverless.CreateWorkgroupOutput, error) CreateWorkgroupRequest(*redshiftserverless.CreateWorkgroupInput) (*request.Request, *redshiftserverless.CreateWorkgroupOutput) + DeleteCustomDomainAssociation(*redshiftserverless.DeleteCustomDomainAssociationInput) (*redshiftserverless.DeleteCustomDomainAssociationOutput, error) + DeleteCustomDomainAssociationWithContext(aws.Context, *redshiftserverless.DeleteCustomDomainAssociationInput, ...request.Option) (*redshiftserverless.DeleteCustomDomainAssociationOutput, error) + DeleteCustomDomainAssociationRequest(*redshiftserverless.DeleteCustomDomainAssociationInput) (*request.Request, *redshiftserverless.DeleteCustomDomainAssociationOutput) + DeleteEndpointAccess(*redshiftserverless.DeleteEndpointAccessInput) (*redshiftserverless.DeleteEndpointAccessOutput, error) DeleteEndpointAccessWithContext(aws.Context, *redshiftserverless.DeleteEndpointAccessInput, ...request.Option) (*redshiftserverless.DeleteEndpointAccessOutput, error) DeleteEndpointAccessRequest(*redshiftserverless.DeleteEndpointAccessInput) (*request.Request, *redshiftserverless.DeleteEndpointAccessOutput) @@ -112,6 +120,10 @@ type RedshiftServerlessAPI interface { GetCredentialsWithContext(aws.Context, *redshiftserverless.GetCredentialsInput, ...request.Option) (*redshiftserverless.GetCredentialsOutput, error) GetCredentialsRequest(*redshiftserverless.GetCredentialsInput) (*request.Request, *redshiftserverless.GetCredentialsOutput) + GetCustomDomainAssociation(*redshiftserverless.GetCustomDomainAssociationInput) (*redshiftserverless.GetCustomDomainAssociationOutput, error) + GetCustomDomainAssociationWithContext(aws.Context, *redshiftserverless.GetCustomDomainAssociationInput, ...request.Option) (*redshiftserverless.GetCustomDomainAssociationOutput, error) + GetCustomDomainAssociationRequest(*redshiftserverless.GetCustomDomainAssociationInput) (*request.Request, *redshiftserverless.GetCustomDomainAssociationOutput) + GetEndpointAccess(*redshiftserverless.GetEndpointAccessInput) (*redshiftserverless.GetEndpointAccessOutput, error) GetEndpointAccessWithContext(aws.Context, *redshiftserverless.GetEndpointAccessInput, ...request.Option) (*redshiftserverless.GetEndpointAccessOutput, error) GetEndpointAccessRequest(*redshiftserverless.GetEndpointAccessInput) (*request.Request, *redshiftserverless.GetEndpointAccessOutput) @@ -144,6 +156,13 @@ type RedshiftServerlessAPI interface { GetWorkgroupWithContext(aws.Context, *redshiftserverless.GetWorkgroupInput, ...request.Option) (*redshiftserverless.GetWorkgroupOutput, error) GetWorkgroupRequest(*redshiftserverless.GetWorkgroupInput) (*request.Request, *redshiftserverless.GetWorkgroupOutput) + ListCustomDomainAssociations(*redshiftserverless.ListCustomDomainAssociationsInput) (*redshiftserverless.ListCustomDomainAssociationsOutput, error) + ListCustomDomainAssociationsWithContext(aws.Context, *redshiftserverless.ListCustomDomainAssociationsInput, ...request.Option) (*redshiftserverless.ListCustomDomainAssociationsOutput, error) + ListCustomDomainAssociationsRequest(*redshiftserverless.ListCustomDomainAssociationsInput) (*request.Request, *redshiftserverless.ListCustomDomainAssociationsOutput) + + ListCustomDomainAssociationsPages(*redshiftserverless.ListCustomDomainAssociationsInput, func(*redshiftserverless.ListCustomDomainAssociationsOutput, bool) bool) error + ListCustomDomainAssociationsPagesWithContext(aws.Context, *redshiftserverless.ListCustomDomainAssociationsInput, func(*redshiftserverless.ListCustomDomainAssociationsOutput, bool) bool, ...request.Option) error + ListEndpointAccess(*redshiftserverless.ListEndpointAccessInput) (*redshiftserverless.ListEndpointAccessOutput, error) ListEndpointAccessWithContext(aws.Context, *redshiftserverless.ListEndpointAccessInput, ...request.Option) (*redshiftserverless.ListEndpointAccessOutput, error) ListEndpointAccessRequest(*redshiftserverless.ListEndpointAccessInput) (*request.Request, *redshiftserverless.ListEndpointAccessOutput) @@ -221,6 +240,10 @@ type RedshiftServerlessAPI interface { UntagResourceWithContext(aws.Context, *redshiftserverless.UntagResourceInput, ...request.Option) (*redshiftserverless.UntagResourceOutput, error) UntagResourceRequest(*redshiftserverless.UntagResourceInput) (*request.Request, *redshiftserverless.UntagResourceOutput) + UpdateCustomDomainAssociation(*redshiftserverless.UpdateCustomDomainAssociationInput) (*redshiftserverless.UpdateCustomDomainAssociationOutput, error) + UpdateCustomDomainAssociationWithContext(aws.Context, *redshiftserverless.UpdateCustomDomainAssociationInput, ...request.Option) (*redshiftserverless.UpdateCustomDomainAssociationOutput, error) + UpdateCustomDomainAssociationRequest(*redshiftserverless.UpdateCustomDomainAssociationInput) (*request.Request, *redshiftserverless.UpdateCustomDomainAssociationOutput) + UpdateEndpointAccess(*redshiftserverless.UpdateEndpointAccessInput) (*redshiftserverless.UpdateEndpointAccessOutput, error) UpdateEndpointAccessWithContext(aws.Context, *redshiftserverless.UpdateEndpointAccessInput, ...request.Option) (*redshiftserverless.UpdateEndpointAccessOutput, error) UpdateEndpointAccessRequest(*redshiftserverless.UpdateEndpointAccessInput) (*request.Request, *redshiftserverless.UpdateEndpointAccessOutput) diff --git a/service/resiliencehub/api.go b/service/resiliencehub/api.go index 12818790442..08ec90f8b8f 100644 --- a/service/resiliencehub/api.go +++ b/service/resiliencehub/api.go @@ -56,8 +56,13 @@ func (c *ResilienceHub) AddDraftAppVersionResourceMappingsRequest(input *AddDraf // AddDraftAppVersionResourceMappings API operation for AWS Resilience Hub. // -// Adds the resource mapping for the draft application version. You can also -// update an existing resource mapping to a new physical resource. +// Adds the source of resource-maps to the draft version of an application. +// During assessment, Resilience Hub will use these resource-maps to resolve +// the latest physical ID for each resource in the application template. For +// more information about different types of resources suported by Resilience +// Hub and how to add them in your application, see Step 2: How is your application +// managed? (https://docs.aws.amazon.com/resilience-hub/latest/userguide/how-app-manage.html) +// in the Resilience Hub 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 @@ -708,6 +713,13 @@ func (c *ResilienceHub) CreateResiliencyPolicyRequest(input *CreateResiliencyPol // // Creates a resiliency policy for an application. // +// Resilience Hub allows you to provide a value of zero for rtoInSecs and rpoInSecs +// of your resiliency policy. But, while assessing your application, the lowest +// possible assessment result is near zero. Hence, if you provide value zero +// for rtoInSecs and rpoInSecs, the estimated workload RTO and estimated workload +// RPO result will be near zero and the Compliance status for your application +// will be set to Policy breached. +// // 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. @@ -6361,6 +6373,13 @@ func (c *ResilienceHub) UpdateResiliencyPolicyRequest(input *UpdateResiliencyPol // // Updates a resiliency policy. // +// Resilience Hub allows you to provide a value of zero for rtoInSecs and rpoInSecs +// of your resiliency policy. But, while assessing your application, the lowest +// possible assessment result is near zero. Hence, if you provide value zero +// for rtoInSecs and rpoInSecs, the estimated workload RTO and estimated workload +// RPO result will be near zero and the Compliance status for your application +// will be set to Policy breached. +// // 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. @@ -6489,7 +6508,7 @@ type AddDraftAppVersionResourceMappingsInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -6566,7 +6585,7 @@ type AddDraftAppVersionResourceMappingsOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -6742,7 +6761,7 @@ type App struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -6753,7 +6772,7 @@ type App struct { // Current status of compliance for the resiliency policy. ComplianceStatus *string `locationName:"complianceStatus" type:"string" enum:"AppComplianceStatusType"` - // Timestamp for when the app was created. + // Date and time when the app was created. // // CreationTime is a required field CreationTime *time.Time `locationName:"creationTime" type:"timestamp" required:"true"` @@ -6770,13 +6789,13 @@ type App struct { // and Scheduled assessment failure events. EventSubscriptions []*EventSubscription `locationName:"eventSubscriptions" type:"list"` - // Timestamp for the most recent compliance evaluation. + // Date and time the most recent compliance evaluation. LastAppComplianceEvaluationTime *time.Time `locationName:"lastAppComplianceEvaluationTime" type:"timestamp"` // Indicates the last time that a drift was evaluated. LastDriftEvaluationTime *time.Time `locationName:"lastDriftEvaluationTime" type:"timestamp"` - // Timestamp for the most recent resiliency score evaluation. + // Date and time the most recent resiliency score evaluation. LastResiliencyScoreEvaluationTime *time.Time `locationName:"lastResiliencyScoreEvaluationTime" type:"timestamp"` // Name for the application. @@ -6791,12 +6810,18 @@ type App struct { // Amazon Resource Name (ARN) of the resiliency policy. The format for this // ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. PolicyArn *string `locationName:"policyArn" type:"string"` // Current resiliency score for the application. ResiliencyScore *float64 `locationName:"resiliencyScore" type:"double"` + // Recovery Point Objective (RPO) in seconds. + RpoInSecs *int64 `locationName:"rpoInSecs" type:"integer"` + + // Recovery Time Objective (RTO) in seconds. + RtoInSecs *int64 `locationName:"rtoInSecs" type:"integer"` + // Status of the application. Status *string `locationName:"status" type:"string" enum:"AppStatusType"` @@ -6911,6 +6936,18 @@ func (s *App) SetResiliencyScore(v float64) *App { return s } +// SetRpoInSecs sets the RpoInSecs field's value. +func (s *App) SetRpoInSecs(v int64) *App { + s.RpoInSecs = &v + return s +} + +// SetRtoInSecs sets the RtoInSecs field's value. +func (s *App) SetRtoInSecs(v int64) *App { + s.RtoInSecs = &v + return s +} + // SetStatus sets the Status field's value. func (s *App) SetStatus(v string) *App { s.Status = &v @@ -6930,7 +6967,7 @@ type AppAssessment struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. AppArn *string `locationName:"appArn" type:"string"` // Version of an application. @@ -6939,7 +6976,7 @@ type AppAssessment struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -7134,7 +7171,7 @@ type AppAssessmentSummary struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. AppArn *string `locationName:"appArn" type:"string"` // Version of an application. @@ -7143,7 +7180,7 @@ type AppAssessmentSummary struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -7455,7 +7492,7 @@ type AppInputSource struct { // The Amazon Resource Name (ARN) of the input source. For more information // about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. SourceArn *string `locationName:"sourceArn" type:"string"` // The name of the input source. @@ -7526,7 +7563,7 @@ type AppSummary struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -7537,7 +7574,7 @@ type AppSummary struct { // The current status of compliance for the resiliency policy. ComplianceStatus *string `locationName:"complianceStatus" type:"string" enum:"AppComplianceStatusType"` - // The timestamp for when the app was created. + // Date and time when the app was created. // // CreationTime is a required field CreationTime *time.Time `locationName:"creationTime" type:"timestamp" required:"true"` @@ -7549,6 +7586,9 @@ type AppSummary struct { // assessment for your application. DriftStatus *string `locationName:"driftStatus" type:"string" enum:"AppDriftStatusType"` + // Date and time of the most recent compliance evaluation. + LastAppComplianceEvaluationTime *time.Time `locationName:"lastAppComplianceEvaluationTime" type:"timestamp"` + // The name of the application. // // Name is a required field @@ -7557,6 +7597,12 @@ type AppSummary struct { // The current resiliency score for the application. ResiliencyScore *float64 `locationName:"resiliencyScore" type:"double"` + // Recovery Point Objective (RPO) in seconds. + RpoInSecs *int64 `locationName:"rpoInSecs" type:"integer"` + + // Recovery Time Objective (RTO) in seconds. + RtoInSecs *int64 `locationName:"rtoInSecs" type:"integer"` + // Status of the application. Status *string `locationName:"status" type:"string" enum:"AppStatusType"` } @@ -7615,6 +7661,12 @@ func (s *AppSummary) SetDriftStatus(v string) *AppSummary { return s } +// SetLastAppComplianceEvaluationTime sets the LastAppComplianceEvaluationTime field's value. +func (s *AppSummary) SetLastAppComplianceEvaluationTime(v time.Time) *AppSummary { + s.LastAppComplianceEvaluationTime = &v + return s +} + // SetName sets the Name field's value. func (s *AppSummary) SetName(v string) *AppSummary { s.Name = &v @@ -7627,6 +7679,18 @@ func (s *AppSummary) SetResiliencyScore(v float64) *AppSummary { return s } +// SetRpoInSecs sets the RpoInSecs field's value. +func (s *AppSummary) SetRpoInSecs(v int64) *AppSummary { + s.RpoInSecs = &v + return s +} + +// SetRtoInSecs sets the RtoInSecs field's value. +func (s *AppSummary) SetRtoInSecs(v int64) *AppSummary { + s.RtoInSecs = &v + return s +} + // SetStatus sets the Status field's value. func (s *AppSummary) SetStatus(v string) *AppSummary { s.Status = &v @@ -7747,7 +7811,7 @@ type BatchUpdateRecommendationStatusInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -7824,7 +7888,7 @@ type BatchUpdateRecommendationStatusOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -8417,7 +8481,7 @@ type CreateAppInput struct { // Amazon Resource Name (ARN) of the resiliency policy. The format for this // ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. PolicyArn *string `locationName:"policyArn" type:"string"` // Tags assigned to the resource. A tag is a label that you assign to an Amazon @@ -8572,7 +8636,7 @@ type CreateAppVersionAppComponentInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -8688,7 +8752,7 @@ type CreateAppVersionAppComponentOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -8747,7 +8811,7 @@ type CreateAppVersionResourceInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -8911,7 +8975,7 @@ type CreateAppVersionResourceOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -8969,7 +9033,7 @@ type CreateRecommendationTemplateInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -9328,7 +9392,7 @@ type DeleteAppAssessmentInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -9391,7 +9455,7 @@ type DeleteAppAssessmentOutput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -9438,7 +9502,7 @@ type DeleteAppInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -9510,7 +9574,7 @@ type DeleteAppInputSourceInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -9527,7 +9591,7 @@ type DeleteAppInputSourceInput struct { // The Amazon Resource Name (ARN) of the imported resource you want to remove // from the Resilience Hub application. For more information about ARNs, see // Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. SourceArn *string `locationName:"sourceArn" type:"string"` // The imported Terraform s3 state file you want to remove from the Resilience @@ -9615,7 +9679,7 @@ type DeleteAppInputSourceOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. AppArn *string `locationName:"appArn" type:"string"` // Name of the input source from where the application resource is imported @@ -9659,7 +9723,7 @@ type DeleteAppOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -9695,7 +9759,7 @@ type DeleteAppVersionAppComponentInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -9775,7 +9839,7 @@ type DeleteAppVersionAppComponentOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -9831,7 +9895,7 @@ type DeleteAppVersionResourceInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -9947,7 +10011,7 @@ type DeleteAppVersionResourceOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10114,7 +10178,7 @@ type DeleteResiliencyPolicyInput struct { // Amazon Resource Name (ARN) of the resiliency policy. The format for this // ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // PolicyArn is a required field PolicyArn *string `locationName:"policyArn" type:"string" required:"true"` @@ -10172,7 +10236,7 @@ type DeleteResiliencyPolicyOutput struct { // Amazon Resource Name (ARN) of the resiliency policy. The format for this // ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // PolicyArn is a required field PolicyArn *string `locationName:"policyArn" type:"string" required:"true"` @@ -10208,7 +10272,7 @@ type DescribeAppAssessmentInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -10292,7 +10356,7 @@ type DescribeAppInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10375,7 +10439,7 @@ type DescribeAppVersionAppComponentInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10455,7 +10519,7 @@ type DescribeAppVersionAppComponentOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10511,7 +10575,7 @@ type DescribeAppVersionInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10582,7 +10646,7 @@ type DescribeAppVersionOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10635,7 +10699,7 @@ type DescribeAppVersionResourceInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10751,7 +10815,7 @@ type DescribeAppVersionResourceOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10809,7 +10873,7 @@ type DescribeAppVersionResourcesResolutionStatusInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10884,7 +10948,7 @@ type DescribeAppVersionResourcesResolutionStatusOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -10962,7 +11026,7 @@ type DescribeAppVersionTemplateInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -11025,7 +11089,7 @@ type DescribeAppVersionTemplateOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -11149,7 +11213,7 @@ type DescribeDraftAppVersionResourcesImportStatusInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -11198,7 +11262,7 @@ type DescribeDraftAppVersionResourcesImportStatusOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -11216,7 +11280,7 @@ type DescribeDraftAppVersionResourcesImportStatusOutput struct { // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"ResourceImportStatusType"` - // The timestamp for when the status last changed. + // The time when the status last changed. // // StatusChangeTime is a required field StatusChangeTime *time.Time `locationName:"statusChangeTime" type:"timestamp" required:"true"` @@ -11276,7 +11340,7 @@ type DescribeResiliencyPolicyInput struct { // Amazon Resource Name (ARN) of the resiliency policy. The format for this // ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // PolicyArn is a required field PolicyArn *string `locationName:"policyArn" type:"string" required:"true"` @@ -11477,7 +11541,7 @@ type EksSource struct { // Amazon Resource Name (ARN) of the Amazon Elastic Kubernetes Service cluster. // The format for this ARN is: arn:aws:eks:region:account-id:cluster/cluster-name. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // EksClusterArn is a required field EksClusterArn *string `locationName:"eksClusterArn" type:"string" required:"true"` @@ -11543,7 +11607,7 @@ type EksSourceClusterNamespace struct { // Amazon Resource Name (ARN) of the Amazon Elastic Kubernetes Service cluster. // The format for this ARN is: arn:aws:eks:region:account-id:cluster/cluster-name. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // EksClusterArn is a required field EksClusterArn *string `locationName:"eksClusterArn" type:"string" required:"true"` @@ -11623,9 +11687,9 @@ type EventSubscription struct { Name *string `locationName:"name" min:"1" type:"string" required:"true"` // Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. - // The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. + // The format for this ARN is: arn:partition:sns:region:account:topic-name. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. SnsTopicArn *string `locationName:"snsTopicArn" type:"string"` } @@ -11688,12 +11752,12 @@ func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription { type FailurePolicy struct { _ struct{} `type:"structure"` - // The Recovery Point Objective (RPO), in seconds. + // Recovery Point Objective (RPO) in seconds. // // RpoInSecs is a required field RpoInSecs *int64 `locationName:"rpoInSecs" type:"integer" required:"true"` - // The Recovery Time Objective (RTO), in seconds. + // Recovery Time Objective (RTO) in seconds. // // RtoInSecs is a required field RtoInSecs *int64 `locationName:"rtoInSecs" type:"integer" required:"true"` @@ -11751,7 +11815,7 @@ type ImportResourcesToDraftAppVersionInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -11858,7 +11922,7 @@ type ImportResourcesToDraftAppVersionOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -12009,7 +12073,7 @@ type ListAlarmRecommendationsInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -12126,7 +12190,7 @@ type ListAppAssessmentComplianceDriftsInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -12241,7 +12305,7 @@ type ListAppAssessmentsInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. AppArn *string `location:"querystring" locationName:"appArn" type:"string"` // The name for the assessment. @@ -12402,7 +12466,7 @@ type ListAppComponentCompliancesInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -12518,7 +12582,7 @@ type ListAppComponentRecommendationsInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -12634,7 +12698,7 @@ type ListAppInputSourcesInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -12760,7 +12824,7 @@ type ListAppVersionAppComponentsInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -12845,7 +12909,7 @@ type ListAppVersionAppComponentsOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -12910,7 +12974,7 @@ type ListAppVersionResourceMappingsInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -13042,7 +13106,7 @@ type ListAppVersionResourcesInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -13193,7 +13257,7 @@ type ListAppVersionsInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -13325,9 +13389,13 @@ type ListAppsInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. AppArn *string `location:"querystring" locationName:"appArn" type:"string"` + // Indicates the lower limit of the range that is used to filter applications + // based on their last assessment times. + FromLastAssessmentTime *time.Time `location:"querystring" locationName:"fromLastAssessmentTime" type:"timestamp"` + // Maximum number of results to include in the response. If more results exist // than the specified MaxResults value, a token is included in the response // so that the remaining results can be retrieved. @@ -13338,6 +13406,15 @@ type ListAppsInput struct { // Null, or the token from a previous call to get the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The application list is sorted based on the values of lastAppComplianceEvaluationTime + // field. By default, application list is sorted in ascending order. To sort + // the appliation list in descending order, set this field to True. + ReverseOrder *bool `location:"querystring" locationName:"reverseOrder" type:"boolean"` + + // Indicates the upper limit of the range that is used to filter the applications + // based on their last assessment times. + ToLastAssessmentTime *time.Time `location:"querystring" locationName:"toLastAssessmentTime" type:"timestamp"` } // String returns the string representation. @@ -13377,6 +13454,12 @@ func (s *ListAppsInput) SetAppArn(v string) *ListAppsInput { return s } +// SetFromLastAssessmentTime sets the FromLastAssessmentTime field's value. +func (s *ListAppsInput) SetFromLastAssessmentTime(v time.Time) *ListAppsInput { + s.FromLastAssessmentTime = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListAppsInput) SetMaxResults(v int64) *ListAppsInput { s.MaxResults = &v @@ -13395,6 +13478,18 @@ func (s *ListAppsInput) SetNextToken(v string) *ListAppsInput { return s } +// SetReverseOrder sets the ReverseOrder field's value. +func (s *ListAppsInput) SetReverseOrder(v bool) *ListAppsInput { + s.ReverseOrder = &v + return s +} + +// SetToLastAssessmentTime sets the ToLastAssessmentTime field's value. +func (s *ListAppsInput) SetToLastAssessmentTime(v time.Time) *ListAppsInput { + s.ToLastAssessmentTime = &v + return s +} + type ListAppsOutput struct { _ struct{} `type:"structure"` @@ -13443,7 +13538,7 @@ type ListRecommendationTemplatesInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `location:"querystring" locationName:"assessmentArn" type:"string" required:"true"` @@ -13701,7 +13796,7 @@ type ListSopRecommendationsInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -13999,7 +14094,7 @@ type ListTestRecommendationsInput struct { // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -14113,7 +14208,7 @@ type ListUnsupportedAppVersionResourcesInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -14479,7 +14574,7 @@ type PhysicalResource struct { // The name of the resource. ResourceName *string `locationName:"resourceName" type:"string"` - // The type of resource. + // Type of resource. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" min:"1" type:"string" required:"true"` @@ -14706,7 +14801,7 @@ type PublishAppVersionInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -14764,7 +14859,7 @@ type PublishAppVersionOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -14827,7 +14922,7 @@ type PutDraftAppVersionTemplateInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -14956,7 +15051,7 @@ type PutDraftAppVersionTemplateOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. AppArn *string `locationName:"appArn" type:"string"` // The version of the application. @@ -15151,13 +15246,13 @@ type RecommendationTemplate struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. AppArn *string `locationName:"appArn" type:"string"` // Amazon Resource Name (ARN) of the assessment. The format for this ARN is: // arn:partition:resiliencehub:region:account:app-assessment/app-id. For more // information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AssessmentArn is a required field AssessmentArn *string `locationName:"assessmentArn" type:"string" required:"true"` @@ -15342,7 +15437,7 @@ type RemoveDraftAppVersionResourceMappingsInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -15450,7 +15545,7 @@ type RemoveDraftAppVersionResourceMappingsOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. AppArn *string `locationName:"appArn" type:"string"` // The version of the application. @@ -15488,10 +15583,17 @@ func (s *RemoveDraftAppVersionResourceMappingsOutput) SetAppVersion(v string) *R } // Defines a resiliency policy. +// +// Resilience Hub allows you to provide a value of zero for rtoInSecs and rpoInSecs +// of your resiliency policy. But, while assessing your application, the lowest +// possible assessment result is near zero. Hence, if you provide value zero +// for rtoInSecs and rpoInSecs, the estimated workload RTO and estimated workload +// RPO result will be near zero and the Compliance status for your application +// will be set to Policy breached. type ResiliencyPolicy struct { _ struct{} `type:"structure"` - // The timestamp for when the resiliency policy was created. + // Date and time when the resiliency policy was created. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` // Specifies a high-level geographical location constraint for where your resilience @@ -15507,7 +15609,7 @@ type ResiliencyPolicy struct { // Amazon Resource Name (ARN) of the resiliency policy. The format for this // ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. PolicyArn *string `locationName:"policyArn" type:"string"` // The description for the policy. @@ -15653,7 +15755,7 @@ type ResolveAppVersionResourcesInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -15716,7 +15818,7 @@ type ResolveAppVersionResourcesOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -16307,7 +16409,7 @@ type StartAppAssessmentInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -16937,7 +17039,7 @@ type UpdateAppInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -16963,7 +17065,7 @@ type UpdateAppInput struct { // Amazon Resource Name (ARN) of the resiliency policy. The format for this // ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. PolicyArn *string `locationName:"policyArn" type:"string"` } @@ -17098,7 +17200,7 @@ type UpdateAppVersionAppComponentInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -17195,7 +17297,7 @@ type UpdateAppVersionAppComponentOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -17264,7 +17366,7 @@ type UpdateAppVersionInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -17327,7 +17429,7 @@ type UpdateAppVersionOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -17383,7 +17485,7 @@ type UpdateAppVersionResourceInput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -17524,7 +17626,7 @@ type UpdateAppVersionResourceOutput struct { // Amazon Resource Name (ARN) of the Resilience Hub application. The format // for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For // more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` @@ -17766,7 +17868,7 @@ type UpdateResiliencyPolicyInput struct { // Amazon Resource Name (ARN) of the resiliency policy. The format for this // ARN is: arn:partition:resiliencehub:region:account:resiliency-policy/policy-id. // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the AWS General Reference guide. + // in the Amazon Web Services General Reference guide. // // PolicyArn is a required field PolicyArn *string `locationName:"policyArn" type:"string" required:"true"` diff --git a/service/s3outposts/api.go b/service/s3outposts/api.go index d14ef7effa2..8d16fb0d430 100644 --- a/service/s3outposts/api.go +++ b/service/s3outposts/api.go @@ -1619,6 +1619,10 @@ type Outpost struct { // Returns the Amazon Web Services account ID of the outpost owner. Useful for // comparing owned versus shared outposts. OwnerId *string `type:"string"` + + // Specifies the unique S3 on Outposts ARN for use with Resource Access Manager + // (RAM). + S3OutpostArn *string `type:"string"` } // String returns the string representation. @@ -1663,6 +1667,12 @@ func (s *Outpost) SetOwnerId(v string) *Outpost { return s } +// SetS3OutpostArn sets the S3OutpostArn field's value. +func (s *Outpost) SetS3OutpostArn(v string) *Outpost { + s.S3OutpostArn = &v + return s +} + // The service link connection to your Outposts home Region is down. Check your // connection and try again. type OutpostOfflineException struct {