diff --git a/apis/cloudtrail/2013-11-01/docs-2.json b/apis/cloudtrail/2013-11-01/docs-2.json index 0cf8bb4b55b..167256eeffa 100644 --- a/apis/cloudtrail/2013-11-01/docs-2.json +++ b/apis/cloudtrail/2013-11-01/docs-2.json @@ -1165,7 +1165,7 @@ } }, "MaxConcurrentQueriesException": { - "base": "

You are already running the maximum number of concurrent queries. Wait a minute for some queries to finish, and then run the query again.

", + "base": "

You are already running the maximum number of concurrent queries. The maximum number of concurrent queries is 10. Wait a minute for some queries to finish, and then run the query again.

", "refs": { } }, @@ -1506,12 +1506,12 @@ "RetentionPeriod": { "base": null, "refs": { - "CreateEventDataStoreRequest$RetentionPeriod": "

The retention period of the event data store, in days. You can set a retention period of up to 2557 days, the equivalent of seven years.

", + "CreateEventDataStoreRequest$RetentionPeriod": "

The retention period of the event data store, in days. You can set a retention period of up to 2557 days, the equivalent of seven years. CloudTrail Lake determines whether to retain an event by checking if the eventTime of the event is within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will remove events when the eventTime is older than 90 days.

If you plan to copy trail events to this event data store, we recommend that you consider both the age of the events that you want to copy as well as how long you want to keep the copied events in your event data store. For example, if you copy trail events that are 5 years old and specify a retention period of 7 years, the event data store will retain those events for two years.

", "CreateEventDataStoreResponse$RetentionPeriod": "

The retention period of an event data store, in days.

", "EventDataStore$RetentionPeriod": "

The retention period, in days.

", "GetEventDataStoreResponse$RetentionPeriod": "

The retention period of the event data store, in days.

", "RestoreEventDataStoreResponse$RetentionPeriod": "

The retention period, in days.

", - "UpdateEventDataStoreRequest$RetentionPeriod": "

The retention period, in days.

", + "UpdateEventDataStoreRequest$RetentionPeriod": "

The retention period of the event data store, in days. You can set a retention period of up to 2557 days, the equivalent of seven years. CloudTrail Lake determines whether to retain an event by checking if the eventTime of the event is within the specified retention period. For example, if you set a retention period of 90 days, CloudTrail will remove events when the eventTime is older than 90 days.

If you decrease the retention period of an event data store, CloudTrail will remove any events with an eventTime older than the new retention period. For example, if the previous retention period was 365 days and you decrease it to 100 days, CloudTrail will remove events with an eventTime older than 100 days.

", "UpdateEventDataStoreResponse$RetentionPeriod": "

The retention period, in days.

" } }, @@ -1529,7 +1529,7 @@ "SelectorField": { "base": null, "refs": { - "AdvancedFieldSelector$Field": "

A field in a CloudTrail event record on which to filter events to be logged. For event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events, the field is used only for selecting events as filtering is not supported.

For CloudTrail event records, supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.

For event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events, the only supported field is eventCategory.

" + "AdvancedFieldSelector$Field": "

A field in a CloudTrail event record on which to filter events to be logged. For event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events, the field is used only for selecting events as filtering is not supported.

For CloudTrail event records, supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.

For event data stores for Config configuration items, Audit Manager evidence, or non-Amazon Web Services events, the only supported field is eventCategory.

" } }, "SelectorName": { @@ -1643,7 +1643,7 @@ "CreateTrailResponse$CloudWatchLogsLogGroupArn": "

Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

", "CreateTrailResponse$CloudWatchLogsRoleArn": "

Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

", "CreateTrailResponse$KmsKeyId": "

Specifies the KMS key ID that encrypts the events delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the following format.

arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

", - "DataResource$Type": "

The resource type in which you want to log data events. You can specify the following basic event selector resource types:

The following resource types are also available through advanced event selectors. Basic event selector resource types are valid in advanced event selectors, but advanced event selector resource types are not valid in basic event selectors. For more information, see AdvancedFieldSelector.

", + "DataResource$Type": "

The resource type in which you want to log data events. You can specify the following basic event selector resource types:

The following resource types are also available through advanced event selectors. Basic event selector resource types are valid in advanced event selectors, but advanced event selector resource types are not valid in basic event selectors. For more information, see AdvancedFieldSelector.

", "DataResourceValues$member": null, "DeleteTrailRequest$Name": "

Specifies the name or the CloudTrail ARN of the trail to be deleted. The following is the format of a trail ARN. arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

", "Event$EventId": "

The CloudTrail ID of the event returned.

", diff --git a/apis/cloudtrail/2013-11-01/endpoint-rule-set-1.json b/apis/cloudtrail/2013-11-01/endpoint-rule-set-1.json index 2b5ffaa7a8c..be85a60fb63 100644 --- a/apis/cloudtrail/2013-11-01/endpoint-rule-set-1.json +++ b/apis/cloudtrail/2013-11-01/endpoint-rule-set-1.json @@ -58,52 +58,56 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -111,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://cloudtrail-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://cloudtrail-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,168 +225,128 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "Region" + }, + "us-gov-east-1" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://cloudtrail.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://cloudtrail.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://cloudtrail.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, - { - "conditions": [], - "endpoint": { - "url": "https://cloudtrail-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "us-gov-west-1" ] } - ] + ], + "endpoint": { + "url": "https://cloudtrail.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://cloudtrail-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://cloudtrail.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://cloudtrail.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://cloudtrail.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://cloudtrail.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/apis/connect/2017-08-08/api-2.json b/apis/connect/2017-08-08/api-2.json index 50476eaf747..32cf8e7a317 100644 --- a/apis/connect/2017-08-08/api-2.json +++ b/apis/connect/2017-08-08/api-2.json @@ -194,6 +194,24 @@ {"shape":"ThrottlingException"} ] }, + "AssociateTrafficDistributionGroupUser":{ + "name":"AssociateTrafficDistributionGroupUser", + "http":{ + "method":"PUT", + "requestUri":"/traffic-distribution-group/{TrafficDistributionGroupId}/user" + }, + "input":{"shape":"AssociateTrafficDistributionGroupUserRequest"}, + "output":{"shape":"AssociateTrafficDistributionGroupUserResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceConflictException"}, + {"shape":"InternalServiceException"} + ], + "idempotent":true + }, "ClaimPhoneNumber":{ "name":"ClaimPhoneNumber", "http":{ @@ -1362,6 +1380,24 @@ {"shape":"ThrottlingException"} ] }, + "DisassociateTrafficDistributionGroupUser":{ + "name":"DisassociateTrafficDistributionGroupUser", + "http":{ + "method":"DELETE", + "requestUri":"/traffic-distribution-group/{TrafficDistributionGroupId}/user" + }, + "input":{"shape":"DisassociateTrafficDistributionGroupUserRequest"}, + "output":{"shape":"DisassociateTrafficDistributionGroupUserResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceConflictException"}, + {"shape":"InternalServiceException"} + ], + "idempotent":true + }, "DismissUserContact":{ "name":"DismissUserContact", "http":{ @@ -2010,6 +2046,22 @@ {"shape":"InternalServiceException"} ] }, + "ListTrafficDistributionGroupUsers":{ + "name":"ListTrafficDistributionGroupUsers", + "http":{ + "method":"GET", + "requestUri":"/traffic-distribution-group/{TrafficDistributionGroupId}/user" + }, + "input":{"shape":"ListTrafficDistributionGroupUsersRequest"}, + "output":{"shape":"ListTrafficDistributionGroupUsersResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ] + }, "ListTrafficDistributionGroups":{ "name":"ListTrafficDistributionGroups", "http":{ @@ -3251,6 +3303,13 @@ "TIME_SINCE_LAST_INBOUND" ] }, + "AgentConfig":{ + "type":"structure", + "required":["Distributions"], + "members":{ + "Distributions":{"shape":"DistributionList"} + } + }, "AgentContactReference":{ "type":"structure", "members":{ @@ -3585,6 +3644,28 @@ "AssociationId":{"shape":"AssociationId"} } }, + "AssociateTrafficDistributionGroupUserRequest":{ + "type":"structure", + "required":[ + "TrafficDistributionGroupId", + "UserId", + "InstanceId" + ], + "members":{ + "TrafficDistributionGroupId":{ + "shape":"TrafficDistributionGroupIdOrArn", + "location":"uri", + "locationName":"TrafficDistributionGroupId" + }, + "UserId":{"shape":"UserId"}, + "InstanceId":{"shape":"InstanceId"} + } + }, + "AssociateTrafficDistributionGroupUserResponse":{ + "type":"structure", + "members":{ + } + }, "AssociationId":{ "type":"string", "max":100, @@ -5918,6 +5999,36 @@ } } }, + "DisassociateTrafficDistributionGroupUserRequest":{ + "type":"structure", + "required":[ + "TrafficDistributionGroupId", + "UserId", + "InstanceId" + ], + "members":{ + "TrafficDistributionGroupId":{ + "shape":"TrafficDistributionGroupIdOrArn", + "location":"uri", + "locationName":"TrafficDistributionGroupId" + }, + "UserId":{ + "shape":"UserId", + "location":"querystring", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "location":"querystring", + "locationName":"InstanceId" + } + } + }, + "DisassociateTrafficDistributionGroupUserResponse":{ + "type":"structure", + "members":{ + } + }, "DismissUserContactRequest":{ "type":"structure", "required":[ @@ -6802,7 +6913,9 @@ "members":{ "TelephonyConfig":{"shape":"TelephonyConfig"}, "Id":{"shape":"TrafficDistributionGroupId"}, - "Arn":{"shape":"TrafficDistributionGroupArn"} + "Arn":{"shape":"TrafficDistributionGroupArn"}, + "SignInConfig":{"shape":"SignInConfig"}, + "AgentConfig":{"shape":"AgentConfig"} } }, "Grouping":{ @@ -8409,6 +8522,35 @@ "NextToken":{"shape":"NextToken"} } }, + "ListTrafficDistributionGroupUsersRequest":{ + "type":"structure", + "required":["TrafficDistributionGroupId"], + "members":{ + "TrafficDistributionGroupId":{ + "shape":"TrafficDistributionGroupIdOrArn", + "location":"uri", + "locationName":"TrafficDistributionGroupId" + }, + "MaxResults":{ + "shape":"MaxResult10", + "box":true, + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListTrafficDistributionGroupUsersResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "TrafficDistributionGroupUserSummaryList":{"shape":"TrafficDistributionGroupUserSummaryList"} + } + }, "ListTrafficDistributionGroupsRequest":{ "type":"structure", "members":{ @@ -10393,6 +10535,28 @@ "error":{"httpStatusCode":402}, "exception":true }, + "SignInConfig":{ + "type":"structure", + "required":["Distributions"], + "members":{ + "Distributions":{"shape":"SignInDistributionList"} + } + }, + "SignInDistribution":{ + "type":"structure", + "required":[ + "Region", + "Enabled" + ], + "members":{ + "Region":{"shape":"AwsRegion"}, + "Enabled":{"shape":"Boolean"} + } + }, + "SignInDistributionList":{ + "type":"list", + "member":{"shape":"SignInDistribution"} + }, "SingleSelectOptions":{ "type":"list", "member":{"shape":"TaskTemplateSingleSelectOption"} @@ -11071,7 +11235,8 @@ "Description":{"shape":"Description250"}, "InstanceArn":{"shape":"InstanceArn"}, "Status":{"shape":"TrafficDistributionGroupStatus"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "IsDefault":{"shape":"Boolean"} } }, "TrafficDistributionGroupArn":{ @@ -11104,7 +11269,8 @@ "Arn":{"shape":"TrafficDistributionGroupArn"}, "Name":{"shape":"Name128"}, "InstanceArn":{"shape":"InstanceArn"}, - "Status":{"shape":"TrafficDistributionGroupStatus"} + "Status":{"shape":"TrafficDistributionGroupStatus"}, + "IsDefault":{"shape":"Boolean"} } }, "TrafficDistributionGroupSummaryList":{ @@ -11113,6 +11279,18 @@ "max":10, "min":0 }, + "TrafficDistributionGroupUserSummary":{ + "type":"structure", + "members":{ + "UserId":{"shape":"UserId"} + } + }, + "TrafficDistributionGroupUserSummaryList":{ + "type":"list", + "member":{"shape":"TrafficDistributionGroupUserSummary"}, + "max":10, + "min":0 + }, "TrafficType":{ "type":"string", "enum":[ @@ -12007,7 +12185,9 @@ "location":"uri", "locationName":"Id" }, - "TelephonyConfig":{"shape":"TelephonyConfig"} + "TelephonyConfig":{"shape":"TelephonyConfig"}, + "SignInConfig":{"shape":"SignInConfig"}, + "AgentConfig":{"shape":"AgentConfig"} } }, "UpdateTrafficDistributionResponse":{ diff --git a/apis/connect/2017-08-08/docs-2.json b/apis/connect/2017-08-08/docs-2.json index 2102c8c9a1b..922ce25fa8c 100644 --- a/apis/connect/2017-08-08/docs-2.json +++ b/apis/connect/2017-08-08/docs-2.json @@ -13,6 +13,7 @@ "AssociateQueueQuickConnects": "

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

Associates a set of quick connects with a queue.

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

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

", @@ -85,6 +86,7 @@ "DisassociateQueueQuickConnects": "

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

Disassociates a set of quick connects from a queue.

", "DisassociateRoutingProfileQueues": "

Disassociates a set of queues from a routing profile.

", "DisassociateSecurityKey": "

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

Deletes the specified security key.

", + "DisassociateTrafficDistributionGroupUser": "

Disassociates an agent from a traffic distribution group.

", "DismissUserContact": "

Dismisses contacts from an agent’s CCP and returns the agent to an available state, which allows the agent to receive a new routed contact. Contacts can only be dismissed if they are in a MISSED, ERROR, ENDED, or REJECTED state in the Agent Event Stream.

", "GetContactAttributes": "

Retrieves the contact attributes for the specified contact.

", "GetCurrentMetricData": "

Gets the real-time metric data from the specified Amazon Connect instance.

For a description of each metric, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide.

", @@ -113,7 +115,7 @@ "ListLambdaFunctions": "

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

Returns a paginated list of all Lambda functions that display in the dropdown options in the relevant flow blocks.

", "ListLexBots": "

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

Returns a paginated list of all the Amazon Lex V1 bots currently associated with the instance. To return both Amazon Lex V1 and V2 bots, use the ListBots API.

", "ListPhoneNumbers": "

Provides information about the phone numbers for the specified Amazon Connect instance.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

The phone number Arn value that is returned from each of the items in the PhoneNumberSummaryList cannot be used to tag phone number resources. It will fail with a ResourceNotFoundException. Instead, use the ListPhoneNumbersV2 API. It returns the new phone number ARN that can be used to tag phone number resources.

", - "ListPhoneNumbersV2": "

Lists phone numbers claimed 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 traffic distribution group.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

", + "ListPhoneNumbersV2": "

Lists phone numbers claimed 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 traffic distribution group.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

", "ListPrompts": "

Provides information about the prompts for the specified Amazon Connect instance.

", "ListQueueQuickConnects": "

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

Lists the quick connects associated with a queue.

", "ListQueues": "

Provides information about the queues for the specified Amazon Connect instance.

If you do not specify a QueueTypes parameter, both standard and agent queues are returned. This might cause an unexpected truncation of results if you have more than 1000 agents and you limit the number of results of the API call in code.

For more information about queues, see Queues: Standard and Agent in the Amazon Connect Administrator Guide.

", @@ -126,6 +128,7 @@ "ListSecurityProfiles": "

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

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

", "ListTagsForResource": "

Lists the tags for the specified resource.

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

", "ListTaskTemplates": "

Lists task templates for the specified Amazon Connect instance.

", + "ListTrafficDistributionGroupUsers": "

Lists traffic distribution group users.

", "ListTrafficDistributionGroups": "

Lists traffic distribution groups.

", "ListUseCases": "

Lists the use cases for the integration association.

", "ListUserHierarchyGroups": "

Provides summary information about the hierarchy groups for the specified Amazon Connect instance.

For more information about agent hierarchies, see Set Up Agent Hierarchies in the Amazon Connect Administrator Guide.

", @@ -191,7 +194,7 @@ "UpdateRule": "

Updates a rule for the specified Amazon Connect instance.

Use the Rules Function language to code conditions for the rule.

", "UpdateSecurityProfile": "

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

Updates a security profile.

", "UpdateTaskTemplate": "

Updates details about a specific task template in the specified Amazon Connect instance. This operation does not support partial updates. Instead it does a full update of template content.

", - "UpdateTrafficDistribution": "

Updates the traffic distribution for a given traffic distribution group.

For more information about updating a traffic distribution group, see Update telephony traffic distribution across Amazon Web Services Regions in the Amazon Connect Administrator Guide.

", + "UpdateTrafficDistribution": "

Updates the traffic distribution for a given traffic distribution group.

You can change the SignInConfig only for a default TrafficDistributionGroup. If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about updating a traffic distribution group, see Update telephony traffic distribution across Amazon Web Services Regions in the Amazon Connect Administrator Guide.

", "UpdateUserHierarchy": "

Assigns the specified hierarchy group to the specified user.

", "UpdateUserHierarchyGroupName": "

Updates the name of the user hierarchy group.

", "UpdateUserHierarchyStructure": "

Updates the user hierarchy structure: add, remove, and rename user hierarchy levels.

", @@ -357,11 +360,18 @@ "AgentAvailabilityTimer": { "base": null, "refs": { - "CreateRoutingProfileRequest$AgentAvailabilityTimer": "

Whether agents with this routing profile will have their routing order calculated based on time since their last inbound contact or longest idle time.

", + "CreateRoutingProfileRequest$AgentAvailabilityTimer": "

Whether agents with this routing profile will have their routing order calculated based on longest idle time or time since their last inbound contact.

", "RoutingProfile$AgentAvailabilityTimer": "

Whether agents with this routing profile will have their routing order calculated based on time since their last inbound contact or longest idle time.

", "UpdateRoutingProfileAgentAvailabilityTimerRequest$AgentAvailabilityTimer": "

Whether agents with this routing profile will have their routing order calculated based on time since their last inbound contact or longest idle time.

" } }, + "AgentConfig": { + "base": "

The distribution of agents between the instance and its replica(s).

", + "refs": { + "GetTrafficDistributionResponse$AgentConfig": "

The distribution of agents between the instance and its replica(s).

", + "UpdateTrafficDistributionRequest$AgentConfig": "

The distribution of agents between the instance and its replica(s).

" + } + }, "AgentContactReference": { "base": "

Information about the contact associated to the user.

", "refs": { @@ -398,9 +408,9 @@ "base": null, "refs": { "AgentInfo$Id": "

The identifier of the agent who accepted the contact.

", - "GetFederationTokenResponse$UserId": "

The identifier for the user.

", + "GetFederationTokenResponse$UserId": "

The identifier for the user. This can be the ID or the ARN of the user.

", "MonitorContactRequest$UserId": "

The identifier of the user account.

", - "TransferContactRequest$UserId": "

The identifier for the user.

" + "TransferContactRequest$UserId": "

The identifier for the user. This can be the ID or the ARN of the user.

" } }, "AgentStatus": { @@ -612,6 +622,16 @@ "refs": { } }, + "AssociateTrafficDistributionGroupUserRequest": { + "base": null, + "refs": { + } + }, + "AssociateTrafficDistributionGroupUserResponse": { + "base": null, + "refs": { + } + }, "AssociationId": { "base": null, "refs": { @@ -688,7 +708,8 @@ "base": null, "refs": { "Distribution$Region": "

The Amazon Web Services Region where the traffic is distributed.

", - "ReplicateInstanceRequest$ReplicaRegion": "

The Amazon Web Services Region where to replicate the Amazon Connect instance.

" + "ReplicateInstanceRequest$ReplicaRegion": "

The Amazon Web Services Region where to replicate the Amazon Connect instance.

", + "SignInDistribution$Region": "

The Amazon Web Services Region of the sign in distribution.

" } }, "BehaviorType": { @@ -708,6 +729,9 @@ "EvaluationFormSingleSelectQuestionOption$AutomaticFail": "

The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.

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

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

You can change the SignInConfig only for a default TrafficDistributionGroup. 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.

" } }, @@ -1919,6 +1943,16 @@ "refs": { } }, + "DisassociateTrafficDistributionGroupUserRequest": { + "base": null, + "refs": { + } + }, + "DisassociateTrafficDistributionGroupUserResponse": { + "base": null, + "refs": { + } + }, "DismissUserContactRequest": { "base": null, "refs": { @@ -1945,6 +1979,7 @@ "DistributionList": { "base": null, "refs": { + "AgentConfig$Distributions": "

Information about traffic distributions.

", "TelephonyConfig$Distributions": "

Information about traffic distributions.

" } }, @@ -2850,6 +2885,7 @@ "AssociateQueueQuickConnectsRequest$InstanceId": "

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

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

", "CreateAgentStatusRequest$InstanceId": "

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

", "CreateContactFlowModuleRequest$InstanceId": "

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

", "CreateContactFlowRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", @@ -2918,6 +2954,7 @@ "DisassociateQueueQuickConnectsRequest$InstanceId": "

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

", "DisassociateRoutingProfileQueuesRequest$InstanceId": "

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

", "DisassociateSecurityKeyRequest$InstanceId": "

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

", + "DisassociateTrafficDistributionGroupUserRequest$InstanceId": "

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

", "DismissUserContactRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "GetContactAttributesRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", "GetCurrentMetricDataRequest$InstanceId": "

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

", @@ -3581,6 +3618,16 @@ "refs": { } }, + "ListTrafficDistributionGroupUsersRequest": { + "base": null, + "refs": { + } + }, + "ListTrafficDistributionGroupUsersResponse": { + "base": null, + "refs": { + } + }, "ListTrafficDistributionGroupsRequest": { "base": null, "refs": { @@ -3633,6 +3680,7 @@ "refs": { "ListInstanceStorageConfigsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListInstancesRequest$MaxResults": "

The maximum number of results to return per page.

", + "ListTrafficDistributionGroupUsersRequest$MaxResults": "

The maximum number of results to return per page.

", "ListTrafficDistributionGroupsRequest$MaxResults": "

The maximum number of results to return per page.

", "SearchAvailablePhoneNumbersRequest$MaxResults": "

The maximum number of results to return per page.

" } @@ -3918,6 +3966,8 @@ "ListSecurityProfilesResponse$NextToken": "

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

", "ListTaskTemplatesRequest$NextToken": "

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

It is not expected that you set this because the value returned in the previous response is always null.

", "ListTaskTemplatesResponse$NextToken": "

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

This is always returned as a null in the response.

", + "ListTrafficDistributionGroupUsersRequest$NextToken": "

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

", + "ListTrafficDistributionGroupUsersResponse$NextToken": "

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

", "ListTrafficDistributionGroupsRequest$NextToken": "

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

", "ListTrafficDistributionGroupsResponse$NextToken": "

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

", "ListUseCasesRequest$NextToken": "

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

", @@ -5331,6 +5381,25 @@ "refs": { } }, + "SignInConfig": { + "base": "

The distribution of allowing signing in to the instance and its replica(s).

", + "refs": { + "GetTrafficDistributionResponse$SignInConfig": "

The distribution of allowing signing in to the instance and its replica(s).

", + "UpdateTrafficDistributionRequest$SignInConfig": "

The distribution of allowing signing in to the instance and its replica(s).

" + } + }, + "SignInDistribution": { + "base": "

The distribution of sign in traffic between the instance and its replica(s).

", + "refs": { + "SignInDistributionList$member": null + } + }, + "SignInDistributionList": { + "base": null, + "refs": { + "SignInConfig$Distributions": "

Information about traffic distributions.

" + } + }, "SingleSelectOptions": { "base": null, "refs": { @@ -5980,9 +6049,12 @@ "TrafficDistributionGroupIdOrArn": { "base": null, "refs": { + "AssociateTrafficDistributionGroupUserRequest$TrafficDistributionGroupId": "

The identifier of the traffic distribution group. This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. The ARN must be provided if the call is from the replicated Region.

", "DeleteTrafficDistributionGroupRequest$TrafficDistributionGroupId": "

The identifier of the traffic distribution group. This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. The ARN must be provided if the call is from the replicated Region.

", "DescribeTrafficDistributionGroupRequest$TrafficDistributionGroupId": "

The identifier of the traffic distribution group. This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. The ARN must be provided if the call is from the replicated Region.

", + "DisassociateTrafficDistributionGroupUserRequest$TrafficDistributionGroupId": "

The identifier of the traffic distribution group. This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. The ARN must be provided if the call is from the replicated Region.

", "GetTrafficDistributionRequest$Id": "

The identifier of the traffic distribution group.

", + "ListTrafficDistributionGroupUsersRequest$TrafficDistributionGroupId": "

The identifier of the traffic distribution group. This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. The ARN must be provided if the call is from the replicated Region.

", "UpdateTrafficDistributionRequest$Id": "

The identifier of the traffic distribution group. This can be the ID or the ARN if the API is being called in the Region where the traffic distribution group was created. The ARN must be provided if the call is from the replicated Region.

" } }, @@ -6005,6 +6077,18 @@ "ListTrafficDistributionGroupsResponse$TrafficDistributionGroupSummaryList": "

A list of traffic distribution groups.

" } }, + "TrafficDistributionGroupUserSummary": { + "base": "

Summary information about a traffic distribution group user.

", + "refs": { + "TrafficDistributionGroupUserSummaryList$member": null + } + }, + "TrafficDistributionGroupUserSummaryList": { + "base": null, + "refs": { + "ListTrafficDistributionGroupUsersResponse$TrafficDistributionGroupUserSummaryList": "

A list of traffic distribution group users.

" + } + }, "TrafficType": { "base": null, "refs": { @@ -6414,11 +6498,14 @@ "base": null, "refs": { "AgentsMinOneMaxHundred$member": null, + "AssociateTrafficDistributionGroupUserRequest$UserId": "

The identifier of the user account. This can be the ID or the ARN of the user.

", "CreateUserResponse$UserId": "

The identifier of the user account.

", "DeleteUserRequest$UserId": "

The identifier of the user.

", "DescribeUserRequest$UserId": "

The identifier of the user account.

", + "DisassociateTrafficDistributionGroupUserRequest$UserId": "

The identifier for the user. This can be the ID or the ARN of the user.

", "DismissUserContactRequest$UserId": "

The identifier of the user account.

", "PutUserStatusRequest$UserId": "

The identifier of the user.

", + "TrafficDistributionGroupUserSummary$UserId": "

The identifier for the user. This can be the ID or the ARN of the user.

", "UpdateUserHierarchyRequest$UserId": "

The identifier of the user account.

", "UpdateUserIdentityInfoRequest$UserId": "

The identifier of the user account.

", "UpdateUserPhoneConfigRequest$UserId": "

The identifier of the user account.

", diff --git a/apis/connect/2017-08-08/paginators-1.json b/apis/connect/2017-08-08/paginators-1.json index 739a54e57da..a4012e4c41c 100644 --- a/apis/connect/2017-08-08/paginators-1.json +++ b/apis/connect/2017-08-08/paginators-1.json @@ -198,6 +198,12 @@ "output_token": "NextToken", "result_key": "TaskTemplates" }, + "ListTrafficDistributionGroupUsers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TrafficDistributionGroupUserSummaryList" + }, "ListTrafficDistributionGroups": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/apis/elasticloadbalancingv2/2015-12-01/api-2.json b/apis/elasticloadbalancingv2/2015-12-01/api-2.json index c743df4b068..fe40358656d 100644 --- a/apis/elasticloadbalancingv2/2015-12-01/api-2.json +++ b/apis/elasticloadbalancingv2/2015-12-01/api-2.json @@ -1260,6 +1260,14 @@ }, "exception":true }, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic":{"type":"string"}, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficEnum":{ + "type":"string", + "enum":[ + "on", + "off" + ] + }, "FixedResponseActionConfig":{ "type":"structure", "required":["StatusCode"], @@ -1489,7 +1497,8 @@ "AvailabilityZones":{"shape":"AvailabilityZones"}, "SecurityGroups":{"shape":"SecurityGroups"}, "IpAddressType":{"shape":"IpAddressType"}, - "CustomerOwnedIpv4Pool":{"shape":"CustomerOwnedIpv4Pool"} + "CustomerOwnedIpv4Pool":{"shape":"CustomerOwnedIpv4Pool"}, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic":{"shape":"EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic"} } }, "LoadBalancerAddress":{ @@ -1977,13 +1986,15 @@ ], "members":{ "LoadBalancerArn":{"shape":"LoadBalancerArn"}, - "SecurityGroups":{"shape":"SecurityGroups"} + "SecurityGroups":{"shape":"SecurityGroups"}, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic":{"shape":"EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficEnum"} } }, "SetSecurityGroupsOutput":{ "type":"structure", "members":{ - "SecurityGroupIds":{"shape":"SecurityGroups"} + "SecurityGroupIds":{"shape":"SecurityGroups"}, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic":{"shape":"EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficEnum"} } }, "SetSubnetsInput":{ diff --git a/apis/elasticloadbalancingv2/2015-12-01/docs-2.json b/apis/elasticloadbalancingv2/2015-12-01/docs-2.json index 7f7aad2eb15..074422ac3ce 100644 --- a/apis/elasticloadbalancingv2/2015-12-01/docs-2.json +++ b/apis/elasticloadbalancingv2/2015-12-01/docs-2.json @@ -12,7 +12,7 @@ "DeleteLoadBalancer": "

Deletes the specified Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. Deleting a load balancer also deletes its listeners.

You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.

Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them.

", "DeleteRule": "

Deletes the specified rule.

You can't delete the default rule.

", "DeleteTargetGroup": "

Deletes the specified target group.

You can delete a target group if it is not referenced by any actions. Deleting a target group also deletes any associated health checks. Deleting a target group does not affect its registered targets. For example, any EC2 instances continue to run until you stop or terminate them.

", - "DeregisterTargets": "

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

", + "DeregisterTargets": "

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

Note: If the specified target does not exist, the action returns successfully.

", "DescribeAccountLimits": "

Describes the current Elastic Load Balancing resource limits for your Amazon Web Services account.

For more information, see the following:

", "DescribeListenerCertificates": "

Describes the default certificate and the certificate list for the specified HTTPS or TLS listener.

If the default certificate is also in the certificate list, it appears twice in the results (once with IsDefault set to true and once with IsDefault set to false).

For more information, see SSL certificates in the Application Load Balancers Guide or Server certificates in the Network Load Balancers Guide.

", "DescribeListeners": "

Describes the specified listeners or the listeners for the specified Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. You must specify either a load balancer or one or more listeners.

", @@ -34,7 +34,7 @@ "RemoveTags": "

Removes the specified tags from the specified Elastic Load Balancing resources. You can remove the tags for one or more Application Load Balancers, Network Load Balancers, Gateway Load Balancers, target groups, listeners, or rules.

", "SetIpAddressType": "

Sets the type of IP addresses used by the subnets of the specified load balancer.

", "SetRulePriorities": "

Sets the priorities of the specified rules.

You can reorder the rules as long as there are no priority conflicts in the new order. Any existing rules that you do not specify retain their current priority.

", - "SetSecurityGroups": "

Associates the specified security groups with the specified Application Load Balancer. The specified security groups override the previously associated security groups.

You can't specify a security group for a Network Load Balancer or Gateway Load Balancer.

", + "SetSecurityGroups": "

Associates the specified security groups with the specified Application Load Balancer or Network Load Balancer. The specified security groups override the previously associated security groups.

You can't perform this operation on a Network Load Balancer unless you specified a security group for the load balancer when you created it.

You can't associate a security group with a Gateway Load Balancer.

", "SetSubnets": "

Enables the Availability Zones for the specified public subnets for the specified Application Load Balancer or Network Load Balancer. The specified subnets replace the previously enabled subnets.

When you specify subnets for a Network Load Balancer, you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.

" }, "shapes": { @@ -608,6 +608,19 @@ "refs": { } }, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { + "base": null, + "refs": { + "LoadBalancer$EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": "

Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through Amazon Web Services PrivateLink.

" + } + }, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficEnum": { + "base": null, + "refs": { + "SetSecurityGroupsInput$EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": "

Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through Amazon Web Services PrivateLink. The default is on.

", + "SetSecurityGroupsOutput$EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": "

Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through Amazon Web Services PrivateLink.

" + } + }, "FixedResponseActionConfig": { "base": "

Information about an action that returns a custom HTTP response.

", "refs": { @@ -778,7 +791,7 @@ "LoadBalancer$IpAddressType": "

The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

", "SetIpAddressTypeInput$IpAddressType": "

The IP address type. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

", "SetIpAddressTypeOutput$IpAddressType": "

The IP address type.

", - "SetSubnetsInput$IpAddressType": "

[Network Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener. .

", + "SetSubnetsInput$IpAddressType": "

[Network Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

", "SetSubnetsOutput$IpAddressType": "

[Network Load Balancers] The IP address type.

" } }, @@ -789,7 +802,7 @@ } }, "Limit": { - "base": "

Information about an Elastic Load Balancing resource limit for your Amazon Web Services account.

", + "base": "

Information about an Elastic Load Balancing resource limit for your Amazon Web Services account.

For more information, see the following:

", "refs": { "Limits$member": null } @@ -890,7 +903,7 @@ "base": null, "refs": { "DescribeLoadBalancersInput$LoadBalancerArns": "

The Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load balancers in a single call.

", - "TargetGroup$LoadBalancerArns": "

The Amazon Resource Names (ARN) of the load balancers that route traffic to this target group.

" + "TargetGroup$LoadBalancerArns": "

The Amazon Resource Name (ARN) of the load balancer that routes traffic to this target group. You can use each target group with only one load balancer.

" } }, "LoadBalancerAttribute": { @@ -1105,8 +1118,8 @@ "CreateTargetGroupInput$Port": "

The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply. If the protocol is GENEVE, the supported port is 6081.

", "Listener$Port": "

The port on which the load balancer is listening.

", "ModifyListenerInput$Port": "

The port for connections from clients to the load balancer. You cannot specify a port for a Gateway Load Balancer.

", - "TargetDescription$Port": "

The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. Not used if the target is a Lambda function.

", - "TargetGroup$Port": "

The port on which the targets are listening. Not used if the target is a Lambda function.

" + "TargetDescription$Port": "

The port on which the target is listening. If the target group protocol is GENEVE, the supported port is 6081. If the target type is alb, the targeted Application Load Balancer must have at least one listener whose port matches the target group port. This parameter is not used if the target is a Lambda function.

", + "TargetGroup$Port": "

The port on which the targets are listening. This parameter is not used if the target is a Lambda function.

" } }, "PriorityInUseException": { @@ -1274,7 +1287,7 @@ } }, "RuleCondition": { - "base": "

Information about a condition for a rule.

Each rule can optionally include up to one of each of the following conditions: http-request-method, host-header, path-pattern, and source-ip. Each rule can also optionally include one or more of each of the following conditions: http-header and query-string. Note that the value for a condition cannot be empty.

", + "base": "

Information about a condition for a rule.

Each rule can optionally include up to one of each of the following conditions: http-request-method, host-header, path-pattern, and source-ip. Each rule can also optionally include one or more of each of the following conditions: http-header and query-string. Note that the value for a condition cannot be empty.

For more information, see Quotas for your Application Load Balancers.

", "refs": { "RuleConditionList$member": null } @@ -1334,7 +1347,7 @@ "SecurityGroups": { "base": null, "refs": { - "CreateLoadBalancerInput$SecurityGroups": "

[Application Load Balancers] The IDs of the security groups for the load balancer.

", + "CreateLoadBalancerInput$SecurityGroups": "

[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.

", "LoadBalancer$SecurityGroups": "

The IDs of the security groups for the load balancer.

", "SetSecurityGroupsInput$SecurityGroups": "

The IDs of the security groups.

", "SetSecurityGroupsOutput$SecurityGroupIds": "

The IDs of the security groups associated with the load balancer.

" diff --git a/apis/elasticloadbalancingv2/2015-12-01/endpoint-rule-set-1.json b/apis/elasticloadbalancingv2/2015-12-01/endpoint-rule-set-1.json index 79fee5593dd..78128a590f9 100644 --- a/apis/elasticloadbalancingv2/2015-12-01/endpoint-rule-set-1.json +++ b/apis/elasticloadbalancingv2/2015-12-01/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,179 +111,240 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticloadbalancing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://elasticloadbalancing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ - "aws-us-gov", + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsFIPS" ] } ] } ], - "endpoint": { - "url": "https://elasticloadbalancing.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://elasticloadbalancing.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://elasticloadbalancing-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] }, { "conditions": [], - "endpoint": { - "url": "https://elasticloadbalancing-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -311,7 +352,7 @@ { "conditions": [], "endpoint": { - "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -320,28 +361,13 @@ ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/apis/elasticloadbalancingv2/2015-12-01/endpoint-tests-1.json b/apis/elasticloadbalancingv2/2015-12-01/endpoint-tests-1.json index 30ae4512f69..a5e023b96c1 100644 --- a/apis/elasticloadbalancingv2/2015-12-01/endpoint-tests-1.json +++ b/apis/elasticloadbalancingv2/2015-12-01/endpoint-tests-1.json @@ -1,42 +1,55 @@ { "testCases": [ { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-iso-east-1.c2s.ic.gov" + "url": "https://elasticloadbalancing.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "af-south-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-iso-west-1.c2s.ic.gov" + "url": "https://elasticloadbalancing.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "us-iso-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://elasticloadbalancing.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,87 +60,87 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-east-1.amazonaws.com" + "url": "https://elasticloadbalancing.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.us-east-1.amazonaws.com" + "url": "https://elasticloadbalancing.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.eu-west-1.amazonaws.com" + "url": "https://elasticloadbalancing.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.eu-west-2.amazonaws.com" + "url": "https://elasticloadbalancing.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.eu-west-3.amazonaws.com" + "url": "https://elasticloadbalancing.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.me-south-1.amazonaws.com" + "url": "https://elasticloadbalancing.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -138,139 +151,139 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-east-2.amazonaws.com" + "url": "https://elasticloadbalancing.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.us-east-2.amazonaws.com" + "url": "https://elasticloadbalancing.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.sa-east-1.amazonaws.com" + "url": "https://elasticloadbalancing.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-east-1.amazonaws.com" + "url": "https://elasticloadbalancing.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.eu-south-1.amazonaws.com" + "url": "https://elasticloadbalancing.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "me-south-1", "UseFIPS": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.eu-central-1.amazonaws.com" + "url": "https://elasticloadbalancing.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-1.amazonaws.com" + "url": "https://elasticloadbalancing.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-2.amazonaws.com" + "url": "https://elasticloadbalancing-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-2" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-3.amazonaws.com" + "url": "https://elasticloadbalancing.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ca-central-1.amazonaws.com" + "url": "https://elasticloadbalancing-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -281,9 +294,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -294,9 +307,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": true, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -307,9 +320,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -320,139 +333,152 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": true, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.af-south-1.amazonaws.com" + "url": "https://elasticloadbalancing-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-south-1.amazonaws.com" + "url": "https://elasticloadbalancing.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-northeast-1.amazonaws.com" + "url": "https://elasticloadbalancing.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-northeast-2.amazonaws.com" + "url": "https://elasticloadbalancing.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.us-east-1.api.aws" + "url": "https://elasticloadbalancing-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-east-1.api.aws" + "url": "https://elasticloadbalancing-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticloadbalancing.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" + "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" + "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" + "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" + "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -463,9 +489,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -476,113 +502,144 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-isob-east-1.sc2s.sgov.gov" + "url": "https://elasticloadbalancing.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://elasticloadbalancing.us-iso-west-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.cn-northwest-1.amazonaws.com.cn" + "url": "https://elasticloadbalancing-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.cn-north-1.amazonaws.com.cn" + "url": "https://elasticloadbalancing.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.cn-north-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.cn-north-1.amazonaws.com.cn" + "url": "https://elasticloadbalancing-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://example.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false, + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -592,9 +649,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -604,11 +661,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/apis/omics/2022-11-28/api-2.json b/apis/omics/2022-11-28/api-2.json index 2e493b5c5b7..23313fd506e 100644 --- a/apis/omics/2022-11-28/api-2.json +++ b/apis/omics/2022-11-28/api-2.json @@ -3004,7 +3004,8 @@ "stopTime":{"shape":"TaskTimestamp"}, "statusMessage":{"shape":"TaskStatusMessage"}, "logStream":{"shape":"TaskLogStream"}, - "gpus":{"shape":"GetRunTaskResponseGpusInteger"} + "gpus":{"shape":"GetRunTaskResponseGpusInteger"}, + "instanceType":{"shape":"TaskInstanceType"} } }, "GetRunTaskResponseCpusInteger":{ @@ -5348,6 +5349,10 @@ "min":1, "pattern":"[0-9]+" }, + "TaskInstanceType":{ + "type":"string", + "pattern":"[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+" + }, "TaskList":{ "type":"list", "member":{"shape":"TaskListItem"} @@ -5363,7 +5368,8 @@ "creationTime":{"shape":"TaskTimestamp"}, "startTime":{"shape":"TaskTimestamp"}, "stopTime":{"shape":"TaskTimestamp"}, - "gpus":{"shape":"TaskListItemGpusInteger"} + "gpus":{"shape":"TaskListItemGpusInteger"}, + "instanceType":{"shape":"TaskInstanceType"} } }, "TaskListItemCpusInteger":{ diff --git a/apis/omics/2022-11-28/docs-2.json b/apis/omics/2022-11-28/docs-2.json index a8105ca14bb..f798aee0083 100644 --- a/apis/omics/2022-11-28/docs-2.json +++ b/apis/omics/2022-11-28/docs-2.json @@ -1089,7 +1089,7 @@ "ListAnnotationImportJobsRequestNextTokenString": { "base": null, "refs": { - "ListAnnotationImportJobsRequest$nextToken": "

Specify the pagination token from a previous request to retrieve the next page of results.

" + "ListAnnotationImportJobsRequest$nextToken": "

Specifies the pagination token from a previous request to retrieve the next page of results.

" } }, "ListAnnotationImportJobsResponse": { @@ -2640,7 +2640,7 @@ "GetVariantStoreResponse$name": "

The store's name.

", "InternalServerException$message": null, "ListAnnotationImportJobsFilter$storeName": "

A store name to filter on.

", - "ListAnnotationImportJobsResponse$nextToken": "

A pagination token that's included if more results are available.

", + "ListAnnotationImportJobsResponse$nextToken": "

Specifies the pagination token from a previous request to retrieve the next page of results.

", "ListAnnotationStoresResponse$nextToken": "

A pagination token that's included if more results are available.

", "ListVariantImportJobsFilter$storeName": "

A store name to filter on.

", "ListVariantImportJobsResponse$nextToken": "

A pagination token that's included if more results are available.

", @@ -2819,6 +2819,13 @@ "TaskListItem$taskId": "

The task's ID.

" } }, + "TaskInstanceType": { + "base": null, + "refs": { + "GetRunTaskResponse$instanceType": "

The instance type for a task.

", + "TaskListItem$instanceType": "

The instance type for a task.

" + } + }, "TaskList": { "base": null, "refs": { diff --git a/apis/secretsmanager/2017-10-17/api-2.json b/apis/secretsmanager/2017-10-17/api-2.json index 2e0dc42b699..f250e3537e7 100644 --- a/apis/secretsmanager/2017-10-17/api-2.json +++ b/apis/secretsmanager/2017-10-17/api-2.json @@ -163,6 +163,7 @@ "output":{"shape":"ListSecretsResponse"}, "errors":[ {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, {"shape":"InvalidNextTokenException"}, {"shape":"InternalServiceError"} ] diff --git a/apis/transfer/2018-11-05/docs-2.json b/apis/transfer/2018-11-05/docs-2.json index dc9fe1b2c3e..ef2cd8366c6 100644 --- a/apis/transfer/2018-11-05/docs-2.json +++ b/apis/transfer/2018-11-05/docs-2.json @@ -4,7 +4,7 @@ "operations": { "CreateAccess": "

Used by administrators to choose which groups in the directory should have access to upload and download files over the enabled protocols using Transfer Family. For example, a Microsoft Active Directory might contain 50,000 users, but only a small fraction might need the ability to transfer files to the server. An administrator can use CreateAccess to limit the access to the correct set of users who need this ability.

", "CreateAgreement": "

Creates an agreement. An agreement is a bilateral trading partner agreement, or partnership, between an Transfer Family server and an AS2 process. The agreement defines the file and message transfer relationship between the server and the AS2 process. To define an agreement, Transfer Family combines a server, local profile, partner profile, certificate, and other attributes.

The partner is identified with the PartnerProfileId, and the AS2 process is identified with the LocalProfileId.

", - "CreateConnector": "

Creates the connector, which captures the parameters for an outbound connection for the AS2 or SFTP protocol. The connector is required for sending files to an externally hosted AS2 or SFTP server. For more details about AS2 connectors, see Create AS2 connectors.

You must specify exactly one configuration object: either for AS2 (As2Config) or SFTP (SftpConfig).

", + "CreateConnector": "

Creates the connector, which captures the parameters for a connection for the AS2 or SFTP protocol. For AS2, the connector is required for sending files to an externally hosted AS2 server. For SFTP, the connector is required when sending files to an SFTP server or receiving files from an SFTP server. For more details about connectors, see Create AS2 connectors and Create SFTP connectors.

You must specify exactly one configuration object: either for AS2 (As2Config) or SFTP (SftpConfig).

", "CreateProfile": "

Creates the local or partner profile to use for AS2 transfers.

", "CreateServer": "

Instantiates an auto-scaling virtual server based on the selected file transfer protocol in Amazon Web Services. When you make updates to your file transfer protocol-enabled server or when you work with users, use the service-generated ServerId property that is assigned to the newly created server.

", "CreateUser": "

Creates a user and associates them with an existing file transfer protocol-enabled server. You can only create and associate users with servers that have the IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, you can specify the user name, set the home directory, store the user's public key, and assign the user's Identity and Access Management (IAM) role. You can also optionally add a session policy, and assign metadata with tags that can be used to group and search for users.

", @@ -46,7 +46,7 @@ "ListUsers": "

Lists the users for a file transfer protocol-enabled server that you specify by passing the ServerId parameter.

", "ListWorkflows": "

Lists all workflows associated with your Amazon Web Services account for your current region.

", "SendWorkflowStepState": "

Sends a callback for asynchronous custom steps.

The ExecutionId, WorkflowId, and Token are passed to the target resource during execution of a custom step of a workflow. You must include those with their callback as well as providing a status.

", - "StartFileTransfer": "

Begins a file transfer between local Amazon Web Services storage and a remote AS2 or SFTP server.

", + "StartFileTransfer": "

Begins a file transfer between local Amazon Web Services storage and a remote AS2 or SFTP server.

", "StartServer": "

Changes the state of a file transfer protocol-enabled server from OFFLINE to ONLINE. It has no impact on a server that is already ONLINE. An ONLINE server can accept and process file transfer jobs.

The state of STARTING indicates that the server is in an intermediate state, either not fully able to respond, or not fully online. The values of START_FAILED can indicate an error condition.

No response is returned from this call.

", "StopServer": "

Changes the state of a file transfer protocol-enabled server from ONLINE to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. Information tied to your server, such as server and user properties, are not affected by stopping your server.

Stopping the server does not reduce or impact your file transfer protocol endpoint billing; you must delete the server to stop being billed.

The state of STOPPING indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of STOP_FAILED can indicate an error condition.

No response is returned from this call.

", "TagResource": "

Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

There is no response returned from this call.

", @@ -784,7 +784,7 @@ "FilePaths": { "base": null, "refs": { - "StartFileTransferRequest$SendFilePaths": "

One or more source paths for the Transfer Family server. Each string represents a source file path for one outbound file transfer. For example, DOC-EXAMPLE-BUCKET/myfile.txt .

", + "StartFileTransferRequest$SendFilePaths": "

One or more source paths for the Transfer Family server. Each string represents a source file path for one outbound file transfer. For example, DOC-EXAMPLE-BUCKET/myfile.txt .

Replace DOC-EXAMPLE-BUCKET with one of your actual buckets.

", "StartFileTransferRequest$RetrieveFilePaths": "

One or more source paths for the partner's SFTP server. Each string represents a source file path for one inbound file transfer.

" } }, @@ -1477,14 +1477,14 @@ "base": null, "refs": { "CreateAccessRequest$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", - "CreateAgreementRequest$AccessRole": "

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

", - "CreateConnectorRequest$AccessRole": "

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

", + "CreateAgreementRequest$AccessRole": "

Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the Identity and Access Management role to use.

For AS2 connectors

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

For SFTP connectors

Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to Secrets Manager.

", + "CreateConnectorRequest$AccessRole": "

Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the Identity and Access Management role to use.

For AS2 connectors

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

For SFTP connectors

Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to Secrets Manager.

", "CreateConnectorRequest$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.

", "CreateServerRequest$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

", "CreateUserRequest$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", "DescribedAccess$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", - "DescribedAgreement$AccessRole": "

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

", - "DescribedConnector$AccessRole": "

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

", + "DescribedAgreement$AccessRole": "

Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the Identity and Access Management role to use.

For AS2 connectors

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

For SFTP connectors

Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to Secrets Manager.

", + "DescribedConnector$AccessRole": "

Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the Identity and Access Management role to use.

For AS2 connectors

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

For SFTP connectors

Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to Secrets Manager.

", "DescribedConnector$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.

", "DescribedExecution$ExecutionRole": "

The IAM role associated with the execution.

", "DescribedServer$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

", @@ -1495,8 +1495,8 @@ "ListedUser$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

The IAM role that controls your users' access to your Amazon S3 bucket for servers with Domain=S3, or your EFS file system for servers with Domain=EFS.

The policies attached to this role determine the level of access you want to provide your users when transferring files into and out of your S3 buckets or EFS file systems.

", "LoggingConfiguration$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

", "UpdateAccessRequest$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", - "UpdateAgreementRequest$AccessRole": "

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

", - "UpdateConnectorRequest$AccessRole": "

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

", + "UpdateAgreementRequest$AccessRole": "

Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the Identity and Access Management role to use.

For AS2 connectors

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

For SFTP connectors

Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to Secrets Manager.

", + "UpdateConnectorRequest$AccessRole": "

Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the Identity and Access Management role to use.

For AS2 connectors

With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

For SFTP connectors

Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to Secrets Manager.

", "UpdateConnectorRequest$LoggingRole": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.

", "UpdateUserRequest$Role": "

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.

", "WorkflowDetail$ExecutionRole": "

Includes the necessary permissions for S3, EFS, and Lambda operations that Transfer can assume, so that all workflow steps can operate on the required resources

" diff --git a/apis/transfer/2018-11-05/endpoint-rule-set-1.json b/apis/transfer/2018-11-05/endpoint-rule-set-1.json index 6f1477c015b..2694e990a7d 100644 --- a/apis/transfer/2018-11-05/endpoint-rule-set-1.json +++ b/apis/transfer/2018-11-05/endpoint-rule-set-1.json @@ -58,52 +58,56 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -111,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://transfer-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://transfer-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://transfer-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://transfer-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://transfer.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://transfer.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://transfer.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://transfer.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/gems/aws-partitions/CHANGELOG.md b/gems/aws-partitions/CHANGELOG.md index 529460e3abb..0a358e66962 100644 --- a/gems/aws-partitions/CHANGELOG.md +++ b/gems/aws-partitions/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.802.0 (2023-08-10) +------------------ + +* Feature - Updated the partitions source data the determines the AWS service regions and endpoints. + 1.801.0 (2023-08-09) ------------------ diff --git a/gems/aws-partitions/VERSION b/gems/aws-partitions/VERSION index a0a936e59b8..8b528eb361a 100644 --- a/gems/aws-partitions/VERSION +++ b/gems/aws-partitions/VERSION @@ -1 +1 @@ -1.801.0 +1.802.0 diff --git a/gems/aws-partitions/partitions.json b/gems/aws-partitions/partitions.json index 770c70a9c86..19e799d0cf3 100644 --- a/gems/aws-partitions/partitions.json +++ b/gems/aws-partitions/partitions.json @@ -7841,6 +7841,7 @@ "identitystore" : { "endpoints" : { "af-south-1" : { }, + "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-northeast-3" : { }, @@ -7855,9 +7856,11 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { }, "us-east-2" : { }, + "us-west-1" : { }, "us-west-2" : { } } }, @@ -14311,6 +14314,7 @@ "deprecated" : true, "hostname" : "securityhub-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { }, "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, diff --git a/gems/aws-sdk-cloudtrail/CHANGELOG.md b/gems/aws-sdk-cloudtrail/CHANGELOG.md index f42cb8a639b..8079e90b164 100644 --- a/gems/aws-sdk-cloudtrail/CHANGELOG.md +++ b/gems/aws-sdk-cloudtrail/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.67.0 (2023-08-10) +------------------ + +* Feature - Documentation updates for CloudTrail. + 1.66.0 (2023-07-11) ------------------ diff --git a/gems/aws-sdk-cloudtrail/VERSION b/gems/aws-sdk-cloudtrail/VERSION index b6148bc0a75..65ee0959841 100644 --- a/gems/aws-sdk-cloudtrail/VERSION +++ b/gems/aws-sdk-cloudtrail/VERSION @@ -1 +1 @@ -1.66.0 +1.67.0 diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb index b17c412b7c8..9675977b36c 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb @@ -52,6 +52,6 @@ # @!group service module Aws::CloudTrail - GEM_VERSION = '1.66.0' + GEM_VERSION = '1.67.0' end diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb index b994a25a33b..272b8b0a573 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb @@ -605,6 +605,19 @@ def create_channel(params = {}, options = {}) # @option params [Integer] :retention_period # The retention period of the event data store, in days. You can set a # retention period of up to 2557 days, the equivalent of seven years. + # CloudTrail Lake determines whether to retain an event by checking if + # the `eventTime` of the event is within the specified retention period. + # For example, if you set a retention period of 90 days, CloudTrail will + # remove events when the `eventTime` is older than 90 days. + # + # If you plan to copy trail events to this event data store, we + # recommend that you consider both the age of the events that you want + # to copy as well as how long you want to keep the copied events in your + # event data store. For example, if you copy trail events that are 5 + # years old and specify a retention period of 7 years, the event data + # store will retain those events for two years. + # + # # # @option params [Boolean] :termination_protection_enabled # Specifies whether termination protection is enabled for the event data @@ -3093,7 +3106,20 @@ def update_channel(params = {}, options = {}) # organization in Organizations. # # @option params [Integer] :retention_period - # The retention period, in days. + # The retention period of the event data store, in days. You can set a + # retention period of up to 2557 days, the equivalent of seven years. + # CloudTrail Lake determines whether to retain an event by checking if + # the `eventTime` of the event is within the specified retention period. + # For example, if you set a retention period of 90 days, CloudTrail will + # remove events when the `eventTime` is older than 90 days. + # + # If you decrease the retention period of an event data store, + # CloudTrail will remove any events with an `eventTime` older than the + # new retention period. For example, if the previous retention period + # was 365 days and you decrease it to 100 days, CloudTrail will remove + # events with an `eventTime` older than 100 days. + # + # # # @option params [Boolean] :termination_protection_enabled # Indicates that termination protection is enabled and the event data @@ -3411,7 +3437,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-cloudtrail' - context[:gem_version] = '1.66.0' + context[:gem_version] = '1.67.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/types.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/types.rb index 86a6aede66c..e0e6792e643 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/types.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/types.rb @@ -192,8 +192,12 @@ class AdvancedEventSelector < Struct.new( # # * `AWS::KendraRanking::ExecutionPlan` # + # * `AWS::ManagedBlockchain::Network` + # # * `AWS::ManagedBlockchain::Node` # + # * `AWS::MedicalImaging::Datastore` + # # * `AWS::SageMaker::ExperimentTrialComponent` # # * `AWS::SageMaker::FeatureGroup` @@ -204,6 +208,10 @@ class AdvancedEventSelector < Struct.new( # # * `AWS::S3Outposts::Object` # + # * `AWS::SSMMessages::ControlChannel` + # + # * `AWS::VerifiedPermissions::PolicyStore` + # # You can have only one `resources.type` field per selector. To log # data events on more than one resource type, add another selector. # @@ -320,6 +328,14 @@ class AdvancedEventSelector < Struct.new( # # ^ # + # When `resources.type` equals `AWS::ManagedBlockchain::Network`, + # and the operator is set to `Equals` or `NotEquals`, the ARN must + # be in the following format: + # + # * `arn::managedblockchain:::networks/` + # + # ^ + # # When `resources.type` equals `AWS::ManagedBlockchain::Node`, and # the operator is set to `Equals` or `NotEquals`, the ARN must be in # the following format: @@ -328,6 +344,14 @@ class AdvancedEventSelector < Struct.new( # # ^ # + # When `resources.type` equals `AWS::MedicalImaging::Datastore`, and + # the operator is set to `Equals` or `NotEquals`, the ARN must be in + # the following format: + # + # * `arn::medical-imaging:::datastore/` + # + # ^ + # # When `resources.type` equals # `AWS::SageMaker::ExperimentTrialComponent`, and the operator is # set to `Equals` or `NotEquals`, the ARN must be in the following @@ -371,6 +395,23 @@ class AdvancedEventSelector < Struct.new( # * `arn::s3-outposts:::` # # ^ + # + # When `resources.type` equals `AWS::SSMMessages::ControlChannel`, + # and the operator is set to `Equals` or `NotEquals`, the ARN must + # be in the following format: + # + # * `arn::ssmmessages:::control-channel/` + # + # ^ + # + # When resources.type equals + # `AWS::VerifiedPermissions::PolicyStore`, and the operator is set + # to `Equals` or `NotEquals`, the ARN must be in the following + # format: + # + # * `arn::verifiedpermissions:::policy-store/` + # + # ^ # @return [String] # # @!attribute [rw] equals @@ -695,6 +736,20 @@ class CreateChannelResponse < Struct.new( # @!attribute [rw] retention_period # The retention period of the event data store, in days. You can set a # retention period of up to 2557 days, the equivalent of seven years. + # CloudTrail Lake determines whether to retain an event by checking if + # the `eventTime` of the event is within the specified retention + # period. For example, if you set a retention period of 90 days, + # CloudTrail will remove events when the `eventTime` is older than 90 + # days. + # + # If you plan to copy trail events to this event data store, we + # recommend that you consider both the age of the events that you want + # to copy as well as how long you want to keep the copied events in + # your event data store. For example, if you copy trail events that + # are 5 years old and specify a retention period of 7 years, the event + # data store will retain those events for two years. + # + # # @return [Integer] # # @!attribute [rw] termination_protection_enabled @@ -1173,8 +1228,12 @@ class CreateTrailResponse < Struct.new( # # * `AWS::KendraRanking::ExecutionPlan` # + # * `AWS::ManagedBlockchain::Network` + # # * `AWS::ManagedBlockchain::Node` # + # * `AWS::MedicalImaging::Datastore` + # # * `AWS::SageMaker::ExperimentTrialComponent` # # * `AWS::SageMaker::FeatureGroup` @@ -1185,6 +1244,10 @@ class CreateTrailResponse < Struct.new( # # * `AWS::S3Outposts::Object` # + # * `AWS::SSMMessages::ControlChannel` + # + # * `AWS::VerifiedPermissions::PolicyStore` + # # # # [1]: https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html @@ -3306,8 +3369,9 @@ class LookupEventsResponse < Struct.new( include Aws::Structure end - # You are already running the maximum number of concurrent queries. Wait - # a minute for some queries to finish, and then run the query again. + # You are already running the maximum number of concurrent queries. The + # maximum number of concurrent queries is 10. Wait a minute for some + # queries to finish, and then run the query again. # # @see http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/MaxConcurrentQueriesException AWS API Documentation # @@ -4535,7 +4599,21 @@ class UpdateChannelResponse < Struct.new( # @return [Boolean] # # @!attribute [rw] retention_period - # The retention period, in days. + # The retention period of the event data store, in days. You can set a + # retention period of up to 2557 days, the equivalent of seven years. + # CloudTrail Lake determines whether to retain an event by checking if + # the `eventTime` of the event is within the specified retention + # period. For example, if you set a retention period of 90 days, + # CloudTrail will remove events when the `eventTime` is older than 90 + # days. + # + # If you decrease the retention period of an event data store, + # CloudTrail will remove any events with an `eventTime` older than the + # new retention period. For example, if the previous retention period + # was 365 days and you decrease it to 100 days, CloudTrail will remove + # events with an `eventTime` older than 100 days. + # + # # @return [Integer] # # @!attribute [rw] termination_protection_enabled diff --git a/gems/aws-sdk-connect/CHANGELOG.md b/gems/aws-sdk-connect/CHANGELOG.md index b7d37eb8cf1..3c93e603473 100644 --- a/gems/aws-sdk-connect/CHANGELOG.md +++ b/gems/aws-sdk-connect/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.124.0 (2023-08-10) +------------------ + +* Feature - This release adds APIs to provision agents that are global / available in multiple AWS regions and distribute them across these regions by percentage. + 1.123.0 (2023-08-04) ------------------ diff --git a/gems/aws-sdk-connect/VERSION b/gems/aws-sdk-connect/VERSION index ee6c5b2d9ec..370a6d8fbb8 100644 --- a/gems/aws-sdk-connect/VERSION +++ b/gems/aws-sdk-connect/VERSION @@ -1 +1 @@ -1.123.0 +1.124.0 diff --git a/gems/aws-sdk-connect/lib/aws-sdk-connect.rb b/gems/aws-sdk-connect/lib/aws-sdk-connect.rb index e260778235f..40101f2fc71 100644 --- a/gems/aws-sdk-connect/lib/aws-sdk-connect.rb +++ b/gems/aws-sdk-connect/lib/aws-sdk-connect.rb @@ -52,6 +52,6 @@ # @!group service module Aws::Connect - GEM_VERSION = '1.123.0' + GEM_VERSION = '1.124.0' end diff --git a/gems/aws-sdk-connect/lib/aws-sdk-connect/client.rb b/gems/aws-sdk-connect/lib/aws-sdk-connect/client.rb index 970f95fdf17..85564610bd0 100644 --- a/gems/aws-sdk-connect/lib/aws-sdk-connect/client.rb +++ b/gems/aws-sdk-connect/lib/aws-sdk-connect/client.rb @@ -880,6 +880,45 @@ def associate_security_key(params = {}, options = {}) req.send_request(options) end + # Associates an agent with a traffic distribution group. + # + # @option params [required, String] :traffic_distribution_group_id + # The identifier of the traffic distribution group. This can be the ID + # or the ARN if the API is being called in the Region where the traffic + # distribution group was created. The ARN must be provided if the call + # is from the replicated Region. + # + # @option params [required, String] :user_id + # The identifier of the user account. This can be the ID or the ARN of + # the user. + # + # @option params [required, String] :instance_id + # The identifier of the Amazon Connect instance. You can [find the + # instance ID][1] in the Amazon Resource Name (ARN) of the instance. + # + # + # + # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # @example Request syntax with placeholder values + # + # resp = client.associate_traffic_distribution_group_user({ + # traffic_distribution_group_id: "TrafficDistributionGroupIdOrArn", # required + # user_id: "UserId", # required + # instance_id: "InstanceId", # required + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateTrafficDistributionGroupUser AWS API Documentation + # + # @overload associate_traffic_distribution_group_user(params = {}) + # @param [Hash] params ({}) + def associate_traffic_distribution_group_user(params = {}, options = {}) + req = build_request(:associate_traffic_distribution_group_user, params) + req.send_request(options) + end + # 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 @@ -1869,8 +1908,8 @@ def create_quick_connect(params = {}, options = {}) # # @option params [String] :agent_availability_timer # Whether agents with this routing profile will have their routing order - # calculated based on *time since their last inbound contact* or - # *longest idle time*. + # calculated based on *longest idle time* or *time since their last + # inbound contact*. # # @return [Types::CreateRoutingProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -4272,6 +4311,7 @@ def describe_security_profile(params = {}, options = {}) # resp.traffic_distribution_group.status #=> String, one of "CREATION_IN_PROGRESS", "ACTIVE", "CREATION_FAILED", "PENDING_DELETION", "DELETION_FAILED", "UPDATE_IN_PROGRESS" # resp.traffic_distribution_group.tags #=> Hash # resp.traffic_distribution_group.tags["TagKey"] #=> String + # resp.traffic_distribution_group.is_default #=> Boolean # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeTrafficDistributionGroup AWS API Documentation # @@ -4845,6 +4885,45 @@ def disassociate_security_key(params = {}, options = {}) req.send_request(options) end + # Disassociates an agent from a traffic distribution group. + # + # @option params [required, String] :traffic_distribution_group_id + # The identifier of the traffic distribution group. This can be the ID + # or the ARN if the API is being called in the Region where the traffic + # distribution group was created. The ARN must be provided if the call + # is from the replicated Region. + # + # @option params [required, String] :user_id + # The identifier for the user. This can be the ID or the ARN of the + # user. + # + # @option params [required, String] :instance_id + # The identifier of the Amazon Connect instance. You can [find the + # instance ID][1] in the Amazon Resource Name (ARN) of the instance. + # + # + # + # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # @example Request syntax with placeholder values + # + # resp = client.disassociate_traffic_distribution_group_user({ + # traffic_distribution_group_id: "TrafficDistributionGroupIdOrArn", # required + # user_id: "UserId", # required + # instance_id: "InstanceId", # required + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateTrafficDistributionGroupUser AWS API Documentation + # + # @overload disassociate_traffic_distribution_group_user(params = {}) + # @param [Hash] params ({}) + def disassociate_traffic_distribution_group_user(params = {}, options = {}) + req = build_request(:disassociate_traffic_distribution_group_user, params) + req.send_request(options) + end + # Dismisses contacts from an agent’s CCP and returns the agent to an # available state, which allows the agent to receive a new routed # contact. Contacts can only be dismissed if they are in a `MISSED`, @@ -6294,6 +6373,8 @@ def get_task_template(params = {}, options = {}) # * {Types::GetTrafficDistributionResponse#telephony_config #telephony_config} => Types::TelephonyConfig # * {Types::GetTrafficDistributionResponse#id #id} => String # * {Types::GetTrafficDistributionResponse#arn #arn} => String + # * {Types::GetTrafficDistributionResponse#sign_in_config #sign_in_config} => Types::SignInConfig + # * {Types::GetTrafficDistributionResponse#agent_config #agent_config} => Types::AgentConfig # # @example Request syntax with placeholder values # @@ -6308,6 +6389,12 @@ def get_task_template(params = {}, options = {}) # resp.telephony_config.distributions[0].percentage #=> Integer # resp.id #=> String # resp.arn #=> String + # resp.sign_in_config.distributions #=> Array + # resp.sign_in_config.distributions[0].region #=> String + # resp.sign_in_config.distributions[0].enabled #=> Boolean + # resp.agent_config.distributions #=> Array + # resp.agent_config.distributions[0].region #=> String + # resp.agent_config.distributions[0].percentage #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetTrafficDistribution AWS API Documentation # @@ -7416,6 +7503,15 @@ def list_phone_numbers(params = {}, options = {}) # for Your Contact Center][1] in the *Amazon Connect Administrator # Guide*. # + # * When given an instance ARN, `ListPhoneNumbersV2` returns only the + # phone numbers claimed to the instance. + # + # * When given a traffic distribution group ARN `ListPhoneNumbersV2` + # returns only the phone numbers claimed to the traffic distribution + # group. + # + # + # # # # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/contact-center-phone-number.html @@ -8182,6 +8278,52 @@ def list_task_templates(params = {}, options = {}) req.send_request(options) end + # Lists traffic distribution group users. + # + # @option params [required, String] :traffic_distribution_group_id + # The identifier of the traffic distribution group. This can be the ID + # or the ARN if the API is being called in the Region where the traffic + # distribution group was created. The ARN must be provided if the call + # is from the replicated Region. + # + # @option params [Integer] :max_results + # The maximum number of results to return per page. + # + # @option params [String] :next_token + # The token for the next set of results. Use the value returned in the + # previous response in the next request to retrieve the next set of + # results. + # + # @return [Types::ListTrafficDistributionGroupUsersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListTrafficDistributionGroupUsersResponse#next_token #next_token} => String + # * {Types::ListTrafficDistributionGroupUsersResponse#traffic_distribution_group_user_summary_list #traffic_distribution_group_user_summary_list} => Array<Types::TrafficDistributionGroupUserSummary> + # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # + # @example Request syntax with placeholder values + # + # resp = client.list_traffic_distribution_group_users({ + # traffic_distribution_group_id: "TrafficDistributionGroupIdOrArn", # required + # max_results: 1, + # next_token: "NextToken", + # }) + # + # @example Response structure + # + # resp.next_token #=> String + # resp.traffic_distribution_group_user_summary_list #=> Array + # resp.traffic_distribution_group_user_summary_list[0].user_id #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTrafficDistributionGroupUsers AWS API Documentation + # + # @overload list_traffic_distribution_group_users(params = {}) + # @param [Hash] params ({}) + def list_traffic_distribution_group_users(params = {}, options = {}) + req = build_request(:list_traffic_distribution_group_users, params) + req.send_request(options) + end + # Lists traffic distribution groups. # # @option params [Integer] :max_results @@ -8224,6 +8366,7 @@ def list_task_templates(params = {}, options = {}) # resp.traffic_distribution_group_summary_list[0].name #=> String # resp.traffic_distribution_group_summary_list[0].instance_arn #=> String # resp.traffic_distribution_group_summary_list[0].status #=> String, one of "CREATION_IN_PROGRESS", "ACTIVE", "CREATION_FAILED", "PENDING_DELETION", "DELETION_FAILED", "UPDATE_IN_PROGRESS" + # resp.traffic_distribution_group_summary_list[0].is_default #=> Boolean # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTrafficDistributionGroups AWS API Documentation # @@ -10595,7 +10738,8 @@ def tag_resource(params = {}, options = {}) # The identifier for the queue. # # @option params [String] :user_id - # The identifier for the user. + # The identifier for the user. This can be the ID or the ARN of the + # user. # # @option params [required, String] :contact_flow_id # The identifier of the flow. @@ -12477,6 +12621,13 @@ def update_task_template(params = {}, options = {}) # Updates the traffic distribution for a given traffic distribution # group. # + # You can change the `SignInConfig` only for a default + # `TrafficDistributionGroup`. If you call `UpdateTrafficDistribution` + # with a modified `SignInConfig` and a non-default + # `TrafficDistributionGroup`, an `InvalidRequestException` is returned. + # + # + # # For more information about updating a traffic distribution group, see # [Update telephony traffic distribution across Amazon Web Services # Regions ][1] in the *Amazon Connect Administrator Guide*. @@ -12494,6 +12645,13 @@ def update_task_template(params = {}, options = {}) # @option params [Types::TelephonyConfig] :telephony_config # The distribution of traffic between the instance and its replica(s). # + # @option params [Types::SignInConfig] :sign_in_config + # The distribution of allowing signing in to the instance and its + # replica(s). + # + # @option params [Types::AgentConfig] :agent_config + # The distribution of agents between the instance and its replica(s). + # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values @@ -12508,6 +12666,22 @@ def update_task_template(params = {}, options = {}) # }, # ], # }, + # sign_in_config: { + # distributions: [ # required + # { + # region: "AwsRegion", # required + # enabled: false, # required + # }, + # ], + # }, + # agent_config: { + # distributions: [ # required + # { + # region: "AwsRegion", # required + # percentage: 1, # required + # }, + # ], + # }, # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateTrafficDistribution AWS API Documentation @@ -12813,7 +12987,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-connect' - context[:gem_version] = '1.123.0' + context[:gem_version] = '1.124.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-connect/lib/aws-sdk-connect/client_api.rb b/gems/aws-sdk-connect/lib/aws-sdk-connect/client_api.rb index d1a7f31493e..5d8ba5e9082 100644 --- a/gems/aws-sdk-connect/lib/aws-sdk-connect/client_api.rb +++ b/gems/aws-sdk-connect/lib/aws-sdk-connect/client_api.rb @@ -22,6 +22,7 @@ module ClientApi ActivateEvaluationFormResponse = Shapes::StructureShape.new(name: 'ActivateEvaluationFormResponse') AfterContactWorkTimeLimit = Shapes::IntegerShape.new(name: 'AfterContactWorkTimeLimit') AgentAvailabilityTimer = Shapes::StringShape.new(name: 'AgentAvailabilityTimer') + AgentConfig = Shapes::StructureShape.new(name: 'AgentConfig') AgentContactReference = Shapes::StructureShape.new(name: 'AgentContactReference') AgentContactReferenceList = Shapes::ListShape.new(name: 'AgentContactReferenceList') AgentFirstName = Shapes::StringShape.new(name: 'AgentFirstName') @@ -60,6 +61,8 @@ module ClientApi AssociateRoutingProfileQueuesRequest = Shapes::StructureShape.new(name: 'AssociateRoutingProfileQueuesRequest') AssociateSecurityKeyRequest = Shapes::StructureShape.new(name: 'AssociateSecurityKeyRequest') AssociateSecurityKeyResponse = Shapes::StructureShape.new(name: 'AssociateSecurityKeyResponse') + AssociateTrafficDistributionGroupUserRequest = Shapes::StructureShape.new(name: 'AssociateTrafficDistributionGroupUserRequest') + AssociateTrafficDistributionGroupUserResponse = Shapes::StructureShape.new(name: 'AssociateTrafficDistributionGroupUserResponse') AssociationId = Shapes::StringShape.new(name: 'AssociationId') AttachmentReference = Shapes::StructureShape.new(name: 'AttachmentReference') Attribute = Shapes::StructureShape.new(name: 'Attribute') @@ -270,6 +273,8 @@ module ClientApi DisassociateQueueQuickConnectsRequest = Shapes::StructureShape.new(name: 'DisassociateQueueQuickConnectsRequest') DisassociateRoutingProfileQueuesRequest = Shapes::StructureShape.new(name: 'DisassociateRoutingProfileQueuesRequest') DisassociateSecurityKeyRequest = Shapes::StructureShape.new(name: 'DisassociateSecurityKeyRequest') + DisassociateTrafficDistributionGroupUserRequest = Shapes::StructureShape.new(name: 'DisassociateTrafficDistributionGroupUserRequest') + DisassociateTrafficDistributionGroupUserResponse = Shapes::StructureShape.new(name: 'DisassociateTrafficDistributionGroupUserResponse') DismissUserContactRequest = Shapes::StructureShape.new(name: 'DismissUserContactRequest') DismissUserContactResponse = Shapes::StructureShape.new(name: 'DismissUserContactResponse') DisplayName = Shapes::StringShape.new(name: 'DisplayName') @@ -510,6 +515,8 @@ module ClientApi ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse') ListTaskTemplatesRequest = Shapes::StructureShape.new(name: 'ListTaskTemplatesRequest') ListTaskTemplatesResponse = Shapes::StructureShape.new(name: 'ListTaskTemplatesResponse') + ListTrafficDistributionGroupUsersRequest = Shapes::StructureShape.new(name: 'ListTrafficDistributionGroupUsersRequest') + ListTrafficDistributionGroupUsersResponse = Shapes::StructureShape.new(name: 'ListTrafficDistributionGroupUsersResponse') ListTrafficDistributionGroupsRequest = Shapes::StructureShape.new(name: 'ListTrafficDistributionGroupsRequest') ListTrafficDistributionGroupsResponse = Shapes::StructureShape.new(name: 'ListTrafficDistributionGroupsResponse') ListUseCasesRequest = Shapes::StructureShape.new(name: 'ListUseCasesRequest') @@ -745,6 +752,9 @@ module ClientApi SecurityToken = Shapes::StringShape.new(name: 'SecurityToken') SendNotificationActionDefinition = Shapes::StructureShape.new(name: 'SendNotificationActionDefinition') ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException') + SignInConfig = Shapes::StructureShape.new(name: 'SignInConfig') + SignInDistribution = Shapes::StructureShape.new(name: 'SignInDistribution') + SignInDistributionList = Shapes::ListShape.new(name: 'SignInDistributionList') SingleSelectOptions = Shapes::ListShape.new(name: 'SingleSelectOptions') SingleSelectQuestionRuleCategoryAutomation = Shapes::StructureShape.new(name: 'SingleSelectQuestionRuleCategoryAutomation') SingleSelectQuestionRuleCategoryAutomationCondition = Shapes::StringShape.new(name: 'SingleSelectQuestionRuleCategoryAutomationCondition') @@ -838,6 +848,8 @@ module ClientApi TrafficDistributionGroupStatus = Shapes::StringShape.new(name: 'TrafficDistributionGroupStatus') TrafficDistributionGroupSummary = Shapes::StructureShape.new(name: 'TrafficDistributionGroupSummary') TrafficDistributionGroupSummaryList = Shapes::ListShape.new(name: 'TrafficDistributionGroupSummaryList') + TrafficDistributionGroupUserSummary = Shapes::StructureShape.new(name: 'TrafficDistributionGroupUserSummary') + TrafficDistributionGroupUserSummaryList = Shapes::ListShape.new(name: 'TrafficDistributionGroupUserSummaryList') TrafficType = Shapes::StringShape.new(name: 'TrafficType') TransferContactRequest = Shapes::StructureShape.new(name: 'TransferContactRequest') TransferContactResponse = Shapes::StructureShape.new(name: 'TransferContactResponse') @@ -966,6 +978,9 @@ module ClientApi ActivateEvaluationFormResponse.add_member(:evaluation_form_version, Shapes::ShapeRef.new(shape: VersionNumber, required: true, location_name: "EvaluationFormVersion")) ActivateEvaluationFormResponse.struct_class = Types::ActivateEvaluationFormResponse + AgentConfig.add_member(:distributions, Shapes::ShapeRef.new(shape: DistributionList, required: true, location_name: "Distributions")) + AgentConfig.struct_class = Types::AgentConfig + AgentContactReference.add_member(:contact_id, Shapes::ShapeRef.new(shape: ContactId, location_name: "ContactId")) AgentContactReference.add_member(:channel, Shapes::ShapeRef.new(shape: Channel, location_name: "Channel")) AgentContactReference.add_member(:initiation_method, Shapes::ShapeRef.new(shape: ContactInitiationMethod, location_name: "InitiationMethod")) @@ -1073,6 +1088,13 @@ module ClientApi AssociateSecurityKeyResponse.add_member(:association_id, Shapes::ShapeRef.new(shape: AssociationId, location_name: "AssociationId")) AssociateSecurityKeyResponse.struct_class = Types::AssociateSecurityKeyResponse + AssociateTrafficDistributionGroupUserRequest.add_member(:traffic_distribution_group_id, Shapes::ShapeRef.new(shape: TrafficDistributionGroupIdOrArn, required: true, location: "uri", location_name: "TrafficDistributionGroupId")) + AssociateTrafficDistributionGroupUserRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, required: true, location_name: "UserId")) + AssociateTrafficDistributionGroupUserRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId")) + AssociateTrafficDistributionGroupUserRequest.struct_class = Types::AssociateTrafficDistributionGroupUserRequest + + AssociateTrafficDistributionGroupUserResponse.struct_class = Types::AssociateTrafficDistributionGroupUserResponse + AttachmentReference.add_member(:name, Shapes::ShapeRef.new(shape: ReferenceKey, location_name: "Name")) AttachmentReference.add_member(:value, Shapes::ShapeRef.new(shape: ReferenceValue, location_name: "Value")) AttachmentReference.add_member(:status, Shapes::ShapeRef.new(shape: ReferenceStatus, location_name: "Status")) @@ -1802,6 +1824,13 @@ module ClientApi DisassociateSecurityKeyRequest.add_member(:association_id, Shapes::ShapeRef.new(shape: AssociationId, required: true, location: "uri", location_name: "AssociationId")) DisassociateSecurityKeyRequest.struct_class = Types::DisassociateSecurityKeyRequest + DisassociateTrafficDistributionGroupUserRequest.add_member(:traffic_distribution_group_id, Shapes::ShapeRef.new(shape: TrafficDistributionGroupIdOrArn, required: true, location: "uri", location_name: "TrafficDistributionGroupId")) + DisassociateTrafficDistributionGroupUserRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, required: true, location: "querystring", location_name: "UserId")) + DisassociateTrafficDistributionGroupUserRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "querystring", location_name: "InstanceId")) + DisassociateTrafficDistributionGroupUserRequest.struct_class = Types::DisassociateTrafficDistributionGroupUserRequest + + DisassociateTrafficDistributionGroupUserResponse.struct_class = Types::DisassociateTrafficDistributionGroupUserResponse + DismissUserContactRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, required: true, location: "uri", location_name: "UserId")) DismissUserContactRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "InstanceId")) DismissUserContactRequest.add_member(:contact_id, Shapes::ShapeRef.new(shape: ContactId, required: true, location_name: "ContactId")) @@ -2151,6 +2180,8 @@ module ClientApi GetTrafficDistributionResponse.add_member(:telephony_config, Shapes::ShapeRef.new(shape: TelephonyConfig, location_name: "TelephonyConfig")) GetTrafficDistributionResponse.add_member(:id, Shapes::ShapeRef.new(shape: TrafficDistributionGroupId, location_name: "Id")) GetTrafficDistributionResponse.add_member(:arn, Shapes::ShapeRef.new(shape: TrafficDistributionGroupArn, location_name: "Arn")) + GetTrafficDistributionResponse.add_member(:sign_in_config, Shapes::ShapeRef.new(shape: SignInConfig, location_name: "SignInConfig")) + GetTrafficDistributionResponse.add_member(:agent_config, Shapes::ShapeRef.new(shape: AgentConfig, location_name: "AgentConfig")) GetTrafficDistributionResponse.struct_class = Types::GetTrafficDistributionResponse Groupings.member = Shapes::ShapeRef.new(shape: Grouping) @@ -2687,6 +2718,15 @@ module ClientApi ListTaskTemplatesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken")) ListTaskTemplatesResponse.struct_class = Types::ListTaskTemplatesResponse + ListTrafficDistributionGroupUsersRequest.add_member(:traffic_distribution_group_id, Shapes::ShapeRef.new(shape: TrafficDistributionGroupIdOrArn, required: true, location: "uri", location_name: "TrafficDistributionGroupId")) + ListTrafficDistributionGroupUsersRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResult10, location: "querystring", location_name: "maxResults", metadata: {"box"=>true})) + ListTrafficDistributionGroupUsersRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken")) + ListTrafficDistributionGroupUsersRequest.struct_class = Types::ListTrafficDistributionGroupUsersRequest + + ListTrafficDistributionGroupUsersResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken")) + ListTrafficDistributionGroupUsersResponse.add_member(:traffic_distribution_group_user_summary_list, Shapes::ShapeRef.new(shape: TrafficDistributionGroupUserSummaryList, location_name: "TrafficDistributionGroupUserSummaryList")) + ListTrafficDistributionGroupUsersResponse.struct_class = Types::ListTrafficDistributionGroupUsersResponse + ListTrafficDistributionGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResult10, location: "querystring", location_name: "maxResults")) ListTrafficDistributionGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken")) ListTrafficDistributionGroupsRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceIdOrArn, location: "querystring", location_name: "instanceId")) @@ -3333,6 +3373,15 @@ module ClientApi ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message")) ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException + SignInConfig.add_member(:distributions, Shapes::ShapeRef.new(shape: SignInDistributionList, required: true, location_name: "Distributions")) + SignInConfig.struct_class = Types::SignInConfig + + SignInDistribution.add_member(:region, Shapes::ShapeRef.new(shape: AwsRegion, required: true, location_name: "Region")) + SignInDistribution.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "Enabled")) + SignInDistribution.struct_class = Types::SignInDistribution + + SignInDistributionList.member = Shapes::ShapeRef.new(shape: SignInDistribution) + SingleSelectOptions.member = Shapes::ShapeRef.new(shape: TaskTemplateSingleSelectOption) SingleSelectQuestionRuleCategoryAutomation.add_member(:category, Shapes::ShapeRef.new(shape: SingleSelectQuestionRuleCategoryAutomationLabel, required: true, location_name: "Category")) @@ -3561,6 +3610,7 @@ module ClientApi TrafficDistributionGroup.add_member(:instance_arn, Shapes::ShapeRef.new(shape: InstanceArn, location_name: "InstanceArn")) TrafficDistributionGroup.add_member(:status, Shapes::ShapeRef.new(shape: TrafficDistributionGroupStatus, location_name: "Status")) TrafficDistributionGroup.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags")) + TrafficDistributionGroup.add_member(:is_default, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsDefault")) TrafficDistributionGroup.struct_class = Types::TrafficDistributionGroup TrafficDistributionGroupSummary.add_member(:id, Shapes::ShapeRef.new(shape: TrafficDistributionGroupId, location_name: "Id")) @@ -3568,10 +3618,16 @@ module ClientApi TrafficDistributionGroupSummary.add_member(:name, Shapes::ShapeRef.new(shape: Name128, location_name: "Name")) TrafficDistributionGroupSummary.add_member(:instance_arn, Shapes::ShapeRef.new(shape: InstanceArn, location_name: "InstanceArn")) TrafficDistributionGroupSummary.add_member(:status, Shapes::ShapeRef.new(shape: TrafficDistributionGroupStatus, location_name: "Status")) + TrafficDistributionGroupSummary.add_member(:is_default, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsDefault")) TrafficDistributionGroupSummary.struct_class = Types::TrafficDistributionGroupSummary TrafficDistributionGroupSummaryList.member = Shapes::ShapeRef.new(shape: TrafficDistributionGroupSummary) + TrafficDistributionGroupUserSummary.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, location_name: "UserId")) + TrafficDistributionGroupUserSummary.struct_class = Types::TrafficDistributionGroupUserSummary + + TrafficDistributionGroupUserSummaryList.member = Shapes::ShapeRef.new(shape: TrafficDistributionGroupUserSummary) + TransferContactRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId")) TransferContactRequest.add_member(:contact_id, Shapes::ShapeRef.new(shape: ContactId, required: true, location_name: "ContactId")) TransferContactRequest.add_member(:queue_id, Shapes::ShapeRef.new(shape: QueueId, location_name: "QueueId")) @@ -3844,6 +3900,8 @@ module ClientApi UpdateTrafficDistributionRequest.add_member(:id, Shapes::ShapeRef.new(shape: TrafficDistributionGroupIdOrArn, required: true, location: "uri", location_name: "Id")) UpdateTrafficDistributionRequest.add_member(:telephony_config, Shapes::ShapeRef.new(shape: TelephonyConfig, location_name: "TelephonyConfig")) + UpdateTrafficDistributionRequest.add_member(:sign_in_config, Shapes::ShapeRef.new(shape: SignInConfig, location_name: "SignInConfig")) + UpdateTrafficDistributionRequest.add_member(:agent_config, Shapes::ShapeRef.new(shape: AgentConfig, location_name: "AgentConfig")) UpdateTrafficDistributionRequest.struct_class = Types::UpdateTrafficDistributionRequest UpdateTrafficDistributionResponse.struct_class = Types::UpdateTrafficDistributionResponse @@ -4194,6 +4252,20 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ThrottlingException) end) + api.add_operation(:associate_traffic_distribution_group_user, Seahorse::Model::Operation.new.tap do |o| + o.name = "AssociateTrafficDistributionGroupUser" + o.http_method = "PUT" + o.http_request_uri = "/traffic-distribution-group/{TrafficDistributionGroupId}/user" + o.input = Shapes::ShapeRef.new(shape: AssociateTrafficDistributionGroupUserRequest) + o.output = Shapes::ShapeRef.new(shape: AssociateTrafficDistributionGroupUserResponse) + o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ThrottlingException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: ResourceConflictException) + o.errors << Shapes::ShapeRef.new(shape: InternalServiceException) + end) + api.add_operation(:claim_phone_number, Seahorse::Model::Operation.new.tap do |o| o.name = "ClaimPhoneNumber" o.http_method = "POST" @@ -5166,6 +5238,20 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ThrottlingException) end) + api.add_operation(:disassociate_traffic_distribution_group_user, Seahorse::Model::Operation.new.tap do |o| + o.name = "DisassociateTrafficDistributionGroupUser" + o.http_method = "DELETE" + o.http_request_uri = "/traffic-distribution-group/{TrafficDistributionGroupId}/user" + o.input = Shapes::ShapeRef.new(shape: DisassociateTrafficDistributionGroupUserRequest) + o.output = Shapes::ShapeRef.new(shape: DisassociateTrafficDistributionGroupUserResponse) + o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ThrottlingException) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: ResourceConflictException) + o.errors << Shapes::ShapeRef.new(shape: InternalServiceException) + end) + api.add_operation(:dismiss_user_contact, Seahorse::Model::Operation.new.tap do |o| o.name = "DismissUserContact" o.http_method = "POST" @@ -5893,6 +5979,25 @@ module ClientApi ) end) + api.add_operation(:list_traffic_distribution_group_users, Seahorse::Model::Operation.new.tap do |o| + o.name = "ListTrafficDistributionGroupUsers" + o.http_method = "GET" + o.http_request_uri = "/traffic-distribution-group/{TrafficDistributionGroupId}/user" + o.input = Shapes::ShapeRef.new(shape: ListTrafficDistributionGroupUsersRequest) + o.output = Shapes::ShapeRef.new(shape: ListTrafficDistributionGroupUsersResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ThrottlingException) + o.errors << Shapes::ShapeRef.new(shape: InternalServiceException) + o[:pager] = Aws::Pager.new( + limit_key: "max_results", + tokens: { + "next_token" => "next_token" + } + ) + end) + api.add_operation(:list_traffic_distribution_groups, Seahorse::Model::Operation.new.tap do |o| o.name = "ListTrafficDistributionGroups" o.http_method = "GET" diff --git a/gems/aws-sdk-connect/lib/aws-sdk-connect/endpoints.rb b/gems/aws-sdk-connect/lib/aws-sdk-connect/endpoints.rb index 64174d00e10..5e2c5dd316a 100644 --- a/gems/aws-sdk-connect/lib/aws-sdk-connect/endpoints.rb +++ b/gems/aws-sdk-connect/lib/aws-sdk-connect/endpoints.rb @@ -166,6 +166,20 @@ def self.build(context) end end + class AssociateTrafficDistributionGroupUser + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::Connect::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class ClaimPhoneNumber def self.build(context) unless context.config.regional_endpoint @@ -1174,6 +1188,20 @@ def self.build(context) end end + class DisassociateTrafficDistributionGroupUser + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::Connect::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class DismissUserContact def self.build(context) unless context.config.regional_endpoint @@ -1748,6 +1776,20 @@ def self.build(context) end end + class ListTrafficDistributionGroupUsers + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::Connect::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class ListTrafficDistributionGroups def self.build(context) unless context.config.regional_endpoint diff --git a/gems/aws-sdk-connect/lib/aws-sdk-connect/plugins/endpoints.rb b/gems/aws-sdk-connect/lib/aws-sdk-connect/plugins/endpoints.rb index 7d288ac3f19..2e1bf7f5a34 100644 --- a/gems/aws-sdk-connect/lib/aws-sdk-connect/plugins/endpoints.rb +++ b/gems/aws-sdk-connect/lib/aws-sdk-connect/plugins/endpoints.rb @@ -78,6 +78,8 @@ def parameters_for_operation(context) Aws::Connect::Endpoints::AssociateRoutingProfileQueues.build(context) when :associate_security_key Aws::Connect::Endpoints::AssociateSecurityKey.build(context) + when :associate_traffic_distribution_group_user + Aws::Connect::Endpoints::AssociateTrafficDistributionGroupUser.build(context) when :claim_phone_number Aws::Connect::Endpoints::ClaimPhoneNumber.build(context) when :create_agent_status @@ -222,6 +224,8 @@ def parameters_for_operation(context) Aws::Connect::Endpoints::DisassociateRoutingProfileQueues.build(context) when :disassociate_security_key Aws::Connect::Endpoints::DisassociateSecurityKey.build(context) + when :disassociate_traffic_distribution_group_user + Aws::Connect::Endpoints::DisassociateTrafficDistributionGroupUser.build(context) when :dismiss_user_contact Aws::Connect::Endpoints::DismissUserContact.build(context) when :get_contact_attributes @@ -304,6 +308,8 @@ def parameters_for_operation(context) Aws::Connect::Endpoints::ListTagsForResource.build(context) when :list_task_templates Aws::Connect::Endpoints::ListTaskTemplates.build(context) + when :list_traffic_distribution_group_users + Aws::Connect::Endpoints::ListTrafficDistributionGroupUsers.build(context) when :list_traffic_distribution_groups Aws::Connect::Endpoints::ListTrafficDistributionGroups.build(context) when :list_use_cases diff --git a/gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb b/gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb index 664c6282d4e..0fa4c294f4b 100644 --- a/gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb +++ b/gems/aws-sdk-connect/lib/aws-sdk-connect/types.rb @@ -88,6 +88,20 @@ class ActivateEvaluationFormResponse < Struct.new( include Aws::Structure end + # The distribution of agents between the instance and its replica(s). + # + # @!attribute [rw] distributions + # Information about traffic distributions. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AgentConfig AWS API Documentation + # + class AgentConfig < Struct.new( + :distributions) + SENSITIVE = [] + include Aws::Structure + end + # Information about the [contact][1] associated to the user. # # @@ -586,6 +600,41 @@ class AssociateSecurityKeyResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] traffic_distribution_group_id + # The identifier of the traffic distribution group. This can be the ID + # or the ARN if the API is being called in the Region where the + # traffic distribution group was created. The ARN must be provided if + # the call is from the replicated Region. + # @return [String] + # + # @!attribute [rw] user_id + # The identifier of the user account. This can be the ID or the ARN of + # the user. + # @return [String] + # + # @!attribute [rw] instance_id + # The identifier of the Amazon Connect instance. You can [find the + # instance ID][1] in the Amazon Resource Name (ARN) of the instance. + # + # + # + # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateTrafficDistributionGroupUserRequest AWS API Documentation + # + class AssociateTrafficDistributionGroupUserRequest < Struct.new( + :traffic_distribution_group_id, + :user_id, + :instance_id) + SENSITIVE = [] + include Aws::Structure + end + + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateTrafficDistributionGroupUserResponse AWS API Documentation + # + class AssociateTrafficDistributionGroupUserResponse < Aws::EmptyStructure; end + # Information about a reference when the `referenceType` is # `ATTACHMENT`. Otherwise, null. # @@ -1996,8 +2045,8 @@ class CreateQuickConnectResponse < Struct.new( # # @!attribute [rw] agent_availability_timer # Whether agents with this routing profile will have their routing - # order calculated based on *time since their last inbound contact* or - # *longest idle time*. + # order calculated based on *longest idle time* or *time since their + # last inbound contact*. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateRoutingProfileRequest AWS API Documentation @@ -4332,6 +4381,41 @@ class DisassociateSecurityKeyRequest < Struct.new( include Aws::Structure end + # @!attribute [rw] traffic_distribution_group_id + # The identifier of the traffic distribution group. This can be the ID + # or the ARN if the API is being called in the Region where the + # traffic distribution group was created. The ARN must be provided if + # the call is from the replicated Region. + # @return [String] + # + # @!attribute [rw] user_id + # The identifier for the user. This can be the ID or the ARN of the + # user. + # @return [String] + # + # @!attribute [rw] instance_id + # The identifier of the Amazon Connect instance. You can [find the + # instance ID][1] in the Amazon Resource Name (ARN) of the instance. + # + # + # + # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateTrafficDistributionGroupUserRequest AWS API Documentation + # + class DisassociateTrafficDistributionGroupUserRequest < Struct.new( + :traffic_distribution_group_id, + :user_id, + :instance_id) + SENSITIVE = [] + include Aws::Structure + end + + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateTrafficDistributionGroupUserResponse AWS API Documentation + # + class DisassociateTrafficDistributionGroupUserResponse < Aws::EmptyStructure; end + # @!attribute [rw] user_id # The identifier of the user account. # @return [String] @@ -5741,7 +5825,8 @@ class GetFederationTokenRequest < Struct.new( # @return [String] # # @!attribute [rw] user_id - # The identifier for the user. + # The identifier for the user. This can be the ID or the ARN of the + # user. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationTokenResponse AWS API Documentation @@ -6703,12 +6788,23 @@ class GetTrafficDistributionRequest < Struct.new( # The Amazon Resource Name (ARN) of the traffic distribution group. # @return [String] # + # @!attribute [rw] sign_in_config + # The distribution of allowing signing in to the instance and its + # replica(s). + # @return [Types::SignInConfig] + # + # @!attribute [rw] agent_config + # The distribution of agents between the instance and its replica(s). + # @return [Types::AgentConfig] + # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetTrafficDistributionResponse AWS API Documentation # class GetTrafficDistributionResponse < Struct.new( :telephony_config, :id, - :arn) + :arn, + :sign_in_config, + :agent_config) SENSITIVE = [] include Aws::Structure end @@ -9326,6 +9422,51 @@ class ListTaskTemplatesResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] traffic_distribution_group_id + # The identifier of the traffic distribution group. This can be the ID + # or the ARN if the API is being called in the Region where the + # traffic distribution group was created. The ARN must be provided if + # the call is from the replicated Region. + # @return [String] + # + # @!attribute [rw] max_results + # The maximum number of results to return per page. + # @return [Integer] + # + # @!attribute [rw] next_token + # The token for the next set of results. Use the value returned in the + # previous response in the next request to retrieve the next set of + # results. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTrafficDistributionGroupUsersRequest AWS API Documentation + # + class ListTrafficDistributionGroupUsersRequest < Struct.new( + :traffic_distribution_group_id, + :max_results, + :next_token) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] next_token + # If there are additional results, this is the token for the next set + # of results. + # @return [String] + # + # @!attribute [rw] traffic_distribution_group_user_summary_list + # A list of traffic distribution group users. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTrafficDistributionGroupUsersResponse AWS API Documentation + # + class ListTrafficDistributionGroupUsersResponse < Struct.new( + :next_token, + :traffic_distribution_group_user_summary_list) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] max_results # The maximum number of results to return per page. # @return [Integer] @@ -12392,6 +12533,41 @@ class ServiceQuotaExceededException < Struct.new( include Aws::Structure end + # The distribution of allowing signing in to the instance and its + # replica(s). + # + # @!attribute [rw] distributions + # Information about traffic distributions. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SignInConfig AWS API Documentation + # + class SignInConfig < Struct.new( + :distributions) + SENSITIVE = [] + include Aws::Structure + end + + # The distribution of sign in traffic between the instance and its + # replica(s). + # + # @!attribute [rw] region + # The Amazon Web Services Region of the sign in distribution. + # @return [String] + # + # @!attribute [rw] enabled + # Whether sign in distribution is enabled. + # @return [Boolean] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SignInDistribution AWS API Documentation + # + class SignInDistribution < Struct.new( + :region, + :enabled) + SENSITIVE = [] + include Aws::Structure + end + # Information about the automation option based on a rule category for a # single select question. # @@ -13575,6 +13751,22 @@ class ThrottlingException < Struct.new( # "key2":"value2"\\} \\}. # @return [Hash] # + # @!attribute [rw] is_default + # 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. + # + # You can change the `SignInConfig` only for a default + # `TrafficDistributionGroup`. If you call `UpdateTrafficDistribution` + # with a modified `SignInConfig` and a non-default + # `TrafficDistributionGroup`, an `InvalidRequestException` is + # returned. + # + # + # @return [Boolean] + # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TrafficDistributionGroup AWS API Documentation # class TrafficDistributionGroup < Struct.new( @@ -13584,7 +13776,8 @@ class TrafficDistributionGroup < Struct.new( :description, :instance_arn, :status, - :tags) + :tags, + :is_default) SENSITIVE = [] include Aws::Structure end @@ -13641,6 +13834,14 @@ class TrafficDistributionGroup < Struct.new( # [3]: https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateTrafficDistributionGroup.html # @return [String] # + # @!attribute [rw] is_default + # 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. + # @return [Boolean] + # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TrafficDistributionGroupSummary AWS API Documentation # class TrafficDistributionGroupSummary < Struct.new( @@ -13648,7 +13849,23 @@ class TrafficDistributionGroupSummary < Struct.new( :arn, :name, :instance_arn, - :status) + :status, + :is_default) + SENSITIVE = [] + include Aws::Structure + end + + # Summary information about a traffic distribution group user. + # + # @!attribute [rw] user_id + # The identifier for the user. This can be the ID or the ARN of the + # user. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TrafficDistributionGroupUserSummary AWS API Documentation + # + class TrafficDistributionGroupUserSummary < Struct.new( + :user_id) SENSITIVE = [] include Aws::Structure end @@ -13671,7 +13888,8 @@ class TrafficDistributionGroupSummary < Struct.new( # @return [String] # # @!attribute [rw] user_id - # The identifier for the user. + # The identifier for the user. This can be the ID or the ARN of the + # user. # @return [String] # # @!attribute [rw] contact_flow_id @@ -15069,11 +15287,22 @@ class UpdateTaskTemplateResponse < Struct.new( # The distribution of traffic between the instance and its replica(s). # @return [Types::TelephonyConfig] # + # @!attribute [rw] sign_in_config + # The distribution of allowing signing in to the instance and its + # replica(s). + # @return [Types::SignInConfig] + # + # @!attribute [rw] agent_config + # The distribution of agents between the instance and its replica(s). + # @return [Types::AgentConfig] + # # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateTrafficDistributionRequest AWS API Documentation # class UpdateTrafficDistributionRequest < Struct.new( :id, - :telephony_config) + :telephony_config, + :sign_in_config, + :agent_config) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-elasticloadbalancingv2/CHANGELOG.md b/gems/aws-sdk-elasticloadbalancingv2/CHANGELOG.md index 85f71fd92d6..542fdced76f 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/CHANGELOG.md +++ b/gems/aws-sdk-elasticloadbalancingv2/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.90.0 (2023-08-10) +------------------ + +* Feature - This release enables configuring security groups for Network Load Balancers + 1.89.0 (2023-07-11) ------------------ diff --git a/gems/aws-sdk-elasticloadbalancingv2/VERSION b/gems/aws-sdk-elasticloadbalancingv2/VERSION index 636ea711ad9..82e24bf241e 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/VERSION +++ b/gems/aws-sdk-elasticloadbalancingv2/VERSION @@ -1 +1 @@ -1.89.0 +1.90.0 diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2.rb index ed05dcec146..28b2e118bbf 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2.rb @@ -53,6 +53,6 @@ # @!group service module Aws::ElasticLoadBalancingV2 - GEM_VERSION = '1.89.0' + GEM_VERSION = '1.90.0' end diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client.rb index 6bf9d2188e6..a0afeb3bda5 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client.rb @@ -893,8 +893,8 @@ def create_listener(params = {}, options = {}) # subnets. # # @option params [Array] :security_groups - # \[Application Load Balancers\] The IDs of the security groups for the - # load balancer. + # \[Application Load Balancers and Network Load Balancers\] The IDs of + # the security groups for the load balancer. # # @option params [String] :scheme # The nodes of an Internet-facing load balancer have public IP @@ -1076,6 +1076,7 @@ def create_listener(params = {}, options = {}) # resp.load_balancers[0].security_groups[0] #=> String # resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack" # resp.load_balancers[0].customer_owned_ipv_4_pool #=> String + # resp.load_balancers[0].enforce_security_group_inbound_rules_on_private_link_traffic #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer AWS API Documentation # @@ -1746,6 +1747,9 @@ def delete_target_group(params = {}, options = {}) # After the targets are deregistered, they no longer receive traffic # from the load balancer. # + # Note: If the specified target does not exist, the action returns + # successfully. + # # @option params [required, String] :target_group_arn # The Amazon Resource Name (ARN) of the target group. # @@ -2208,6 +2212,7 @@ def describe_load_balancer_attributes(params = {}, options = {}) # resp.load_balancers[0].security_groups[0] #=> String # resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack" # resp.load_balancers[0].customer_owned_ipv_4_pool #=> String + # resp.load_balancers[0].enforce_security_group_inbound_rules_on_private_link_traffic #=> String # resp.next_marker #=> String # # @@ -4151,11 +4156,14 @@ def set_rule_priorities(params = {}, options = {}) end # Associates the specified security groups with the specified - # Application Load Balancer. The specified security groups override the - # previously associated security groups. + # Application Load Balancer or Network Load Balancer. The specified + # security groups override the previously associated security groups. # - # You can't specify a security group for a Network Load Balancer or - # Gateway Load Balancer. + # You can't perform this operation on a Network Load Balancer unless + # you specified a security group for the load balancer when you created + # it. + # + # You can't associate a security group with a Gateway Load Balancer. # # @option params [required, String] :load_balancer_arn # The Amazon Resource Name (ARN) of the load balancer. @@ -4163,9 +4171,15 @@ def set_rule_priorities(params = {}, options = {}) # @option params [required, Array] :security_groups # The IDs of the security groups. # + # @option params [String] :enforce_security_group_inbound_rules_on_private_link_traffic + # Indicates whether to evaluate inbound security group rules for traffic + # sent to a Network Load Balancer through Amazon Web Services + # PrivateLink. The default is `on`. + # # @return [Types::SetSecurityGroupsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::SetSecurityGroupsOutput#security_group_ids #security_group_ids} => Array<String> + # * {Types::SetSecurityGroupsOutput#enforce_security_group_inbound_rules_on_private_link_traffic #enforce_security_group_inbound_rules_on_private_link_traffic} => String # # # @example Example: To associate a security group with a load balancer @@ -4191,12 +4205,14 @@ def set_rule_priorities(params = {}, options = {}) # resp = client.set_security_groups({ # load_balancer_arn: "LoadBalancerArn", # required # security_groups: ["SecurityGroupId"], # required + # enforce_security_group_inbound_rules_on_private_link_traffic: "on", # accepts on, off # }) # # @example Response structure # # resp.security_group_ids #=> Array # resp.security_group_ids[0] #=> String + # resp.enforce_security_group_inbound_rules_on_private_link_traffic #=> String, one of "on", "off" # # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSecurityGroups AWS API Documentation # @@ -4261,7 +4277,7 @@ def set_security_groups(params = {}, options = {}) # subnets for your load balancer. The possible values are `ipv4` (for # IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses). You # can’t specify `dualstack` for a load balancer with a UDP or TCP\_UDP - # listener. . + # listener. # # @return [Types::SetSubnetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -4346,7 +4362,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-elasticloadbalancingv2' - context[:gem_version] = '1.89.0' + context[:gem_version] = '1.90.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client_api.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client_api.rb index b28d5bce7b7..300fa26bfa7 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client_api.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client_api.rb @@ -114,6 +114,8 @@ module ClientApi DuplicateLoadBalancerNameException = Shapes::StructureShape.new(name: 'DuplicateLoadBalancerNameException') DuplicateTagKeysException = Shapes::StructureShape.new(name: 'DuplicateTagKeysException') DuplicateTargetGroupNameException = Shapes::StructureShape.new(name: 'DuplicateTargetGroupNameException') + EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic = Shapes::StringShape.new(name: 'EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic') + EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficEnum = Shapes::StringShape.new(name: 'EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficEnum') FixedResponseActionConfig = Shapes::StructureShape.new(name: 'FixedResponseActionConfig') FixedResponseActionContentType = Shapes::StringShape.new(name: 'FixedResponseActionContentType') FixedResponseActionMessage = Shapes::StringShape.new(name: 'FixedResponseActionMessage') @@ -638,6 +640,7 @@ module ClientApi LoadBalancer.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroups, location_name: "SecurityGroups")) LoadBalancer.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "IpAddressType")) LoadBalancer.add_member(:customer_owned_ipv_4_pool, Shapes::ShapeRef.new(shape: CustomerOwnedIpv4Pool, location_name: "CustomerOwnedIpv4Pool")) + LoadBalancer.add_member(:enforce_security_group_inbound_rules_on_private_link_traffic, Shapes::ShapeRef.new(shape: EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic, location_name: "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic")) LoadBalancer.struct_class = Types::LoadBalancer LoadBalancerAddress.add_member(:ip_address, Shapes::ShapeRef.new(shape: IpAddress, location_name: "IpAddress")) @@ -815,9 +818,11 @@ module ClientApi SetSecurityGroupsInput.add_member(:load_balancer_arn, Shapes::ShapeRef.new(shape: LoadBalancerArn, required: true, location_name: "LoadBalancerArn")) SetSecurityGroupsInput.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroups, required: true, location_name: "SecurityGroups")) + SetSecurityGroupsInput.add_member(:enforce_security_group_inbound_rules_on_private_link_traffic, Shapes::ShapeRef.new(shape: EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficEnum, location_name: "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic")) SetSecurityGroupsInput.struct_class = Types::SetSecurityGroupsInput SetSecurityGroupsOutput.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: SecurityGroups, location_name: "SecurityGroupIds")) + SetSecurityGroupsOutput.add_member(:enforce_security_group_inbound_rules_on_private_link_traffic, Shapes::ShapeRef.new(shape: EnforceSecurityGroupInboundRulesOnPrivateLinkTrafficEnum, location_name: "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic")) SetSecurityGroupsOutput.struct_class = Types::SetSecurityGroupsOutput SetSubnetsInput.add_member(:load_balancer_arn, Shapes::ShapeRef.new(shape: LoadBalancerArn, required: true, location_name: "LoadBalancerArn")) diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/endpoint_parameters.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/endpoint_parameters.rb index 8e297fcb93e..eccc9ebfbc1 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/endpoint_parameters.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/endpoint_parameters.rb @@ -50,9 +50,6 @@ class << self def initialize(options = {}) self[:region] = options[:region] - if self[:region].nil? - raise ArgumentError, "Missing required EndpointParameter: :region" - end self[:use_dual_stack] = options[:use_dual_stack] self[:use_dual_stack] = false if self[:use_dual_stack].nil? if self[:use_dual_stack].nil? diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/endpoint_provider.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/endpoint_provider.rb index 23e7a4c17da..63b8e2411f3 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/endpoint_provider.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/endpoint_provider.rb @@ -14,39 +14,42 @@ def resolve_endpoint(parameters) use_dual_stack = parameters.use_dual_stack use_fips = parameters.use_fips endpoint = parameters.endpoint - if (partition_result = Aws::Endpoints::Matchers.aws_partition(region)) - if Aws::Endpoints::Matchers.set?(endpoint) - if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) - raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported" - end - if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true) - raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported" - end - return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {}) + if Aws::Endpoints::Matchers.set?(endpoint) + if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) + raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported" end - if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true) - if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack")) - return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {}) - end - raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both" + if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true) + raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported" end - if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) - if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) - if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name")) - return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing.#{region}.amazonaws.com", headers: {}, properties: {}) + return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {}) + end + if Aws::Endpoints::Matchers.set?(region) + if (partition_result = Aws::Endpoints::Matchers.aws_partition(region)) + if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true) + if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack")) + return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {}) end - return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {}) + raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both" end - raise ArgumentError, "FIPS is enabled but this partition does not support FIPS" - end - if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true) - if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack")) - return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {}) + if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) + if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) + if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name")) + return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing.#{region}.amazonaws.com", headers: {}, properties: {}) + end + return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {}) + end + raise ArgumentError, "FIPS is enabled but this partition does not support FIPS" + end + if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true) + if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack")) + return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {}) + end + raise ArgumentError, "DualStack is enabled but this partition does not support DualStack" end - raise ArgumentError, "DualStack is enabled but this partition does not support DualStack" + return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {}) end - return Aws::Endpoints::Endpoint.new(url: "https://elasticloadbalancing.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {}) end + raise ArgumentError, "Invalid Configuration: Missing Region" raise ArgumentError, 'No endpoint could be resolved' end diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb index 6d98f7ede2b..daa29f5df2c 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/types.rb @@ -546,8 +546,8 @@ class CreateListenerOutput < Struct.new( # @return [Array] # # @!attribute [rw] security_groups - # \[Application Load Balancers\] The IDs of the security groups for - # the load balancer. + # \[Application Load Balancers and Network Load Balancers\] The IDs of + # the security groups for the load balancer. # @return [Array] # # @!attribute [rw] scheme @@ -1557,6 +1557,20 @@ class InvalidTargetException < Aws::EmptyStructure; end # Information about an Elastic Load Balancing resource limit for your # Amazon Web Services account. # + # For more information, see the following: + # + # * [Quotas for your Application Load Balancers][1] + # + # * [Quotas for your Network Load Balancers][2] + # + # * [Quotas for your Gateway Load Balancers][3] + # + # + # + # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html + # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html + # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/quotas-limits.html + # # @!attribute [rw] name # The name of the limit. The possible values are: # @@ -1735,6 +1749,12 @@ class ListenerNotFoundException < Aws::EmptyStructure; end # customer-owned address pool. # @return [String] # + # @!attribute [rw] enforce_security_group_inbound_rules_on_private_link_traffic + # Indicates whether to evaluate inbound security group rules for + # traffic sent to a Network Load Balancer through Amazon Web Services + # PrivateLink. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/LoadBalancer AWS API Documentation # class LoadBalancer < Struct.new( @@ -1750,7 +1770,8 @@ class LoadBalancer < Struct.new( :availability_zones, :security_groups, :ip_address_type, - :customer_owned_ipv_4_pool) + :customer_owned_ipv_4_pool, + :enforce_security_group_inbound_rules_on_private_link_traffic) SENSITIVE = [] include Aws::Structure end @@ -2515,6 +2536,13 @@ class Rule < Struct.new( # of the following conditions: `http-header` and `query-string`. Note # that the value for a condition cannot be empty. # + # For more information, see [Quotas for your Application Load + # Balancers][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html + # # @!attribute [rw] field # The field in the HTTP request. The following are the possible # values: @@ -2709,11 +2737,18 @@ class SetRulePrioritiesOutput < Struct.new( # The IDs of the security groups. # @return [Array] # + # @!attribute [rw] enforce_security_group_inbound_rules_on_private_link_traffic + # Indicates whether to evaluate inbound security group rules for + # traffic sent to a Network Load Balancer through Amazon Web Services + # PrivateLink. The default is `on`. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSecurityGroupsInput AWS API Documentation # class SetSecurityGroupsInput < Struct.new( :load_balancer_arn, - :security_groups) + :security_groups, + :enforce_security_group_inbound_rules_on_private_link_traffic) SENSITIVE = [] include Aws::Structure end @@ -2722,10 +2757,17 @@ class SetSecurityGroupsInput < Struct.new( # The IDs of the security groups associated with the load balancer. # @return [Array] # + # @!attribute [rw] enforce_security_group_inbound_rules_on_private_link_traffic + # Indicates whether to evaluate inbound security group rules for + # traffic sent to a Network Load Balancer through Amazon Web Services + # PrivateLink. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSecurityGroupsOutput AWS API Documentation # class SetSecurityGroupsOutput < Struct.new( - :security_group_ids) + :security_group_ids, + :enforce_security_group_inbound_rules_on_private_link_traffic) SENSITIVE = [] include Aws::Structure end @@ -2781,7 +2823,7 @@ class SetSecurityGroupsOutput < Struct.new( # subnets for your load balancer. The possible values are `ipv4` (for # IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses). You # can’t specify `dualstack` for a load balancer with a UDP or TCP\_UDP - # listener. . + # listener. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnetsInput AWS API Documentation @@ -2956,8 +2998,8 @@ class TagDescription < Struct.new( # The port on which the target is listening. If the target group # protocol is GENEVE, the supported port is 6081. If the target type # is `alb`, the targeted Application Load Balancer must have at least - # one listener whose port matches the target group port. Not used if - # the target is a Lambda function. + # one listener whose port matches the target group port. This + # parameter is not used if the target is a Lambda function. # @return [Integer] # # @!attribute [rw] availability_zone @@ -3013,8 +3055,8 @@ class TargetDescription < Struct.new( # @return [String] # # @!attribute [rw] port - # The port on which the targets are listening. Not used if the target - # is a Lambda function. + # The port on which the targets are listening. This parameter is not + # used if the target is a Lambda function. # @return [Integer] # # @!attribute [rw] vpc_id @@ -3064,8 +3106,9 @@ class TargetDescription < Struct.new( # @return [Types::Matcher] # # @!attribute [rw] load_balancer_arns - # The Amazon Resource Names (ARN) of the load balancers that route - # traffic to this target group. + # The Amazon Resource Name (ARN) of the load balancer that routes + # traffic to this target group. You can use each target group with + # only one load balancer. # @return [Array] # # @!attribute [rw] target_type diff --git a/gems/aws-sdk-elasticloadbalancingv2/spec/endpoint_provider_spec.rb b/gems/aws-sdk-elasticloadbalancingv2/spec/endpoint_provider_spec.rb index d33f5fbdc66..7e1e81030a2 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/spec/endpoint_provider_spec.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/spec/endpoint_provider_spec.rb @@ -14,13 +14,13 @@ module Aws::ElasticLoadBalancingV2 describe EndpointProvider do subject { Aws::ElasticLoadBalancingV2::EndpointProvider.new } - context 'For region us-iso-east-1 with FIPS disabled and DualStack disabled' do + context 'For region af-south-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-iso-east-1.c2s.ic.gov"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.af-south-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-iso-east-1"}) + params = EndpointParameters.new(**{:region=>"af-south-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -28,13 +28,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-iso-west-1 with FIPS disabled and DualStack disabled' do + context 'For region ap-east-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-iso-west-1.c2s.ic.gov"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-iso-west-1"}) + params = EndpointParameters.new(**{:region=>"ap-east-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -42,13 +42,27 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-iso-east-1 with FIPS enabled and DualStack disabled' do + context 'For region ap-northeast-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-iso-east-1.c2s.ic.gov"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-northeast-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"us-iso-east-1"}) + params = EndpointParameters.new(**{:region=>"ap-northeast-1", :use_fips=>false, :use_dual_stack=>false}) + endpoint = subject.resolve_endpoint(params) + expect(endpoint.url).to eq(expected['endpoint']['url']) + expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) + expect(endpoint.properties).to eq(expected['endpoint']['properties'] || {}) + end + end + + context 'For region ap-northeast-2 with FIPS disabled and DualStack disabled' do + let(:expected) do + {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-northeast-2.amazonaws.com"}} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{:region=>"ap-northeast-2", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -62,7 +76,7 @@ module Aws::ElasticLoadBalancingV2 end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"ap-northeast-3"}) + params = EndpointParameters.new(**{:region=>"ap-northeast-3", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -70,13 +84,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-east-1 with FIPS disabled and DualStack disabled' do + context 'For region ap-south-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-east-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-south-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-east-1"}) + params = EndpointParameters.new(**{:region=>"ap-south-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -84,13 +98,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-east-1 with FIPS enabled and DualStack disabled' do + context 'For region ap-southeast-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-east-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-southeast-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"us-east-1"}) + params = EndpointParameters.new(**{:region=>"ap-southeast-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -98,13 +112,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region eu-west-1 with FIPS disabled and DualStack disabled' do + context 'For region ap-southeast-2 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-west-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-southeast-2.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"eu-west-1"}) + params = EndpointParameters.new(**{:region=>"ap-southeast-2", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -112,13 +126,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region eu-west-2 with FIPS disabled and DualStack disabled' do + context 'For region ap-southeast-3 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-west-2.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-southeast-3.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"eu-west-2"}) + params = EndpointParameters.new(**{:region=>"ap-southeast-3", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -126,13 +140,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region eu-west-3 with FIPS disabled and DualStack disabled' do + context 'For region ca-central-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-west-3.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.ca-central-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"eu-west-3"}) + params = EndpointParameters.new(**{:region=>"ca-central-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -140,13 +154,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region me-south-1 with FIPS disabled and DualStack disabled' do + context 'For region eu-central-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.me-south-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-central-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"me-south-1"}) + params = EndpointParameters.new(**{:region=>"eu-central-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -160,7 +174,7 @@ module Aws::ElasticLoadBalancingV2 end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"eu-north-1"}) + params = EndpointParameters.new(**{:region=>"eu-north-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -168,13 +182,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-east-2 with FIPS disabled and DualStack disabled' do + context 'For region eu-south-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-east-2.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-south-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-east-2"}) + params = EndpointParameters.new(**{:region=>"eu-south-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -182,13 +196,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-east-2 with FIPS enabled and DualStack disabled' do + context 'For region eu-west-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-east-2.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-west-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"us-east-2"}) + params = EndpointParameters.new(**{:region=>"eu-west-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -196,13 +210,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region sa-east-1 with FIPS disabled and DualStack disabled' do + context 'For region eu-west-2 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.sa-east-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-west-2.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"sa-east-1"}) + params = EndpointParameters.new(**{:region=>"eu-west-2", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -210,13 +224,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region ap-east-1 with FIPS disabled and DualStack disabled' do + context 'For region eu-west-3 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-east-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-west-3.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"ap-east-1"}) + params = EndpointParameters.new(**{:region=>"eu-west-3", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -224,13 +238,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region eu-south-1 with FIPS disabled and DualStack disabled' do + context 'For region me-south-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-south-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.me-south-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"eu-south-1"}) + params = EndpointParameters.new(**{:region=>"me-south-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -238,13 +252,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region eu-central-1 with FIPS disabled and DualStack disabled' do + context 'For region sa-east-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.eu-central-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.sa-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"eu-central-1"}) + params = EndpointParameters.new(**{:region=>"sa-east-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -252,13 +266,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region ap-southeast-1 with FIPS disabled and DualStack disabled' do + context 'For region us-east-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-southeast-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"ap-southeast-1"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -266,13 +280,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region ap-southeast-2 with FIPS disabled and DualStack disabled' do + context 'For region us-east-1 with FIPS enabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-southeast-2.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"ap-southeast-2"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -280,13 +294,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region ap-southeast-3 with FIPS disabled and DualStack disabled' do + context 'For region us-east-2 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-southeast-3.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-east-2.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"ap-southeast-3"}) + params = EndpointParameters.new(**{:region=>"us-east-2", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -294,13 +308,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region ca-central-1 with FIPS disabled and DualStack disabled' do + context 'For region us-east-2 with FIPS enabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.ca-central-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-east-2.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"ca-central-1"}) + params = EndpointParameters.new(**{:region=>"us-east-2", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -314,7 +328,7 @@ module Aws::ElasticLoadBalancingV2 end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-west-1"}) + params = EndpointParameters.new(**{:region=>"us-west-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -328,7 +342,7 @@ module Aws::ElasticLoadBalancingV2 end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"us-west-1"}) + params = EndpointParameters.new(**{:region=>"us-west-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -342,7 +356,7 @@ module Aws::ElasticLoadBalancingV2 end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-west-2"}) + params = EndpointParameters.new(**{:region=>"us-west-2", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -356,7 +370,7 @@ module Aws::ElasticLoadBalancingV2 end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"us-west-2"}) + params = EndpointParameters.new(**{:region=>"us-west-2", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -364,13 +378,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region af-south-1 with FIPS disabled and DualStack disabled' do + context 'For region us-east-1 with FIPS enabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.af-south-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-east-1.api.aws"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"af-south-1"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>true, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -378,13 +392,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region ap-south-1 with FIPS disabled and DualStack disabled' do + context 'For region us-east-1 with FIPS disabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-south-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-east-1.api.aws"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"ap-south-1"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>false, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -392,13 +406,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region ap-northeast-1 with FIPS disabled and DualStack disabled' do + context 'For region cn-north-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-northeast-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.cn-north-1.amazonaws.com.cn"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"ap-northeast-1"}) + params = EndpointParameters.new(**{:region=>"cn-north-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -406,13 +420,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region ap-northeast-2 with FIPS disabled and DualStack disabled' do + context 'For region cn-northwest-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.ap-northeast-2.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.cn-northwest-1.amazonaws.com.cn"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"ap-northeast-2"}) + params = EndpointParameters.new(**{:region=>"cn-northwest-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -420,13 +434,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-east-1 with FIPS enabled and DualStack enabled' do + context 'For region cn-north-1 with FIPS enabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-east-1.api.aws"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.cn-north-1.api.amazonwebservices.com.cn"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>true, :use_fips=>true, :region=>"us-east-1"}) + params = EndpointParameters.new(**{:region=>"cn-north-1", :use_fips=>true, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -434,13 +448,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-east-1 with FIPS disabled and DualStack enabled' do + context 'For region cn-north-1 with FIPS enabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-east-1.api.aws"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.cn-north-1.amazonaws.com.cn"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>true, :use_fips=>false, :region=>"us-east-1"}) + params = EndpointParameters.new(**{:region=>"cn-north-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -448,13 +462,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-gov-west-1 with FIPS disabled and DualStack disabled' do + context 'For region cn-north-1 with FIPS disabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-gov-west-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.cn-north-1.api.amazonwebservices.com.cn"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-gov-west-1"}) + params = EndpointParameters.new(**{:region=>"cn-north-1", :use_fips=>false, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -462,13 +476,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-gov-west-1 with FIPS enabled and DualStack disabled' do + context 'For region us-gov-east-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-gov-west-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-gov-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"us-gov-west-1"}) + params = EndpointParameters.new(**{:region=>"us-gov-east-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -476,13 +490,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-gov-east-1 with FIPS disabled and DualStack disabled' do + context 'For region us-gov-east-1 with FIPS enabled and DualStack disabled' do let(:expected) do {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-gov-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-gov-east-1"}) + params = EndpointParameters.new(**{:region=>"us-gov-east-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -490,13 +504,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-gov-east-1 with FIPS enabled and DualStack disabled' do + context 'For region us-gov-west-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-gov-east-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-gov-west-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"us-gov-east-1"}) + params = EndpointParameters.new(**{:region=>"us-gov-west-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -504,13 +518,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-gov-east-1 with FIPS enabled and DualStack enabled' do + context 'For region us-gov-west-1 with FIPS enabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-gov-east-1.api.aws"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-gov-west-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>true, :use_fips=>true, :region=>"us-gov-east-1"}) + params = EndpointParameters.new(**{:region=>"us-gov-west-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -518,13 +532,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-gov-east-1 with FIPS disabled and DualStack enabled' do + context 'For region us-gov-east-1 with FIPS enabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-gov-east-1.api.aws"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-gov-east-1.api.aws"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>true, :use_fips=>false, :region=>"us-gov-east-1"}) + params = EndpointParameters.new(**{:region=>"us-gov-east-1", :use_fips=>true, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -532,13 +546,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-isob-east-1 with FIPS disabled and DualStack disabled' do + context 'For region us-gov-east-1 with FIPS disabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-isob-east-1.sc2s.sgov.gov"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-gov-east-1.api.aws"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-isob-east-1"}) + params = EndpointParameters.new(**{:region=>"us-gov-east-1", :use_fips=>false, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -546,13 +560,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region us-isob-east-1 with FIPS enabled and DualStack disabled' do + context 'For region us-iso-east-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-isob-east-1.sc2s.sgov.gov"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-iso-east-1.c2s.ic.gov"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"us-isob-east-1"}) + params = EndpointParameters.new(**{:region=>"us-iso-east-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -560,13 +574,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region cn-northwest-1 with FIPS disabled and DualStack disabled' do + context 'For region us-iso-west-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.cn-northwest-1.amazonaws.com.cn"}} + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-iso-west-1.c2s.ic.gov"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"cn-northwest-1"}) + params = EndpointParameters.new(**{:region=>"us-iso-west-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -574,13 +588,26 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region cn-north-1 with FIPS disabled and DualStack disabled' do + context 'For region us-iso-east-1 with FIPS enabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.cn-north-1.amazonaws.com.cn"}} + {"error"=>"FIPS and DualStack are enabled, but this partition does not support one or both"} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{:region=>"us-iso-east-1", :use_fips=>true, :use_dual_stack=>true}) + expect do + subject.resolve_endpoint(params) + end.to raise_error(ArgumentError, expected['error']) + end + end + + context 'For region us-iso-east-1 with FIPS enabled and DualStack disabled' do + let(:expected) do + {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-iso-east-1.c2s.ic.gov"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"cn-north-1"}) + params = EndpointParameters.new(**{:region=>"us-iso-east-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -588,13 +615,26 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region cn-north-1 with FIPS enabled and DualStack enabled' do + context 'For region us-iso-east-1 with FIPS disabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.cn-north-1.api.amazonwebservices.com.cn"}} + {"error"=>"DualStack is enabled but this partition does not support DualStack"} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>true, :use_fips=>true, :region=>"cn-north-1"}) + params = EndpointParameters.new(**{:region=>"us-iso-east-1", :use_fips=>false, :use_dual_stack=>true}) + expect do + subject.resolve_endpoint(params) + end.to raise_error(ArgumentError, expected['error']) + end + end + + context 'For region us-isob-east-1 with FIPS disabled and DualStack disabled' do + let(:expected) do + {"endpoint"=>{"url"=>"https://elasticloadbalancing.us-isob-east-1.sc2s.sgov.gov"}} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{:region=>"us-isob-east-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -602,13 +642,26 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region cn-north-1 with FIPS enabled and DualStack disabled' do + context 'For region us-isob-east-1 with FIPS enabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.cn-north-1.amazonaws.com.cn"}} + {"error"=>"FIPS and DualStack are enabled, but this partition does not support one or both"} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"cn-north-1"}) + params = EndpointParameters.new(**{:region=>"us-isob-east-1", :use_fips=>true, :use_dual_stack=>true}) + expect do + subject.resolve_endpoint(params) + end.to raise_error(ArgumentError, expected['error']) + end + end + + context 'For region us-isob-east-1 with FIPS enabled and DualStack disabled' do + let(:expected) do + {"endpoint"=>{"url"=>"https://elasticloadbalancing-fips.us-isob-east-1.sc2s.sgov.gov"}} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{:region=>"us-isob-east-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -616,13 +669,26 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For region cn-north-1 with FIPS disabled and DualStack enabled' do + context 'For region us-isob-east-1 with FIPS disabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://elasticloadbalancing.cn-north-1.api.amazonwebservices.com.cn"}} + {"error"=>"DualStack is enabled but this partition does not support DualStack"} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{:region=>"us-isob-east-1", :use_fips=>false, :use_dual_stack=>true}) + expect do + subject.resolve_endpoint(params) + end.to raise_error(ArgumentError, expected['error']) + end + end + + context 'For custom endpoint with region set and fips disabled and dualstack disabled' do + let(:expected) do + {"endpoint"=>{"url"=>"https://example.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>true, :use_fips=>false, :region=>"cn-north-1"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>false, :use_dual_stack=>false, :endpoint=>"https://example.com"}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -630,13 +696,13 @@ module Aws::ElasticLoadBalancingV2 end end - context 'For custom endpoint with fips disabled and dualstack disabled' do + context 'For custom endpoint with region not set and fips disabled and dualstack disabled' do let(:expected) do {"endpoint"=>{"url"=>"https://example.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>false, :region=>"us-east-1", :endpoint=>"https://example.com"}) + params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>false, :endpoint=>"https://example.com"}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -650,7 +716,7 @@ module Aws::ElasticLoadBalancingV2 end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>false, :use_fips=>true, :region=>"us-east-1", :endpoint=>"https://example.com"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>true, :use_dual_stack=>false, :endpoint=>"https://example.com"}) expect do subject.resolve_endpoint(params) end.to raise_error(ArgumentError, expected['error']) @@ -663,7 +729,20 @@ module Aws::ElasticLoadBalancingV2 end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_dual_stack=>true, :use_fips=>false, :region=>"us-east-1", :endpoint=>"https://example.com"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>false, :use_dual_stack=>true, :endpoint=>"https://example.com"}) + expect do + subject.resolve_endpoint(params) + end.to raise_error(ArgumentError, expected['error']) + end + end + + context 'Missing region' do + let(:expected) do + {"error"=>"Invalid Configuration: Missing Region"} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{}) expect do subject.resolve_endpoint(params) end.to raise_error(ArgumentError, expected['error']) diff --git a/gems/aws-sdk-omics/CHANGELOG.md b/gems/aws-sdk-omics/CHANGELOG.md index 33955dc2ed0..7a51f48f3c5 100644 --- a/gems/aws-sdk-omics/CHANGELOG.md +++ b/gems/aws-sdk-omics/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.12.0 (2023-08-10) +------------------ + +* Feature - This release adds instanceType to GetRunTask & ListRunTasks responses. + 1.11.0 (2023-07-31) ------------------ diff --git a/gems/aws-sdk-omics/VERSION b/gems/aws-sdk-omics/VERSION index 1cac385c6cb..0eed1a29efd 100644 --- a/gems/aws-sdk-omics/VERSION +++ b/gems/aws-sdk-omics/VERSION @@ -1 +1 @@ -1.11.0 +1.12.0 diff --git a/gems/aws-sdk-omics/lib/aws-sdk-omics.rb b/gems/aws-sdk-omics/lib/aws-sdk-omics.rb index 630d2d75a76..a093f0d215e 100644 --- a/gems/aws-sdk-omics/lib/aws-sdk-omics.rb +++ b/gems/aws-sdk-omics/lib/aws-sdk-omics.rb @@ -53,6 +53,6 @@ # @!group service module Aws::Omics - GEM_VERSION = '1.11.0' + GEM_VERSION = '1.12.0' end diff --git a/gems/aws-sdk-omics/lib/aws-sdk-omics/client.rb b/gems/aws-sdk-omics/lib/aws-sdk-omics/client.rb index ed97b6721f5..be69742c7ee 100644 --- a/gems/aws-sdk-omics/lib/aws-sdk-omics/client.rb +++ b/gems/aws-sdk-omics/lib/aws-sdk-omics/client.rb @@ -2035,6 +2035,7 @@ def get_run_group(params = {}, options = {}) # * {Types::GetRunTaskResponse#status_message #status_message} => String # * {Types::GetRunTaskResponse#log_stream #log_stream} => String # * {Types::GetRunTaskResponse#gpus #gpus} => Integer + # * {Types::GetRunTaskResponse#instance_type #instance_type} => String # # @example Request syntax with placeholder values # @@ -2056,6 +2057,7 @@ def get_run_group(params = {}, options = {}) # resp.status_message #=> String # resp.log_stream #=> String # resp.gpus #=> Integer + # resp.instance_type #=> String # # # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage): @@ -2314,7 +2316,7 @@ def get_workflow(params = {}, options = {}) # IDs of annotation import jobs to retrieve. # # @option params [String] :next_token - # Specify the pagination token from a previous request to retrieve the + # Specifies the pagination token from a previous request to retrieve the # next page of results. # # @option params [Types::ListAnnotationImportJobsFilter] :filter @@ -3037,6 +3039,7 @@ def list_run_groups(params = {}, options = {}) # resp.items[0].start_time #=> Time # resp.items[0].stop_time #=> Time # resp.items[0].gpus #=> Integer + # resp.items[0].instance_type #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/omics-2022-11-28/ListRunTasks AWS API Documentation @@ -4088,7 +4091,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-omics' - context[:gem_version] = '1.11.0' + context[:gem_version] = '1.12.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-omics/lib/aws-sdk-omics/client_api.rb b/gems/aws-sdk-omics/lib/aws-sdk-omics/client_api.rb index e8873194c7b..3131966c2d9 100644 --- a/gems/aws-sdk-omics/lib/aws-sdk-omics/client_api.rb +++ b/gems/aws-sdk-omics/lib/aws-sdk-omics/client_api.rb @@ -405,6 +405,7 @@ module ClientApi TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse') TagValue = Shapes::StringShape.new(name: 'TagValue') TaskId = Shapes::StringShape.new(name: 'TaskId') + TaskInstanceType = Shapes::StringShape.new(name: 'TaskInstanceType') TaskList = Shapes::ListShape.new(name: 'TaskList') TaskListItem = Shapes::StructureShape.new(name: 'TaskListItem') TaskListItemCpusInteger = Shapes::IntegerShape.new(name: 'TaskListItemCpusInteger') @@ -1007,6 +1008,7 @@ module ClientApi GetRunTaskResponse.add_member(:status_message, Shapes::ShapeRef.new(shape: TaskStatusMessage, location_name: "statusMessage")) GetRunTaskResponse.add_member(:log_stream, Shapes::ShapeRef.new(shape: TaskLogStream, location_name: "logStream")) GetRunTaskResponse.add_member(:gpus, Shapes::ShapeRef.new(shape: GetRunTaskResponseGpusInteger, location_name: "gpus")) + GetRunTaskResponse.add_member(:instance_type, Shapes::ShapeRef.new(shape: TaskInstanceType, location_name: "instanceType")) GetRunTaskResponse.struct_class = Types::GetRunTaskResponse GetSequenceStoreRequest.add_member(:id, Shapes::ShapeRef.new(shape: SequenceStoreId, required: true, location: "uri", location_name: "id")) @@ -1701,6 +1703,7 @@ module ClientApi TaskListItem.add_member(:start_time, Shapes::ShapeRef.new(shape: TaskTimestamp, location_name: "startTime")) TaskListItem.add_member(:stop_time, Shapes::ShapeRef.new(shape: TaskTimestamp, location_name: "stopTime")) TaskListItem.add_member(:gpus, Shapes::ShapeRef.new(shape: TaskListItemGpusInteger, location_name: "gpus")) + TaskListItem.add_member(:instance_type, Shapes::ShapeRef.new(shape: TaskInstanceType, location_name: "instanceType")) TaskListItem.struct_class = Types::TaskListItem ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message")) diff --git a/gems/aws-sdk-omics/lib/aws-sdk-omics/types.rb b/gems/aws-sdk-omics/lib/aws-sdk-omics/types.rb index c0108cce13d..dc8ff484099 100644 --- a/gems/aws-sdk-omics/lib/aws-sdk-omics/types.rb +++ b/gems/aws-sdk-omics/lib/aws-sdk-omics/types.rb @@ -2310,6 +2310,10 @@ class GetRunTaskRequest < Struct.new( # The number of Graphics Processing Units (GPU) specified in the task. # @return [Integer] # + # @!attribute [rw] instance_type + # The instance type for a task. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/omics-2022-11-28/GetRunTaskResponse AWS API Documentation # class GetRunTaskResponse < Struct.new( @@ -2323,7 +2327,8 @@ class GetRunTaskResponse < Struct.new( :stop_time, :status_message, :log_stream, - :gpus) + :gpus, + :instance_type) SENSITIVE = [] include Aws::Structure end @@ -2920,8 +2925,8 @@ class ListAnnotationImportJobsFilter < Struct.new( # @return [Array] # # @!attribute [rw] next_token - # Specify the pagination token from a previous request to retrieve the - # next page of results. + # Specifies the pagination token from a previous request to retrieve + # the next page of results. # @return [String] # # @!attribute [rw] filter @@ -2944,7 +2949,8 @@ class ListAnnotationImportJobsRequest < Struct.new( # @return [Array] # # @!attribute [rw] next_token - # A pagination token that's included if more results are available. + # Specifies the pagination token from a previous request to retrieve + # the next page of results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/omics-2022-11-28/ListAnnotationImportJobsResponse AWS API Documentation @@ -5266,6 +5272,10 @@ class TagResourceResponse < Aws::EmptyStructure; end # task. # @return [Integer] # + # @!attribute [rw] instance_type + # The instance type for a task. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/omics-2022-11-28/TaskListItem AWS API Documentation # class TaskListItem < Struct.new( @@ -5277,7 +5287,8 @@ class TaskListItem < Struct.new( :creation_time, :start_time, :stop_time, - :gpus) + :gpus, + :instance_type) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-secretsmanager/CHANGELOG.md b/gems/aws-sdk-secretsmanager/CHANGELOG.md index 0af0af07f40..a9e1cafc3da 100644 --- a/gems/aws-sdk-secretsmanager/CHANGELOG.md +++ b/gems/aws-sdk-secretsmanager/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.82.0 (2023-08-10) +------------------ + +* Feature - Add additional InvalidRequestException to list of possible exceptions for ListSecret. + 1.81.0 (2023-07-13) ------------------ diff --git a/gems/aws-sdk-secretsmanager/VERSION b/gems/aws-sdk-secretsmanager/VERSION index dbd41264aa9..71fae54fb27 100644 --- a/gems/aws-sdk-secretsmanager/VERSION +++ b/gems/aws-sdk-secretsmanager/VERSION @@ -1 +1 @@ -1.81.0 +1.82.0 diff --git a/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager.rb b/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager.rb index cfbb52f6e91..3e946fe05d8 100644 --- a/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager.rb +++ b/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager.rb @@ -52,6 +52,6 @@ # @!group service module Aws::SecretsManager - GEM_VERSION = '1.81.0' + GEM_VERSION = '1.82.0' end diff --git a/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb b/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb index 2deab231cd9..1e8d330552a 100644 --- a/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb +++ b/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client.rb @@ -3108,7 +3108,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-secretsmanager' - context[:gem_version] = '1.81.0' + context[:gem_version] = '1.82.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client_api.rb b/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client_api.rb index 5e2343b2ffc..3b29c01af14 100644 --- a/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client_api.rb +++ b/gems/aws-sdk-secretsmanager/lib/aws-sdk-secretsmanager/client_api.rb @@ -625,6 +625,7 @@ module ClientApi o.input = Shapes::ShapeRef.new(shape: ListSecretsRequest) o.output = Shapes::ShapeRef.new(shape: ListSecretsResponse) o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException) + o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException) o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException) o.errors << Shapes::ShapeRef.new(shape: InternalServiceError) o[:pager] = Aws::Pager.new( diff --git a/gems/aws-sdk-transfer/CHANGELOG.md b/gems/aws-sdk-transfer/CHANGELOG.md index d594cd90c7f..4767cfb8cf6 100644 --- a/gems/aws-sdk-transfer/CHANGELOG.md +++ b/gems/aws-sdk-transfer/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.77.0 (2023-08-10) +------------------ + +* Feature - Documentation updates for AW Transfer Family + 1.76.0 (2023-07-25) ------------------ diff --git a/gems/aws-sdk-transfer/VERSION b/gems/aws-sdk-transfer/VERSION index 32a6ce3c719..79e15fd4937 100644 --- a/gems/aws-sdk-transfer/VERSION +++ b/gems/aws-sdk-transfer/VERSION @@ -1 +1 @@ -1.76.0 +1.77.0 diff --git a/gems/aws-sdk-transfer/lib/aws-sdk-transfer.rb b/gems/aws-sdk-transfer/lib/aws-sdk-transfer.rb index 72f9bc5f244..a2900db6a81 100644 --- a/gems/aws-sdk-transfer/lib/aws-sdk-transfer.rb +++ b/gems/aws-sdk-transfer/lib/aws-sdk-transfer.rb @@ -53,6 +53,6 @@ # @!group service module Aws::Transfer - GEM_VERSION = '1.76.0' + GEM_VERSION = '1.77.0' end diff --git a/gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb b/gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb index ec37cf06bc1..3b0b806e442 100644 --- a/gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb +++ b/gems/aws-sdk-transfer/lib/aws-sdk-transfer/client.rb @@ -584,6 +584,12 @@ def create_access(params = {}, options = {}) # A `BaseDirectory` example is `/DOC-EXAMPLE-BUCKET/home/mydirectory`. # # @option params [required, String] :access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name (ARN) + # of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -603,6 +609,14 @@ def create_access(params = {}, options = {}) # key instead of the Amazon Web Services managed key in Secrets Manager, # then the role also needs the `kms:Decrypt` permission for that key. # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. + # # @option params [String] :status # The status of the agreement. The agreement can be either `ACTIVE` or # `INACTIVE`. @@ -645,10 +659,13 @@ def create_agreement(params = {}, options = {}) req.send_request(options) end - # Creates the connector, which captures the parameters for an outbound - # connection for the AS2 or SFTP protocol. The connector is required for - # sending files to an externally hosted AS2 or SFTP server. For more - # details about AS2 connectors, see [Create AS2 connectors][1]. + # Creates the connector, which captures the parameters for a connection + # for the AS2 or SFTP protocol. For AS2, the connector is required for + # sending files to an externally hosted AS2 server. For SFTP, the + # connector is required when sending files to an SFTP server or + # receiving files from an SFTP server. For more details about + # connectors, see [Create AS2 connectors][1] and [Create SFTP + # connectors][2]. # # You must specify exactly one configuration object: either for AS2 # (`As2Config`) or SFTP (`SftpConfig`). @@ -658,6 +675,7 @@ def create_agreement(params = {}, options = {}) # # # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/create-b2b-server.html#configure-as2-connector + # [2]: https://docs.aws.amazon.com/transfer/latest/userguide/configure-sftp-connector.html # # @option params [required, String] :url # The URL of the partner's AS2 or SFTP endpoint. @@ -666,6 +684,12 @@ def create_agreement(params = {}, options = {}) # A structure that contains the parameters for an AS2 connector object. # # @option params [required, String] :access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name (ARN) + # of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -685,6 +709,14 @@ def create_agreement(params = {}, options = {}) # key instead of the Amazon Web Services managed key in Secrets Manager, # then the role also needs the `kms:Decrypt` permission for that key. # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. + # # @option params [String] :logging_role # The Amazon Resource Name (ARN) of the Identity and Access Management # (IAM) role that allows a connector to turn on CloudWatch logging for @@ -3266,8 +3298,8 @@ def send_workflow_step_state(params = {}, options = {}) # inbound. In both cases, you specify the `ConnectorId`. Depending on # the direction of the transfer, you also specify the following items: # - # * If you are transferring file from a partner's SFTP server to a - # Transfer Family server, you specify one or more + # * If you are transferring file from a partner's SFTP server to + # Amazon Web Services storage, you specify one or more # `RetreiveFilePaths` to identify the files you want to transfer, # and a `LocalDirectoryPath` to specify the destination folder. # @@ -3284,6 +3316,10 @@ def send_workflow_step_state(params = {}, options = {}) # represents a source file path for one outbound file transfer. For # example, ` DOC-EXAMPLE-BUCKET/myfile.txt `. # + # Replace ` DOC-EXAMPLE-BUCKET `with one of your actual buckets. + # + # + # # @option params [Array] :retrieve_file_paths # One or more source paths for the partner's SFTP server. Each string # represents a source file path for one inbound file transfer. @@ -3790,6 +3826,12 @@ def update_access(params = {}, options = {}) # example, `/DOC-EXAMPLE-BUCKET/home/mydirectory `. # # @option params [String] :access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name (ARN) + # of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -3809,6 +3851,14 @@ def update_access(params = {}, options = {}) # key instead of the Amazon Web Services managed key in Secrets Manager, # then the role also needs the `kms:Decrypt` permission for that key. # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. + # # @return [Types::UpdateAgreementResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateAgreementResponse#agreement_id #agreement_id} => String @@ -3893,6 +3943,12 @@ def update_certificate(params = {}, options = {}) # A structure that contains the parameters for an AS2 connector object. # # @option params [String] :access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name (ARN) + # of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -3912,6 +3968,14 @@ def update_certificate(params = {}, options = {}) # key instead of the Amazon Web Services managed key in Secrets Manager, # then the role also needs the `kms:Decrypt` permission for that key. # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. + # # @option params [String] :logging_role # The Amazon Resource Name (ARN) of the Identity and Access Management # (IAM) role that allows a connector to turn on CloudWatch logging for @@ -4514,7 +4578,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-transfer' - context[:gem_version] = '1.76.0' + context[:gem_version] = '1.77.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb b/gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb index 6e676b0d34a..736696bdcb9 100644 --- a/gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb +++ b/gems/aws-sdk-transfer/lib/aws-sdk-transfer/types.rb @@ -385,6 +385,12 @@ class CreateAccessResponse < Struct.new( # @return [String] # # @!attribute [rw] access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name + # (ARN) of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -404,6 +410,14 @@ class CreateAccessResponse < Struct.new( # key instead of the Amazon Web Services managed key in Secrets # Manager, then the role also needs the `kms:Decrypt` permission for # that key. + # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. # @return [String] # # @!attribute [rw] status @@ -454,6 +468,12 @@ class CreateAgreementResponse < Struct.new( # @return [Types::As2ConnectorConfig] # # @!attribute [rw] access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name + # (ARN) of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -473,6 +493,14 @@ class CreateAgreementResponse < Struct.new( # key instead of the Amazon Web Services managed key in Secrets # Manager, then the role also needs the `kms:Decrypt` permission for # that key. + # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. # @return [String] # # @!attribute [rw] logging_role @@ -1917,6 +1945,12 @@ class DescribedAccess < Struct.new( # @return [String] # # @!attribute [rw] access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name + # (ARN) of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -1936,6 +1970,14 @@ class DescribedAccess < Struct.new( # key instead of the Amazon Web Services managed key in Secrets # Manager, then the role also needs the `kms:Decrypt` permission for # that key. + # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. # @return [String] # # @!attribute [rw] tags @@ -2067,6 +2109,12 @@ class DescribedCertificate < Struct.new( # @return [Types::As2ConnectorConfig] # # @!attribute [rw] access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name + # (ARN) of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -2086,6 +2134,14 @@ class DescribedCertificate < Struct.new( # key instead of the Amazon Web Services managed key in Secrets # Manager, then the role also needs the `kms:Decrypt` permission for # that key. + # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. # @return [String] # # @!attribute [rw] logging_role @@ -4797,6 +4853,10 @@ class SshPublicKey < Struct.new( # One or more source paths for the Transfer Family server. Each string # represents a source file path for one outbound file transfer. For # example, ` DOC-EXAMPLE-BUCKET/myfile.txt `. + # + # Replace ` DOC-EXAMPLE-BUCKET `with one of your actual buckets. + # + # # @return [Array] # # @!attribute [rw] retrieve_file_paths @@ -5296,6 +5356,12 @@ class UpdateAccessResponse < Struct.new( # @return [String] # # @!attribute [rw] access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name + # (ARN) of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -5315,6 +5381,14 @@ class UpdateAccessResponse < Struct.new( # key instead of the Amazon Web Services managed key in Secrets # Manager, then the role also needs the `kms:Decrypt` permission for # that key. + # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAgreementRequest AWS API Documentation @@ -5400,6 +5474,12 @@ class UpdateCertificateResponse < Struct.new( # @return [Types::As2ConnectorConfig] # # @!attribute [rw] access_role + # Connectors are used to send files using either the AS2 or SFTP + # protocol. For the access role, provide the Amazon Resource Name + # (ARN) of the Identity and Access Management role to use. + # + # **For AS2 connectors** + # # With AS2, you can send files by calling `StartFileTransfer` and # specifying the file paths in the request parameter, `SendFilePaths`. # We use the file’s parent directory (for example, for @@ -5419,6 +5499,14 @@ class UpdateCertificateResponse < Struct.new( # key instead of the Amazon Web Services managed key in Secrets # Manager, then the role also needs the `kms:Decrypt` permission for # that key. + # + # **For SFTP connectors** + # + # Make sure that the access role provides read and write access to the + # parent directory of the file location that's used in the + # `StartFileTransfer` request. Additionally, make sure that the role + # provides `secretsmanager:GetSecretValue` permission to Secrets + # Manager. # @return [String] # # @!attribute [rw] logging_role