1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`GetCurrentMetricData`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder) operation.
    /// This operation supports pagination; See [`into_paginator()`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::into_paginator).
    ///
    /// - The fluent builder is configurable:
    ///   - [`instance_id(impl Into<String>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::instance_id) / [`set_instance_id(Option<String>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_instance_id):<br>required: **true**<br><p>The identifier of the Amazon Connect instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p><br>
    ///   - [`filters(Filters)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::filters) / [`set_filters(Option<Filters>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_filters):<br>required: **true**<br><p>The filters to apply to returned metrics. You can filter up to the following limits:</p>  <ul>   <li> <p>Queues: 100</p> </li>   <li> <p>Routing profiles: 100</p> </li>   <li> <p>Channels: 3 (VOICE, CHAT, and TASK channels are supported.)</p> </li>  </ul>  <p>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. </p>  <p>Currently tagging is only supported on the resources that are passed in the filter.</p><br>
    ///   - [`groupings(Grouping)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::groupings) / [`set_groupings(Option<Vec::<Grouping>>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_groupings):<br>required: **false**<br><p>The grouping applied to the metrics returned. For example, when grouped by <code>QUEUE</code>, the metrics returned apply to each queue rather than aggregated for all queues. </p>  <ul>   <li> <p>If you group by <code>CHANNEL</code>, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported.</p> </li>   <li> <p>If you group by <code>ROUTING_PROFILE</code>, you must include either a queue or routing profile filter. In addition, a routing profile filter is required for metrics <code>CONTACTS_SCHEDULED</code>, <code>CONTACTS_IN_QUEUE</code>, and <code> OLDEST_CONTACT_AGE</code>.</p> </li>   <li> <p>If no <code>Grouping</code> is included in the request, a summary of metrics is returned.</p> </li>  </ul><br>
    ///   - [`current_metrics(CurrentMetric)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::current_metrics) / [`set_current_metrics(Option<Vec::<CurrentMetric>>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_current_metrics):<br>required: **true**<br><p>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 <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html">Real-time Metrics Definitions</a> in the <i>Amazon Connect Administrator Guide</i>.</p>  <dl>   <dt>   AGENTS_AFTER_CONTACT_WORK  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#aftercallwork-real-time">ACW</a> </p>   </dd>   <dt>   AGENTS_AVAILABLE  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#available-real-time">Available</a> </p>   </dd>   <dt>   AGENTS_ERROR  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#error-real-time">Error</a> </p>   </dd>   <dt>   AGENTS_NON_PRODUCTIVE  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#non-productive-time-real-time">NPT (Non-Productive Time)</a> </p>   </dd>   <dt>   AGENTS_ON_CALL  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#on-call-real-time">On contact</a> </p>   </dd>   <dt>   AGENTS_ON_CONTACT  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#on-call-real-time">On contact</a> </p>   </dd>   <dt>   AGENTS_ONLINE  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#online-real-time">Online</a> </p>   </dd>   <dt>   AGENTS_STAFFED  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#staffed-real-time">Staffed</a> </p>   </dd>   <dt>   CONTACTS_IN_QUEUE  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#in-queue-real-time">In queue</a> </p>   </dd>   <dt>   CONTACTS_SCHEDULED  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#scheduled-real-time">Scheduled</a> </p>   </dd>   <dt>   OLDEST_CONTACT_AGE  </dt>   <dd>    <p>Unit: SECONDS</p>    <p>When you use groupings, Unit says SECONDS and the Value is returned in SECONDS. </p>    <p>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:</p>    <p> <code>{ "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 </code>}</p>    <p>The actual OLDEST_CONTACT_AGE is 24 seconds.</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#oldest-real-time">Oldest</a> </p>   </dd>   <dt>   SLOTS_ACTIVE  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#active-real-time">Active</a> </p>   </dd>   <dt>   SLOTS_AVAILABLE  </dt>   <dd>    <p>Unit: COUNT</p>    <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#availability-real-time">Availability</a> </p>   </dd>  </dl><br>
    ///   - [`next_token(impl Into<String>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::next_token) / [`set_next_token(Option<String>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_next_token):<br>required: **false**<br><p>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.</p>  <p>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.</p><br>
    ///   - [`max_results(i32)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_max_results):<br>required: **false**<br><p>The maximum number of results to return per page.</p><br>
    ///   - [`sort_criteria(CurrentMetricSortCriteria)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::sort_criteria) / [`set_sort_criteria(Option<Vec::<CurrentMetricSortCriteria>>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_sort_criteria):<br>required: **false**<br><p>The way to sort the resulting response based on metrics. You can enter one sort criteria. By default resources are sorted based on <code>AGENTS_ONLINE</code>, <code>DESCENDING</code>. The metric collection is sorted based on the input metrics.</p>  <p>Note the following:</p>  <ul>   <li> <p>Sorting on <code>SLOTS_ACTIVE</code> and <code>SLOTS_AVAILABLE</code> is not supported.</p> </li>  </ul><br>
    /// - On success, responds with [`GetCurrentMetricDataOutput`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput) with field(s):
    ///   - [`next_token(Option<String>)`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput::next_token): <p>If there are additional results, this is the token for the next set of results.</p>  <p>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.</p>
    ///   - [`metric_results(Option<Vec::<CurrentMetricResult>>)`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput::metric_results): <p>Information about the real-time metrics.</p>
    ///   - [`data_snapshot_time(Option<DateTime>)`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput::data_snapshot_time): <p>The time at which the metrics were retrieved and cached for pagination.</p>
    ///   - [`approximate_total_count(Option<i64>)`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput::approximate_total_count): <p>The total count of the result, regardless of the current page size. </p>
    /// - On failure, responds with [`SdkError<GetCurrentMetricDataError>`](crate::operation::get_current_metric_data::GetCurrentMetricDataError)
    pub fn get_current_metric_data(&self) -> crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder {
        crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::new(self.handle.clone())
    }
}