diff --git a/.changes/next-release/feature-AmazonConnectService-31d2aa3.json b/.changes/next-release/feature-AmazonConnectService-31d2aa3.json new file mode 100644 index 000000000000..a0b007617a62 --- /dev/null +++ b/.changes/next-release/feature-AmazonConnectService-31d2aa3.json @@ -0,0 +1,6 @@ +{ + "type": "feature", + "category": "Amazon Connect Service", + "contributor": "", + "description": "Support for Routing Profile filter, SortCriteria, and grouping by Routing Profiles for GetCurrentMetricData API. Support for RoutingProfiles, UserHierarchyGroups, and Agents as filters, NextStatus and AgentStatusName for GetCurrentUserData. Adds ApproximateTotalCount to both APIs." +} diff --git a/services/connect/src/main/resources/codegen-resources/service-2.json b/services/connect/src/main/resources/codegen-resources/service-2.json index 95562a2ba52b..9f53a8af8563 100644 --- a/services/connect/src/main/resources/codegen-resources/service-2.json +++ b/services/connect/src/main/resources/codegen-resources/service-2.json @@ -1913,7 +1913,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServiceException"} ], - "documentation":"

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

" + "documentation":"

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

" }, "PutUserStatus":{ "name":"PutUserStatus", @@ -3059,6 +3059,10 @@ "StatusArn":{ "shape":"ARN", "documentation":"

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

" + }, + "StatusName":{ + "shape":"AgentStatusName", + "documentation":"

The name of the agent status.

" } }, "documentation":"

Information about the agent's status.

" @@ -3114,6 +3118,12 @@ "max":100, "min":1 }, + "AgentsMinOneMaxHundred":{ + "type":"list", + "member":{"shape":"UserId"}, + "max":100, + "min":1 + }, "AliasArn":{ "type":"string", "max":100, @@ -5021,6 +5031,23 @@ "type":"list", "member":{"shape":"CurrentMetricResult"} }, + "CurrentMetricSortCriteria":{ + "type":"structure", + "members":{ + "SortByMetric":{"shape":"CurrentMetricName"}, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

The way to sort.

" + } + }, + "documentation":"

The way to sort the resulting response based on metrics. By default resources are sorted based on AGENTS_ONLINE, DESCENDING. The metric collection is sorted based on the input metrics.

" + }, + "CurrentMetricSortCriteriaMaxOne":{ + "type":"list", + "member":{"shape":"CurrentMetricSortCriteria"}, + "max":1, + "min":0 + }, "CurrentMetrics":{ "type":"list", "member":{"shape":"CurrentMetric"} @@ -5972,7 +5999,8 @@ "Channel":{ "shape":"Channel", "documentation":"

The channel used for grouping and filters.

" - } + }, + "RoutingProfile":{"shape":"RoutingProfileReference"} }, "documentation":"

Contains information about the dimensions for a set of metrics.

" }, @@ -6348,6 +6376,10 @@ "Channels":{ "shape":"Channels", "documentation":"

The channel to use to filter the metrics.

" + }, + "RoutingProfiles":{ + "shape":"RoutingProfiles", + "documentation":"

A list of up to 100 routing profile IDs or ARNs.

" } }, "documentation":"

Contains the filter to apply when retrieving metrics.

" @@ -6407,11 +6439,11 @@ }, "Filters":{ "shape":"Filters", - "documentation":"

The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. VOICE, CHAT, and TASK channels are supported.

" + "documentation":"

The filters to apply to returned metrics. You can filter up to the following limits:

Metric data is retrieved only for the resources associated with the queues or routing profiles, and by any channels included in the filter. (You cannot filter by both queue AND routing profile.) You can include both resource IDs and resource ARNs in the same request.

Currently tagging is only supported on the resources that are passed in the filter.

" }, "Groupings":{ "shape":"Groupings", - "documentation":"

The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues.

" + "documentation":"

The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues.

" }, "CurrentMetrics":{ "shape":"CurrentMetrics", @@ -6425,6 +6457,10 @@ "shape":"MaxResult100", "documentation":"

The maximum number of results to return per page.

", "box":true + }, + "SortCriteria":{ + "shape":"CurrentMetricSortCriteriaMaxOne", + "documentation":"

The way to sort the resulting response based on metrics. You can enter one sort criteria. By default resources are sorted based on AGENTS_ONLINE, DESCENDING. The metric collection is sorted based on the input metrics.

Note the following:

" } } }, @@ -6442,6 +6478,10 @@ "DataSnapshotTime":{ "shape":"timestamp", "documentation":"

The time at which the metrics were retrieved and cached for pagination.

" + }, + "ApproximateTotalCount":{ + "shape":"ApproximateTotalCount", + "documentation":"

The total count of the result, regardless of the current page size.

" } } }, @@ -6460,7 +6500,7 @@ }, "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.

" + "documentation":"

The filters to apply to returned user data. You can filter up to the following limits:

The user data is retrieved for only the specified values/resources in the filter. A maximum of one filter can be passed from queues, routing profiles, agents, and user hierarchy groups.

Currently tagging is only supported on the resources that are passed in the filter.

" }, "NextToken":{ "shape":"NextToken", @@ -6483,6 +6523,10 @@ "UserDataList":{ "shape":"UserDataList", "documentation":"

A list of the user data that is returned.

" + }, + "ApproximateTotalCount":{ + "shape":"ApproximateTotalCount", + "documentation":"

The total count of the result, regardless of the current page size.

" } } }, @@ -6701,7 +6745,8 @@ "type":"string", "enum":[ "QUEUE", - "CHANNEL" + "CHANNEL", + "ROUTING_PROFILE" ] }, "Groupings":{ @@ -10562,6 +10607,12 @@ "type":"list", "member":{"shape":"RoutingProfileSummary"} }, + "RoutingProfiles":{ + "type":"list", + "member":{"shape":"RoutingProfileId"}, + "max":100, + "min":1 + }, "Rule":{ "type":"structure", "required":[ @@ -11250,6 +11301,13 @@ "member":{"shape":"TaskTemplateSingleSelectOption"} }, "SnapshotVersion":{"type":"string"}, + "SortOrder":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, "SourceApplicationName":{ "type":"string", "max":100, @@ -13491,6 +13549,10 @@ "Contacts":{ "shape":"AgentContactReferenceList", "documentation":"

A list of contact reference information.

" + }, + "NextStatus":{ + "shape":"AgentStatusName", + "documentation":"

The Next status of the agent.

" } }, "documentation":"

Data for a user.

" @@ -13500,15 +13562,33 @@ "members":{ "Queues":{ "shape":"Queues", - "documentation":"

Contains information about a queue resource for which metrics are returned.

" + "documentation":"

A list of up to 100 queues or ARNs.

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

" + }, + "RoutingProfiles":{ + "shape":"RoutingProfiles", + "documentation":"

A list of up to 100 routing profile IDs or ARNs.

" + }, + "Agents":{ + "shape":"AgentsMinOneMaxHundred", + "documentation":"

A list of up to 100 agent IDs or ARNs.

" + }, + "UserHierarchyGroups":{ + "shape":"UserDataHierarchyGroups", + "documentation":"

A UserHierarchyGroup ID or ARN.

" } }, "documentation":"

A filter for the user data.

" }, + "UserDataHierarchyGroups":{ + "type":"list", + "member":{"shape":"HierarchyGroupId"}, + "max":1, + "min":1 + }, "UserDataList":{ "type":"list", "member":{"shape":"UserData"}