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;
182 inline int GetAsn()
const {
return m_asn; }
185 m_asnHasBeenSet =
true;
214 m_asnLongHasBeenSet =
true;
230 m_amazonSideAsnHasBeenSet =
true;
231 m_amazonSideAsn = value;
246 template <
typename AuthKeyT = Aws::String>
248 m_authKeyHasBeenSet =
true;
249 m_authKey = std::forward<AuthKeyT>(value);
251 template <
typename AuthKeyT = Aws::String>
264 template <
typename AmazonAddressT = Aws::String>
266 m_amazonAddressHasBeenSet =
true;
267 m_amazonAddress = std::forward<AmazonAddressT>(value);
269 template <
typename AmazonAddressT = Aws::String>
282 template <
typename CustomerAddressT = Aws::String>
284 m_customerAddressHasBeenSet =
true;
285 m_customerAddress = std::forward<CustomerAddressT>(value);
287 template <
typename CustomerAddressT = Aws::String>
301 m_addressFamilyHasBeenSet =
true;
302 m_addressFamily = value;
340 m_virtualInterfaceStateHasBeenSet =
true;
341 m_virtualInterfaceState = value;
355 template <
typename CustomerRouterConfigT = Aws::String>
357 m_customerRouterConfigHasBeenSet =
true;
358 m_customerRouterConfig = std::forward<CustomerRouterConfigT>(value);
360 template <
typename CustomerRouterConfigT = Aws::String>
372 inline int GetMtu()
const {
return m_mtu; }
375 m_mtuHasBeenSet =
true;
391 m_jumboFrameCapableHasBeenSet =
true;
392 m_jumboFrameCapable = value;
407 template <
typename VirtualGatewayIdT = Aws::String>
409 m_virtualGatewayIdHasBeenSet =
true;
410 m_virtualGatewayId = std::forward<VirtualGatewayIdT>(value);
412 template <
typename VirtualGatewayIdT = Aws::String>
425 template <
typename DirectConnectGatewayIdT = Aws::String>
427 m_directConnectGatewayIdHasBeenSet =
true;
428 m_directConnectGatewayId = std::forward<DirectConnectGatewayIdT>(value);
430 template <
typename DirectConnectGatewayIdT = Aws::String>
444 template <
typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
446 m_routeFilterPrefixesHasBeenSet =
true;
447 m_routeFilterPrefixes = std::forward<RouteFilterPrefixesT>(value);
449 template <
typename RouteFilterPrefixesT = Aws::Vector<RouteFilterPrefix>>
454 template <
typename RouteFilterPrefixesT = RouteFilterPrefix>
456 m_routeFilterPrefixesHasBeenSet =
true;
457 m_routeFilterPrefixes.emplace_back(std::forward<RouteFilterPrefixesT>(value));
468 template <
typename BgpPeersT = Aws::Vector<BGPPeer>>
470 m_bgpPeersHasBeenSet =
true;
471 m_bgpPeers = std::forward<BgpPeersT>(value);
473 template <
typename BgpPeersT = Aws::Vector<BGPPeer>>
478 template <
typename BgpPeersT = BGPPeer>
480 m_bgpPeersHasBeenSet =
true;
481 m_bgpPeers.emplace_back(std::forward<BgpPeersT>(value));
492 template <
typename RegionT = Aws::String>
494 m_regionHasBeenSet =
true;
495 m_region = std::forward<RegionT>(value);
497 template <
typename RegionT = Aws::String>
510 template <
typename AwsDeviceV2T = Aws::String>
512 m_awsDeviceV2HasBeenSet =
true;
513 m_awsDeviceV2 = std::forward<AwsDeviceV2T>(value);
515 template <
typename AwsDeviceV2T = Aws::String>
530 template <
typename AwsLogicalDeviceIdT = Aws::String>
532 m_awsLogicalDeviceIdHasBeenSet =
true;
533 m_awsLogicalDeviceId = std::forward<AwsLogicalDeviceIdT>(value);
535 template <
typename AwsLogicalDeviceIdT = Aws::String>
548 template <
typename TagsT = Aws::Vector<Tag>>
550 m_tagsHasBeenSet =
true;
551 m_tags = std::forward<TagsT>(value);
553 template <
typename TagsT = Aws::Vector<Tag>>
555 SetTags(std::forward<TagsT>(value));
558 template <
typename TagsT = Tag>
560 m_tagsHasBeenSet =
true;
561 m_tags.emplace_back(std::forward<TagsT>(value));
573 m_siteLinkEnabledHasBeenSet =
true;
574 m_siteLinkEnabled = value;
592 template <
typename RateLimitT = Aws::String>
594 m_rateLimitHasBeenSet =
true;
595 m_rateLimit = std::forward<RateLimitT>(value);
597 template <
typename RateLimitT = Aws::String>
608 template <
typename RequestIdT = Aws::String>
610 m_requestIdHasBeenSet =
true;
611 m_requestId = std::forward<RequestIdT>(value);
613 template <
typename RequestIdT = Aws::String>
636 long long m_asnLong{0};
638 long long m_amazonSideAsn{0};
654 bool m_jumboFrameCapable{
false};
672 bool m_siteLinkEnabled{
false};
677 bool m_ownerAccountHasBeenSet =
false;
678 bool m_virtualInterfaceIdHasBeenSet =
false;
679 bool m_locationHasBeenSet =
false;
680 bool m_connectionIdHasBeenSet =
false;
681 bool m_virtualInterfaceTypeHasBeenSet =
false;
682 bool m_virtualInterfaceNameHasBeenSet =
false;
683 bool m_vlanHasBeenSet =
false;
684 bool m_asnHasBeenSet =
false;
685 bool m_asnLongHasBeenSet =
false;
686 bool m_amazonSideAsnHasBeenSet =
false;
687 bool m_authKeyHasBeenSet =
false;
688 bool m_amazonAddressHasBeenSet =
false;
689 bool m_customerAddressHasBeenSet =
false;
690 bool m_addressFamilyHasBeenSet =
false;
691 bool m_virtualInterfaceStateHasBeenSet =
false;
692 bool m_customerRouterConfigHasBeenSet =
false;
693 bool m_mtuHasBeenSet =
false;
694 bool m_jumboFrameCapableHasBeenSet =
false;
695 bool m_virtualGatewayIdHasBeenSet =
false;
696 bool m_directConnectGatewayIdHasBeenSet =
false;
697 bool m_routeFilterPrefixesHasBeenSet =
false;
698 bool m_bgpPeersHasBeenSet =
false;
699 bool m_regionHasBeenSet =
false;
700 bool m_awsDeviceV2HasBeenSet =
false;
701 bool m_awsLogicalDeviceIdHasBeenSet =
false;
702 bool m_tagsHasBeenSet =
false;
703 bool m_siteLinkEnabledHasBeenSet =
false;
704 bool m_rateLimitHasBeenSet =
false;
705 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 RateLimitHasBeenSet() 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
void SetRateLimit(RateLimitT &&value)
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::String & GetRateLimit() const
VirtualInterface & WithRateLimit(RateLimitT &&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