/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LexModelsV2 { namespace Model { /** *

Specifies attributes for sorting a list of utterances.

See * Also:

AWS * API Reference

*/ class AggregatedUtterancesSortBy { public: AWS_LEXMODELSV2_API AggregatedUtterancesSortBy(); AWS_LEXMODELSV2_API AggregatedUtterancesSortBy(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API AggregatedUtterancesSortBy& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The utterance attribute to sort by.

*/ inline const AggregatedUtterancesSortAttribute& GetAttribute() const{ return m_attribute; } /** *

The utterance attribute to sort by.

*/ inline bool AttributeHasBeenSet() const { return m_attributeHasBeenSet; } /** *

The utterance attribute to sort by.

*/ inline void SetAttribute(const AggregatedUtterancesSortAttribute& value) { m_attributeHasBeenSet = true; m_attribute = value; } /** *

The utterance attribute to sort by.

*/ inline void SetAttribute(AggregatedUtterancesSortAttribute&& value) { m_attributeHasBeenSet = true; m_attribute = std::move(value); } /** *

The utterance attribute to sort by.

*/ inline AggregatedUtterancesSortBy& WithAttribute(const AggregatedUtterancesSortAttribute& value) { SetAttribute(value); return *this;} /** *

The utterance attribute to sort by.

*/ inline AggregatedUtterancesSortBy& WithAttribute(AggregatedUtterancesSortAttribute&& value) { SetAttribute(std::move(value)); return *this;} /** *

Specifies whether to sort the aggregated utterances in ascending or * descending order.

*/ inline const SortOrder& GetOrder() const{ return m_order; } /** *

Specifies whether to sort the aggregated utterances in ascending or * descending order.

*/ inline bool OrderHasBeenSet() const { return m_orderHasBeenSet; } /** *

Specifies whether to sort the aggregated utterances in ascending or * descending order.

*/ inline void SetOrder(const SortOrder& value) { m_orderHasBeenSet = true; m_order = value; } /** *

Specifies whether to sort the aggregated utterances in ascending or * descending order.

*/ inline void SetOrder(SortOrder&& value) { m_orderHasBeenSet = true; m_order = std::move(value); } /** *

Specifies whether to sort the aggregated utterances in ascending or * descending order.

*/ inline AggregatedUtterancesSortBy& WithOrder(const SortOrder& value) { SetOrder(value); return *this;} /** *

Specifies whether to sort the aggregated utterances in ascending or * descending order.

*/ inline AggregatedUtterancesSortBy& WithOrder(SortOrder&& value) { SetOrder(std::move(value)); return *this;} private: AggregatedUtterancesSortAttribute m_attribute; bool m_attributeHasBeenSet = false; SortOrder m_order; bool m_orderHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws