AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
TransitGatewayMulticastDomain.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/Tag.h>
13#include <aws/ec2/model/TransitGatewayMulticastDomainOptions.h>
14#include <aws/ec2/model/TransitGatewayMulticastDomainState.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Xml {
21class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace EC2 {
25namespace Model {
26
33 public:
34 AWS_EC2_API TransitGatewayMulticastDomain() = default;
37
38 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
40
42
45 inline const Aws::String& GetTransitGatewayMulticastDomainId() const { return m_transitGatewayMulticastDomainId; }
46 inline bool TransitGatewayMulticastDomainIdHasBeenSet() const { return m_transitGatewayMulticastDomainIdHasBeenSet; }
47 template <typename TransitGatewayMulticastDomainIdT = Aws::String>
48 void SetTransitGatewayMulticastDomainId(TransitGatewayMulticastDomainIdT&& value) {
49 m_transitGatewayMulticastDomainIdHasBeenSet = true;
50 m_transitGatewayMulticastDomainId = std::forward<TransitGatewayMulticastDomainIdT>(value);
51 }
52 template <typename TransitGatewayMulticastDomainIdT = Aws::String>
53 TransitGatewayMulticastDomain& WithTransitGatewayMulticastDomainId(TransitGatewayMulticastDomainIdT&& value) {
54 SetTransitGatewayMulticastDomainId(std::forward<TransitGatewayMulticastDomainIdT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetTransitGatewayId() const { return m_transitGatewayId; }
64 inline bool TransitGatewayIdHasBeenSet() const { return m_transitGatewayIdHasBeenSet; }
65 template <typename TransitGatewayIdT = Aws::String>
66 void SetTransitGatewayId(TransitGatewayIdT&& value) {
67 m_transitGatewayIdHasBeenSet = true;
68 m_transitGatewayId = std::forward<TransitGatewayIdT>(value);
69 }
70 template <typename TransitGatewayIdT = Aws::String>
72 SetTransitGatewayId(std::forward<TransitGatewayIdT>(value));
73 return *this;
74 }
76
78
81 inline const Aws::String& GetTransitGatewayMulticastDomainArn() const { return m_transitGatewayMulticastDomainArn; }
82 inline bool TransitGatewayMulticastDomainArnHasBeenSet() const { return m_transitGatewayMulticastDomainArnHasBeenSet; }
83 template <typename TransitGatewayMulticastDomainArnT = Aws::String>
84 void SetTransitGatewayMulticastDomainArn(TransitGatewayMulticastDomainArnT&& value) {
85 m_transitGatewayMulticastDomainArnHasBeenSet = true;
86 m_transitGatewayMulticastDomainArn = std::forward<TransitGatewayMulticastDomainArnT>(value);
87 }
88 template <typename TransitGatewayMulticastDomainArnT = Aws::String>
89 TransitGatewayMulticastDomain& WithTransitGatewayMulticastDomainArn(TransitGatewayMulticastDomainArnT&& value) {
90 SetTransitGatewayMulticastDomainArn(std::forward<TransitGatewayMulticastDomainArnT>(value));
91 return *this;
92 }
94
96
100 inline const Aws::String& GetOwnerId() const { return m_ownerId; }
101 inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; }
102 template <typename OwnerIdT = Aws::String>
103 void SetOwnerId(OwnerIdT&& value) {
104 m_ownerIdHasBeenSet = true;
105 m_ownerId = std::forward<OwnerIdT>(value);
106 }
107 template <typename OwnerIdT = Aws::String>
109 SetOwnerId(std::forward<OwnerIdT>(value));
110 return *this;
111 }
113
115
118 inline const TransitGatewayMulticastDomainOptions& GetOptions() const { return m_options; }
119 inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
120 template <typename OptionsT = TransitGatewayMulticastDomainOptions>
121 void SetOptions(OptionsT&& value) {
122 m_optionsHasBeenSet = true;
123 m_options = std::forward<OptionsT>(value);
124 }
125 template <typename OptionsT = TransitGatewayMulticastDomainOptions>
127 SetOptions(std::forward<OptionsT>(value));
128 return *this;
129 }
131
133
136 inline TransitGatewayMulticastDomainState GetState() const { return m_state; }
137 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
139 m_stateHasBeenSet = true;
140 m_state = value;
141 }
143 SetState(value);
144 return *this;
145 }
147
149
152 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
153 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
154 template <typename CreationTimeT = Aws::Utils::DateTime>
155 void SetCreationTime(CreationTimeT&& value) {
156 m_creationTimeHasBeenSet = true;
157 m_creationTime = std::forward<CreationTimeT>(value);
158 }
159 template <typename CreationTimeT = Aws::Utils::DateTime>
161 SetCreationTime(std::forward<CreationTimeT>(value));
162 return *this;
163 }
165
167
170 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
171 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
172 template <typename TagsT = Aws::Vector<Tag>>
173 void SetTags(TagsT&& value) {
174 m_tagsHasBeenSet = true;
175 m_tags = std::forward<TagsT>(value);
176 }
177 template <typename TagsT = Aws::Vector<Tag>>
179 SetTags(std::forward<TagsT>(value));
180 return *this;
181 }
182 template <typename TagsT = Tag>
184 m_tagsHasBeenSet = true;
185 m_tags.emplace_back(std::forward<TagsT>(value));
186 return *this;
187 }
189 private:
190 Aws::String m_transitGatewayMulticastDomainId;
191
192 Aws::String m_transitGatewayId;
193
194 Aws::String m_transitGatewayMulticastDomainArn;
195
196 Aws::String m_ownerId;
197
199
201
202 Aws::Utils::DateTime m_creationTime{};
203
204 Aws::Vector<Tag> m_tags;
205 bool m_transitGatewayMulticastDomainIdHasBeenSet = false;
206 bool m_transitGatewayIdHasBeenSet = false;
207 bool m_transitGatewayMulticastDomainArnHasBeenSet = false;
208 bool m_ownerIdHasBeenSet = false;
209 bool m_optionsHasBeenSet = false;
210 bool m_stateHasBeenSet = false;
211 bool m_creationTimeHasBeenSet = false;
212 bool m_tagsHasBeenSet = false;
213};
214
215} // namespace Model
216} // namespace EC2
217} // namespace Aws
TransitGatewayMulticastDomain & WithTransitGatewayMulticastDomainId(TransitGatewayMulticastDomainIdT &&value)
AWS_EC2_API TransitGatewayMulticastDomain(const Aws::Utils::Xml::XmlNode &xmlNode)
TransitGatewayMulticastDomain & WithOwnerId(OwnerIdT &&value)
void SetTransitGatewayMulticastDomainId(TransitGatewayMulticastDomainIdT &&value)
TransitGatewayMulticastDomain & WithTransitGatewayMulticastDomainArn(TransitGatewayMulticastDomainArnT &&value)
TransitGatewayMulticastDomain & AddTags(TagsT &&value)
const TransitGatewayMulticastDomainOptions & GetOptions() const
TransitGatewayMulticastDomainState GetState() const
TransitGatewayMulticastDomain & WithCreationTime(CreationTimeT &&value)
TransitGatewayMulticastDomain & WithTags(TagsT &&value)
void SetTransitGatewayMulticastDomainArn(TransitGatewayMulticastDomainArnT &&value)
TransitGatewayMulticastDomain & WithState(TransitGatewayMulticastDomainState value)
AWS_EC2_API TransitGatewayMulticastDomain & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
TransitGatewayMulticastDomain & WithTransitGatewayId(TransitGatewayIdT &&value)
void SetState(TransitGatewayMulticastDomainState value)
TransitGatewayMulticastDomain & WithOptions(OptionsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream