/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Connect { namespace Model { /** */ class AWS_CONNECT_API GetCurrentMetricDataRequest : public ConnectRequest { public: GetCurrentMetricDataRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetCurrentMetricData"; } Aws::String SerializePayload() const override; /** *

The identifier of the Amazon Connect instance.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The identifier of the Amazon Connect instance.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

The identifier of the Amazon Connect instance.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *

The identifier of the Amazon Connect instance.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *

The identifier of the Amazon Connect instance.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *

The identifier of the Amazon Connect instance.

*/ inline GetCurrentMetricDataRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The identifier of the Amazon Connect instance.

*/ inline GetCurrentMetricDataRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The identifier of the Amazon Connect instance.

*/ inline GetCurrentMetricDataRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

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

*/ inline const Filters& GetFilters() const{ return m_filters; } /** *

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

*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *

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

*/ inline void SetFilters(const Filters& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

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

*/ inline void SetFilters(Filters&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

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

*/ inline GetCurrentMetricDataRequest& WithFilters(const Filters& value) { SetFilters(value); return *this;} /** *

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

*/ inline GetCurrentMetricDataRequest& WithFilters(Filters&& value) { SetFilters(std::move(value)); 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. The only supported channel is VOICE.

*

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

*/ inline const Aws::Vector& GetGroupings() const{ return m_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. The only supported channel is VOICE.

*

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

*/ inline bool GroupingsHasBeenSet() const { return m_groupingsHasBeenSet; } /** *

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. The only supported channel is VOICE.

*

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

*/ inline void SetGroupings(const Aws::Vector& value) { m_groupingsHasBeenSet = true; m_groupings = value; } /** *

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. The only supported channel is VOICE.

*

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

*/ inline void SetGroupings(Aws::Vector&& value) { m_groupingsHasBeenSet = true; m_groupings = std::move(value); } /** *

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. The only supported channel is VOICE.

*

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

*/ inline GetCurrentMetricDataRequest& WithGroupings(const Aws::Vector& value) { SetGroupings(value); 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. The only supported channel is VOICE.

*

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

*/ inline GetCurrentMetricDataRequest& WithGroupings(Aws::Vector&& value) { SetGroupings(std::move(value)); 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. The only supported channel is VOICE.

*

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

*/ inline GetCurrentMetricDataRequest& AddGroupings(const Grouping& value) { m_groupingsHasBeenSet = true; m_groupings.push_back(value); 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. The only supported channel is VOICE.

*

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

*/ inline GetCurrentMetricDataRequest& AddGroupings(Grouping&& value) { m_groupingsHasBeenSet = true; m_groupings.push_back(std::move(value)); return *this; } /** *

The metrics to retrieve. Specify the name and unit for each metric. The * following metrics are available. For a description of each metric, see Real-time * Metrics Definitions in the Amazon Connect Administrator Guide.

*
AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

*
AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR
*

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: * COUNT

AGENTS_ON_CALL

Unit: COUNT

*
AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE
*

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

*
CONTACTS_IN_QUEUE

Unit: COUNT

*
CONTACTS_SCHEDULED

Unit: COUNT

*
OLDEST_CONTACT_AGE

Unit: SECONDS

*
SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE
*

Unit: COUNT

*/ inline const Aws::Vector& GetCurrentMetrics() const{ return m_currentMetrics; } /** *

The metrics to retrieve. Specify the name and unit for each metric. The * following metrics are available. For a description of each metric, see Real-time * Metrics Definitions in the Amazon Connect Administrator Guide.

*
AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

*
AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR
*

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: * COUNT

AGENTS_ON_CALL

Unit: COUNT

*
AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE
*

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

*
CONTACTS_IN_QUEUE

Unit: COUNT

*
CONTACTS_SCHEDULED

Unit: COUNT

*
OLDEST_CONTACT_AGE

Unit: SECONDS

*
SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE
*

Unit: COUNT

*/ inline bool CurrentMetricsHasBeenSet() const { return m_currentMetricsHasBeenSet; } /** *

The metrics to retrieve. Specify the name and unit for each metric. The * following metrics are available. For a description of each metric, see Real-time * Metrics Definitions in the Amazon Connect Administrator Guide.

*
AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

*
AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR
*

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: * COUNT

AGENTS_ON_CALL

Unit: COUNT

*
AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE
*

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

*
CONTACTS_IN_QUEUE

Unit: COUNT

*
CONTACTS_SCHEDULED

Unit: COUNT

*
OLDEST_CONTACT_AGE

Unit: SECONDS

*
SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE
*

Unit: COUNT

*/ inline void SetCurrentMetrics(const Aws::Vector& value) { m_currentMetricsHasBeenSet = true; m_currentMetrics = value; } /** *

The metrics to retrieve. Specify the name and unit for each metric. The * following metrics are available. For a description of each metric, see Real-time * Metrics Definitions in the Amazon Connect Administrator Guide.

*
AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

*
AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR
*

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: * COUNT

AGENTS_ON_CALL

Unit: COUNT

*
AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE
*

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

*
CONTACTS_IN_QUEUE

Unit: COUNT

*
CONTACTS_SCHEDULED

Unit: COUNT

*
OLDEST_CONTACT_AGE

Unit: SECONDS

*
SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE
*

Unit: COUNT

*/ inline void SetCurrentMetrics(Aws::Vector&& value) { m_currentMetricsHasBeenSet = true; m_currentMetrics = std::move(value); } /** *

The metrics to retrieve. Specify the name and unit for each metric. The * following metrics are available. For a description of each metric, see Real-time * Metrics Definitions in the Amazon Connect Administrator Guide.

*
AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

*
AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR
*

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: * COUNT

AGENTS_ON_CALL

Unit: COUNT

*
AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE
*

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

*
CONTACTS_IN_QUEUE

Unit: COUNT

*
CONTACTS_SCHEDULED

Unit: COUNT

*
OLDEST_CONTACT_AGE

Unit: SECONDS

*
SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE
*

Unit: COUNT

*/ inline GetCurrentMetricDataRequest& WithCurrentMetrics(const Aws::Vector& value) { SetCurrentMetrics(value); return *this;} /** *

The metrics to retrieve. Specify the name and unit for each metric. The * following metrics are available. For a description of each metric, see Real-time * Metrics Definitions in the Amazon Connect Administrator Guide.

*
AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

*
AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR
*

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: * COUNT

AGENTS_ON_CALL

Unit: COUNT

*
AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE
*

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

*
CONTACTS_IN_QUEUE

Unit: COUNT

*
CONTACTS_SCHEDULED

Unit: COUNT

*
OLDEST_CONTACT_AGE

Unit: SECONDS

*
SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE
*

Unit: COUNT

*/ inline GetCurrentMetricDataRequest& WithCurrentMetrics(Aws::Vector&& value) { SetCurrentMetrics(std::move(value)); return *this;} /** *

The metrics to retrieve. Specify the name and unit for each metric. The * following metrics are available. For a description of each metric, see Real-time * Metrics Definitions in the Amazon Connect Administrator Guide.

*
AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

*
AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR
*

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: * COUNT

AGENTS_ON_CALL

Unit: COUNT

*
AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE
*

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

*
CONTACTS_IN_QUEUE

Unit: COUNT

*
CONTACTS_SCHEDULED

Unit: COUNT

*
OLDEST_CONTACT_AGE

Unit: SECONDS

*
SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE
*

Unit: COUNT

*/ inline GetCurrentMetricDataRequest& AddCurrentMetrics(const CurrentMetric& value) { m_currentMetricsHasBeenSet = true; m_currentMetrics.push_back(value); return *this; } /** *

The metrics to retrieve. Specify the name and unit for each metric. The * following metrics are available. For a description of each metric, see Real-time * Metrics Definitions in the Amazon Connect Administrator Guide.

*
AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

*
AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR
*

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: * COUNT

AGENTS_ON_CALL

Unit: COUNT

*
AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE
*

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

*
CONTACTS_IN_QUEUE

Unit: COUNT

*
CONTACTS_SCHEDULED

Unit: COUNT

*
OLDEST_CONTACT_AGE

Unit: SECONDS

*
SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE
*

Unit: COUNT

*/ inline GetCurrentMetricDataRequest& AddCurrentMetrics(CurrentMetric&& value) { m_currentMetricsHasBeenSet = true; m_currentMetrics.push_back(std::move(value)); 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.

*/ inline const Aws::String& GetNextToken() const{ return m_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.

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

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.

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

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.

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

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.

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

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.

*/ inline GetCurrentMetricDataRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); 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.

*/ inline GetCurrentMetricDataRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); 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.

*/ inline GetCurrentMetricDataRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

The maximimum number of results to return per page.

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

The maximimum number of results to return per page.

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

The maximimum number of results to return per page.

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

The maximimum number of results to return per page.

*/ inline GetCurrentMetricDataRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} private: Aws::String m_instanceId; bool m_instanceIdHasBeenSet; Filters m_filters; bool m_filtersHasBeenSet; Aws::Vector m_groupings; bool m_groupingsHasBeenSet; Aws::Vector m_currentMetrics; bool m_currentMetricsHasBeenSet; Aws::String m_nextToken; bool m_nextTokenHasBeenSet; int m_maxResults; bool m_maxResultsHasBeenSet; }; } // namespace Model } // namespace Connect } // namespace Aws