/* * 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 GetMetricDataV2 operation. /// Gets metric data from the specified Amazon Connect instance. /// /// /// /// GetMetricDataV2 offers more features than GetMetricData, /// the previous version of this API. It has new metrics, offers filtering at a metric /// level, and offers the ability to filter and group data by channels, queues, routing /// profiles, agents, and agent hierarchy levels. It can retrieve historical data for /// the last 35 days, in 24-hour intervals. /// /// /// /// For a description of the historical metrics that are supported by GetMetricDataV2 /// and GetMetricData, see Historical /// metrics definitions in the Amazon Connect Administrator's Guide. /// /// public partial class GetMetricDataV2Request : AmazonConnectRequest { private DateTime? _endTime; private List _filters = new List(); private List _groupings = new List(); private int? _maxResults; private List _metrics = new List(); private string _nextToken; private string _resourceArn; private DateTime? _startTime; /// /// Gets and sets the property EndTime. /// /// The timestamp, in UNIX Epoch time format, at which to end the reporting interval for /// the retrieval of historical metrics data. The time must be later than the start time /// timestamp. It cannot be later than the current timestamp. /// /// /// /// The time range between the start and end time must be less than 24 hours. /// /// [AWSProperty(Required=true)] public DateTime EndTime { get { return this._endTime.GetValueOrDefault(); } set { this._endTime = value; } } // Check to see if EndTime property is set internal bool IsSetEndTime() { return this._endTime.HasValue; } /// /// Gets and sets the property Filters. /// /// The filters to apply to returned metrics. You can filter on the following resources: /// ///
  • /// /// Queues /// ///
  • /// /// Routing profiles /// ///
  • /// /// Agents /// ///
  • /// /// Channels /// ///
  • /// /// User hierarchy groups /// ///
  • /// /// Feature /// ///
/// /// At least one filter must be passed from queues, routing profiles, agents, or user /// hierarchy groups. /// /// /// /// To filter by phone number, see Create /// a historical metrics report in the Amazon Connect Administrator's Guide. /// /// /// /// Note the following limits: /// ///
  • /// /// Filter keys: A maximum of 5 filter keys are supported in a single request. /// Valid filter keys: QUEUE | ROUTING_PROFILE | AGENT /// | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO /// | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR /// | AGENT_HIERARCHY_LEVEL_FIVE | FEATURE /// ///
  • /// /// Filter values: A maximum of 100 filter values are supported in a single request. /// VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. /// They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 /// request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of /// 100 filter values, along with 3 channel filters. /// /// /// /// contact_lens_conversational_analytics is a valid filterValue for the /// FEATURE filter key. It is available only to contacts analyzed by Contact /// Lens conversational analytics. /// ///
///
[AWSProperty(Required=true, Min=1, Max=5)] public List Filters { get { return this._filters; } set { this._filters = value; } } // Check to see if Filters property is set internal bool IsSetFilters() { return this._filters != null && this._filters.Count > 0; } /// /// Gets and sets the property Groupings. /// /// The grouping applied to the metrics that are returned. For example, when results are /// grouped by queue, the metrics returned are grouped by queue. The values that are returned /// apply to the metrics for each queue. They are not aggregated for all queues. /// /// /// /// If no grouping is specified, a summary of all metrics is returned. /// /// /// /// Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT /// | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO /// | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR /// | AGENT_HIERARCHY_LEVEL_FIVE /// /// [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 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 Metrics. /// /// The metrics to retrieve. Specify the name, groupings, and filters for each metric. /// The following historical metrics are available. For a description of each metric, /// see Historical /// metrics definitions in the Amazon Connect Administrator's Guide. /// ///
AGENT_ADHERENT_TIME
/// /// This metric is available only in Amazon Web Services Regions where Forecasting, /// capacity planning, and scheduling is available. /// /// /// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// /// ///
AGENT_NON_RESPONSE
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// /// ///
AGENT_OCCUPANCY
/// /// Unit: Percentage /// /// /// /// Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy /// ///
AGENT_SCHEDULE_ADHERENCE
/// /// This metric is available only in Amazon Web Services Regions where Forecasting, /// capacity planning, and scheduling is available. /// /// /// /// Unit: Percent /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AGENT_SCHEDULED_TIME
/// /// This metric is available only in Amazon Web Services Regions where Forecasting, /// capacity planning, and scheduling is available. /// /// /// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_ABANDON_TIME
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_AFTER_CONTACT_WORK_TIME
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, /// Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
AVG_AGENT_CONNECTING_TIME
/// /// Unit: Seconds /// /// /// /// Valid metric filter key: INITIATION_METHOD. For now, this metric only /// supports the following as INITIATION_METHOD: INBOUND | OUTBOUND /// | CALLBACK | API /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_AGENT_CONNECTING_TIME
/// /// Unit: Seconds /// /// /// /// Valid metric filter key: INITIATION_METHOD. For now, this metric only /// supports the following as INITIATION_METHOD: INBOUND | OUTBOUND /// | CALLBACK | API /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_CONTACT_DURATION
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, /// Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
AVG_CONVERSATION_DURATION
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_GREETING_TIME_AGENT
/// /// This metric is available only for contacts analyzed by Contact Lens conversational /// analytics. /// /// /// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_HANDLE_TIME
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, /// Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
AVG_HOLD_TIME
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, /// Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
AVG_HOLDS
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, /// Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
AVG_INTERACTION_AND_HOLD_TIME
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_INTERACTION_TIME
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
AVG_INTERRUPTIONS_AGENT
/// /// This metric is available only for contacts analyzed by Contact Lens conversational /// analytics. /// /// /// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_INTERRUPTION_TIME_AGENT
/// /// This metric is available only for contacts analyzed by Contact Lens conversational /// analytics. /// /// /// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_NON_TALK_TIME
/// /// This metric is available only for contacts analyzed by Contact Lens conversational /// analytics. /// /// /// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_QUEUE_ANSWER_TIME
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
AVG_TALK_TIME
/// /// This metric is available only for contacts analyzed by Contact Lens conversational /// analytics. /// /// /// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_TALK_TIME_AGENT
/// /// This metric is available only for contacts analyzed by Contact Lens conversational /// analytics. /// /// /// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
AVG_TALK_TIME_CUSTOMER
/// /// This metric is available only for contacts analyzed by Contact Lens conversational /// analytics. /// /// /// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
CONTACTS_ABANDONED
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
CONTACTS_CREATED
/// /// Unit: Count /// /// /// /// Valid metric filter key: INITIATION_METHOD /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
CONTACTS_HANDLED
/// /// Unit: Count /// /// /// /// Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON /// /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, /// Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
CONTACTS_HOLD_ABANDONS
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
CONTACTS_QUEUED
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
CONTACTS_TRANSFERRED_OUT
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, /// Feature /// /// /// /// Feature is a valid filter but not a valid grouping. /// ///
CONTACTS_TRANSFERRED_OUT_BY_AGENT
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
MAX_QUEUED_TIME
/// /// Unit: Seconds /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy /// ///
SERVICE_LEVEL
/// /// You can include up to 20 SERVICE_LEVEL metrics in a request. /// /// /// /// Unit: Percent /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile /// /// /// /// Threshold: For ThresholdValue, enter any whole number from 1 to 604800 /// (inclusive), in seconds. For Comparison, you must enter LT /// (for "Less than"). /// ///
SUM_CONTACTS_ANSWERED_IN_X
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile /// /// /// /// Threshold: For ThresholdValue, enter any whole number from 1 to 604800 /// (inclusive), in seconds. For Comparison, you must enter LT /// (for "Less than"). /// ///
SUM_CONTACTS_ABANDONED_IN_X
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile /// /// /// /// Threshold: For ThresholdValue, enter any whole number from 1 to 604800 /// (inclusive), in seconds. For Comparison, you must enter LT /// (for "Less than"). /// ///
SUM_CONTACTS_DISCONNECTED
/// /// Valid metric filter key: DISCONNECT_REASON /// /// /// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile /// ///
SUM_RETRY_CALLBACK_ATTEMPTS
/// /// Unit: Count /// /// /// /// Valid groupings and filters: Queue, Channel, Routing Profile /// ///
///
[AWSProperty(Required=true)] public List Metrics { get { return this._metrics; } set { this._metrics = value; } } // Check to see if Metrics property is set internal bool IsSetMetrics() { return this._metrics != null && this._metrics.Count > 0; } /// /// 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. /// /// [AWSProperty(Min=1, Max=2500)] 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 ResourceArn. /// /// The Amazon Resource Name (ARN) of the resource. This includes the instanceId /// an Amazon Connect instance. /// /// [AWSProperty(Required=true)] public string ResourceArn { get { return this._resourceArn; } set { this._resourceArn = value; } } // Check to see if ResourceArn property is set internal bool IsSetResourceArn() { return this._resourceArn != null; } /// /// Gets and sets the property StartTime. /// /// The timestamp, in UNIX Epoch time format, at which to start the reporting interval /// for the retrieval of historical metrics data. The time must be before the end time /// timestamp. The time range between the start and end time must be less than 24 hours. /// The start time cannot be earlier than 35 days before the time of the request. Historical /// metrics are available for 35 days. /// /// [AWSProperty(Required=true)] public DateTime StartTime { get { return this._startTime.GetValueOrDefault(); } set { this._startTime = value; } } // Check to see if StartTime property is set internal bool IsSetStartTime() { return this._startTime.HasValue; } } }