AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
MessageGroup.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/lexv2-models/LexModelsV2_EXPORTS.h>
9#include <aws/lexv2-models/model/Message.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace LexModelsV2 {
21namespace Model {
22
30 public:
31 AWS_LEXMODELSV2_API MessageGroup() = default;
32 AWS_LEXMODELSV2_API MessageGroup(Aws::Utils::Json::JsonView jsonValue);
33 AWS_LEXMODELSV2_API MessageGroup& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Message& GetMessage() const { return m_message; }
41 inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
42 template <typename MessageT = Message>
43 void SetMessage(MessageT&& value) {
44 m_messageHasBeenSet = true;
45 m_message = std::forward<MessageT>(value);
46 }
47 template <typename MessageT = Message>
48 MessageGroup& WithMessage(MessageT&& value) {
49 SetMessage(std::forward<MessageT>(value));
50 return *this;
51 }
53
55
60 inline const Aws::Vector<Message>& GetVariations() const { return m_variations; }
61 inline bool VariationsHasBeenSet() const { return m_variationsHasBeenSet; }
62 template <typename VariationsT = Aws::Vector<Message>>
63 void SetVariations(VariationsT&& value) {
64 m_variationsHasBeenSet = true;
65 m_variations = std::forward<VariationsT>(value);
66 }
67 template <typename VariationsT = Aws::Vector<Message>>
68 MessageGroup& WithVariations(VariationsT&& value) {
69 SetVariations(std::forward<VariationsT>(value));
70 return *this;
71 }
72 template <typename VariationsT = Message>
73 MessageGroup& AddVariations(VariationsT&& value) {
74 m_variationsHasBeenSet = true;
75 m_variations.emplace_back(std::forward<VariationsT>(value));
76 return *this;
77 }
79 private:
80 Message m_message;
81
82 Aws::Vector<Message> m_variations;
83 bool m_messageHasBeenSet = false;
84 bool m_variationsHasBeenSet = false;
85};
86
87} // namespace Model
88} // namespace LexModelsV2
89} // namespace Aws
AWS_LEXMODELSV2_API MessageGroup(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Message > & GetVariations() const
MessageGroup & WithVariations(VariationsT &&value)
AWS_LEXMODELSV2_API MessageGroup & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_LEXMODELSV2_API MessageGroup()=default
MessageGroup & WithMessage(MessageT &&value)
const Message & GetMessage() const
MessageGroup & AddVariations(VariationsT &&value)
AWS_LEXMODELSV2_API Aws::Utils::Json::JsonValue Jsonize() const
void SetVariations(VariationsT &&value)
void SetMessage(MessageT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue