Class GetCurrentMetricDataRequest
- java.lang.Object
-
- software.amazon.awssdk.core.SdkRequest
-
- software.amazon.awssdk.awscore.AwsRequest
-
- software.amazon.awssdk.services.connect.model.ConnectRequest
-
- software.amazon.awssdk.services.connect.model.GetCurrentMetricDataRequest
-
- All Implemented Interfaces:
SdkPojo
,ToCopyableBuilder<GetCurrentMetricDataRequest.Builder,GetCurrentMetricDataRequest>
@Generated("software.amazon.awssdk:codegen") public final class GetCurrentMetricDataRequest extends ConnectRequest implements ToCopyableBuilder<GetCurrentMetricDataRequest.Builder,GetCurrentMetricDataRequest>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
GetCurrentMetricDataRequest.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static GetCurrentMetricDataRequest.Builder
builder()
List<CurrentMetric>
currentMetrics()
The metrics to retrieve.boolean
equals(Object obj)
boolean
equalsBySdkFields(Object obj)
Filters
filters()
The filters to apply to returned metrics.<T> Optional<T>
getValueForField(String fieldName, Class<T> clazz)
List<Grouping>
groupings()
The grouping applied to the metrics returned.List<String>
groupingsAsStrings()
The grouping applied to the metrics returned.boolean
hasCurrentMetrics()
For responses, this returns true if the service returned a value for the CurrentMetrics property.boolean
hasGroupings()
For responses, this returns true if the service returned a value for the Groupings property.int
hashCode()
boolean
hasSortCriteria()
For responses, this returns true if the service returned a value for the SortCriteria property.String
instanceId()
The identifier of the Amazon Connect instance.Integer
maxResults()
The maximum number of results to return per page.String
nextToken()
The token for the next set of results.Map<String,SdkField<?>>
sdkFieldNameToField()
List<SdkField<?>>
sdkFields()
static Class<? extends GetCurrentMetricDataRequest.Builder>
serializableBuilderClass()
List<CurrentMetricSortCriteria>
sortCriteria()
The way to sort the resulting response based on metrics.GetCurrentMetricDataRequest.Builder
toBuilder()
String
toString()
Returns a string representation of this object.-
Methods inherited from class software.amazon.awssdk.awscore.AwsRequest
overrideConfiguration
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
instanceId
public final String instanceId()
The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
- Returns:
- The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.
-
filters
public final Filters filters()
The filters to apply to returned metrics. You can filter up to the following limits:
-
Queues: 100
-
Routing profiles: 100
-
Channels: 3 (VOICE, CHAT, and TASK channels are supported.)
-
RoutingStepExpressions: 50
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.
When using the
RoutingStepExpression
filter, you need to pass exactly oneQueueId
. The filter is also case sensitive so when using theRoutingStepExpression
filter, grouping byROUTING_STEP_EXPRESSION
is required.Currently tagging is only supported on the resources that are passed in the filter.
- Returns:
- The filters to apply to returned metrics. You can filter up to the following limits:
-
Queues: 100
-
Routing profiles: 100
-
Channels: 3 (VOICE, CHAT, and TASK channels are supported.)
-
RoutingStepExpressions: 50
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.
When using the
RoutingStepExpression
filter, you need to pass exactly oneQueueId
. The filter is also case sensitive so when using theRoutingStepExpression
filter, grouping byROUTING_STEP_EXPRESSION
is required.Currently tagging is only supported on the resources that are passed in the filter.
-
-
-
groupings
public final List<Grouping> groupings()
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.-
If you group by
CHANNEL
, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported. -
If you group by
ROUTING_PROFILE
, you must include either a queue or routing profile filter. In addition, a routing profile filter is required for metricsCONTACTS_SCHEDULED
,CONTACTS_IN_QUEUE
, andOLDEST_CONTACT_AGE
. -
If no
Grouping
is included in the request, a summary of metrics is returned. -
When using the
RoutingStepExpression
filter, group byROUTING_STEP_EXPRESSION
is required.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasGroupings()
method.- Returns:
- 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.-
If you group by
CHANNEL
, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported. -
If you group by
ROUTING_PROFILE
, you must include either a queue or routing profile filter. In addition, a routing profile filter is required for metricsCONTACTS_SCHEDULED
,CONTACTS_IN_QUEUE
, andOLDEST_CONTACT_AGE
. -
If no
Grouping
is included in the request, a summary of metrics is returned. -
When using the
RoutingStepExpression
filter, group byROUTING_STEP_EXPRESSION
is required.
-
-
-
hasGroupings
public final boolean hasGroupings()
For responses, this returns true if the service returned a value for the Groupings property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
groupingsAsStrings
public final List<String> groupingsAsStrings()
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.-
If you group by
CHANNEL
, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported. -
If you group by
ROUTING_PROFILE
, you must include either a queue or routing profile filter. In addition, a routing profile filter is required for metricsCONTACTS_SCHEDULED
,CONTACTS_IN_QUEUE
, andOLDEST_CONTACT_AGE
. -
If no
Grouping
is included in the request, a summary of metrics is returned. -
When using the
RoutingStepExpression
filter, group byROUTING_STEP_EXPRESSION
is required.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasGroupings()
method.- Returns:
- 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.-
If you group by
CHANNEL
, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported. -
If you group by
ROUTING_PROFILE
, you must include either a queue or routing profile filter. In addition, a routing profile filter is required for metricsCONTACTS_SCHEDULED
,CONTACTS_IN_QUEUE
, andOLDEST_CONTACT_AGE
. -
If no
Grouping
is included in the request, a summary of metrics is returned. -
When using the
RoutingStepExpression
filter, group byROUTING_STEP_EXPRESSION
is required.
-
-
-
hasCurrentMetrics
public final boolean hasCurrentMetrics()
For responses, this returns true if the service returned a value for the CurrentMetrics property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
currentMetrics
public final List<CurrentMetric> currentMetrics()
The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available. For a description of all the metrics, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide.
- AGENTS_AFTER_CONTACT_WORK
-
Unit: COUNT
Name in real-time metrics report: ACW
- AGENTS_AVAILABLE
-
Unit: COUNT
Name in real-time metrics report: Available
- AGENTS_ERROR
-
Unit: COUNT
Name in real-time metrics report: Error
- AGENTS_NON_PRODUCTIVE
-
Unit: COUNT
Name in real-time metrics report: NPT (Non-Productive Time)
- AGENTS_ON_CALL
-
Unit: COUNT
Name in real-time metrics report: On contact
- AGENTS_ON_CONTACT
-
Unit: COUNT
Name in real-time metrics report: On contact
- AGENTS_ONLINE
-
Unit: COUNT
Name in real-time metrics report: Online
- AGENTS_STAFFED
-
Unit: COUNT
Name in real-time metrics report: Staffed
- CONTACTS_IN_QUEUE
-
Unit: COUNT
Name in real-time metrics report: In queue
- CONTACTS_SCHEDULED
-
Unit: COUNT
Name in real-time metrics report: Scheduled
- OLDEST_CONTACT_AGE
-
Unit: SECONDS
When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.
When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:
{ "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0
The actual OLDEST_CONTACT_AGE is 24 seconds.
When the filter
RoutingStepExpression
is used, this metric is still calculated from enqueue time. For example, if a contact that has been queued under<Expression 1>
for 10 seconds has expired and<Expression 2>
becomes active, thenOLDEST_CONTACT_AGE
for this queue will be counted starting from 10, not 0.Name in real-time metrics report: Oldest
- SLOTS_ACTIVE
-
Unit: COUNT
Name in real-time metrics report: Active
- SLOTS_AVAILABLE
-
Unit: COUNT
Name in real-time metrics report: Availability
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasCurrentMetrics()
method.- Returns:
- The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available.
For a description of all the metrics, see Real-time
Metrics Definitions in the Amazon Connect Administrator Guide.
- AGENTS_AFTER_CONTACT_WORK
-
Unit: COUNT
Name in real-time metrics report: ACW
- AGENTS_AVAILABLE
-
Unit: COUNT
Name in real-time metrics report: Available
- AGENTS_ERROR
-
Unit: COUNT
Name in real-time metrics report: Error
- AGENTS_NON_PRODUCTIVE
-
Unit: COUNT
Name in real-time metrics report: NPT (Non-Productive Time)
- AGENTS_ON_CALL
-
Unit: COUNT
Name in real-time metrics report: On contact
- AGENTS_ON_CONTACT
-
Unit: COUNT
Name in real-time metrics report: On contact
- AGENTS_ONLINE
-
Unit: COUNT
Name in real-time metrics report: Online
- AGENTS_STAFFED
-
Unit: COUNT
Name in real-time metrics report: Staffed
- CONTACTS_IN_QUEUE
-
Unit: COUNT
Name in real-time metrics report: In queue
- CONTACTS_SCHEDULED
-
Unit: COUNT
Name in real-time metrics report: Scheduled
- OLDEST_CONTACT_AGE
-
Unit: SECONDS
When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.
When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:
{ "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0
The actual OLDEST_CONTACT_AGE is 24 seconds.
When the filter
RoutingStepExpression
is used, this metric is still calculated from enqueue time. For example, if a contact that has been queued under<Expression 1>
for 10 seconds has expired and<Expression 2>
becomes active, thenOLDEST_CONTACT_AGE
for this queue will be counted starting from 10, not 0.Name in real-time metrics report: Oldest
- SLOTS_ACTIVE
-
Unit: COUNT
Name in real-time metrics report: Active
- SLOTS_AVAILABLE
-
Unit: COUNT
Name in real-time metrics report: Availability
-
nextToken
public final String 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.
The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.
- Returns:
- 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.
The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.
-
maxResults
public final Integer maxResults()
The maximum number of results to return per page.
- Returns:
- The maximum number of results to return per page.
-
hasSortCriteria
public final boolean hasSortCriteria()
For responses, this returns true if the service returned a value for the SortCriteria property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
sortCriteria
public final List<CurrentMetricSortCriteria> sortCriteria()
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:
-
Sorting on
SLOTS_ACTIVE
andSLOTS_AVAILABLE
is not supported.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasSortCriteria()
method.- Returns:
- 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:
-
Sorting on
SLOTS_ACTIVE
andSLOTS_AVAILABLE
is not supported.
-
-
-
toBuilder
public GetCurrentMetricDataRequest.Builder toBuilder()
- Specified by:
toBuilder
in interfaceToCopyableBuilder<GetCurrentMetricDataRequest.Builder,GetCurrentMetricDataRequest>
- Specified by:
toBuilder
in classConnectRequest
-
builder
public static GetCurrentMetricDataRequest.Builder builder()
-
serializableBuilderClass
public static Class<? extends GetCurrentMetricDataRequest.Builder> serializableBuilderClass()
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classAwsRequest
-
equals
public final boolean equals(Object obj)
- Overrides:
equals
in classAwsRequest
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFields
in interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
getValueForField
public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
- Overrides:
getValueForField
in classSdkRequest
-
sdkFieldNameToField
public final Map<String,SdkField<?>> sdkFieldNameToField()
- Specified by:
sdkFieldNameToField
in interfaceSdkPojo
-
-