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/directconnect/model/VirtualInterfaceState.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/directconnect/model/RouteFilterPrefix.h>
13#include <aws/directconnect/model/BGPPeer.h>
14#include <aws/directconnect/model/Tag.h>
27namespace DirectConnect
53 template<
typename OwnerAccountT = Aws::String>
54 void SetOwnerAccount(OwnerAccountT&& value) { m_ownerAccountHasBeenSet =
true; m_ownerAccount = std::forward<OwnerAccountT>(value); }
55 template<
typename OwnerAccountT = Aws::String>
65 template<
typename VirtualInterfaceIdT = Aws::String>
66 void SetVirtualInterfaceId(VirtualInterfaceIdT&& value) { m_virtualInterfaceIdHasBeenSet =
true; m_virtualInterfaceId = std::forward<VirtualInterfaceIdT>(value); }
67 template<
typename VirtualInterfaceIdT = Aws::String>
77 template<
typename LocationT = Aws::String>
78 void SetLocation(LocationT&& value) { m_locationHasBeenSet =
true; m_location = std::forward<LocationT>(value); }
79 template<
typename LocationT = Aws::String>
89 template<
typename ConnectionIdT = Aws::String>
90 void SetConnectionId(ConnectionIdT&& value) { m_connectionIdHasBeenSet =
true; m_connectionId = std::forward<ConnectionIdT>(value); }
91 template<
typename ConnectionIdT = Aws::String>
102 template<
typename VirtualInterfaceTypeT = Aws::String>
103 void SetVirtualInterfaceType(VirtualInterfaceTypeT&& value) { m_virtualInterfaceTypeHasBeenSet =
true; m_virtualInterfaceType = std::forward<VirtualInterfaceTypeT>(value); }
104 template<
typename VirtualInterfaceTypeT = Aws::String>
116 template<
typename VirtualInterfaceNameT = Aws::String>
117 void SetVirtualInterfaceName(VirtualInterfaceNameT&& value) { m_virtualInterfaceNameHasBeenSet =
true; m_virtualInterfaceName = std::forward<VirtualInterfaceNameT>(value); }
118 template<
typename VirtualInterfaceNameT = Aws::String>
128 inline void SetVlan(
int value) { m_vlanHasBeenSet =
true; m_vlan = value; }
137 inline int GetAsn()
const {
return m_asn; }
139 inline void SetAsn(
int value) { m_asnHasBeenSet =
true; m_asn = value; }
149 inline void SetAmazonSideAsn(
long long value) { m_amazonSideAsnHasBeenSet =
true; m_amazonSideAsn = value; }
160 template<
typename AuthKeyT = Aws::String>
161 void SetAuthKey(AuthKeyT&& value) { m_authKeyHasBeenSet =
true; m_authKey = std::forward<AuthKeyT>(value); }
162 template<
typename AuthKeyT = Aws::String>
172 template<
typename AmazonAddressT = Aws::String>
173 void SetAmazonAddress(AmazonAddressT&& value) { m_amazonAddressHasBeenSet =
true; m_amazonAddress = std::forward<AmazonAddressT>(value); }
174 template<
typename AmazonAddressT = Aws::String>
184 template<
typename CustomerAddressT = Aws::String>
185 void SetCustomerAddress(CustomerAddressT&& value) { m_customerAddressHasBeenSet =
true; m_customerAddress = std::forward<CustomerAddressT>(value); }
186 template<
typename CustomerAddressT = Aws::String>
239 template<
typename CustomerRouterConfigT = Aws::String>
240 void SetCustomerRouterConfig(CustomerRouterConfigT&& value) { m_customerRouterConfigHasBeenSet =
true; m_customerRouterConfig = std::forward<CustomerRouterConfigT>(value); }
241 template<
typename CustomerRouterConfigT = Aws::String>
250 inline int GetMtu()
const {
return m_mtu; }
252 inline void SetMtu(
int value) { m_mtuHasBeenSet =
true; m_mtu = value; }
262 inline void SetJumboFrameCapable(
bool value) { m_jumboFrameCapableHasBeenSet =
true; m_jumboFrameCapable = value; }
273 template<
typename VirtualGatewayIdT = Aws::String>
274 void SetVirtualGatewayId(VirtualGatewayIdT&& value) { m_virtualGatewayIdHasBeenSet =
true; m_virtualGatewayId = std::forward<VirtualGatewayIdT>(value); }
275 template<
typename VirtualGatewayIdT = Aws::String>
285 template<
typename DirectConnectGatewayIdT = Aws::String>
286 void SetDirectConnectGatewayId(DirectConnectGatewayIdT&& value) { m_directConnectGatewayIdHasBeenSet =
true; m_directConnectGatewayId = std::forward<DirectConnectGatewayIdT>(value); }
287 template<
typename DirectConnectGatewayIdT = Aws::String>
298 template<
typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
299 void SetRouteFilterPrefixes(RouteFilterPrefixesT&& value) { m_routeFilterPrefixesHasBeenSet =
true; m_routeFilterPrefixes = std::forward<RouteFilterPrefixesT>(value); }
300 template<
typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
302 template<
typename RouteFilterPrefixesT = RouteFilterPrefix>
303 VirtualInterface&
AddRouteFilterPrefixes(RouteFilterPrefixesT&& value) { m_routeFilterPrefixesHasBeenSet =
true; m_routeFilterPrefixes.emplace_back(std::forward<RouteFilterPrefixesT>(value));
return *
this; }
312 template<
typename BgpPeersT = Aws::Vector<BGPPeer>>
313 void SetBgpPeers(BgpPeersT&& value) { m_bgpPeersHasBeenSet =
true; m_bgpPeers = std::forward<BgpPeersT>(value); }
314 template<
typename BgpPeersT = Aws::Vector<BGPPeer>>
316 template<
typename BgpPeersT = BGPPeer>
317 VirtualInterface&
AddBgpPeers(BgpPeersT&& value) { m_bgpPeersHasBeenSet =
true; m_bgpPeers.emplace_back(std::forward<BgpPeersT>(value));
return *
this; }
326 template<
typename RegionT = Aws::String>
327 void SetRegion(RegionT&& value) { m_regionHasBeenSet =
true; m_region = std::forward<RegionT>(value); }
328 template<
typename RegionT = Aws::String>
338 template<
typename AwsDeviceV2T = Aws::String>
339 void SetAwsDeviceV2(AwsDeviceV2T&& value) { m_awsDeviceV2HasBeenSet =
true; m_awsDeviceV2 = std::forward<AwsDeviceV2T>(value); }
340 template<
typename AwsDeviceV2T = Aws::String>
352 template<
typename AwsLogicalDeviceIdT = Aws::String>
353 void SetAwsLogicalDeviceId(AwsLogicalDeviceIdT&& value) { m_awsLogicalDeviceIdHasBeenSet =
true; m_awsLogicalDeviceId = std::forward<AwsLogicalDeviceIdT>(value); }
354 template<
typename AwsLogicalDeviceIdT = Aws::String>
364 template<
typename TagsT = Aws::Vector<Tag>>
365 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
366 template<
typename TagsT = Aws::Vector<Tag>>
368 template<
typename TagsT = Tag>
369 VirtualInterface&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
378 inline void SetSiteLinkEnabled(
bool value) { m_siteLinkEnabledHasBeenSet =
true; m_siteLinkEnabled = value; }
386 template<
typename RequestIdT = Aws::String>
387 void SetRequestId(RequestIdT&& value) { m_requestIdHasBeenSet =
true; m_requestId = std::forward<RequestIdT>(value); }
388 template<
typename RequestIdT = Aws::String>
394 bool m_ownerAccountHasBeenSet =
false;
397 bool m_virtualInterfaceIdHasBeenSet =
false;
400 bool m_locationHasBeenSet =
false;
403 bool m_connectionIdHasBeenSet =
false;
406 bool m_virtualInterfaceTypeHasBeenSet =
false;
409 bool m_virtualInterfaceNameHasBeenSet =
false;
412 bool m_vlanHasBeenSet =
false;
415 bool m_asnHasBeenSet =
false;
417 long long m_amazonSideAsn{0};
418 bool m_amazonSideAsnHasBeenSet =
false;
421 bool m_authKeyHasBeenSet =
false;
424 bool m_amazonAddressHasBeenSet =
false;
427 bool m_customerAddressHasBeenSet =
false;
430 bool m_addressFamilyHasBeenSet =
false;
433 bool m_virtualInterfaceStateHasBeenSet =
false;
436 bool m_customerRouterConfigHasBeenSet =
false;
439 bool m_mtuHasBeenSet =
false;
441 bool m_jumboFrameCapable{
false};
442 bool m_jumboFrameCapableHasBeenSet =
false;
445 bool m_virtualGatewayIdHasBeenSet =
false;
448 bool m_directConnectGatewayIdHasBeenSet =
false;
451 bool m_routeFilterPrefixesHasBeenSet =
false;
454 bool m_bgpPeersHasBeenSet =
false;
457 bool m_regionHasBeenSet =
false;
460 bool m_awsDeviceV2HasBeenSet =
false;
463 bool m_awsLogicalDeviceIdHasBeenSet =
false;
466 bool m_tagsHasBeenSet =
false;
468 bool m_siteLinkEnabled{
false};
469 bool m_siteLinkEnabledHasBeenSet =
false;
472 bool m_requestIdHasBeenSet =
false;
VirtualInterface & WithBgpPeers(BgpPeersT &&value)
void SetVirtualInterfaceState(VirtualInterfaceState value)
AddressFamily GetAddressFamily() const
const Aws::String & GetVirtualGatewayId() const
bool AmazonSideAsnHasBeenSet() const
VirtualInterface & WithLocation(LocationT &&value)
VirtualInterface & WithVirtualGatewayId(VirtualGatewayIdT &&value)
const Aws::Vector< Tag > & GetTags() const
const Aws::String & GetVirtualInterfaceName() const
VirtualInterface & WithRegion(RegionT &&value)
const Aws::String & GetAmazonAddress() const
const Aws::Vector< RouteFilterPrefix > & GetRouteFilterPrefixes() const
bool AwsLogicalDeviceIdHasBeenSet() const
VirtualInterface & AddBgpPeers(BgpPeersT &&value)
bool VirtualInterfaceNameHasBeenSet() const
const Aws::String & GetConnectionId() const
VirtualInterface & WithCustomerAddress(CustomerAddressT &&value)
VirtualInterface & WithCustomerRouterConfig(CustomerRouterConfigT &&value)
const Aws::String & GetRequestId() const
bool RegionHasBeenSet() const
void SetConnectionId(ConnectionIdT &&value)
long long GetAmazonSideAsn() const
void SetVirtualInterfaceId(VirtualInterfaceIdT &&value)
VirtualInterfaceState GetVirtualInterfaceState() const
bool GetSiteLinkEnabled() const
bool GetJumboFrameCapable() const
const Aws::String & GetAuthKey() const
bool DirectConnectGatewayIdHasBeenSet() const
bool RouteFilterPrefixesHasBeenSet() const
VirtualInterface & WithOwnerAccount(OwnerAccountT &&value)
bool RequestIdHasBeenSet() const
bool JumboFrameCapableHasBeenSet() const
void SetDirectConnectGatewayId(DirectConnectGatewayIdT &&value)
AWS_DIRECTCONNECT_API VirtualInterface()=default
VirtualInterface & WithVirtualInterfaceState(VirtualInterfaceState value)
const Aws::String & GetAwsDeviceV2() const
VirtualInterface & WithTags(TagsT &&value)
void SetBgpPeers(BgpPeersT &&value)
void SetSiteLinkEnabled(bool value)
bool VlanHasBeenSet() const
VirtualInterface & WithVlan(int value)
void SetCustomerRouterConfig(CustomerRouterConfigT &&value)
void SetVirtualInterfaceType(VirtualInterfaceTypeT &&value)
const Aws::String & GetDirectConnectGatewayId() const
bool LocationHasBeenSet() const
bool OwnerAccountHasBeenSet() const
const Aws::String & GetOwnerAccount() const
bool AsnHasBeenSet() const
void SetVirtualGatewayId(VirtualGatewayIdT &&value)
const Aws::String & GetVirtualInterfaceId() const
bool TagsHasBeenSet() const
bool AuthKeyHasBeenSet() const
bool BgpPeersHasBeenSet() const
VirtualInterface & WithRouteFilterPrefixes(RouteFilterPrefixesT &&value)
bool CustomerAddressHasBeenSet() const
void SetOwnerAccount(OwnerAccountT &&value)
bool VirtualInterfaceStateHasBeenSet() const
void SetRequestId(RequestIdT &&value)
void SetTags(TagsT &&value)
void SetAmazonAddress(AmazonAddressT &&value)
AWS_DIRECTCONNECT_API VirtualInterface & operator=(Aws::Utils::Json::JsonView jsonValue)
VirtualInterface & WithVirtualInterfaceType(VirtualInterfaceTypeT &&value)
VirtualInterface & WithConnectionId(ConnectionIdT &&value)
const Aws::String & GetCustomerRouterConfig() const
const Aws::String & GetCustomerAddress() const
const Aws::String & GetVirtualInterfaceType() const
VirtualInterface & AddTags(TagsT &&value)
const Aws::String & GetAwsLogicalDeviceId() const
VirtualInterface & WithMtu(int value)
bool SiteLinkEnabledHasBeenSet() const
void SetJumboFrameCapable(bool value)
VirtualInterface & WithAwsLogicalDeviceId(AwsLogicalDeviceIdT &&value)
const Aws::String & GetLocation() const
void SetAwsDeviceV2(AwsDeviceV2T &&value)
void SetAmazonSideAsn(long long value)
void SetRouteFilterPrefixes(RouteFilterPrefixesT &&value)
void SetAwsLogicalDeviceId(AwsLogicalDeviceIdT &&value)
VirtualInterface & AddRouteFilterPrefixes(RouteFilterPrefixesT &&value)
void SetAddressFamily(AddressFamily value)
VirtualInterface & WithAmazonAddress(AmazonAddressT &&value)
VirtualInterface & WithAmazonSideAsn(long long value)
bool AddressFamilyHasBeenSet() const
VirtualInterface & WithAuthKey(AuthKeyT &&value)
bool MtuHasBeenSet() const
VirtualInterface & WithAwsDeviceV2(AwsDeviceV2T &&value)
VirtualInterface & WithVirtualInterfaceId(VirtualInterfaceIdT &&value)
void SetAuthKey(AuthKeyT &&value)
bool AmazonAddressHasBeenSet() const
void SetLocation(LocationT &&value)
VirtualInterface & WithDirectConnectGatewayId(DirectConnectGatewayIdT &&value)
bool ConnectionIdHasBeenSet() const
bool VirtualGatewayIdHasBeenSet() const
VirtualInterface & WithRequestId(RequestIdT &&value)
void SetCustomerAddress(CustomerAddressT &&value)
AWS_DIRECTCONNECT_API VirtualInterface(Aws::Utils::Json::JsonView jsonValue)
VirtualInterface & WithAsn(int value)
const Aws::String & GetRegion() const
bool CustomerRouterConfigHasBeenSet() const
VirtualInterface & WithAddressFamily(AddressFamily value)
VirtualInterface & WithSiteLinkEnabled(bool value)
bool VirtualInterfaceIdHasBeenSet() const
VirtualInterface & WithJumboFrameCapable(bool value)
void SetVirtualInterfaceName(VirtualInterfaceNameT &&value)
AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
VirtualInterface & WithVirtualInterfaceName(VirtualInterfaceNameT &&value)
bool AwsDeviceV2HasBeenSet() const
bool VirtualInterfaceTypeHasBeenSet() const
void SetRegion(RegionT &&value)
const Aws::Vector< BGPPeer > & GetBgpPeers() 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