AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
CreateMulticastGroupRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/iotwireless/IoTWirelessRequest.h>
11#include <aws/iotwireless/IoTWireless_EXPORTS.h>
12#include <aws/iotwireless/model/LoRaWANMulticast.h>
13#include <aws/iotwireless/model/Tag.h>
14
15#include <utility>
16
17namespace Aws {
18namespace IoTWireless {
19namespace Model {
20
24 public:
25 AWS_IOTWIRELESS_API CreateMulticastGroupRequest() = default;
26
27 // Service request name is the Operation name which will send this request out,
28 // each operation should has unique request name, so that we can get operation's name from this request.
29 // Note: this is not true for response, multiple operations may have the same response name,
30 // so we can not get operation's name from response.
31 inline virtual const char* GetServiceRequestName() const override { return "CreateMulticastGroup"; }
32
33 AWS_IOTWIRELESS_API Aws::String SerializePayload() const override;
34
36
37 inline const Aws::String& GetName() const { return m_name; }
38 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
39 template <typename NameT = Aws::String>
40 void SetName(NameT&& value) {
41 m_nameHasBeenSet = true;
42 m_name = std::forward<NameT>(value);
43 }
44 template <typename NameT = Aws::String>
46 SetName(std::forward<NameT>(value));
47 return *this;
48 }
50
52
55 inline const Aws::String& GetDescription() const { return m_description; }
56 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
57 template <typename DescriptionT = Aws::String>
58 void SetDescription(DescriptionT&& value) {
59 m_descriptionHasBeenSet = true;
60 m_description = std::forward<DescriptionT>(value);
61 }
62 template <typename DescriptionT = Aws::String>
64 SetDescription(std::forward<DescriptionT>(value));
65 return *this;
66 }
68
70
81 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
82 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
83 template <typename ClientRequestTokenT = Aws::String>
84 void SetClientRequestToken(ClientRequestTokenT&& value) {
85 m_clientRequestTokenHasBeenSet = true;
86 m_clientRequestToken = std::forward<ClientRequestTokenT>(value);
87 }
88 template <typename ClientRequestTokenT = Aws::String>
90 SetClientRequestToken(std::forward<ClientRequestTokenT>(value));
91 return *this;
92 }
94
96
97 inline const LoRaWANMulticast& GetLoRaWAN() const { return m_loRaWAN; }
98 inline bool LoRaWANHasBeenSet() const { return m_loRaWANHasBeenSet; }
99 template <typename LoRaWANT = LoRaWANMulticast>
100 void SetLoRaWAN(LoRaWANT&& value) {
101 m_loRaWANHasBeenSet = true;
102 m_loRaWAN = std::forward<LoRaWANT>(value);
103 }
104 template <typename LoRaWANT = LoRaWANMulticast>
106 SetLoRaWAN(std::forward<LoRaWANT>(value));
107 return *this;
108 }
110
112
113 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
114 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
115 template <typename TagsT = Aws::Vector<Tag>>
116 void SetTags(TagsT&& value) {
117 m_tagsHasBeenSet = true;
118 m_tags = std::forward<TagsT>(value);
119 }
120 template <typename TagsT = Aws::Vector<Tag>>
122 SetTags(std::forward<TagsT>(value));
123 return *this;
124 }
125 template <typename TagsT = Tag>
127 m_tagsHasBeenSet = true;
128 m_tags.emplace_back(std::forward<TagsT>(value));
129 return *this;
130 }
132 private:
133 Aws::String m_name;
134
135 Aws::String m_description;
136
137 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
138
139 LoRaWANMulticast m_loRaWAN;
140
141 Aws::Vector<Tag> m_tags;
142 bool m_nameHasBeenSet = false;
143 bool m_descriptionHasBeenSet = false;
144 bool m_clientRequestTokenHasBeenSet = true;
145 bool m_loRaWANHasBeenSet = false;
146 bool m_tagsHasBeenSet = false;
147};
148
149} // namespace Model
150} // namespace IoTWireless
151} // namespace Aws
AWS_IOTWIRELESS_API Aws::String SerializePayload() const override
CreateMulticastGroupRequest & WithName(NameT &&value)
CreateMulticastGroupRequest & WithDescription(DescriptionT &&value)
AWS_IOTWIRELESS_API CreateMulticastGroupRequest()=default
CreateMulticastGroupRequest & WithClientRequestToken(ClientRequestTokenT &&value)
CreateMulticastGroupRequest & AddTags(TagsT &&value)
CreateMulticastGroupRequest & WithLoRaWAN(LoRaWANT &&value)
CreateMulticastGroupRequest & WithTags(TagsT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector