AWS SDK for C++

AWS SDK for C++ Version 1.11.844

Loading...
Searching...
No Matches
NewPublicVirtualInterface.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
32 public:
33 AWS_DIRECTCONNECT_API NewPublicVirtualInterface() = default;
34 AWS_DIRECTCONNECT_API NewPublicVirtualInterface(Aws::Utils::Json::JsonView jsonValue);
36 AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
44 inline const Aws::String& GetVirtualInterfaceName() const { return m_virtualInterfaceName; }
45 inline bool VirtualInterfaceNameHasBeenSet() const { return m_virtualInterfaceNameHasBeenSet; }
46 template <typename VirtualInterfaceNameT = Aws::String>
47 void SetVirtualInterfaceName(VirtualInterfaceNameT&& value) {
48 m_virtualInterfaceNameHasBeenSet = true;
49 m_virtualInterfaceName = std::forward<VirtualInterfaceNameT>(value);
50 }
51 template <typename VirtualInterfaceNameT = Aws::String>
52 NewPublicVirtualInterface& WithVirtualInterfaceName(VirtualInterfaceNameT&& value) {
53 SetVirtualInterfaceName(std::forward<VirtualInterfaceNameT>(value));
54 return *this;
55 }
57
59
62 inline int GetVlan() const { return m_vlan; }
63 inline bool VlanHasBeenSet() const { return m_vlanHasBeenSet; }
64 inline void SetVlan(int value) {
65 m_vlanHasBeenSet = true;
66 m_vlan = value;
67 }
69 SetVlan(value);
70 return *this;
71 }
73
75
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 NewPublicVirtualInterface& WithAsnLong(long long value) {
124 SetAsnLong(value);
125 return *this;
126 }
128
130
134 inline const Aws::String& GetAuthKey() const { return m_authKey; }
135 inline bool AuthKeyHasBeenSet() const { return m_authKeyHasBeenSet; }
136 template <typename AuthKeyT = Aws::String>
137 void SetAuthKey(AuthKeyT&& value) {
138 m_authKeyHasBeenSet = true;
139 m_authKey = std::forward<AuthKeyT>(value);
140 }
141 template <typename AuthKeyT = Aws::String>
143 SetAuthKey(std::forward<AuthKeyT>(value));
144 return *this;
145 }
147
149
152 inline const Aws::String& GetAmazonAddress() const { return m_amazonAddress; }
153 inline bool AmazonAddressHasBeenSet() const { return m_amazonAddressHasBeenSet; }
154 template <typename AmazonAddressT = Aws::String>
155 void SetAmazonAddress(AmazonAddressT&& value) {
156 m_amazonAddressHasBeenSet = true;
157 m_amazonAddress = std::forward<AmazonAddressT>(value);
158 }
159 template <typename AmazonAddressT = Aws::String>
161 SetAmazonAddress(std::forward<AmazonAddressT>(value));
162 return *this;
163 }
165
167
170 inline const Aws::String& GetCustomerAddress() const { return m_customerAddress; }
171 inline bool CustomerAddressHasBeenSet() const { return m_customerAddressHasBeenSet; }
172 template <typename CustomerAddressT = Aws::String>
173 void SetCustomerAddress(CustomerAddressT&& value) {
174 m_customerAddressHasBeenSet = true;
175 m_customerAddress = std::forward<CustomerAddressT>(value);
176 }
177 template <typename CustomerAddressT = Aws::String>
179 SetCustomerAddress(std::forward<CustomerAddressT>(value));
180 return *this;
181 }
183
185
188 inline AddressFamily GetAddressFamily() const { return m_addressFamily; }
189 inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; }
190 inline void SetAddressFamily(AddressFamily value) {
191 m_addressFamilyHasBeenSet = true;
192 m_addressFamily = value;
193 }
195 SetAddressFamily(value);
196 return *this;
197 }
199
201
205 inline const Aws::Vector<RouteFilterPrefix>& GetRouteFilterPrefixes() const { return m_routeFilterPrefixes; }
206 inline bool RouteFilterPrefixesHasBeenSet() const { return m_routeFilterPrefixesHasBeenSet; }
207 template <typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
208 void SetRouteFilterPrefixes(RouteFilterPrefixesT&& value) {
209 m_routeFilterPrefixesHasBeenSet = true;
210 m_routeFilterPrefixes = std::forward<RouteFilterPrefixesT>(value);
211 }
212 template <typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
213 NewPublicVirtualInterface& WithRouteFilterPrefixes(RouteFilterPrefixesT&& value) {
214 SetRouteFilterPrefixes(std::forward<RouteFilterPrefixesT>(value));
215 return *this;
216 }
217 template <typename RouteFilterPrefixesT = RouteFilterPrefix>
218 NewPublicVirtualInterface& AddRouteFilterPrefixes(RouteFilterPrefixesT&& value) {
219 m_routeFilterPrefixesHasBeenSet = true;
220 m_routeFilterPrefixes.emplace_back(std::forward<RouteFilterPrefixesT>(value));
221 return *this;
222 }
224
226
229 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
230 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
231 template <typename TagsT = Aws::Vector<Tag>>
232 void SetTags(TagsT&& value) {
233 m_tagsHasBeenSet = true;
234 m_tags = std::forward<TagsT>(value);
235 }
236 template <typename TagsT = Aws::Vector<Tag>>
238 SetTags(std::forward<TagsT>(value));
239 return *this;
240 }
241 template <typename TagsT = Tag>
243 m_tagsHasBeenSet = true;
244 m_tags.emplace_back(std::forward<TagsT>(value));
245 return *this;
246 }
248
250
255 inline const Aws::String& GetRateLimit() const { return m_rateLimit; }
256 inline bool RateLimitHasBeenSet() const { return m_rateLimitHasBeenSet; }
257 template <typename RateLimitT = Aws::String>
258 void SetRateLimit(RateLimitT&& value) {
259 m_rateLimitHasBeenSet = true;
260 m_rateLimit = std::forward<RateLimitT>(value);
261 }
262 template <typename RateLimitT = Aws::String>
264 SetRateLimit(std::forward<RateLimitT>(value));
265 return *this;
266 }
268 private:
269 Aws::String m_virtualInterfaceName;
270
271 int m_vlan{0};
272
273 int m_asn{0};
274
275 long long m_asnLong{0};
276
277 Aws::String m_authKey;
278
279 Aws::String m_amazonAddress;
280
281 Aws::String m_customerAddress;
282
283 AddressFamily m_addressFamily{AddressFamily::NOT_SET};
284
285 Aws::Vector<RouteFilterPrefix> m_routeFilterPrefixes;
286
287 Aws::Vector<Tag> m_tags;
288
289 Aws::String m_rateLimit;
290 bool m_virtualInterfaceNameHasBeenSet = false;
291 bool m_vlanHasBeenSet = false;
292 bool m_asnHasBeenSet = false;
293 bool m_asnLongHasBeenSet = false;
294 bool m_authKeyHasBeenSet = false;
295 bool m_amazonAddressHasBeenSet = false;
296 bool m_customerAddressHasBeenSet = false;
297 bool m_addressFamilyHasBeenSet = false;
298 bool m_routeFilterPrefixesHasBeenSet = false;
299 bool m_tagsHasBeenSet = false;
300 bool m_rateLimitHasBeenSet = false;
301};
302
303} // namespace Model
304} // namespace DirectConnect
305} // namespace Aws
NewPublicVirtualInterface & WithCustomerAddress(CustomerAddressT &&value)
NewPublicVirtualInterface & WithAddressFamily(AddressFamily value)
NewPublicVirtualInterface & AddRouteFilterPrefixes(RouteFilterPrefixesT &&value)
NewPublicVirtualInterface & WithRateLimit(RateLimitT &&value)
NewPublicVirtualInterface & WithAsnLong(long long value)
AWS_DIRECTCONNECT_API NewPublicVirtualInterface & operator=(Aws::Utils::Json::JsonView jsonValue)
NewPublicVirtualInterface & WithAmazonAddress(AmazonAddressT &&value)
AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
NewPublicVirtualInterface & WithAuthKey(AuthKeyT &&value)
NewPublicVirtualInterface & WithVirtualInterfaceName(VirtualInterfaceNameT &&value)
NewPublicVirtualInterface & WithRouteFilterPrefixes(RouteFilterPrefixesT &&value)
NewPublicVirtualInterface & WithTags(TagsT &&value)
AWS_DIRECTCONNECT_API NewPublicVirtualInterface()=default
AWS_DIRECTCONNECT_API NewPublicVirtualInterface(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< RouteFilterPrefix > & GetRouteFilterPrefixes() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue