AWS SDK for C++

AWS SDK for C++ Version 1.11.844

Loading...
Searching...
No Matches
NewPrivateVirtualInterface.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/directconnect/DirectConnect_EXPORTS.h>
10#include <aws/directconnect/model/AddressFamily.h>
11#include <aws/directconnect/model/Tag.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace DirectConnect {
23namespace Model {
24
31 public:
32 AWS_DIRECTCONNECT_API NewPrivateVirtualInterface() = default;
35 AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
43 inline const Aws::String& GetVirtualInterfaceName() const { return m_virtualInterfaceName; }
44 inline bool VirtualInterfaceNameHasBeenSet() const { return m_virtualInterfaceNameHasBeenSet; }
45 template <typename VirtualInterfaceNameT = Aws::String>
46 void SetVirtualInterfaceName(VirtualInterfaceNameT&& value) {
47 m_virtualInterfaceNameHasBeenSet = true;
48 m_virtualInterfaceName = std::forward<VirtualInterfaceNameT>(value);
49 }
50 template <typename VirtualInterfaceNameT = Aws::String>
51 NewPrivateVirtualInterface& WithVirtualInterfaceName(VirtualInterfaceNameT&& value) {
52 SetVirtualInterfaceName(std::forward<VirtualInterfaceNameT>(value));
53 return *this;
54 }
56
58
61 inline int GetVlan() const { return m_vlan; }
62 inline bool VlanHasBeenSet() const { return m_vlanHasBeenSet; }
63 inline void SetVlan(int value) {
64 m_vlanHasBeenSet = true;
65 m_vlan = value;
66 }
68 SetVlan(value);
69 return *this;
70 }
72
74
88 inline int GetAsn() const { return m_asn; }
89 inline bool AsnHasBeenSet() const { return m_asnHasBeenSet; }
90 inline void SetAsn(int value) {
91 m_asnHasBeenSet = true;
92 m_asn = value;
93 }
95 SetAsn(value);
96 return *this;
97 }
99
101
117 inline long long GetAsnLong() const { return m_asnLong; }
118 inline bool AsnLongHasBeenSet() const { return m_asnLongHasBeenSet; }
119 inline void SetAsnLong(long long value) {
120 m_asnLongHasBeenSet = true;
121 m_asnLong = value;
122 }
123 inline NewPrivateVirtualInterface& WithAsnLong(long long value) {
124 SetAsnLong(value);
125 return *this;
126 }
128
130
134 inline int GetMtu() const { return m_mtu; }
135 inline bool MtuHasBeenSet() const { return m_mtuHasBeenSet; }
136 inline void SetMtu(int value) {
137 m_mtuHasBeenSet = true;
138 m_mtu = value;
139 }
141 SetMtu(value);
142 return *this;
143 }
145
147
151 inline const Aws::String& GetAuthKey() const { return m_authKey; }
152 inline bool AuthKeyHasBeenSet() const { return m_authKeyHasBeenSet; }
153 template <typename AuthKeyT = Aws::String>
154 void SetAuthKey(AuthKeyT&& value) {
155 m_authKeyHasBeenSet = true;
156 m_authKey = std::forward<AuthKeyT>(value);
157 }
158 template <typename AuthKeyT = Aws::String>
160 SetAuthKey(std::forward<AuthKeyT>(value));
161 return *this;
162 }
164
166
169 inline const Aws::String& GetAmazonAddress() const { return m_amazonAddress; }
170 inline bool AmazonAddressHasBeenSet() const { return m_amazonAddressHasBeenSet; }
171 template <typename AmazonAddressT = Aws::String>
172 void SetAmazonAddress(AmazonAddressT&& value) {
173 m_amazonAddressHasBeenSet = true;
174 m_amazonAddress = std::forward<AmazonAddressT>(value);
175 }
176 template <typename AmazonAddressT = Aws::String>
178 SetAmazonAddress(std::forward<AmazonAddressT>(value));
179 return *this;
180 }
182
184
187 inline const Aws::String& GetCustomerAddress() const { return m_customerAddress; }
188 inline bool CustomerAddressHasBeenSet() const { return m_customerAddressHasBeenSet; }
189 template <typename CustomerAddressT = Aws::String>
190 void SetCustomerAddress(CustomerAddressT&& value) {
191 m_customerAddressHasBeenSet = true;
192 m_customerAddress = std::forward<CustomerAddressT>(value);
193 }
194 template <typename CustomerAddressT = Aws::String>
196 SetCustomerAddress(std::forward<CustomerAddressT>(value));
197 return *this;
198 }
200
202
205 inline AddressFamily GetAddressFamily() const { return m_addressFamily; }
206 inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; }
207 inline void SetAddressFamily(AddressFamily value) {
208 m_addressFamilyHasBeenSet = true;
209 m_addressFamily = value;
210 }
212 SetAddressFamily(value);
213 return *this;
214 }
216
218
221 inline const Aws::String& GetVirtualGatewayId() const { return m_virtualGatewayId; }
222 inline bool VirtualGatewayIdHasBeenSet() const { return m_virtualGatewayIdHasBeenSet; }
223 template <typename VirtualGatewayIdT = Aws::String>
224 void SetVirtualGatewayId(VirtualGatewayIdT&& value) {
225 m_virtualGatewayIdHasBeenSet = true;
226 m_virtualGatewayId = std::forward<VirtualGatewayIdT>(value);
227 }
228 template <typename VirtualGatewayIdT = Aws::String>
230 SetVirtualGatewayId(std::forward<VirtualGatewayIdT>(value));
231 return *this;
232 }
234
236
239 inline const Aws::String& GetDirectConnectGatewayId() const { return m_directConnectGatewayId; }
240 inline bool DirectConnectGatewayIdHasBeenSet() const { return m_directConnectGatewayIdHasBeenSet; }
241 template <typename DirectConnectGatewayIdT = Aws::String>
242 void SetDirectConnectGatewayId(DirectConnectGatewayIdT&& value) {
243 m_directConnectGatewayIdHasBeenSet = true;
244 m_directConnectGatewayId = std::forward<DirectConnectGatewayIdT>(value);
245 }
246 template <typename DirectConnectGatewayIdT = Aws::String>
247 NewPrivateVirtualInterface& WithDirectConnectGatewayId(DirectConnectGatewayIdT&& value) {
248 SetDirectConnectGatewayId(std::forward<DirectConnectGatewayIdT>(value));
249 return *this;
250 }
252
254
257 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
258 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
259 template <typename TagsT = Aws::Vector<Tag>>
260 void SetTags(TagsT&& value) {
261 m_tagsHasBeenSet = true;
262 m_tags = std::forward<TagsT>(value);
263 }
264 template <typename TagsT = Aws::Vector<Tag>>
266 SetTags(std::forward<TagsT>(value));
267 return *this;
268 }
269 template <typename TagsT = Tag>
271 m_tagsHasBeenSet = true;
272 m_tags.emplace_back(std::forward<TagsT>(value));
273 return *this;
274 }
276
278
281 inline bool GetEnableSiteLink() const { return m_enableSiteLink; }
282 inline bool EnableSiteLinkHasBeenSet() const { return m_enableSiteLinkHasBeenSet; }
283 inline void SetEnableSiteLink(bool value) {
284 m_enableSiteLinkHasBeenSet = true;
285 m_enableSiteLink = value;
286 }
288 SetEnableSiteLink(value);
289 return *this;
290 }
292
294
299 inline const Aws::String& GetRateLimit() const { return m_rateLimit; }
300 inline bool RateLimitHasBeenSet() const { return m_rateLimitHasBeenSet; }
301 template <typename RateLimitT = Aws::String>
302 void SetRateLimit(RateLimitT&& value) {
303 m_rateLimitHasBeenSet = true;
304 m_rateLimit = std::forward<RateLimitT>(value);
305 }
306 template <typename RateLimitT = Aws::String>
308 SetRateLimit(std::forward<RateLimitT>(value));
309 return *this;
310 }
312 private:
313 Aws::String m_virtualInterfaceName;
314
315 int m_vlan{0};
316
317 int m_asn{0};
318
319 long long m_asnLong{0};
320
321 int m_mtu{0};
322
323 Aws::String m_authKey;
324
325 Aws::String m_amazonAddress;
326
327 Aws::String m_customerAddress;
328
329 AddressFamily m_addressFamily{AddressFamily::NOT_SET};
330
331 Aws::String m_virtualGatewayId;
332
333 Aws::String m_directConnectGatewayId;
334
335 Aws::Vector<Tag> m_tags;
336
337 bool m_enableSiteLink{false};
338
339 Aws::String m_rateLimit;
340 bool m_virtualInterfaceNameHasBeenSet = false;
341 bool m_vlanHasBeenSet = false;
342 bool m_asnHasBeenSet = false;
343 bool m_asnLongHasBeenSet = false;
344 bool m_mtuHasBeenSet = false;
345 bool m_authKeyHasBeenSet = false;
346 bool m_amazonAddressHasBeenSet = false;
347 bool m_customerAddressHasBeenSet = false;
348 bool m_addressFamilyHasBeenSet = false;
349 bool m_virtualGatewayIdHasBeenSet = false;
350 bool m_directConnectGatewayIdHasBeenSet = false;
351 bool m_tagsHasBeenSet = false;
352 bool m_enableSiteLinkHasBeenSet = false;
353 bool m_rateLimitHasBeenSet = false;
354};
355
356} // namespace Model
357} // namespace DirectConnect
358} // namespace Aws
NewPrivateVirtualInterface & WithEnableSiteLink(bool value)
NewPrivateVirtualInterface & WithVirtualInterfaceName(VirtualInterfaceNameT &&value)
NewPrivateVirtualInterface & WithAuthKey(AuthKeyT &&value)
NewPrivateVirtualInterface & WithAmazonAddress(AmazonAddressT &&value)
AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
NewPrivateVirtualInterface & WithAsnLong(long long value)
AWS_DIRECTCONNECT_API NewPrivateVirtualInterface()=default
NewPrivateVirtualInterface & WithDirectConnectGatewayId(DirectConnectGatewayIdT &&value)
NewPrivateVirtualInterface & WithVirtualGatewayId(VirtualGatewayIdT &&value)
AWS_DIRECTCONNECT_API NewPrivateVirtualInterface & operator=(Aws::Utils::Json::JsonView jsonValue)
NewPrivateVirtualInterface & WithAddressFamily(AddressFamily value)
NewPrivateVirtualInterface & WithRateLimit(RateLimitT &&value)
AWS_DIRECTCONNECT_API NewPrivateVirtualInterface(Aws::Utils::Json::JsonView jsonValue)
NewPrivateVirtualInterface & WithCustomerAddress(CustomerAddressT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue