AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
NewPublicVirtualInterfaceAllocation.h
1
6#pragma once
7#include <aws/directconnect/DirectConnect_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/directconnect/model/AddressFamily.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/directconnect/model/RouteFilterPrefix.h>
12#include <aws/directconnect/model/Tag.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace DirectConnect
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_DIRECTCONNECT_API NewPublicVirtualInterfaceAllocation() = default;
42 AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
51 inline const Aws::String& GetVirtualInterfaceName() const { return m_virtualInterfaceName; }
52 inline bool VirtualInterfaceNameHasBeenSet() const { return m_virtualInterfaceNameHasBeenSet; }
53 template<typename VirtualInterfaceNameT = Aws::String>
54 void SetVirtualInterfaceName(VirtualInterfaceNameT&& value) { m_virtualInterfaceNameHasBeenSet = true; m_virtualInterfaceName = std::forward<VirtualInterfaceNameT>(value); }
55 template<typename VirtualInterfaceNameT = Aws::String>
56 NewPublicVirtualInterfaceAllocation& WithVirtualInterfaceName(VirtualInterfaceNameT&& value) { SetVirtualInterfaceName(std::forward<VirtualInterfaceNameT>(value)); return *this;}
58
60
63 inline int GetVlan() const { return m_vlan; }
64 inline bool VlanHasBeenSet() const { return m_vlanHasBeenSet; }
65 inline void SetVlan(int value) { m_vlanHasBeenSet = true; m_vlan = value; }
66 inline NewPublicVirtualInterfaceAllocation& WithVlan(int value) { SetVlan(value); return *this;}
68
70
74 inline int GetAsn() const { return m_asn; }
75 inline bool AsnHasBeenSet() const { return m_asnHasBeenSet; }
76 inline void SetAsn(int value) { m_asnHasBeenSet = true; m_asn = value; }
77 inline NewPublicVirtualInterfaceAllocation& WithAsn(int value) { SetAsn(value); return *this;}
79
81
85 inline const Aws::String& GetAuthKey() const { return m_authKey; }
86 inline bool AuthKeyHasBeenSet() const { return m_authKeyHasBeenSet; }
87 template<typename AuthKeyT = Aws::String>
88 void SetAuthKey(AuthKeyT&& value) { m_authKeyHasBeenSet = true; m_authKey = std::forward<AuthKeyT>(value); }
89 template<typename AuthKeyT = Aws::String>
90 NewPublicVirtualInterfaceAllocation& WithAuthKey(AuthKeyT&& value) { SetAuthKey(std::forward<AuthKeyT>(value)); return *this;}
92
94
97 inline const Aws::String& GetAmazonAddress() const { return m_amazonAddress; }
98 inline bool AmazonAddressHasBeenSet() const { return m_amazonAddressHasBeenSet; }
99 template<typename AmazonAddressT = Aws::String>
100 void SetAmazonAddress(AmazonAddressT&& value) { m_amazonAddressHasBeenSet = true; m_amazonAddress = std::forward<AmazonAddressT>(value); }
101 template<typename AmazonAddressT = Aws::String>
102 NewPublicVirtualInterfaceAllocation& WithAmazonAddress(AmazonAddressT&& value) { SetAmazonAddress(std::forward<AmazonAddressT>(value)); return *this;}
104
106
109 inline const Aws::String& GetCustomerAddress() const { return m_customerAddress; }
110 inline bool CustomerAddressHasBeenSet() const { return m_customerAddressHasBeenSet; }
111 template<typename CustomerAddressT = Aws::String>
112 void SetCustomerAddress(CustomerAddressT&& value) { m_customerAddressHasBeenSet = true; m_customerAddress = std::forward<CustomerAddressT>(value); }
113 template<typename CustomerAddressT = Aws::String>
114 NewPublicVirtualInterfaceAllocation& WithCustomerAddress(CustomerAddressT&& value) { SetCustomerAddress(std::forward<CustomerAddressT>(value)); return *this;}
116
118
121 inline AddressFamily GetAddressFamily() const { return m_addressFamily; }
122 inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; }
123 inline void SetAddressFamily(AddressFamily value) { m_addressFamilyHasBeenSet = true; m_addressFamily = value; }
126
128
132 inline const Aws::Vector<RouteFilterPrefix>& GetRouteFilterPrefixes() const { return m_routeFilterPrefixes; }
133 inline bool RouteFilterPrefixesHasBeenSet() const { return m_routeFilterPrefixesHasBeenSet; }
134 template<typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
135 void SetRouteFilterPrefixes(RouteFilterPrefixesT&& value) { m_routeFilterPrefixesHasBeenSet = true; m_routeFilterPrefixes = std::forward<RouteFilterPrefixesT>(value); }
136 template<typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
137 NewPublicVirtualInterfaceAllocation& WithRouteFilterPrefixes(RouteFilterPrefixesT&& value) { SetRouteFilterPrefixes(std::forward<RouteFilterPrefixesT>(value)); return *this;}
138 template<typename RouteFilterPrefixesT = RouteFilterPrefix>
139 NewPublicVirtualInterfaceAllocation& AddRouteFilterPrefixes(RouteFilterPrefixesT&& value) { m_routeFilterPrefixesHasBeenSet = true; m_routeFilterPrefixes.emplace_back(std::forward<RouteFilterPrefixesT>(value)); return *this; }
141
143
146 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
147 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
148 template<typename TagsT = Aws::Vector<Tag>>
149 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
150 template<typename TagsT = Aws::Vector<Tag>>
151 NewPublicVirtualInterfaceAllocation& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
152 template<typename TagsT = Tag>
153 NewPublicVirtualInterfaceAllocation& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
155 private:
156
157 Aws::String m_virtualInterfaceName;
158 bool m_virtualInterfaceNameHasBeenSet = false;
159
160 int m_vlan{0};
161 bool m_vlanHasBeenSet = false;
162
163 int m_asn{0};
164 bool m_asnHasBeenSet = false;
165
166 Aws::String m_authKey;
167 bool m_authKeyHasBeenSet = false;
168
169 Aws::String m_amazonAddress;
170 bool m_amazonAddressHasBeenSet = false;
171
172 Aws::String m_customerAddress;
173 bool m_customerAddressHasBeenSet = false;
174
175 AddressFamily m_addressFamily{AddressFamily::NOT_SET};
176 bool m_addressFamilyHasBeenSet = false;
177
178 Aws::Vector<RouteFilterPrefix> m_routeFilterPrefixes;
179 bool m_routeFilterPrefixesHasBeenSet = false;
180
181 Aws::Vector<Tag> m_tags;
182 bool m_tagsHasBeenSet = false;
183 };
184
185} // namespace Model
186} // namespace DirectConnect
187} // 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)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue