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/BGPPeer.h>
12#include <aws/directconnect/model/RouteFilterPrefix.h>
13#include <aws/directconnect/model/Tag.h>
14#include <aws/directconnect/model/VirtualInterfaceState.h>
25namespace DirectConnect {
47 template <
typename OwnerAccountT = Aws::String>
49 m_ownerAccountHasBeenSet =
true;
50 m_ownerAccount = std::forward<OwnerAccountT>(value);
52 template <
typename OwnerAccountT = Aws::String>
65 template <
typename VirtualInterfaceIdT = Aws::String>
67 m_virtualInterfaceIdHasBeenSet =
true;
68 m_virtualInterfaceId = std::forward<VirtualInterfaceIdT>(value);
70 template <
typename VirtualInterfaceIdT = Aws::String>
83 template <
typename LocationT = Aws::String>
85 m_locationHasBeenSet =
true;
86 m_location = std::forward<LocationT>(value);
88 template <
typename LocationT = Aws::String>
101 template <
typename ConnectionIdT = Aws::String>
103 m_connectionIdHasBeenSet =
true;
104 m_connectionId = std::forward<ConnectionIdT>(value);
106 template <
typename ConnectionIdT = Aws::String>
120 template <
typename VirtualInterfaceTypeT = Aws::String>
122 m_virtualInterfaceTypeHasBeenSet =
true;
123 m_virtualInterfaceType = std::forward<VirtualInterfaceTypeT>(value);
125 template <
typename VirtualInterfaceTypeT = Aws::String>
140 template <
typename VirtualInterfaceNameT = Aws::String>
142 m_virtualInterfaceNameHasBeenSet =
true;
143 m_virtualInterfaceName = std::forward<VirtualInterfaceNameT>(value);
145 template <
typename VirtualInterfaceNameT = Aws::String>
159 m_vlanHasBeenSet =
true;
180 inline int GetAsn()
const {
return m_asn; }
183 m_asnHasBeenSet =
true;
206 m_asnLongHasBeenSet =
true;
222 m_amazonSideAsnHasBeenSet =
true;
223 m_amazonSideAsn = value;
238 template <
typename AuthKeyT = Aws::String>
240 m_authKeyHasBeenSet =
true;
241 m_authKey = std::forward<AuthKeyT>(value);
243 template <
typename AuthKeyT = Aws::String>
256 template <
typename AmazonAddressT = Aws::String>
258 m_amazonAddressHasBeenSet =
true;
259 m_amazonAddress = std::forward<AmazonAddressT>(value);
261 template <
typename AmazonAddressT = Aws::String>
274 template <
typename CustomerAddressT = Aws::String>
276 m_customerAddressHasBeenSet =
true;
277 m_customerAddress = std::forward<CustomerAddressT>(value);
279 template <
typename CustomerAddressT = Aws::String>
293 m_addressFamilyHasBeenSet =
true;
294 m_addressFamily = value;
332 m_virtualInterfaceStateHasBeenSet =
true;
333 m_virtualInterfaceState = value;
347 template <
typename CustomerRouterConfigT = Aws::String>
349 m_customerRouterConfigHasBeenSet =
true;
350 m_customerRouterConfig = std::forward<CustomerRouterConfigT>(value);
352 template <
typename CustomerRouterConfigT = Aws::String>
364 inline int GetMtu()
const {
return m_mtu; }
367 m_mtuHasBeenSet =
true;
383 m_jumboFrameCapableHasBeenSet =
true;
384 m_jumboFrameCapable = value;
399 template <
typename VirtualGatewayIdT = Aws::String>
401 m_virtualGatewayIdHasBeenSet =
true;
402 m_virtualGatewayId = std::forward<VirtualGatewayIdT>(value);
404 template <
typename VirtualGatewayIdT = Aws::String>
417 template <
typename DirectConnectGatewayIdT = Aws::String>
419 m_directConnectGatewayIdHasBeenSet =
true;
420 m_directConnectGatewayId = std::forward<DirectConnectGatewayIdT>(value);
422 template <
typename DirectConnectGatewayIdT = Aws::String>
436 template <
typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
438 m_routeFilterPrefixesHasBeenSet =
true;
439 m_routeFilterPrefixes = std::forward<RouteFilterPrefixesT>(value);
441 template <
typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
446 template <
typename RouteFilterPrefixesT = RouteFilterPrefix>
448 m_routeFilterPrefixesHasBeenSet =
true;
449 m_routeFilterPrefixes.emplace_back(std::forward<RouteFilterPrefixesT>(value));
460 template <
typename BgpPeersT = Aws::Vector<BGPPeer>>
462 m_bgpPeersHasBeenSet =
true;
463 m_bgpPeers = std::forward<BgpPeersT>(value);
465 template <
typename BgpPeersT = Aws::Vector<BGPPeer>>
470 template <
typename BgpPeersT = BGPPeer>
472 m_bgpPeersHasBeenSet =
true;
473 m_bgpPeers.emplace_back(std::forward<BgpPeersT>(value));
484 template <
typename RegionT = Aws::String>
486 m_regionHasBeenSet =
true;
487 m_region = std::forward<RegionT>(value);
489 template <
typename RegionT = Aws::String>
502 template <
typename AwsDeviceV2T = Aws::String>
504 m_awsDeviceV2HasBeenSet =
true;
505 m_awsDeviceV2 = std::forward<AwsDeviceV2T>(value);
507 template <
typename AwsDeviceV2T = Aws::String>
522 template <
typename AwsLogicalDeviceIdT = Aws::String>
524 m_awsLogicalDeviceIdHasBeenSet =
true;
525 m_awsLogicalDeviceId = std::forward<AwsLogicalDeviceIdT>(value);
527 template <
typename AwsLogicalDeviceIdT = Aws::String>
540 template <
typename TagsT = Aws::Vector<Tag>>
542 m_tagsHasBeenSet =
true;
543 m_tags = std::forward<TagsT>(value);
545 template <
typename TagsT = Aws::Vector<Tag>>
547 SetTags(std::forward<TagsT>(value));
550 template <
typename TagsT = Tag>
552 m_tagsHasBeenSet =
true;
553 m_tags.emplace_back(std::forward<TagsT>(value));
565 m_siteLinkEnabledHasBeenSet =
true;
566 m_siteLinkEnabled = value;
578 template <
typename RequestIdT = Aws::String>
580 m_requestIdHasBeenSet =
true;
581 m_requestId = std::forward<RequestIdT>(value);
583 template <
typename RequestIdT = Aws::String>
606 long long m_asnLong{0};
608 long long m_amazonSideAsn{0};
624 bool m_jumboFrameCapable{
false};
642 bool m_siteLinkEnabled{
false};
645 bool m_ownerAccountHasBeenSet =
false;
646 bool m_virtualInterfaceIdHasBeenSet =
false;
647 bool m_locationHasBeenSet =
false;
648 bool m_connectionIdHasBeenSet =
false;
649 bool m_virtualInterfaceTypeHasBeenSet =
false;
650 bool m_virtualInterfaceNameHasBeenSet =
false;
651 bool m_vlanHasBeenSet =
false;
652 bool m_asnHasBeenSet =
false;
653 bool m_asnLongHasBeenSet =
false;
654 bool m_amazonSideAsnHasBeenSet =
false;
655 bool m_authKeyHasBeenSet =
false;
656 bool m_amazonAddressHasBeenSet =
false;
657 bool m_customerAddressHasBeenSet =
false;
658 bool m_addressFamilyHasBeenSet =
false;
659 bool m_virtualInterfaceStateHasBeenSet =
false;
660 bool m_customerRouterConfigHasBeenSet =
false;
661 bool m_mtuHasBeenSet =
false;
662 bool m_jumboFrameCapableHasBeenSet =
false;
663 bool m_virtualGatewayIdHasBeenSet =
false;
664 bool m_directConnectGatewayIdHasBeenSet =
false;
665 bool m_routeFilterPrefixesHasBeenSet =
false;
666 bool m_bgpPeersHasBeenSet =
false;
667 bool m_regionHasBeenSet =
false;
668 bool m_awsDeviceV2HasBeenSet =
false;
669 bool m_awsLogicalDeviceIdHasBeenSet =
false;
670 bool m_tagsHasBeenSet =
false;
671 bool m_siteLinkEnabledHasBeenSet =
false;
672 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 & WithAsnLong(long long value)
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)
bool AsnLongHasBeenSet() const
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)
void SetAsnLong(long long 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
long long GetAsnLong() 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