AWS SDK for C++

AWS SDK for C++ Version 1.11.844

Loading...
Searching...
No Matches
NewPublicVirtualInterfaceAllocation.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/RouteFilterPrefix.h>
12#include <aws/directconnect/model/Tag.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace DirectConnect {
24namespace Model {
25
33 public:
34 AWS_DIRECTCONNECT_API NewPublicVirtualInterfaceAllocation() = default;
37 AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
45 inline const Aws::String& GetVirtualInterfaceName() const { return m_virtualInterfaceName; }
46 inline bool VirtualInterfaceNameHasBeenSet() const { return m_virtualInterfaceNameHasBeenSet; }
47 template <typename VirtualInterfaceNameT = Aws::String>
48 void SetVirtualInterfaceName(VirtualInterfaceNameT&& value) {
49 m_virtualInterfaceNameHasBeenSet = true;
50 m_virtualInterfaceName = std::forward<VirtualInterfaceNameT>(value);
51 }
52 template <typename VirtualInterfaceNameT = Aws::String>
54 SetVirtualInterfaceName(std::forward<VirtualInterfaceNameT>(value));
55 return *this;
56 }
58
60
63 inline int GetVlan() const { return m_vlan; }
64 inline bool VlanHasBeenSet() const { return m_vlanHasBeenSet; }
65 inline void SetVlan(int value) {
66 m_vlanHasBeenSet = true;
67 m_vlan = value;
68 }
70 SetVlan(value);
71 return *this;
72 }
74
76
90 inline int GetAsn() const { return m_asn; }
91 inline bool AsnHasBeenSet() const { return m_asnHasBeenSet; }
92 inline void SetAsn(int value) {
93 m_asnHasBeenSet = true;
94 m_asn = value;
95 }
97 SetAsn(value);
98 return *this;
99 }
101
103
119 inline long long GetAsnLong() const { return m_asnLong; }
120 inline bool AsnLongHasBeenSet() const { return m_asnLongHasBeenSet; }
121 inline void SetAsnLong(long long value) {
122 m_asnLongHasBeenSet = true;
123 m_asnLong = value;
124 }
126 SetAsnLong(value);
127 return *this;
128 }
130
132
136 inline const Aws::String& GetAuthKey() const { return m_authKey; }
137 inline bool AuthKeyHasBeenSet() const { return m_authKeyHasBeenSet; }
138 template <typename AuthKeyT = Aws::String>
139 void SetAuthKey(AuthKeyT&& value) {
140 m_authKeyHasBeenSet = true;
141 m_authKey = std::forward<AuthKeyT>(value);
142 }
143 template <typename AuthKeyT = Aws::String>
145 SetAuthKey(std::forward<AuthKeyT>(value));
146 return *this;
147 }
149
151
154 inline const Aws::String& GetAmazonAddress() const { return m_amazonAddress; }
155 inline bool AmazonAddressHasBeenSet() const { return m_amazonAddressHasBeenSet; }
156 template <typename AmazonAddressT = Aws::String>
157 void SetAmazonAddress(AmazonAddressT&& value) {
158 m_amazonAddressHasBeenSet = true;
159 m_amazonAddress = std::forward<AmazonAddressT>(value);
160 }
161 template <typename AmazonAddressT = Aws::String>
163 SetAmazonAddress(std::forward<AmazonAddressT>(value));
164 return *this;
165 }
167
169
172 inline const Aws::String& GetCustomerAddress() const { return m_customerAddress; }
173 inline bool CustomerAddressHasBeenSet() const { return m_customerAddressHasBeenSet; }
174 template <typename CustomerAddressT = Aws::String>
175 void SetCustomerAddress(CustomerAddressT&& value) {
176 m_customerAddressHasBeenSet = true;
177 m_customerAddress = std::forward<CustomerAddressT>(value);
178 }
179 template <typename CustomerAddressT = Aws::String>
181 SetCustomerAddress(std::forward<CustomerAddressT>(value));
182 return *this;
183 }
185
187
190 inline AddressFamily GetAddressFamily() const { return m_addressFamily; }
191 inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; }
192 inline void SetAddressFamily(AddressFamily value) {
193 m_addressFamilyHasBeenSet = true;
194 m_addressFamily = value;
195 }
197 SetAddressFamily(value);
198 return *this;
199 }
201
203
207 inline const Aws::Vector<RouteFilterPrefix>& GetRouteFilterPrefixes() const { return m_routeFilterPrefixes; }
208 inline bool RouteFilterPrefixesHasBeenSet() const { return m_routeFilterPrefixesHasBeenSet; }
209 template <typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
210 void SetRouteFilterPrefixes(RouteFilterPrefixesT&& value) {
211 m_routeFilterPrefixesHasBeenSet = true;
212 m_routeFilterPrefixes = std::forward<RouteFilterPrefixesT>(value);
213 }
214 template <typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
216 SetRouteFilterPrefixes(std::forward<RouteFilterPrefixesT>(value));
217 return *this;
218 }
219 template <typename RouteFilterPrefixesT = RouteFilterPrefix>
221 m_routeFilterPrefixesHasBeenSet = true;
222 m_routeFilterPrefixes.emplace_back(std::forward<RouteFilterPrefixesT>(value));
223 return *this;
224 }
226
228
231 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
232 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
233 template <typename TagsT = Aws::Vector<Tag>>
234 void SetTags(TagsT&& value) {
235 m_tagsHasBeenSet = true;
236 m_tags = std::forward<TagsT>(value);
237 }
238 template <typename TagsT = Aws::Vector<Tag>>
240 SetTags(std::forward<TagsT>(value));
241 return *this;
242 }
243 template <typename TagsT = Tag>
245 m_tagsHasBeenSet = true;
246 m_tags.emplace_back(std::forward<TagsT>(value));
247 return *this;
248 }
250
252
257 inline const Aws::String& GetRateLimit() const { return m_rateLimit; }
258 inline bool RateLimitHasBeenSet() const { return m_rateLimitHasBeenSet; }
259 template <typename RateLimitT = Aws::String>
260 void SetRateLimit(RateLimitT&& value) {
261 m_rateLimitHasBeenSet = true;
262 m_rateLimit = std::forward<RateLimitT>(value);
263 }
264 template <typename RateLimitT = Aws::String>
266 SetRateLimit(std::forward<RateLimitT>(value));
267 return *this;
268 }
270 private:
271 Aws::String m_virtualInterfaceName;
272
273 int m_vlan{0};
274
275 int m_asn{0};
276
277 long long m_asnLong{0};
278
279 Aws::String m_authKey;
280
281 Aws::String m_amazonAddress;
282
283 Aws::String m_customerAddress;
284
285 AddressFamily m_addressFamily{AddressFamily::NOT_SET};
286
287 Aws::Vector<RouteFilterPrefix> m_routeFilterPrefixes;
288
289 Aws::Vector<Tag> m_tags;
290
291 Aws::String m_rateLimit;
292 bool m_virtualInterfaceNameHasBeenSet = false;
293 bool m_vlanHasBeenSet = false;
294 bool m_asnHasBeenSet = false;
295 bool m_asnLongHasBeenSet = false;
296 bool m_authKeyHasBeenSet = false;
297 bool m_amazonAddressHasBeenSet = false;
298 bool m_customerAddressHasBeenSet = false;
299 bool m_addressFamilyHasBeenSet = false;
300 bool m_routeFilterPrefixesHasBeenSet = false;
301 bool m_tagsHasBeenSet = false;
302 bool m_rateLimitHasBeenSet = false;
303};
304
305} // namespace Model
306} // namespace DirectConnect
307} // namespace Aws
AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
NewPublicVirtualInterfaceAllocation & WithVirtualInterfaceName(VirtualInterfaceNameT &&value)
NewPublicVirtualInterfaceAllocation & AddRouteFilterPrefixes(RouteFilterPrefixesT &&value)
NewPublicVirtualInterfaceAllocation & WithRouteFilterPrefixes(RouteFilterPrefixesT &&value)
AWS_DIRECTCONNECT_API NewPublicVirtualInterfaceAllocation(Aws::Utils::Json::JsonView jsonValue)
NewPublicVirtualInterfaceAllocation & WithAmazonAddress(AmazonAddressT &&value)
AWS_DIRECTCONNECT_API NewPublicVirtualInterfaceAllocation()=default
NewPublicVirtualInterfaceAllocation & WithCustomerAddress(CustomerAddressT &&value)
NewPublicVirtualInterfaceAllocation & WithAuthKey(AuthKeyT &&value)
NewPublicVirtualInterfaceAllocation & WithAddressFamily(AddressFamily value)
AWS_DIRECTCONNECT_API NewPublicVirtualInterfaceAllocation & operator=(Aws::Utils::Json::JsonView jsonValue)
NewPublicVirtualInterfaceAllocation & WithRateLimit(RateLimitT &&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