AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
TransitGatewayVpcAttachment.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/TransitGatewayAttachmentState.h>
14#include <aws/ec2/model/TransitGatewayVpcAttachmentOptions.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 TransitGatewayVpcAttachment() = 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& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; }
46 inline bool TransitGatewayAttachmentIdHasBeenSet() const { return m_transitGatewayAttachmentIdHasBeenSet; }
47 template <typename TransitGatewayAttachmentIdT = Aws::String>
48 void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) {
49 m_transitGatewayAttachmentIdHasBeenSet = true;
50 m_transitGatewayAttachmentId = std::forward<TransitGatewayAttachmentIdT>(value);
51 }
52 template <typename TransitGatewayAttachmentIdT = Aws::String>
53 TransitGatewayVpcAttachment& WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) {
54 SetTransitGatewayAttachmentId(std::forward<TransitGatewayAttachmentIdT>(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& GetVpcId() const { return m_vpcId; }
82 inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
83 template <typename VpcIdT = Aws::String>
84 void SetVpcId(VpcIdT&& value) {
85 m_vpcIdHasBeenSet = true;
86 m_vpcId = std::forward<VpcIdT>(value);
87 }
88 template <typename VpcIdT = Aws::String>
90 SetVpcId(std::forward<VpcIdT>(value));
91 return *this;
92 }
94
96
99 inline const Aws::String& GetVpcOwnerId() const { return m_vpcOwnerId; }
100 inline bool VpcOwnerIdHasBeenSet() const { return m_vpcOwnerIdHasBeenSet; }
101 template <typename VpcOwnerIdT = Aws::String>
102 void SetVpcOwnerId(VpcOwnerIdT&& value) {
103 m_vpcOwnerIdHasBeenSet = true;
104 m_vpcOwnerId = std::forward<VpcOwnerIdT>(value);
105 }
106 template <typename VpcOwnerIdT = Aws::String>
108 SetVpcOwnerId(std::forward<VpcOwnerIdT>(value));
109 return *this;
110 }
112
114
118 inline TransitGatewayAttachmentState GetState() const { return m_state; }
119 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
121 m_stateHasBeenSet = true;
122 m_state = value;
123 }
125 SetState(value);
126 return *this;
127 }
129
131
134 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
135 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
136 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
137 void SetSubnetIds(SubnetIdsT&& value) {
138 m_subnetIdsHasBeenSet = true;
139 m_subnetIds = std::forward<SubnetIdsT>(value);
140 }
141 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
143 SetSubnetIds(std::forward<SubnetIdsT>(value));
144 return *this;
145 }
146 template <typename SubnetIdsT = Aws::String>
148 m_subnetIdsHasBeenSet = true;
149 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
150 return *this;
151 }
153
155
158 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
159 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
160 template <typename CreationTimeT = Aws::Utils::DateTime>
161 void SetCreationTime(CreationTimeT&& value) {
162 m_creationTimeHasBeenSet = true;
163 m_creationTime = std::forward<CreationTimeT>(value);
164 }
165 template <typename CreationTimeT = Aws::Utils::DateTime>
167 SetCreationTime(std::forward<CreationTimeT>(value));
168 return *this;
169 }
171
173
176 inline const TransitGatewayVpcAttachmentOptions& GetOptions() const { return m_options; }
177 inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
178 template <typename OptionsT = TransitGatewayVpcAttachmentOptions>
179 void SetOptions(OptionsT&& value) {
180 m_optionsHasBeenSet = true;
181 m_options = std::forward<OptionsT>(value);
182 }
183 template <typename OptionsT = TransitGatewayVpcAttachmentOptions>
185 SetOptions(std::forward<OptionsT>(value));
186 return *this;
187 }
189
191
194 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
195 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
196 template <typename TagsT = Aws::Vector<Tag>>
197 void SetTags(TagsT&& value) {
198 m_tagsHasBeenSet = true;
199 m_tags = std::forward<TagsT>(value);
200 }
201 template <typename TagsT = Aws::Vector<Tag>>
203 SetTags(std::forward<TagsT>(value));
204 return *this;
205 }
206 template <typename TagsT = Tag>
208 m_tagsHasBeenSet = true;
209 m_tags.emplace_back(std::forward<TagsT>(value));
210 return *this;
211 }
213 private:
214 Aws::String m_transitGatewayAttachmentId;
215
216 Aws::String m_transitGatewayId;
217
218 Aws::String m_vpcId;
219
220 Aws::String m_vpcOwnerId;
221
223
224 Aws::Vector<Aws::String> m_subnetIds;
225
226 Aws::Utils::DateTime m_creationTime{};
227
228 TransitGatewayVpcAttachmentOptions m_options;
229
230 Aws::Vector<Tag> m_tags;
231 bool m_transitGatewayAttachmentIdHasBeenSet = false;
232 bool m_transitGatewayIdHasBeenSet = false;
233 bool m_vpcIdHasBeenSet = false;
234 bool m_vpcOwnerIdHasBeenSet = false;
235 bool m_stateHasBeenSet = false;
236 bool m_subnetIdsHasBeenSet = false;
237 bool m_creationTimeHasBeenSet = false;
238 bool m_optionsHasBeenSet = false;
239 bool m_tagsHasBeenSet = false;
240};
241
242} // namespace Model
243} // namespace EC2
244} // namespace Aws
TransitGatewayVpcAttachment & WithVpcId(VpcIdT &&value)
void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
void SetState(TransitGatewayAttachmentState value)
TransitGatewayVpcAttachment & WithOptions(OptionsT &&value)
TransitGatewayVpcAttachment & AddSubnetIds(SubnetIdsT &&value)
TransitGatewayVpcAttachment & WithSubnetIds(SubnetIdsT &&value)
TransitGatewayVpcAttachment & WithTags(TagsT &&value)
TransitGatewayVpcAttachment & WithState(TransitGatewayAttachmentState value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
TransitGatewayVpcAttachment & WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT &&value)
TransitGatewayVpcAttachment & WithVpcOwnerId(VpcOwnerIdT &&value)
TransitGatewayVpcAttachment & WithTransitGatewayId(TransitGatewayIdT &&value)
AWS_EC2_API TransitGatewayVpcAttachment & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Utils::DateTime & GetCreationTime() const
const TransitGatewayVpcAttachmentOptions & GetOptions() const
AWS_EC2_API TransitGatewayVpcAttachment(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 TransitGatewayVpcAttachment()=default
TransitGatewayVpcAttachment & WithCreationTime(CreationTimeT &&value)
TransitGatewayVpcAttachment & AddTags(TagsT &&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