/*
* 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 models.lex.v2-2020-08-07.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.LexModelsV2.Model
{
///
/// Container for the parameters to the ListUtteranceMetrics operation.
///
///
/// To use this API operation, your IAM role must have permissions to perform the ListAggregatedUtterances
/// operation, which provides access to utterance-related analytics. See Viewing
/// utterance statistics for the IAM policy to apply to the IAM role.
///
///
///
/// Retrieves summary metrics for the utterances in your bot. The following fields are
/// required:
///
/// -
///
///
metrics
– A list of AnalyticsUtteranceMetric
/// objects. In each object, use the name
field to specify the metric to
/// calculate, the statistic
field to specify whether to calculate the Sum
,
/// Average
, or Max
number, and the order
field
/// to specify whether to sort the results in Ascending
or Descending
/// order.
///
/// -
///
///
startDateTime
and endDateTime
– Define a time range for
/// which you want to retrieve results.
///
///
///
/// Of the optional fields, you can organize the results in the following ways:
///
/// -
///
/// Use the
filters
field to filter the results, the groupBy
/// field to specify categories by which to group the results, and the binBy
/// field to specify time intervals by which to group the results.
///
/// -
///
/// Use the
maxResults
field to limit the number of results to return in
/// a single response and the nextToken
field to return the next batch of
/// results if the response does not return the full set of results.
///
///
///
/// Note that an order
field exists in both binBy
and metrics
.
/// Currently, you can specify it in either field, but not in both.
///
///
public partial class ListUtteranceMetricsRequest : AmazonLexModelsV2Request
{
private List _attributes = new List();
private List _binBy = new List();
private string _botId;
private DateTime? _endDateTime;
private List _filters = new List();
private List _groupBy = new List();
private int? _maxResults;
private List _metrics = new List();
private string _nextToken;
private DateTime? _startDateTime;
///
/// Gets and sets the property Attributes.
///
/// A list containing attributes related to the utterance that you want the response to
/// return. The following attributes are possible:
///
/// -
///
///
LastUsedIntent
– The last used intent at the time of the utterance.
///
///
///
[AWSProperty(Min=1, Max=1)]
public List Attributes
{
get { return this._attributes; }
set { this._attributes = value; }
}
// Check to see if Attributes property is set
internal bool IsSetAttributes()
{
return this._attributes != null && this._attributes.Count > 0;
}
///
/// Gets and sets the property BinBy.
///
/// A list of objects, each of which contains specifications for organizing the results
/// by time.
///
///
[AWSProperty(Min=1, Max=1)]
public List BinBy
{
get { return this._binBy; }
set { this._binBy = value; }
}
// Check to see if BinBy property is set
internal bool IsSetBinBy()
{
return this._binBy != null && this._binBy.Count > 0;
}
///
/// Gets and sets the property BotId.
///
/// The identifier for the bot for which you want to retrieve utterance metrics.
///
///
[AWSProperty(Required=true, Min=10, Max=10)]
public string BotId
{
get { return this._botId; }
set { this._botId = value; }
}
// Check to see if BotId property is set
internal bool IsSetBotId()
{
return this._botId != null;
}
///
/// Gets and sets the property EndDateTime.
///
/// The date and time that marks the end of the range of time for which you want to see
/// utterance metrics.
///
///
[AWSProperty(Required=true)]
public DateTime EndDateTime
{
get { return this._endDateTime.GetValueOrDefault(); }
set { this._endDateTime = value; }
}
// Check to see if EndDateTime property is set
internal bool IsSetEndDateTime()
{
return this._endDateTime.HasValue;
}
///
/// Gets and sets the property Filters.
///
/// A list of objects, each of which describes a condition by which you want to filter
/// the results.
///
///
[AWSProperty(Min=1, Max=9)]
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 GroupBy.
///
/// A list of objects, each of which specifies how to group the results. You can group
/// by the following criteria:
///
/// -
///
///
UtteranceText
– The transcription of the utterance.
///
/// -
///
///
UtteranceState
– The state of the utterance. The possible states are
/// detailed in Key
/// definitions in the user guide.
///
///
///
[AWSProperty(Min=1, Max=2)]
public List GroupBy
{
get { return this._groupBy; }
set { this._groupBy = value; }
}
// Check to see if GroupBy property is set
internal bool IsSetGroupBy()
{
return this._groupBy != null && this._groupBy.Count > 0;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of results to return in each page of results. If there are fewer
/// results than the maximum page size, only the actual number of results are returned.
///
///
[AWSProperty(Min=1, Max=1000)]
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.
///
/// A list of objects, each of which contains a metric you want to list, the statistic
/// for the metric you want to return, and the method by which to organize the results.
///
///
[AWSProperty(Required=true, Min=1, Max=4)]
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.
///
/// If the response from the ListUtteranceMetrics operation contains more results than
/// specified in the maxResults parameter, a token is returned in the response.
///
///
///
/// Use the returned token in the nextToken parameter of a ListUtteranceMetrics request
/// to return the next page of results. For a complete set of results, call the ListUtteranceMetrics
/// operation until the nextToken returned in the response is null.
///
///
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 StartDateTime.
///
/// The date and time that marks the beginning of the range of time for which you want
/// to see utterance metrics.
///
///
[AWSProperty(Required=true)]
public DateTime StartDateTime
{
get { return this._startDateTime.GetValueOrDefault(); }
set { this._startDateTime = value; }
}
// Check to see if StartDateTime property is set
internal bool IsSetStartDateTime()
{
return this._startDateTime.HasValue;
}
}
}