/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.connect.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class GetCurrentMetricDataRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

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

*/ private String instanceId; /** *

* 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. *

*/ private Filters filters; /** *

* 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. *

* */ private java.util.List groupings; /** *

* 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. *

*

* 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 *

*
*
*/ private java.util.List currentMetrics; /** *

* 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. *

*/ private String nextToken; /** *

* The maximum number of results to return per page. *

*/ private Integer maxResults; /** *

* 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: *

* */ private java.util.List sortCriteria; /** *

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

* * @param instanceId * The identifier of the Amazon Connect instance. You can find the instance * ID in the Amazon Resource Name (ARN) of the instance. */ public void setInstanceId(String instanceId) { this.instanceId = instanceId; } /** *

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

* * @return The identifier of the Amazon Connect instance. You can find the instance * ID in the Amazon Resource Name (ARN) of the instance. */ public String getInstanceId() { return this.instanceId; } /** *

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

* * @param instanceId * The identifier of the Amazon Connect instance. You can find the instance * ID in the Amazon Resource Name (ARN) of the instance. * @return Returns a reference to this object so that method calls can be chained together. */ public GetCurrentMetricDataRequest withInstanceId(String instanceId) { setInstanceId(instanceId); return this; } /** *

* 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.) *

    *
  • *
*

* 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. *

* * @param 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.) *

    *
  • *
*

* 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. */ public void setFilters(Filters filters) { this.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.) *

    *
  • *
*

* 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. *

* * @return 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.) *

    *
  • *
*

* 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. */ public Filters getFilters() { return this.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.) *

    *
  • *
*

* 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. *

* * @param 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.) *

    *
  • *
*

* 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. * @return Returns a reference to this object so that method calls can be chained together. */ public GetCurrentMetricDataRequest withFilters(Filters filters) { setFilters(filters); return this; } /** *

* 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. *

    *
  • *
* * @return 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. *

    *
  • * @see Grouping */ public java.util.List getGroupings() { return 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. *

      *
    • *
    * * @param 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. *

      *
    • * @see Grouping */ public void setGroupings(java.util.Collection groupings) { if (groupings == null) { this.groupings = null; return; } this.groupings = new java.util.ArrayList(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. *

        *
      • *
      *

      * NOTE: This method appends the values to the existing list (if any). Use * {@link #setGroupings(java.util.Collection)} or {@link #withGroupings(java.util.Collection)} if you want to * override the existing values. *

      * * @param 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. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see Grouping */ public GetCurrentMetricDataRequest withGroupings(String... groupings) { if (this.groupings == null) { setGroupings(new java.util.ArrayList(groupings.length)); } for (String ele : groupings) { this.groupings.add(ele); } return this; } /** *

        * 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. *

          *
        • *
        * * @param 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. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see Grouping */ public GetCurrentMetricDataRequest withGroupings(java.util.Collection groupings) { setGroupings(groupings); return this; } /** *

          * 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. *

            *
          • *
          * * @param 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. *

            *
          • * @return Returns a reference to this object so that method calls can be chained together. * @see Grouping */ public GetCurrentMetricDataRequest withGroupings(Grouping... groupings) { java.util.ArrayList groupingsCopy = new java.util.ArrayList(groupings.length); for (Grouping value : groupings) { groupingsCopy.add(value.toString()); } if (getGroupings() == null) { setGroupings(groupingsCopy); } else { getGroupings().addAll(groupingsCopy); } return this; } /** *

            * 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. *

            *

            * 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 *

            *
            *
            * * @return 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. *

            *

            * 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 *

            *
            */ public java.util.List getCurrentMetrics() { return 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. *

            *

            * 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 *

            *
            *
            * * @param 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. *

            *

            * 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 *

            *
            */ public void setCurrentMetrics(java.util.Collection currentMetrics) { if (currentMetrics == null) { this.currentMetrics = null; return; } this.currentMetrics = new java.util.ArrayList(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. *

            *

            * 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 *

            *
            *
            *

            * NOTE: This method appends the values to the existing list (if any). Use * {@link #setCurrentMetrics(java.util.Collection)} or {@link #withCurrentMetrics(java.util.Collection)} if you want * to override the existing values. *

            * * @param 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. *

            *

            * 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 *

            *
            * @return Returns a reference to this object so that method calls can be chained together. */ public GetCurrentMetricDataRequest withCurrentMetrics(CurrentMetric... currentMetrics) { if (this.currentMetrics == null) { setCurrentMetrics(new java.util.ArrayList(currentMetrics.length)); } for (CurrentMetric ele : currentMetrics) { this.currentMetrics.add(ele); } return this; } /** *

            * 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. *

            *

            * 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 *

            *
            *
            * * @param 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. *

            *

            * 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 *

            *
            * @return Returns a reference to this object so that method calls can be chained together. */ public GetCurrentMetricDataRequest withCurrentMetrics(java.util.Collection currentMetrics) { setCurrentMetrics(currentMetrics); return this; } /** *

            * 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. *

            * * @param 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. */ public void setNextToken(String nextToken) { this.nextToken = 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. *

            * * @return 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. */ public String getNextToken() { return this.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. *

            * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public GetCurrentMetricDataRequest withNextToken(String nextToken) { setNextToken(nextToken); return this; } /** *

            * The maximum number of results to return per page. *

            * * @param maxResults * The maximum number of results to return per page. */ public void setMaxResults(Integer maxResults) { this.maxResults = maxResults; } /** *

            * The maximum number of results to return per page. *

            * * @return The maximum number of results to return per page. */ public Integer getMaxResults() { return this.maxResults; } /** *

            * The maximum number of results to return per page. *

            * * @param maxResults * The maximum number of results to return per page. * @return Returns a reference to this object so that method calls can be chained together. */ public GetCurrentMetricDataRequest withMaxResults(Integer maxResults) { setMaxResults(maxResults); return this; } /** *

            * 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. *

              *
            • *
            * * @return 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. *

              *
            • */ public java.util.List getSortCriteria() { return 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. *

                *
              • *
              * * @param 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. *

                *
              • */ public void setSortCriteria(java.util.Collection sortCriteria) { if (sortCriteria == null) { this.sortCriteria = null; return; } this.sortCriteria = new java.util.ArrayList(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. *

                  *
                • *
                *

                * NOTE: This method appends the values to the existing list (if any). Use * {@link #setSortCriteria(java.util.Collection)} or {@link #withSortCriteria(java.util.Collection)} if you want to * override the existing values. *

                * * @param 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. *

                  *
                • * @return Returns a reference to this object so that method calls can be chained together. */ public GetCurrentMetricDataRequest withSortCriteria(CurrentMetricSortCriteria... sortCriteria) { if (this.sortCriteria == null) { setSortCriteria(new java.util.ArrayList(sortCriteria.length)); } for (CurrentMetricSortCriteria ele : sortCriteria) { this.sortCriteria.add(ele); } return this; } /** *

                  * 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. *

                    *
                  • *
                  * * @param 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. *

                    *
                  • * @return Returns a reference to this object so that method calls can be chained together. */ public GetCurrentMetricDataRequest withSortCriteria(java.util.Collection sortCriteria) { setSortCriteria(sortCriteria); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getInstanceId() != null) sb.append("InstanceId: ").append(getInstanceId()).append(","); if (getFilters() != null) sb.append("Filters: ").append(getFilters()).append(","); if (getGroupings() != null) sb.append("Groupings: ").append(getGroupings()).append(","); if (getCurrentMetrics() != null) sb.append("CurrentMetrics: ").append(getCurrentMetrics()).append(","); if (getNextToken() != null) sb.append("NextToken: ").append(getNextToken()).append(","); if (getMaxResults() != null) sb.append("MaxResults: ").append(getMaxResults()).append(","); if (getSortCriteria() != null) sb.append("SortCriteria: ").append(getSortCriteria()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GetCurrentMetricDataRequest == false) return false; GetCurrentMetricDataRequest other = (GetCurrentMetricDataRequest) obj; if (other.getInstanceId() == null ^ this.getInstanceId() == null) return false; if (other.getInstanceId() != null && other.getInstanceId().equals(this.getInstanceId()) == false) return false; if (other.getFilters() == null ^ this.getFilters() == null) return false; if (other.getFilters() != null && other.getFilters().equals(this.getFilters()) == false) return false; if (other.getGroupings() == null ^ this.getGroupings() == null) return false; if (other.getGroupings() != null && other.getGroupings().equals(this.getGroupings()) == false) return false; if (other.getCurrentMetrics() == null ^ this.getCurrentMetrics() == null) return false; if (other.getCurrentMetrics() != null && other.getCurrentMetrics().equals(this.getCurrentMetrics()) == false) return false; if (other.getNextToken() == null ^ this.getNextToken() == null) return false; if (other.getNextToken() != null && other.getNextToken().equals(this.getNextToken()) == false) return false; if (other.getMaxResults() == null ^ this.getMaxResults() == null) return false; if (other.getMaxResults() != null && other.getMaxResults().equals(this.getMaxResults()) == false) return false; if (other.getSortCriteria() == null ^ this.getSortCriteria() == null) return false; if (other.getSortCriteria() != null && other.getSortCriteria().equals(this.getSortCriteria()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getInstanceId() == null) ? 0 : getInstanceId().hashCode()); hashCode = prime * hashCode + ((getFilters() == null) ? 0 : getFilters().hashCode()); hashCode = prime * hashCode + ((getGroupings() == null) ? 0 : getGroupings().hashCode()); hashCode = prime * hashCode + ((getCurrentMetrics() == null) ? 0 : getCurrentMetrics().hashCode()); hashCode = prime * hashCode + ((getNextToken() == null) ? 0 : getNextToken().hashCode()); hashCode = prime * hashCode + ((getMaxResults() == null) ? 0 : getMaxResults().hashCode()); hashCode = prime * hashCode + ((getSortCriteria() == null) ? 0 : getSortCriteria().hashCode()); return hashCode; } @Override public GetCurrentMetricDataRequest clone() { return (GetCurrentMetricDataRequest) super.clone(); } }