Class 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>
  • Method Details

    • 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 one QueueId. The filter is also case sensitive so when using the RoutingStepExpression filter, grouping by ROUTING_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 one QueueId. The filter is also case sensitive so when using the RoutingStepExpression filter, grouping by ROUTING_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 metrics CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and OLDEST_CONTACT_AGE.

      • If no Grouping is included in the request, a summary of metrics is returned.

      • When using the RoutingStepExpression filter, group by ROUTING_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 metrics CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and OLDEST_CONTACT_AGE.

      • If no Grouping is included in the request, a summary of metrics is returned.

      • When using the RoutingStepExpression filter, group by ROUTING_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 the isEmpty() 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 metrics CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and OLDEST_CONTACT_AGE.

      • If no Grouping is included in the request, a summary of metrics is returned.

      • When using the RoutingStepExpression filter, group by ROUTING_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 metrics CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and OLDEST_CONTACT_AGE.

      • If no Grouping is included in the request, a summary of metrics is returned.

      • When using the RoutingStepExpression filter, group by ROUTING_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 the isEmpty() 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, then OLDEST_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, then OLDEST_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 the isEmpty() 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 and SLOTS_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 and SLOTS_AVAILABLE is not supported.

    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<GetCurrentMetricDataRequest.Builder,GetCurrentMetricDataRequest>
      Specified by:
      toBuilder in class ConnectRequest
      Returns:
      a builder for type T
    • builder

      public static GetCurrentMetricDataRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends GetCurrentMetricDataRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • 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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.