AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
NewPublicVirtualInterface.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
36 {
37 public:
38 AWS_DIRECTCONNECT_API NewPublicVirtualInterface() = default;
39 AWS_DIRECTCONNECT_API NewPublicVirtualInterface(Aws::Utils::Json::JsonView jsonValue);
41 AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
50 inline const Aws::String& GetVirtualInterfaceName() const { return m_virtualInterfaceName; }
51 inline bool VirtualInterfaceNameHasBeenSet() const { return m_virtualInterfaceNameHasBeenSet; }
52 template<typename VirtualInterfaceNameT = Aws::String>
53 void SetVirtualInterfaceName(VirtualInterfaceNameT&& value) { m_virtualInterfaceNameHasBeenSet = true; m_virtualInterfaceName = std::forward<VirtualInterfaceNameT>(value); }
54 template<typename VirtualInterfaceNameT = Aws::String>
55 NewPublicVirtualInterface& WithVirtualInterfaceName(VirtualInterfaceNameT&& value) { SetVirtualInterfaceName(std::forward<VirtualInterfaceNameT>(value)); return *this;}
57
59
62 inline int GetVlan() const { return m_vlan; }
63 inline bool VlanHasBeenSet() const { return m_vlanHasBeenSet; }
64 inline void SetVlan(int value) { m_vlanHasBeenSet = true; m_vlan = value; }
65 inline NewPublicVirtualInterface& WithVlan(int value) { SetVlan(value); return *this;}
67
69
73 inline int GetAsn() const { return m_asn; }
74 inline bool AsnHasBeenSet() const { return m_asnHasBeenSet; }
75 inline void SetAsn(int value) { m_asnHasBeenSet = true; m_asn = value; }
76 inline NewPublicVirtualInterface& WithAsn(int value) { SetAsn(value); return *this;}
78
80
84 inline const Aws::String& GetAuthKey() const { return m_authKey; }
85 inline bool AuthKeyHasBeenSet() const { return m_authKeyHasBeenSet; }
86 template<typename AuthKeyT = Aws::String>
87 void SetAuthKey(AuthKeyT&& value) { m_authKeyHasBeenSet = true; m_authKey = std::forward<AuthKeyT>(value); }
88 template<typename AuthKeyT = Aws::String>
89 NewPublicVirtualInterface& WithAuthKey(AuthKeyT&& value) { SetAuthKey(std::forward<AuthKeyT>(value)); return *this;}
91
93
96 inline const Aws::String& GetAmazonAddress() const { return m_amazonAddress; }
97 inline bool AmazonAddressHasBeenSet() const { return m_amazonAddressHasBeenSet; }
98 template<typename AmazonAddressT = Aws::String>
99 void SetAmazonAddress(AmazonAddressT&& value) { m_amazonAddressHasBeenSet = true; m_amazonAddress = std::forward<AmazonAddressT>(value); }
100 template<typename AmazonAddressT = Aws::String>
101 NewPublicVirtualInterface& WithAmazonAddress(AmazonAddressT&& value) { SetAmazonAddress(std::forward<AmazonAddressT>(value)); return *this;}
103
105
108 inline const Aws::String& GetCustomerAddress() const { return m_customerAddress; }
109 inline bool CustomerAddressHasBeenSet() const { return m_customerAddressHasBeenSet; }
110 template<typename CustomerAddressT = Aws::String>
111 void SetCustomerAddress(CustomerAddressT&& value) { m_customerAddressHasBeenSet = true; m_customerAddress = std::forward<CustomerAddressT>(value); }
112 template<typename CustomerAddressT = Aws::String>
113 NewPublicVirtualInterface& WithCustomerAddress(CustomerAddressT&& value) { SetCustomerAddress(std::forward<CustomerAddressT>(value)); return *this;}
115
117
120 inline AddressFamily GetAddressFamily() const { return m_addressFamily; }
121 inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; }
122 inline void SetAddressFamily(AddressFamily value) { m_addressFamilyHasBeenSet = true; m_addressFamily = value; }
125
127
131 inline const Aws::Vector<RouteFilterPrefix>& GetRouteFilterPrefixes() const { return m_routeFilterPrefixes; }
132 inline bool RouteFilterPrefixesHasBeenSet() const { return m_routeFilterPrefixesHasBeenSet; }
133 template<typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
134 void SetRouteFilterPrefixes(RouteFilterPrefixesT&& value) { m_routeFilterPrefixesHasBeenSet = true; m_routeFilterPrefixes = std::forward<RouteFilterPrefixesT>(value); }
135 template<typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
136 NewPublicVirtualInterface& WithRouteFilterPrefixes(RouteFilterPrefixesT&& value) { SetRouteFilterPrefixes(std::forward<RouteFilterPrefixesT>(value)); return *this;}
137 template<typename RouteFilterPrefixesT = RouteFilterPrefix>
138 NewPublicVirtualInterface& AddRouteFilterPrefixes(RouteFilterPrefixesT&& value) { m_routeFilterPrefixesHasBeenSet = true; m_routeFilterPrefixes.emplace_back(std::forward<RouteFilterPrefixesT>(value)); return *this; }
140
142
145 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
146 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
147 template<typename TagsT = Aws::Vector<Tag>>
148 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
149 template<typename TagsT = Aws::Vector<Tag>>
150 NewPublicVirtualInterface& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
151 template<typename TagsT = Tag>
152 NewPublicVirtualInterface& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
154 private:
155
156 Aws::String m_virtualInterfaceName;
157 bool m_virtualInterfaceNameHasBeenSet = false;
158
159 int m_vlan{0};
160 bool m_vlanHasBeenSet = false;
161
162 int m_asn{0};
163 bool m_asnHasBeenSet = false;
164
165 Aws::String m_authKey;
166 bool m_authKeyHasBeenSet = false;
167
168 Aws::String m_amazonAddress;
169 bool m_amazonAddressHasBeenSet = false;
170
171 Aws::String m_customerAddress;
172 bool m_customerAddressHasBeenSet = false;
173
174 AddressFamily m_addressFamily{AddressFamily::NOT_SET};
175 bool m_addressFamilyHasBeenSet = false;
176
177 Aws::Vector<RouteFilterPrefix> m_routeFilterPrefixes;
178 bool m_routeFilterPrefixesHasBeenSet = false;
179
180 Aws::Vector<Tag> m_tags;
181 bool m_tagsHasBeenSet = false;
182 };
183
184} // namespace Model
185} // namespace DirectConnect
186} // namespace Aws
NewPublicVirtualInterface & WithCustomerAddress(CustomerAddressT &&value)
NewPublicVirtualInterface & WithAddressFamily(AddressFamily value)
NewPublicVirtualInterface & AddRouteFilterPrefixes(RouteFilterPrefixesT &&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