diff --git a/.changes/2.1149.0.json b/.changes/2.1149.0.json new file mode 100644 index 0000000000..b026274e1e --- /dev/null +++ b/.changes/2.1149.0.json @@ -0,0 +1,12 @@ +[ + { + "type": "feature", + "category": "ChimeSDKMessaging", + "description": "This release adds support for searching channels by members via the SearchChannels API, removes required restrictions for Name and Mode in UpdateChannel API and enhances CreateChannel API by exposing member and moderator list as well as channel id as optional parameters." + }, + { + "type": "feature", + "category": "Connect", + "description": "This release adds a new API, GetCurrentUserData, which returns real-time details about users' current activity." + } +] \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index e0b91ae0d9..061f83f3ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,11 @@ # Changelog for AWS SDK for JavaScript - + +## 2.1149.0 +* feature: ChimeSDKMessaging: This release adds support for searching channels by members via the SearchChannels API, removes required restrictions for Name and Mode in UpdateChannel API and enhances CreateChannel API by exposing member and moderator list as well as channel id as optional parameters. +* feature: Connect: This release adds a new API, GetCurrentUserData, which returns real-time details about users' current activity. + ## 2.1148.0 * feature: ApplicationInsights: Provide Account Level onboarding support through CFN/CLI * feature: Connect: This release adds the following features: 1) New APIs to manage (create, list, update) task template resources, 2) Updates to startTaskContact API to support task templates, and 3) new TransferContact API to programmatically transfer in-progress tasks via a contact flow. diff --git a/README.md b/README.md index faf012fe0b..2fefe9cade 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ For release notes, see the [CHANGELOG](https://github.com/aws/aws-sdk-js/blob/ma To use the SDK in the browser, simply add the following script tag to your HTML pages: - + You can also build a custom browser SDK with your specified set of AWS services. This can allow you to reduce the SDK's size, specify different API versions of diff --git a/apis/chime-sdk-messaging-2021-05-15.min.json b/apis/chime-sdk-messaging-2021-05-15.min.json index 79266411d8..eccecb458c 100644 --- a/apis/chime-sdk-messaging-2021-05-15.min.json +++ b/apis/chime-sdk-messaging-2021-05-15.min.json @@ -185,6 +185,18 @@ "ChimeBearer": { "location": "header", "locationName": "x-amz-chime-bearer" + }, + "ChannelId": { + "type": "string", + "sensitive": true + }, + "MemberArns": { + "type": "list", + "member": {} + }, + "ModeratorArns": { + "type": "list", + "member": {} } } }, @@ -245,7 +257,7 @@ "members": { "AppInstanceArn": {}, "Processors": { - "shape": "S19" + "shape": "S1c" }, "Name": { "shape": "Sx" @@ -625,7 +637,7 @@ "members": { "ChannelFlowArn": {}, "Processors": { - "shape": "S19" + "shape": "S1c" }, "Name": { "shape": "Sx" @@ -726,7 +738,7 @@ "type": "structure", "members": { "ChannelMembership": { - "shape": "S27" + "shape": "S2a" } } } @@ -763,7 +775,7 @@ "type": "structure", "members": { "Channel": { - "shape": "S2c" + "shape": "S2f" } } } @@ -882,7 +894,7 @@ "shape": "S8" }, "Preferences": { - "shape": "S2j" + "shape": "S2m" } } } @@ -924,7 +936,7 @@ "ChannelArn": {}, "MessageId": {}, "Content": { - "shape": "S2q" + "shape": "S2t" }, "Metadata": { "shape": "Sl" @@ -947,7 +959,7 @@ }, "Persistence": {}, "Status": { - "shape": "S2t" + "shape": "S2w" }, "MessageAttributes": { "shape": "Sq" @@ -989,7 +1001,7 @@ "type": "structure", "members": { "Status": { - "shape": "S2t" + "shape": "S2w" } } } @@ -1039,7 +1051,7 @@ "type": "integer" }, "NextToken": { - "shape": "S34", + "shape": "S37", "location": "querystring", "locationName": "next-token" }, @@ -1054,7 +1066,7 @@ "members": { "ChannelArn": {}, "NextToken": { - "shape": "S34" + "shape": "S37" }, "ChannelBans": { "type": "list", @@ -1092,7 +1104,7 @@ "type": "integer" }, "NextToken": { - "shape": "S34", + "shape": "S37", "location": "querystring", "locationName": "next-token" } @@ -1111,13 +1123,13 @@ "shape": "Sx" }, "Processors": { - "shape": "S19" + "shape": "S1c" } } } }, "NextToken": { - "shape": "S34" + "shape": "S37" } } } @@ -1149,7 +1161,7 @@ "type": "integer" }, "NextToken": { - "shape": "S34", + "shape": "S37", "location": "querystring", "locationName": "next-token" }, @@ -1175,7 +1187,7 @@ } }, "NextToken": { - "shape": "S34" + "shape": "S37" } } } @@ -1202,7 +1214,7 @@ "type": "integer" }, "NextToken": { - "shape": "S34", + "shape": "S37", "location": "querystring", "locationName": "next-token" }, @@ -1218,11 +1230,11 @@ "ChannelMemberships": { "type": "list", "member": { - "shape": "S27" + "shape": "S2a" } }, "NextToken": { - "shape": "S34" + "shape": "S37" } } } @@ -1264,7 +1276,7 @@ "type": "integer" }, "NextToken": { - "shape": "S34", + "shape": "S37", "location": "querystring", "locationName": "next-token" }, @@ -1279,7 +1291,7 @@ "members": { "ChannelArn": {}, "NextToken": { - "shape": "S34" + "shape": "S37" }, "ChannelMessages": { "type": "list", @@ -1288,7 +1300,7 @@ "members": { "MessageId": {}, "Content": { - "shape": "S2q" + "shape": "S2t" }, "Metadata": { "shape": "Sl" @@ -1310,7 +1322,7 @@ "type": "boolean" }, "Status": { - "shape": "S2t" + "shape": "S2w" }, "MessageAttributes": { "shape": "Sq" @@ -1344,7 +1356,7 @@ "type": "integer" }, "NextToken": { - "shape": "S34", + "shape": "S37", "location": "querystring", "locationName": "next-token" }, @@ -1359,7 +1371,7 @@ "members": { "ChannelArn": {}, "NextToken": { - "shape": "S34" + "shape": "S37" }, "ChannelModerators": { "type": "list", @@ -1402,7 +1414,7 @@ "type": "integer" }, "NextToken": { - "shape": "S34", + "shape": "S37", "location": "querystring", "locationName": "next-token" }, @@ -1416,13 +1428,10 @@ "type": "structure", "members": { "Channels": { - "type": "list", - "member": { - "shape": "S28" - } + "shape": "S3x" }, "NextToken": { - "shape": "S34" + "shape": "S37" } } } @@ -1449,7 +1458,7 @@ "type": "integer" }, "NextToken": { - "shape": "S34", + "shape": "S37", "location": "querystring", "locationName": "next-token" } @@ -1476,7 +1485,7 @@ } }, "NextToken": { - "shape": "S34" + "shape": "S37" } } } @@ -1503,7 +1512,7 @@ "type": "integer" }, "NextToken": { - "shape": "S34", + "shape": "S37", "location": "querystring", "locationName": "next-token" }, @@ -1519,11 +1528,11 @@ "Channels": { "type": "list", "member": { - "shape": "S2c" + "shape": "S2f" } }, "NextToken": { - "shape": "S34" + "shape": "S37" } } } @@ -1583,7 +1592,7 @@ "locationName": "x-amz-chime-bearer" }, "Preferences": { - "shape": "S2j" + "shape": "S2m" } } }, @@ -1595,7 +1604,7 @@ "shape": "S8" }, "Preferences": { - "shape": "S2j" + "shape": "S2m" } } } @@ -1635,6 +1644,64 @@ } } }, + "SearchChannels": { + "http": { + "requestUri": "/channels?operation=search", + "responseCode": 200 + }, + "input": { + "type": "structure", + "required": [ + "Fields" + ], + "members": { + "ChimeBearer": { + "location": "header", + "locationName": "x-amz-chime-bearer" + }, + "Fields": { + "type": "list", + "member": { + "type": "structure", + "required": [ + "Key", + "Values", + "Operator" + ], + "members": { + "Key": {}, + "Values": { + "type": "list", + "member": {} + }, + "Operator": {} + } + } + }, + "MaxResults": { + "location": "querystring", + "locationName": "max-results", + "type": "integer" + }, + "NextToken": { + "shape": "S37", + "location": "querystring", + "locationName": "next-token" + } + } + }, + "output": { + "type": "structure", + "members": { + "Channels": { + "shape": "S3x" + }, + "NextToken": { + "shape": "S37" + } + } + } + }, "SendChannelMessage": { "http": { "requestUri": "/channels/{channelArn}/messages", @@ -1685,7 +1752,7 @@ "ChannelArn": {}, "MessageId": {}, "Status": { - "shape": "S2t" + "shape": "S2w" } } } @@ -1741,8 +1808,6 @@ "type": "structure", "required": [ "ChannelArn", - "Name", - "Mode", "ChimeBearer" ], "members": { @@ -1789,7 +1854,7 @@ "locationName": "channelFlowArn" }, "Processors": { - "shape": "S19" + "shape": "S1c" }, "Name": { "shape": "Sx" @@ -1826,7 +1891,7 @@ "locationName": "messageId" }, "Content": { - "shape": "S2q" + "shape": "S2t" }, "Metadata": { "shape": "Sl" @@ -1843,7 +1908,7 @@ "ChannelArn": {}, "MessageId": {}, "Status": { - "shape": "S2t" + "shape": "S2w" } } } @@ -1962,7 +2027,7 @@ "type": "string", "sensitive": true }, - "S19": { + "S1c": { "type": "list", "member": { "type": "structure", @@ -2002,11 +2067,11 @@ } } }, - "S27": { + "S2a": { "type": "structure", "members": { "ChannelSummary": { - "shape": "S28" + "shape": "S2b" }, "AppInstanceUserMembershipSummary": { "type": "structure", @@ -2019,7 +2084,7 @@ } } }, - "S28": { + "S2b": { "type": "structure", "members": { "Name": { @@ -2036,15 +2101,15 @@ } } }, - "S2c": { + "S2f": { "type": "structure", "members": { "ChannelSummary": { - "shape": "S28" + "shape": "S2b" } } }, - "S2j": { + "S2m": { "type": "structure", "members": { "PushNotifications": { @@ -2062,20 +2127,26 @@ } } }, - "S2q": { + "S2t": { "type": "string", "sensitive": true }, - "S2t": { + "S2w": { "type": "structure", "members": { "Value": {}, "Detail": {} } }, - "S34": { + "S37": { "type": "string", "sensitive": true + }, + "S3x": { + "type": "list", + "member": { + "shape": "S2b" + } } } } \ No newline at end of file diff --git a/apis/chime-sdk-messaging-2021-05-15.normal.json b/apis/chime-sdk-messaging-2021-05-15.normal.json index aaaa43c3b2..deae61454e 100644 --- a/apis/chime-sdk-messaging-2021-05-15.normal.json +++ b/apis/chime-sdk-messaging-2021-05-15.normal.json @@ -1365,6 +1365,9 @@ { "shape": "ForbiddenException" }, + { + "shape": "ConflictException" + }, { "shape": "UnauthorizedClientException" }, @@ -1380,6 +1383,41 @@ ], "documentation": "
Redacts message content, but not metadata. The message exists in the back end, but the action returns null content, and the state shows as redacted.
The x-amz-chime-bearer
request header is mandatory. Use the AppInstanceUserArn
of the user that makes the API call as the value in the header.
Allows an AppInstanceUser
to search the channels that they belong to. The AppInstanceUser
can search by membership or external ID. An AppInstanceAdmin
can search across all channels within the AppInstance
.
The time at which a message was last read.
" + "documentation": "The time at which an AppInstanceUser
last marked a channel as read.
Summary of the membership details of an AppInstanceUser
.
The details of a channel moderator.
" }, + "ChannelModeratorArns": { + "type": "list", + "member": { + "shape": "ChimeArn" + }, + "max": 10, + "min": 1 + }, "ChannelModeratorSummary": { "type": "structure", "members": { @@ -2586,6 +2647,18 @@ "documentation": "The AppInstanceUserArn
of the user that makes the API call.
The ID of the channel in the request.
" + }, + "MemberArns": { + "shape": "ChannelMemberArns", + "documentation": "The ARNs of the channel members in the request.
" + }, + "ModeratorArns": { + "shape": "ChannelModeratorArns", + "documentation": "The ARNs of the channel moderators in the request.
" } } }, @@ -3080,7 +3153,8 @@ "documentation": "The ARN of the channel.
" }, "Member": { - "shape": "Identity" + "shape": "Identity", + "documentation": "The details of a user.
" }, "Preferences": { "shape": "ChannelMembershipPreferences", @@ -3345,7 +3419,7 @@ "members": { "ChannelMemberships": { "shape": "ChannelMembershipForAppInstanceUserSummaryList", - "documentation": "The token passed by previous API calls until all requested users are returned.
" + "documentation": "The information for the requested channel memberships.
" }, "NextToken": { "shape": "NextToken", @@ -3876,7 +3950,7 @@ }, "FilterRule": { "shape": "FilterRule", - "documentation": "The simple JSON object used to send a subset of a push notification to the requsted member.
" + "documentation": "The simple JSON object used to send a subset of a push notification to the requested member.
" } }, "documentation": "The channel membership preferences for push notification.
" @@ -3936,7 +4010,8 @@ "documentation": "The ARN of the channel.
" }, "Member": { - "shape": "Identity" + "shape": "Identity", + "documentation": "The details of a user.
" }, "Preferences": { "shape": "ChannelMembershipPreferences", @@ -3992,6 +4067,107 @@ "pattern": "[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*", "sensitive": true }, + "SearchChannelsRequest": { + "type": "structure", + "required": [ + "Fields" + ], + "members": { + "ChimeBearer": { + "shape": "ChimeArn", + "documentation": "The AppInstanceUserArn
of the user making the API call.
A list of the Field
objects in the channel being searched.
The maximum number of channels that you want returned.
", + "location": "querystring", + "locationName": "max-results" + }, + "NextToken": { + "shape": "NextToken", + "documentation": "The token returned from previous API requests until the number of channels is reached.
", + "location": "querystring", + "locationName": "next-token" + } + } + }, + "SearchChannelsResponse": { + "type": "structure", + "members": { + "Channels": { + "shape": "ChannelSummaryList", + "documentation": "A list of the channels in the request.
" + }, + "NextToken": { + "shape": "NextToken", + "documentation": "The token returned from previous API responses until the number of channels is reached.
" + } + } + }, + "SearchField": { + "type": "structure", + "required": [ + "Key", + "Values", + "Operator" + ], + "members": { + "Key": { + "shape": "SearchFieldKey", + "documentation": "An enum
value that indicates the key to search the channel on. MEMBERS
allows you to search channels based on memberships. You can use it with the EQUALS
operator to get channels whose memberships are equal to the specified values, and with the INCLUDES
operator to get channels whose memberships include the specified values.
The values that you want to search for, a list of strings. The values must be AppInstanceUserArns
specified as a list of strings.
This operation isn't supported for AppInstanceUsers
with large number of memberships.
The operator used to compare field values, currently EQUALS
or INCLUDES
. Use the EQUALS
operator to find channels whose memberships equal the specified values. Use the INCLUDES
operator to find channels whose memberships include the specified values.
A Field
of the channel that you want to search.
The Amazon Chime SDK Messaging APIs in this section allow software developers to send and receive messages in custom messaging applications. These APIs depend on the frameworks provided by the Amazon Chime SDK Identity APIs. For more information about the messaging APIs, see Amazon Chime SDK messaging
" + "documentation": "The Amazon Chime SDK Messaging APIs in this section allow software developers to send and receive messages in custom messaging applications. These APIs depend on the frameworks provided by the Amazon Chime SDK Identity APIs. For more information about the messaging APIs, see Amazon Chime SDK messaging.
" } \ No newline at end of file diff --git a/apis/chime-sdk-messaging-2021-05-15.paginators.json b/apis/chime-sdk-messaging-2021-05-15.paginators.json index 7e174fa9bf..f134062b1c 100644 --- a/apis/chime-sdk-messaging-2021-05-15.paginators.json +++ b/apis/chime-sdk-messaging-2021-05-15.paginators.json @@ -44,6 +44,11 @@ "input_token": "NextToken", "output_token": "NextToken", "limit_key": "MaxResults" + }, + "SearchChannels": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" } } } diff --git a/apis/connect-2017-08-08.min.json b/apis/connect-2017-08-08.min.json index 1227052b5e..193f042884 100644 --- a/apis/connect-2017-08-08.min.json +++ b/apis/connect-2017-08-08.min.json @@ -2273,6 +2273,132 @@ } } }, + "GetCurrentUserData": { + "http": { + "requestUri": "/metrics/userdata/{InstanceId}" + }, + "input": { + "type": "structure", + "required": [ + "InstanceId", + "Filters" + ], + "members": { + "InstanceId": { + "location": "uri", + "locationName": "InstanceId" + }, + "Filters": { + "type": "structure", + "members": { + "Queues": { + "shape": "S8d" + }, + "ContactFilter": { + "type": "structure", + "members": { + "ContactStates": { + "type": "list", + "member": {} + } + } + } + } + }, + "NextToken": {}, + "MaxResults": { + "type": "integer" + } + } + }, + "output": { + "type": "structure", + "members": { + "NextToken": {}, + "UserDataList": { + "type": "list", + "member": { + "type": "structure", + "members": { + "User": { + "type": "structure", + "members": { + "Id": {}, + "Arn": {} + } + }, + "RoutingProfile": { + "type": "structure", + "members": { + "Id": {}, + "Arn": {} + } + }, + "HierarchyPath": { + "type": "structure", + "members": { + "LevelOne": { + "shape": "S96" + }, + "LevelTwo": { + "shape": "S96" + }, + "LevelThree": { + "shape": "S96" + }, + "LevelFour": { + "shape": "S96" + }, + "LevelFive": { + "shape": "S96" + } + } + }, + "Status": { + "type": "structure", + "members": { + "StatusStartTimestamp": { + "type": "timestamp" + }, + "StatusArn": {} + } + }, + "AvailableSlotsByChannel": { + "shape": "S98" + }, + "MaxSlotsByChannel": { + "shape": "S98" + }, + "ActiveSlotsByChannel": { + "shape": "S98" + }, + "Contacts": { + "type": "list", + "member": { + "type": "structure", + "members": { + "ContactId": {}, + "Channel": {}, + "InitiationMethod": {}, + "AgentContactState": {}, + "StateStartTimestamp": { + "type": "timestamp" + }, + "ConnectedToAgentTimestamp": { + "type": "timestamp" + }, + "Queue": { + "shape": "S8r" + } + } + } + } + } + } + } + } + } + }, "GetFederationToken": { "http": { "method": "GET", @@ -2297,13 +2423,13 @@ "type": "structure", "members": { "AccessToken": { - "shape": "S8y" + "shape": "S9f" }, "AccessTokenExpiration": { "type": "timestamp" }, "RefreshToken": { - "shape": "S8y" + "shape": "S9f" }, "RefreshTokenExpiration": { "type": "timestamp" @@ -2346,7 +2472,7 @@ "HistoricalMetrics": { "type": "list", "member": { - "shape": "S91" + "shape": "S9i" } }, "NextToken": {}, @@ -2373,7 +2499,7 @@ "type": "structure", "members": { "Metric": { - "shape": "S91" + "shape": "S9i" }, "Value": { "type": "double" @@ -3154,12 +3280,12 @@ "locationName": "InstanceId" }, "PhoneNumberTypes": { - "shape": "Sbf", + "shape": "Sbw", "location": "querystring", "locationName": "phoneNumberTypes" }, "PhoneNumberCountryCodes": { - "shape": "Sbg", + "shape": "Sbx", "location": "querystring", "locationName": "phoneNumberCountryCodes" }, @@ -3207,10 +3333,10 @@ }, "NextToken": {}, "PhoneNumberCountryCodes": { - "shape": "Sbg" + "shape": "Sbx" }, "PhoneNumberTypes": { - "shape": "Sbf" + "shape": "Sbw" }, "PhoneNumberPrefix": {} } @@ -3316,7 +3442,7 @@ "members": { "NextToken": {}, "QuickConnectSummaryList": { - "shape": "Sby" + "shape": "Scf" } } } @@ -3408,7 +3534,7 @@ "type": "structure", "members": { "QuickConnectSummaryList": { - "shape": "Sby" + "shape": "Scf" }, "NextToken": {} } @@ -4006,21 +4132,21 @@ "OrConditions": { "type": "list", "member": { - "shape": "Sdo" + "shape": "Se5" } }, "AndConditions": { - "shape": "Sdo" + "shape": "Se5" }, "TagCondition": { - "shape": "Sdp" + "shape": "Se6" } } } } }, "SearchCriteria": { - "shape": "Sdq" + "shape": "Se7" } } }, @@ -4312,7 +4438,7 @@ }, "Name": {}, "References": { - "shape": "Sex" + "shape": "Sfe" }, "Description": {}, "ClientToken": { @@ -4547,7 +4673,7 @@ "Name": {}, "Description": {}, "References": { - "shape": "Sex" + "shape": "Sfe" } } }, @@ -5270,19 +5396,19 @@ "type": "structure", "members": { "LevelOne": { - "shape": "Sgh" + "shape": "Sgy" }, "LevelTwo": { - "shape": "Sgh" + "shape": "Sgy" }, "LevelThree": { - "shape": "Sgh" + "shape": "Sgy" }, "LevelFour": { - "shape": "Sgh" + "shape": "Sgy" }, "LevelFive": { - "shape": "Sgh" + "shape": "Sgy" } } }, @@ -5770,8 +5896,7 @@ "type": "structure", "members": { "Queues": { - "type": "list", - "member": {} + "shape": "S8d" }, "Channels": { "type": "list", @@ -5779,6 +5904,10 @@ } } }, + "S8d": { + "type": "list", + "member": {} + }, "S8f": { "type": "list", "member": {} @@ -5794,20 +5923,37 @@ "type": "structure", "members": { "Queue": { - "type": "structure", - "members": { - "Id": {}, - "Arn": {} - } + "shape": "S8r" }, "Channel": {} } }, - "S8y": { + "S8r": { + "type": "structure", + "members": { + "Id": {}, + "Arn": {} + } + }, + "S96": { + "type": "structure", + "members": { + "Id": {}, + "Arn": {} + } + }, + "S98": { + "type": "map", + "key": {}, + "value": { + "type": "integer" + } + }, + "S9f": { "type": "string", "sensitive": true }, - "S91": { + "S9i": { "type": "structure", "members": { "Name": {}, @@ -5824,15 +5970,15 @@ "Unit": {} } }, - "Sbf": { + "Sbw": { "type": "list", "member": {} }, - "Sbg": { + "Sbx": { "type": "list", "member": {} }, - "Sby": { + "Scf": { "type": "list", "member": { "type": "structure", @@ -5844,27 +5990,27 @@ } } }, - "Sdo": { + "Se5": { "type": "list", "member": { - "shape": "Sdp" + "shape": "Se6" } }, - "Sdp": { + "Se6": { "type": "structure", "members": { "TagKey": {}, "TagValue": {} } }, - "Sdq": { + "Se7": { "type": "structure", "members": { "OrConditions": { - "shape": "Sdr" + "shape": "Se8" }, "AndConditions": { - "shape": "Sdr" + "shape": "Se8" }, "StringCondition": { "type": "structure", @@ -5883,13 +6029,13 @@ } } }, - "Sdr": { + "Se8": { "type": "list", "member": { - "shape": "Sdq" + "shape": "Se7" } }, - "Sex": { + "Sfe": { "type": "map", "key": {}, "value": { @@ -5904,7 +6050,7 @@ } } }, - "Sgh": { + "Sgy": { "type": "structure", "required": [ "Name" diff --git a/apis/connect-2017-08-08.normal.json b/apis/connect-2017-08-08.normal.json index 3e998e3885..5719bf9e3c 100644 --- a/apis/connect-2017-08-08.normal.json +++ b/apis/connect-2017-08-08.normal.json @@ -2101,6 +2101,37 @@ ], "documentation": "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.
" }, + "GetCurrentUserData": { + "name": "GetCurrentUserData", + "http": { + "method": "POST", + "requestUri": "/metrics/userdata/{InstanceId}" + }, + "input": { + "shape": "GetCurrentUserDataRequest" + }, + "output": { + "shape": "GetCurrentUserDataResponse" + }, + "errors": [ + { + "shape": "InvalidRequestException" + }, + { + "shape": "InvalidParameterException" + }, + { + "shape": "InternalServiceException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ResourceNotFoundException" + } + ], + "documentation": "Gets the real-time active user data from the specified Amazon Connect instance.
" + }, "GetFederationToken": { "name": "GetFederationToken", "http": { @@ -4654,6 +4685,45 @@ "type": "integer", "min": 0 }, + "AgentContactReference": { + "type": "structure", + "members": { + "ContactId": { + "shape": "ContactId", + "documentation": "The identifier of the contact in this instance of Amazon Connect.
" + }, + "Channel": { + "shape": "Channel", + "documentation": "The channel of the contact.
" + }, + "InitiationMethod": { + "shape": "ContactInitiationMethod", + "documentation": "How the contact was initiated.
" + }, + "AgentContactState": { + "shape": "ContactState", + "documentation": "The state of the contact.
" + }, + "StateStartTimestamp": { + "shape": "Timestamp", + "documentation": "The epoch timestamp when the contact state started.
" + }, + "ConnectedToAgentTimestamp": { + "shape": "Timestamp", + "documentation": "The time at which the contact was connected to an agent.
" + }, + "Queue": { + "shape": "QueueReference" + } + }, + "documentation": "Information about the contact associated to the user.
" + }, + "AgentContactReferenceList": { + "type": "list", + "member": { + "shape": "AgentContactReference" + } + }, "AgentFirstName": { "type": "string", "max": 100, @@ -4739,6 +4809,20 @@ "max": 50, "min": 1 }, + "AgentStatusReference": { + "type": "structure", + "members": { + "StatusStartTimestamp": { + "shape": "Timestamp", + "documentation": "The start timestamp of the agent's status.
" + }, + "StatusArn": { + "shape": "ARN", + "documentation": "The Amazon Resource Name (ARN) of the agent's status.
" + } + }, + "documentation": "Information about the agent's status.
" + }, "AgentStatusState": { "type": "string", "enum": [ @@ -5174,6 +5258,15 @@ "TASK" ] }, + "ChannelToCountMap": { + "type": "map", + "key": { + "shape": "Channel" + }, + "value": { + "shape": "IntegerCount" + } + }, "Channels": { "type": "list", "member": { @@ -5399,6 +5492,16 @@ }, "documentation": "Contains information about a contact.
" }, + "ContactFilter": { + "type": "structure", + "members": { + "ContactStates": { + "shape": "ContactStates", + "documentation": "A list of up to 9 contact states.
" + } + }, + "documentation": "Filters user data based on the contact information that is associated to the users. It contains a list of contact states.
" + }, "ContactFlow": { "type": "structure", "members": { @@ -5638,6 +5741,27 @@ "shape": "Reference" } }, + "ContactState": { + "type": "string", + "enum": [ + "INCOMING", + "PENDING", + "CONNECTING", + "CONNECTED", + "CONNECTED_ONHOLD", + "MISSED", + "ERROR", + "ENDED", + "REJECTED" + ] + }, + "ContactStates": { + "type": "list", + "member": { + "shape": "ContactState" + }, + "max": 9 + }, "ControlPlaneTagFilter": { "type": "structure", "members": { @@ -7781,6 +7905,47 @@ } } }, + "GetCurrentUserDataRequest": { + "type": "structure", + "required": [ + "InstanceId", + "Filters" + ], + "members": { + "InstanceId": { + "shape": "InstanceId", + "documentation": "The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
", + "location": "uri", + "locationName": "InstanceId" + }, + "Filters": { + "shape": "UserDataFilters", + "documentation": "Filters up to 100 Queues
, or up to 9 ContactStates
. The user data is retrieved only for those users who are associated with the queues and have contacts that are in the specified ContactState
.
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.
" + }, + "MaxResults": { + "shape": "MaxResult100", + "documentation": "The maximum number of results to return per page.
", + "box": true + } + } + }, + "GetCurrentUserDataResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "NextToken", + "documentation": "If there are additional results, this is the token for the next set of results.
" + }, + "UserDataList": { + "shape": "UserDataList", + "documentation": "A list of the user data that is returned.
" + } + } + }, "GetFederationTokenRequest": { "type": "structure", "required": [ @@ -8048,6 +8213,20 @@ "shape": "HierarchyGroupSummary" } }, + "HierarchyGroupSummaryReference": { + "type": "structure", + "members": { + "Id": { + "shape": "HierarchyGroupId", + "documentation": "The unique identifier for the hierarchy group.
" + }, + "Arn": { + "shape": "ARN", + "documentation": "The Amazon Resource Name (ARN) for the hierarchy group.
" + } + }, + "documentation": "Information about the hierarchy group.
" + }, "HierarchyLevel": { "type": "structure", "members": { @@ -8111,6 +8290,32 @@ }, "documentation": "Contains information about the levels of a hierarchy group.
" }, + "HierarchyPathReference": { + "type": "structure", + "members": { + "LevelOne": { + "shape": "HierarchyGroupSummaryReference", + "documentation": "Information about level one.
" + }, + "LevelTwo": { + "shape": "HierarchyGroupSummaryReference", + "documentation": "Information about level two.
" + }, + "LevelThree": { + "shape": "HierarchyGroupSummaryReference", + "documentation": "Information about level three.
" + }, + "LevelFour": { + "shape": "HierarchyGroupSummaryReference", + "documentation": "Information about level four.
" + }, + "LevelFive": { + "shape": "HierarchyGroupSummaryReference", + "documentation": "Information about level five.
" + } + }, + "documentation": "Information about the levels in the hierarchy group.
" + }, "HierarchyStructure": { "type": "structure", "members": { @@ -8595,6 +8800,10 @@ "shape": "InstanceSummary" } }, + "IntegerCount": { + "type": "integer", + "min": 0 + }, "IntegrationAssociationId": { "type": "string", "max": 200, @@ -11308,6 +11517,20 @@ "shape": "RoutingProfileQueueReference" } }, + "RoutingProfileReference": { + "type": "structure", + "members": { + "Id": { + "shape": "RoutingProfileId", + "documentation": "The identifier of the routing profile.
" + }, + "Arn": { + "shape": "ARN", + "documentation": "The Amazon Resource Name (ARN) of the routing profile.
" + } + }, + "documentation": "Information about the routing profile assigned to the user.
" + }, "RoutingProfileSummary": { "type": "structure", "members": { @@ -12359,7 +12582,7 @@ }, "ContactId": { "shape": "ContactId", - "documentation": "The identifier of the contact in this instance of Amazon Connect
" + "documentation": "The identifier of the contact in this instance of Amazon Connect.
" }, "QueueId": { "shape": "QueueId", @@ -12385,7 +12608,7 @@ "members": { "ContactId": { "shape": "ContactId", - "documentation": "The identifier of the contact in this instance of Amazon Connect
" + "documentation": "The identifier of the contact in this instance of Amazon Connect.
" }, "ContactArn": { "shape": "ARN", @@ -13556,6 +13779,64 @@ }, "documentation": "Contains information about a user account for a Amazon Connect instance.
" }, + "UserData": { + "type": "structure", + "members": { + "User": { + "shape": "UserReference", + "documentation": "Information about the user for the data that is returned. It contains resourceId and ARN of the user.
" + }, + "RoutingProfile": { + "shape": "RoutingProfileReference", + "documentation": "Information about the routing profile that is assigned to the user.
" + }, + "HierarchyPath": { + "shape": "HierarchyPathReference", + "documentation": "Contains information about the levels of a hierarchy group assigned to a user.
" + }, + "Status": { + "shape": "AgentStatusReference", + "documentation": "The status of the agent that they manually set in their Contact Control Panel (CCP), or that the supervisor manually changes in the real-time metrics report.
" + }, + "AvailableSlotsByChannel": { + "shape": "ChannelToCountMap", + "documentation": "A map of available slots by channel. The key is a channel name. The value is an integer: the available number of slots.
" + }, + "MaxSlotsByChannel": { + "shape": "ChannelToCountMap", + "documentation": "A map of maximum slots by channel. The key is a channel name. The value is an integer: the maximum number of slots. This is calculated from MediaConcurrency of the RoutingProfile assigned to the agent.
" + }, + "ActiveSlotsByChannel": { + "shape": "ChannelToCountMap", + "documentation": "A map of active slots by channel. The key is a channel name. The value is an integer: the number of active slots.
" + }, + "Contacts": { + "shape": "AgentContactReferenceList", + "documentation": "A list of contact reference information.
" + } + }, + "documentation": "Data for a user.
" + }, + "UserDataFilters": { + "type": "structure", + "members": { + "Queues": { + "shape": "Queues", + "documentation": "Contains information about a queue resource for which metrics are returned.
" + }, + "ContactFilter": { + "shape": "ContactFilter", + "documentation": "A filter for the user data based on the contact information that is associated to the user. It contains a list of contact states.
" + } + }, + "documentation": "A filter for the user data.
" + }, + "UserDataList": { + "type": "list", + "member": { + "shape": "UserData" + } + }, "UserId": { "type": "string" }, @@ -13634,6 +13915,20 @@ }, "documentation": "Contains information about the quick connect configuration settings for a user. The contact flow must be of type Transfer to Agent.
" }, + "UserReference": { + "type": "structure", + "members": { + "Id": { + "shape": "UserId", + "documentation": "The unique identifier for the user.
" + }, + "Arn": { + "shape": "ARN", + "documentation": "The Amazon Resource Name (ARN) for the user.
" + } + }, + "documentation": "Information about the user.
" + }, "UserSearchConditionList": { "type": "list", "member": { diff --git a/apis/connect-2017-08-08.paginators.json b/apis/connect-2017-08-08.paginators.json index 43a530db5e..f4032d522c 100644 --- a/apis/connect-2017-08-08.paginators.json +++ b/apis/connect-2017-08-08.paginators.json @@ -5,6 +5,11 @@ "limit_key": "MaxResults", "output_token": "NextToken" }, + "GetCurrentUserData": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, "GetMetricData": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/clients/chimesdkmessaging.d.ts b/clients/chimesdkmessaging.d.ts index fc0a43b725..09dd996124 100644 --- a/clients/chimesdkmessaging.d.ts +++ b/clients/chimesdkmessaging.d.ts @@ -315,6 +315,14 @@ declare class ChimeSDKMessaging extends Service { * Redacts message content, but not metadata. The message exists in the back end, but the action returns null content, and the state shows as redacted. The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes the API call as the value in the header. */ redactChannelMessage(callback?: (err: AWSError, data: ChimeSDKMessaging.Types.RedactChannelMessageResponse) => void): Request>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=a?0:s-1,y=a?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(n=isNaN(t)?1:0,o=m):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),t+=o+c>=1?l/u:l*Math.pow(2,1-c),t*u>=2&&(o++,u/=2),o+c>=m?(n=0,o=m):o+c>=1?(n=(t*u-1)*Math.pow(2,i),o+=c):(n=t*Math.pow(2,c-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=255&n,d+=y,n/=256,i-=8);for(o=o<0;e[r+d]=255&o,d+=y,o/=256,p-=8);e[r+d-y]|=128*b}},{}],430:[function(e,t,r){var a={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==a.call(e)}},{}],431:[function(e,t,r){!function(e){"use strict";function t(e){return null!==e&&"[object Array]"===Object.prototype.toString.call(e)}function r(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}function a(e,i){if(e===i)return!0;if(Object.prototype.toString.call(e)!==Object.prototype.toString.call(i))return!1;if(!0===t(e)){if(e.length!==i.length)return!1;for(var s=0;s =0?this.expression(e):"Lbracket"===t?(this._match("Lbracket"),this._parseMultiselectList()):"Lbrace"===t?(this._match("Lbrace"),this._parseMultiselectHash()):void 0},_parseProjectionRHS:function(e){var t;if(P[this._lookahead(0)]<10)t={type:"Identity"};else if("Lbracket"===this._lookahead(0))t=this.expression(e);else if("Filter"===this._lookahead(0))t=this.expression(e);else{if("Dot"!==this._lookahead(0)){var r=this._lookaheadToken(0),a=new Error("Sytanx error, unexpected token: "+r.value+"("+r.type+")");throw a.name="ParserError",a}this._match("Dot"),t=this._parseDotRHS(e)}return t},_parseMultiselectList:function(){for(var e=[];"Rbracket"!==this._lookahead(0);){var t=this.expression(0);if(e.push(t),"Comma"===this._lookahead(0)&&(this._match("Comma"),"Rbracket"===this._lookahead(0)))throw new Error("Unexpected token Rbracket")}return this._match("Rbracket"),{type:"MultiSelectList",children:e}},_parseMultiselectHash:function(){for(var e,t,r,a,i=[],s=["UnquotedIdentifier","QuotedIdentifier"];;){if(e=this._lookaheadToken(0),s.indexOf(e.type)<0)throw new Error("Expecting an identifier token, got: "+e.type);if(t=e.value,this._advance(),this._match("Colon"),r=this.expression(0),a={type:"KeyValuePair",name:t,value:r},i.push(a),"Comma"===this._lookahead(0))this._match("Comma");else if("Rbrace"===this._lookahead(0)){this._match("Rbrace");break}}return{type:"MultiSelectHash",children:i}}},c.prototype={search:function(e,t){return this.visit(e,t)},visit:function(e,o){var n,u,p,m,c,l,d,y,b;switch(e.type){case"Field":return null!==o&&r(o)?(l=o[e.name],void 0===l?null:l):null;case"Subexpression":for(p=this.visit(e.children[0],o),b=1;b G((f-r)/g)&&i("overflow"),r+=(p-t)*g,t=p,u=0;u =0?(c=b.substr(0,S),l=b.substr(S+1)):(c=b,l=""),d=decodeURIComponent(c),y=decodeURIComponent(l),a(o,d)?i(o[d])?o[d].push(y):o[d]=[o[d],y]:o[d]=y}return o};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],435:[function(e,t,r){"use strict";function a(e,t){if(e.map)return e.map(t);for(var r=[],a=0;a >1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=a?0:s-1,y=a?1:-1,b=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(n=isNaN(t)?1:0,o=m):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),t+=o+c>=1?l/u:l*Math.pow(2,1-c),t*u>=2&&(o++,u/=2),o+c>=m?(n=0,o=m):o+c>=1?(n=(t*u-1)*Math.pow(2,i),o+=c):(n=t*Math.pow(2,c-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=255&n,d+=y,n/=256,i-=8);for(o=o<0;e[r+d]=255&o,d+=y,o/=256,p-=8);e[r+d-y]|=128*b}},{}],430:[function(e,t,r){var a={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==a.call(e)}},{}],431:[function(e,t,r){!function(e){"use strict";function t(e){return null!==e&&"[object Array]"===Object.prototype.toString.call(e)}function r(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}function a(e,i){if(e===i)return!0;if(Object.prototype.toString.call(e)!==Object.prototype.toString.call(i))return!1;if(!0===t(e)){if(e.length!==i.length)return!1;for(var s=0;s =0?this.expression(e):"Lbracket"===t?(this._match("Lbracket"),this._parseMultiselectList()):"Lbrace"===t?(this._match("Lbrace"),this._parseMultiselectHash()):void 0},_parseProjectionRHS:function(e){var t;if(P[this._lookahead(0)]<10)t={type:"Identity"};else if("Lbracket"===this._lookahead(0))t=this.expression(e);else if("Filter"===this._lookahead(0))t=this.expression(e);else{if("Dot"!==this._lookahead(0)){var r=this._lookaheadToken(0),a=new Error("Sytanx error, unexpected token: "+r.value+"("+r.type+")");throw a.name="ParserError",a}this._match("Dot"),t=this._parseDotRHS(e)}return t},_parseMultiselectList:function(){for(var e=[];"Rbracket"!==this._lookahead(0);){var t=this.expression(0);if(e.push(t),"Comma"===this._lookahead(0)&&(this._match("Comma"),"Rbracket"===this._lookahead(0)))throw new Error("Unexpected token Rbracket")}return this._match("Rbracket"),{type:"MultiSelectList",children:e}},_parseMultiselectHash:function(){for(var e,t,r,a,i=[],s=["UnquotedIdentifier","QuotedIdentifier"];;){if(e=this._lookaheadToken(0),s.indexOf(e.type)<0)throw new Error("Expecting an identifier token, got: "+e.type);if(t=e.value,this._advance(),this._match("Colon"),r=this.expression(0),a={type:"KeyValuePair",name:t,value:r},i.push(a),"Comma"===this._lookahead(0))this._match("Comma");else if("Rbrace"===this._lookahead(0)){this._match("Rbrace");break}}return{type:"MultiSelectHash",children:i}}},c.prototype={search:function(e,t){return this.visit(e,t)},visit:function(e,o){var n,u,p,m,c,l,d,y,b;switch(e.type){case"Field":return null!==o&&r(o)?(l=o[e.name],void 0===l?null:l):null;case"Subexpression":for(p=this.visit(e.children[0],o),b=1;b G((f-r)/g)&&i("overflow"),r+=(p-t)*g,t=p,u=0;u =0?(c=b.substr(0,S),l=b.substr(S+1)):(c=b,l=""),d=decodeURIComponent(c),y=decodeURIComponent(l),a(o,d)?i(o[d])?o[d].push(y):o[d]=[o[d],y]:o[d]=y}return o};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],435:[function(e,t,r){"use strict";function a(e,t){if(e.map)return e.map(t);for(var r=[],a=0;a=55296&&t<=56319&&i65535&&(e-=65536,t+=w(e>>>10&1023|55296),e=56320|1023&e),t+=w(e)}).join("")}function p(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:T}function m(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function c(e,t,r){var a=0;for(e=r?G(e/R):e>>1,e+=G(e/t);e>L*k>>1;a+=T)e=G(e/L);return G(a+(L+1)*e/(e+A))}function l(e){var t,r,a,s,o,n,m,l,d,y,b=[],S=e.length,g=0,h=v,N=D;for(r=e.lastIndexOf(P),r<0&&(r=0),a=0;a=S&&i("invalid-input"),l=p(e.charCodeAt(s++)),(l>=T||l>G((f-g)/n))&&i("overflow"),g+=l*n,d=m<=N?C:m>=N+k?k:m-N,!(l=t&&bf&&i("overflow"),b==t){for(l=r,d=T;y=d<=o?C:d>=o+k?k:d-o,!(l>5]>>>t%32&255,a=parseInt(o.charAt(r>>>4&15)+o.charAt(15&r),16),i.push(a);return i}function s(e,t){e[t>>5]|=128<0){t=new n.XML.Parser;var c=t.parse(a.toString(),s);u.update(e.data,c)}}var n=e("../core"),u=e("../util"),p=e("./rest");t.exports={buildRequest:i,extractError:s,extractData:o}},{"../core":342,"../util":418,"./rest":379}],382:[function(e,t,r){function a(){}function i(e){return e.isQueryName||"ec2"!==e.api.protocol?e.name:e.name[0].toUpperCase()+e.name.substr(1)}function s(e,t,r,a){p.each(r.members,function(r,s){var o=t[r];if(null!==o&&void 0!==o){var n=i(s);n=e?e+"."+n:n,u(n,o,s,a)}})}function o(e,t,r,a){var i=1;p.each(t,function(t,s){var o=r.flattened?".":".entry.",n=o+i+++".",p=n+(r.key.name||"key"),m=n+(r.value.name||"value");u(e+p,t,r.key,a),u(e+m,s,r.value,a)})}function n(e,t,r,a){var s=r.member||{};if(0===t.length)return void a.call(this,e,null);p.arrayEach(t,function(t,o){var n="."+(o+1);if("ec2"===r.api.protocol)n+="";else if(r.flattened){if(s.name){var p=e.split(".");p.pop(),p.push(i(s)),e=p.join(".")}}else n="."+(s.name?s.name:"member")+n;u(e+n,t,s,a)})}function u(e,t,r,a){null!==t&&void 0!==t&&("structure"===r.type?s(e,t,r,a):"list"===r.type?n(e,t,r,a):"map"===r.type?o(e,t,r,a):a(e,r.toWireFormat(t).toString()))}var p=e("../util");a.prototype.serialize=function(e,t,r){s("",e,t,r)},t.exports=a},{"../util":418}],383:[function(e,t,r){var a=e("../core"),i=null,s={signatureVersion:"v4",signingName:"rds-db",operations:{}},o={region:"string",hostname:"string",port:"number",username:"string"};a.RDS.Signer=a.util.inherit({constructor:function(e){this.options=e||{}},convertUrlToAuthToken:function(e){if(0===e.indexOf("https://"))return e.substring("https://".length)},getAuthToken:function(e,t){"function"==typeof e&&void 0===t&&(t=e,e={});var r=this,o="function"==typeof t;e=a.util.merge(this.options,e);var n=this.validateAuthTokenOptions(e);if(!0!==n){if(o)return t(n,null);throw n}var u={region:e.region,endpoint:new a.Endpoint(e.hostname+":"+e.port),paramValidation:!1,signatureVersion:"v4"};e.credentials&&(u.credentials=e.credentials),i=new a.Service(u),i.api=s;var p=i.makeRequest();if(this.modifyRequestForAuthToken(p,e),!o){var m=p.presign(900);return this.convertUrlToAuthToken(m)}p.presign(900,function(e,a){a&&(a=r.convertUrlToAuthToken(a)),t(e,a)})},modifyRequestForAuthToken:function(e,t){e.on("build",e.buildAsGet),e.httpRequest.body=a.util.queryParamsToString({Action:"connect",DBUser:t.username})},validateAuthTokenOptions:function(e){var t="";e=e||{};for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&typeof e[r]!==o[r]&&(t+="option '"+r+"' should have been type '"+o[r]+"', was '"+typeof e[r]+"'.\n");return!t.length||a.util.error(new Error,{code:"InvalidParameter",message:t})}})},{"../core":342}],384:[function(e,t,r){t.exports={now:function(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}}},{}],385:[function(e,t,r){function a(e){return"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips"))}function i(e){return"string"==typeof e&&["aws-global","aws-us-gov-global"].includes(e)}function s(e){return["fips-aws-global","aws-fips","aws-global"].includes(e)?"us-east-1":["fips-aws-us-gov-global","aws-us-gov-global"].includes(e)?"us-gov-west-1":e.replace(/fips-(dkr-|prod-)?|-fips/,"")}t.exports={isFipsRegion:a,isGlobalRegion:i,getRealRegion:s}},{}],386:[function(e,t,r){function a(e){if(!e)return null;var t=e.split("-");return t.length<3?null:t.slice(0,t.length-2).join("-")+"-*"}function i(e){var t=e.config.region,r=a(t),i=e.api.endpointPrefix;return[[t,i],[r,i],[t,"*"],[r,"*"],["*",i],["*","*"]].map(function(e){return e[0]&&e[1]?e.join("/"):null})}function s(e,t){u.each(t,function(t,r){"globalEndpoint"!==t&&(void 0!==e.config[t]&&null!==e.config[t]||(e.config[t]=r))})}function o(e){for(var t=i(e),r=e.config.useFipsEndpoint,a=e.config.useDualstackEndpoint,o=0;o>>8*(a?i:1-i)}function B(e,t,r,a){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-r,4);i>>8*(a?i:3-i)&255}function U(e,t,r,a,i,s){if(r+a>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function _(e,t,r,a,i){return i||U(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),X.write(e,t,r,a,23,4),r+4}function F(e,t,r,a,i){return i||U(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),X.write(e,t,r,a,52,8),r+8}function O(e){if(e=V(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function V(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function z(e){return e<16?"0"+e.toString(16):e.toString(16)}function K(e,t){t=t||1/0;for(var r,a=e.length,i=null,s=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===a){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function j(e){for(var t=[],r=0;r=55296&&t<=56319&&i65535&&(e-=65536,t+=w(e>>>10&1023|55296),e=56320|1023&e),t+=w(e)}).join("")}function p(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:T}function m(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function c(e,t,r){var a=0;for(e=r?G(e/R):e>>1,e+=G(e/t);e>L*k>>1;a+=T)e=G(e/L);return G(a+(L+1)*e/(e+A))}function l(e){var t,r,a,s,o,n,m,l,d,y,b=[],S=e.length,g=0,h=v,N=D;for(r=e.lastIndexOf(P),r<0&&(r=0),a=0;a=S&&i("invalid-input"),l=p(e.charCodeAt(s++)),(l>=T||l>G((f-g)/n))&&i("overflow"),g+=l*n,d=m<=N?C:m>=N+k?k:m-N,!(l=t&&bf&&i("overflow"),b==t){for(l=r,d=T;y=d<=o?C:d>=o+k?k:d-o,!(l>5]>>>t%32&255,a=parseInt(o.charAt(r>>>4&15)+o.charAt(15&r),16),i.push(a);return i}function s(e,t){e[t>>5]|=128<