/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the connect-2017-08-08.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Connect.Model { /// /// Container for the parameters to the GetCurrentMetricData operation. /// Gets the real-time metric data from the specified Amazon Connect instance. /// /// /// /// For a description of each metric, see Real-time /// Metrics Definitions in the Amazon Connect Administrator Guide. /// /// public partial class GetCurrentMetricDataRequest : AmazonConnectRequest { private List _currentMetrics = new List(); private Filters _filters; private List _groupings = new List(); private string _instanceId; private int? _maxResults; private string _nextToken; private List _sortCriteria = new List(); /// /// Gets and sets the property 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 /// /// ///
///
[AWSProperty(Required=true)] public List CurrentMetrics { get { return this._currentMetrics; } set { this._currentMetrics = value; } } // Check to see if CurrentMetrics property is set internal bool IsSetCurrentMetrics() { return this._currentMetrics != null && this._currentMetrics.Count > 0; } /// /// Gets and sets the property 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. /// ///
[AWSProperty(Required=true)] public Filters Filters { get { return this._filters; } set { this._filters = value; } } // Check to see if Filters property is set internal bool IsSetFilters() { return this._filters != null; } /// /// Gets and sets the property 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. /// ///
///
[AWSProperty(Max=2)] public List Groupings { get { return this._groupings; } set { this._groupings = value; } } // Check to see if Groupings property is set internal bool IsSetGroupings() { return this._groupings != null && this._groupings.Count > 0; } /// /// Gets and sets the property InstanceId. /// /// The identifier of the Amazon Connect instance. You can find /// the instance ID in the Amazon Resource Name (ARN) of the instance. /// /// [AWSProperty(Required=true, Min=1, Max=100)] public string InstanceId { get { return this._instanceId; } set { this._instanceId = value; } } // Check to see if InstanceId property is set internal bool IsSetInstanceId() { return this._instanceId != null; } /// /// Gets and sets the property MaxResults. /// /// The maximum number of results to return per page. /// /// [AWSProperty(Min=1, Max=100)] public int MaxResults { get { return this._maxResults.GetValueOrDefault(); } set { this._maxResults = value; } } // Check to see if MaxResults property is set internal bool IsSetMaxResults() { return this._maxResults.HasValue; } /// /// Gets and sets the property 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 string NextToken { get { return this._nextToken; } set { this._nextToken = value; } } // Check to see if NextToken property is set internal bool IsSetNextToken() { return this._nextToken != null; } /// /// Gets and sets the property 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. /// ///
///
[AWSProperty(Min=0, Max=1)] public List SortCriteria { get { return this._sortCriteria; } set { this._sortCriteria = value; } } // Check to see if SortCriteria property is set internal bool IsSetSortCriteria() { return this._sortCriteria != null && this._sortCriteria.Count > 0; } } }