/** * 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 #include #include #include namespace Aws { namespace LexModelsV2 { namespace Model { /** */ class ListUtteranceMetricsRequest : public LexModelsV2Request { public: AWS_LEXMODELSV2_API ListUtteranceMetricsRequest(); // 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 "ListUtteranceMetrics"; } AWS_LEXMODELSV2_API Aws::String SerializePayload() const override; /** *

The identifier for the bot for which you want to retrieve utterance * metrics.

*/ inline const Aws::String& GetBotId() const{ return m_botId; } /** *

The identifier for the bot for which you want to retrieve utterance * metrics.

*/ inline bool BotIdHasBeenSet() const { return m_botIdHasBeenSet; } /** *

The identifier for the bot for which you want to retrieve utterance * metrics.

*/ inline void SetBotId(const Aws::String& value) { m_botIdHasBeenSet = true; m_botId = value; } /** *

The identifier for the bot for which you want to retrieve utterance * metrics.

*/ inline void SetBotId(Aws::String&& value) { m_botIdHasBeenSet = true; m_botId = std::move(value); } /** *

The identifier for the bot for which you want to retrieve utterance * metrics.

*/ inline void SetBotId(const char* value) { m_botIdHasBeenSet = true; m_botId.assign(value); } /** *

The identifier for the bot for which you want to retrieve utterance * metrics.

*/ inline ListUtteranceMetricsRequest& WithBotId(const Aws::String& value) { SetBotId(value); return *this;} /** *

The identifier for the bot for which you want to retrieve utterance * metrics.

*/ inline ListUtteranceMetricsRequest& WithBotId(Aws::String&& value) { SetBotId(std::move(value)); return *this;} /** *

The identifier for the bot for which you want to retrieve utterance * metrics.

*/ inline ListUtteranceMetricsRequest& WithBotId(const char* value) { SetBotId(value); return *this;} /** *

The date and time that marks the beginning of the range of time for which you * want to see utterance metrics.

*/ inline const Aws::Utils::DateTime& GetStartDateTime() const{ return m_startDateTime; } /** *

The date and time that marks the beginning of the range of time for which you * want to see utterance metrics.

*/ inline bool StartDateTimeHasBeenSet() const { return m_startDateTimeHasBeenSet; } /** *

The date and time that marks the beginning of the range of time for which you * want to see utterance metrics.

*/ inline void SetStartDateTime(const Aws::Utils::DateTime& value) { m_startDateTimeHasBeenSet = true; m_startDateTime = value; } /** *

The date and time that marks the beginning of the range of time for which you * want to see utterance metrics.

*/ inline void SetStartDateTime(Aws::Utils::DateTime&& value) { m_startDateTimeHasBeenSet = true; m_startDateTime = std::move(value); } /** *

The date and time that marks the beginning of the range of time for which you * want to see utterance metrics.

*/ inline ListUtteranceMetricsRequest& WithStartDateTime(const Aws::Utils::DateTime& value) { SetStartDateTime(value); return *this;} /** *

The date and time that marks the beginning of the range of time for which you * want to see utterance metrics.

*/ inline ListUtteranceMetricsRequest& WithStartDateTime(Aws::Utils::DateTime&& value) { SetStartDateTime(std::move(value)); return *this;} /** *

The date and time that marks the end of the range of time for which you want * to see utterance metrics.

*/ inline const Aws::Utils::DateTime& GetEndDateTime() const{ return m_endDateTime; } /** *

The date and time that marks the end of the range of time for which you want * to see utterance metrics.

*/ inline bool EndDateTimeHasBeenSet() const { return m_endDateTimeHasBeenSet; } /** *

The date and time that marks the end of the range of time for which you want * to see utterance metrics.

*/ inline void SetEndDateTime(const Aws::Utils::DateTime& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = value; } /** *

The date and time that marks the end of the range of time for which you want * to see utterance metrics.

*/ inline void SetEndDateTime(Aws::Utils::DateTime&& value) { m_endDateTimeHasBeenSet = true; m_endDateTime = std::move(value); } /** *

The date and time that marks the end of the range of time for which you want * to see utterance metrics.

*/ inline ListUtteranceMetricsRequest& WithEndDateTime(const Aws::Utils::DateTime& value) { SetEndDateTime(value); return *this;} /** *

The date and time that marks the end of the range of time for which you want * to see utterance metrics.

*/ inline ListUtteranceMetricsRequest& WithEndDateTime(Aws::Utils::DateTime&& value) { SetEndDateTime(std::move(value)); return *this;} /** *

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.

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

*/ inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; } /** *

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.

*/ inline void SetMetrics(const Aws::Vector& value) { m_metricsHasBeenSet = true; m_metrics = value; } /** *

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.

*/ inline void SetMetrics(Aws::Vector&& value) { m_metricsHasBeenSet = true; m_metrics = std::move(value); } /** *

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.

*/ inline ListUtteranceMetricsRequest& WithMetrics(const Aws::Vector& value) { SetMetrics(value); return *this;} /** *

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.

*/ inline ListUtteranceMetricsRequest& WithMetrics(Aws::Vector&& value) { SetMetrics(std::move(value)); return *this;} /** *

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.

*/ inline ListUtteranceMetricsRequest& AddMetrics(const AnalyticsUtteranceMetric& value) { m_metricsHasBeenSet = true; m_metrics.push_back(value); return *this; } /** *

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.

*/ inline ListUtteranceMetricsRequest& AddMetrics(AnalyticsUtteranceMetric&& value) { m_metricsHasBeenSet = true; m_metrics.push_back(std::move(value)); return *this; } /** *

A list of objects, each of which contains specifications for organizing the * results by time.

*/ inline const Aws::Vector& GetBinBy() const{ return m_binBy; } /** *

A list of objects, each of which contains specifications for organizing the * results by time.

*/ inline bool BinByHasBeenSet() const { return m_binByHasBeenSet; } /** *

A list of objects, each of which contains specifications for organizing the * results by time.

*/ inline void SetBinBy(const Aws::Vector& value) { m_binByHasBeenSet = true; m_binBy = value; } /** *

A list of objects, each of which contains specifications for organizing the * results by time.

*/ inline void SetBinBy(Aws::Vector&& value) { m_binByHasBeenSet = true; m_binBy = std::move(value); } /** *

A list of objects, each of which contains specifications for organizing the * results by time.

*/ inline ListUtteranceMetricsRequest& WithBinBy(const Aws::Vector& value) { SetBinBy(value); return *this;} /** *

A list of objects, each of which contains specifications for organizing the * results by time.

*/ inline ListUtteranceMetricsRequest& WithBinBy(Aws::Vector&& value) { SetBinBy(std::move(value)); return *this;} /** *

A list of objects, each of which contains specifications for organizing the * results by time.

*/ inline ListUtteranceMetricsRequest& AddBinBy(const AnalyticsBinBySpecification& value) { m_binByHasBeenSet = true; m_binBy.push_back(value); return *this; } /** *

A list of objects, each of which contains specifications for organizing the * results by time.

*/ inline ListUtteranceMetricsRequest& AddBinBy(AnalyticsBinBySpecification&& value) { m_binByHasBeenSet = true; m_binBy.push_back(std::move(value)); return *this; } /** *

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.

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

*/ inline bool GroupByHasBeenSet() const { return m_groupByHasBeenSet; } /** *

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.

*/ inline void SetGroupBy(const Aws::Vector& value) { m_groupByHasBeenSet = true; m_groupBy = value; } /** *

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.

*/ inline void SetGroupBy(Aws::Vector&& value) { m_groupByHasBeenSet = true; m_groupBy = std::move(value); } /** *

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.

*/ inline ListUtteranceMetricsRequest& WithGroupBy(const Aws::Vector& value) { SetGroupBy(value); return *this;} /** *

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.

*/ inline ListUtteranceMetricsRequest& WithGroupBy(Aws::Vector&& value) { SetGroupBy(std::move(value)); return *this;} /** *

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.

*/ inline ListUtteranceMetricsRequest& AddGroupBy(const AnalyticsUtteranceGroupBySpecification& value) { m_groupByHasBeenSet = true; m_groupBy.push_back(value); return *this; } /** *

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.

*/ inline ListUtteranceMetricsRequest& AddGroupBy(AnalyticsUtteranceGroupBySpecification&& value) { m_groupByHasBeenSet = true; m_groupBy.push_back(std::move(value)); return *this; } /** *

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.

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

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

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.

*/ inline void SetAttributes(const Aws::Vector& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

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.

*/ inline void SetAttributes(Aws::Vector&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

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.

*/ inline ListUtteranceMetricsRequest& WithAttributes(const Aws::Vector& value) { SetAttributes(value); return *this;} /** *

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.

*/ inline ListUtteranceMetricsRequest& WithAttributes(Aws::Vector&& value) { SetAttributes(std::move(value)); return *this;} /** *

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.

*/ inline ListUtteranceMetricsRequest& AddAttributes(const AnalyticsUtteranceAttribute& value) { m_attributesHasBeenSet = true; m_attributes.push_back(value); return *this; } /** *

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.

*/ inline ListUtteranceMetricsRequest& AddAttributes(AnalyticsUtteranceAttribute&& value) { m_attributesHasBeenSet = true; m_attributes.push_back(std::move(value)); return *this; } /** *

A list of objects, each of which describes a condition by which you want to * filter the results.

*/ inline const Aws::Vector& GetFilters() const{ return m_filters; } /** *

A list of objects, each of which describes a condition by which you want to * filter the results.

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

A list of objects, each of which describes a condition by which you want to * filter the results.

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

A list of objects, each of which describes a condition by which you want to * filter the results.

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

A list of objects, each of which describes a condition by which you want to * filter the results.

*/ inline ListUtteranceMetricsRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} /** *

A list of objects, each of which describes a condition by which you want to * filter the results.

*/ inline ListUtteranceMetricsRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} /** *

A list of objects, each of which describes a condition by which you want to * filter the results.

*/ inline ListUtteranceMetricsRequest& AddFilters(const AnalyticsUtteranceFilter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *

A list of objects, each of which describes a condition by which you want to * filter the results.

*/ inline ListUtteranceMetricsRequest& AddFilters(AnalyticsUtteranceFilter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } /** *

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.

*/ inline int GetMaxResults() const{ return m_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.

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

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.

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

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.

*/ inline ListUtteranceMetricsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

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.

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

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

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.

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

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.

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

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.

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

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.

*/ inline ListUtteranceMetricsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

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.

*/ inline ListUtteranceMetricsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

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.

*/ inline ListUtteranceMetricsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} private: Aws::String m_botId; bool m_botIdHasBeenSet = false; Aws::Utils::DateTime m_startDateTime; bool m_startDateTimeHasBeenSet = false; Aws::Utils::DateTime m_endDateTime; bool m_endDateTimeHasBeenSet = false; Aws::Vector m_metrics; bool m_metricsHasBeenSet = false; Aws::Vector m_binBy; bool m_binByHasBeenSet = false; Aws::Vector m_groupBy; bool m_groupByHasBeenSet = false; Aws::Vector m_attributes; bool m_attributesHasBeenSet = false; Aws::Vector m_filters; bool m_filtersHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws