AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
TransitGatewayPeeringAttachment.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/PeeringAttachmentStatus.h>
13#include <aws/ec2/model/PeeringTgwInfo.h>
14#include <aws/ec2/model/Tag.h>
15#include <aws/ec2/model/TransitGatewayAttachmentState.h>
16#include <aws/ec2/model/TransitGatewayPeeringAttachmentOptions.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Xml {
23class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace EC2 {
27namespace Model {
28
36 public:
37 AWS_EC2_API TransitGatewayPeeringAttachment() = default;
40
41 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
45
48 inline const Aws::String& GetTransitGatewayAttachmentId() const { return m_transitGatewayAttachmentId; }
49 inline bool TransitGatewayAttachmentIdHasBeenSet() const { return m_transitGatewayAttachmentIdHasBeenSet; }
50 template <typename TransitGatewayAttachmentIdT = Aws::String>
51 void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT&& value) {
52 m_transitGatewayAttachmentIdHasBeenSet = true;
53 m_transitGatewayAttachmentId = std::forward<TransitGatewayAttachmentIdT>(value);
54 }
55 template <typename TransitGatewayAttachmentIdT = Aws::String>
57 SetTransitGatewayAttachmentId(std::forward<TransitGatewayAttachmentIdT>(value));
58 return *this;
59 }
61
63
66 inline const Aws::String& GetAccepterTransitGatewayAttachmentId() const { return m_accepterTransitGatewayAttachmentId; }
67 inline bool AccepterTransitGatewayAttachmentIdHasBeenSet() const { return m_accepterTransitGatewayAttachmentIdHasBeenSet; }
68 template <typename AccepterTransitGatewayAttachmentIdT = Aws::String>
69 void SetAccepterTransitGatewayAttachmentId(AccepterTransitGatewayAttachmentIdT&& value) {
70 m_accepterTransitGatewayAttachmentIdHasBeenSet = true;
71 m_accepterTransitGatewayAttachmentId = std::forward<AccepterTransitGatewayAttachmentIdT>(value);
72 }
73 template <typename AccepterTransitGatewayAttachmentIdT = Aws::String>
74 TransitGatewayPeeringAttachment& WithAccepterTransitGatewayAttachmentId(AccepterTransitGatewayAttachmentIdT&& value) {
75 SetAccepterTransitGatewayAttachmentId(std::forward<AccepterTransitGatewayAttachmentIdT>(value));
76 return *this;
77 }
79
81
84 inline const PeeringTgwInfo& GetRequesterTgwInfo() const { return m_requesterTgwInfo; }
85 inline bool RequesterTgwInfoHasBeenSet() const { return m_requesterTgwInfoHasBeenSet; }
86 template <typename RequesterTgwInfoT = PeeringTgwInfo>
87 void SetRequesterTgwInfo(RequesterTgwInfoT&& value) {
88 m_requesterTgwInfoHasBeenSet = true;
89 m_requesterTgwInfo = std::forward<RequesterTgwInfoT>(value);
90 }
91 template <typename RequesterTgwInfoT = PeeringTgwInfo>
93 SetRequesterTgwInfo(std::forward<RequesterTgwInfoT>(value));
94 return *this;
95 }
97
99
102 inline const PeeringTgwInfo& GetAccepterTgwInfo() const { return m_accepterTgwInfo; }
103 inline bool AccepterTgwInfoHasBeenSet() const { return m_accepterTgwInfoHasBeenSet; }
104 template <typename AccepterTgwInfoT = PeeringTgwInfo>
105 void SetAccepterTgwInfo(AccepterTgwInfoT&& value) {
106 m_accepterTgwInfoHasBeenSet = true;
107 m_accepterTgwInfo = std::forward<AccepterTgwInfoT>(value);
108 }
109 template <typename AccepterTgwInfoT = PeeringTgwInfo>
111 SetAccepterTgwInfo(std::forward<AccepterTgwInfoT>(value));
112 return *this;
113 }
115
117
120 inline const TransitGatewayPeeringAttachmentOptions& GetOptions() const { return m_options; }
121 inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; }
122 template <typename OptionsT = TransitGatewayPeeringAttachmentOptions>
123 void SetOptions(OptionsT&& value) {
124 m_optionsHasBeenSet = true;
125 m_options = std::forward<OptionsT>(value);
126 }
127 template <typename OptionsT = TransitGatewayPeeringAttachmentOptions>
129 SetOptions(std::forward<OptionsT>(value));
130 return *this;
131 }
133
135
138 inline const PeeringAttachmentStatus& GetStatus() const { return m_status; }
139 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
140 template <typename StatusT = PeeringAttachmentStatus>
141 void SetStatus(StatusT&& value) {
142 m_statusHasBeenSet = true;
143 m_status = std::forward<StatusT>(value);
144 }
145 template <typename StatusT = PeeringAttachmentStatus>
147 SetStatus(std::forward<StatusT>(value));
148 return *this;
149 }
151
153
157 inline TransitGatewayAttachmentState GetState() const { return m_state; }
158 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
160 m_stateHasBeenSet = true;
161 m_state = value;
162 }
164 SetState(value);
165 return *this;
166 }
168
170
173 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
174 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
175 template <typename CreationTimeT = Aws::Utils::DateTime>
176 void SetCreationTime(CreationTimeT&& value) {
177 m_creationTimeHasBeenSet = true;
178 m_creationTime = std::forward<CreationTimeT>(value);
179 }
180 template <typename CreationTimeT = Aws::Utils::DateTime>
182 SetCreationTime(std::forward<CreationTimeT>(value));
183 return *this;
184 }
186
188
191 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
192 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
193 template <typename TagsT = Aws::Vector<Tag>>
194 void SetTags(TagsT&& value) {
195 m_tagsHasBeenSet = true;
196 m_tags = std::forward<TagsT>(value);
197 }
198 template <typename TagsT = Aws::Vector<Tag>>
200 SetTags(std::forward<TagsT>(value));
201 return *this;
202 }
203 template <typename TagsT = Tag>
205 m_tagsHasBeenSet = true;
206 m_tags.emplace_back(std::forward<TagsT>(value));
207 return *this;
208 }
210 private:
211 Aws::String m_transitGatewayAttachmentId;
212
213 Aws::String m_accepterTransitGatewayAttachmentId;
214
215 PeeringTgwInfo m_requesterTgwInfo;
216
217 PeeringTgwInfo m_accepterTgwInfo;
218
220
222
224
225 Aws::Utils::DateTime m_creationTime{};
226
227 Aws::Vector<Tag> m_tags;
228 bool m_transitGatewayAttachmentIdHasBeenSet = false;
229 bool m_accepterTransitGatewayAttachmentIdHasBeenSet = false;
230 bool m_requesterTgwInfoHasBeenSet = false;
231 bool m_accepterTgwInfoHasBeenSet = false;
232 bool m_optionsHasBeenSet = false;
233 bool m_statusHasBeenSet = false;
234 bool m_stateHasBeenSet = false;
235 bool m_creationTimeHasBeenSet = false;
236 bool m_tagsHasBeenSet = false;
237};
238
239} // namespace Model
240} // namespace EC2
241} // namespace Aws
TransitGatewayPeeringAttachment & WithState(TransitGatewayAttachmentState value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
TransitGatewayPeeringAttachment & AddTags(TagsT &&value)
void SetAccepterTransitGatewayAttachmentId(AccepterTransitGatewayAttachmentIdT &&value)
TransitGatewayPeeringAttachment & WithAccepterTransitGatewayAttachmentId(AccepterTransitGatewayAttachmentIdT &&value)
TransitGatewayPeeringAttachment & WithTags(TagsT &&value)
const TransitGatewayPeeringAttachmentOptions & GetOptions() const
TransitGatewayPeeringAttachment & WithOptions(OptionsT &&value)
TransitGatewayPeeringAttachment & WithAccepterTgwInfo(AccepterTgwInfoT &&value)
TransitGatewayPeeringAttachment & WithCreationTime(CreationTimeT &&value)
AWS_EC2_API TransitGatewayPeeringAttachment(const Aws::Utils::Xml::XmlNode &xmlNode)
TransitGatewayPeeringAttachment & WithRequesterTgwInfo(RequesterTgwInfoT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetTransitGatewayAttachmentId(TransitGatewayAttachmentIdT &&value)
TransitGatewayPeeringAttachment & WithTransitGatewayAttachmentId(TransitGatewayAttachmentIdT &&value)
TransitGatewayPeeringAttachment & WithStatus(StatusT &&value)
AWS_EC2_API TransitGatewayPeeringAttachment & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
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