/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace DirectConnect { namespace Model { /** *

Information about a virtual interface.

See Also:

AWS * API Reference

*/ class CreatePublicVirtualInterfaceResult { public: AWS_DIRECTCONNECT_API CreatePublicVirtualInterfaceResult(); AWS_DIRECTCONNECT_API CreatePublicVirtualInterfaceResult(const Aws::AmazonWebServiceResult& result); AWS_DIRECTCONNECT_API CreatePublicVirtualInterfaceResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ID of the Amazon Web Services account that owns the virtual * interface.

*/ inline const Aws::String& GetOwnerAccount() const{ return m_ownerAccount; } /** *

The ID of the Amazon Web Services account that owns the virtual * interface.

*/ inline void SetOwnerAccount(const Aws::String& value) { m_ownerAccount = value; } /** *

The ID of the Amazon Web Services account that owns the virtual * interface.

*/ inline void SetOwnerAccount(Aws::String&& value) { m_ownerAccount = std::move(value); } /** *

The ID of the Amazon Web Services account that owns the virtual * interface.

*/ inline void SetOwnerAccount(const char* value) { m_ownerAccount.assign(value); } /** *

The ID of the Amazon Web Services account that owns the virtual * interface.

*/ inline CreatePublicVirtualInterfaceResult& WithOwnerAccount(const Aws::String& value) { SetOwnerAccount(value); return *this;} /** *

The ID of the Amazon Web Services account that owns the virtual * interface.

*/ inline CreatePublicVirtualInterfaceResult& WithOwnerAccount(Aws::String&& value) { SetOwnerAccount(std::move(value)); return *this;} /** *

The ID of the Amazon Web Services account that owns the virtual * interface.

*/ inline CreatePublicVirtualInterfaceResult& WithOwnerAccount(const char* value) { SetOwnerAccount(value); return *this;} /** *

The ID of the virtual interface.

*/ inline const Aws::String& GetVirtualInterfaceId() const{ return m_virtualInterfaceId; } /** *

The ID of the virtual interface.

*/ inline void SetVirtualInterfaceId(const Aws::String& value) { m_virtualInterfaceId = value; } /** *

The ID of the virtual interface.

*/ inline void SetVirtualInterfaceId(Aws::String&& value) { m_virtualInterfaceId = std::move(value); } /** *

The ID of the virtual interface.

*/ inline void SetVirtualInterfaceId(const char* value) { m_virtualInterfaceId.assign(value); } /** *

The ID of the virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceId(const Aws::String& value) { SetVirtualInterfaceId(value); return *this;} /** *

The ID of the virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceId(Aws::String&& value) { SetVirtualInterfaceId(std::move(value)); return *this;} /** *

The ID of the virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceId(const char* value) { SetVirtualInterfaceId(value); return *this;} /** *

The location of the connection.

*/ inline const Aws::String& GetLocation() const{ return m_location; } /** *

The location of the connection.

*/ inline void SetLocation(const Aws::String& value) { m_location = value; } /** *

The location of the connection.

*/ inline void SetLocation(Aws::String&& value) { m_location = std::move(value); } /** *

The location of the connection.

*/ inline void SetLocation(const char* value) { m_location.assign(value); } /** *

The location of the connection.

*/ inline CreatePublicVirtualInterfaceResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} /** *

The location of the connection.

*/ inline CreatePublicVirtualInterfaceResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} /** *

The location of the connection.

*/ inline CreatePublicVirtualInterfaceResult& WithLocation(const char* value) { SetLocation(value); return *this;} /** *

The ID of the connection.

*/ inline const Aws::String& GetConnectionId() const{ return m_connectionId; } /** *

The ID of the connection.

*/ inline void SetConnectionId(const Aws::String& value) { m_connectionId = value; } /** *

The ID of the connection.

*/ inline void SetConnectionId(Aws::String&& value) { m_connectionId = std::move(value); } /** *

The ID of the connection.

*/ inline void SetConnectionId(const char* value) { m_connectionId.assign(value); } /** *

The ID of the connection.

*/ inline CreatePublicVirtualInterfaceResult& WithConnectionId(const Aws::String& value) { SetConnectionId(value); return *this;} /** *

The ID of the connection.

*/ inline CreatePublicVirtualInterfaceResult& WithConnectionId(Aws::String&& value) { SetConnectionId(std::move(value)); return *this;} /** *

The ID of the connection.

*/ inline CreatePublicVirtualInterfaceResult& WithConnectionId(const char* value) { SetConnectionId(value); return *this;} /** *

The type of virtual interface. The possible values are private * and public.

*/ inline const Aws::String& GetVirtualInterfaceType() const{ return m_virtualInterfaceType; } /** *

The type of virtual interface. The possible values are private * and public.

*/ inline void SetVirtualInterfaceType(const Aws::String& value) { m_virtualInterfaceType = value; } /** *

The type of virtual interface. The possible values are private * and public.

*/ inline void SetVirtualInterfaceType(Aws::String&& value) { m_virtualInterfaceType = std::move(value); } /** *

The type of virtual interface. The possible values are private * and public.

*/ inline void SetVirtualInterfaceType(const char* value) { m_virtualInterfaceType.assign(value); } /** *

The type of virtual interface. The possible values are private * and public.

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceType(const Aws::String& value) { SetVirtualInterfaceType(value); return *this;} /** *

The type of virtual interface. The possible values are private * and public.

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceType(Aws::String&& value) { SetVirtualInterfaceType(std::move(value)); return *this;} /** *

The type of virtual interface. The possible values are private * and public.

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceType(const char* value) { SetVirtualInterfaceType(value); return *this;} /** *

The name of the virtual interface assigned by the customer network. The name * has a maximum of 100 characters. The following are valid characters: a-z, 0-9 * and a hyphen (-).

*/ inline const Aws::String& GetVirtualInterfaceName() const{ return m_virtualInterfaceName; } /** *

The name of the virtual interface assigned by the customer network. The name * has a maximum of 100 characters. The following are valid characters: a-z, 0-9 * and a hyphen (-).

*/ inline void SetVirtualInterfaceName(const Aws::String& value) { m_virtualInterfaceName = value; } /** *

The name of the virtual interface assigned by the customer network. The name * has a maximum of 100 characters. The following are valid characters: a-z, 0-9 * and a hyphen (-).

*/ inline void SetVirtualInterfaceName(Aws::String&& value) { m_virtualInterfaceName = std::move(value); } /** *

The name of the virtual interface assigned by the customer network. The name * has a maximum of 100 characters. The following are valid characters: a-z, 0-9 * and a hyphen (-).

*/ inline void SetVirtualInterfaceName(const char* value) { m_virtualInterfaceName.assign(value); } /** *

The name of the virtual interface assigned by the customer network. The name * has a maximum of 100 characters. The following are valid characters: a-z, 0-9 * and a hyphen (-).

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceName(const Aws::String& value) { SetVirtualInterfaceName(value); return *this;} /** *

The name of the virtual interface assigned by the customer network. The name * has a maximum of 100 characters. The following are valid characters: a-z, 0-9 * and a hyphen (-).

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceName(Aws::String&& value) { SetVirtualInterfaceName(std::move(value)); return *this;} /** *

The name of the virtual interface assigned by the customer network. The name * has a maximum of 100 characters. The following are valid characters: a-z, 0-9 * and a hyphen (-).

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceName(const char* value) { SetVirtualInterfaceName(value); return *this;} /** *

The ID of the VLAN.

*/ inline int GetVlan() const{ return m_vlan; } /** *

The ID of the VLAN.

*/ inline void SetVlan(int value) { m_vlan = value; } /** *

The ID of the VLAN.

*/ inline CreatePublicVirtualInterfaceResult& WithVlan(int value) { SetVlan(value); return *this;} /** *

The autonomous system (AS) number for Border Gateway Protocol (BGP) * configuration.

The valid values are 1-2147483647.

*/ inline int GetAsn() const{ return m_asn; } /** *

The autonomous system (AS) number for Border Gateway Protocol (BGP) * configuration.

The valid values are 1-2147483647.

*/ inline void SetAsn(int value) { m_asn = value; } /** *

The autonomous system (AS) number for Border Gateway Protocol (BGP) * configuration.

The valid values are 1-2147483647.

*/ inline CreatePublicVirtualInterfaceResult& WithAsn(int value) { SetAsn(value); return *this;} /** *

The autonomous system number (ASN) for the Amazon side of the connection.

*/ inline long long GetAmazonSideAsn() const{ return m_amazonSideAsn; } /** *

The autonomous system number (ASN) for the Amazon side of the connection.

*/ inline void SetAmazonSideAsn(long long value) { m_amazonSideAsn = value; } /** *

The autonomous system number (ASN) for the Amazon side of the connection.

*/ inline CreatePublicVirtualInterfaceResult& WithAmazonSideAsn(long long value) { SetAmazonSideAsn(value); return *this;} /** *

The authentication key for BGP configuration. This string has a minimum * length of 6 characters and and a maximun lenth of 80 characters.

*/ inline const Aws::String& GetAuthKey() const{ return m_authKey; } /** *

The authentication key for BGP configuration. This string has a minimum * length of 6 characters and and a maximun lenth of 80 characters.

*/ inline void SetAuthKey(const Aws::String& value) { m_authKey = value; } /** *

The authentication key for BGP configuration. This string has a minimum * length of 6 characters and and a maximun lenth of 80 characters.

*/ inline void SetAuthKey(Aws::String&& value) { m_authKey = std::move(value); } /** *

The authentication key for BGP configuration. This string has a minimum * length of 6 characters and and a maximun lenth of 80 characters.

*/ inline void SetAuthKey(const char* value) { m_authKey.assign(value); } /** *

The authentication key for BGP configuration. This string has a minimum * length of 6 characters and and a maximun lenth of 80 characters.

*/ inline CreatePublicVirtualInterfaceResult& WithAuthKey(const Aws::String& value) { SetAuthKey(value); return *this;} /** *

The authentication key for BGP configuration. This string has a minimum * length of 6 characters and and a maximun lenth of 80 characters.

*/ inline CreatePublicVirtualInterfaceResult& WithAuthKey(Aws::String&& value) { SetAuthKey(std::move(value)); return *this;} /** *

The authentication key for BGP configuration. This string has a minimum * length of 6 characters and and a maximun lenth of 80 characters.

*/ inline CreatePublicVirtualInterfaceResult& WithAuthKey(const char* value) { SetAuthKey(value); return *this;} /** *

The IP address assigned to the Amazon interface.

*/ inline const Aws::String& GetAmazonAddress() const{ return m_amazonAddress; } /** *

The IP address assigned to the Amazon interface.

*/ inline void SetAmazonAddress(const Aws::String& value) { m_amazonAddress = value; } /** *

The IP address assigned to the Amazon interface.

*/ inline void SetAmazonAddress(Aws::String&& value) { m_amazonAddress = std::move(value); } /** *

The IP address assigned to the Amazon interface.

*/ inline void SetAmazonAddress(const char* value) { m_amazonAddress.assign(value); } /** *

The IP address assigned to the Amazon interface.

*/ inline CreatePublicVirtualInterfaceResult& WithAmazonAddress(const Aws::String& value) { SetAmazonAddress(value); return *this;} /** *

The IP address assigned to the Amazon interface.

*/ inline CreatePublicVirtualInterfaceResult& WithAmazonAddress(Aws::String&& value) { SetAmazonAddress(std::move(value)); return *this;} /** *

The IP address assigned to the Amazon interface.

*/ inline CreatePublicVirtualInterfaceResult& WithAmazonAddress(const char* value) { SetAmazonAddress(value); return *this;} /** *

The IP address assigned to the customer interface.

*/ inline const Aws::String& GetCustomerAddress() const{ return m_customerAddress; } /** *

The IP address assigned to the customer interface.

*/ inline void SetCustomerAddress(const Aws::String& value) { m_customerAddress = value; } /** *

The IP address assigned to the customer interface.

*/ inline void SetCustomerAddress(Aws::String&& value) { m_customerAddress = std::move(value); } /** *

The IP address assigned to the customer interface.

*/ inline void SetCustomerAddress(const char* value) { m_customerAddress.assign(value); } /** *

The IP address assigned to the customer interface.

*/ inline CreatePublicVirtualInterfaceResult& WithCustomerAddress(const Aws::String& value) { SetCustomerAddress(value); return *this;} /** *

The IP address assigned to the customer interface.

*/ inline CreatePublicVirtualInterfaceResult& WithCustomerAddress(Aws::String&& value) { SetCustomerAddress(std::move(value)); return *this;} /** *

The IP address assigned to the customer interface.

*/ inline CreatePublicVirtualInterfaceResult& WithCustomerAddress(const char* value) { SetCustomerAddress(value); return *this;} /** *

The address family for the BGP peer.

*/ inline const AddressFamily& GetAddressFamily() const{ return m_addressFamily; } /** *

The address family for the BGP peer.

*/ inline void SetAddressFamily(const AddressFamily& value) { m_addressFamily = value; } /** *

The address family for the BGP peer.

*/ inline void SetAddressFamily(AddressFamily&& value) { m_addressFamily = std::move(value); } /** *

The address family for the BGP peer.

*/ inline CreatePublicVirtualInterfaceResult& WithAddressFamily(const AddressFamily& value) { SetAddressFamily(value); return *this;} /** *

The address family for the BGP peer.

*/ inline CreatePublicVirtualInterfaceResult& WithAddressFamily(AddressFamily&& value) { SetAddressFamily(std::move(value)); return *this;} /** *

The state of the virtual interface. The following are the possible * values:

  • confirming: The creation of the virtual * interface is pending confirmation from the virtual interface owner. If the owner * of the virtual interface is different from the owner of the connection on which * it is provisioned, then the virtual interface will remain in this state until it * is confirmed by the virtual interface owner.

  • * verifying: This state only applies to public virtual interfaces. * Each public virtual interface needs validation before the virtual interface can * be created.

  • pending: A virtual interface is in * this state from the time that it is created until the virtual interface is ready * to forward traffic.

  • available: A virtual * interface that is able to forward traffic.

  • down: * A virtual interface that is BGP down.

  • deleting: * A virtual interface is in this state immediately after calling * DeleteVirtualInterface until it can no longer forward traffic.

  • *
  • deleted: A virtual interface that cannot forward * traffic.

  • rejected: The virtual interface owner * has declined creation of the virtual interface. If a virtual interface in the * Confirming state is deleted by the virtual interface owner, the * virtual interface enters the Rejected state.

  • * unknown: The state of the virtual interface is not available.

    *
*/ inline const VirtualInterfaceState& GetVirtualInterfaceState() const{ return m_virtualInterfaceState; } /** *

The state of the virtual interface. The following are the possible * values:

  • confirming: The creation of the virtual * interface is pending confirmation from the virtual interface owner. If the owner * of the virtual interface is different from the owner of the connection on which * it is provisioned, then the virtual interface will remain in this state until it * is confirmed by the virtual interface owner.

  • * verifying: This state only applies to public virtual interfaces. * Each public virtual interface needs validation before the virtual interface can * be created.

  • pending: A virtual interface is in * this state from the time that it is created until the virtual interface is ready * to forward traffic.

  • available: A virtual * interface that is able to forward traffic.

  • down: * A virtual interface that is BGP down.

  • deleting: * A virtual interface is in this state immediately after calling * DeleteVirtualInterface until it can no longer forward traffic.

  • *
  • deleted: A virtual interface that cannot forward * traffic.

  • rejected: The virtual interface owner * has declined creation of the virtual interface. If a virtual interface in the * Confirming state is deleted by the virtual interface owner, the * virtual interface enters the Rejected state.

  • * unknown: The state of the virtual interface is not available.

    *
*/ inline void SetVirtualInterfaceState(const VirtualInterfaceState& value) { m_virtualInterfaceState = value; } /** *

The state of the virtual interface. The following are the possible * values:

  • confirming: The creation of the virtual * interface is pending confirmation from the virtual interface owner. If the owner * of the virtual interface is different from the owner of the connection on which * it is provisioned, then the virtual interface will remain in this state until it * is confirmed by the virtual interface owner.

  • * verifying: This state only applies to public virtual interfaces. * Each public virtual interface needs validation before the virtual interface can * be created.

  • pending: A virtual interface is in * this state from the time that it is created until the virtual interface is ready * to forward traffic.

  • available: A virtual * interface that is able to forward traffic.

  • down: * A virtual interface that is BGP down.

  • deleting: * A virtual interface is in this state immediately after calling * DeleteVirtualInterface until it can no longer forward traffic.

  • *
  • deleted: A virtual interface that cannot forward * traffic.

  • rejected: The virtual interface owner * has declined creation of the virtual interface. If a virtual interface in the * Confirming state is deleted by the virtual interface owner, the * virtual interface enters the Rejected state.

  • * unknown: The state of the virtual interface is not available.

    *
*/ inline void SetVirtualInterfaceState(VirtualInterfaceState&& value) { m_virtualInterfaceState = std::move(value); } /** *

The state of the virtual interface. The following are the possible * values:

  • confirming: The creation of the virtual * interface is pending confirmation from the virtual interface owner. If the owner * of the virtual interface is different from the owner of the connection on which * it is provisioned, then the virtual interface will remain in this state until it * is confirmed by the virtual interface owner.

  • * verifying: This state only applies to public virtual interfaces. * Each public virtual interface needs validation before the virtual interface can * be created.

  • pending: A virtual interface is in * this state from the time that it is created until the virtual interface is ready * to forward traffic.

  • available: A virtual * interface that is able to forward traffic.

  • down: * A virtual interface that is BGP down.

  • deleting: * A virtual interface is in this state immediately after calling * DeleteVirtualInterface until it can no longer forward traffic.

  • *
  • deleted: A virtual interface that cannot forward * traffic.

  • rejected: The virtual interface owner * has declined creation of the virtual interface. If a virtual interface in the * Confirming state is deleted by the virtual interface owner, the * virtual interface enters the Rejected state.

  • * unknown: The state of the virtual interface is not available.

    *
*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceState(const VirtualInterfaceState& value) { SetVirtualInterfaceState(value); return *this;} /** *

The state of the virtual interface. The following are the possible * values:

  • confirming: The creation of the virtual * interface is pending confirmation from the virtual interface owner. If the owner * of the virtual interface is different from the owner of the connection on which * it is provisioned, then the virtual interface will remain in this state until it * is confirmed by the virtual interface owner.

  • * verifying: This state only applies to public virtual interfaces. * Each public virtual interface needs validation before the virtual interface can * be created.

  • pending: A virtual interface is in * this state from the time that it is created until the virtual interface is ready * to forward traffic.

  • available: A virtual * interface that is able to forward traffic.

  • down: * A virtual interface that is BGP down.

  • deleting: * A virtual interface is in this state immediately after calling * DeleteVirtualInterface until it can no longer forward traffic.

  • *
  • deleted: A virtual interface that cannot forward * traffic.

  • rejected: The virtual interface owner * has declined creation of the virtual interface. If a virtual interface in the * Confirming state is deleted by the virtual interface owner, the * virtual interface enters the Rejected state.

  • * unknown: The state of the virtual interface is not available.

    *
*/ inline CreatePublicVirtualInterfaceResult& WithVirtualInterfaceState(VirtualInterfaceState&& value) { SetVirtualInterfaceState(std::move(value)); return *this;} /** *

The customer router configuration.

*/ inline const Aws::String& GetCustomerRouterConfig() const{ return m_customerRouterConfig; } /** *

The customer router configuration.

*/ inline void SetCustomerRouterConfig(const Aws::String& value) { m_customerRouterConfig = value; } /** *

The customer router configuration.

*/ inline void SetCustomerRouterConfig(Aws::String&& value) { m_customerRouterConfig = std::move(value); } /** *

The customer router configuration.

*/ inline void SetCustomerRouterConfig(const char* value) { m_customerRouterConfig.assign(value); } /** *

The customer router configuration.

*/ inline CreatePublicVirtualInterfaceResult& WithCustomerRouterConfig(const Aws::String& value) { SetCustomerRouterConfig(value); return *this;} /** *

The customer router configuration.

*/ inline CreatePublicVirtualInterfaceResult& WithCustomerRouterConfig(Aws::String&& value) { SetCustomerRouterConfig(std::move(value)); return *this;} /** *

The customer router configuration.

*/ inline CreatePublicVirtualInterfaceResult& WithCustomerRouterConfig(const char* value) { SetCustomerRouterConfig(value); return *this;} /** *

The maximum transmission unit (MTU), in bytes. The supported values are 1500 * and 8500. The default value is 1500

*/ inline int GetMtu() const{ return m_mtu; } /** *

The maximum transmission unit (MTU), in bytes. The supported values are 1500 * and 8500. The default value is 1500

*/ inline void SetMtu(int value) { m_mtu = value; } /** *

The maximum transmission unit (MTU), in bytes. The supported values are 1500 * and 8500. The default value is 1500

*/ inline CreatePublicVirtualInterfaceResult& WithMtu(int value) { SetMtu(value); return *this;} /** *

Indicates whether jumbo frames are supported.

*/ inline bool GetJumboFrameCapable() const{ return m_jumboFrameCapable; } /** *

Indicates whether jumbo frames are supported.

*/ inline void SetJumboFrameCapable(bool value) { m_jumboFrameCapable = value; } /** *

Indicates whether jumbo frames are supported.

*/ inline CreatePublicVirtualInterfaceResult& WithJumboFrameCapable(bool value) { SetJumboFrameCapable(value); return *this;} /** *

The ID of the virtual private gateway. Applies only to private virtual * interfaces.

*/ inline const Aws::String& GetVirtualGatewayId() const{ return m_virtualGatewayId; } /** *

The ID of the virtual private gateway. Applies only to private virtual * interfaces.

*/ inline void SetVirtualGatewayId(const Aws::String& value) { m_virtualGatewayId = value; } /** *

The ID of the virtual private gateway. Applies only to private virtual * interfaces.

*/ inline void SetVirtualGatewayId(Aws::String&& value) { m_virtualGatewayId = std::move(value); } /** *

The ID of the virtual private gateway. Applies only to private virtual * interfaces.

*/ inline void SetVirtualGatewayId(const char* value) { m_virtualGatewayId.assign(value); } /** *

The ID of the virtual private gateway. Applies only to private virtual * interfaces.

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualGatewayId(const Aws::String& value) { SetVirtualGatewayId(value); return *this;} /** *

The ID of the virtual private gateway. Applies only to private virtual * interfaces.

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualGatewayId(Aws::String&& value) { SetVirtualGatewayId(std::move(value)); return *this;} /** *

The ID of the virtual private gateway. Applies only to private virtual * interfaces.

*/ inline CreatePublicVirtualInterfaceResult& WithVirtualGatewayId(const char* value) { SetVirtualGatewayId(value); return *this;} /** *

The ID of the Direct Connect gateway.

*/ inline const Aws::String& GetDirectConnectGatewayId() const{ return m_directConnectGatewayId; } /** *

The ID of the Direct Connect gateway.

*/ inline void SetDirectConnectGatewayId(const Aws::String& value) { m_directConnectGatewayId = value; } /** *

The ID of the Direct Connect gateway.

*/ inline void SetDirectConnectGatewayId(Aws::String&& value) { m_directConnectGatewayId = std::move(value); } /** *

The ID of the Direct Connect gateway.

*/ inline void SetDirectConnectGatewayId(const char* value) { m_directConnectGatewayId.assign(value); } /** *

The ID of the Direct Connect gateway.

*/ inline CreatePublicVirtualInterfaceResult& WithDirectConnectGatewayId(const Aws::String& value) { SetDirectConnectGatewayId(value); return *this;} /** *

The ID of the Direct Connect gateway.

*/ inline CreatePublicVirtualInterfaceResult& WithDirectConnectGatewayId(Aws::String&& value) { SetDirectConnectGatewayId(std::move(value)); return *this;} /** *

The ID of the Direct Connect gateway.

*/ inline CreatePublicVirtualInterfaceResult& WithDirectConnectGatewayId(const char* value) { SetDirectConnectGatewayId(value); return *this;} /** *

The routes to be advertised to the Amazon Web Services network in this * Region. Applies to public virtual interfaces.

*/ inline const Aws::Vector& GetRouteFilterPrefixes() const{ return m_routeFilterPrefixes; } /** *

The routes to be advertised to the Amazon Web Services network in this * Region. Applies to public virtual interfaces.

*/ inline void SetRouteFilterPrefixes(const Aws::Vector& value) { m_routeFilterPrefixes = value; } /** *

The routes to be advertised to the Amazon Web Services network in this * Region. Applies to public virtual interfaces.

*/ inline void SetRouteFilterPrefixes(Aws::Vector&& value) { m_routeFilterPrefixes = std::move(value); } /** *

The routes to be advertised to the Amazon Web Services network in this * Region. Applies to public virtual interfaces.

*/ inline CreatePublicVirtualInterfaceResult& WithRouteFilterPrefixes(const Aws::Vector& value) { SetRouteFilterPrefixes(value); return *this;} /** *

The routes to be advertised to the Amazon Web Services network in this * Region. Applies to public virtual interfaces.

*/ inline CreatePublicVirtualInterfaceResult& WithRouteFilterPrefixes(Aws::Vector&& value) { SetRouteFilterPrefixes(std::move(value)); return *this;} /** *

The routes to be advertised to the Amazon Web Services network in this * Region. Applies to public virtual interfaces.

*/ inline CreatePublicVirtualInterfaceResult& AddRouteFilterPrefixes(const RouteFilterPrefix& value) { m_routeFilterPrefixes.push_back(value); return *this; } /** *

The routes to be advertised to the Amazon Web Services network in this * Region. Applies to public virtual interfaces.

*/ inline CreatePublicVirtualInterfaceResult& AddRouteFilterPrefixes(RouteFilterPrefix&& value) { m_routeFilterPrefixes.push_back(std::move(value)); return *this; } /** *

The BGP peers configured on this virtual interface.

*/ inline const Aws::Vector& GetBgpPeers() const{ return m_bgpPeers; } /** *

The BGP peers configured on this virtual interface.

*/ inline void SetBgpPeers(const Aws::Vector& value) { m_bgpPeers = value; } /** *

The BGP peers configured on this virtual interface.

*/ inline void SetBgpPeers(Aws::Vector&& value) { m_bgpPeers = std::move(value); } /** *

The BGP peers configured on this virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& WithBgpPeers(const Aws::Vector& value) { SetBgpPeers(value); return *this;} /** *

The BGP peers configured on this virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& WithBgpPeers(Aws::Vector&& value) { SetBgpPeers(std::move(value)); return *this;} /** *

The BGP peers configured on this virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& AddBgpPeers(const BGPPeer& value) { m_bgpPeers.push_back(value); return *this; } /** *

The BGP peers configured on this virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& AddBgpPeers(BGPPeer&& value) { m_bgpPeers.push_back(std::move(value)); return *this; } /** *

The Amazon Web Services Region where the virtual interface is located.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The Amazon Web Services Region where the virtual interface is located.

*/ inline void SetRegion(const Aws::String& value) { m_region = value; } /** *

The Amazon Web Services Region where the virtual interface is located.

*/ inline void SetRegion(Aws::String&& value) { m_region = std::move(value); } /** *

The Amazon Web Services Region where the virtual interface is located.

*/ inline void SetRegion(const char* value) { m_region.assign(value); } /** *

The Amazon Web Services Region where the virtual interface is located.

*/ inline CreatePublicVirtualInterfaceResult& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

The Amazon Web Services Region where the virtual interface is located.

*/ inline CreatePublicVirtualInterfaceResult& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region where the virtual interface is located.

*/ inline CreatePublicVirtualInterfaceResult& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

The Direct Connect endpoint that terminates the physical connection.

*/ inline const Aws::String& GetAwsDeviceV2() const{ return m_awsDeviceV2; } /** *

The Direct Connect endpoint that terminates the physical connection.

*/ inline void SetAwsDeviceV2(const Aws::String& value) { m_awsDeviceV2 = value; } /** *

The Direct Connect endpoint that terminates the physical connection.

*/ inline void SetAwsDeviceV2(Aws::String&& value) { m_awsDeviceV2 = std::move(value); } /** *

The Direct Connect endpoint that terminates the physical connection.

*/ inline void SetAwsDeviceV2(const char* value) { m_awsDeviceV2.assign(value); } /** *

The Direct Connect endpoint that terminates the physical connection.

*/ inline CreatePublicVirtualInterfaceResult& WithAwsDeviceV2(const Aws::String& value) { SetAwsDeviceV2(value); return *this;} /** *

The Direct Connect endpoint that terminates the physical connection.

*/ inline CreatePublicVirtualInterfaceResult& WithAwsDeviceV2(Aws::String&& value) { SetAwsDeviceV2(std::move(value)); return *this;} /** *

The Direct Connect endpoint that terminates the physical connection.

*/ inline CreatePublicVirtualInterfaceResult& WithAwsDeviceV2(const char* value) { SetAwsDeviceV2(value); return *this;} /** *

The Direct Connect endpoint that terminates the logical connection. This * device might be different than the device that terminates the physical * connection.

*/ inline const Aws::String& GetAwsLogicalDeviceId() const{ return m_awsLogicalDeviceId; } /** *

The Direct Connect endpoint that terminates the logical connection. This * device might be different than the device that terminates the physical * connection.

*/ inline void SetAwsLogicalDeviceId(const Aws::String& value) { m_awsLogicalDeviceId = value; } /** *

The Direct Connect endpoint that terminates the logical connection. This * device might be different than the device that terminates the physical * connection.

*/ inline void SetAwsLogicalDeviceId(Aws::String&& value) { m_awsLogicalDeviceId = std::move(value); } /** *

The Direct Connect endpoint that terminates the logical connection. This * device might be different than the device that terminates the physical * connection.

*/ inline void SetAwsLogicalDeviceId(const char* value) { m_awsLogicalDeviceId.assign(value); } /** *

The Direct Connect endpoint that terminates the logical connection. This * device might be different than the device that terminates the physical * connection.

*/ inline CreatePublicVirtualInterfaceResult& WithAwsLogicalDeviceId(const Aws::String& value) { SetAwsLogicalDeviceId(value); return *this;} /** *

The Direct Connect endpoint that terminates the logical connection. This * device might be different than the device that terminates the physical * connection.

*/ inline CreatePublicVirtualInterfaceResult& WithAwsLogicalDeviceId(Aws::String&& value) { SetAwsLogicalDeviceId(std::move(value)); return *this;} /** *

The Direct Connect endpoint that terminates the logical connection. This * device might be different than the device that terminates the physical * connection.

*/ inline CreatePublicVirtualInterfaceResult& WithAwsLogicalDeviceId(const char* value) { SetAwsLogicalDeviceId(value); return *this;} /** *

The tags associated with the virtual interface.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags associated with the virtual interface.

*/ inline void SetTags(const Aws::Vector& value) { m_tags = value; } /** *

The tags associated with the virtual interface.

*/ inline void SetTags(Aws::Vector&& value) { m_tags = std::move(value); } /** *

The tags associated with the virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags associated with the virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags associated with the virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } /** *

The tags associated with the virtual interface.

*/ inline CreatePublicVirtualInterfaceResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } /** *

Indicates whether SiteLink is enabled.

*/ inline bool GetSiteLinkEnabled() const{ return m_siteLinkEnabled; } /** *

Indicates whether SiteLink is enabled.

*/ inline void SetSiteLinkEnabled(bool value) { m_siteLinkEnabled = value; } /** *

Indicates whether SiteLink is enabled.

*/ inline CreatePublicVirtualInterfaceResult& WithSiteLinkEnabled(bool value) { SetSiteLinkEnabled(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline CreatePublicVirtualInterfaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline CreatePublicVirtualInterfaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline CreatePublicVirtualInterfaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_ownerAccount; Aws::String m_virtualInterfaceId; Aws::String m_location; Aws::String m_connectionId; Aws::String m_virtualInterfaceType; Aws::String m_virtualInterfaceName; int m_vlan; int m_asn; long long m_amazonSideAsn; Aws::String m_authKey; Aws::String m_amazonAddress; Aws::String m_customerAddress; AddressFamily m_addressFamily; VirtualInterfaceState m_virtualInterfaceState; Aws::String m_customerRouterConfig; int m_mtu; bool m_jumboFrameCapable; Aws::String m_virtualGatewayId; Aws::String m_directConnectGatewayId; Aws::Vector m_routeFilterPrefixes; Aws::Vector m_bgpPeers; Aws::String m_region; Aws::String m_awsDeviceV2; Aws::String m_awsLogicalDeviceId; Aws::Vector m_tags; bool m_siteLinkEnabled; Aws::String m_requestId; }; } // namespace Model } // namespace DirectConnect } // namespace Aws