From 78aeb732c9af956372a4bca426bf04a2cc480810 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Wed, 1 Nov 2023 11:37:40 -0700 Subject: [PATCH] Release v1.47.1 (2023-11-01) (#5051) Release v1.47.1 (2023-11-01) === ### Service Client Updates * `service/connect`: Updates service API, documentation, and paginators * `service/globalaccelerator`: Updates service API, documentation, and paginators * `service/rds`: Updates service API, documentation, waiters, paginators, and examples * This release adds support for customized networking resources to Amazon RDS Custom. * `service/redshift`: Updates service API and documentation * Added support for Multi-AZ deployments for Provisioned RA3 clusters that provide 99.99% SLA availability. * `service/sagemaker`: Updates service API and documentation * Support for batch transform input in Model dashboard --- CHANGELOG.md | 13 + aws/version.go | 2 +- models/apis/connect/2017-08-08/api-2.json | 169 +- models/apis/connect/2017-08-08/docs-2.json | 104 +- .../apis/connect/2017-08-08/paginators-1.json | 16 + .../globalaccelerator/2018-08-08/api-2.json | 285 ++- .../globalaccelerator/2018-08-08/docs-2.json | 183 +- .../2018-08-08/endpoint-rule-set-1.json | 40 +- .../2018-08-08/paginators-1.json | 12 + models/apis/rds/2014-10-31/api-2.json | 16 +- models/apis/rds/2014-10-31/docs-2.json | 12 + models/apis/redshift/2012-12-01/api-2.json | 102 +- models/apis/redshift/2012-12-01/docs-2.json | 27 +- models/apis/sagemaker/2017-07-24/api-2.json | 17 +- models/apis/sagemaker/2017-07-24/docs-2.json | 1 + service/connect/api.go | 728 +++++- service/connect/connectiface/interface.go | 4 + service/globalaccelerator/api.go | 2056 +++++++++++++++-- service/globalaccelerator/doc.go | 2 +- service/globalaccelerator/errors.go | 7 + .../globalacceleratoriface/interface.go | 34 + service/rds/api.go | 86 + service/redshift/api.go | 318 +++ service/redshift/redshiftiface/interface.go | 4 + service/sagemaker/api.go | 14 +- 25 files changed, 4017 insertions(+), 235 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 113ceac3b5a..cc9276d049d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +Release v1.47.1 (2023-11-01) +=== + +### Service Client Updates +* `service/connect`: Updates service API, documentation, and paginators +* `service/globalaccelerator`: Updates service API, documentation, and paginators +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * This release adds support for customized networking resources to Amazon RDS Custom. +* `service/redshift`: Updates service API and documentation + * Added support for Multi-AZ deployments for Provisioned RA3 clusters that provide 99.99% SLA availability. +* `service/sagemaker`: Updates service API and documentation + * Support for batch transform input in Model dashboard + Release v1.47.0 (2023-10-31) === diff --git a/aws/version.go b/aws/version.go index 9b97972dfd4..ad2912c085d 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.47.0" +const SDKVersion = "1.47.1" diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index a5506d3d79f..585ee25ef16 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -212,6 +212,23 @@ ], "idempotent":true }, + "BatchGetFlowAssociation":{ + "name":"BatchGetFlowAssociation", + "http":{ + "method":"POST", + "requestUri":"/flow-associations-batch/{InstanceId}" + }, + "input":{"shape":"BatchGetFlowAssociationRequest"}, + "output":{"shape":"BatchGetFlowAssociationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"} + ] + }, "ClaimPhoneNumber":{ "name":"ClaimPhoneNumber", "http":{ @@ -3557,7 +3574,9 @@ "Type":{"shape":"AgentStatusType"}, "DisplayOrder":{"shape":"AgentStatusOrderNumber"}, "State":{"shape":"AgentStatusState"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "AgentStatusDescription":{ @@ -3597,7 +3616,9 @@ "Id":{"shape":"AgentStatusId"}, "Arn":{"shape":"ARN"}, "Name":{"shape":"AgentStatusName"}, - "Type":{"shape":"AgentStatusType"} + "Type":{"shape":"AgentStatusType"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "AgentStatusSummaryList":{ @@ -3941,6 +3962,28 @@ "min":8, "pattern":"[a-z]{2}(-[a-z]+){1,2}(-[0-9])?" }, + "BatchGetFlowAssociationRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "ResourceIds" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "ResourceIds":{"shape":"resourceArnListMaxLimit100"}, + "ResourceType":{"shape":"ListFlowAssociationResourceType"} + } + }, + "BatchGetFlowAssociationResponse":{ + "type":"structure", + "members":{ + "FlowAssociationSummaryList":{"shape":"FlowAssociationSummaryList"} + } + }, "BehaviorType":{ "type":"string", "enum":[ @@ -7000,6 +7043,18 @@ "max":5, "min":1 }, + "FlowAssociationSummary":{ + "type":"structure", + "members":{ + "ResourceId":{"shape":"ARN"}, + "FlowId":{"shape":"ARN"}, + "ResourceType":{"shape":"ListFlowAssociationResourceType"} + } + }, + "FlowAssociationSummaryList":{ + "type":"list", + "member":{"shape":"FlowAssociationSummary"} + }, "FunctionArn":{ "type":"string", "max":140, @@ -7202,7 +7257,9 @@ "GetPromptFileResponse":{ "type":"structure", "members":{ - "PromptPresignedUrl":{"shape":"PromptPresignedUrl"} + "PromptPresignedUrl":{"shape":"PromptPresignedUrl"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "GetTaskTemplateRequest":{ @@ -7300,7 +7357,9 @@ "Name":{"shape":"HierarchyGroupName"}, "LevelId":{"shape":"HierarchyLevelId"}, "HierarchyPath":{"shape":"HierarchyPath"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "HierarchyGroupCondition":{ @@ -7324,7 +7383,9 @@ "members":{ "Id":{"shape":"HierarchyGroupId"}, "Arn":{"shape":"ARN"}, - "Name":{"shape":"HierarchyGroupName"} + "Name":{"shape":"HierarchyGroupName"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "HierarchyGroupSummaryList":{ @@ -7343,7 +7404,9 @@ "members":{ "Id":{"shape":"HierarchyLevelId"}, "Arn":{"shape":"ARN"}, - "Name":{"shape":"HierarchyLevelName"} + "Name":{"shape":"HierarchyLevelName"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "HierarchyLevelId":{"type":"string"}, @@ -7485,7 +7548,9 @@ "Description":{"shape":"HoursOfOperationDescription"}, "TimeZone":{"shape":"TimeZone"}, "Config":{"shape":"HoursOfOperationConfigList"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "HoursOfOperationConfig":{ @@ -7553,7 +7618,9 @@ "members":{ "Id":{"shape":"HoursOfOperationId"}, "Arn":{"shape":"ARN"}, - "Name":{"shape":"HoursOfOperationName"} + "Name":{"shape":"HoursOfOperationName"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "HoursOfOperationSummaryList":{ @@ -8223,6 +8290,13 @@ "NextToken":{"shape":"NextToken"} } }, + "ListFlowAssociationResourceType":{ + "type":"string", + "enum":[ + "SMS_PHONE_NUMBER", + "VOICE_PHONE_NUMBER" + ] + }, "ListHoursOfOperationsRequest":{ "type":"structure", "required":["InstanceId"], @@ -8571,7 +8645,9 @@ "type":"structure", "members":{ "NextToken":{"shape":"NextToken"}, - "QuickConnectSummaryList":{"shape":"QuickConnectSummaryList"} + "QuickConnectSummaryList":{"shape":"QuickConnectSummaryList"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "ListQueuesRequest":{ @@ -8675,7 +8751,9 @@ "type":"structure", "members":{ "NextToken":{"shape":"NextToken"}, - "RoutingProfileQueueConfigSummaryList":{"shape":"RoutingProfileQueueConfigSummaryList"} + "RoutingProfileQueueConfigSummaryList":{"shape":"RoutingProfileQueueConfigSummaryList"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "ListRoutingProfilesRequest":{ @@ -8809,7 +8887,9 @@ "type":"structure", "members":{ "Applications":{"shape":"Applications"}, - "NextToken":{"shape":"NextToken"} + "NextToken":{"shape":"NextToken"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "ListSecurityProfilePermissionsRequest":{ @@ -8846,7 +8926,9 @@ "type":"structure", "members":{ "Permissions":{"shape":"PermissionsList"}, - "NextToken":{"shape":"NextToken"} + "NextToken":{"shape":"NextToken"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "ListSecurityProfilesRequest":{ @@ -9894,7 +9976,9 @@ "PromptId":{"shape":"PromptId"}, "Name":{"shape":"CommonNameLength127"}, "Description":{"shape":"PromptDescription"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "PromptDescription":{ @@ -9944,7 +10028,9 @@ "members":{ "Id":{"shape":"PromptId"}, "Arn":{"shape":"ARN"}, - "Name":{"shape":"PromptName"} + "Name":{"shape":"PromptName"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "PromptSummaryList":{ @@ -10029,7 +10115,9 @@ "box":true }, "Status":{"shape":"QueueStatus"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "QueueDescription":{ @@ -10108,7 +10196,9 @@ "Id":{"shape":"QueueId"}, "Arn":{"shape":"ARN"}, "Name":{"shape":"QueueName"}, - "QueueType":{"shape":"QueueType"} + "QueueType":{"shape":"QueueType"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "QueueSummaryList":{ @@ -10141,7 +10231,9 @@ "Name":{"shape":"QuickConnectName"}, "Description":{"shape":"QuickConnectDescription"}, "QuickConnectConfig":{"shape":"QuickConnectConfig"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "QuickConnectConfig":{ @@ -10193,7 +10285,9 @@ "Id":{"shape":"QuickConnectId"}, "Arn":{"shape":"ARN"}, "Name":{"shape":"QuickConnectName"}, - "QuickConnectType":{"shape":"QuickConnectType"} + "QuickConnectType":{"shape":"QuickConnectType"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "QuickConnectSummaryList":{ @@ -10294,6 +10388,10 @@ "max":4096, "min":0 }, + "RegionName":{ + "type":"string", + "pattern":"[a-z]{2}(-[a-z]+){1,2}(-[0-9])?" + }, "RehydrationType":{ "type":"string", "enum":[ @@ -10453,7 +10551,10 @@ "Tags":{"shape":"TagMap"}, "NumberOfAssociatedQueues":{"shape":"Long"}, "NumberOfAssociatedUsers":{"shape":"Long"}, - "AgentAvailabilityTimer":{"shape":"AgentAvailabilityTimer"} + "AgentAvailabilityTimer":{"shape":"AgentAvailabilityTimer"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"}, + "IsDefault":{"shape":"Boolean"} } }, "RoutingProfileDescription":{ @@ -10564,7 +10665,9 @@ "members":{ "Id":{"shape":"RoutingProfileId"}, "Arn":{"shape":"ARN"}, - "Name":{"shape":"RoutingProfileName"} + "Name":{"shape":"RoutingProfileName"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "RoutingProfileSummaryList":{ @@ -10688,9 +10791,9 @@ }, "S3Uri":{ "type":"string", - "max":512, + "max":2000, "min":1, - "pattern":"s3://\\S+/.+" + "pattern":"s3://\\S+/.+|https://\\\\S+\\\\.s3\\\\.\\\\S+\\\\.amazonaws\\\\.com/\\\\S+" }, "SearchAvailablePhoneNumbersRequest":{ "type":"structure", @@ -10941,7 +11044,9 @@ "Description":{"shape":"SecurityProfileDescription"}, "Tags":{"shape":"TagMap"}, "AllowedAccessControlTags":{"shape":"AllowedAccessControlTags"}, - "TagRestrictedResources":{"shape":"TagRestrictedResourceList"} + "TagRestrictedResources":{"shape":"TagRestrictedResourceList"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "SecurityProfileDescription":{ @@ -10998,7 +11103,9 @@ "members":{ "Id":{"shape":"SecurityProfileId"}, "Arn":{"shape":"ARN"}, - "Name":{"shape":"SecurityProfileName"} + "Name":{"shape":"SecurityProfileName"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "SecurityProfileSummaryList":{ @@ -12968,7 +13075,9 @@ "SecurityProfileIds":{"shape":"SecurityProfileIds"}, "RoutingProfileId":{"shape":"RoutingProfileId"}, "HierarchyGroupId":{"shape":"HierarchyGroupId"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "UserData":{ @@ -13106,7 +13215,9 @@ "members":{ "Id":{"shape":"UserId"}, "Arn":{"shape":"ARN"}, - "Username":{"shape":"AgentUsername"} + "Username":{"shape":"AgentUsername"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedRegion":{"shape":"RegionName"} } }, "UserSummaryList":{ @@ -13387,6 +13498,12 @@ "SessionArn":{"shape":"ARN"} } }, + "resourceArnListMaxLimit100":{ + "type":"list", + "member":{"shape":"ARN"}, + "max":100, + "min":1 + }, "timestamp":{"type":"timestamp"} } } diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json index 15a788bd250..8d200df55c2 100644 --- a/models/apis/connect/2017-08-08/docs-2.json +++ b/models/apis/connect/2017-08-08/docs-2.json @@ -14,6 +14,7 @@ "AssociateRoutingProfileQueues": "

Associates a set of queues with a routing profile.

", "AssociateSecurityKey": "

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

Associates a security key to the instance.

", "AssociateTrafficDistributionGroupUser": "

Associates an agent with a traffic distribution group.

", + "BatchGetFlowAssociation": "

Retrieve the flow associations for the given resources.

", "ClaimPhoneNumber": "

Claims an available phone number to your Amazon Connect instance or traffic distribution group. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group was created.

For more information about how to use this operation, see Claim a phone number in your country and Claim phone numbers to traffic distribution groups in the Amazon Connect Administrator Guide.

You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber operation.

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.

", "CreateAgentStatus": "

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

Creates an agent status for the specified Amazon Connect instance.

", "CreateContactFlow": "

Creates a flow for the specified Amazon Connect instance.

You can also create and update flows using the Amazon Connect Flow language.

", @@ -144,7 +145,7 @@ "MonitorContact": "

Initiates silent monitoring of a contact. The Contact Control Panel (CCP) of the user specified by userId will be set to silent monitoring mode on the contact.

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

", + "ReplicateInstance": "

Replicates an Amazon Connect instance in the specified Amazon Web Services Region and copies configuration information for Amazon Connect resources across Amazon Web Services Regions.

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

", @@ -266,6 +267,8 @@ "EvaluationMetadata$EvaluatorArn": "

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

", "EvaluationSummary$EvaluationArn": "

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

", "EvaluationSummary$EvaluatorArn": "

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

", + "FlowAssociationSummary$ResourceId": "

The identifier of the resource.

", + "FlowAssociationSummary$FlowId": "

The identifier of the flow.

", "GetFederationTokenResponse$UserArn": "

The Amazon Resource Name (ARN) of the user.

", "GetMetricDataV2Request$ResourceArn": "

The Amazon Resource Name (ARN) of the resource. This includes the instanceId an Amazon Connect instance.

", "HierarchyGroup$Arn": "

The Amazon Resource Name (ARN) of the hierarchy group.

", @@ -328,7 +331,8 @@ "ViewVersionSummary$Arn": "

The Amazon Resource Name (ARN) of the view version.

", "Vocabulary$Arn": "

The Amazon Resource Name (ARN) of the custom vocabulary.

", "VocabularySummary$Arn": "

The Amazon Resource Name (ARN) of the custom vocabulary.

", - "WisdomInfo$SessionArn": "

The Amazon Resource Name (ARN) of the Wisdom session.

" + "WisdomInfo$SessionArn": "

The Amazon Resource Name (ARN) of the Wisdom session.

", + "resourceArnListMaxLimit100$member": null } }, "AccessDeniedException": { @@ -746,6 +750,16 @@ "SignInDistribution$Region": "

The Amazon Web Services Region of the sign in distribution.

" } }, + "BatchGetFlowAssociationRequest": { + "base": null, + "refs": { + } + }, + "BatchGetFlowAssociationResponse": { + "base": null, + "refs": { + } + }, "BehaviorType": { "base": null, "refs": { @@ -764,8 +778,9 @@ "EvaluationScore$NotApplicable": "

The flag to mark the item as not applicable for scoring.

", "EvaluationScore$AutomaticFail": "

The flag that marks the item as automatic fail. If the item or a child item gets an automatic fail answer, this flag will be true.

", "MetricFilterV2$Negate": "

The flag to use to filter on requested metric filter values or to not filter on requested metric filter values. By default the negate is false, which indicates to filter on the requested metric filter.

", + "RoutingProfile$IsDefault": "

Whether this a default routing profile.

", "SignInDistribution$Enabled": "

Whether sign in distribution is enabled.

", - "TrafficDistributionGroup$IsDefault": "

Whether this is the default traffic distribution group created during instance replication. The default traffic distribution group cannot be deleted by the DeleteTrafficDistributionGroup API. The default traffic distribution group is deleted as part of the process for deleting a replica.

The SignInConfig distribution is available only on the default TrafficDistributionGroup. If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

", + "TrafficDistributionGroup$IsDefault": "

Whether this is the default traffic distribution group created during instance replication. The default traffic distribution group cannot be deleted by the DeleteTrafficDistributionGroup API. The default traffic distribution group is deleted as part of the process for deleting a replica.

The SignInConfig distribution is available only on a default TrafficDistributionGroup (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

", "TrafficDistributionGroupSummary$IsDefault": "

Whether this is the default traffic distribution group created during instance replication. The default traffic distribution group cannot be deleted by the DeleteTrafficDistributionGroup API. The default traffic distribution group is deleted as part of the process for deleting a replica.

", "UpdateAgentStatusRequest$ResetOrderNumber": "

A number indicating the reset order of the agent status.

" } @@ -2497,6 +2512,18 @@ "GetMetricDataV2Request$Filters": "

The filters to apply to returned metrics. You can filter on the following resources:

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator's Guide.

Note the following limits:

" } }, + "FlowAssociationSummary": { + "base": "

Information about flow associations.

", + "refs": { + "FlowAssociationSummaryList$member": null + } + }, + "FlowAssociationSummaryList": { + "base": null, + "refs": { + "BatchGetFlowAssociationResponse$FlowAssociationSummaryList": "

Information about flow associations.

" + } + }, "FunctionArn": { "base": null, "refs": { @@ -2972,6 +2999,7 @@ "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.

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

", @@ -3502,6 +3530,13 @@ "refs": { } }, + "ListFlowAssociationResourceType": { + "base": null, + "refs": { + "BatchGetFlowAssociationRequest$ResourceType": "

The type of resource association.

", + "FlowAssociationSummary$ResourceType": "

The type of resource association.

" + } + }, "ListHoursOfOperationsRequest": { "base": null, "refs": { @@ -4951,6 +4986,35 @@ "UrlReference$Value": "

A valid URL.

" } }, + "RegionName": { + "base": null, + "refs": { + "AgentStatus$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "AgentStatusSummary$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "GetPromptFileResponse$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "HierarchyGroup$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "HierarchyGroupSummary$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "HierarchyLevel$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "HoursOfOperation$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "HoursOfOperationSummary$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "ListQueueQuickConnectsResponse$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "ListRoutingProfileQueuesResponse$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "ListSecurityProfileApplicationsResponse$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "ListSecurityProfilePermissionsResponse$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "Prompt$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "PromptSummary$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "Queue$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "QueueSummary$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "QuickConnect$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "QuickConnectSummary$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "RoutingProfile$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "RoutingProfileSummary$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "SecurityProfile$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "SecurityProfileSummary$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "User$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

", + "UserSummary$LastModifiedRegion": "

The Amazon Web Services Region where this resource was last modified.

" + } + }, "RehydrationType": { "base": null, "refs": { @@ -5300,8 +5364,8 @@ "S3Uri": { "base": null, "refs": { - "CreatePromptRequest$S3Uri": "

The URI for the S3 bucket where the prompt is stored.

", - "UpdatePromptRequest$S3Uri": "

The URI for the S3 bucket where the prompt is stored.

" + "CreatePromptRequest$S3Uri": "

The URI for the S3 bucket where the prompt is stored. You can provide S3 pre-signed URLs returned by the GetPromptFile API instead of providing S3 URIs.

", + "UpdatePromptRequest$S3Uri": "

The URI for the S3 bucket where the prompt is stored. You can provide S3 pre-signed URLs returned by the GetPromptFile API instead of providing S3 URIs.

" } }, "SearchAvailablePhoneNumbersRequest": { @@ -6169,7 +6233,9 @@ "refs": { "AgentContactReference$StateStartTimestamp": "

The epoch timestamp when the contact state started.

", "AgentContactReference$ConnectedToAgentTimestamp": "

The time at which the contact was connected to an agent.

", + "AgentStatus$LastModifiedTime": "

The timestamp when this resource was last modified.

", "AgentStatusReference$StatusStartTimestamp": "

The start timestamp of the agent's status.

", + "AgentStatusSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", "Evaluation$CreatedTime": "

The timestamp for when the evaluation was created.

", "Evaluation$LastModifiedTime": "

The timestamp for when the evaluation was last updated.

", "EvaluationForm$CreatedTime": "

The timestamp for when the evaluation form was created.

", @@ -6183,16 +6249,38 @@ "EvaluationSummary$LastModifiedTime": "

The timestamp for when the evaluation was last updated.

", "GetMetricDataV2Request$StartTime": "

The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be before the end time timestamp. The start and end time depends on the IntervalPeriod selected. By default the time range between start and end time is 35 days. Historical metrics are available for 3 months.

", "GetMetricDataV2Request$EndTime": "

The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be later than the start time timestamp. It cannot be later than the current timestamp.

", + "GetPromptFileResponse$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "HierarchyGroup$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "HierarchyGroupSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "HierarchyLevel$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "HoursOfOperation$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "HoursOfOperationSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", "Instance$CreatedTime": "

When the instance was created.

", "InstanceSummary$CreatedTime": "

When the instance was created.

", + "ListQueueQuickConnectsResponse$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "ListRoutingProfileQueuesResponse$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "ListSecurityProfileApplicationsResponse$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "ListSecurityProfilePermissionsResponse$LastModifiedTime": "

The timestamp when this resource was last modified.

", "MetricInterval$StartTime": "

The timestamp, in UNIX Epoch time format. Start time is based on the interval period selected.

", "MetricInterval$EndTime": "

The timestamp, in UNIX Epoch time format. End time is based on the interval period selected. For example, If IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime in the API request differs by 1 day, then 48 results are returned in the response. Each result is aggregated by the 30 minutes period, with each StartTime and EndTime differing by 30 minutes.

", + "Prompt$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "PromptSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "Queue$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "QueueSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "QuickConnect$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "QuickConnectSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "RoutingProfile$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "RoutingProfileSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", "Rule$CreatedTime": "

The timestamp for when the rule was created.

", "Rule$LastUpdatedTime": "

The timestamp for the when the rule was last updated.

", "RuleSummary$CreatedTime": "

The timestamp for when the rule was created.

", "RuleSummary$LastUpdatedTime": "

The timestamp for when the rule was last updated.

", + "SecurityProfile$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "SecurityProfileSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", "StartTaskContactRequest$ScheduledTime": "

The timestamp, in Unix Epoch seconds format, at which to start running the inbound flow. The scheduled time cannot be in the past. It must be within up to 6 days in future.

", "UpdateContactScheduleRequest$ScheduledTime": "

The timestamp, in Unix Epoch seconds format, at which to start running the inbound flow. The scheduled time cannot be in the past. It must be within up to 6 days in future.

", + "User$LastModifiedTime": "

The timestamp when this resource was last modified.

", + "UserSummary$LastModifiedTime": "

The timestamp when this resource was last modified.

", "View$CreatedTime": "

The timestamp of when the view was created.

", "View$LastModifiedTime": "

Latest timestamp of the UpdateViewContent or CreateViewVersion operations.

" } @@ -7129,6 +7217,12 @@ "Contact$WisdomInfo": "

Information about Amazon Connect Wisdom.

" } }, + "resourceArnListMaxLimit100": { + "base": null, + "refs": { + "BatchGetFlowAssociationRequest$ResourceIds": "

A list of resource identifiers to retrieve flow associations.

" + } + }, "timestamp": { "base": null, "refs": { diff --git a/models/apis/connect/2017-08-08/paginators-1.json b/models/apis/connect/2017-08-08/paginators-1.json index 445ee0c8379..5123035101e 100644 --- a/models/apis/connect/2017-08-08/paginators-1.json +++ b/models/apis/connect/2017-08-08/paginators-1.json @@ -141,6 +141,10 @@ "ListQueueQuickConnects": { "input_token": "NextToken", "limit_key": "MaxResults", + "non_aggregate_keys": [ + "LastModifiedRegion", + "LastModifiedTime" + ], "output_token": "NextToken", "result_key": "QuickConnectSummaryList" }, @@ -159,6 +163,10 @@ "ListRoutingProfileQueues": { "input_token": "NextToken", "limit_key": "MaxResults", + "non_aggregate_keys": [ + "LastModifiedRegion", + "LastModifiedTime" + ], "output_token": "NextToken", "result_key": "RoutingProfileQueueConfigSummaryList" }, @@ -183,12 +191,20 @@ "ListSecurityProfileApplications": { "input_token": "NextToken", "limit_key": "MaxResults", + "non_aggregate_keys": [ + "LastModifiedRegion", + "LastModifiedTime" + ], "output_token": "NextToken", "result_key": "Applications" }, "ListSecurityProfilePermissions": { "input_token": "NextToken", "limit_key": "MaxResults", + "non_aggregate_keys": [ + "LastModifiedRegion", + "LastModifiedTime" + ], "output_token": "NextToken", "result_key": "Permissions" }, diff --git a/models/apis/globalaccelerator/2018-08-08/api-2.json b/models/apis/globalaccelerator/2018-08-08/api-2.json index 291373a6e18..08142a2a4a7 100644 --- a/models/apis/globalaccelerator/2018-08-08/api-2.json +++ b/models/apis/globalaccelerator/2018-08-08/api-2.json @@ -91,6 +91,22 @@ {"shape":"LimitExceededException"} ] }, + "CreateCrossAccountAttachment":{ + "name":"CreateCrossAccountAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCrossAccountAttachmentRequest"}, + "output":{"shape":"CreateCrossAccountAttachmentResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TransactionInProgressException"} + ] + }, "CreateCustomRoutingAccelerator":{ "name":"CreateCustomRoutingAccelerator", "http":{ @@ -190,6 +206,21 @@ {"shape":"InvalidArgumentException"} ] }, + "DeleteCrossAccountAttachment":{ + "name":"DeleteCrossAccountAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCrossAccountAttachmentRequest"}, + "errors":[ + {"shape":"AttachmentNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"TransactionInProgressException"} + ] + }, "DeleteCustomRoutingAccelerator":{ "name":"DeleteCustomRoutingAccelerator", "http":{ @@ -316,6 +347,21 @@ {"shape":"InvalidArgumentException"} ] }, + "DescribeCrossAccountAttachment":{ + "name":"DescribeCrossAccountAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCrossAccountAttachmentRequest"}, + "output":{"shape":"DescribeCrossAccountAttachmentResponse"}, + "errors":[ + {"shape":"AttachmentNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ] + }, "DescribeCustomRoutingAccelerator":{ "name":"DescribeCustomRoutingAccelerator", "http":{ @@ -429,6 +475,50 @@ {"shape":"InvalidNextTokenException"} ] }, + "ListCrossAccountAttachments":{ + "name":"ListCrossAccountAttachments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCrossAccountAttachmentsRequest"}, + "output":{"shape":"ListCrossAccountAttachmentsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "ListCrossAccountResourceAccounts":{ + "name":"ListCrossAccountResourceAccounts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCrossAccountResourceAccountsRequest"}, + "output":{"shape":"ListCrossAccountResourceAccountsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"} + ] + }, + "ListCrossAccountResources":{ + "name":"ListCrossAccountResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCrossAccountResourcesRequest"}, + "output":{"shape":"ListCrossAccountResourcesResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AcceleratorNotFoundException"} + ] + }, "ListCustomRoutingAccelerators":{ "name":"ListCustomRoutingAccelerators", "http":{ @@ -653,6 +743,23 @@ {"shape":"AccessDeniedException"} ] }, + "UpdateCrossAccountAttachment":{ + "name":"UpdateCrossAccountAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCrossAccountAttachmentRequest"}, + "output":{"shape":"UpdateCrossAccountAttachmentResponse"}, + "errors":[ + {"shape":"AttachmentNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"TransactionInProgressException"} + ] + }, "UpdateCustomRoutingAccelerator":{ "name":"UpdateCustomRoutingAccelerator", "http":{ @@ -892,6 +999,43 @@ }, "exception":true }, + "Attachment":{ + "type":"structure", + "members":{ + "AttachmentArn":{"shape":"GenericString"}, + "Name":{"shape":"AttachmentName"}, + "Principals":{"shape":"Principals"}, + "Resources":{"shape":"Resources"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "CreatedTime":{"shape":"Timestamp"} + } + }, + "AttachmentName":{ + "type":"string", + "max":64, + "pattern":"[\\S\\s]+" + }, + "AttachmentNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "Attachments":{ + "type":"list", + "member":{"shape":"Attachment"} + }, + "AwsAccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^\\d{12}$" + }, + "AwsAccountIds":{ + "type":"list", + "member":{"shape":"AwsAccountId"} + }, "ByoipCidr":{ "type":"structure", "members":{ @@ -987,6 +1131,29 @@ "Accelerator":{"shape":"Accelerator"} } }, + "CreateCrossAccountAttachmentRequest":{ + "type":"structure", + "required":[ + "Name", + "IdempotencyToken" + ], + "members":{ + "Name":{"shape":"AttachmentName"}, + "Principals":{"shape":"Principals"}, + "Resources":{"shape":"Resources"}, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "Tags":{"shape":"Tags"} + } + }, + "CreateCrossAccountAttachmentResponse":{ + "type":"structure", + "members":{ + "CrossAccountAttachment":{"shape":"Attachment"} + } + }, "CreateCustomRoutingAcceleratorRequest":{ "type":"structure", "required":[ @@ -1112,6 +1279,17 @@ "Listener":{"shape":"Listener"} } }, + "CrossAccountResource":{ + "type":"structure", + "members":{ + "EndpointId":{"shape":"GenericString"}, + "AttachmentArn":{"shape":"GenericString"} + } + }, + "CrossAccountResources":{ + "type":"list", + "member":{"shape":"CrossAccountResource"} + }, "CustomRoutingAccelerator":{ "type":"structure", "members":{ @@ -1186,7 +1364,8 @@ "CustomRoutingEndpointConfiguration":{ "type":"structure", "members":{ - "EndpointId":{"shape":"GenericString"} + "EndpointId":{"shape":"GenericString"}, + "AttachmentArn":{"shape":"GenericString"} } }, "CustomRoutingEndpointConfigurations":{ @@ -1249,6 +1428,13 @@ "AcceleratorArn":{"shape":"GenericString"} } }, + "DeleteCrossAccountAttachmentRequest":{ + "type":"structure", + "required":["AttachmentArn"], + "members":{ + "AttachmentArn":{"shape":"GenericString"} + } + }, "DeleteCustomRoutingAcceleratorRequest":{ "type":"structure", "required":["AcceleratorArn"], @@ -1337,6 +1523,19 @@ "Accelerator":{"shape":"Accelerator"} } }, + "DescribeCrossAccountAttachmentRequest":{ + "type":"structure", + "required":["AttachmentArn"], + "members":{ + "AttachmentArn":{"shape":"GenericString"} + } + }, + "DescribeCrossAccountAttachmentResponse":{ + "type":"structure", + "members":{ + "CrossAccountAttachment":{"shape":"Attachment"} + } + }, "DescribeCustomRoutingAcceleratorAttributesRequest":{ "type":"structure", "required":["AcceleratorArn"], @@ -1454,7 +1653,8 @@ "members":{ "EndpointId":{"shape":"GenericString"}, "Weight":{"shape":"EndpointWeight"}, - "ClientIPPreservationEnabled":{"shape":"GenericBoolean"} + "ClientIPPreservationEnabled":{"shape":"GenericBoolean"}, + "AttachmentArn":{"shape":"GenericString"} } }, "EndpointConfigurations":{ @@ -1691,6 +1891,48 @@ "NextToken":{"shape":"GenericString"} } }, + "ListCrossAccountAttachmentsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCrossAccountAttachmentsResponse":{ + "type":"structure", + "members":{ + "CrossAccountAttachments":{"shape":"Attachments"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCrossAccountResourceAccountsRequest":{ + "type":"structure", + "members":{ + } + }, + "ListCrossAccountResourceAccountsResponse":{ + "type":"structure", + "members":{ + "ResourceOwnerAwsAccountIds":{"shape":"AwsAccountIds"} + } + }, + "ListCrossAccountResourcesRequest":{ + "type":"structure", + "required":["ResourceOwnerAwsAccountId"], + "members":{ + "AcceleratorArn":{"shape":"GenericString"}, + "ResourceOwnerAwsAccountId":{"shape":"AwsAccountId"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "ListCrossAccountResourcesResponse":{ + "type":"structure", + "members":{ + "CrossAccountResources":{"shape":"CrossAccountResources"}, + "NextToken":{"shape":"GenericString"} + } + }, "ListCustomRoutingAcceleratorsRequest":{ "type":"structure", "members":{ @@ -1895,6 +2137,15 @@ "max":10, "min":1 }, + "Principal":{ + "type":"string", + "max":256, + "pattern":"(^\\d{12}$|arn:.*)" + }, + "Principals":{ + "type":"list", + "member":{"shape":"Principal"} + }, "Protocol":{ "type":"string", "enum":[ @@ -1945,11 +2196,23 @@ "EndpointGroupArn":{"shape":"GenericString"} } }, + "Resource":{ + "type":"structure", + "required":["EndpointId"], + "members":{ + "EndpointId":{"shape":"GenericString"}, + "Region":{"shape":"GenericString"} + } + }, "ResourceArn":{ "type":"string", "max":1011, "min":1 }, + "Resources":{ + "type":"list", + "member":{"shape":"Resource"} + }, "SocketAddress":{ "type":"structure", "members":{ @@ -2074,6 +2337,24 @@ "Accelerator":{"shape":"Accelerator"} } }, + "UpdateCrossAccountAttachmentRequest":{ + "type":"structure", + "required":["AttachmentArn"], + "members":{ + "AttachmentArn":{"shape":"GenericString"}, + "Name":{"shape":"AttachmentName"}, + "AddPrincipals":{"shape":"Principals"}, + "RemovePrincipals":{"shape":"Principals"}, + "AddResources":{"shape":"Resources"}, + "RemoveResources":{"shape":"Resources"} + } + }, + "UpdateCrossAccountAttachmentResponse":{ + "type":"structure", + "members":{ + "CrossAccountAttachment":{"shape":"Attachment"} + } + }, "UpdateCustomRoutingAcceleratorAttributesRequest":{ "type":"structure", "required":["AcceleratorArn"], diff --git a/models/apis/globalaccelerator/2018-08-08/docs-2.json b/models/apis/globalaccelerator/2018-08-08/docs-2.json index 4e6088788bb..6befec98862 100644 --- a/models/apis/globalaccelerator/2018-08-08/docs-2.json +++ b/models/apis/globalaccelerator/2018-08-08/docs-2.json @@ -1,18 +1,20 @@ { "version": "2.0", - "service": "Global Accelerator

This is the Global Accelerator API Reference. This guide is for developers who need detailed information about Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the Global Accelerator Developer Guide.

Global Accelerator is a service in which you create accelerators to improve the performance of your applications for local and global users. Depending on the type of accelerator you choose, you can gain additional benefits.

Global Accelerator is a global service that supports endpoints in multiple Amazon Web Services Regions but you must specify the US West (Oregon) Region to create, update, or otherwise work with accelerators. That is, for example, specify --region us-west-2 on Amazon Web Services CLI commands.

By default, Global Accelerator provides you with static IP addresses that you associate with your accelerator. The static IP addresses are anycast from the Amazon Web Services edge network. For IPv4, Global Accelerator provides two static IPv4 addresses. For dual-stack, Global Accelerator provides a total of four addresses: two static IPv4 addresses and two static IPv6 addresses. With a standard accelerator for IPv4, instead of using the addresses that Global Accelerator provides, you can configure these entry points to be IPv4 addresses from your own IP address ranges that you bring toGlobal Accelerator (BYOIP).

For a standard accelerator, they distribute incoming application traffic across multiple endpoint resources in multiple Amazon Web Services Regions , which increases the availability of your applications. Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses that are located in one Amazon Web Services Region or multiple Amazon Web Services Regions. For custom routing accelerators, you map traffic that arrives to the static IP addresses to specific Amazon EC2 servers in endpoints that are virtual private cloud (VPC) subnets.

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies like tag-based permissions with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Tag-based policies.

For standard accelerators, Global Accelerator uses the Amazon Web Services global network to route traffic to the optimal regional endpoint based on health, client location, and policies that you configure. The service reacts instantly to changes in health or configuration to ensure that internet traffic from clients is always directed to healthy endpoints.

For more information about understanding and using Global Accelerator, see the Global Accelerator Developer Guide.

", + "service": "Global Accelerator

This is the Global Accelerator API Reference. This guide is for developers who need detailed information about Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the Global Accelerator Developer Guide.

Global Accelerator is a service in which you create accelerators to improve the performance of your applications for local and global users. Depending on the type of accelerator you choose, you can gain additional benefits.

Global Accelerator is a global service that supports endpoints in multiple Amazon Web Services Regions but you must specify the US West (Oregon) Region to create, update, or otherwise work with accelerators. That is, for example, specify --region us-west-2 on Amazon Web Services CLI commands.

By default, Global Accelerator provides you with static IP addresses that you associate with your accelerator. The static IP addresses are anycast from the Amazon Web Services edge network. For IPv4, Global Accelerator provides two static IPv4 addresses. For dual-stack, Global Accelerator provides a total of four addresses: two static IPv4 addresses and two static IPv6 addresses. With a standard accelerator for IPv4, instead of using the addresses that Global Accelerator provides, you can configure these entry points to be IPv4 addresses from your own IP address ranges that you bring to Global Accelerator (BYOIP).

For a standard accelerator, they distribute incoming application traffic across multiple endpoint resources in multiple Amazon Web Services Regions , which increases the availability of your applications. Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses that are located in one Amazon Web Services Region or multiple Amazon Web Services Regions. For custom routing accelerators, you map traffic that arrives to the static IP addresses to specific Amazon EC2 servers in endpoints that are virtual private cloud (VPC) subnets.

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies like tag-based permissions with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Tag-based policies.

For standard accelerators, Global Accelerator uses the Amazon Web Services global network to route traffic to the optimal regional endpoint based on health, client location, and policies that you configure. The service reacts instantly to changes in health or configuration to ensure that internet traffic from clients is always directed to healthy endpoints.

For more information about understanding and using Global Accelerator, see the Global Accelerator Developer Guide.

", "operations": { "AddCustomRoutingEndpoints": "

Associate a virtual private cloud (VPC) subnet endpoint with your custom routing accelerator.

The listener port range must be large enough to support the number of IP addresses that can be specified in your subnet. The number of ports required is: subnet size times the number of ports per destination EC2 instances. For example, a subnet defined as /24 requires a listener port range of at least 255 ports.

Note: You must have enough remaining listener ports available to map to the subnet ports, or the call will fail with a LimitExceededException.

By default, all destinations in a subnet in a custom routing accelerator cannot receive traffic. To enable all destinations to receive traffic, or to specify individual port mappings that can receive traffic, see the AllowCustomRoutingTraffic operation.

", "AddEndpoints": "

Add endpoints to an endpoint group. The AddEndpoints API operation is the recommended option for adding endpoints. The alternative options are to add endpoints when you create an endpoint group (with the CreateEndpointGroup API) or when you update an endpoint group (with the UpdateEndpointGroup API).

There are two advantages to using AddEndpoints to add endpoints in Global Accelerator:

For information about endpoint types and requirements for endpoints that you can add to Global Accelerator, see Endpoints for standard accelerators in the Global Accelerator Developer Guide.

", "AdvertiseByoipCidr": "

Advertises an IPv4 address range that is provisioned for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP). It can take a few minutes before traffic to the specified addresses starts routing to Amazon Web Services because of propagation delays.

To stop advertising the BYOIP address range, use WithdrawByoipCidr.

For more information, see Bring your own IP addresses (BYOIP) in the Global Accelerator Developer Guide.

", "AllowCustomRoutingTraffic": "

Specify the Amazon EC2 instance (destination) IP addresses and ports for a VPC subnet endpoint that can receive traffic for a custom routing accelerator. You can allow traffic to all destinations in the subnet endpoint, or allow traffic to a specified list of destination IP addresses and ports in the subnet. Note that you cannot specify IP addresses or ports outside of the range that you configured for the endpoint group.

After you make changes, you can verify that the updates are complete by checking the status of your accelerator: the status changes from IN_PROGRESS to DEPLOYED.

", "CreateAccelerator": "

Create an accelerator. An accelerator includes one or more listeners that process inbound connections and direct traffic to one or more endpoint groups, each of which includes endpoints, such as Network Load Balancers.

Global Accelerator is a global service that supports endpoints in multiple Amazon Web Services Regions but you must specify the US West (Oregon) Region to create, update, or otherwise work with accelerators. That is, for example, specify --region us-west-2 on Amazon Web Services CLI commands.

", + "CreateCrossAccountAttachment": "

Create a cross-account attachment in Global Accelerator. You create a cross-account attachment to specify the principals who have permission to add to accelerators in their own account the resources in your account that you also list in the attachment.

A principal can be an Amazon Web Services account number or the Amazon Resource Name (ARN) for an accelerator. For account numbers that are listed as principals, to add a resource listed in the attachment to an accelerator, you must sign in to an account specified as a principal. Then you can add the resources that are listed to any of your accelerators. If an accelerator ARN is listed in the cross-account attachment as a principal, anyone with permission to make updates to the accelerator can add as endpoints resources that are listed in the attachment.

", "CreateCustomRoutingAccelerator": "

Create a custom routing accelerator. A custom routing accelerator directs traffic to one of possibly thousands of Amazon EC2 instance destinations running in a single or multiple virtual private clouds (VPC) subnet endpoints.

Be aware that, by default, all destination EC2 instances in a VPC subnet endpoint cannot receive traffic. To enable all destinations to receive traffic, or to specify individual port mappings that can receive traffic, see the AllowCustomRoutingTraffic operation.

Global Accelerator is a global service that supports endpoints in multiple Amazon Web Services Regions but you must specify the US West (Oregon) Region to create, update, or otherwise work with accelerators. That is, for example, specify --region us-west-2 on Amazon Web Services CLI commands.

", "CreateCustomRoutingEndpointGroup": "

Create an endpoint group for the specified listener for a custom routing accelerator. An endpoint group is a collection of endpoints in one Amazon Web Services Region.

", "CreateCustomRoutingListener": "

Create a listener to process inbound connections from clients to a custom routing accelerator. Connections arrive to assigned static IP addresses on the port range that you specify.

", "CreateEndpointGroup": "

Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one Amazon Web Services Region. A resource must be valid and active when you add it as an endpoint.

For more information about endpoint types and requirements for endpoints that you can add to Global Accelerator, see Endpoints for standard accelerators in the Global Accelerator Developer Guide.

", "CreateListener": "

Create a listener to process inbound connections from clients to an accelerator. Connections arrive to assigned static IP addresses on a port, port range, or list of port ranges that you specify.

", "DeleteAccelerator": "

Delete an accelerator. Before you can delete an accelerator, you must disable it and remove all dependent resources (listeners and endpoint groups). To disable the accelerator, update the accelerator to set Enabled to false.

When you create an accelerator, by default, Global Accelerator provides you with a set of two static IP addresses. Alternatively, you can bring your own IP address ranges to Global Accelerator and assign IP addresses from those ranges.

The IP addresses are assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to the accelerator, so you can no longer route traffic by using them. As a best practice, ensure that you have permissions in place to avoid inadvertently deleting accelerators. You can use IAM policies with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Identity and access management in the Global Accelerator Developer Guide.

", + "DeleteCrossAccountAttachment": "

Delete a cross-account attachment. When you delete an attachment, Global Accelerator revokes the permission to use the resources in the attachment from all principals in the list of principals. Global Accelerator revokes the permission for specific resources by doing the following:

If there are overlapping permissions provided by multiple cross-account attachments, Global Accelerator only removes endpoints if there are no current cross-account attachments that provide access permission. For example, if you delete a cross-account attachment that lists an accelerator as a principal, but another cross-account attachment includes the account ID that owns that accelerator, endpoints will not be removed from the accelerator.

", "DeleteCustomRoutingAccelerator": "

Delete a custom routing accelerator. Before you can delete an accelerator, you must disable it and remove all dependent resources (listeners and endpoint groups). To disable the accelerator, update the accelerator to set Enabled to false.

When you create a custom routing accelerator, by default, Global Accelerator provides you with a set of two static IP addresses.

The IP addresses are assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to the accelerator, so you can no longer route traffic by using them. As a best practice, ensure that you have permissions in place to avoid inadvertently deleting accelerators. You can use IAM policies with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Identity and access management in the Global Accelerator Developer Guide.

", "DeleteCustomRoutingEndpointGroup": "

Delete an endpoint group from a listener for a custom routing accelerator.

", "DeleteCustomRoutingListener": "

Delete a listener for a custom routing accelerator.

", @@ -22,6 +24,7 @@ "DeprovisionByoipCidr": "

Releases the specified address range that you provisioned to use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.

Before you can release an address range, you must stop advertising it by using WithdrawByoipCidr and you must not have any accelerators that are using static IP addresses allocated from its address range.

For more information, see Bring your own IP addresses (BYOIP) in the Global Accelerator Developer Guide.

", "DescribeAccelerator": "

Describe an accelerator.

", "DescribeAcceleratorAttributes": "

Describe the attributes of an accelerator.

", + "DescribeCrossAccountAttachment": "

Gets configuration information about a cross-account attachment.

", "DescribeCustomRoutingAccelerator": "

Describe a custom routing accelerator.

", "DescribeCustomRoutingAcceleratorAttributes": "

Describe the attributes of a custom routing accelerator.

", "DescribeCustomRoutingEndpointGroup": "

Describe an endpoint group for a custom routing accelerator.

", @@ -30,6 +33,9 @@ "DescribeListener": "

Describe a listener.

", "ListAccelerators": "

List the accelerators for an Amazon Web Services account.

", "ListByoipCidrs": "

Lists the IP address ranges that were specified in calls to ProvisionByoipCidr, including the current state and a history of state changes.

", + "ListCrossAccountAttachments": "

List the cross-account attachments that have been created in Global Accelerator.

", + "ListCrossAccountResourceAccounts": "

List the accounts that have cross-account endpoints.

", + "ListCrossAccountResources": "

List the cross-account endpoints available to add to an accelerator.

", "ListCustomRoutingAccelerators": "

List the custom routing accelerators for an Amazon Web Services account.

", "ListCustomRoutingEndpointGroups": "

List the endpoint groups that are associated with a listener for a custom routing accelerator.

", "ListCustomRoutingListeners": "

List the listeners for a custom routing accelerator.

", @@ -45,6 +51,7 @@ "UntagResource": "

Remove tags from a Global Accelerator resource. When you specify a tag key, the action removes both that key and its associated value. The operation succeeds even if you attempt to remove tags from an accelerator that was already removed.

For more information, see Tagging in Global Accelerator in the Global Accelerator Developer Guide.

", "UpdateAccelerator": "

Update an accelerator to make changes, such as the following:

Be aware that static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete the accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them.

Global Accelerator is a global service that supports endpoints in multiple Amazon Web Services Regions but you must specify the US West (Oregon) Region to create, update, or otherwise work with accelerators. That is, for example, specify --region us-west-2 on Amazon Web Services CLI commands.

", "UpdateAcceleratorAttributes": "

Update the attributes for an accelerator.

", + "UpdateCrossAccountAttachment": "

Update a cross-account attachment to add or remove principals or resources. When you update an attachment to remove a principal (account ID or accelerator) or a resource, Global Accelerator revokes the permission for specific resources by doing the following:

If there are overlapping permissions provided by multiple cross-account attachments, Global Accelerator only removes endpoints if there are no current cross-account attachments that provide access permission. For example, if you delete a cross-account attachment that lists an accelerator as a principal, but another cross-account attachment includes the account ID that owns that accelerator, endpoints will not be removed from the accelerator.

", "UpdateCustomRoutingAccelerator": "

Update a custom routing accelerator.

", "UpdateCustomRoutingAcceleratorAttributes": "

Update the attributes for a custom routing accelerator.

", "UpdateCustomRoutingListener": "

Update a listener for a custom routing accelerator.

", @@ -153,6 +160,47 @@ "refs": { } }, + "Attachment": { + "base": "

A cross-account attachment in Global Accelerator. A cross-account attachment specifies the principals who have permission to add to accelerators in their own account the resources in your account that you also list in the attachment.

", + "refs": { + "Attachments$member": null, + "CreateCrossAccountAttachmentResponse$CrossAccountAttachment": "

Information about the cross-account attachment.

", + "DescribeCrossAccountAttachmentResponse$CrossAccountAttachment": "

Information about the cross-account attachment.

", + "UpdateCrossAccountAttachmentResponse$CrossAccountAttachment": "

Information about the updated cross-account attachment.

" + } + }, + "AttachmentName": { + "base": null, + "refs": { + "Attachment$Name": "

The name of the cross-account attachment.

", + "CreateCrossAccountAttachmentRequest$Name": "

The name of the cross-account attachment.

", + "UpdateCrossAccountAttachmentRequest$Name": "

The name of the cross-account attachment.

" + } + }, + "AttachmentNotFoundException": { + "base": "

No cross-account attachment was found.

", + "refs": { + } + }, + "Attachments": { + "base": null, + "refs": { + "ListCrossAccountAttachmentsResponse$CrossAccountAttachments": "

Information about the cross-account attachments.

" + } + }, + "AwsAccountId": { + "base": null, + "refs": { + "AwsAccountIds$member": null, + "ListCrossAccountResourcesRequest$ResourceOwnerAwsAccountId": "

The account ID of a resource owner in a cross-account attachment.

" + } + }, + "AwsAccountIds": { + "base": null, + "refs": { + "ListCrossAccountResourceAccountsResponse$ResourceOwnerAwsAccountIds": "

The account IDs of principals (resource owners) in a cross-account attachment who can add endpoints (resources) listed in the same attachment.

" + } + }, "ByoipCidr": { "base": "

Information about an IP address range that is provisioned for use with your Amazon Web Services resources through bring your own IP address (BYOIP).

The following describes each BYOIP State that your IP address range can be in.

", "refs": { @@ -221,6 +269,16 @@ "refs": { } }, + "CreateCrossAccountAttachmentRequest": { + "base": null, + "refs": { + } + }, + "CreateCrossAccountAttachmentResponse": { + "base": null, + "refs": { + } + }, "CreateCustomRoutingAcceleratorRequest": { "base": null, "refs": { @@ -271,6 +329,18 @@ "refs": { } }, + "CrossAccountResource": { + "base": "

An endpoint (Amazon Web Services resource) that is listed in a cross-account attachment and can be added to an accelerator by specified principals, that are also listed in the attachment.

", + "refs": { + "CrossAccountResources$member": null + } + }, + "CrossAccountResources": { + "base": null, + "refs": { + "ListCrossAccountResourcesResponse$CrossAccountResources": "

The endpoints attached to an accelerator in a cross-account attachment.

" + } + }, "CustomRoutingAccelerator": { "base": "

Attributes of a custom routing accelerator.

", "refs": { @@ -402,6 +472,11 @@ "refs": { } }, + "DeleteCrossAccountAttachmentRequest": { + "base": null, + "refs": { + } + }, "DeleteCustomRoutingAcceleratorRequest": { "base": null, "refs": { @@ -462,6 +537,16 @@ "refs": { } }, + "DescribeCrossAccountAttachmentRequest": { + "base": null, + "refs": { + } + }, + "DescribeCrossAccountAttachmentResponse": { + "base": null, + "refs": { + } + }, "DescribeCustomRoutingAcceleratorAttributesRequest": { "base": null, "refs": { @@ -643,6 +728,7 @@ "AccessDeniedException$Message": null, "AssociatedEndpointGroupFoundException$Message": null, "AssociatedListenerFoundException$Message": null, + "AttachmentNotFoundException$Message": null, "ByoipCidrNotFoundException$Message": null, "ConflictException$Message": null, "EndpointAlreadyExistsException$Message": null, @@ -670,8 +756,8 @@ "CustomRoutingAccelerator$Enabled": "

Indicates whether the accelerator is enabled. The value is true or false. The default value is true.

If the value is set to true, the accelerator cannot be deleted. If set to false, accelerator can be deleted.

", "CustomRoutingAcceleratorAttributes$FlowLogsEnabled": "

Indicates whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

For more information, see Flow logs in the Global Accelerator Developer Guide.

", "DenyCustomRoutingTrafficRequest$DenyAllTrafficToEndpoint": "

Indicates whether all destination IP addresses and ports for a specified VPC subnet endpoint cannot receive traffic from a custom routing accelerator. The value is TRUE or FALSE.

When set to TRUE, no destinations in the custom routing VPC subnet can receive traffic. Note that you cannot specify destination IP addresses and ports when the value is set to TRUE.

When set to FALSE (or not specified), you must specify a list of destination IP addresses that cannot receive traffic. A list of ports is optional. If you don't specify a list of ports, the ports that can accept traffic is the same as the ports configured for the endpoint group.

The default value is FALSE.

", - "EndpointConfiguration$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. The default value is true for new accelerators.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load Balancers, Amazon EC2 instances, and Network Load Balancers with Security Groups. IMPORTANT: You cannot use client IP address preservation with Network Load Balancers with TLS listeners.

For more information, see Preserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

", - "EndpointDescription$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. The default value is true for new accelerators.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load Balancers, Amazon EC2 instances, and Network Load Balancers with Security Groups. IMPORTANT: You cannot use client IP address preservation with Network Load Balancers with TLS listeners.

For more information, see Preserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

", + "EndpointConfiguration$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. The default value is true for Application Load Balancer endpoints.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load Balancers, Amazon EC2 instances, and Network Load Balancers with security groups. IMPORTANT: You cannot use client IP address preservation with Network Load Balancers with TLS listeners.

For more information, see Preserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

", + "EndpointDescription$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. The default value is true for Application Load Balancers endpoints.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load Balancers, Amazon EC2 instances, and Network Load Balancers with security groups. IMPORTANT: You cannot use client IP address preservation with Network Load Balancers with TLS listeners.

For more information, see Preserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

", "EndpointIdentifier$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

", "UpdateAcceleratorAttributesRequest$FlowLogsEnabled": "

Update whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

For more information, see Flow Logs in the Global Accelerator Developer Guide.

", "UpdateAcceleratorRequest$Enabled": "

Indicates whether an accelerator is enabled. The value is true or false. The default value is true.

If the value is set to true, the accelerator cannot be deleted. If set to false, the accelerator can be deleted.

", @@ -696,6 +782,7 @@ "AdvertiseByoipCidrRequest$Cidr": "

The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range.

", "AllowCustomRoutingTrafficRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", "AllowCustomRoutingTrafficRequest$EndpointId": "

An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID.

", + "Attachment$AttachmentArn": "

The Amazon Resource Name (ARN) of the cross-account attachment.

", "ByoipCidr$Cidr": "

The address range, in CIDR notation.

", "ByoipCidrEvent$Message": "

A string that contains an Event message describing changes that you make in the status of an IP address range that you bring to Global Accelerator through bring your own IP address (BYOIP).

", "CidrAuthorizationContext$Message": "

The plain-text authorization message for the prefix and account.

", @@ -708,17 +795,21 @@ "CreateEndpointGroupRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener.

", "CreateEndpointGroupRequest$EndpointGroupRegion": "

The Amazon Web Services Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region.

", "CreateListenerRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of your accelerator.

", + "CrossAccountResource$EndpointId": "

The endpoint ID for the endpoint that is listed in a cross-account attachment and can be added to an accelerator by specified principals.

", + "CrossAccountResource$AttachmentArn": "

The Amazon Resource Name (ARN) of the cross-account attachment that specifies the endpoints (resources) that can be added to accelerators and principals that have permission to add the endpoints to accelerators.

", "CustomRoutingAccelerator$AcceleratorArn": "

The Amazon Resource Name (ARN) of the custom routing accelerator.

", "CustomRoutingAccelerator$Name": "

The name of the accelerator. The name must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.

", "CustomRoutingAccelerator$DnsName": "

The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator's static IPv4 addresses.

The naming convention for the DNS name is the following: A lowercase letter a, followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: a1234567890abcdef.awsglobalaccelerator.com.

If you have a dual-stack accelerator, you also have a second DNS name, DualStackDnsName, that points to both the A record and the AAAA record for all four static addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.

For more information about the default DNS name, see Support for DNS addressing in Global Accelerator in the Global Accelerator Developer Guide.

", "CustomRoutingAcceleratorAttributes$FlowLogsS3Bucket": "

The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants Global Accelerator permission to write to the bucket.

", "CustomRoutingAcceleratorAttributes$FlowLogsS3Prefix": "

The prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true.

If you don’t specify a prefix, the flow logs are stored in the root of the bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following:

DOC-EXAMPLE-BUCKET//AWSLogs/aws_account_id

", "CustomRoutingEndpointConfiguration$EndpointId": "

An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID.

", + "CustomRoutingEndpointConfiguration$AttachmentArn": "

The Amazon Resource Name (ARN) of the cross-account attachment that specifies the endpoints (resources) that can be added to accelerators and principals that have permission to add the endpoints to accelerators.

", "CustomRoutingEndpointDescription$EndpointId": "

An ID for the endpoint. For custom routing accelerators, this is the virtual private cloud (VPC) subnet ID.

", "CustomRoutingEndpointGroup$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", "CustomRoutingEndpointGroup$EndpointGroupRegion": "

The Amazon Web Services Region where the endpoint group is located.

", "CustomRoutingListener$ListenerArn": "

The Amazon Resource Name (ARN) of the listener.

", "DeleteAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of an accelerator.

", + "DeleteCrossAccountAttachmentRequest$AttachmentArn": "

The Amazon Resource Name (ARN) for the cross-account attachment to delete.

", "DeleteCustomRoutingAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the custom routing accelerator to delete.

", "DeleteCustomRoutingEndpointGroupRequest$EndpointGroupArn": "

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

", "DeleteCustomRoutingListenerRequest$ListenerArn": "

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

", @@ -729,6 +820,7 @@ "DeprovisionByoipCidrRequest$Cidr": "

The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range.

", "DescribeAcceleratorAttributesRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator with the attributes that you want to describe.

", "DescribeAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator to describe.

", + "DescribeCrossAccountAttachmentRequest$AttachmentArn": "

The Amazon Resource Name (ARN) for the cross-account attachment to describe.

", "DescribeCustomRoutingAcceleratorAttributesRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the custom routing accelerator to describe the attributes for.

", "DescribeCustomRoutingAcceleratorRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the accelerator to describe.

", "DescribeCustomRoutingEndpointGroupRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group to describe.

", @@ -740,6 +832,7 @@ "DestinationPortMapping$EndpointId": "

The ID for the virtual private cloud (VPC) subnet.

", "DestinationPortMapping$EndpointGroupRegion": "

The Amazon Web Services Region for the endpoint group.

", "EndpointConfiguration$EndpointId": "

An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. A resource must be valid and active when you add it as an endpoint.

An Application Load Balancer can be either internal or internet-facing.

", + "EndpointConfiguration$AttachmentArn": "

The Amazon Resource Name (ARN) of the cross-account attachment that specifies the endpoints (resources) that can be added to accelerators and principals that have permission to add the endpoints to accelerators.

", "EndpointDescription$EndpointId": "

An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID.

An Application Load Balancer can be either internal or internet-facing.

", "EndpointDescription$HealthReason": "

Returns a null result.

", "EndpointGroup$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", @@ -751,6 +844,11 @@ "ListAcceleratorsResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "ListByoipCidrsRequest$NextToken": "

The token for the next page of results.

", "ListByoipCidrsResponse$NextToken": "

The token for the next page of results.

", + "ListCrossAccountAttachmentsRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCrossAccountAttachmentsResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCrossAccountResourcesRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of an accelerator in a cross-account attachment.

", + "ListCrossAccountResourcesRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListCrossAccountResourcesResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "ListCustomRoutingAcceleratorsRequest$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "ListCustomRoutingAcceleratorsResponse$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", "ListCustomRoutingEndpointGroupsRequest$ListenerArn": "

The Amazon Resource Name (ARN) of the listener to list endpoint groups for.

", @@ -779,12 +877,15 @@ "ProvisionByoipCidrRequest$Cidr": "

The public IPv4 address range, in CIDR notation. The most specific IP prefix that you can specify is /24. The address range cannot overlap with another address range that you've brought to this or another Region.

", "RemoveCustomRoutingEndpointsRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group to remove endpoints from.

", "RemoveEndpointsRequest$EndpointGroupArn": "

The Amazon Resource Name (ARN) of the endpoint group.

", + "Resource$EndpointId": "

The endpoint ID for the endpoint (Amazon Web Services resource).

", + "Resource$Region": "

The Amazon Web Services Region where a resource is located.

", "SocketAddress$IpAddress": "

The IP address for the socket address.

", "UpdateAcceleratorAttributesRequest$AcceleratorArn": "

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

", "UpdateAcceleratorAttributesRequest$FlowLogsS3Bucket": "

The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants Global Accelerator permission to write to the bucket.

", "UpdateAcceleratorAttributesRequest$FlowLogsS3Prefix": "

Update the prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true.

If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following:

s3-bucket_name//AWSLogs/aws_account_id

", "UpdateAcceleratorRequest$AcceleratorArn": "

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

", "UpdateAcceleratorRequest$Name": "

The name of the accelerator. The name can have a maximum of 64 characters, must contain only alphanumeric characters, periods (.), or hyphens (-), and must not begin or end with a hyphen or period.

", + "UpdateCrossAccountAttachmentRequest$AttachmentArn": "

The Amazon Resource Name (ARN) of the cross-account attachment to update.

", "UpdateCustomRoutingAcceleratorAttributesRequest$AcceleratorArn": "

The Amazon Resource Name (ARN) of the custom routing accelerator to update attributes for.

", "UpdateCustomRoutingAcceleratorAttributesRequest$FlowLogsS3Bucket": "

The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants Global Accelerator permission to write to the bucket.

", "UpdateCustomRoutingAcceleratorAttributesRequest$FlowLogsS3Prefix": "

Update the prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true.

If you don’t specify a prefix, the flow logs are stored in the root of the bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following:

DOC-EXAMPLE-BUCKET//AWSLogs/aws_account_id

", @@ -838,6 +939,7 @@ "base": null, "refs": { "CreateAcceleratorRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of an accelerator.

", + "CreateCrossAccountAttachmentRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", "CreateCustomRoutingAcceleratorRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", "CreateCustomRoutingEndpointGroupRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", "CreateCustomRoutingListenerRequest$IdempotencyToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", @@ -941,6 +1043,36 @@ "refs": { } }, + "ListCrossAccountAttachmentsRequest": { + "base": null, + "refs": { + } + }, + "ListCrossAccountAttachmentsResponse": { + "base": null, + "refs": { + } + }, + "ListCrossAccountResourceAccountsRequest": { + "base": null, + "refs": { + } + }, + "ListCrossAccountResourceAccountsResponse": { + "base": null, + "refs": { + } + }, + "ListCrossAccountResourcesRequest": { + "base": null, + "refs": { + } + }, + "ListCrossAccountResourcesResponse": { + "base": null, + "refs": { + } + }, "ListCustomRoutingAcceleratorsRequest": { "base": null, "refs": { @@ -1046,6 +1178,8 @@ "refs": { "ListAcceleratorsRequest$MaxResults": "

The number of Global Accelerator objects that you want to return with this call. The default value is 10.

", "ListByoipCidrsRequest$MaxResults": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", + "ListCrossAccountAttachmentsRequest$MaxResults": "

The number of cross-account attachment objects that you want to return with this call. The default value is 10.

", + "ListCrossAccountResourcesRequest$MaxResults": "

The number of cross-account endpoints objects that you want to return with this call. The default value is 10.

", "ListCustomRoutingAcceleratorsRequest$MaxResults": "

The number of custom routing Global Accelerator objects that you want to return with this call. The default value is 10.

", "ListCustomRoutingEndpointGroupsRequest$MaxResults": "

The number of endpoint group objects that you want to return with this call. The default value is 10.

", "ListCustomRoutingListenersRequest$MaxResults": "

The number of listener objects that you want to return with this call. The default value is 10.

", @@ -1119,6 +1253,21 @@ "UpdateListenerRequest$PortRanges": "

The updated list of port ranges for the connections from clients to the accelerator.

" } }, + "Principal": { + "base": null, + "refs": { + "Principals$member": null + } + }, + "Principals": { + "base": null, + "refs": { + "Attachment$Principals": "

The principals included in the cross-account attachment.

", + "CreateCrossAccountAttachmentRequest$Principals": "

The principals to list in the cross-account attachment. A principal can be an Amazon Web Services account number or the Amazon Resource Name (ARN) for an accelerator.

", + "UpdateCrossAccountAttachmentRequest$AddPrincipals": "

The principals to add to the cross-account attachment. A principal is an account or the Amazon Resource Name (ARN) of an accelerator that the attachment gives permission to add the resources from another account, listed in the attachment.

To add more than one principal, separate the account numbers or accelerator ARNs, or both, with commas.

", + "UpdateCrossAccountAttachmentRequest$RemovePrincipals": "

The principals to remove from the cross-account attachment. A principal is an account or the Amazon Resource Name (ARN) of an accelerator that is given permission to add the resources from another account, listed in the cross-account attachment.

To remove more than one principal, separate the account numbers or accelerator ARNs, or both, with commas.

" + } + }, "Protocol": { "base": null, "refs": { @@ -1154,6 +1303,12 @@ "refs": { } }, + "Resource": { + "base": "

An Amazon Web Services resource that is supported by Global Accelerator and can be added as an endpoint for an accelerator.

", + "refs": { + "Resources$member": null + } + }, "ResourceArn": { "base": null, "refs": { @@ -1162,6 +1317,15 @@ "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the Global Accelerator resource to remove tags from. An ARN uniquely identifies a resource.

" } }, + "Resources": { + "base": null, + "refs": { + "Attachment$Resources": "

The resources included in the cross-account attachment.

", + "CreateCrossAccountAttachmentRequest$Resources": "

The Amazon Resource Names (ARNs) for the resources to list in the cross-account attachment. A resource can be any supported Amazon Web Services resource type for Global Accelerator.

", + "UpdateCrossAccountAttachmentRequest$AddResources": "

The resources to add to the cross-account attachment. A resource listed in a cross-account attachment can be added to an accelerator by the principals that are listed in the attachment.

To add more than one resource, separate the resource ARNs with commas.

", + "UpdateCrossAccountAttachmentRequest$RemoveResources": "

The resources to remove from the cross-account attachment. A resource listed in a cross-account attachment can be added to an accelerator fy principals that are listed in the cross-account attachment.

To remove more than one resource, separate the resource ARNs with commas.

" + } + }, "SocketAddress": { "base": "

An IP address/port combination.

", "refs": { @@ -1215,6 +1379,7 @@ "base": null, "refs": { "CreateAcceleratorRequest$Tags": "

Create tags for an accelerator.

For more information, see Tagging in Global Accelerator in the Global Accelerator Developer Guide.

", + "CreateCrossAccountAttachmentRequest$Tags": "

Create tags for cross-account attachment.

For more information, see Tagging in Global Accelerator in the Global Accelerator Developer Guide.

", "CreateCustomRoutingAcceleratorRequest$Tags": "

Create tags for an accelerator.

For more information, see Tagging in Global Accelerator in the Global Accelerator Developer Guide.

", "ListTagsForResourceResponse$Tags": "

Root level tag for the Tags parameters.

", "TagResourceRequest$Tags": "

The tags to add to a resource. A tag consists of a key and a value that you define.

" @@ -1234,6 +1399,8 @@ "Accelerator$CreatedTime": "

The date and time that the accelerator was created.

", "Accelerator$LastModifiedTime": "

The date and time that the accelerator was last modified.

", "AcceleratorEvent$Timestamp": "

A timestamp for when you update an accelerator in Global Accelerator from IPv4 to dual-stack, or dual-stack to IPv4.

", + "Attachment$LastModifiedTime": "

The date and time that the cross-account attachment was last modified.

", + "Attachment$CreatedTime": "

The date and time that the cross-account attachment was created.

", "ByoipCidrEvent$Timestamp": "

A timestamp for when you make a status change for an IP address range that you bring to Global Accelerator through bring your own IP address (BYOIP).

", "CustomRoutingAccelerator$CreatedTime": "

The date and time that the accelerator was created.

", "CustomRoutingAccelerator$LastModifiedTime": "

The date and time that the accelerator was last modified.

" @@ -1282,6 +1449,16 @@ "refs": { } }, + "UpdateCrossAccountAttachmentRequest": { + "base": null, + "refs": { + } + }, + "UpdateCrossAccountAttachmentResponse": { + "base": null, + "refs": { + } + }, "UpdateCustomRoutingAcceleratorAttributesRequest": { "base": null, "refs": { diff --git a/models/apis/globalaccelerator/2018-08-08/endpoint-rule-set-1.json b/models/apis/globalaccelerator/2018-08-08/endpoint-rule-set-1.json index d26fc19a37e..046cde20fde 100644 --- a/models/apis/globalaccelerator/2018-08-08/endpoint-rule-set-1.json +++ b/models/apis/globalaccelerator/2018-08-08/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/globalaccelerator/2018-08-08/paginators-1.json b/models/apis/globalaccelerator/2018-08-08/paginators-1.json index b91aec0a3e9..cd4d6729ddd 100644 --- a/models/apis/globalaccelerator/2018-08-08/paginators-1.json +++ b/models/apis/globalaccelerator/2018-08-08/paginators-1.json @@ -12,6 +12,18 @@ "limit_key": "MaxResults", "result_key": "ByoipCidrs" }, + "ListCrossAccountAttachments": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "CrossAccountAttachments" + }, + "ListCrossAccountResources": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "CrossAccountResources" + }, "ListCustomRoutingAccelerators": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index 34fd162c58f..58eb861c81b 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -3053,6 +3053,7 @@ "EngineVersion":{"shape":"String"}, "BackupRetentionPeriod":{"shape":"IntegerOptional"}, "AllocatedStorage":{"shape":"IntegerOptional"}, + "RdsCustomClusterConfiguration":{"shape":"RdsCustomClusterConfiguration"}, "Iops":{"shape":"IntegerOptional"}, "StorageType":{"shape":"String"} } @@ -3285,6 +3286,7 @@ "EnableCloudwatchLogsExports":{"shape":"LogTypeList"}, "EngineMode":{"shape":"String"}, "ScalingConfiguration":{"shape":"ScalingConfiguration"}, + "RdsCustomClusterConfiguration":{"shape":"RdsCustomClusterConfiguration"}, "DeletionProtection":{"shape":"BooleanOptional"}, "GlobalClusterIdentifier":{"shape":"String"}, "EnableHttpEndpoint":{"shape":"BooleanOptional"}, @@ -3816,6 +3818,7 @@ "Capacity":{"shape":"IntegerOptional"}, "EngineMode":{"shape":"String"}, "ScalingConfigurationInfo":{"shape":"ScalingConfigurationInfo"}, + "RdsCustomClusterConfiguration":{"shape":"RdsCustomClusterConfiguration"}, "DeletionProtection":{"shape":"BooleanOptional"}, "HttpEndpointEnabled":{"shape":"BooleanOptional"}, "ActivityStreamMode":{"shape":"ActivityStreamMode"}, @@ -7912,6 +7915,13 @@ "locationName":"Range" } }, + "RdsCustomClusterConfiguration":{ + "type":"structure", + "members":{ + "InterconnectSubnetId":{"shape":"String"}, + "TransitGatewayMulticastDomainId":{"shape":"String"} + } + }, "ReadReplicaDBClusterIdentifierList":{ "type":"list", "member":{ @@ -8306,7 +8316,8 @@ "Iops":{"shape":"IntegerOptional"}, "PubliclyAccessible":{"shape":"BooleanOptional"}, "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, - "NetworkType":{"shape":"String"} + "NetworkType":{"shape":"String"}, + "RdsCustomClusterConfiguration":{"shape":"RdsCustomClusterConfiguration"} } }, "RestoreDBClusterFromSnapshotResult":{ @@ -8346,7 +8357,8 @@ "Iops":{"shape":"IntegerOptional"}, "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, "NetworkType":{"shape":"String"}, - "SourceDbClusterResourceId":{"shape":"String"} + "SourceDbClusterResourceId":{"shape":"String"}, + "RdsCustomClusterConfiguration":{"shape":"RdsCustomClusterConfiguration"} } }, "RestoreDBClusterToPointInTimeResult":{ diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index 3bd95482057..d1fb626c746 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -3691,6 +3691,16 @@ "ValidStorageOptions$ProvisionedStorageThroughput": "

The valid range of provisioned storage throughput. For example, 500-4,000 mebibytes per second (MiBps).

" } }, + "RdsCustomClusterConfiguration": { + "base": "

Reserved for future use.

", + "refs": { + "ClusterPendingModifiedValues$RdsCustomClusterConfiguration": "

Reserved for future use.

", + "CreateDBClusterMessage$RdsCustomClusterConfiguration": "

Reserved for future use.

", + "DBCluster$RdsCustomClusterConfiguration": "

Reserved for future use.

", + "RestoreDBClusterFromSnapshotMessage$RdsCustomClusterConfiguration": "

Reserved for future use.

", + "RestoreDBClusterToPointInTimeMessage$RdsCustomClusterConfiguration": "

Reserved for future use.

" + } + }, "ReadReplicaDBClusterIdentifierList": { "base": null, "refs": { @@ -4941,6 +4951,8 @@ "PromoteReadReplicaMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

", "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstancesOfferingId": "

The ID of the Reserved DB instance offering to purchase.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

", "PurchaseReservedDBInstancesOfferingMessage$ReservedDBInstanceId": "

Customer-specified identifier to track this reservation.

Example: myreservationID

", + "RdsCustomClusterConfiguration$InterconnectSubnetId": "

Reserved for future use.

", + "RdsCustomClusterConfiguration$TransitGatewayMulticastDomainId": "

Reserved for future use.

", "ReadReplicaDBClusterIdentifierList$member": null, "ReadReplicaDBInstanceIdentifierList$member": null, "ReadReplicaIdentifierList$member": null, diff --git a/models/apis/redshift/2012-12-01/api-2.json b/models/apis/redshift/2012-12-01/api-2.json index ec4b4fa5281..656ce552dfc 100644 --- a/models/apis/redshift/2012-12-01/api-2.json +++ b/models/apis/redshift/2012-12-01/api-2.json @@ -46,7 +46,8 @@ "errors":[ {"shape":"PartnerNotFoundFault"}, {"shape":"ClusterNotFoundFault"}, - {"shape":"UnauthorizedPartnerIntegrationFault"} + {"shape":"UnauthorizedPartnerIntegrationFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "AssociateDataShareConsumer":{ @@ -200,6 +201,7 @@ "resultWrapper":"CopyClusterSnapshotResult" }, "errors":[ + {"shape":"ClusterNotFoundFault"}, {"shape":"ClusterSnapshotAlreadyExistsFault"}, {"shape":"ClusterSnapshotNotFoundFault"}, {"shape":"InvalidClusterSnapshotStateFault"}, @@ -258,7 +260,8 @@ {"shape":"InvalidClusterTrackFault"}, {"shape":"SnapshotScheduleNotFoundFault"}, {"shape":"InvalidRetentionPeriodFault"}, - {"shape":"Ipv6CidrBlockNotFoundFault"} + {"shape":"Ipv6CidrBlockNotFoundFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "CreateClusterParameterGroup":{ @@ -454,12 +457,14 @@ "resultWrapper":"CreateScheduledActionResult" }, "errors":[ + {"shape":"ClusterNotFoundFault"}, {"shape":"ScheduledActionAlreadyExistsFault"}, {"shape":"ScheduledActionQuotaExceededFault"}, {"shape":"ScheduledActionTypeUnsupportedFault"}, {"shape":"InvalidScheduleFault"}, {"shape":"InvalidScheduledActionFault"}, - {"shape":"UnauthorizedOperation"} + {"shape":"UnauthorizedOperation"}, + {"shape":"UnsupportedOperationFault"} ] }, "CreateSnapshotCopyGrant":{ @@ -722,7 +727,8 @@ "errors":[ {"shape":"PartnerNotFoundFault"}, {"shape":"ClusterNotFoundFault"}, - {"shape":"UnauthorizedPartnerIntegrationFault"} + {"shape":"UnauthorizedPartnerIntegrationFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "DeleteResourcePolicy":{ @@ -1173,7 +1179,8 @@ "resultWrapper":"DescribeLoggingStatusResult" }, "errors":[ - {"shape":"ClusterNotFoundFault"} + {"shape":"ClusterNotFoundFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "DescribeNodeConfigurationOptions":{ @@ -1220,7 +1227,8 @@ }, "errors":[ {"shape":"ClusterNotFoundFault"}, - {"shape":"UnauthorizedPartnerIntegrationFault"} + {"shape":"UnauthorizedPartnerIntegrationFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "DescribeReservedNodeExchangeStatus":{ @@ -1286,7 +1294,8 @@ }, "errors":[ {"shape":"ClusterNotFoundFault"}, - {"shape":"ResizeNotFoundFault"} + {"shape":"ResizeNotFoundFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "DescribeScheduledActions":{ @@ -1405,7 +1414,8 @@ }, "errors":[ {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidClusterStateFault"} + {"shape":"InvalidClusterStateFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "DisableSnapshotCopy":{ @@ -1423,7 +1433,8 @@ {"shape":"ClusterNotFoundFault"}, {"shape":"SnapshotCopyAlreadyDisabledFault"}, {"shape":"InvalidClusterStateFault"}, - {"shape":"UnauthorizedOperation"} + {"shape":"UnauthorizedOperation"}, + {"shape":"UnsupportedOperationFault"} ] }, "DisassociateDataShareConsumer":{ @@ -1459,7 +1470,8 @@ {"shape":"InsufficientS3BucketPolicyFault"}, {"shape":"InvalidS3KeyPrefixFault"}, {"shape":"InvalidS3BucketNameFault"}, - {"shape":"InvalidClusterStateFault"} + {"shape":"InvalidClusterStateFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "EnableSnapshotCopy":{ @@ -1487,6 +1499,24 @@ {"shape":"InvalidRetentionPeriodFault"} ] }, + "FailoverPrimaryCompute":{ + "name":"FailoverPrimaryCompute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"FailoverPrimaryComputeInputMessage"}, + "output":{ + "shape":"FailoverPrimaryComputeResult", + "resultWrapper":"FailoverPrimaryComputeResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"UnsupportedOperationFault"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidClusterStateFault"} + ] + }, "GetClusterCredentials":{ "name":"GetClusterCredentials", "http":{ @@ -1662,7 +1692,8 @@ "errors":[ {"shape":"ClusterNotFoundFault"}, {"shape":"ClusterOnLatestRevisionFault"}, - {"shape":"InvalidClusterStateFault"} + {"shape":"InvalidClusterStateFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "ModifyClusterIamRoles":{ @@ -1835,11 +1866,13 @@ "resultWrapper":"ModifyScheduledActionResult" }, "errors":[ + {"shape":"ClusterNotFoundFault"}, {"shape":"ScheduledActionNotFoundFault"}, {"shape":"ScheduledActionTypeUnsupportedFault"}, {"shape":"InvalidScheduleFault"}, {"shape":"InvalidScheduledActionFault"}, - {"shape":"UnauthorizedOperation"} + {"shape":"UnauthorizedOperation"}, + {"shape":"UnsupportedOperationFault"} ] }, "ModifySnapshotCopyRetentionPeriod":{ @@ -1908,7 +1941,8 @@ }, "errors":[ {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidClusterStateFault"} + {"shape":"InvalidClusterStateFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "PurchaseReservedNodeOffering":{ @@ -2105,7 +2139,8 @@ "errors":[ {"shape":"ClusterNotFoundFault"}, {"shape":"InvalidClusterStateFault"}, - {"shape":"InsufficientClusterCapacityFault"} + {"shape":"InsufficientClusterCapacityFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "RevokeClusterSecurityGroupIngress":{ @@ -2178,7 +2213,8 @@ "errors":[ {"shape":"ClusterNotFoundFault"}, {"shape":"InvalidClusterStateFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} + {"shape":"DependentServiceRequestThrottlingFault"}, + {"shape":"UnsupportedOperationFault"} ] }, "UpdatePartnerStatus":{ @@ -2195,7 +2231,8 @@ "errors":[ {"shape":"PartnerNotFoundFault"}, {"shape":"ClusterNotFoundFault"}, - {"shape":"UnauthorizedPartnerIntegrationFault"} + {"shape":"UnauthorizedPartnerIntegrationFault"}, + {"shape":"UnsupportedOperationFault"} ] } }, @@ -2673,7 +2710,9 @@ "CustomDomainCertificateExpiryDate":{"shape":"TStamp"}, "MasterPasswordSecretArn":{"shape":"String"}, "MasterPasswordSecretKmsKeyId":{"shape":"String"}, - "IpAddressType":{"shape":"String"} + "IpAddressType":{"shape":"String"}, + "MultiAZ":{"shape":"String"}, + "MultiAZSecondary":{"shape":"SecondaryClusterInfo"} }, "wrapper":true }, @@ -3216,7 +3255,8 @@ "LoadSampleData":{"shape":"String"}, "ManageMasterPassword":{"shape":"BooleanOptional"}, "MasterPasswordSecretKmsKeyId":{"shape":"String"}, - "IpAddressType":{"shape":"String"} + "IpAddressType":{"shape":"String"}, + "MultiAZ":{"shape":"BooleanOptional"} } }, "CreateClusterParameterGroupMessage":{ @@ -4572,6 +4612,19 @@ "Events":{"shape":"EventList"} } }, + "FailoverPrimaryComputeInputMessage":{ + "type":"structure", + "required":["ClusterIdentifier"], + "members":{ + "ClusterIdentifier":{"shape":"String"} + } + }, + "FailoverPrimaryComputeResult":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, "GetClusterCredentialsMessage":{ "type":"structure", "required":["DbUser"], @@ -5412,7 +5465,8 @@ "Port":{"shape":"IntegerOptional"}, "ManageMasterPassword":{"shape":"BooleanOptional"}, "MasterPasswordSecretKmsKeyId":{"shape":"String"}, - "IpAddressType":{"shape":"String"} + "IpAddressType":{"shape":"String"}, + "MultiAZ":{"shape":"BooleanOptional"} } }, "ModifyClusterParameterGroupMessage":{ @@ -6238,7 +6292,8 @@ "Encrypted":{"shape":"BooleanOptional"}, "ManageMasterPassword":{"shape":"BooleanOptional"}, "MasterPasswordSecretKmsKeyId":{"shape":"String"}, - "IpAddressType":{"shape":"String"} + "IpAddressType":{"shape":"String"}, + "MultiAZ":{"shape":"BooleanOptional"} } }, "RestoreFromClusterSnapshotResult":{ @@ -6560,6 +6615,13 @@ "locationName":"SnapshotTime" } }, + "SecondaryClusterInfo":{ + "type":"structure", + "members":{ + "AvailabilityZone":{"shape":"String"}, + "ClusterNodes":{"shape":"ClusterNodesList"} + } + }, "SensitiveString":{ "type":"string", "sensitive":true diff --git a/models/apis/redshift/2012-12-01/docs-2.json b/models/apis/redshift/2012-12-01/docs-2.json index 7ff06f1d76b..29ff6007a19 100644 --- a/models/apis/redshift/2012-12-01/docs-2.json +++ b/models/apis/redshift/2012-12-01/docs-2.json @@ -92,6 +92,7 @@ "DisassociateDataShareConsumer": "

From a datashare consumer account, remove association for the specified datashare.

", "EnableLogging": "

Starts logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.

", "EnableSnapshotCopy": "

Enables the automatic copy of snapshots from one region to another region for a specified cluster.

", + "FailoverPrimaryCompute": "

Fails over the primary compute unit of the specified Multi-AZ cluster to another Availability Zone.

", "GetClusterCredentials": "

Returns a database user name and temporary password with temporary authorization to log on to an Amazon Redshift database. The action returns the database user name prefixed with IAM: if AutoCreate is False or IAMA: if AutoCreate is True. You can optionally specify one or more database user groups that the user will join at log on. 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). For more information, see Using IAM Authentication to Generate Database User Credentials in the Amazon Redshift Cluster Management Guide.

The Identity and Access Management (IAM) user or role that runs GetClusterCredentials must have an IAM policy attached that allows access to all necessary actions and resources. For more information about permissions, see Resource Policies for GetClusterCredentials in the Amazon Redshift Cluster Management Guide.

If the DbGroups parameter is specified, the IAM policy must allow the redshift:JoinGroup action with access to the listed dbgroups.

In addition, if the AutoCreate parameter is set to True, then the policy must include the redshift:CreateClusterUser permission.

If the DbName parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.

", "GetClusterCredentialsWithIAM": "

Returns a database user name and temporary password with temporary authorization to log in to an Amazon Redshift database. The database user is mapped 1:1 to the source Identity and Access Management (IAM) identity. For more information about IAM identities, see IAM Identities (users, user groups, and roles) in the Amazon Web Services Identity and Access Management User Guide.

The Identity and Access Management (IAM) identity that runs this operation must have an IAM policy attached that allows access to all necessary actions and resources. For more information about permissions, see Using identity-based policies (IAM policies) in the Amazon Redshift Cluster Management Guide.

", "GetReservedNodeExchangeConfigurationOptions": "

Gets the configuration options for the reserved-node exchange. These options include information about the source reserved node and target reserved node offering. Details include the node type, the price, the node count, and the offering type.

", @@ -429,6 +430,7 @@ "CreateClusterMessage$EnhancedVpcRouting": "

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

", "CreateClusterMessage$AvailabilityZoneRelocation": "

The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.

", "CreateClusterMessage$ManageMasterPassword": "

If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.

", + "CreateClusterMessage$MultiAZ": "

If true, Amazon Redshift will deploy the cluster in two Availability Zones (AZ).

", "CreateEventSubscriptionMessage$Enabled": "

A boolean value; set to true to activate the subscription, and set to false to create the subscription but not activate it.

", "CreateScheduledActionMessage$Enable": "

If true, the schedule is enabled. If false, the scheduled action does not trigger. For more information about state of the scheduled action, see ScheduledAction.

", "CreateSnapshotScheduleMessage$DryRun": "

", @@ -444,6 +446,7 @@ "ModifyClusterMessage$Encrypted": "

Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for the KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If you don't provide a KmsKeyId, we encrypt with the default key.

If the value is not encrypted (false), then the cluster is decrypted.

", "ModifyClusterMessage$AvailabilityZoneRelocation": "

The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster modification is complete.

", "ModifyClusterMessage$ManageMasterPassword": "

If true, Amazon Redshift uses Secrets Manager to manage this cluster's admin credentials. You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.

", + "ModifyClusterMessage$MultiAZ": "

If true and the cluster is currently only deployed in a single Availability Zone, the cluster will be modified to be deployed in two Availability Zones.

", "ModifyClusterSnapshotScheduleMessage$DisassociateSchedule": "

A boolean to indicate whether to remove the assoiciation between the cluster and the schedule.

", "ModifyEventSubscriptionMessage$Enabled": "

A Boolean value indicating if the subscription is enabled. true indicates the subscription is enabled

", "ModifyScheduledActionMessage$Enable": "

A modified enable flag of the scheduled action. If true, the scheduled action is active. If false, the scheduled action is disabled.

", @@ -456,6 +459,7 @@ "RestoreFromClusterSnapshotMessage$AvailabilityZoneRelocation": "

The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is restored.

", "RestoreFromClusterSnapshotMessage$Encrypted": "

Enables support for restoring an unencrypted snapshot to a cluster encrypted with Key Management Service (KMS) and a customer managed key.

", "RestoreFromClusterSnapshotMessage$ManageMasterPassword": "

If true, Amazon Redshift uses Secrets Manager to manage the restored cluster's admin credentials. If ManageMasterPassword is false or not set, Amazon Redshift uses the admin credentials the cluster had at the time the snapshot was taken.

", + "RestoreFromClusterSnapshotMessage$MultiAZ": "

If true, the snapshot will be restored to a cluster deployed in two Availability Zones.

", "RestoreTableFromClusterSnapshotMessage$EnableCaseSensitiveIdentifier": "

Indicates whether name identifiers for database, schema, and table are case sensitive. If true, the names are case sensitive. If false (default), the names are not case sensitive.

" } }, @@ -489,6 +493,7 @@ "DeleteClusterResult$Cluster": null, "DisableSnapshotCopyResult$Cluster": null, "EnableSnapshotCopyResult$Cluster": null, + "FailoverPrimaryComputeResult$Cluster": null, "ModifyClusterDbRevisionResult$Cluster": null, "ModifyClusterIamRolesResult$Cluster": null, "ModifyClusterMaintenanceResult$Cluster": null, @@ -567,7 +572,8 @@ "ClusterNodesList": { "base": null, "refs": { - "Cluster$ClusterNodes": "

The nodes in the cluster.

" + "Cluster$ClusterNodes": "

The nodes in the cluster.

", + "SecondaryClusterInfo$ClusterNodes": "

The nodes in the secondary compute unit.

" } }, "ClusterNotFoundFault": { @@ -1644,6 +1650,16 @@ "refs": { } }, + "FailoverPrimaryComputeInputMessage": { + "base": null, + "refs": { + } + }, + "FailoverPrimaryComputeResult": { + "base": null, + "refs": { + } + }, "GetClusterCredentialsMessage": { "base": "

The request parameters to get cluster credentials.

", "refs": { @@ -2933,6 +2949,12 @@ "SnapshotSchedule$NextInvocations": "

" } }, + "SecondaryClusterInfo": { + "base": "

The AvailabilityZone and ClusterNodes information of the secondary compute unit.

", + "refs": { + "Cluster$MultiAZSecondary": "

The secondary compute unit of a cluster, if Multi-AZ deployment is turned on.

" + } + }, "SensitiveString": { "base": null, "refs": { @@ -3163,6 +3185,7 @@ "Cluster$MasterPasswordSecretArn": "

The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.

", "Cluster$MasterPasswordSecretKmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.

", "Cluster$IpAddressType": "

The IP address type for the cluster. Possible values are ipv4 and dualstack.

", + "Cluster$MultiAZ": "

A boolean value that, if true, indicates that the cluster is deployed in two Availability Zones.

", "ClusterAssociatedToSchedule$ClusterIdentifier": "

", "ClusterCredentials$DbUser": "

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 permissions as the the user named in DbUser. By default, the user is added to PUBLIC. If the DbGroups parameter is specifed, DbUser is added to the listed groups for any sessions created using these credentials.

", "ClusterDbRevision$ClusterIdentifier": "

The unique identifier of the cluster.

", @@ -3435,6 +3458,7 @@ "EventSubscription$Severity": "

The event severity specified in the Amazon Redshift event notification subscription.

Values: ERROR, INFO

", "EventSubscriptionsMessage$Marker": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

", "EventsMessage$Marker": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

", + "FailoverPrimaryComputeInputMessage$ClusterIdentifier": "

The unique identifier of the cluster for which the primary compute unit will be failed over to another Availability Zone.

", "GetClusterCredentialsMessage$DbUser": "

The name of a database user. If a user name matching DbUser exists in the database, the temporary user credentials have the same permissions as the existing user. If DbUser doesn't exist in the database and Autocreate is True, a new user is created using the value for DbUser with PUBLIC permissions. If a database user matching the value for DbUser doesn't exist and Autocreate is False, then the command succeeds but the connection attempt will fail because the user doesn't exist in the database.

For more information, see CREATE USER in the Amazon Redshift Database Developer Guide.

Constraints:

", "GetClusterCredentialsMessage$DbName": "

The name of a database that DbUser is authorized to log on to. If DbName is not specified, DbUser can log on to any existing database.

Constraints:

", "GetClusterCredentialsMessage$ClusterIdentifier": "

The unique identifier of the cluster that contains the database for which you are requesting credentials. This parameter is case sensitive.

", @@ -3640,6 +3664,7 @@ "ScheduledAction$IamRole": "

The IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", "ScheduledAction$ScheduledActionDescription": "

The description of the scheduled action.

", "ScheduledActionsMessage$Marker": "

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeScheduledActions request exceed the value specified in MaxRecords, Amazon Web Services returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

", + "SecondaryClusterInfo$AvailabilityZone": "

The name of the Availability Zone in which the secondary compute unit of the cluster is located.

", "Snapshot$SnapshotIdentifier": "

The snapshot identifier that is provided in the request.

", "Snapshot$ClusterIdentifier": "

The identifier of the cluster for which the snapshot was taken.

", "Snapshot$Status": "

The snapshot status. The value of the status depends on the API operation used:

", diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index 8c8e73535c4..9b015c2676f 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -3583,7 +3583,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:algorithm/.*" + "pattern":"^arn:aws(-cn|-us-gov)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:algorithm/[\\S]{1,2048}$" }, "AlgorithmImage":{ "type":"string", @@ -5319,7 +5319,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:code-repository/.*" + "pattern":"^arn:aws(-cn|-us-gov)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:code-repository/[\\S]{1,2048}$" }, "CodeRepositoryContains":{ "type":"string", @@ -11177,7 +11177,9 @@ }, "GitConfigUrl":{ "type":"string", - "pattern":"^https://([^/]+)/?(.*)$" + "max":1024, + "min":11, + "pattern":"^https://([^/]+)/?.{3,1016}$" }, "Group":{ "type":"string", @@ -15108,7 +15110,8 @@ "MonitoringScheduleConfig":{"shape":"MonitoringScheduleConfig"}, "EndpointName":{"shape":"EndpointName"}, "MonitoringAlertSummaries":{"shape":"MonitoringAlertSummaryList"}, - "LastMonitoringExecutionSummary":{"shape":"MonitoringExecutionSummary"} + "LastMonitoringExecutionSummary":{"shape":"MonitoringExecutionSummary"}, + "BatchTransformInput":{"shape":"BatchTransformInput"} } }, "ModelDashboardMonitoringSchedules":{ @@ -15321,7 +15324,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model-package/.*" + "pattern":"^arn:aws(-cn|-us-gov)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:model-package/[\\S]{1,2048}$" }, "ModelPackageArnList":{ "type":"list", @@ -15374,7 +15377,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model-package-group/.*" + "pattern":"^arn:aws(-cn|-us-gov)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:model-package-group/[\\S]{1,2048}$" }, "ModelPackageGroupSortBy":{ "type":"string", @@ -17606,7 +17609,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:project:.*" + "pattern":"^arn:aws(-cn|-us-gov)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:project/[\\S]{1,2048}$" }, "ProjectEntityName":{ "type":"string", diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index a63804821de..8af67aa4e0e 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -1382,6 +1382,7 @@ "refs": { "DataQualityJobInput$BatchTransformInput": "

Input object for the batch transform job.

", "ModelBiasJobInput$BatchTransformInput": "

Input object for the batch transform job.

", + "ModelDashboardMonitoringSchedule$BatchTransformInput": null, "ModelExplainabilityJobInput$BatchTransformInput": "

Input object for the batch transform job.

", "ModelQualityJobInput$BatchTransformInput": "

Input object for the batch transform job.

", "MonitoringInput$BatchTransformInput": "

Input object for the batch transform job.

" diff --git a/service/connect/api.go b/service/connect/api.go index 412aa8c7d1a..f904571b845 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -1190,6 +1190,100 @@ func (c *Connect) AssociateTrafficDistributionGroupUserWithContext(ctx aws.Conte return out, req.Send() } +const opBatchGetFlowAssociation = "BatchGetFlowAssociation" + +// BatchGetFlowAssociationRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetFlowAssociation 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 BatchGetFlowAssociation for more information on using the BatchGetFlowAssociation +// 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 BatchGetFlowAssociationRequest method. +// req, resp := client.BatchGetFlowAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/BatchGetFlowAssociation +func (c *Connect) BatchGetFlowAssociationRequest(input *BatchGetFlowAssociationInput) (req *request.Request, output *BatchGetFlowAssociationOutput) { + op := &request.Operation{ + Name: opBatchGetFlowAssociation, + HTTPMethod: "POST", + HTTPPath: "/flow-associations-batch/{InstanceId}", + } + + if input == nil { + input = &BatchGetFlowAssociationInput{} + } + + output = &BatchGetFlowAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetFlowAssociation API operation for Amazon Connect Service. +// +// Retrieve the flow associations for the given resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation BatchGetFlowAssociation for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient permissions to perform this action. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// - InvalidRequestException +// The request is not valid. +// +// - InvalidParameterException +// One or more of the specified parameters are not valid. +// +// - ThrottlingException +// The throttling limit has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/BatchGetFlowAssociation +func (c *Connect) BatchGetFlowAssociation(input *BatchGetFlowAssociationInput) (*BatchGetFlowAssociationOutput, error) { + req, out := c.BatchGetFlowAssociationRequest(input) + return out, req.Send() +} + +// BatchGetFlowAssociationWithContext is the same as BatchGetFlowAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetFlowAssociation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Connect) BatchGetFlowAssociationWithContext(ctx aws.Context, input *BatchGetFlowAssociationInput, opts ...request.Option) (*BatchGetFlowAssociationOutput, error) { + req, out := c.BatchGetFlowAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opClaimPhoneNumber = "ClaimPhoneNumber" // ClaimPhoneNumberRequest generates a "aws/request.Request" representing the @@ -16042,7 +16136,8 @@ func (c *Connect) ReplicateInstanceRequest(input *ReplicateInstanceInput) (req * // ReplicateInstance API operation for Amazon Connect Service. // // Replicates an Amazon Connect instance in the specified Amazon Web Services -// Region. +// Region and copies configuration information for Amazon Connect resources +// across Amazon Web Services Regions. // // For more information about replicating an Amazon Connect instance, see Create // a replica of your existing Amazon Connect instance (https://docs.aws.amazon.com/connect/latest/adminguide/create-replica-connect-instance.html) @@ -23737,6 +23832,12 @@ type AgentStatus struct { // The display order of the agent status. DisplayOrder *int64 `min:"1" type:"integer"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the agent status. Name *string `min:"1" type:"string"` @@ -23793,6 +23894,18 @@ func (s *AgentStatus) SetDisplayOrder(v int64) *AgentStatus { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *AgentStatus) SetLastModifiedRegion(v string) *AgentStatus { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *AgentStatus) SetLastModifiedTime(v time.Time) *AgentStatus { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *AgentStatus) SetName(v string) *AgentStatus { s.Name = &v @@ -23877,6 +23990,12 @@ type AgentStatusSummary struct { // The identifier for an agent status. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the agent status. Name *string `min:"1" type:"string"` @@ -23914,6 +24033,18 @@ func (s *AgentStatusSummary) SetId(v string) *AgentStatusSummary { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *AgentStatusSummary) SetLastModifiedRegion(v string) *AgentStatusSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *AgentStatusSummary) SetLastModifiedTime(v time.Time) *AgentStatusSummary { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *AgentStatusSummary) SetName(v string) *AgentStatusSummary { s.Name = &v @@ -25325,6 +25456,114 @@ func (s *AvailableNumberSummary) SetPhoneNumberType(v string) *AvailableNumberSu return s } +type BatchGetFlowAssociationInput struct { + _ struct{} `type:"structure"` + + // 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"` + + // A list of resource identifiers to retrieve flow associations. + // + // ResourceIds is a required field + ResourceIds []*string `min:"1" type:"list" required:"true"` + + // The type of resource association. + ResourceType *string `type:"string" enum:"ListFlowAssociationResourceType"` +} + +// 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 BatchGetFlowAssociationInput) 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 BatchGetFlowAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetFlowAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetFlowAssociationInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.ResourceIds == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIds")) + } + if s.ResourceIds != nil && len(s.ResourceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *BatchGetFlowAssociationInput) SetInstanceId(v string) *BatchGetFlowAssociationInput { + s.InstanceId = &v + return s +} + +// SetResourceIds sets the ResourceIds field's value. +func (s *BatchGetFlowAssociationInput) SetResourceIds(v []*string) *BatchGetFlowAssociationInput { + s.ResourceIds = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *BatchGetFlowAssociationInput) SetResourceType(v string) *BatchGetFlowAssociationInput { + s.ResourceType = &v + return s +} + +type BatchGetFlowAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about flow associations. + FlowAssociationSummaryList []*FlowAssociationSummary `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 BatchGetFlowAssociationOutput) 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 BatchGetFlowAssociationOutput) GoString() string { + return s.String() +} + +// SetFlowAssociationSummaryList sets the FlowAssociationSummaryList field's value. +func (s *BatchGetFlowAssociationOutput) SetFlowAssociationSummaryList(v []*FlowAssociationSummary) *BatchGetFlowAssociationOutput { + s.FlowAssociationSummaryList = v + return s +} + // A chat message. type ChatMessage struct { _ struct{} `type:"structure"` @@ -27844,7 +28083,9 @@ type CreatePromptInput struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The URI for the S3 bucket where the prompt is stored. + // The URI for the S3 bucket where the prompt is stored. You can provide S3 + // pre-signed URLs returned by the GetPromptFile (https://docs.aws.amazon.com/connect/latest/APIReference/API_GetPromptFile.html) + // API instead of providing S3 URIs. // // S3Uri is a required field S3Uri *string `min:"1" type:"string" required:"true"` @@ -38577,6 +38818,56 @@ func (s *Filters) SetRoutingProfiles(v []*string) *Filters { return s } +// Information about flow associations. +type FlowAssociationSummary struct { + _ struct{} `type:"structure"` + + // The identifier of the flow. + FlowId *string `type:"string"` + + // The identifier of the resource. + ResourceId *string `type:"string"` + + // The type of resource association. + ResourceType *string `type:"string" enum:"ListFlowAssociationResourceType"` +} + +// 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 FlowAssociationSummary) 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 FlowAssociationSummary) GoString() string { + return s.String() +} + +// SetFlowId sets the FlowId field's value. +func (s *FlowAssociationSummary) SetFlowId(v string) *FlowAssociationSummary { + s.FlowId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *FlowAssociationSummary) SetResourceId(v string) *FlowAssociationSummary { + s.ResourceId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *FlowAssociationSummary) SetResourceType(v string) *FlowAssociationSummary { + s.ResourceType = &v + return s +} + type GetContactAttributesInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -40338,6 +40629,12 @@ func (s *GetPromptFileInput) SetPromptId(v string) *GetPromptFileInput { type GetPromptFileOutput struct { _ struct{} `type:"structure"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // A generated URL to the prompt that can be given to an unauthorized user so // they can access the prompt in S3. PromptPresignedUrl *string `min:"1" type:"string"` @@ -40361,6 +40658,18 @@ func (s GetPromptFileOutput) GoString() string { return s.String() } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *GetPromptFileOutput) SetLastModifiedRegion(v string) *GetPromptFileOutput { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *GetPromptFileOutput) SetLastModifiedTime(v time.Time) *GetPromptFileOutput { + s.LastModifiedTime = &v + return s +} + // SetPromptPresignedUrl sets the PromptPresignedUrl field's value. func (s *GetPromptFileOutput) SetPromptPresignedUrl(v string) *GetPromptFileOutput { s.PromptPresignedUrl = &v @@ -40730,6 +41039,12 @@ type HierarchyGroup struct { // The identifier of the hierarchy group. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The identifier of the level in the hierarchy group. LevelId *string `type:"string"` @@ -40777,6 +41092,18 @@ func (s *HierarchyGroup) SetId(v string) *HierarchyGroup { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *HierarchyGroup) SetLastModifiedRegion(v string) *HierarchyGroup { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *HierarchyGroup) SetLastModifiedTime(v time.Time) *HierarchyGroup { + s.LastModifiedTime = &v + return s +} + // SetLevelId sets the LevelId field's value. func (s *HierarchyGroup) SetLevelId(v string) *HierarchyGroup { s.LevelId = &v @@ -40846,6 +41173,12 @@ type HierarchyGroupSummary struct { // The identifier of the hierarchy group. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the hierarchy group. Name *string `type:"string"` } @@ -40880,6 +41213,18 @@ func (s *HierarchyGroupSummary) SetId(v string) *HierarchyGroupSummary { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *HierarchyGroupSummary) SetLastModifiedRegion(v string) *HierarchyGroupSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *HierarchyGroupSummary) SetLastModifiedTime(v time.Time) *HierarchyGroupSummary { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *HierarchyGroupSummary) SetName(v string) *HierarchyGroupSummary { s.Name = &v @@ -40937,6 +41282,12 @@ type HierarchyLevel struct { // The identifier of the hierarchy level. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the hierarchy level. Name *string `type:"string"` } @@ -40971,6 +41322,18 @@ func (s *HierarchyLevel) SetId(v string) *HierarchyLevel { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *HierarchyLevel) SetLastModifiedRegion(v string) *HierarchyLevel { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *HierarchyLevel) SetLastModifiedTime(v time.Time) *HierarchyLevel { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *HierarchyLevel) SetName(v string) *HierarchyLevel { s.Name = &v @@ -41490,6 +41853,12 @@ type HoursOfOperation struct { // The identifier for the hours of operation. HoursOfOperationId *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name for the hours of operation. Name *string `min:"1" type:"string"` @@ -41543,6 +41912,18 @@ func (s *HoursOfOperation) SetHoursOfOperationId(v string) *HoursOfOperation { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *HoursOfOperation) SetLastModifiedRegion(v string) *HoursOfOperation { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *HoursOfOperation) SetLastModifiedTime(v time.Time) *HoursOfOperation { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *HoursOfOperation) SetName(v string) *HoursOfOperation { s.Name = &v @@ -41747,6 +42128,12 @@ type HoursOfOperationSummary struct { // The identifier of the hours of operation. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the hours of operation. Name *string `type:"string"` } @@ -41781,6 +42168,18 @@ func (s *HoursOfOperationSummary) SetId(v string) *HoursOfOperationSummary { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *HoursOfOperationSummary) SetLastModifiedRegion(v string) *HoursOfOperationSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *HoursOfOperationSummary) SetLastModifiedTime(v time.Time) *HoursOfOperationSummary { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *HoursOfOperationSummary) SetName(v string) *HoursOfOperationSummary { s.Name = &v @@ -45871,6 +46270,12 @@ func (s *ListQueueQuickConnectsInput) SetQueueId(v string) *ListQueueQuickConnec type ListQueueQuickConnectsOutput struct { _ struct{} `type:"structure"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // If there are additional results, this is the token for the next set of results. NextToken *string `type:"string"` @@ -45896,6 +46301,18 @@ func (s ListQueueQuickConnectsOutput) GoString() string { return s.String() } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *ListQueueQuickConnectsOutput) SetLastModifiedRegion(v string) *ListQueueQuickConnectsOutput { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *ListQueueQuickConnectsOutput) SetLastModifiedTime(v time.Time) *ListQueueQuickConnectsOutput { + s.LastModifiedTime = &v + return s +} + // SetNextToken sets the NextToken field's value. func (s *ListQueueQuickConnectsOutput) SetNextToken(v string) *ListQueueQuickConnectsOutput { s.NextToken = &v @@ -46250,6 +46667,12 @@ func (s *ListRoutingProfileQueuesInput) SetRoutingProfileId(v string) *ListRouti type ListRoutingProfileQueuesOutput struct { _ struct{} `type:"structure"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // If there are additional results, this is the token for the next set of results. NextToken *string `type:"string"` @@ -46275,6 +46698,18 @@ func (s ListRoutingProfileQueuesOutput) GoString() string { return s.String() } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *ListRoutingProfileQueuesOutput) SetLastModifiedRegion(v string) *ListRoutingProfileQueuesOutput { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *ListRoutingProfileQueuesOutput) SetLastModifiedTime(v time.Time) *ListRoutingProfileQueuesOutput { + s.LastModifiedTime = &v + return s +} + // SetNextToken sets the NextToken field's value. func (s *ListRoutingProfileQueuesOutput) SetNextToken(v string) *ListRoutingProfileQueuesOutput { s.NextToken = &v @@ -46745,6 +47180,12 @@ type ListSecurityProfileApplicationsOutput struct { // A list of the third-party application's metadata. Applications []*Application `type:"list"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // If there are additional results, this is the token for the next set of results. NextToken *string `type:"string"` } @@ -46773,6 +47214,18 @@ func (s *ListSecurityProfileApplicationsOutput) SetApplications(v []*Application return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *ListSecurityProfileApplicationsOutput) SetLastModifiedRegion(v string) *ListSecurityProfileApplicationsOutput { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *ListSecurityProfileApplicationsOutput) SetLastModifiedTime(v time.Time) *ListSecurityProfileApplicationsOutput { + s.LastModifiedTime = &v + return s +} + // SetNextToken sets the NextToken field's value. func (s *ListSecurityProfileApplicationsOutput) SetNextToken(v string) *ListSecurityProfileApplicationsOutput { s.NextToken = &v @@ -46872,6 +47325,12 @@ func (s *ListSecurityProfilePermissionsInput) SetSecurityProfileId(v string) *Li type ListSecurityProfilePermissionsOutput struct { _ struct{} `type:"structure"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // If there are additional results, this is the token for the next set of results. NextToken *string `type:"string"` @@ -46898,6 +47357,18 @@ func (s ListSecurityProfilePermissionsOutput) GoString() string { return s.String() } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *ListSecurityProfilePermissionsOutput) SetLastModifiedRegion(v string) *ListSecurityProfilePermissionsOutput { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *ListSecurityProfilePermissionsOutput) SetLastModifiedTime(v time.Time) *ListSecurityProfilePermissionsOutput { + s.LastModifiedTime = &v + return s +} + // SetNextToken sets the NextToken field's value. func (s *ListSecurityProfilePermissionsOutput) SetNextToken(v string) *ListSecurityProfilePermissionsOutput { s.NextToken = &v @@ -49550,6 +50021,12 @@ type Prompt struct { // The description of the prompt. Description *string `min:"1" type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the prompt. Name *string `min:"1" type:"string"` @@ -49588,6 +50065,18 @@ func (s *Prompt) SetDescription(v string) *Prompt { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *Prompt) SetLastModifiedRegion(v string) *Prompt { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Prompt) SetLastModifiedTime(v time.Time) *Prompt { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *Prompt) SetName(v string) *Prompt { s.Name = &v @@ -49712,6 +50201,12 @@ type PromptSummary struct { // The identifier of the prompt. Id *string `min:"1" type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the prompt. Name *string `min:"1" type:"string"` } @@ -49746,6 +50241,18 @@ func (s *PromptSummary) SetId(v string) *PromptSummary { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *PromptSummary) SetLastModifiedRegion(v string) *PromptSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *PromptSummary) SetLastModifiedTime(v time.Time) *PromptSummary { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *PromptSummary) SetName(v string) *PromptSummary { s.Name = &v @@ -49988,6 +50495,12 @@ type Queue struct { // The identifier for the hours of operation. HoursOfOperationId *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The maximum number of contacts that can be in the queue before it is considered // full. MaxContacts *int64 `type:"integer"` @@ -50042,6 +50555,18 @@ func (s *Queue) SetHoursOfOperationId(v string) *Queue { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *Queue) SetLastModifiedRegion(v string) *Queue { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Queue) SetLastModifiedTime(v time.Time) *Queue { + s.LastModifiedTime = &v + return s +} + // SetMaxContacts sets the MaxContacts field's value. func (s *Queue) SetMaxContacts(v int64) *Queue { s.MaxContacts = &v @@ -50341,6 +50866,12 @@ type QueueSummary struct { // The identifier of the queue. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the queue. Name *string `min:"1" type:"string"` @@ -50378,6 +50909,18 @@ func (s *QueueSummary) SetId(v string) *QueueSummary { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *QueueSummary) SetLastModifiedRegion(v string) *QueueSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *QueueSummary) SetLastModifiedTime(v time.Time) *QueueSummary { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *QueueSummary) SetName(v string) *QueueSummary { s.Name = &v @@ -50397,6 +50940,12 @@ type QuickConnect struct { // The description. Description *string `min:"1" type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the quick connect. Name *string `min:"1" type:"string"` @@ -50438,6 +50987,18 @@ func (s *QuickConnect) SetDescription(v string) *QuickConnect { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *QuickConnect) SetLastModifiedRegion(v string) *QuickConnect { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *QuickConnect) SetLastModifiedTime(v time.Time) *QuickConnect { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *QuickConnect) SetName(v string) *QuickConnect { s.Name = &v @@ -50659,6 +51220,12 @@ type QuickConnectSummary struct { // The identifier for the quick connect. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the quick connect. Name *string `min:"1" type:"string"` @@ -50698,6 +51265,18 @@ func (s *QuickConnectSummary) SetId(v string) *QuickConnectSummary { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *QuickConnectSummary) SetLastModifiedRegion(v string) *QuickConnectSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *QuickConnectSummary) SetLastModifiedTime(v time.Time) *QuickConnectSummary { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *QuickConnectSummary) SetName(v string) *QuickConnectSummary { s.Name = &v @@ -51601,6 +52180,15 @@ type RoutingProfile struct { // in the Amazon Resource Name (ARN) of the instance. InstanceId *string `min:"1" type:"string"` + // Whether this a default routing profile. + IsDefault *bool `type:"boolean"` + + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The channels agents can handle in the Contact Control Panel (CCP) for this // routing profile. MediaConcurrencies []*MediaConcurrency `type:"list"` @@ -51667,6 +52255,24 @@ func (s *RoutingProfile) SetInstanceId(v string) *RoutingProfile { return s } +// SetIsDefault sets the IsDefault field's value. +func (s *RoutingProfile) SetIsDefault(v bool) *RoutingProfile { + s.IsDefault = &v + return s +} + +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *RoutingProfile) SetLastModifiedRegion(v string) *RoutingProfile { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *RoutingProfile) SetLastModifiedTime(v time.Time) *RoutingProfile { + s.LastModifiedTime = &v + return s +} + // SetMediaConcurrencies sets the MediaConcurrencies field's value. func (s *RoutingProfile) SetMediaConcurrencies(v []*MediaConcurrency) *RoutingProfile { s.MediaConcurrencies = v @@ -52097,6 +52703,12 @@ type RoutingProfileSummary struct { // The identifier of the routing profile. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the routing profile. Name *string `min:"1" type:"string"` } @@ -52131,6 +52743,18 @@ func (s *RoutingProfileSummary) SetId(v string) *RoutingProfileSummary { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *RoutingProfileSummary) SetLastModifiedRegion(v string) *RoutingProfileSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *RoutingProfileSummary) SetLastModifiedTime(v time.Time) *RoutingProfileSummary { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *RoutingProfileSummary) SetName(v string) *RoutingProfileSummary { s.Name = &v @@ -54173,6 +54797,12 @@ type SecurityProfile struct { // The identifier for the security profile. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The organization resource identifier for the security profile. OrganizationResourceId *string `min:"1" type:"string"` @@ -54230,6 +54860,18 @@ func (s *SecurityProfile) SetId(v string) *SecurityProfile { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *SecurityProfile) SetLastModifiedRegion(v string) *SecurityProfile { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *SecurityProfile) SetLastModifiedTime(v time.Time) *SecurityProfile { + s.LastModifiedTime = &v + return s +} + // SetOrganizationResourceId sets the OrganizationResourceId field's value. func (s *SecurityProfile) SetOrganizationResourceId(v string) *SecurityProfile { s.OrganizationResourceId = &v @@ -54396,6 +55038,12 @@ type SecurityProfileSummary struct { // The identifier of the security profile. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The name of the security profile. Name *string `type:"string"` } @@ -54430,6 +55078,18 @@ func (s *SecurityProfileSummary) SetId(v string) *SecurityProfileSummary { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *SecurityProfileSummary) SetLastModifiedRegion(v string) *SecurityProfileSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *SecurityProfileSummary) SetLastModifiedTime(v time.Time) *SecurityProfileSummary { + s.LastModifiedTime = &v + return s +} + // SetName sets the Name field's value. func (s *SecurityProfileSummary) SetName(v string) *SecurityProfileSummary { s.Name = &v @@ -57627,9 +58287,11 @@ type TrafficDistributionGroup struct { // the DeleteTrafficDistributionGroup API. The default traffic distribution // group is deleted as part of the process for deleting a replica. // - // The SignInConfig distribution is available only on the default TrafficDistributionGroup. - // If you call UpdateTrafficDistribution with a modified SignInConfig and a - // non-default TrafficDistributionGroup, an InvalidRequestException is returned. + // The SignInConfig distribution is available only on a default TrafficDistributionGroup + // (see the IsDefault parameter in the TrafficDistributionGroup (https://docs.aws.amazon.com/connect/latest/APIReference/API_TrafficDistributionGroup.html) + // data type). If you call UpdateTrafficDistribution with a modified SignInConfig + // and a non-default TrafficDistributionGroup, an InvalidRequestException is + // returned. IsDefault *bool `type:"boolean"` // The name of the traffic distribution group. @@ -60283,7 +60945,9 @@ type UpdatePromptInput struct { // PromptId is a required field PromptId *string `location:"uri" locationName:"PromptId" min:"1" type:"string" required:"true"` - // The URI for the S3 bucket where the prompt is stored. + // The URI for the S3 bucket where the prompt is stored. You can provide S3 + // pre-signed URLs returned by the GetPromptFile (https://docs.aws.amazon.com/connect/latest/APIReference/API_GetPromptFile.html) + // API instead of providing S3 URIs. S3Uri *string `min:"1" type:"string"` } @@ -63521,6 +64185,12 @@ type User struct { // Information about the user identity. IdentityInfo *UserIdentityInfo `type:"structure"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // Information about the phone configuration for the user. PhoneConfig *UserPhoneConfig `type:"structure"` @@ -63585,6 +64255,18 @@ func (s *User) SetIdentityInfo(v *UserIdentityInfo) *User { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *User) SetLastModifiedRegion(v string) *User { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *User) SetLastModifiedTime(v time.Time) *User { + s.LastModifiedTime = &v + return s +} + // SetPhoneConfig sets the PhoneConfig field's value. func (s *User) SetPhoneConfig(v *UserPhoneConfig) *User { s.PhoneConfig = v @@ -64421,6 +65103,12 @@ type UserSummary struct { // The identifier of the user account. Id *string `type:"string"` + // The Amazon Web Services Region where this resource was last modified. + LastModifiedRegion *string `type:"string"` + + // The timestamp when this resource was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + // The Amazon Connect user name of the user account. Username *string `min:"1" type:"string"` } @@ -64455,6 +65143,18 @@ func (s *UserSummary) SetId(v string) *UserSummary { return s } +// SetLastModifiedRegion sets the LastModifiedRegion field's value. +func (s *UserSummary) SetLastModifiedRegion(v string) *UserSummary { + s.LastModifiedRegion = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *UserSummary) SetLastModifiedTime(v time.Time) *UserSummary { + s.LastModifiedTime = &v + return s +} + // SetUsername sets the Username field's value. func (s *UserSummary) SetUsername(v string) *UserSummary { s.Username = &v @@ -66082,6 +66782,22 @@ func LexVersion_Values() []string { } } +const ( + // ListFlowAssociationResourceTypeSmsPhoneNumber is a ListFlowAssociationResourceType enum value + ListFlowAssociationResourceTypeSmsPhoneNumber = "SMS_PHONE_NUMBER" + + // ListFlowAssociationResourceTypeVoicePhoneNumber is a ListFlowAssociationResourceType enum value + ListFlowAssociationResourceTypeVoicePhoneNumber = "VOICE_PHONE_NUMBER" +) + +// ListFlowAssociationResourceType_Values returns all elements of the ListFlowAssociationResourceType enum +func ListFlowAssociationResourceType_Values() []string { + return []string{ + ListFlowAssociationResourceTypeSmsPhoneNumber, + ListFlowAssociationResourceTypeVoicePhoneNumber, + } +} + const ( // MonitorCapabilitySilentMonitor is a MonitorCapability enum value MonitorCapabilitySilentMonitor = "SILENT_MONITOR" diff --git a/service/connect/connectiface/interface.go b/service/connect/connectiface/interface.go index 59f9497437d..eff76ddc07a 100644 --- a/service/connect/connectiface/interface.go +++ b/service/connect/connectiface/interface.go @@ -108,6 +108,10 @@ type ConnectAPI interface { AssociateTrafficDistributionGroupUserWithContext(aws.Context, *connect.AssociateTrafficDistributionGroupUserInput, ...request.Option) (*connect.AssociateTrafficDistributionGroupUserOutput, error) AssociateTrafficDistributionGroupUserRequest(*connect.AssociateTrafficDistributionGroupUserInput) (*request.Request, *connect.AssociateTrafficDistributionGroupUserOutput) + BatchGetFlowAssociation(*connect.BatchGetFlowAssociationInput) (*connect.BatchGetFlowAssociationOutput, error) + BatchGetFlowAssociationWithContext(aws.Context, *connect.BatchGetFlowAssociationInput, ...request.Option) (*connect.BatchGetFlowAssociationOutput, error) + BatchGetFlowAssociationRequest(*connect.BatchGetFlowAssociationInput) (*request.Request, *connect.BatchGetFlowAssociationOutput) + ClaimPhoneNumber(*connect.ClaimPhoneNumberInput) (*connect.ClaimPhoneNumberOutput, error) ClaimPhoneNumberWithContext(aws.Context, *connect.ClaimPhoneNumberInput, ...request.Option) (*connect.ClaimPhoneNumberOutput, error) ClaimPhoneNumberRequest(*connect.ClaimPhoneNumberInput) (*request.Request, *connect.ClaimPhoneNumberOutput) diff --git a/service/globalaccelerator/api.go b/service/globalaccelerator/api.go index 1e69cbec16a..0ece144cdf6 100644 --- a/service/globalaccelerator/api.go +++ b/service/globalaccelerator/api.go @@ -526,6 +526,109 @@ func (c *GlobalAccelerator) CreateAcceleratorWithContext(ctx aws.Context, input return out, req.Send() } +const opCreateCrossAccountAttachment = "CreateCrossAccountAttachment" + +// CreateCrossAccountAttachmentRequest generates a "aws/request.Request" representing the +// client's request for the CreateCrossAccountAttachment 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 CreateCrossAccountAttachment for more information on using the CreateCrossAccountAttachment +// 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 CreateCrossAccountAttachmentRequest method. +// req, resp := client.CreateCrossAccountAttachmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCrossAccountAttachment +func (c *GlobalAccelerator) CreateCrossAccountAttachmentRequest(input *CreateCrossAccountAttachmentInput) (req *request.Request, output *CreateCrossAccountAttachmentOutput) { + op := &request.Operation{ + Name: opCreateCrossAccountAttachment, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCrossAccountAttachmentInput{} + } + + output = &CreateCrossAccountAttachmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCrossAccountAttachment API operation for AWS Global Accelerator. +// +// Create a cross-account attachment in Global Accelerator. You create a cross-account +// attachment to specify the principals who have permission to add to accelerators +// in their own account the resources in your account that you also list in +// the attachment. +// +// A principal can be an Amazon Web Services account number or the Amazon Resource +// Name (ARN) for an accelerator. For account numbers that are listed as principals, +// to add a resource listed in the attachment to an accelerator, you must sign +// in to an account specified as a principal. Then you can add the resources +// that are listed to any of your accelerators. If an accelerator ARN is listed +// in the cross-account attachment as a principal, anyone with permission to +// make updates to the accelerator can add as endpoints resources that are listed +// in the attachment. +// +// 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 Global Accelerator's +// API operation CreateCrossAccountAttachment for usage and error information. +// +// Returned Error Types: +// +// - InternalServiceErrorException +// There was an internal error for Global Accelerator. +// +// - InvalidArgumentException +// An argument that you specified is invalid. +// +// - LimitExceededException +// Processing your request would cause you to exceed an Global Accelerator limit. +// +// - AccessDeniedException +// You don't have access permission. +// +// - TransactionInProgressException +// There's already a transaction in progress. Another transaction can't be processed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateCrossAccountAttachment +func (c *GlobalAccelerator) CreateCrossAccountAttachment(input *CreateCrossAccountAttachmentInput) (*CreateCrossAccountAttachmentOutput, error) { + req, out := c.CreateCrossAccountAttachmentRequest(input) + return out, req.Send() +} + +// CreateCrossAccountAttachmentWithContext is the same as CreateCrossAccountAttachment with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCrossAccountAttachment 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 *GlobalAccelerator) CreateCrossAccountAttachmentWithContext(ctx aws.Context, input *CreateCrossAccountAttachmentInput, opts ...request.Option) (*CreateCrossAccountAttachmentOutput, error) { + req, out := c.CreateCrossAccountAttachmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateCustomRoutingAccelerator = "CreateCustomRoutingAccelerator" // CreateCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the @@ -1133,6 +1236,115 @@ func (c *GlobalAccelerator) DeleteAcceleratorWithContext(ctx aws.Context, input return out, req.Send() } +const opDeleteCrossAccountAttachment = "DeleteCrossAccountAttachment" + +// DeleteCrossAccountAttachmentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCrossAccountAttachment 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 DeleteCrossAccountAttachment for more information on using the DeleteCrossAccountAttachment +// 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 DeleteCrossAccountAttachmentRequest method. +// req, resp := client.DeleteCrossAccountAttachmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCrossAccountAttachment +func (c *GlobalAccelerator) DeleteCrossAccountAttachmentRequest(input *DeleteCrossAccountAttachmentInput) (req *request.Request, output *DeleteCrossAccountAttachmentOutput) { + op := &request.Operation{ + Name: opDeleteCrossAccountAttachment, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCrossAccountAttachmentInput{} + } + + output = &DeleteCrossAccountAttachmentOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteCrossAccountAttachment API operation for AWS Global Accelerator. +// +// Delete a cross-account attachment. When you delete an attachment, Global +// Accelerator revokes the permission to use the resources in the attachment +// from all principals in the list of principals. Global Accelerator revokes +// the permission for specific resources by doing the following: +// +// - If the principal is an account ID, Global Accelerator reviews every +// accelerator in the account and removes cross-account endpoints from all +// accelerators. +// +// - If the principal is an accelerator, Global Accelerator reviews just +// that accelerator and removes cross-account endpoints from it. +// +// If there are overlapping permissions provided by multiple cross-account attachments, +// Global Accelerator only removes endpoints if there are no current cross-account +// attachments that provide access permission. For example, if you delete a +// cross-account attachment that lists an accelerator as a principal, but another +// cross-account attachment includes the account ID that owns that accelerator, +// endpoints will not be removed from the accelerator. +// +// 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 Global Accelerator's +// API operation DeleteCrossAccountAttachment for usage and error information. +// +// Returned Error Types: +// +// - AttachmentNotFoundException +// No cross-account attachment was found. +// +// - AccessDeniedException +// You don't have access permission. +// +// - InternalServiceErrorException +// There was an internal error for Global Accelerator. +// +// - InvalidArgumentException +// An argument that you specified is invalid. +// +// - TransactionInProgressException +// There's already a transaction in progress. Another transaction can't be processed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteCrossAccountAttachment +func (c *GlobalAccelerator) DeleteCrossAccountAttachment(input *DeleteCrossAccountAttachmentInput) (*DeleteCrossAccountAttachmentOutput, error) { + req, out := c.DeleteCrossAccountAttachmentRequest(input) + return out, req.Send() +} + +// DeleteCrossAccountAttachmentWithContext is the same as DeleteCrossAccountAttachment with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCrossAccountAttachment 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 *GlobalAccelerator) DeleteCrossAccountAttachmentWithContext(ctx aws.Context, input *DeleteCrossAccountAttachmentInput, opts ...request.Option) (*DeleteCrossAccountAttachmentOutput, error) { + req, out := c.DeleteCrossAccountAttachmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteCustomRoutingAccelerator = "DeleteCustomRoutingAccelerator" // DeleteCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the @@ -1963,6 +2175,94 @@ func (c *GlobalAccelerator) DescribeAcceleratorAttributesWithContext(ctx aws.Con return out, req.Send() } +const opDescribeCrossAccountAttachment = "DescribeCrossAccountAttachment" + +// DescribeCrossAccountAttachmentRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCrossAccountAttachment 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 DescribeCrossAccountAttachment for more information on using the DescribeCrossAccountAttachment +// 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 DescribeCrossAccountAttachmentRequest method. +// req, resp := client.DescribeCrossAccountAttachmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCrossAccountAttachment +func (c *GlobalAccelerator) DescribeCrossAccountAttachmentRequest(input *DescribeCrossAccountAttachmentInput) (req *request.Request, output *DescribeCrossAccountAttachmentOutput) { + op := &request.Operation{ + Name: opDescribeCrossAccountAttachment, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeCrossAccountAttachmentInput{} + } + + output = &DescribeCrossAccountAttachmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCrossAccountAttachment API operation for AWS Global Accelerator. +// +// Gets configuration information about a cross-account attachment. +// +// 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 Global Accelerator's +// API operation DescribeCrossAccountAttachment for usage and error information. +// +// Returned Error Types: +// +// - AttachmentNotFoundException +// No cross-account attachment was found. +// +// - AccessDeniedException +// You don't have access permission. +// +// - InternalServiceErrorException +// There was an internal error for Global Accelerator. +// +// - InvalidArgumentException +// An argument that you specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeCrossAccountAttachment +func (c *GlobalAccelerator) DescribeCrossAccountAttachment(input *DescribeCrossAccountAttachmentInput) (*DescribeCrossAccountAttachmentOutput, error) { + req, out := c.DescribeCrossAccountAttachmentRequest(input) + return out, req.Send() +} + +// DescribeCrossAccountAttachmentWithContext is the same as DescribeCrossAccountAttachment with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCrossAccountAttachment 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 *GlobalAccelerator) DescribeCrossAccountAttachmentWithContext(ctx aws.Context, input *DescribeCrossAccountAttachmentInput, opts ...request.Option) (*DescribeCrossAccountAttachmentOutput, error) { + req, out := c.DescribeCrossAccountAttachmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeCustomRoutingAccelerator = "DescribeCustomRoutingAccelerator" // DescribeCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the @@ -2762,34 +3062,34 @@ func (c *GlobalAccelerator) ListByoipCidrsPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opListCustomRoutingAccelerators = "ListCustomRoutingAccelerators" +const opListCrossAccountAttachments = "ListCrossAccountAttachments" -// ListCustomRoutingAcceleratorsRequest generates a "aws/request.Request" representing the -// client's request for the ListCustomRoutingAccelerators operation. The "output" return +// ListCrossAccountAttachmentsRequest generates a "aws/request.Request" representing the +// client's request for the ListCrossAccountAttachments 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 ListCustomRoutingAccelerators for more information on using the ListCustomRoutingAccelerators +// See ListCrossAccountAttachments for more information on using the ListCrossAccountAttachments // 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 ListCustomRoutingAcceleratorsRequest method. -// req, resp := client.ListCustomRoutingAcceleratorsRequest(params) +// // Example sending a request using the ListCrossAccountAttachmentsRequest method. +// req, resp := client.ListCrossAccountAttachmentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAccelerators -func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsRequest(input *ListCustomRoutingAcceleratorsInput) (req *request.Request, output *ListCustomRoutingAcceleratorsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCrossAccountAttachments +func (c *GlobalAccelerator) ListCrossAccountAttachmentsRequest(input *ListCrossAccountAttachmentsInput) (req *request.Request, output *ListCrossAccountAttachmentsOutput) { op := &request.Operation{ - Name: opListCustomRoutingAccelerators, + Name: opListCrossAccountAttachments, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2801,27 +3101,30 @@ func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsRequest(input *ListCust } if input == nil { - input = &ListCustomRoutingAcceleratorsInput{} + input = &ListCrossAccountAttachmentsInput{} } - output = &ListCustomRoutingAcceleratorsOutput{} + output = &ListCrossAccountAttachmentsOutput{} req = c.newRequest(op, input, output) return } -// ListCustomRoutingAccelerators API operation for AWS Global Accelerator. +// ListCrossAccountAttachments API operation for AWS Global Accelerator. // -// List the custom routing accelerators for an Amazon Web Services account. +// List the cross-account attachments that have been created in Global Accelerator. // // 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 Global Accelerator's -// API operation ListCustomRoutingAccelerators for usage and error information. +// API operation ListCrossAccountAttachments for usage and error information. // // Returned Error Types: // +// - AccessDeniedException +// You don't have access permission. +// // - InvalidArgumentException // An argument that you specified is invalid. // @@ -2831,64 +3134,64 @@ func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsRequest(input *ListCust // - InternalServiceErrorException // There was an internal error for Global Accelerator. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAccelerators -func (c *GlobalAccelerator) ListCustomRoutingAccelerators(input *ListCustomRoutingAcceleratorsInput) (*ListCustomRoutingAcceleratorsOutput, error) { - req, out := c.ListCustomRoutingAcceleratorsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCrossAccountAttachments +func (c *GlobalAccelerator) ListCrossAccountAttachments(input *ListCrossAccountAttachmentsInput) (*ListCrossAccountAttachmentsOutput, error) { + req, out := c.ListCrossAccountAttachmentsRequest(input) return out, req.Send() } -// ListCustomRoutingAcceleratorsWithContext is the same as ListCustomRoutingAccelerators with the addition of +// ListCrossAccountAttachmentsWithContext is the same as ListCrossAccountAttachments with the addition of // the ability to pass a context and additional request options. // -// See ListCustomRoutingAccelerators for details on how to use this API operation. +// See ListCrossAccountAttachments 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 *GlobalAccelerator) ListCustomRoutingAcceleratorsWithContext(ctx aws.Context, input *ListCustomRoutingAcceleratorsInput, opts ...request.Option) (*ListCustomRoutingAcceleratorsOutput, error) { - req, out := c.ListCustomRoutingAcceleratorsRequest(input) +func (c *GlobalAccelerator) ListCrossAccountAttachmentsWithContext(ctx aws.Context, input *ListCrossAccountAttachmentsInput, opts ...request.Option) (*ListCrossAccountAttachmentsOutput, error) { + req, out := c.ListCrossAccountAttachmentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListCustomRoutingAcceleratorsPages iterates over the pages of a ListCustomRoutingAccelerators operation, +// ListCrossAccountAttachmentsPages iterates over the pages of a ListCrossAccountAttachments operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListCustomRoutingAccelerators method for more information on how to use this operation. +// See ListCrossAccountAttachments 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 ListCustomRoutingAccelerators operation. +// // Example iterating over at most 3 pages of a ListCrossAccountAttachments operation. // pageNum := 0 -// err := client.ListCustomRoutingAcceleratorsPages(params, -// func(page *globalaccelerator.ListCustomRoutingAcceleratorsOutput, lastPage bool) bool { +// err := client.ListCrossAccountAttachmentsPages(params, +// func(page *globalaccelerator.ListCrossAccountAttachmentsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsPages(input *ListCustomRoutingAcceleratorsInput, fn func(*ListCustomRoutingAcceleratorsOutput, bool) bool) error { - return c.ListCustomRoutingAcceleratorsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *GlobalAccelerator) ListCrossAccountAttachmentsPages(input *ListCrossAccountAttachmentsInput, fn func(*ListCrossAccountAttachmentsOutput, bool) bool) error { + return c.ListCrossAccountAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListCustomRoutingAcceleratorsPagesWithContext same as ListCustomRoutingAcceleratorsPages except +// ListCrossAccountAttachmentsPagesWithContext same as ListCrossAccountAttachmentsPages 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 *GlobalAccelerator) ListCustomRoutingAcceleratorsPagesWithContext(ctx aws.Context, input *ListCustomRoutingAcceleratorsInput, fn func(*ListCustomRoutingAcceleratorsOutput, bool) bool, opts ...request.Option) error { +func (c *GlobalAccelerator) ListCrossAccountAttachmentsPagesWithContext(ctx aws.Context, input *ListCrossAccountAttachmentsInput, fn func(*ListCrossAccountAttachmentsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListCustomRoutingAcceleratorsInput + var inCpy *ListCrossAccountAttachmentsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListCustomRoutingAcceleratorsRequest(inCpy) + req, _ := c.ListCrossAccountAttachmentsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2896,7 +3199,7 @@ func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsPagesWithContext(ctx aw } for p.Next() { - if !fn(p.Page().(*ListCustomRoutingAcceleratorsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCrossAccountAttachmentsOutput), !p.HasNextPage()) { break } } @@ -2904,39 +3207,411 @@ func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsPagesWithContext(ctx aw return p.Err() } -const opListCustomRoutingEndpointGroups = "ListCustomRoutingEndpointGroups" +const opListCrossAccountResourceAccounts = "ListCrossAccountResourceAccounts" -// ListCustomRoutingEndpointGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListCustomRoutingEndpointGroups operation. The "output" return +// ListCrossAccountResourceAccountsRequest generates a "aws/request.Request" representing the +// client's request for the ListCrossAccountResourceAccounts 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 ListCustomRoutingEndpointGroups for more information on using the ListCustomRoutingEndpointGroups +// See ListCrossAccountResourceAccounts for more information on using the ListCrossAccountResourceAccounts // 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 ListCustomRoutingEndpointGroupsRequest method. -// req, resp := client.ListCustomRoutingEndpointGroupsRequest(params) +// // Example sending a request using the ListCrossAccountResourceAccountsRequest method. +// req, resp := client.ListCrossAccountResourceAccountsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingEndpointGroups -func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsRequest(input *ListCustomRoutingEndpointGroupsInput) (req *request.Request, output *ListCustomRoutingEndpointGroupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCrossAccountResourceAccounts +func (c *GlobalAccelerator) ListCrossAccountResourceAccountsRequest(input *ListCrossAccountResourceAccountsInput) (req *request.Request, output *ListCrossAccountResourceAccountsOutput) { op := &request.Operation{ - Name: opListCustomRoutingEndpointGroups, + Name: opListCrossAccountResourceAccounts, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, + } + + if input == nil { + input = &ListCrossAccountResourceAccountsInput{} + } + + output = &ListCrossAccountResourceAccountsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCrossAccountResourceAccounts API operation for AWS Global Accelerator. +// +// List the accounts that have cross-account endpoints. +// +// 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 Global Accelerator's +// API operation ListCrossAccountResourceAccounts for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have access permission. +// +// - InternalServiceErrorException +// There was an internal error for Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCrossAccountResourceAccounts +func (c *GlobalAccelerator) ListCrossAccountResourceAccounts(input *ListCrossAccountResourceAccountsInput) (*ListCrossAccountResourceAccountsOutput, error) { + req, out := c.ListCrossAccountResourceAccountsRequest(input) + return out, req.Send() +} + +// ListCrossAccountResourceAccountsWithContext is the same as ListCrossAccountResourceAccounts with the addition of +// the ability to pass a context and additional request options. +// +// See ListCrossAccountResourceAccounts 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 *GlobalAccelerator) ListCrossAccountResourceAccountsWithContext(ctx aws.Context, input *ListCrossAccountResourceAccountsInput, opts ...request.Option) (*ListCrossAccountResourceAccountsOutput, error) { + req, out := c.ListCrossAccountResourceAccountsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListCrossAccountResources = "ListCrossAccountResources" + +// ListCrossAccountResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListCrossAccountResources 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 ListCrossAccountResources for more information on using the ListCrossAccountResources +// 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 ListCrossAccountResourcesRequest method. +// req, resp := client.ListCrossAccountResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCrossAccountResources +func (c *GlobalAccelerator) ListCrossAccountResourcesRequest(input *ListCrossAccountResourcesInput) (req *request.Request, output *ListCrossAccountResourcesOutput) { + op := &request.Operation{ + Name: opListCrossAccountResources, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCrossAccountResourcesInput{} + } + + output = &ListCrossAccountResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCrossAccountResources API operation for AWS Global Accelerator. +// +// List the cross-account endpoints available to add to an accelerator. +// +// 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 Global Accelerator's +// API operation ListCrossAccountResources for usage and error information. +// +// Returned Error Types: +// +// - InternalServiceErrorException +// There was an internal error for Global Accelerator. +// +// - InvalidArgumentException +// An argument that you specified is invalid. +// +// - InvalidNextTokenException +// There isn't another item to return. +// +// - AccessDeniedException +// You don't have access permission. +// +// - AcceleratorNotFoundException +// The accelerator that you specified doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCrossAccountResources +func (c *GlobalAccelerator) ListCrossAccountResources(input *ListCrossAccountResourcesInput) (*ListCrossAccountResourcesOutput, error) { + req, out := c.ListCrossAccountResourcesRequest(input) + return out, req.Send() +} + +// ListCrossAccountResourcesWithContext is the same as ListCrossAccountResources with the addition of +// the ability to pass a context and additional request options. +// +// See ListCrossAccountResources 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 *GlobalAccelerator) ListCrossAccountResourcesWithContext(ctx aws.Context, input *ListCrossAccountResourcesInput, opts ...request.Option) (*ListCrossAccountResourcesOutput, error) { + req, out := c.ListCrossAccountResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCrossAccountResourcesPages iterates over the pages of a ListCrossAccountResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCrossAccountResources 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 ListCrossAccountResources operation. +// pageNum := 0 +// err := client.ListCrossAccountResourcesPages(params, +// func(page *globalaccelerator.ListCrossAccountResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *GlobalAccelerator) ListCrossAccountResourcesPages(input *ListCrossAccountResourcesInput, fn func(*ListCrossAccountResourcesOutput, bool) bool) error { + return c.ListCrossAccountResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCrossAccountResourcesPagesWithContext same as ListCrossAccountResourcesPages 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 *GlobalAccelerator) ListCrossAccountResourcesPagesWithContext(ctx aws.Context, input *ListCrossAccountResourcesInput, fn func(*ListCrossAccountResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCrossAccountResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCrossAccountResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCrossAccountResourcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListCustomRoutingAccelerators = "ListCustomRoutingAccelerators" + +// ListCustomRoutingAcceleratorsRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomRoutingAccelerators 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 ListCustomRoutingAccelerators for more information on using the ListCustomRoutingAccelerators +// 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 ListCustomRoutingAcceleratorsRequest method. +// req, resp := client.ListCustomRoutingAcceleratorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAccelerators +func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsRequest(input *ListCustomRoutingAcceleratorsInput) (req *request.Request, output *ListCustomRoutingAcceleratorsOutput) { + op := &request.Operation{ + Name: opListCustomRoutingAccelerators, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListCustomRoutingAcceleratorsInput{} + } + + output = &ListCustomRoutingAcceleratorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCustomRoutingAccelerators API operation for AWS Global Accelerator. +// +// List the custom routing accelerators for an Amazon Web Services account. +// +// 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 Global Accelerator's +// API operation ListCustomRoutingAccelerators for usage and error information. +// +// Returned Error Types: +// +// - InvalidArgumentException +// An argument that you specified is invalid. +// +// - InvalidNextTokenException +// There isn't another item to return. +// +// - InternalServiceErrorException +// There was an internal error for Global Accelerator. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingAccelerators +func (c *GlobalAccelerator) ListCustomRoutingAccelerators(input *ListCustomRoutingAcceleratorsInput) (*ListCustomRoutingAcceleratorsOutput, error) { + req, out := c.ListCustomRoutingAcceleratorsRequest(input) + return out, req.Send() +} + +// ListCustomRoutingAcceleratorsWithContext is the same as ListCustomRoutingAccelerators with the addition of +// the ability to pass a context and additional request options. +// +// See ListCustomRoutingAccelerators 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 *GlobalAccelerator) ListCustomRoutingAcceleratorsWithContext(ctx aws.Context, input *ListCustomRoutingAcceleratorsInput, opts ...request.Option) (*ListCustomRoutingAcceleratorsOutput, error) { + req, out := c.ListCustomRoutingAcceleratorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListCustomRoutingAcceleratorsPages iterates over the pages of a ListCustomRoutingAccelerators operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCustomRoutingAccelerators 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 ListCustomRoutingAccelerators operation. +// pageNum := 0 +// err := client.ListCustomRoutingAcceleratorsPages(params, +// func(page *globalaccelerator.ListCustomRoutingAcceleratorsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *GlobalAccelerator) ListCustomRoutingAcceleratorsPages(input *ListCustomRoutingAcceleratorsInput, fn func(*ListCustomRoutingAcceleratorsOutput, bool) bool) error { + return c.ListCustomRoutingAcceleratorsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCustomRoutingAcceleratorsPagesWithContext same as ListCustomRoutingAcceleratorsPages 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 *GlobalAccelerator) ListCustomRoutingAcceleratorsPagesWithContext(ctx aws.Context, input *ListCustomRoutingAcceleratorsInput, fn func(*ListCustomRoutingAcceleratorsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCustomRoutingAcceleratorsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCustomRoutingAcceleratorsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCustomRoutingAcceleratorsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListCustomRoutingEndpointGroups = "ListCustomRoutingEndpointGroups" + +// ListCustomRoutingEndpointGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomRoutingEndpointGroups 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 ListCustomRoutingEndpointGroups for more information on using the ListCustomRoutingEndpointGroups +// 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 ListCustomRoutingEndpointGroupsRequest method. +// req, resp := client.ListCustomRoutingEndpointGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListCustomRoutingEndpointGroups +func (c *GlobalAccelerator) ListCustomRoutingEndpointGroupsRequest(input *ListCustomRoutingEndpointGroupsInput) (req *request.Request, output *ListCustomRoutingEndpointGroupsOutput) { + op := &request.Operation{ + Name: opListCustomRoutingEndpointGroups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, @@ -4562,6 +5237,117 @@ func (c *GlobalAccelerator) UpdateAcceleratorAttributesWithContext(ctx aws.Conte return out, req.Send() } +const opUpdateCrossAccountAttachment = "UpdateCrossAccountAttachment" + +// UpdateCrossAccountAttachmentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCrossAccountAttachment 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 UpdateCrossAccountAttachment for more information on using the UpdateCrossAccountAttachment +// 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 UpdateCrossAccountAttachmentRequest method. +// req, resp := client.UpdateCrossAccountAttachmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCrossAccountAttachment +func (c *GlobalAccelerator) UpdateCrossAccountAttachmentRequest(input *UpdateCrossAccountAttachmentInput) (req *request.Request, output *UpdateCrossAccountAttachmentOutput) { + op := &request.Operation{ + Name: opUpdateCrossAccountAttachment, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCrossAccountAttachmentInput{} + } + + output = &UpdateCrossAccountAttachmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCrossAccountAttachment API operation for AWS Global Accelerator. +// +// Update a cross-account attachment to add or remove principals or resources. +// When you update an attachment to remove a principal (account ID or accelerator) +// or a resource, Global Accelerator revokes the permission for specific resources +// by doing the following: +// +// - If the principal is an account ID, Global Accelerator reviews every +// accelerator in the account and removes cross-account endpoints from all +// accelerators. +// +// - If the principal is an accelerator, Global Accelerator reviews just +// that accelerator and removes cross-account endpoints from it. +// +// If there are overlapping permissions provided by multiple cross-account attachments, +// Global Accelerator only removes endpoints if there are no current cross-account +// attachments that provide access permission. For example, if you delete a +// cross-account attachment that lists an accelerator as a principal, but another +// cross-account attachment includes the account ID that owns that accelerator, +// endpoints will not be removed from the accelerator. +// +// 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 Global Accelerator's +// API operation UpdateCrossAccountAttachment for usage and error information. +// +// Returned Error Types: +// +// - AttachmentNotFoundException +// No cross-account attachment was found. +// +// - AccessDeniedException +// You don't have access permission. +// +// - InternalServiceErrorException +// There was an internal error for Global Accelerator. +// +// - InvalidArgumentException +// An argument that you specified is invalid. +// +// - LimitExceededException +// Processing your request would cause you to exceed an Global Accelerator limit. +// +// - TransactionInProgressException +// There's already a transaction in progress. Another transaction can't be processed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateCrossAccountAttachment +func (c *GlobalAccelerator) UpdateCrossAccountAttachment(input *UpdateCrossAccountAttachmentInput) (*UpdateCrossAccountAttachmentOutput, error) { + req, out := c.UpdateCrossAccountAttachmentRequest(input) + return out, req.Send() +} + +// UpdateCrossAccountAttachmentWithContext is the same as UpdateCrossAccountAttachment with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCrossAccountAttachment 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 *GlobalAccelerator) UpdateCrossAccountAttachmentWithContext(ctx aws.Context, input *UpdateCrossAccountAttachmentInput, opts ...request.Option) (*UpdateCrossAccountAttachmentOutput, error) { + req, out := c.UpdateCrossAccountAttachmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateCustomRoutingAccelerator = "UpdateCustomRoutingAccelerator" // UpdateCustomRoutingAcceleratorRequest generates a "aws/request.Request" representing the @@ -6015,42 +6801,185 @@ func newErrorAssociatedEndpointGroupFoundException(v protocol.ResponseMetadata) } } -// Code returns the exception type name. -func (s *AssociatedEndpointGroupFoundException) Code() string { - return "AssociatedEndpointGroupFoundException" +// Code returns the exception type name. +func (s *AssociatedEndpointGroupFoundException) Code() string { + return "AssociatedEndpointGroupFoundException" +} + +// Message returns the exception's message. +func (s *AssociatedEndpointGroupFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AssociatedEndpointGroupFoundException) OrigErr() error { + return nil +} + +func (s *AssociatedEndpointGroupFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AssociatedEndpointGroupFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AssociatedEndpointGroupFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The accelerator that you specified has a listener associated with it. You +// must remove all dependent resources from an accelerator before you can delete +// it. +type AssociatedListenerFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" 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 AssociatedListenerFoundException) 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 AssociatedListenerFoundException) GoString() string { + return s.String() +} + +func newErrorAssociatedListenerFoundException(v protocol.ResponseMetadata) error { + return &AssociatedListenerFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AssociatedListenerFoundException) Code() string { + return "AssociatedListenerFoundException" +} + +// Message returns the exception's message. +func (s *AssociatedListenerFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AssociatedListenerFoundException) OrigErr() error { + return nil +} + +func (s *AssociatedListenerFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AssociatedListenerFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AssociatedListenerFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A cross-account attachment in Global Accelerator. A cross-account attachment +// specifies the principals who have permission to add to accelerators in their +// own account the resources in your account that you also list in the attachment. +type Attachment struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cross-account attachment. + AttachmentArn *string `type:"string"` + + // The date and time that the cross-account attachment was created. + CreatedTime *time.Time `type:"timestamp"` + + // The date and time that the cross-account attachment was last modified. + LastModifiedTime *time.Time `type:"timestamp"` + + // The name of the cross-account attachment. + Name *string `type:"string"` + + // The principals included in the cross-account attachment. + Principals []*string `type:"list"` + + // The resources included in the cross-account attachment. + Resources []*Resource `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 Attachment) 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 Attachment) GoString() string { + return s.String() +} + +// SetAttachmentArn sets the AttachmentArn field's value. +func (s *Attachment) SetAttachmentArn(v string) *Attachment { + s.AttachmentArn = &v + return s } -// Message returns the exception's message. -func (s *AssociatedEndpointGroupFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetCreatedTime sets the CreatedTime field's value. +func (s *Attachment) SetCreatedTime(v time.Time) *Attachment { + s.CreatedTime = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AssociatedEndpointGroupFoundException) OrigErr() error { - return nil +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Attachment) SetLastModifiedTime(v time.Time) *Attachment { + s.LastModifiedTime = &v + return s } -func (s *AssociatedEndpointGroupFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetName sets the Name field's value. +func (s *Attachment) SetName(v string) *Attachment { + s.Name = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AssociatedEndpointGroupFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetPrincipals sets the Principals field's value. +func (s *Attachment) SetPrincipals(v []*string) *Attachment { + s.Principals = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *AssociatedEndpointGroupFoundException) RequestID() string { - return s.RespMetadata.RequestID +// SetResources sets the Resources field's value. +func (s *Attachment) SetResources(v []*Resource) *Attachment { + s.Resources = v + return s } -// The accelerator that you specified has a listener associated with it. You -// must remove all dependent resources from an accelerator before you can delete -// it. -type AssociatedListenerFoundException struct { +// No cross-account attachment was found. +type AttachmentNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6062,7 +6991,7 @@ type AssociatedListenerFoundException 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 AssociatedListenerFoundException) String() string { +func (s AttachmentNotFoundException) String() string { return awsutil.Prettify(s) } @@ -6071,23 +7000,23 @@ func (s AssociatedListenerFoundException) 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 AssociatedListenerFoundException) GoString() string { +func (s AttachmentNotFoundException) GoString() string { return s.String() } -func newErrorAssociatedListenerFoundException(v protocol.ResponseMetadata) error { - return &AssociatedListenerFoundException{ +func newErrorAttachmentNotFoundException(v protocol.ResponseMetadata) error { + return &AttachmentNotFoundException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *AssociatedListenerFoundException) Code() string { - return "AssociatedListenerFoundException" +func (s *AttachmentNotFoundException) Code() string { + return "AttachmentNotFoundException" } // Message returns the exception's message. -func (s *AssociatedListenerFoundException) Message() string { +func (s *AttachmentNotFoundException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -6095,21 +7024,21 @@ func (s *AssociatedListenerFoundException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AssociatedListenerFoundException) OrigErr() error { +func (s *AttachmentNotFoundException) OrigErr() error { return nil } -func (s *AssociatedListenerFoundException) Error() string { +func (s *AttachmentNotFoundException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *AssociatedListenerFoundException) StatusCode() int { +func (s *AttachmentNotFoundException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *AssociatedListenerFoundException) RequestID() string { +func (s *AttachmentNotFoundException) RequestID() string { return s.RespMetadata.RequestID } @@ -6611,6 +7540,147 @@ func (s *CreateAcceleratorOutput) SetAccelerator(v *Accelerator) *CreateAccelera return s } +type CreateCrossAccountAttachmentInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency—that + // is, the uniqueness—of the request. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // The name of the cross-account attachment. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The principals to list in the cross-account attachment. A principal can be + // an Amazon Web Services account number or the Amazon Resource Name (ARN) for + // an accelerator. + Principals []*string `type:"list"` + + // The Amazon Resource Names (ARNs) for the resources to list in the cross-account + // attachment. A resource can be any supported Amazon Web Services resource + // type for Global Accelerator. + Resources []*Resource `type:"list"` + + // Create tags for cross-account attachment. + // + // For more information, see Tagging in Global Accelerator (https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) + // in the Global Accelerator Developer Guide. + Tags []*Tag `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 CreateCrossAccountAttachmentInput) 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 CreateCrossAccountAttachmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCrossAccountAttachmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCrossAccountAttachmentInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Resources != nil { + for i, v := range s.Resources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateCrossAccountAttachmentInput) SetIdempotencyToken(v string) *CreateCrossAccountAttachmentInput { + s.IdempotencyToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateCrossAccountAttachmentInput) SetName(v string) *CreateCrossAccountAttachmentInput { + s.Name = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *CreateCrossAccountAttachmentInput) SetPrincipals(v []*string) *CreateCrossAccountAttachmentInput { + s.Principals = v + return s +} + +// SetResources sets the Resources field's value. +func (s *CreateCrossAccountAttachmentInput) SetResources(v []*Resource) *CreateCrossAccountAttachmentInput { + s.Resources = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateCrossAccountAttachmentInput) SetTags(v []*Tag) *CreateCrossAccountAttachmentInput { + s.Tags = v + return s +} + +type CreateCrossAccountAttachmentOutput struct { + _ struct{} `type:"structure"` + + // Information about the cross-account attachment. + CrossAccountAttachment *Attachment `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 CreateCrossAccountAttachmentOutput) 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 CreateCrossAccountAttachmentOutput) GoString() string { + return s.String() +} + +// SetCrossAccountAttachment sets the CrossAccountAttachment field's value. +func (s *CreateCrossAccountAttachmentOutput) SetCrossAccountAttachment(v *Attachment) *CreateCrossAccountAttachmentOutput { + s.CrossAccountAttachment = v + return s +} + type CreateCustomRoutingAcceleratorInput struct { _ struct{} `type:"structure"` @@ -7390,6 +8460,52 @@ func (s *CreateListenerOutput) SetListener(v *Listener) *CreateListenerOutput { return s } +// An endpoint (Amazon Web Services resource) that is listed in a cross-account +// attachment and can be added to an accelerator by specified principals, that +// are also listed in the attachment. +type CrossAccountResource struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cross-account attachment that specifies + // the endpoints (resources) that can be added to accelerators and principals + // that have permission to add the endpoints to accelerators. + AttachmentArn *string `type:"string"` + + // The endpoint ID for the endpoint that is listed in a cross-account attachment + // and can be added to an accelerator by specified principals. + EndpointId *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 CrossAccountResource) 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 CrossAccountResource) GoString() string { + return s.String() +} + +// SetAttachmentArn sets the AttachmentArn field's value. +func (s *CrossAccountResource) SetAttachmentArn(v string) *CrossAccountResource { + s.AttachmentArn = &v + return s +} + +// SetEndpointId sets the EndpointId field's value. +func (s *CrossAccountResource) SetEndpointId(v string) *CrossAccountResource { + s.EndpointId = &v + return s +} + // Attributes of a custom routing accelerator. type CustomRoutingAccelerator struct { _ struct{} `type:"structure"` @@ -7725,6 +8841,11 @@ func (s *CustomRoutingDestinationDescription) SetToPort(v int64) *CustomRoutingD type CustomRoutingEndpointConfiguration struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the cross-account attachment that specifies + // the endpoints (resources) that can be added to accelerators and principals + // that have permission to add the endpoints to accelerators. + AttachmentArn *string `type:"string"` + // An ID for the endpoint. For custom routing accelerators, this is the virtual // private cloud (VPC) subnet ID. EndpointId *string `type:"string"` @@ -7748,6 +8869,12 @@ func (s CustomRoutingEndpointConfiguration) GoString() string { return s.String() } +// SetAttachmentArn sets the AttachmentArn field's value. +func (s *CustomRoutingEndpointConfiguration) SetAttachmentArn(v string) *CustomRoutingEndpointConfiguration { + s.AttachmentArn = &v + return s +} + // SetEndpointId sets the EndpointId field's value. func (s *CustomRoutingEndpointConfiguration) SetEndpointId(v string) *CustomRoutingEndpointConfiguration { s.EndpointId = &v @@ -7911,7 +9038,75 @@ type DeleteAcceleratorInput 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 DeleteAcceleratorInput) String() string { +func (s DeleteAcceleratorInput) 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 DeleteAcceleratorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAcceleratorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAcceleratorInput"} + if s.AcceleratorArn == nil { + invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *DeleteAcceleratorInput) SetAcceleratorArn(v string) *DeleteAcceleratorInput { + s.AcceleratorArn = &v + return s +} + +type DeleteAcceleratorOutput 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 DeleteAcceleratorOutput) 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 DeleteAcceleratorOutput) GoString() string { + return s.String() +} + +type DeleteCrossAccountAttachmentInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the cross-account attachment to delete. + // + // AttachmentArn is a required field + AttachmentArn *string `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 DeleteCrossAccountAttachmentInput) String() string { return awsutil.Prettify(s) } @@ -7920,15 +9115,15 @@ func (s DeleteAcceleratorInput) 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 DeleteAcceleratorInput) GoString() string { +func (s DeleteCrossAccountAttachmentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAcceleratorInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAcceleratorInput"} - if s.AcceleratorArn == nil { - invalidParams.Add(request.NewErrParamRequired("AcceleratorArn")) +func (s *DeleteCrossAccountAttachmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCrossAccountAttachmentInput"} + if s.AttachmentArn == nil { + invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) } if invalidParams.Len() > 0 { @@ -7937,13 +9132,13 @@ func (s *DeleteAcceleratorInput) Validate() error { return nil } -// SetAcceleratorArn sets the AcceleratorArn field's value. -func (s *DeleteAcceleratorInput) SetAcceleratorArn(v string) *DeleteAcceleratorInput { - s.AcceleratorArn = &v +// SetAttachmentArn sets the AttachmentArn field's value. +func (s *DeleteCrossAccountAttachmentInput) SetAttachmentArn(v string) *DeleteCrossAccountAttachmentInput { + s.AttachmentArn = &v return s } -type DeleteAcceleratorOutput struct { +type DeleteCrossAccountAttachmentOutput struct { _ struct{} `type:"structure"` } @@ -7952,7 +9147,7 @@ type DeleteAcceleratorOutput 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 DeleteAcceleratorOutput) String() string { +func (s DeleteCrossAccountAttachmentOutput) String() string { return awsutil.Prettify(s) } @@ -7961,7 +9156,7 @@ func (s DeleteAcceleratorOutput) 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 DeleteAcceleratorOutput) GoString() string { +func (s DeleteCrossAccountAttachmentOutput) GoString() string { return s.String() } @@ -8665,6 +9860,83 @@ func (s *DescribeAcceleratorOutput) SetAccelerator(v *Accelerator) *DescribeAcce return s } +type DescribeCrossAccountAttachmentInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the cross-account attachment to describe. + // + // AttachmentArn is a required field + AttachmentArn *string `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 DescribeCrossAccountAttachmentInput) 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 DescribeCrossAccountAttachmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCrossAccountAttachmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCrossAccountAttachmentInput"} + if s.AttachmentArn == nil { + invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttachmentArn sets the AttachmentArn field's value. +func (s *DescribeCrossAccountAttachmentInput) SetAttachmentArn(v string) *DescribeCrossAccountAttachmentInput { + s.AttachmentArn = &v + return s +} + +type DescribeCrossAccountAttachmentOutput struct { + _ struct{} `type:"structure"` + + // Information about the cross-account attachment. + CrossAccountAttachment *Attachment `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 DescribeCrossAccountAttachmentOutput) 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 DescribeCrossAccountAttachmentOutput) GoString() string { + return s.String() +} + +// SetCrossAccountAttachment sets the CrossAccountAttachment field's value. +func (s *DescribeCrossAccountAttachmentOutput) SetCrossAccountAttachment(v *Attachment) *DescribeCrossAccountAttachmentOutput { + s.CrossAccountAttachment = v + return s +} + type DescribeCustomRoutingAcceleratorAttributesInput struct { _ struct{} `type:"structure"` @@ -9298,8 +10570,14 @@ func (s *EndpointAlreadyExistsException) RequestID() string { type EndpointConfiguration struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the cross-account attachment that specifies + // the endpoints (resources) that can be added to accelerators and principals + // that have permission to add the endpoints to accelerators. + AttachmentArn *string `type:"string"` + // Indicates whether client IP address preservation is enabled for an endpoint. - // The value is true or false. The default value is true for new accelerators. + // The value is true or false. The default value is true for Application Load + // Balancer endpoints. // // If the value is set to true, the client's IP address is preserved in the // X-Forwarded-For request header as traffic travels to applications on the @@ -9307,7 +10585,7 @@ type EndpointConfiguration struct { // // Client IP address preservation is supported, in specific Amazon Web Services // Regions, for endpoints that are Application Load Balancers, Amazon EC2 instances, - // and Network Load Balancers with Security Groups. IMPORTANT: You cannot use + // and Network Load Balancers with security groups. IMPORTANT: You cannot use // client IP address preservation with Network Load Balancers with TLS listeners. // // For more information, see Preserve client IP addresses in Global Accelerator @@ -9353,6 +10631,12 @@ func (s EndpointConfiguration) GoString() string { return s.String() } +// SetAttachmentArn sets the AttachmentArn field's value. +func (s *EndpointConfiguration) SetAttachmentArn(v string) *EndpointConfiguration { + s.AttachmentArn = &v + return s +} + // SetClientIPPreservationEnabled sets the ClientIPPreservationEnabled field's value. func (s *EndpointConfiguration) SetClientIPPreservationEnabled(v bool) *EndpointConfiguration { s.ClientIPPreservationEnabled = &v @@ -9377,7 +10661,8 @@ type EndpointDescription struct { _ struct{} `type:"structure"` // Indicates whether client IP address preservation is enabled for an endpoint. - // The value is true or false. The default value is true for new accelerators. + // The value is true or false. The default value is true for Application Load + // Balancers endpoints. // // If the value is set to true, the client's IP address is preserved in the // X-Forwarded-For request header as traffic travels to applications on the @@ -9385,7 +10670,7 @@ type EndpointDescription struct { // // Client IP address preservation is supported, in specific Amazon Web Services // Regions, for endpoints that are Application Load Balancers, Amazon EC2 instances, - // and Network Load Balancers with Security Groups. IMPORTANT: You cannot use + // and Network Load Balancers with security groups. IMPORTANT: You cannot use // client IP address preservation with Network Load Balancers with TLS listeners. // // For more information, see Preserve client IP addresses in Global Accelerator @@ -10289,21 +11574,211 @@ func (s *LimitExceededException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListAcceleratorsInput struct { + _ struct{} `type:"structure"` + + // The number of Global Accelerator objects that you want to return with this + // call. The default value is 10. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *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 ListAcceleratorsInput) 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 ListAcceleratorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAcceleratorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAcceleratorsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAcceleratorsInput) SetMaxResults(v int64) *ListAcceleratorsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAcceleratorsInput) SetNextToken(v string) *ListAcceleratorsInput { + s.NextToken = &v + return s +} + +type ListAcceleratorsOutput struct { + _ struct{} `type:"structure"` + + // The list of accelerators for a customer account. + Accelerators []*Accelerator `type:"list"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *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 ListAcceleratorsOutput) 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 ListAcceleratorsOutput) GoString() string { + return s.String() +} + +// SetAccelerators sets the Accelerators field's value. +func (s *ListAcceleratorsOutput) SetAccelerators(v []*Accelerator) *ListAcceleratorsOutput { + s.Accelerators = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAcceleratorsOutput) SetNextToken(v string) *ListAcceleratorsOutput { + s.NextToken = &v + return s +} + +type ListByoipCidrsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *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 ListByoipCidrsInput) 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 ListByoipCidrsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListByoipCidrsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListByoipCidrsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListByoipCidrsInput) SetMaxResults(v int64) *ListByoipCidrsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListByoipCidrsInput) SetNextToken(v string) *ListByoipCidrsInput { + s.NextToken = &v + return s +} + +type ListByoipCidrsOutput struct { + _ struct{} `type:"structure"` + + // Information about your address ranges. + ByoipCidrs []*ByoipCidr `type:"list"` + + // The token for the next page of results. + NextToken *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 ListByoipCidrsOutput) 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 ListByoipCidrsOutput) GoString() string { + return s.String() +} + +// SetByoipCidrs sets the ByoipCidrs field's value. +func (s *ListByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *ListByoipCidrsOutput { + s.ByoipCidrs = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListByoipCidrsOutput) SetNextToken(v string) *ListByoipCidrsOutput { + s.NextToken = &v + return s } -type ListAcceleratorsInput struct { +type ListCrossAccountAttachmentsInput struct { _ struct{} `type:"structure"` - // The number of Global Accelerator objects that you want to return with this - // call. The default value is 10. + // The number of cross-account attachment objects that you want to return with + // this call. The default value is 10. MaxResults *int64 `min:"1" type:"integer"` // The token for the next set of results. You receive this token from a previous @@ -10316,7 +11791,7 @@ type ListAcceleratorsInput 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 ListAcceleratorsInput) String() string { +func (s ListCrossAccountAttachmentsInput) String() string { return awsutil.Prettify(s) } @@ -10325,13 +11800,13 @@ func (s ListAcceleratorsInput) 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 ListAcceleratorsInput) GoString() string { +func (s ListCrossAccountAttachmentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListAcceleratorsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListAcceleratorsInput"} +func (s *ListCrossAccountAttachmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCrossAccountAttachmentsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -10343,22 +11818,22 @@ func (s *ListAcceleratorsInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *ListAcceleratorsInput) SetMaxResults(v int64) *ListAcceleratorsInput { +func (s *ListCrossAccountAttachmentsInput) SetMaxResults(v int64) *ListCrossAccountAttachmentsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAcceleratorsInput) SetNextToken(v string) *ListAcceleratorsInput { +func (s *ListCrossAccountAttachmentsInput) SetNextToken(v string) *ListCrossAccountAttachmentsInput { s.NextToken = &v return s } -type ListAcceleratorsOutput struct { +type ListCrossAccountAttachmentsOutput struct { _ struct{} `type:"structure"` - // The list of accelerators for a customer account. - Accelerators []*Accelerator `type:"list"` + // Information about the cross-account attachments. + CrossAccountAttachments []*Attachment `type:"list"` // The token for the next set of results. You receive this token from a previous // call. @@ -10370,7 +11845,7 @@ type ListAcceleratorsOutput 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 ListAcceleratorsOutput) String() string { +func (s ListCrossAccountAttachmentsOutput) String() string { return awsutil.Prettify(s) } @@ -10379,31 +11854,94 @@ func (s ListAcceleratorsOutput) 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 ListAcceleratorsOutput) GoString() string { +func (s ListCrossAccountAttachmentsOutput) GoString() string { return s.String() } -// SetAccelerators sets the Accelerators field's value. -func (s *ListAcceleratorsOutput) SetAccelerators(v []*Accelerator) *ListAcceleratorsOutput { - s.Accelerators = v +// SetCrossAccountAttachments sets the CrossAccountAttachments field's value. +func (s *ListCrossAccountAttachmentsOutput) SetCrossAccountAttachments(v []*Attachment) *ListCrossAccountAttachmentsOutput { + s.CrossAccountAttachments = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAcceleratorsOutput) SetNextToken(v string) *ListAcceleratorsOutput { +func (s *ListCrossAccountAttachmentsOutput) SetNextToken(v string) *ListCrossAccountAttachmentsOutput { s.NextToken = &v return s } -type ListByoipCidrsInput struct { +type ListCrossAccountResourceAccountsInput struct { _ struct{} `type:"structure"` +} - // The maximum number of results to return with a single call. To retrieve the - // remaining results, make another call with the returned nextToken value. +// 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 ListCrossAccountResourceAccountsInput) 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 ListCrossAccountResourceAccountsInput) GoString() string { + return s.String() +} + +type ListCrossAccountResourceAccountsOutput struct { + _ struct{} `type:"structure"` + + // The account IDs of principals (resource owners) in a cross-account attachment + // who can add endpoints (resources) listed in the same attachment. + ResourceOwnerAwsAccountIds []*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 ListCrossAccountResourceAccountsOutput) 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 ListCrossAccountResourceAccountsOutput) GoString() string { + return s.String() +} + +// SetResourceOwnerAwsAccountIds sets the ResourceOwnerAwsAccountIds field's value. +func (s *ListCrossAccountResourceAccountsOutput) SetResourceOwnerAwsAccountIds(v []*string) *ListCrossAccountResourceAccountsOutput { + s.ResourceOwnerAwsAccountIds = v + return s +} + +type ListCrossAccountResourcesInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of an accelerator in a cross-account attachment. + AcceleratorArn *string `type:"string"` + + // The number of cross-account endpoints objects that you want to return with + // this call. The default value is 10. MaxResults *int64 `min:"1" type:"integer"` - // The token for the next page of results. + // The token for the next set of results. You receive this token from a previous + // call. NextToken *string `type:"string"` + + // The account ID of a resource owner in a cross-account attachment. + // + // ResourceOwnerAwsAccountId is a required field + ResourceOwnerAwsAccountId *string `min:"12" type:"string" required:"true"` } // String returns the string representation. @@ -10411,7 +11949,7 @@ type ListByoipCidrsInput 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 ListByoipCidrsInput) String() string { +func (s ListCrossAccountResourcesInput) String() string { return awsutil.Prettify(s) } @@ -10420,16 +11958,22 @@ func (s ListByoipCidrsInput) 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 ListByoipCidrsInput) GoString() string { +func (s ListCrossAccountResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListByoipCidrsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListByoipCidrsInput"} +func (s *ListCrossAccountResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCrossAccountResourcesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.ResourceOwnerAwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceOwnerAwsAccountId")) + } + if s.ResourceOwnerAwsAccountId != nil && len(*s.ResourceOwnerAwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("ResourceOwnerAwsAccountId", 12)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10437,25 +11981,38 @@ func (s *ListByoipCidrsInput) Validate() error { return nil } +// SetAcceleratorArn sets the AcceleratorArn field's value. +func (s *ListCrossAccountResourcesInput) SetAcceleratorArn(v string) *ListCrossAccountResourcesInput { + s.AcceleratorArn = &v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *ListByoipCidrsInput) SetMaxResults(v int64) *ListByoipCidrsInput { +func (s *ListCrossAccountResourcesInput) SetMaxResults(v int64) *ListCrossAccountResourcesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListByoipCidrsInput) SetNextToken(v string) *ListByoipCidrsInput { +func (s *ListCrossAccountResourcesInput) SetNextToken(v string) *ListCrossAccountResourcesInput { s.NextToken = &v return s } -type ListByoipCidrsOutput struct { +// SetResourceOwnerAwsAccountId sets the ResourceOwnerAwsAccountId field's value. +func (s *ListCrossAccountResourcesInput) SetResourceOwnerAwsAccountId(v string) *ListCrossAccountResourcesInput { + s.ResourceOwnerAwsAccountId = &v + return s +} + +type ListCrossAccountResourcesOutput struct { _ struct{} `type:"structure"` - // Information about your address ranges. - ByoipCidrs []*ByoipCidr `type:"list"` + // The endpoints attached to an accelerator in a cross-account attachment. + CrossAccountResources []*CrossAccountResource `type:"list"` - // The token for the next page of results. + // The token for the next set of results. You receive this token from a previous + // call. NextToken *string `type:"string"` } @@ -10464,7 +12021,7 @@ type ListByoipCidrsOutput 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 ListByoipCidrsOutput) String() string { +func (s ListCrossAccountResourcesOutput) String() string { return awsutil.Prettify(s) } @@ -10473,18 +12030,18 @@ func (s ListByoipCidrsOutput) 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 ListByoipCidrsOutput) GoString() string { +func (s ListCrossAccountResourcesOutput) GoString() string { return s.String() } -// SetByoipCidrs sets the ByoipCidrs field's value. -func (s *ListByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *ListByoipCidrsOutput { - s.ByoipCidrs = v +// SetCrossAccountResources sets the CrossAccountResources field's value. +func (s *ListCrossAccountResourcesOutput) SetCrossAccountResources(v []*CrossAccountResource) *ListCrossAccountResourcesOutput { + s.CrossAccountResources = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListByoipCidrsOutput) SetNextToken(v string) *ListByoipCidrsOutput { +func (s *ListCrossAccountResourcesOutput) SetNextToken(v string) *ListCrossAccountResourcesOutput { s.NextToken = &v return s } @@ -11981,6 +13538,63 @@ func (s RemoveEndpointsOutput) GoString() string { return s.String() } +// An Amazon Web Services resource that is supported by Global Accelerator and +// can be added as an endpoint for an accelerator. +type Resource struct { + _ struct{} `type:"structure"` + + // The endpoint ID for the endpoint (Amazon Web Services resource). + // + // EndpointId is a required field + EndpointId *string `type:"string" required:"true"` + + // The Amazon Web Services Region where a resource is located. + Region *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 Resource) 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 Resource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Resource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Resource"} + if s.EndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointId sets the EndpointId field's value. +func (s *Resource) SetEndpointId(v string) *Resource { + s.EndpointId = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *Resource) SetRegion(v string) *Resource { + s.Region = &v + return s +} + // An IP address/port combination. type SocketAddress struct { _ struct{} `type:"structure"` @@ -12560,6 +14174,168 @@ func (s *UpdateAcceleratorOutput) SetAccelerator(v *Accelerator) *UpdateAccelera return s } +type UpdateCrossAccountAttachmentInput struct { + _ struct{} `type:"structure"` + + // The principals to add to the cross-account attachment. A principal is an + // account or the Amazon Resource Name (ARN) of an accelerator that the attachment + // gives permission to add the resources from another account, listed in the + // attachment. + // + // To add more than one principal, separate the account numbers or accelerator + // ARNs, or both, with commas. + AddPrincipals []*string `type:"list"` + + // The resources to add to the cross-account attachment. A resource listed in + // a cross-account attachment can be added to an accelerator by the principals + // that are listed in the attachment. + // + // To add more than one resource, separate the resource ARNs with commas. + AddResources []*Resource `type:"list"` + + // The Amazon Resource Name (ARN) of the cross-account attachment to update. + // + // AttachmentArn is a required field + AttachmentArn *string `type:"string" required:"true"` + + // The name of the cross-account attachment. + Name *string `type:"string"` + + // The principals to remove from the cross-account attachment. A principal is + // an account or the Amazon Resource Name (ARN) of an accelerator that is given + // permission to add the resources from another account, listed in the cross-account + // attachment. + // + // To remove more than one principal, separate the account numbers or accelerator + // ARNs, or both, with commas. + RemovePrincipals []*string `type:"list"` + + // The resources to remove from the cross-account attachment. A resource listed + // in a cross-account attachment can be added to an accelerator fy principals + // that are listed in the cross-account attachment. + // + // To remove more than one resource, separate the resource ARNs with commas. + RemoveResources []*Resource `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 UpdateCrossAccountAttachmentInput) 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 UpdateCrossAccountAttachmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCrossAccountAttachmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCrossAccountAttachmentInput"} + if s.AttachmentArn == nil { + invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) + } + if s.AddResources != nil { + for i, v := range s.AddResources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddResources", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RemoveResources != nil { + for i, v := range s.RemoveResources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemoveResources", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddPrincipals sets the AddPrincipals field's value. +func (s *UpdateCrossAccountAttachmentInput) SetAddPrincipals(v []*string) *UpdateCrossAccountAttachmentInput { + s.AddPrincipals = v + return s +} + +// SetAddResources sets the AddResources field's value. +func (s *UpdateCrossAccountAttachmentInput) SetAddResources(v []*Resource) *UpdateCrossAccountAttachmentInput { + s.AddResources = v + return s +} + +// SetAttachmentArn sets the AttachmentArn field's value. +func (s *UpdateCrossAccountAttachmentInput) SetAttachmentArn(v string) *UpdateCrossAccountAttachmentInput { + s.AttachmentArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateCrossAccountAttachmentInput) SetName(v string) *UpdateCrossAccountAttachmentInput { + s.Name = &v + return s +} + +// SetRemovePrincipals sets the RemovePrincipals field's value. +func (s *UpdateCrossAccountAttachmentInput) SetRemovePrincipals(v []*string) *UpdateCrossAccountAttachmentInput { + s.RemovePrincipals = v + return s +} + +// SetRemoveResources sets the RemoveResources field's value. +func (s *UpdateCrossAccountAttachmentInput) SetRemoveResources(v []*Resource) *UpdateCrossAccountAttachmentInput { + s.RemoveResources = v + return s +} + +type UpdateCrossAccountAttachmentOutput struct { + _ struct{} `type:"structure"` + + // Information about the updated cross-account attachment. + CrossAccountAttachment *Attachment `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 UpdateCrossAccountAttachmentOutput) 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 UpdateCrossAccountAttachmentOutput) GoString() string { + return s.String() +} + +// SetCrossAccountAttachment sets the CrossAccountAttachment field's value. +func (s *UpdateCrossAccountAttachmentOutput) SetCrossAccountAttachment(v *Attachment) *UpdateCrossAccountAttachmentOutput { + s.CrossAccountAttachment = v + return s +} + type UpdateCustomRoutingAcceleratorAttributesInput struct { _ struct{} `type:"structure"` diff --git a/service/globalaccelerator/doc.go b/service/globalaccelerator/doc.go index f710b278f7f..71d90cd0639 100644 --- a/service/globalaccelerator/doc.go +++ b/service/globalaccelerator/doc.go @@ -33,7 +33,7 @@ // total of four addresses: two static IPv4 addresses and two static IPv6 addresses. // With a standard accelerator for IPv4, instead of using the addresses that // Global Accelerator provides, you can configure these entry points to be IPv4 -// addresses from your own IP address ranges that you bring toGlobal Accelerator +// addresses from your own IP address ranges that you bring to Global Accelerator // (BYOIP). // // For a standard accelerator, they distribute incoming application traffic diff --git a/service/globalaccelerator/errors.go b/service/globalaccelerator/errors.go index 0406c64c5d2..710a8d5e88c 100644 --- a/service/globalaccelerator/errors.go +++ b/service/globalaccelerator/errors.go @@ -42,6 +42,12 @@ const ( // it. ErrCodeAssociatedListenerFoundException = "AssociatedListenerFoundException" + // ErrCodeAttachmentNotFoundException for service response error code + // "AttachmentNotFoundException". + // + // No cross-account attachment was found. + ErrCodeAttachmentNotFoundException = "AttachmentNotFoundException" + // ErrCodeByoipCidrNotFoundException for service response error code // "ByoipCidrNotFoundException". // @@ -135,6 +141,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AccessDeniedException": newErrorAccessDeniedException, "AssociatedEndpointGroupFoundException": newErrorAssociatedEndpointGroupFoundException, "AssociatedListenerFoundException": newErrorAssociatedListenerFoundException, + "AttachmentNotFoundException": newErrorAttachmentNotFoundException, "ByoipCidrNotFoundException": newErrorByoipCidrNotFoundException, "ConflictException": newErrorConflictException, "EndpointAlreadyExistsException": newErrorEndpointAlreadyExistsException, diff --git a/service/globalaccelerator/globalacceleratoriface/interface.go b/service/globalaccelerator/globalacceleratoriface/interface.go index 727a6d577be..4d70b555884 100644 --- a/service/globalaccelerator/globalacceleratoriface/interface.go +++ b/service/globalaccelerator/globalacceleratoriface/interface.go @@ -80,6 +80,10 @@ type GlobalAcceleratorAPI interface { CreateAcceleratorWithContext(aws.Context, *globalaccelerator.CreateAcceleratorInput, ...request.Option) (*globalaccelerator.CreateAcceleratorOutput, error) CreateAcceleratorRequest(*globalaccelerator.CreateAcceleratorInput) (*request.Request, *globalaccelerator.CreateAcceleratorOutput) + CreateCrossAccountAttachment(*globalaccelerator.CreateCrossAccountAttachmentInput) (*globalaccelerator.CreateCrossAccountAttachmentOutput, error) + CreateCrossAccountAttachmentWithContext(aws.Context, *globalaccelerator.CreateCrossAccountAttachmentInput, ...request.Option) (*globalaccelerator.CreateCrossAccountAttachmentOutput, error) + CreateCrossAccountAttachmentRequest(*globalaccelerator.CreateCrossAccountAttachmentInput) (*request.Request, *globalaccelerator.CreateCrossAccountAttachmentOutput) + CreateCustomRoutingAccelerator(*globalaccelerator.CreateCustomRoutingAcceleratorInput) (*globalaccelerator.CreateCustomRoutingAcceleratorOutput, error) CreateCustomRoutingAcceleratorWithContext(aws.Context, *globalaccelerator.CreateCustomRoutingAcceleratorInput, ...request.Option) (*globalaccelerator.CreateCustomRoutingAcceleratorOutput, error) CreateCustomRoutingAcceleratorRequest(*globalaccelerator.CreateCustomRoutingAcceleratorInput) (*request.Request, *globalaccelerator.CreateCustomRoutingAcceleratorOutput) @@ -104,6 +108,10 @@ type GlobalAcceleratorAPI interface { DeleteAcceleratorWithContext(aws.Context, *globalaccelerator.DeleteAcceleratorInput, ...request.Option) (*globalaccelerator.DeleteAcceleratorOutput, error) DeleteAcceleratorRequest(*globalaccelerator.DeleteAcceleratorInput) (*request.Request, *globalaccelerator.DeleteAcceleratorOutput) + DeleteCrossAccountAttachment(*globalaccelerator.DeleteCrossAccountAttachmentInput) (*globalaccelerator.DeleteCrossAccountAttachmentOutput, error) + DeleteCrossAccountAttachmentWithContext(aws.Context, *globalaccelerator.DeleteCrossAccountAttachmentInput, ...request.Option) (*globalaccelerator.DeleteCrossAccountAttachmentOutput, error) + DeleteCrossAccountAttachmentRequest(*globalaccelerator.DeleteCrossAccountAttachmentInput) (*request.Request, *globalaccelerator.DeleteCrossAccountAttachmentOutput) + DeleteCustomRoutingAccelerator(*globalaccelerator.DeleteCustomRoutingAcceleratorInput) (*globalaccelerator.DeleteCustomRoutingAcceleratorOutput, error) DeleteCustomRoutingAcceleratorWithContext(aws.Context, *globalaccelerator.DeleteCustomRoutingAcceleratorInput, ...request.Option) (*globalaccelerator.DeleteCustomRoutingAcceleratorOutput, error) DeleteCustomRoutingAcceleratorRequest(*globalaccelerator.DeleteCustomRoutingAcceleratorInput) (*request.Request, *globalaccelerator.DeleteCustomRoutingAcceleratorOutput) @@ -140,6 +148,10 @@ type GlobalAcceleratorAPI interface { DescribeAcceleratorAttributesWithContext(aws.Context, *globalaccelerator.DescribeAcceleratorAttributesInput, ...request.Option) (*globalaccelerator.DescribeAcceleratorAttributesOutput, error) DescribeAcceleratorAttributesRequest(*globalaccelerator.DescribeAcceleratorAttributesInput) (*request.Request, *globalaccelerator.DescribeAcceleratorAttributesOutput) + DescribeCrossAccountAttachment(*globalaccelerator.DescribeCrossAccountAttachmentInput) (*globalaccelerator.DescribeCrossAccountAttachmentOutput, error) + DescribeCrossAccountAttachmentWithContext(aws.Context, *globalaccelerator.DescribeCrossAccountAttachmentInput, ...request.Option) (*globalaccelerator.DescribeCrossAccountAttachmentOutput, error) + DescribeCrossAccountAttachmentRequest(*globalaccelerator.DescribeCrossAccountAttachmentInput) (*request.Request, *globalaccelerator.DescribeCrossAccountAttachmentOutput) + DescribeCustomRoutingAccelerator(*globalaccelerator.DescribeCustomRoutingAcceleratorInput) (*globalaccelerator.DescribeCustomRoutingAcceleratorOutput, error) DescribeCustomRoutingAcceleratorWithContext(aws.Context, *globalaccelerator.DescribeCustomRoutingAcceleratorInput, ...request.Option) (*globalaccelerator.DescribeCustomRoutingAcceleratorOutput, error) DescribeCustomRoutingAcceleratorRequest(*globalaccelerator.DescribeCustomRoutingAcceleratorInput) (*request.Request, *globalaccelerator.DescribeCustomRoutingAcceleratorOutput) @@ -178,6 +190,24 @@ type GlobalAcceleratorAPI interface { ListByoipCidrsPages(*globalaccelerator.ListByoipCidrsInput, func(*globalaccelerator.ListByoipCidrsOutput, bool) bool) error ListByoipCidrsPagesWithContext(aws.Context, *globalaccelerator.ListByoipCidrsInput, func(*globalaccelerator.ListByoipCidrsOutput, bool) bool, ...request.Option) error + ListCrossAccountAttachments(*globalaccelerator.ListCrossAccountAttachmentsInput) (*globalaccelerator.ListCrossAccountAttachmentsOutput, error) + ListCrossAccountAttachmentsWithContext(aws.Context, *globalaccelerator.ListCrossAccountAttachmentsInput, ...request.Option) (*globalaccelerator.ListCrossAccountAttachmentsOutput, error) + ListCrossAccountAttachmentsRequest(*globalaccelerator.ListCrossAccountAttachmentsInput) (*request.Request, *globalaccelerator.ListCrossAccountAttachmentsOutput) + + ListCrossAccountAttachmentsPages(*globalaccelerator.ListCrossAccountAttachmentsInput, func(*globalaccelerator.ListCrossAccountAttachmentsOutput, bool) bool) error + ListCrossAccountAttachmentsPagesWithContext(aws.Context, *globalaccelerator.ListCrossAccountAttachmentsInput, func(*globalaccelerator.ListCrossAccountAttachmentsOutput, bool) bool, ...request.Option) error + + ListCrossAccountResourceAccounts(*globalaccelerator.ListCrossAccountResourceAccountsInput) (*globalaccelerator.ListCrossAccountResourceAccountsOutput, error) + ListCrossAccountResourceAccountsWithContext(aws.Context, *globalaccelerator.ListCrossAccountResourceAccountsInput, ...request.Option) (*globalaccelerator.ListCrossAccountResourceAccountsOutput, error) + ListCrossAccountResourceAccountsRequest(*globalaccelerator.ListCrossAccountResourceAccountsInput) (*request.Request, *globalaccelerator.ListCrossAccountResourceAccountsOutput) + + ListCrossAccountResources(*globalaccelerator.ListCrossAccountResourcesInput) (*globalaccelerator.ListCrossAccountResourcesOutput, error) + ListCrossAccountResourcesWithContext(aws.Context, *globalaccelerator.ListCrossAccountResourcesInput, ...request.Option) (*globalaccelerator.ListCrossAccountResourcesOutput, error) + ListCrossAccountResourcesRequest(*globalaccelerator.ListCrossAccountResourcesInput) (*request.Request, *globalaccelerator.ListCrossAccountResourcesOutput) + + ListCrossAccountResourcesPages(*globalaccelerator.ListCrossAccountResourcesInput, func(*globalaccelerator.ListCrossAccountResourcesOutput, bool) bool) error + ListCrossAccountResourcesPagesWithContext(aws.Context, *globalaccelerator.ListCrossAccountResourcesInput, func(*globalaccelerator.ListCrossAccountResourcesOutput, bool) bool, ...request.Option) error + ListCustomRoutingAccelerators(*globalaccelerator.ListCustomRoutingAcceleratorsInput) (*globalaccelerator.ListCustomRoutingAcceleratorsOutput, error) ListCustomRoutingAcceleratorsWithContext(aws.Context, *globalaccelerator.ListCustomRoutingAcceleratorsInput, ...request.Option) (*globalaccelerator.ListCustomRoutingAcceleratorsOutput, error) ListCustomRoutingAcceleratorsRequest(*globalaccelerator.ListCustomRoutingAcceleratorsInput) (*request.Request, *globalaccelerator.ListCustomRoutingAcceleratorsOutput) @@ -259,6 +289,10 @@ type GlobalAcceleratorAPI interface { UpdateAcceleratorAttributesWithContext(aws.Context, *globalaccelerator.UpdateAcceleratorAttributesInput, ...request.Option) (*globalaccelerator.UpdateAcceleratorAttributesOutput, error) UpdateAcceleratorAttributesRequest(*globalaccelerator.UpdateAcceleratorAttributesInput) (*request.Request, *globalaccelerator.UpdateAcceleratorAttributesOutput) + UpdateCrossAccountAttachment(*globalaccelerator.UpdateCrossAccountAttachmentInput) (*globalaccelerator.UpdateCrossAccountAttachmentOutput, error) + UpdateCrossAccountAttachmentWithContext(aws.Context, *globalaccelerator.UpdateCrossAccountAttachmentInput, ...request.Option) (*globalaccelerator.UpdateCrossAccountAttachmentOutput, error) + UpdateCrossAccountAttachmentRequest(*globalaccelerator.UpdateCrossAccountAttachmentInput) (*request.Request, *globalaccelerator.UpdateCrossAccountAttachmentOutput) + UpdateCustomRoutingAccelerator(*globalaccelerator.UpdateCustomRoutingAcceleratorInput) (*globalaccelerator.UpdateCustomRoutingAcceleratorOutput, error) UpdateCustomRoutingAcceleratorWithContext(aws.Context, *globalaccelerator.UpdateCustomRoutingAcceleratorInput, ...request.Option) (*globalaccelerator.UpdateCustomRoutingAcceleratorOutput, error) UpdateCustomRoutingAcceleratorRequest(*globalaccelerator.UpdateCustomRoutingAcceleratorInput) (*request.Request, *globalaccelerator.UpdateCustomRoutingAcceleratorOutput) diff --git a/service/rds/api.go b/service/rds/api.go index 951fcf05345..3a3de14e7ab 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -18108,6 +18108,9 @@ type ClusterPendingModifiedValues struct { // these log types are in the process of being activated or deactivated. PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"` + // Reserved for future use. + RdsCustomClusterConfiguration *RdsCustomClusterConfiguration `type:"structure"` + // The storage type for the DB cluster. StorageType *string `type:"string"` } @@ -18178,6 +18181,12 @@ func (s *ClusterPendingModifiedValues) SetPendingCloudwatchLogsExports(v *Pendin return s } +// SetRdsCustomClusterConfiguration sets the RdsCustomClusterConfiguration field's value. +func (s *ClusterPendingModifiedValues) SetRdsCustomClusterConfiguration(v *RdsCustomClusterConfiguration) *ClusterPendingModifiedValues { + s.RdsCustomClusterConfiguration = v + return s +} + // SetStorageType sets the StorageType field's value. func (s *ClusterPendingModifiedValues) SetStorageType(v string) *ClusterPendingModifiedValues { s.StorageType = &v @@ -20972,6 +20981,9 @@ type CreateDBClusterInput struct { // to it, the DB cluster is public. PubliclyAccessible *bool `type:"boolean"` + // Reserved for future use. + RdsCustomClusterConfiguration *RdsCustomClusterConfiguration `type:"structure"` + // The Amazon Resource Name (ARN) of the source DB instance or DB cluster if // this DB cluster is created as a read replica. // @@ -21340,6 +21352,12 @@ func (s *CreateDBClusterInput) SetPubliclyAccessible(v bool) *CreateDBClusterInp return s } +// SetRdsCustomClusterConfiguration sets the RdsCustomClusterConfiguration field's value. +func (s *CreateDBClusterInput) SetRdsCustomClusterConfiguration(v *RdsCustomClusterConfiguration) *CreateDBClusterInput { + s.RdsCustomClusterConfiguration = v + return s +} + // SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value. func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput { s.ReplicationSourceIdentifier = &v @@ -26083,6 +26101,9 @@ type DBCluster struct { // This setting is only for non-Aurora Multi-AZ DB clusters. PubliclyAccessible *bool `type:"boolean"` + // Reserved for future use. + RdsCustomClusterConfiguration *RdsCustomClusterConfiguration `type:"structure"` + // Contains one or more identifiers of the read replicas associated with this // DB cluster. ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"` @@ -26535,6 +26556,12 @@ func (s *DBCluster) SetPubliclyAccessible(v bool) *DBCluster { return s } +// SetRdsCustomClusterConfiguration sets the RdsCustomClusterConfiguration field's value. +func (s *DBCluster) SetRdsCustomClusterConfiguration(v *RdsCustomClusterConfiguration) *DBCluster { + s.RdsCustomClusterConfiguration = v + return s +} + // SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value. func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster { s.ReadReplicaIdentifiers = v @@ -48316,6 +48343,47 @@ func (s *Range) SetTo(v int64) *Range { return s } +// Reserved for future use. +type RdsCustomClusterConfiguration struct { + _ struct{} `type:"structure"` + + // Reserved for future use. + InterconnectSubnetId *string `type:"string"` + + // Reserved for future use. + TransitGatewayMulticastDomainId *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 RdsCustomClusterConfiguration) 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 RdsCustomClusterConfiguration) GoString() string { + return s.String() +} + +// SetInterconnectSubnetId sets the InterconnectSubnetId field's value. +func (s *RdsCustomClusterConfiguration) SetInterconnectSubnetId(v string) *RdsCustomClusterConfiguration { + s.InterconnectSubnetId = &v + return s +} + +// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value. +func (s *RdsCustomClusterConfiguration) SetTransitGatewayMulticastDomainId(v string) *RdsCustomClusterConfiguration { + s.TransitGatewayMulticastDomainId = &v + return s +} + type RebootDBClusterInput struct { _ struct{} `type:"structure"` @@ -50550,6 +50618,9 @@ type RestoreDBClusterFromSnapshotInput struct { // Valid for: Aurora DB clusters and Multi-AZ DB clusters PubliclyAccessible *bool `type:"boolean"` + // Reserved for future use. + RdsCustomClusterConfiguration *RdsCustomClusterConfiguration `type:"structure"` + // For DB clusters in serverless DB engine mode, the scaling properties of the // DB cluster. // @@ -50770,6 +50841,12 @@ func (s *RestoreDBClusterFromSnapshotInput) SetPubliclyAccessible(v bool) *Resto return s } +// SetRdsCustomClusterConfiguration sets the RdsCustomClusterConfiguration field's value. +func (s *RestoreDBClusterFromSnapshotInput) SetRdsCustomClusterConfiguration(v *RdsCustomClusterConfiguration) *RestoreDBClusterFromSnapshotInput { + s.RdsCustomClusterConfiguration = v + return s +} + // SetScalingConfiguration sets the ScalingConfiguration field's value. func (s *RestoreDBClusterFromSnapshotInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterFromSnapshotInput { s.ScalingConfiguration = v @@ -51113,6 +51190,9 @@ type RestoreDBClusterToPointInTimeInput struct { // Valid for: Multi-AZ DB clusters only PubliclyAccessible *bool `type:"boolean"` + // Reserved for future use. + RdsCustomClusterConfiguration *RdsCustomClusterConfiguration `type:"structure"` + // The date and time to restore the DB cluster to. // // Valid Values: Value must be a time in Universal Coordinated Time (UTC) format @@ -51342,6 +51422,12 @@ func (s *RestoreDBClusterToPointInTimeInput) SetPubliclyAccessible(v bool) *Rest return s } +// SetRdsCustomClusterConfiguration sets the RdsCustomClusterConfiguration field's value. +func (s *RestoreDBClusterToPointInTimeInput) SetRdsCustomClusterConfiguration(v *RdsCustomClusterConfiguration) *RestoreDBClusterToPointInTimeInput { + s.RdsCustomClusterConfiguration = v + return s +} + // SetRestoreToTime sets the RestoreToTime field's value. func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput { s.RestoreToTime = &v diff --git a/service/redshift/api.go b/service/redshift/api.go index f8869413c51..f28918386e0 100644 --- a/service/redshift/api.go +++ b/service/redshift/api.go @@ -178,6 +178,9 @@ func (c *Redshift) AddPartnerRequest(input *AddPartnerInput) (req *request.Reque // - ErrCodeUnauthorizedPartnerIntegrationFault "UnauthorizedPartnerIntegration" // The partner integration is not authorized. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AddPartner func (c *Redshift) AddPartner(input *AddPartnerInput) (*AddPartnerOutput, error) { req, out := c.AddPartnerRequest(input) @@ -991,6 +994,9 @@ func (c *Redshift) CopyClusterSnapshotRequest(input *CopyClusterSnapshotInput) ( // // Returned Error Codes: // +// - ErrCodeClusterNotFoundFault "ClusterNotFound" +// The ClusterIdentifier parameter does not refer to an existing cluster. +// // - ErrCodeClusterSnapshotAlreadyExistsFault "ClusterSnapshotAlreadyExists" // The value specified as a snapshot identifier is already used by an existing // snapshot. @@ -1264,6 +1270,9 @@ func (c *Redshift) CreateClusterRequest(input *CreateClusterInput) (req *request // There are no subnets in your VPC with associated IPv6 CIDR blocks. To use // dual-stack mode, associate an IPv6 CIDR block with each subnet in your VPC. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateCluster func (c *Redshift) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { req, out := c.CreateClusterRequest(input) @@ -2295,6 +2304,9 @@ func (c *Redshift) CreateScheduledActionRequest(input *CreateScheduledActionInpu // // Returned Error Codes: // +// - ErrCodeClusterNotFoundFault "ClusterNotFound" +// The ClusterIdentifier parameter does not refer to an existing cluster. +// // - ErrCodeScheduledActionAlreadyExistsFault "ScheduledActionAlreadyExists" // The scheduled action already exists. // @@ -2313,6 +2325,9 @@ func (c *Redshift) CreateScheduledActionRequest(input *CreateScheduledActionInpu // - ErrCodeUnauthorizedOperation "UnauthorizedOperation" // Your account is not authorized to perform the requested operation. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateScheduledAction func (c *Redshift) CreateScheduledAction(input *CreateScheduledActionInput) (*CreateScheduledActionOutput, error) { req, out := c.CreateScheduledActionRequest(input) @@ -3850,6 +3865,9 @@ func (c *Redshift) DeletePartnerRequest(input *DeletePartnerInput) (req *request // - ErrCodeUnauthorizedPartnerIntegrationFault "UnauthorizedPartnerIntegration" // The partner integration is not authorized. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeletePartner func (c *Redshift) DeletePartner(input *DeletePartnerInput) (*DeletePartnerOutput, error) { req, out := c.DeletePartnerRequest(input) @@ -7688,9 +7706,13 @@ func (c *Redshift) DescribeLoggingStatusRequest(input *DescribeLoggingStatusInpu // API operation DescribeLoggingStatus for usage and error information. // // Returned Error Codes: +// // - ErrCodeClusterNotFoundFault "ClusterNotFound" // The ClusterIdentifier parameter does not refer to an existing cluster. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeLoggingStatus func (c *Redshift) DescribeLoggingStatus(input *DescribeLoggingStatusInput) (*LoggingStatus, error) { req, out := c.DescribeLoggingStatusRequest(input) @@ -8062,6 +8084,9 @@ func (c *Redshift) DescribePartnersRequest(input *DescribePartnersInput) (req *r // - ErrCodeUnauthorizedPartnerIntegrationFault "UnauthorizedPartnerIntegration" // The partner integration is not authorized. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribePartners func (c *Redshift) DescribePartners(input *DescribePartnersInput) (*DescribePartnersOutput, error) { req, out := c.DescribePartnersRequest(input) @@ -8585,6 +8610,9 @@ func (c *Redshift) DescribeResizeRequest(input *DescribeResizeInput) (req *reque // - ErrCodeResizeNotFoundFault "ResizeNotFound" // A resize operation for the specified cluster is not found. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeResize func (c *Redshift) DescribeResize(input *DescribeResizeInput) (*DescribeResizeOutput, error) { req, out := c.DescribeResizeRequest(input) @@ -9612,6 +9640,9 @@ func (c *Redshift) DisableLoggingRequest(input *DisableLoggingInput) (req *reque // - ErrCodeInvalidClusterStateFault "InvalidClusterState" // The specified cluster is not in the available state. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableLogging func (c *Redshift) DisableLogging(input *DisableLoggingInput) (*LoggingStatus, error) { req, out := c.DisableLoggingRequest(input) @@ -9706,6 +9737,9 @@ func (c *Redshift) DisableSnapshotCopyRequest(input *DisableSnapshotCopyInput) ( // - ErrCodeUnauthorizedOperation "UnauthorizedOperation" // Your account is not authorized to perform the requested operation. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableSnapshotCopy func (c *Redshift) DisableSnapshotCopy(input *DisableSnapshotCopyInput) (*DisableSnapshotCopyOutput, error) { req, out := c.DisableSnapshotCopyRequest(input) @@ -9888,6 +9922,9 @@ func (c *Redshift) EnableLoggingRequest(input *EnableLoggingInput) (req *request // - ErrCodeInvalidClusterStateFault "InvalidClusterState" // The specified cluster is not in the available state. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableLogging func (c *Redshift) EnableLogging(input *EnableLoggingInput) (*LoggingStatus, error) { req, out := c.EnableLoggingRequest(input) @@ -10024,6 +10061,95 @@ func (c *Redshift) EnableSnapshotCopyWithContext(ctx aws.Context, input *EnableS return out, req.Send() } +const opFailoverPrimaryCompute = "FailoverPrimaryCompute" + +// FailoverPrimaryComputeRequest generates a "aws/request.Request" representing the +// client's request for the FailoverPrimaryCompute 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 FailoverPrimaryCompute for more information on using the FailoverPrimaryCompute +// 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 FailoverPrimaryComputeRequest method. +// req, resp := client.FailoverPrimaryComputeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/FailoverPrimaryCompute +func (c *Redshift) FailoverPrimaryComputeRequest(input *FailoverPrimaryComputeInput) (req *request.Request, output *FailoverPrimaryComputeOutput) { + op := &request.Operation{ + Name: opFailoverPrimaryCompute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &FailoverPrimaryComputeInput{} + } + + output = &FailoverPrimaryComputeOutput{} + req = c.newRequest(op, input, output) + return +} + +// FailoverPrimaryCompute API operation for Amazon Redshift. +// +// Fails over the primary compute unit of the specified Multi-AZ cluster to +// another Availability Zone. +// +// 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 Redshift's +// API operation FailoverPrimaryCompute for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeClusterNotFoundFault "ClusterNotFound" +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// +// - ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Your account is not authorized to perform the requested operation. +// +// - ErrCodeInvalidClusterStateFault "InvalidClusterState" +// The specified cluster is not in the available state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/FailoverPrimaryCompute +func (c *Redshift) FailoverPrimaryCompute(input *FailoverPrimaryComputeInput) (*FailoverPrimaryComputeOutput, error) { + req, out := c.FailoverPrimaryComputeRequest(input) + return out, req.Send() +} + +// FailoverPrimaryComputeWithContext is the same as FailoverPrimaryCompute with the addition of +// the ability to pass a context and additional request options. +// +// See FailoverPrimaryCompute 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 *Redshift) FailoverPrimaryComputeWithContext(ctx aws.Context, input *FailoverPrimaryComputeInput, opts ...request.Option) (*FailoverPrimaryComputeOutput, error) { + req, out := c.FailoverPrimaryComputeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetClusterCredentials = "GetClusterCredentials" // GetClusterCredentialsRequest generates a "aws/request.Request" representing the @@ -11023,6 +11149,9 @@ func (c *Redshift) ModifyClusterDbRevisionRequest(input *ModifyClusterDbRevision // - ErrCodeInvalidClusterStateFault "InvalidClusterState" // The specified cluster is not in the available state. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterDbRevision func (c *Redshift) ModifyClusterDbRevision(input *ModifyClusterDbRevisionInput) (*ModifyClusterDbRevisionOutput, error) { req, out := c.ModifyClusterDbRevisionRequest(input) @@ -11926,6 +12055,9 @@ func (c *Redshift) ModifyScheduledActionRequest(input *ModifyScheduledActionInpu // // Returned Error Codes: // +// - ErrCodeClusterNotFoundFault "ClusterNotFound" +// The ClusterIdentifier parameter does not refer to an existing cluster. +// // - ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" // The scheduled action cannot be found. // @@ -11941,6 +12073,9 @@ func (c *Redshift) ModifyScheduledActionRequest(input *ModifyScheduledActionInpu // - ErrCodeUnauthorizedOperation "UnauthorizedOperation" // Your account is not authorized to perform the requested operation. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyScheduledAction func (c *Redshift) ModifyScheduledAction(input *ModifyScheduledActionInput) (*ModifyScheduledActionOutput, error) { req, out := c.ModifyScheduledActionRequest(input) @@ -12295,6 +12430,9 @@ func (c *Redshift) PauseClusterRequest(input *PauseClusterInput) (req *request.R // - ErrCodeInvalidClusterStateFault "InvalidClusterState" // The specified cluster is not in the available state. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/PauseCluster func (c *Redshift) PauseCluster(input *PauseClusterInput) (*PauseClusterOutput, error) { req, out := c.PauseClusterRequest(input) @@ -13273,6 +13411,9 @@ func (c *Redshift) ResumeClusterRequest(input *ResumeClusterInput) (req *request // - ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity" // The number of nodes specified exceeds the allotted capacity of the cluster. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResumeCluster func (c *Redshift) ResumeCluster(input *ResumeClusterInput) (*ResumeClusterOutput, error) { req, out := c.ResumeClusterRequest(input) @@ -13643,6 +13784,9 @@ func (c *Redshift) RotateEncryptionKeyRequest(input *RotateEncryptionKeyInput) ( // The request cannot be completed because a dependent service is throttling // requests made by Amazon Redshift on your behalf. Wait and retry the request. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RotateEncryptionKey func (c *Redshift) RotateEncryptionKey(input *RotateEncryptionKeyInput) (*RotateEncryptionKeyOutput, error) { req, out := c.RotateEncryptionKeyRequest(input) @@ -13728,6 +13872,9 @@ func (c *Redshift) UpdatePartnerStatusRequest(input *UpdatePartnerStatusInput) ( // - ErrCodeUnauthorizedPartnerIntegrationFault "UnauthorizedPartnerIntegration" // The partner integration is not authorized. // +// - ErrCodeUnsupportedOperationFault "UnsupportedOperation" +// The requested operation isn't supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/UpdatePartnerStatus func (c *Redshift) UpdatePartnerStatus(input *UpdatePartnerStatusInput) (*UpdatePartnerStatusOutput, error) { req, out := c.UpdatePartnerStatusRequest(input) @@ -15656,6 +15803,14 @@ type Cluster struct { // The status of a modify operation, if any, initiated for the cluster. ModifyStatus *string `type:"string"` + // A boolean value that, if true, indicates that the cluster is deployed in + // two Availability Zones. + MultiAZ *string `type:"string"` + + // The secondary compute unit of a cluster, if Multi-AZ deployment is turned + // on. + MultiAZSecondary *SecondaryClusterInfo `type:"structure"` + // The date and time in UTC when system maintenance can begin. NextMaintenanceWindowStartTime *time.Time `type:"timestamp"` @@ -15987,6 +16142,18 @@ func (s *Cluster) SetModifyStatus(v string) *Cluster { return s } +// SetMultiAZ sets the MultiAZ field's value. +func (s *Cluster) SetMultiAZ(v string) *Cluster { + s.MultiAZ = &v + return s +} + +// SetMultiAZSecondary sets the MultiAZSecondary field's value. +func (s *Cluster) SetMultiAZSecondary(v *SecondaryClusterInfo) *Cluster { + s.MultiAZSecondary = v + return s +} + // SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value. func (s *Cluster) SetNextMaintenanceWindowStartTime(v time.Time) *Cluster { s.NextMaintenanceWindowStartTime = &v @@ -17332,6 +17499,10 @@ type CreateClusterInput struct { // MasterUsername is a required field MasterUsername *string `type:"string" required:"true"` + // If true, Amazon Redshift will deploy the cluster in two Availability Zones + // (AZ). + MultiAZ *bool `type:"boolean"` + // The node type to be provisioned for the cluster. For information about node // types, go to Working with Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) // in the Amazon Redshift Cluster Management Guide. @@ -17611,6 +17782,12 @@ func (s *CreateClusterInput) SetMasterUsername(v string) *CreateClusterInput { return s } +// SetMultiAZ sets the MultiAZ field's value. +func (s *CreateClusterInput) SetMultiAZ(v bool) *CreateClusterInput { + s.MultiAZ = &v + return s +} + // SetNodeType sets the NodeType field's value. func (s *CreateClusterInput) SetNodeType(v string) *CreateClusterInput { s.NodeType = &v @@ -27962,6 +28139,84 @@ func (s *EventSubscription) SetTags(v []*Tag) *EventSubscription { return s } +type FailoverPrimaryComputeInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the cluster for which the primary compute unit will + // be failed over to another Availability Zone. + // + // ClusterIdentifier is a required field + ClusterIdentifier *string `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 FailoverPrimaryComputeInput) 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 FailoverPrimaryComputeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FailoverPrimaryComputeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FailoverPrimaryComputeInput"} + if s.ClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterIdentifier sets the ClusterIdentifier field's value. +func (s *FailoverPrimaryComputeInput) SetClusterIdentifier(v string) *FailoverPrimaryComputeInput { + s.ClusterIdentifier = &v + return s +} + +type FailoverPrimaryComputeOutput struct { + _ struct{} `type:"structure"` + + // Describes a cluster. + Cluster *Cluster `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 FailoverPrimaryComputeOutput) 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 FailoverPrimaryComputeOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *FailoverPrimaryComputeOutput) SetCluster(v *Cluster) *FailoverPrimaryComputeOutput { + s.Cluster = v + return s +} + // The request parameters to get cluster credentials. type GetClusterCredentialsInput struct { _ struct{} `type:"structure"` @@ -29717,6 +29972,10 @@ type ModifyClusterInput struct { // String and GoString methods. MasterUserPassword *string `type:"string" sensitive:"true"` + // If true and the cluster is currently only deployed in a single Availability + // Zone, the cluster will be modified to be deployed in two Availability Zones. + MultiAZ *bool `type:"boolean"` + // The new identifier for the cluster. // // Constraints: @@ -29942,6 +30201,12 @@ func (s *ModifyClusterInput) SetMasterUserPassword(v string) *ModifyClusterInput return s } +// SetMultiAZ sets the MultiAZ field's value. +func (s *ModifyClusterInput) SetMultiAZ(v bool) *ModifyClusterInput { + s.MultiAZ = &v + return s +} + // SetNewClusterIdentifier sets the NewClusterIdentifier field's value. func (s *ModifyClusterInput) SetNewClusterIdentifier(v string) *ModifyClusterInput { s.NewClusterIdentifier = &v @@ -33741,6 +34006,10 @@ type RestoreFromClusterSnapshotInput struct { // ManageMasterPassword is true. MasterPasswordSecretKmsKeyId *string `type:"string"` + // If true, the snapshot will be restored to a cluster deployed in two Availability + // Zones. + MultiAZ *bool `type:"boolean"` + // The node type that the restored cluster will be provisioned with. // // Default: The node type of the cluster from which the snapshot was taken. @@ -33992,6 +34261,12 @@ func (s *RestoreFromClusterSnapshotInput) SetMasterPasswordSecretKmsKeyId(v stri return s } +// SetMultiAZ sets the MultiAZ field's value. +func (s *RestoreFromClusterSnapshotInput) SetMultiAZ(v bool) *RestoreFromClusterSnapshotInput { + s.MultiAZ = &v + return s +} + // SetNodeType sets the NodeType field's value. func (s *RestoreFromClusterSnapshotInput) SetNodeType(v string) *RestoreFromClusterSnapshotInput { s.NodeType = &v @@ -35269,6 +35544,49 @@ func (s *ScheduledActionType) SetResumeCluster(v *ResumeClusterMessage) *Schedul return s } +// The AvailabilityZone and ClusterNodes information of the secondary compute +// unit. +type SecondaryClusterInfo struct { + _ struct{} `type:"structure"` + + // The name of the Availability Zone in which the secondary compute unit of + // the cluster is located. + AvailabilityZone *string `type:"string"` + + // The nodes in the secondary compute unit. + ClusterNodes []*ClusterNode `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 SecondaryClusterInfo) 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 SecondaryClusterInfo) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *SecondaryClusterInfo) SetAvailabilityZone(v string) *SecondaryClusterInfo { + s.AvailabilityZone = &v + return s +} + +// SetClusterNodes sets the ClusterNodes field's value. +func (s *SecondaryClusterInfo) SetClusterNodes(v []*ClusterNode) *SecondaryClusterInfo { + s.ClusterNodes = v + return s +} + // Describes a snapshot. type Snapshot struct { _ struct{} `type:"structure"` diff --git a/service/redshift/redshiftiface/interface.go b/service/redshift/redshiftiface/interface.go index 5538287433f..e887b180ea8 100644 --- a/service/redshift/redshiftiface/interface.go +++ b/service/redshift/redshiftiface/interface.go @@ -516,6 +516,10 @@ type RedshiftAPI interface { EnableSnapshotCopyWithContext(aws.Context, *redshift.EnableSnapshotCopyInput, ...request.Option) (*redshift.EnableSnapshotCopyOutput, error) EnableSnapshotCopyRequest(*redshift.EnableSnapshotCopyInput) (*request.Request, *redshift.EnableSnapshotCopyOutput) + FailoverPrimaryCompute(*redshift.FailoverPrimaryComputeInput) (*redshift.FailoverPrimaryComputeOutput, error) + FailoverPrimaryComputeWithContext(aws.Context, *redshift.FailoverPrimaryComputeInput, ...request.Option) (*redshift.FailoverPrimaryComputeOutput, error) + FailoverPrimaryComputeRequest(*redshift.FailoverPrimaryComputeInput) (*request.Request, *redshift.FailoverPrimaryComputeOutput) + GetClusterCredentials(*redshift.GetClusterCredentialsInput) (*redshift.GetClusterCredentialsOutput, error) GetClusterCredentialsWithContext(aws.Context, *redshift.GetClusterCredentialsInput, ...request.Option) (*redshift.GetClusterCredentialsOutput, error) GetClusterCredentialsRequest(*redshift.GetClusterCredentialsInput) (*request.Request, *redshift.GetClusterCredentialsOutput) diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 81f44265636..7c4c02d6486 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -70142,7 +70142,7 @@ type GitConfig struct { // The URL where the Git repository is located. // // RepositoryUrl is a required field - RepositoryUrl *string `type:"string" required:"true"` + RepositoryUrl *string `min:"11" type:"string" required:"true"` // The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager // secret that contains the credentials used to access the git repository. The @@ -70180,6 +70180,9 @@ func (s *GitConfig) Validate() error { if s.RepositoryUrl == nil { invalidParams.Add(request.NewErrParamRequired("RepositoryUrl")) } + if s.RepositoryUrl != nil && len(*s.RepositoryUrl) < 11 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryUrl", 11)) + } if s.SecretArn != nil && len(*s.SecretArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1)) } @@ -90335,6 +90338,9 @@ func (s *ModelDashboardModelCard) SetTags(v []*Tag) *ModelDashboardModelCard { type ModelDashboardMonitoringSchedule struct { _ struct{} `type:"structure"` + // Input object for the batch transform job. + BatchTransformInput *BatchTransformInput_ `type:"structure"` + // A timestamp that indicates when the monitoring schedule was created. CreationTime *time.Time `type:"timestamp"` @@ -90387,6 +90393,12 @@ func (s ModelDashboardMonitoringSchedule) GoString() string { return s.String() } +// SetBatchTransformInput sets the BatchTransformInput field's value. +func (s *ModelDashboardMonitoringSchedule) SetBatchTransformInput(v *BatchTransformInput_) *ModelDashboardMonitoringSchedule { + s.BatchTransformInput = v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *ModelDashboardMonitoringSchedule) SetCreationTime(v time.Time) *ModelDashboardMonitoringSchedule { s.CreationTime = &v