-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon Direct Connect SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.DirectConnect</a> or <a>the AWS documentation</a>
--   to get started.
@package amazonka-directconnect
@version 1.6.1


module Network.AWS.DirectConnect.Types

-- | API version <tt>2012-10-25</tt> of the Amazon Direct Connect SDK
--   configuration.
directConnect :: Service

-- | The API was called with invalid parameters. The error message will
--   contain additional details about the cause.
_DirectConnectClientException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A tag key was specified more than once.
_DuplicateTagKeysException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the limit on the number of tags that can be assigned
--   to a Direct Connect resource.
_TooManyTagsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A server-side error occurred during the API call. The error message
--   will contain additional details about the cause.
_DirectConnectServerException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates the address family for the BGP peer.
--   
--   <ul>
--   <li><b>ipv4</b> : IPv4 address family</li>
--   <li><b>ipv6</b> : IPv6 address family</li>
--   </ul>
data AddressFamily
IPV4 :: AddressFamily
IPV6 :: AddressFamily

-- | The state of the BGP peer.
--   
--   <ul>
--   <li><b>Verifying</b> : The BGP peering addresses or ASN require
--   validation before the BGP peer can be created. This state only applies
--   to BGP peers on a public virtual interface.</li>
--   <li><b>Pending</b> : The BGP peer has been created, and is in this
--   state until it is ready to be established.</li>
--   <li><b>Available</b> : The BGP peer can be established.</li>
--   <li><b>Deleting</b> : The BGP peer is in the process of being
--   deleted.</li>
--   <li><b>Deleted</b> : The BGP peer has been deleted and cannot be
--   established.</li>
--   </ul>
data BGPPeerState
Available :: BGPPeerState
Deleted :: BGPPeerState
Deleting :: BGPPeerState
Pending :: BGPPeerState
Verifying :: BGPPeerState

-- | The Up/Down state of the BGP peer.
--   
--   <ul>
--   <li><b>Up</b> : The BGP peer is established.</li>
--   <li><b>Down</b> : The BGP peer is down.</li>
--   </ul>
data BGPStatus
Down :: BGPStatus
UP :: BGPStatus

-- | State of the connection.
--   
--   <ul>
--   <li><b>Ordering</b> : The initial state of a hosted connection
--   provisioned on an interconnect. The connection stays in the ordering
--   state until the owner of the hosted connection confirms or declines
--   the connection order.</li>
--   <li><b>Requested</b> : The initial state of a standard connection. The
--   connection stays in the requested state until the Letter of
--   Authorization (LOA) is sent to the customer.</li>
--   <li><b>Pending</b> : The connection has been approved, and is being
--   initialized.</li>
--   <li><b>Available</b> : The network link is up, and the connection is
--   ready for use.</li>
--   <li><b>Down</b> : The network link is down.</li>
--   <li><b>Deleting</b> : The connection is in the process of being
--   deleted.</li>
--   <li><b>Deleted</b> : The connection has been deleted.</li>
--   <li><b>Rejected</b> : A hosted connection in the <a>Ordering</a> state
--   will enter the <tt>Rejected</tt> state if it is deleted by the end
--   customer.</li>
--   </ul>
data ConnectionState
CSAvailable :: ConnectionState
CSDeleted :: ConnectionState
CSDeleting :: ConnectionState
CSDown :: ConnectionState
CSOrdering :: ConnectionState
CSPending :: ConnectionState
CSRejected :: ConnectionState
CSRequested :: ConnectionState

-- | State of the direct connect gateway association.
--   
--   <ul>
--   <li><b>Associating</b> : The initial state after calling
--   <tt>CreateDirectConnectGatewayAssociation</tt> .</li>
--   <li><b>Associated</b> : The direct connect gateway and virtual private
--   gateway are successfully associated and ready to pass traffic.</li>
--   <li><b>Disassociating</b> : The initial state after calling
--   <tt>DeleteDirectConnectGatewayAssociation</tt> .</li>
--   <li><b>Disassociated</b> : The virtual private gateway is successfully
--   disassociated from the direct connect gateway. Traffic flow between
--   the direct connect gateway and virtual private gateway stops.</li>
--   </ul>
data DirectConnectGatewayAssociationState
Associated :: DirectConnectGatewayAssociationState
Associating :: DirectConnectGatewayAssociationState
Disassociated :: DirectConnectGatewayAssociationState
Disassociating :: DirectConnectGatewayAssociationState

-- | State of the direct connect gateway attachment.
--   
--   <ul>
--   <li><b>Attaching</b> : The initial state after a virtual interface is
--   created using the direct connect gateway.</li>
--   <li><b>Attached</b> : The direct connect gateway and virtual interface
--   are successfully attached and ready to pass traffic.</li>
--   <li><b>Detaching</b> : The initial state after calling
--   <tt>DeleteVirtualInterface</tt> on a virtual interface that is
--   attached to a direct connect gateway.</li>
--   <li><b>Detached</b> : The virtual interface is successfully detached
--   from the direct connect gateway. Traffic flow between the direct
--   connect gateway and virtual interface stops.</li>
--   </ul>
data DirectConnectGatewayAttachmentState
Attached :: DirectConnectGatewayAttachmentState
Attaching :: DirectConnectGatewayAttachmentState
Detached :: DirectConnectGatewayAttachmentState
Detaching :: DirectConnectGatewayAttachmentState

-- | State of the direct connect gateway.
--   
--   <ul>
--   <li><b>Pending</b> : The initial state after calling
--   <tt>CreateDirectConnectGateway</tt> .</li>
--   <li><b>Available</b> : The direct connect gateway is ready for
--   use.</li>
--   <li><b>Deleting</b> : The initial state after calling
--   <tt>DeleteDirectConnectGateway</tt> .</li>
--   <li><b>Deleted</b> : The direct connect gateway is deleted and cannot
--   pass traffic.</li>
--   </ul>
data DirectConnectGatewayState
DCGSAvailable :: DirectConnectGatewayState
DCGSDeleted :: DirectConnectGatewayState
DCGSDeleting :: DirectConnectGatewayState
DCGSPending :: DirectConnectGatewayState

-- | State of the interconnect.
--   
--   <ul>
--   <li><b>Requested</b> : The initial state of an interconnect. The
--   interconnect stays in the requested state until the Letter of
--   Authorization (LOA) is sent to the customer.</li>
--   <li><b>Pending</b> : The interconnect has been approved, and is being
--   initialized.</li>
--   <li><b>Available</b> : The network link is up, and the interconnect is
--   ready for use.</li>
--   <li><b>Down</b> : The network link is down.</li>
--   <li><b>Deleting</b> : The interconnect is in the process of being
--   deleted.</li>
--   <li><b>Deleted</b> : The interconnect has been deleted.</li>
--   </ul>
data InterconnectState
ISAvailable :: InterconnectState
ISDeleted :: InterconnectState
ISDeleting :: InterconnectState
ISDown :: InterconnectState
ISPending :: InterconnectState
ISRequested :: InterconnectState

-- | The state of the LAG.
--   
--   <ul>
--   <li><b>Requested</b> : The initial state of a LAG. The LAG stays in
--   the requested state until the Letter of Authorization (LOA) is
--   available.</li>
--   <li><b>Pending</b> : The LAG has been approved, and is being
--   initialized.</li>
--   <li><b>Available</b> : The network link is established, and the LAG is
--   ready for use.</li>
--   <li><b>Down</b> : The network link is down.</li>
--   <li><b>Deleting</b> : The LAG is in the process of being deleted.</li>
--   <li><b>Deleted</b> : The LAG has been deleted.</li>
--   </ul>
data LagState
LSAvailable :: LagState
LSDeleted :: LagState
LSDeleting :: LagState
LSDown :: LagState
LSPending :: LagState
LSRequested :: LagState

-- | A standard media type indicating the content type of the LOA-CFA
--   document. Currently, the only supported value is "application/pdf".
--   
--   Default: application/pdf
data LoaContentType
ApplicationPdf :: LoaContentType

-- | State of the virtual interface.
--   
--   <ul>
--   <li><b>Confirming</b> : 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.</li>
--   <li><b>Verifying</b> : This state only applies to public virtual
--   interfaces. Each public virtual interface needs validation before the
--   virtual interface can be created.</li>
--   <li><b>Pending</b> : A virtual interface is in this state from the
--   time that it is created until the virtual interface is ready to
--   forward traffic.</li>
--   <li><b>Available</b> : A virtual interface that is able to forward
--   traffic.</li>
--   <li><b>Down</b> : A virtual interface that is BGP down.</li>
--   <li><b>Deleting</b> : A virtual interface is in this state immediately
--   after calling <tt>DeleteVirtualInterface</tt> until it can no longer
--   forward traffic.</li>
--   <li><b>Deleted</b> : A virtual interface that cannot forward
--   traffic.</li>
--   <li><b>Rejected</b> : The virtual interface owner has declined
--   creation of the virtual interface. If a virtual interface in the
--   <tt>Confirming</tt> state is deleted by the virtual interface owner,
--   the virtual interface will enter the <tt>Rejected</tt> state.</li>
--   </ul>
data VirtualInterfaceState
VISAvailable :: VirtualInterfaceState
VISConfirming :: VirtualInterfaceState
VISDeleted :: VirtualInterfaceState
VISDeleting :: VirtualInterfaceState
VISDown :: VirtualInterfaceState
VISPending :: VirtualInterfaceState
VISRejected :: VirtualInterfaceState
VISVerifying :: VirtualInterfaceState

-- | A structure containing information about a BGP peer.
--   
--   <i>See:</i> <a>bgpPeer</a> smart constructor.
data BGPPeer

-- | Creates a value of <a>BGPPeer</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bpCustomerAddress</a> - Undocumented member.</li>
--   <li><a>bpAmazonAddress</a> - Undocumented member.</li>
--   <li><a>bpAddressFamily</a> - Undocumented member.</li>
--   <li><a>bpBgpStatus</a> - Undocumented member.</li>
--   <li><a>bpAsn</a> - Undocumented member.</li>
--   <li><a>bpAuthKey</a> - Undocumented member.</li>
--   <li><a>bpBgpPeerState</a> - Undocumented member.</li>
--   </ul>
bgpPeer :: BGPPeer

-- | Undocumented member.
bpCustomerAddress :: Lens' BGPPeer (Maybe Text)

-- | Undocumented member.
bpAmazonAddress :: Lens' BGPPeer (Maybe Text)

-- | Undocumented member.
bpAddressFamily :: Lens' BGPPeer (Maybe AddressFamily)

-- | Undocumented member.
bpBgpStatus :: Lens' BGPPeer (Maybe BGPStatus)

-- | Undocumented member.
bpAsn :: Lens' BGPPeer (Maybe Int)

-- | Undocumented member.
bpAuthKey :: Lens' BGPPeer (Maybe Text)

-- | Undocumented member.
bpBgpPeerState :: Lens' BGPPeer (Maybe BGPPeerState)

-- | A connection represents the physical network connection between the
--   AWS Direct Connect location and the customer.
--   
--   <i>See:</i> <a>connection</a> smart constructor.
data Connection

-- | Creates a value of <a>Connection</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cLagId</a> - Undocumented member.</li>
--   <li><a>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   <tt>DescribeLoa</tt> for this connection.</li>
--   <li><a>cPartnerName</a> - The name of the AWS Direct Connect service
--   provider associated with the connection.</li>
--   <li><a>cConnectionName</a> - Undocumented member.</li>
--   <li><a>cBandwidth</a> - Bandwidth of the connection. Example: 1Gbps
--   (for regular connections), or 500Mbps (for hosted connections)
--   Default: None</li>
--   <li><a>cOwnerAccount</a> - The AWS account that will own the new
--   connection.</li>
--   <li><a>cRegion</a> - Undocumented member.</li>
--   <li><a>cConnectionState</a> - Undocumented member.</li>
--   </ul>
connection :: Connection

-- | Undocumented member.
cLagId :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cVlan :: Lens' Connection (Maybe Int)

-- | Undocumented member.
cLocation :: Lens' Connection (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
cAwsDevice :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionId :: Lens' Connection (Maybe Text)

-- | The time of the most recent call to <tt>DescribeLoa</tt> for this
--   connection.
cLoaIssueTime :: Lens' Connection (Maybe UTCTime)

-- | The name of the AWS Direct Connect service provider associated with
--   the connection.
cPartnerName :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionName :: Lens' Connection (Maybe Text)

-- | Bandwidth of the connection. Example: 1Gbps (for regular connections),
--   or 500Mbps (for hosted connections) Default: None
cBandwidth :: Lens' Connection (Maybe Text)

-- | The AWS account that will own the new connection.
cOwnerAccount :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cRegion :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionState :: Lens' Connection (Maybe ConnectionState)

-- | A structure containing a list of connections.
--   
--   <i>See:</i> <a>connections</a> smart constructor.
data Connections

-- | Creates a value of <a>Connections</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cConnections</a> - A list of connections.</li>
--   </ul>
connections :: Connections

-- | A list of connections.
cConnections :: Lens' Connections [Connection]

-- | A direct connect gateway is an intermediate object that enables you to
--   connect virtual interfaces and virtual private gateways.
--   
--   <i>See:</i> <a>directConnectGateway</a> smart constructor.
data DirectConnectGateway

-- | Creates a value of <a>DirectConnectGateway</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcgDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>dcgStateChangeError</a> - Undocumented member.</li>
--   <li><a>dcgAmazonSideASN</a> - The autonomous system number (ASN) for
--   the Amazon side of the connection.</li>
--   <li><a>dcgDirectConnectGatewayName</a> - Undocumented member.</li>
--   <li><a>dcgDirectConnectGatewayState</a> - Undocumented member.</li>
--   <li><a>dcgOwnerAccount</a> - The AWS account ID of the owner of the
--   direct connect gateway.</li>
--   </ul>
directConnectGateway :: DirectConnectGateway

-- | Undocumented member.
dcgDirectConnectGatewayId :: Lens' DirectConnectGateway (Maybe Text)

-- | Undocumented member.
dcgStateChangeError :: Lens' DirectConnectGateway (Maybe Text)

-- | The autonomous system number (ASN) for the Amazon side of the
--   connection.
dcgAmazonSideASN :: Lens' DirectConnectGateway (Maybe Integer)

-- | Undocumented member.
dcgDirectConnectGatewayName :: Lens' DirectConnectGateway (Maybe Text)

-- | Undocumented member.
dcgDirectConnectGatewayState :: Lens' DirectConnectGateway (Maybe DirectConnectGatewayState)

-- | The AWS account ID of the owner of the direct connect gateway.
dcgOwnerAccount :: Lens' DirectConnectGateway (Maybe Text)

-- | The association between a direct connect gateway and virtual private
--   gateway.
--   
--   <i>See:</i> <a>directConnectGatewayAssociation</a> smart constructor.
data DirectConnectGatewayAssociation

-- | Creates a value of <a>DirectConnectGatewayAssociation</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcgaVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>dcgaDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>dcgaVirtualGatewayOwnerAccount</a> - The AWS account ID of the
--   owner of the virtual private gateway.</li>
--   <li><a>dcgaStateChangeError</a> - Undocumented member.</li>
--   <li><a>dcgaVirtualGatewayRegion</a> - Undocumented member.</li>
--   <li><a>dcgaAssociationState</a> - Undocumented member.</li>
--   </ul>
directConnectGatewayAssociation :: DirectConnectGatewayAssociation

-- | Undocumented member.
dcgaVirtualGatewayId :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | Undocumented member.
dcgaDirectConnectGatewayId :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | The AWS account ID of the owner of the virtual private gateway.
dcgaVirtualGatewayOwnerAccount :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | Undocumented member.
dcgaStateChangeError :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | Undocumented member.
dcgaVirtualGatewayRegion :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | Undocumented member.
dcgaAssociationState :: Lens' DirectConnectGatewayAssociation (Maybe DirectConnectGatewayAssociationState)

-- | The association between a direct connect gateway and virtual
--   interface.
--   
--   <i>See:</i> <a>directConnectGatewayAttachment</a> smart constructor.
data DirectConnectGatewayAttachment

-- | Creates a value of <a>DirectConnectGatewayAttachment</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>dAttachmentState</a> - Undocumented member.</li>
--   <li><a>dStateChangeError</a> - Undocumented member.</li>
--   <li><a>dVirtualInterfaceRegion</a> - Undocumented member.</li>
--   <li><a>dVirtualInterfaceOwnerAccount</a> - The AWS account ID of the
--   owner of the virtual interface.</li>
--   <li><a>dVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
directConnectGatewayAttachment :: DirectConnectGatewayAttachment

-- | Undocumented member.
dDirectConnectGatewayId :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | Undocumented member.
dAttachmentState :: Lens' DirectConnectGatewayAttachment (Maybe DirectConnectGatewayAttachmentState)

-- | Undocumented member.
dStateChangeError :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | Undocumented member.
dVirtualInterfaceRegion :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | The AWS account ID of the owner of the virtual interface.
dVirtualInterfaceOwnerAccount :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | Undocumented member.
dVirtualInterfaceId :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | An interconnect is a connection that can host other connections.
--   
--   Like a standard AWS Direct Connect connection, an interconnect
--   represents the physical connection between an AWS Direct Connect
--   partner's network and a specific Direct Connect location. An AWS
--   Direct Connect partner who owns an interconnect can provision hosted
--   connections on the interconnect for their end customers, thereby
--   providing the end customers with connectivity to AWS services.
--   
--   The resources of the interconnect, including bandwidth and VLAN
--   numbers, are shared by all of the hosted connections on the
--   interconnect, and the owner of the interconnect determines how these
--   resources are assigned.
--   
--   <i>See:</i> <a>interconnect</a> smart constructor.
data Interconnect

-- | Creates a value of <a>Interconnect</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iLagId</a> - Undocumented member.</li>
--   <li><a>iInterconnectId</a> - Undocumented member.</li>
--   <li><a>iLocation</a> - Undocumented member.</li>
--   <li><a>iInterconnectName</a> - Undocumented member.</li>
--   <li><a>iAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>iLoaIssueTime</a> - The time of the most recent call to
--   DescribeInterconnectLoa for this Interconnect.</li>
--   <li><a>iBandwidth</a> - Undocumented member.</li>
--   <li><a>iInterconnectState</a> - Undocumented member.</li>
--   <li><a>iRegion</a> - Undocumented member.</li>
--   </ul>
interconnect :: Interconnect

-- | Undocumented member.
iLagId :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iInterconnectId :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iLocation :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iInterconnectName :: Lens' Interconnect (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
iAwsDevice :: Lens' Interconnect (Maybe Text)

-- | The time of the most recent call to DescribeInterconnectLoa for this
--   Interconnect.
iLoaIssueTime :: Lens' Interconnect (Maybe UTCTime)

-- | Undocumented member.
iBandwidth :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iInterconnectState :: Lens' Interconnect (Maybe InterconnectState)

-- | Undocumented member.
iRegion :: Lens' Interconnect (Maybe Text)

-- | Describes a link aggregation group (LAG). A LAG is a connection that
--   uses the Link Aggregation Control Protocol (LACP) to logically
--   aggregate a bundle of physical connections. Like an interconnect, it
--   can host other connections. All connections in a LAG must terminate on
--   the same physical AWS Direct Connect endpoint, and must be the same
--   bandwidth.
--   
--   <i>See:</i> <a>lag</a> smart constructor.
data Lag

-- | Creates a value of <a>Lag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lagLagId</a> - Undocumented member.</li>
--   <li><a>lagConnectionsBandwidth</a> - The individual bandwidth of the
--   physical connections bundled by the LAG. Available values: 1Gbps,
--   10Gbps</li>
--   <li><a>lagMinimumLinks</a> - The minimum number of physical
--   connections that must be operational for the LAG itself to be
--   operational. If the number of operational connections drops below this
--   setting, the LAG state changes to <tt>down</tt> . This value can help
--   to ensure that a LAG is not overutilized if a significant number of
--   its bundled connections go down.</li>
--   <li><a>lagLagName</a> - The name of the LAG.</li>
--   <li><a>lagLocation</a> - Undocumented member.</li>
--   <li><a>lagConnections</a> - A list of connections bundled by this
--   LAG.</li>
--   <li><a>lagAwsDevice</a> - The AWS Direct Connection endpoint that
--   hosts the LAG.</li>
--   <li><a>lagAllowsHostedConnections</a> - Indicates whether the LAG can
--   host other connections.</li>
--   <li><a>lagNumberOfConnections</a> - The number of physical connections
--   bundled by the LAG, up to a maximum of 10.</li>
--   <li><a>lagLagState</a> - Undocumented member.</li>
--   <li><a>lagOwnerAccount</a> - The owner of the LAG.</li>
--   <li><a>lagRegion</a> - Undocumented member.</li>
--   </ul>
lag :: Lag

-- | Undocumented member.
lagLagId :: Lens' Lag (Maybe Text)

-- | The individual bandwidth of the physical connections bundled by the
--   LAG. Available values: 1Gbps, 10Gbps
lagConnectionsBandwidth :: Lens' Lag (Maybe Text)

-- | The minimum number of physical connections that must be operational
--   for the LAG itself to be operational. If the number of operational
--   connections drops below this setting, the LAG state changes to
--   <tt>down</tt> . This value can help to ensure that a LAG is not
--   overutilized if a significant number of its bundled connections go
--   down.
lagMinimumLinks :: Lens' Lag (Maybe Int)

-- | The name of the LAG.
lagLagName :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagLocation :: Lens' Lag (Maybe Text)

-- | A list of connections bundled by this LAG.
lagConnections :: Lens' Lag [Connection]

-- | The AWS Direct Connection endpoint that hosts the LAG.
lagAwsDevice :: Lens' Lag (Maybe Text)

-- | Indicates whether the LAG can host other connections.
lagAllowsHostedConnections :: Lens' Lag (Maybe Bool)

-- | The number of physical connections bundled by the LAG, up to a maximum
--   of 10.
lagNumberOfConnections :: Lens' Lag (Maybe Int)

-- | Undocumented member.
lagLagState :: Lens' Lag (Maybe LagState)

-- | The owner of the LAG.
lagOwnerAccount :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagRegion :: Lens' Lag (Maybe Text)

-- | An AWS Direct Connect location where connections and interconnects can
--   be requested.
--   
--   <i>See:</i> <a>location</a> smart constructor.
data Location

-- | Creates a value of <a>Location</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lLocationName</a> - The name of the AWS Direct Connect
--   location. The name includes the colocation partner name and the
--   physical site of the lit building.</li>
--   <li><a>lLocationCode</a> - The code used to indicate the AWS Direct
--   Connect location.</li>
--   </ul>
location :: Location

-- | The name of the AWS Direct Connect location. The name includes the
--   colocation partner name and the physical site of the lit building.
lLocationName :: Lens' Location (Maybe Text)

-- | The code used to indicate the AWS Direct Connect location.
lLocationCode :: Lens' Location (Maybe Text)

-- | A structure containing information about a new BGP peer.
--   
--   <i>See:</i> <a>newBGPPeer</a> smart constructor.
data NewBGPPeer

-- | Creates a value of <a>NewBGPPeer</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nbpCustomerAddress</a> - Undocumented member.</li>
--   <li><a>nbpAmazonAddress</a> - Undocumented member.</li>
--   <li><a>nbpAddressFamily</a> - Undocumented member.</li>
--   <li><a>nbpAsn</a> - Undocumented member.</li>
--   <li><a>nbpAuthKey</a> - Undocumented member.</li>
--   </ul>
newBGPPeer :: NewBGPPeer

-- | Undocumented member.
nbpCustomerAddress :: Lens' NewBGPPeer (Maybe Text)

-- | Undocumented member.
nbpAmazonAddress :: Lens' NewBGPPeer (Maybe Text)

-- | Undocumented member.
nbpAddressFamily :: Lens' NewBGPPeer (Maybe AddressFamily)

-- | Undocumented member.
nbpAsn :: Lens' NewBGPPeer (Maybe Int)

-- | Undocumented member.
nbpAuthKey :: Lens' NewBGPPeer (Maybe Text)

-- | A structure containing information about a new private virtual
--   interface.
--   
--   <i>See:</i> <a>newPrivateVirtualInterface</a> smart constructor.
data NewPrivateVirtualInterface

-- | Creates a value of <a>NewPrivateVirtualInterface</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>nCustomerAddress</a> - Undocumented member.</li>
--   <li><a>nAmazonAddress</a> - Undocumented member.</li>
--   <li><a>nAddressFamily</a> - Undocumented member.</li>
--   <li><a>nDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>nAuthKey</a> - Undocumented member.</li>
--   <li><a>nVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>nVlan</a> - Undocumented member.</li>
--   <li><a>nAsn</a> - Undocumented member.</li>
--   </ul>
newPrivateVirtualInterface :: Text -> Int -> Int -> NewPrivateVirtualInterface

-- | Undocumented member.
nVirtualGatewayId :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nCustomerAddress :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nAmazonAddress :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nAddressFamily :: Lens' NewPrivateVirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
nDirectConnectGatewayId :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nAuthKey :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nVirtualInterfaceName :: Lens' NewPrivateVirtualInterface Text

-- | Undocumented member.
nVlan :: Lens' NewPrivateVirtualInterface Int

-- | Undocumented member.
nAsn :: Lens' NewPrivateVirtualInterface Int

-- | A structure containing information about a private virtual interface
--   that will be provisioned on a connection.
--   
--   <i>See:</i> <a>newPrivateVirtualInterfaceAllocation</a> smart
--   constructor.
data NewPrivateVirtualInterfaceAllocation

-- | Creates a value of <a>NewPrivateVirtualInterfaceAllocation</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>npviaCustomerAddress</a> - Undocumented member.</li>
--   <li><a>npviaAmazonAddress</a> - Undocumented member.</li>
--   <li><a>npviaAddressFamily</a> - Undocumented member.</li>
--   <li><a>npviaAuthKey</a> - Undocumented member.</li>
--   <li><a>npviaVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>npviaVlan</a> - Undocumented member.</li>
--   <li><a>npviaAsn</a> - Undocumented member.</li>
--   </ul>
newPrivateVirtualInterfaceAllocation :: Text -> Int -> Int -> NewPrivateVirtualInterfaceAllocation

-- | Undocumented member.
npviaCustomerAddress :: Lens' NewPrivateVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
npviaAmazonAddress :: Lens' NewPrivateVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
npviaAddressFamily :: Lens' NewPrivateVirtualInterfaceAllocation (Maybe AddressFamily)

-- | Undocumented member.
npviaAuthKey :: Lens' NewPrivateVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
npviaVirtualInterfaceName :: Lens' NewPrivateVirtualInterfaceAllocation Text

-- | Undocumented member.
npviaVlan :: Lens' NewPrivateVirtualInterfaceAllocation Int

-- | Undocumented member.
npviaAsn :: Lens' NewPrivateVirtualInterfaceAllocation Int

-- | A structure containing information about a new public virtual
--   interface.
--   
--   <i>See:</i> <a>newPublicVirtualInterface</a> smart constructor.
data NewPublicVirtualInterface

-- | Creates a value of <a>NewPublicVirtualInterface</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>npviRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>npviCustomerAddress</a> - Undocumented member.</li>
--   <li><a>npviAmazonAddress</a> - Undocumented member.</li>
--   <li><a>npviAddressFamily</a> - Undocumented member.</li>
--   <li><a>npviAuthKey</a> - Undocumented member.</li>
--   <li><a>npviVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>npviVlan</a> - Undocumented member.</li>
--   <li><a>npviAsn</a> - Undocumented member.</li>
--   </ul>
newPublicVirtualInterface :: Text -> Int -> Int -> NewPublicVirtualInterface

-- | Undocumented member.
npviRouteFilterPrefixes :: Lens' NewPublicVirtualInterface [RouteFilterPrefix]

-- | Undocumented member.
npviCustomerAddress :: Lens' NewPublicVirtualInterface (Maybe Text)

-- | Undocumented member.
npviAmazonAddress :: Lens' NewPublicVirtualInterface (Maybe Text)

-- | Undocumented member.
npviAddressFamily :: Lens' NewPublicVirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
npviAuthKey :: Lens' NewPublicVirtualInterface (Maybe Text)

-- | Undocumented member.
npviVirtualInterfaceName :: Lens' NewPublicVirtualInterface Text

-- | Undocumented member.
npviVlan :: Lens' NewPublicVirtualInterface Int

-- | Undocumented member.
npviAsn :: Lens' NewPublicVirtualInterface Int

-- | A structure containing information about a public virtual interface
--   that will be provisioned on a connection.
--   
--   <i>See:</i> <a>newPublicVirtualInterfaceAllocation</a> smart
--   constructor.
data NewPublicVirtualInterfaceAllocation

-- | Creates a value of <a>NewPublicVirtualInterfaceAllocation</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>newRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>newCustomerAddress</a> - Undocumented member.</li>
--   <li><a>newAmazonAddress</a> - Undocumented member.</li>
--   <li><a>newAddressFamily</a> - Undocumented member.</li>
--   <li><a>newAuthKey</a> - Undocumented member.</li>
--   <li><a>newVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>newVlan</a> - Undocumented member.</li>
--   <li><a>newAsn</a> - Undocumented member.</li>
--   </ul>
newPublicVirtualInterfaceAllocation :: Text -> Int -> Int -> NewPublicVirtualInterfaceAllocation

-- | Undocumented member.
newRouteFilterPrefixes :: Lens' NewPublicVirtualInterfaceAllocation [RouteFilterPrefix]

-- | Undocumented member.
newCustomerAddress :: Lens' NewPublicVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
newAmazonAddress :: Lens' NewPublicVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
newAddressFamily :: Lens' NewPublicVirtualInterfaceAllocation (Maybe AddressFamily)

-- | Undocumented member.
newAuthKey :: Lens' NewPublicVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
newVirtualInterfaceName :: Lens' NewPublicVirtualInterfaceAllocation Text

-- | Undocumented member.
newVlan :: Lens' NewPublicVirtualInterfaceAllocation Int

-- | Undocumented member.
newAsn :: Lens' NewPublicVirtualInterfaceAllocation Int

-- | The tags associated with a Direct Connect resource.
--   
--   <i>See:</i> <a>resourceTag</a> smart constructor.
data ResourceTag

-- | Creates a value of <a>ResourceTag</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtResourceARN</a> - The Amazon Resource Name (ARN) of the
--   Direct Connect resource.</li>
--   <li><a>rtTags</a> - The tags.</li>
--   </ul>
resourceTag :: ResourceTag

-- | The Amazon Resource Name (ARN) of the Direct Connect resource.
rtResourceARN :: Lens' ResourceTag (Maybe Text)

-- | The tags.
rtTags :: Lens' ResourceTag (Maybe (NonEmpty Tag))

-- | A route filter prefix that the customer can advertise through Border
--   Gateway Protocol (BGP) over a public virtual interface.
--   
--   <i>See:</i> <a>routeFilterPrefix</a> smart constructor.
data RouteFilterPrefix

-- | Creates a value of <a>RouteFilterPrefix</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rfpCidr</a> - CIDR notation for the advertised route. Multiple
--   routes are separated by commas. IPv6 CIDRs must be at least a <i>64 or
--   shorter Example:
--   10.10.10.0</i>24,10.10.11.0<i>24,2001:db8::</i>64</li>
--   </ul>
routeFilterPrefix :: RouteFilterPrefix

-- | CIDR notation for the advertised route. Multiple routes are separated
--   by commas. IPv6 CIDRs must be at least a <i>64 or shorter Example:
--   10.10.10.0</i>24,10.10.11.0<i>24,2001:db8::</i>64
rfpCidr :: Lens' RouteFilterPrefix (Maybe Text)

-- | Information about a tag.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagValue</a> - The value of the tag.</li>
--   <li><a>tagKey</a> - The key of the tag.</li>
--   </ul>
tag :: Text -> Tag

-- | The value of the tag.
tagValue :: Lens' Tag (Maybe Text)

-- | The key of the tag.
tagKey :: Lens' Tag Text

-- | You can create one or more AWS Direct Connect private virtual
--   interfaces linking to your virtual private gateway.
--   
--   Virtual private gateways can be managed using the Amazon Virtual
--   Private Cloud (Amazon VPC) console or the <a>Amazon EC2
--   CreateVpnGateway action</a> .
--   
--   <i>See:</i> <a>virtualGateway</a> smart constructor.
data VirtualGateway

-- | Creates a value of <a>VirtualGateway</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vgVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>vgVirtualGatewayState</a> - Undocumented member.</li>
--   </ul>
virtualGateway :: VirtualGateway

-- | Undocumented member.
vgVirtualGatewayId :: Lens' VirtualGateway (Maybe Text)

-- | Undocumented member.
vgVirtualGatewayState :: Lens' VirtualGateway (Maybe Text)

-- | A virtual interface (VLAN) transmits the traffic between the AWS
--   Direct Connect location and the customer.
--   
--   <i>See:</i> <a>virtualInterface</a> smart constructor.
data VirtualInterface

-- | Creates a value of <a>VirtualInterface</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viBgpPeers</a> - Undocumented member.</li>
--   <li><a>viVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>viRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>viCustomerAddress</a> - Undocumented member.</li>
--   <li><a>viVlan</a> - Undocumented member.</li>
--   <li><a>viLocation</a> - Undocumented member.</li>
--   <li><a>viAmazonAddress</a> - Undocumented member.</li>
--   <li><a>viAddressFamily</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>viConnectionId</a> - Undocumented member.</li>
--   <li><a>viDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>viAmazonSideASN</a> - The autonomous system number (ASN) for
--   the Amazon side of the connection.</li>
--   <li><a>viVirtualInterfaceType</a> - Undocumented member.</li>
--   <li><a>viAsn</a> - Undocumented member.</li>
--   <li><a>viAuthKey</a> - Undocumented member.</li>
--   <li><a>viCustomerRouterConfig</a> - Information for generating the
--   customer router configuration.</li>
--   <li><a>viOwnerAccount</a> - The AWS account that will own the new
--   virtual interface.</li>
--   <li><a>viVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
virtualInterface :: VirtualInterface

-- | Undocumented member.
viBgpPeers :: Lens' VirtualInterface [BGPPeer]

-- | Undocumented member.
viVirtualGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viRouteFilterPrefixes :: Lens' VirtualInterface [RouteFilterPrefix]

-- | Undocumented member.
viCustomerAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVlan :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viLocation :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAmazonAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAddressFamily :: Lens' VirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
viVirtualInterfaceState :: Lens' VirtualInterface (Maybe VirtualInterfaceState)

-- | Undocumented member.
viConnectionId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viDirectConnectGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | The autonomous system number (ASN) for the Amazon side of the
--   connection.
viAmazonSideASN :: Lens' VirtualInterface (Maybe Integer)

-- | Undocumented member.
viVirtualInterfaceType :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAsn :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viAuthKey :: Lens' VirtualInterface (Maybe Text)

-- | Information for generating the customer router configuration.
viCustomerRouterConfig :: Lens' VirtualInterface (Maybe Text)

-- | The AWS account that will own the new virtual interface.
viOwnerAccount :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceName :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceId :: Lens' VirtualInterface (Maybe Text)


-- | Adds the specified tags to the specified Direct Connect resource. Each
--   Direct Connect resource can have a maximum of 50 tags.
--   
--   Each tag consists of a key and an optional value. If a tag with the
--   same key is already associated with the Direct Connect resource, this
--   action updates its value.
module Network.AWS.DirectConnect.TagResource

-- | Creates a value of <a>TagResource</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trResourceARN</a> - The Amazon Resource Name (ARN) of the
--   Direct Connect resource. Example:
--   arn:aws:directconnect:us-east-1:123456789012:dxcon/dxcon-fg5678gh</li>
--   <li><a>trTags</a> - The list of tags to add.</li>
--   </ul>
tagResource :: Text -> NonEmpty Tag -> TagResource

-- | Container for the parameters to the TagResource operation.
--   
--   <i>See:</i> <a>tagResource</a> smart constructor.
data TagResource

-- | The Amazon Resource Name (ARN) of the Direct Connect resource.
--   Example:
--   arn:aws:directconnect:us-east-1:123456789012:dxcon/dxcon-fg5678gh
trResourceARN :: Lens' TagResource Text

-- | The list of tags to add.
trTags :: Lens' TagResource (NonEmpty Tag)

-- | Creates a value of <a>TagResourceResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
tagResourceResponse :: Int -> TagResourceResponse

-- | The response received when TagResource is called.
--   
--   <i>See:</i> <a>tagResourceResponse</a> smart constructor.
data TagResourceResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
trrsResponseStatus :: Lens' TagResourceResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.TagResource.TagResourceResponse
instance Data.Data.Data Network.AWS.DirectConnect.TagResource.TagResourceResponse
instance GHC.Show.Show Network.AWS.DirectConnect.TagResource.TagResourceResponse
instance GHC.Read.Read Network.AWS.DirectConnect.TagResource.TagResourceResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.TagResource.TagResourceResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.TagResource.TagResource
instance Data.Data.Data Network.AWS.DirectConnect.TagResource.TagResource
instance GHC.Show.Show Network.AWS.DirectConnect.TagResource.TagResource
instance GHC.Read.Read Network.AWS.DirectConnect.TagResource.TagResource
instance GHC.Classes.Eq Network.AWS.DirectConnect.TagResource.TagResource
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.TagResource.TagResource
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.TagResource.TagResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.TagResource.TagResource
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.TagResource.TagResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.TagResource.TagResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.TagResource.TagResource
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.TagResource.TagResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.TagResource.TagResource


-- | Disassociates a connection from a link aggregation group (LAG). The
--   connection is interrupted and re-established as a standalone
--   connection (the connection is not deleted; to delete the connection,
--   use the <tt>DeleteConnection</tt> request). If the LAG has associated
--   virtual interfaces or hosted connections, they remain associated with
--   the LAG. A disassociated connection owned by an AWS Direct Connect
--   partner is automatically converted to an interconnect.
--   
--   If disassociating the connection will cause the LAG to fall below its
--   setting for minimum number of operational connections, the request
--   fails, except when it's the last member of the LAG. If all connections
--   are disassociated, the LAG continues to exist as an empty LAG with no
--   physical connections.
module Network.AWS.DirectConnect.DisassociateConnectionFromLag

-- | Creates a value of <a>DisassociateConnectionFromLag</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcflConnectionId</a> - The ID of the connection to disassociate
--   from the LAG. Example: dxcon-abc123 Default: None</li>
--   <li><a>dcflLagId</a> - The ID of the LAG. Example: dxlag-abc123
--   Default: None</li>
--   </ul>
disassociateConnectionFromLag :: Text -> Text -> DisassociateConnectionFromLag

-- | Container for the parameters to the DisassociateConnectionFromLag
--   operation.
--   
--   <i>See:</i> <a>disassociateConnectionFromLag</a> smart constructor.
data DisassociateConnectionFromLag

-- | The ID of the connection to disassociate from the LAG. Example:
--   dxcon-abc123 Default: None
dcflConnectionId :: Lens' DisassociateConnectionFromLag Text

-- | The ID of the LAG. Example: dxlag-abc123 Default: None
dcflLagId :: Lens' DisassociateConnectionFromLag Text

-- | Creates a value of <a>Connection</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cLagId</a> - Undocumented member.</li>
--   <li><a>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   <tt>DescribeLoa</tt> for this connection.</li>
--   <li><a>cPartnerName</a> - The name of the AWS Direct Connect service
--   provider associated with the connection.</li>
--   <li><a>cConnectionName</a> - Undocumented member.</li>
--   <li><a>cBandwidth</a> - Bandwidth of the connection. Example: 1Gbps
--   (for regular connections), or 500Mbps (for hosted connections)
--   Default: None</li>
--   <li><a>cOwnerAccount</a> - The AWS account that will own the new
--   connection.</li>
--   <li><a>cRegion</a> - Undocumented member.</li>
--   <li><a>cConnectionState</a> - Undocumented member.</li>
--   </ul>
connection :: Connection

-- | A connection represents the physical network connection between the
--   AWS Direct Connect location and the customer.
--   
--   <i>See:</i> <a>connection</a> smart constructor.
data Connection

-- | Undocumented member.
cLagId :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cVlan :: Lens' Connection (Maybe Int)

-- | Undocumented member.
cLocation :: Lens' Connection (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
cAwsDevice :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionId :: Lens' Connection (Maybe Text)

-- | The time of the most recent call to <tt>DescribeLoa</tt> for this
--   connection.
cLoaIssueTime :: Lens' Connection (Maybe UTCTime)

-- | The name of the AWS Direct Connect service provider associated with
--   the connection.
cPartnerName :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionName :: Lens' Connection (Maybe Text)

-- | Bandwidth of the connection. Example: 1Gbps (for regular connections),
--   or 500Mbps (for hosted connections) Default: None
cBandwidth :: Lens' Connection (Maybe Text)

-- | The AWS account that will own the new connection.
cOwnerAccount :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cRegion :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionState :: Lens' Connection (Maybe ConnectionState)
instance GHC.Generics.Generic Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance Data.Data.Data Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance GHC.Show.Show Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance GHC.Read.Read Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance GHC.Classes.Eq Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DisassociateConnectionFromLag.DisassociateConnectionFromLag


-- | Displays all virtual interfaces for an AWS account. Virtual interfaces
--   deleted fewer than 15 minutes before you make the request are also
--   returned. If you specify a connection ID, only the virtual interfaces
--   associated with the connection are returned. If you specify a virtual
--   interface ID, then only a single virtual interface is returned.
--   
--   A virtual interface (VLAN) transmits the traffic between the AWS
--   Direct Connect location and the customer.
module Network.AWS.DirectConnect.DescribeVirtualInterfaces

-- | Creates a value of <a>DescribeVirtualInterfaces</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dviConnectionId</a> - Undocumented member.</li>
--   <li><a>dviVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
describeVirtualInterfaces :: DescribeVirtualInterfaces

-- | Container for the parameters to the DescribeVirtualInterfaces
--   operation.
--   
--   <i>See:</i> <a>describeVirtualInterfaces</a> smart constructor.
data DescribeVirtualInterfaces

-- | Undocumented member.
dviConnectionId :: Lens' DescribeVirtualInterfaces (Maybe Text)

-- | Undocumented member.
dviVirtualInterfaceId :: Lens' DescribeVirtualInterfaces (Maybe Text)

-- | Creates a value of <a>DescribeVirtualInterfacesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvisrsVirtualInterfaces</a> - A list of virtual
--   interfaces.</li>
--   <li><a>dvisrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeVirtualInterfacesResponse :: Int -> DescribeVirtualInterfacesResponse

-- | A structure containing a list of virtual interfaces.
--   
--   <i>See:</i> <a>describeVirtualInterfacesResponse</a> smart
--   constructor.
data DescribeVirtualInterfacesResponse

-- | A list of virtual interfaces.
dvisrsVirtualInterfaces :: Lens' DescribeVirtualInterfacesResponse [VirtualInterface]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dvisrsResponseStatus :: Lens' DescribeVirtualInterfacesResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfacesResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfacesResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfacesResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfacesResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfacesResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance Data.Data.Data Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfacesResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfaces


-- | Returns a list of virtual private gateways owned by the AWS account.
--   
--   You can create one or more AWS Direct Connect private virtual
--   interfaces linking to a virtual private gateway. A virtual private
--   gateway can be managed via Amazon Virtual Private Cloud (VPC) console
--   or the <a>EC2 CreateVpnGateway</a> action.
module Network.AWS.DirectConnect.DescribeVirtualGateways

-- | Creates a value of <a>DescribeVirtualGateways</a> with the minimum
--   fields required to make a request.
describeVirtualGateways :: DescribeVirtualGateways

-- | <i>See:</i> <a>describeVirtualGateways</a> smart constructor.
data DescribeVirtualGateways

-- | Creates a value of <a>DescribeVirtualGatewaysResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvgrsVirtualGateways</a> - A list of virtual private
--   gateways.</li>
--   <li><a>dvgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeVirtualGatewaysResponse :: Int -> DescribeVirtualGatewaysResponse

-- | A structure containing a list of virtual private gateways.
--   
--   <i>See:</i> <a>describeVirtualGatewaysResponse</a> smart constructor.
data DescribeVirtualGatewaysResponse

-- | A list of virtual private gateways.
dvgrsVirtualGateways :: Lens' DescribeVirtualGatewaysResponse [VirtualGateway]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dvgrsResponseStatus :: Lens' DescribeVirtualGatewaysResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGatewaysResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGatewaysResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGatewaysResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGatewaysResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGatewaysResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance Data.Data.Data Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGatewaysResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGateways


-- | Describes the tags associated with the specified Direct Connect
--   resources.
module Network.AWS.DirectConnect.DescribeTags

-- | Creates a value of <a>DescribeTags</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtResourceARNs</a> - The Amazon Resource Names (ARNs) of the
--   Direct Connect resources.</li>
--   </ul>
describeTags :: DescribeTags

-- | Container for the parameters to the DescribeTags operation.
--   
--   <i>See:</i> <a>describeTags</a> smart constructor.
data DescribeTags

-- | The Amazon Resource Names (ARNs) of the Direct Connect resources.
dtResourceARNs :: Lens' DescribeTags [Text]

-- | Creates a value of <a>DescribeTagsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtrsResourceTags</a> - Information about the tags.</li>
--   <li><a>dtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeTagsResponse :: Int -> DescribeTagsResponse

-- | The response received when DescribeTags is called.
--   
--   <i>See:</i> <a>describeTagsResponse</a> smart constructor.
data DescribeTagsResponse

-- | Information about the tags.
dtrsResourceTags :: Lens' DescribeTagsResponse [ResourceTag]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dtrsResponseStatus :: Lens' DescribeTagsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeTags.DescribeTagsResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeTags.DescribeTagsResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeTags.DescribeTagsResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeTags.DescribeTagsResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeTags.DescribeTagsResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance Data.Data.Data Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeTags.DescribeTagsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeTags.DescribeTags
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeTags.DescribeTags


-- | Returns the list of AWS Direct Connect locations in the current AWS
--   region. These are the locations that may be selected when calling
--   <tt>CreateConnection</tt> or <tt>CreateInterconnect</tt> .
module Network.AWS.DirectConnect.DescribeLocations

-- | Creates a value of <a>DescribeLocations</a> with the minimum fields
--   required to make a request.
describeLocations :: DescribeLocations

-- | <i>See:</i> <a>describeLocations</a> smart constructor.
data DescribeLocations

-- | Creates a value of <a>DescribeLocationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlsrsLocations</a> - A list of colocation hubs where network
--   providers have equipment. Most regions have multiple locations
--   available.</li>
--   <li><a>dlsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeLocationsResponse :: Int -> DescribeLocationsResponse

-- | A location is a network facility where AWS Direct Connect routers are
--   available to be connected. Generally, these are colocation hubs where
--   many network providers have equipment, and where cross connects can be
--   delivered. Locations include a name and facility code, and must be
--   provided when creating a connection.
--   
--   <i>See:</i> <a>describeLocationsResponse</a> smart constructor.
data DescribeLocationsResponse

-- | A list of colocation hubs where network providers have equipment. Most
--   regions have multiple locations available.
dlsrsLocations :: Lens' DescribeLocationsResponse [Location]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dlsrsResponseStatus :: Lens' DescribeLocationsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeLocations.DescribeLocationsResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeLocations.DescribeLocationsResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeLocations.DescribeLocationsResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeLocations.DescribeLocationsResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeLocations.DescribeLocationsResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance Data.Data.Data Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeLocations.DescribeLocationsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeLocations.DescribeLocations
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeLocations.DescribeLocations


-- | Returns the LOA-CFA for a connection, interconnect, or link
--   aggregation group (LAG).
--   
--   The Letter of Authorization - Connecting Facility Assignment (LOA-CFA)
--   is a document that is used when establishing your cross connect to AWS
--   at the colocation facility. For more information, see <a>Requesting
--   Cross Connects at AWS Direct Connect Locations</a> in the AWS Direct
--   Connect user guide.
module Network.AWS.DirectConnect.DescribeLoa

-- | Creates a value of <a>DescribeLoa</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlLoaContentType</a> - A standard media type indicating the
--   content type of the LOA-CFA document. Currently, the only supported
--   value is "application<i>pdf". Default: application</i>pdf</li>
--   <li><a>dlProviderName</a> - The name of the service provider who
--   establishes connectivity on your behalf. If you supply this parameter,
--   the LOA-CFA lists the provider name alongside your company name as the
--   requester of the cross connect. Default: None</li>
--   <li><a>dlConnectionId</a> - The ID of a connection, LAG, or
--   interconnect for which to get the LOA-CFA information. Example:
--   dxcon-abc123 or dxlag-abc123 Default: None</li>
--   </ul>
describeLoa :: Text -> DescribeLoa

-- | Container for the parameters to the DescribeLoa operation.
--   
--   <i>See:</i> <a>describeLoa</a> smart constructor.
data DescribeLoa

-- | A standard media type indicating the content type of the LOA-CFA
--   document. Currently, the only supported value is "application<i>pdf".
--   Default: application</i>pdf
dlLoaContentType :: Lens' DescribeLoa (Maybe LoaContentType)

-- | The name of the service provider who establishes connectivity on your
--   behalf. If you supply this parameter, the LOA-CFA lists the provider
--   name alongside your company name as the requester of the cross
--   connect. Default: None
dlProviderName :: Lens' DescribeLoa (Maybe Text)

-- | The ID of a connection, LAG, or interconnect for which to get the
--   LOA-CFA information. Example: dxcon-abc123 or dxlag-abc123 Default:
--   None
dlConnectionId :: Lens' DescribeLoa Text

-- | Creates a value of <a>DescribeLoaResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlrsLoaContent</a> - Undocumented member.-- <i>Note:</i> This
--   <tt>Lens</tt> automatically encodes and decodes Base64 data. The
--   underlying isomorphism will encode to Base64 representation during
--   serialisation, and decode from Base64 representation during
--   deserialisation. This <tt>Lens</tt> accepts and returns only raw
--   unencoded data.</li>
--   <li><a>dlrsLoaContentType</a> - Undocumented member.</li>
--   <li><a>dlrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeLoaResponse :: Int -> DescribeLoaResponse

-- | A structure containing the Letter of Authorization - Connecting
--   Facility Assignment (LOA-CFA) for a connection.
--   
--   <i>See:</i> <a>describeLoaResponse</a> smart constructor.
data DescribeLoaResponse

-- | Undocumented member.-- <i>Note:</i> This <tt>Lens</tt> automatically
--   encodes and decodes Base64 data. The underlying isomorphism will
--   encode to Base64 representation during serialisation, and decode from
--   Base64 representation during deserialisation. This <tt>Lens</tt>
--   accepts and returns only raw unencoded data.
dlrsLoaContent :: Lens' DescribeLoaResponse (Maybe ByteString)

-- | Undocumented member.
dlrsLoaContentType :: Lens' DescribeLoaResponse (Maybe LoaContentType)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dlrsResponseStatus :: Lens' DescribeLoaResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeLoa.DescribeLoaResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeLoa.DescribeLoaResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeLoa.DescribeLoaResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeLoa.DescribeLoaResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeLoa.DescribeLoaResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance Data.Data.Data Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeLoa.DescribeLoaResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeLoa.DescribeLoa
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeLoa.DescribeLoa


-- | Describes the link aggregation groups (LAGs) in your account.
--   
--   If a LAG ID is provided, only information about the specified LAG is
--   returned.
module Network.AWS.DirectConnect.DescribeLags

-- | Creates a value of <a>DescribeLags</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlLagId</a> - The ID of the LAG. Example: dxlag-abc123 Default:
--   None</li>
--   </ul>
describeLags :: DescribeLags

-- | Container for the parameters to the DescribeLags operation.
--   
--   <i>See:</i> <a>describeLags</a> smart constructor.
data DescribeLags

-- | The ID of the LAG. Example: dxlag-abc123 Default: None
dlLagId :: Lens' DescribeLags (Maybe Text)

-- | Creates a value of <a>DescribeLagsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>desrsLags</a> - A list of LAGs.</li>
--   <li><a>desrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeLagsResponse :: Int -> DescribeLagsResponse

-- | A structure containing a list of LAGs.
--   
--   <i>See:</i> <a>describeLagsResponse</a> smart constructor.
data DescribeLagsResponse

-- | A list of LAGs.
desrsLags :: Lens' DescribeLagsResponse [Lag]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
desrsResponseStatus :: Lens' DescribeLagsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeLags.DescribeLagsResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeLags.DescribeLagsResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeLags.DescribeLagsResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeLags.DescribeLagsResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeLags.DescribeLagsResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance Data.Data.Data Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeLags.DescribeLagsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeLags.DescribeLags
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeLags.DescribeLags


-- | Returns a list of interconnects owned by the AWS account.
--   
--   If an interconnect ID is provided, it will only return this particular
--   interconnect.
module Network.AWS.DirectConnect.DescribeInterconnects

-- | Creates a value of <a>DescribeInterconnects</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diInterconnectId</a> - Undocumented member.</li>
--   </ul>
describeInterconnects :: DescribeInterconnects

-- | Container for the parameters to the DescribeInterconnects operation.
--   
--   <i>See:</i> <a>describeInterconnects</a> smart constructor.
data DescribeInterconnects

-- | Undocumented member.
diInterconnectId :: Lens' DescribeInterconnects (Maybe Text)

-- | Creates a value of <a>DescribeInterconnectsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dirsInterconnects</a> - A list of interconnects.</li>
--   <li><a>dirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeInterconnectsResponse :: Int -> DescribeInterconnectsResponse

-- | A structure containing a list of interconnects.
--   
--   <i>See:</i> <a>describeInterconnectsResponse</a> smart constructor.
data DescribeInterconnectsResponse

-- | A list of interconnects.
dirsInterconnects :: Lens' DescribeInterconnectsResponse [Interconnect]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dirsResponseStatus :: Lens' DescribeInterconnectsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnectsResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnectsResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnectsResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnectsResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnectsResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance Data.Data.Data Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnectsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnects


-- | Returns a list of hosted connections that have been provisioned on the
--   given interconnect or link aggregation group (LAG).
module Network.AWS.DirectConnect.DescribeHostedConnections

-- | Creates a value of <a>DescribeHostedConnections</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dhcConnectionId</a> - The ID of the interconnect or LAG on
--   which the hosted connections are provisioned. Example: dxcon-abc123 or
--   dxlag-abc123 Default: None</li>
--   </ul>
describeHostedConnections :: Text -> DescribeHostedConnections

-- | Container for the parameters to the DescribeHostedConnections
--   operation.
--   
--   <i>See:</i> <a>describeHostedConnections</a> smart constructor.
data DescribeHostedConnections

-- | The ID of the interconnect or LAG on which the hosted connections are
--   provisioned. Example: dxcon-abc123 or dxlag-abc123 Default: None
dhcConnectionId :: Lens' DescribeHostedConnections Text

-- | Creates a value of <a>Connections</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cConnections</a> - A list of connections.</li>
--   </ul>
connections :: Connections

-- | A structure containing a list of connections.
--   
--   <i>See:</i> <a>connections</a> smart constructor.
data Connections

-- | A list of connections.
cConnections :: Lens' Connections [Connection]
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance Data.Data.Data Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeHostedConnections.DescribeHostedConnections


-- | Returns a list of direct connect gateways in your account. Deleted
--   direct connect gateways are not returned. You can provide a direct
--   connect gateway ID in the request to return information about the
--   specific direct connect gateway only. Otherwise, if a direct connect
--   gateway ID is not provided, information about all of your direct
--   connect gateways is returned.
module Network.AWS.DirectConnect.DescribeDirectConnectGateways

-- | Creates a value of <a>DescribeDirectConnectGateways</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcgDirectConnectGatewayId</a> - The ID of the direct connect
--   gateway. Example: "abcd1234-dcba-5678-be23-cdef9876ab45" Default:
--   None</li>
--   <li><a>ddcgNextToken</a> - The token provided in the previous describe
--   result to retrieve the next page of the result. Default: None</li>
--   <li><a>ddcgMaxResults</a> - The maximum number of direct connect
--   gateways to return per page. Example: 15 Default: None</li>
--   </ul>
describeDirectConnectGateways :: DescribeDirectConnectGateways

-- | Container for the parameters to the DescribeDirectConnectGateways
--   operation.
--   
--   <i>See:</i> <a>describeDirectConnectGateways</a> smart constructor.
data DescribeDirectConnectGateways

-- | The ID of the direct connect gateway. Example:
--   "abcd1234-dcba-5678-be23-cdef9876ab45" Default: None
ddcgDirectConnectGatewayId :: Lens' DescribeDirectConnectGateways (Maybe Text)

-- | The token provided in the previous describe result to retrieve the
--   next page of the result. Default: None
ddcgNextToken :: Lens' DescribeDirectConnectGateways (Maybe Text)

-- | The maximum number of direct connect gateways to return per page.
--   Example: 15 Default: None
ddcgMaxResults :: Lens' DescribeDirectConnectGateways (Maybe Int)

-- | Creates a value of <a>DescribeDirectConnectGatewaysResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcgrsDirectConnectGateways</a> - Information about the direct
--   connect gateways.</li>
--   <li><a>ddcgrsNextToken</a> - Undocumented member.</li>
--   <li><a>ddcgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDirectConnectGatewaysResponse :: Int -> DescribeDirectConnectGatewaysResponse

-- | Container for the response from the DescribeDirectConnectGateways API
--   call
--   
--   <i>See:</i> <a>describeDirectConnectGatewaysResponse</a> smart
--   constructor.
data DescribeDirectConnectGatewaysResponse

-- | Information about the direct connect gateways.
ddcgrsDirectConnectGateways :: Lens' DescribeDirectConnectGatewaysResponse [DirectConnectGateway]

-- | Undocumented member.
ddcgrsNextToken :: Lens' DescribeDirectConnectGatewaysResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcgrsResponseStatus :: Lens' DescribeDirectConnectGatewaysResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGatewaysResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGatewaysResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGatewaysResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGatewaysResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGatewaysResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance Data.Data.Data Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGatewaysResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeDirectConnectGateways.DescribeDirectConnectGateways


-- | Returns a list of all direct connect gateway and virtual interface
--   (VIF) attachments. Either a direct connect gateway ID or a VIF ID must
--   be provided in the request. If a direct connect gateway ID is
--   provided, the response returns all VIFs attached to the direct connect
--   gateway. If a VIF ID is provided, the response returns all direct
--   connect gateways attached to the VIF. If both are provided, the
--   response only returns the attachment that matches both the direct
--   connect gateway and the VIF.
module Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments

-- | Creates a value of <a>DescribeDirectConnectGatewayAttachments</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcgasDirectConnectGatewayId</a> - The ID of the direct connect
--   gateway. Example: "abcd1234-dcba-5678-be23-cdef9876ab45" Default:
--   None</li>
--   <li><a>ddcgasNextToken</a> - The token provided in the previous
--   describe result to retrieve the next page of the result. Default:
--   None</li>
--   <li><a>ddcgasMaxResults</a> - The maximum number of direct connect
--   gateway attachments to return per page. Example: 15 Default: None</li>
--   <li><a>ddcgasVirtualInterfaceId</a> - The ID of the virtual interface.
--   Example: "dxvif-abc123ef" Default: None</li>
--   </ul>
describeDirectConnectGatewayAttachments :: DescribeDirectConnectGatewayAttachments

-- | Container for the parameters to the
--   DescribeDirectConnectGatewayAttachments operation.
--   
--   <i>See:</i> <a>describeDirectConnectGatewayAttachments</a> smart
--   constructor.
data DescribeDirectConnectGatewayAttachments

-- | The ID of the direct connect gateway. Example:
--   "abcd1234-dcba-5678-be23-cdef9876ab45" Default: None
ddcgasDirectConnectGatewayId :: Lens' DescribeDirectConnectGatewayAttachments (Maybe Text)

-- | The token provided in the previous describe result to retrieve the
--   next page of the result. Default: None
ddcgasNextToken :: Lens' DescribeDirectConnectGatewayAttachments (Maybe Text)

-- | The maximum number of direct connect gateway attachments to return per
--   page. Example: 15 Default: None
ddcgasMaxResults :: Lens' DescribeDirectConnectGatewayAttachments (Maybe Int)

-- | The ID of the virtual interface. Example: "dxvif-abc123ef" Default:
--   None
ddcgasVirtualInterfaceId :: Lens' DescribeDirectConnectGatewayAttachments (Maybe Text)

-- | Creates a value of
--   <a>DescribeDirectConnectGatewayAttachmentsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcgasrsNextToken</a> - Undocumented member.</li>
--   <li><a>ddcgasrsDirectConnectGatewayAttachments</a> - Information about
--   the direct connect gateway attachments.</li>
--   <li><a>ddcgasrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
describeDirectConnectGatewayAttachmentsResponse :: Int -> DescribeDirectConnectGatewayAttachmentsResponse

-- | Container for the response from the
--   DescribeDirectConnectGatewayAttachments API call
--   
--   <i>See:</i> <a>describeDirectConnectGatewayAttachmentsResponse</a>
--   smart constructor.
data DescribeDirectConnectGatewayAttachmentsResponse

-- | Undocumented member.
ddcgasrsNextToken :: Lens' DescribeDirectConnectGatewayAttachmentsResponse (Maybe Text)

-- | Information about the direct connect gateway attachments.
ddcgasrsDirectConnectGatewayAttachments :: Lens' DescribeDirectConnectGatewayAttachmentsResponse [DirectConnectGatewayAttachment]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcgasrsResponseStatus :: Lens' DescribeDirectConnectGatewayAttachmentsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachmentsResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachmentsResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachmentsResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachmentsResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachmentsResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance Data.Data.Data Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachmentsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeDirectConnectGatewayAttachments.DescribeDirectConnectGatewayAttachments


-- | Returns a list of all direct connect gateway and virtual private
--   gateway (VGW) associations. Either a direct connect gateway ID or a
--   VGW ID must be provided in the request. If a direct connect gateway ID
--   is provided, the response returns all VGWs associated with the direct
--   connect gateway. If a VGW ID is provided, the response returns all
--   direct connect gateways associated with the VGW. If both are provided,
--   the response only returns the association that matches both the direct
--   connect gateway and the VGW.
module Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations

-- | Creates a value of <a>DescribeDirectConnectGatewayAssociations</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcgaVirtualGatewayId</a> - The ID of the virtual private
--   gateway. Example: "vgw-abc123ef" Default: None</li>
--   <li><a>ddcgaDirectConnectGatewayId</a> - The ID of the direct connect
--   gateway. Example: "abcd1234-dcba-5678-be23-cdef9876ab45" Default:
--   None</li>
--   <li><a>ddcgaNextToken</a> - The token provided in the previous
--   describe result to retrieve the next page of the result. Default:
--   None</li>
--   <li><a>ddcgaMaxResults</a> - The maximum number of direct connect
--   gateway associations to return per page. Example: 15 Default:
--   None</li>
--   </ul>
describeDirectConnectGatewayAssociations :: DescribeDirectConnectGatewayAssociations

-- | Container for the parameters to the
--   DescribeDirectConnectGatewayAssociations operation.
--   
--   <i>See:</i> <a>describeDirectConnectGatewayAssociations</a> smart
--   constructor.
data DescribeDirectConnectGatewayAssociations

-- | The ID of the virtual private gateway. Example: "vgw-abc123ef"
--   Default: None
ddcgaVirtualGatewayId :: Lens' DescribeDirectConnectGatewayAssociations (Maybe Text)

-- | The ID of the direct connect gateway. Example:
--   "abcd1234-dcba-5678-be23-cdef9876ab45" Default: None
ddcgaDirectConnectGatewayId :: Lens' DescribeDirectConnectGatewayAssociations (Maybe Text)

-- | The token provided in the previous describe result to retrieve the
--   next page of the result. Default: None
ddcgaNextToken :: Lens' DescribeDirectConnectGatewayAssociations (Maybe Text)

-- | The maximum number of direct connect gateway associations to return
--   per page. Example: 15 Default: None
ddcgaMaxResults :: Lens' DescribeDirectConnectGatewayAssociations (Maybe Int)

-- | Creates a value of
--   <a>DescribeDirectConnectGatewayAssociationsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcgarsNextToken</a> - Undocumented member.</li>
--   <li><a>ddcgarsDirectConnectGatewayAssociations</a> - Information about
--   the direct connect gateway associations.</li>
--   <li><a>ddcgarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDirectConnectGatewayAssociationsResponse :: Int -> DescribeDirectConnectGatewayAssociationsResponse

-- | Container for the response from the
--   DescribeDirectConnectGatewayAssociations API call
--   
--   <i>See:</i> <a>describeDirectConnectGatewayAssociationsResponse</a>
--   smart constructor.
data DescribeDirectConnectGatewayAssociationsResponse

-- | Undocumented member.
ddcgarsNextToken :: Lens' DescribeDirectConnectGatewayAssociationsResponse (Maybe Text)

-- | Information about the direct connect gateway associations.
ddcgarsDirectConnectGatewayAssociations :: Lens' DescribeDirectConnectGatewayAssociationsResponse [DirectConnectGatewayAssociation]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcgarsResponseStatus :: Lens' DescribeDirectConnectGatewayAssociationsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociationsResponse
instance Data.Data.Data Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociationsResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociationsResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociationsResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociationsResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance Data.Data.Data Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociationsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeDirectConnectGatewayAssociations.DescribeDirectConnectGatewayAssociations


-- | Displays all connections in this region.
--   
--   If a connection ID is provided, the call returns only that particular
--   connection.
module Network.AWS.DirectConnect.DescribeConnections

-- | Creates a value of <a>DescribeConnections</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dConnectionId</a> - Undocumented member.</li>
--   </ul>
describeConnections :: DescribeConnections

-- | Container for the parameters to the DescribeConnections operation.
--   
--   <i>See:</i> <a>describeConnections</a> smart constructor.
data DescribeConnections

-- | Undocumented member.
dConnectionId :: Lens' DescribeConnections (Maybe Text)

-- | Creates a value of <a>Connections</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cConnections</a> - A list of connections.</li>
--   </ul>
connections :: Connections

-- | A structure containing a list of connections.
--   
--   <i>See:</i> <a>connections</a> smart constructor.
data Connections

-- | A list of connections.
cConnections :: Lens' Connections [Connection]
instance GHC.Generics.Generic Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance Data.Data.Data Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeConnections.DescribeConnections
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeConnections.DescribeConnections


-- | Deletes a virtual interface.
module Network.AWS.DirectConnect.DeleteVirtualInterface

-- | Creates a value of <a>DeleteVirtualInterface</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>delVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
deleteVirtualInterface :: Text -> DeleteVirtualInterface

-- | Container for the parameters to the DeleteVirtualInterface operation.
--   
--   <i>See:</i> <a>deleteVirtualInterface</a> smart constructor.
data DeleteVirtualInterface

-- | Undocumented member.
delVirtualInterfaceId :: Lens' DeleteVirtualInterface Text

-- | Creates a value of <a>DeleteVirtualInterfaceResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvirsVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>dvirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteVirtualInterfaceResponse :: Int -> DeleteVirtualInterfaceResponse

-- | The response received when DeleteVirtualInterface is called.
--   
--   <i>See:</i> <a>deleteVirtualInterfaceResponse</a> smart constructor.
data DeleteVirtualInterfaceResponse

-- | Undocumented member.
dvirsVirtualInterfaceState :: Lens' DeleteVirtualInterfaceResponse (Maybe VirtualInterfaceState)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dvirsResponseStatus :: Lens' DeleteVirtualInterfaceResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterfaceResponse
instance Data.Data.Data Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterfaceResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterfaceResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterfaceResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterfaceResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance Data.Data.Data Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterfaceResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterface


-- | Deletes a link aggregation group (LAG). You cannot delete a LAG if it
--   has active virtual interfaces or hosted connections.
module Network.AWS.DirectConnect.DeleteLag

-- | Creates a value of <a>DeleteLag</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dLagId</a> - The ID of the LAG to delete. Example: dxlag-abc123
--   Default: None</li>
--   </ul>
deleteLag :: Text -> DeleteLag

-- | Container for the parameters to the DeleteLag operation.
--   
--   <i>See:</i> <a>deleteLag</a> smart constructor.
data DeleteLag

-- | The ID of the LAG to delete. Example: dxlag-abc123 Default: None
dLagId :: Lens' DeleteLag Text

-- | Creates a value of <a>Lag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lagLagId</a> - Undocumented member.</li>
--   <li><a>lagConnectionsBandwidth</a> - The individual bandwidth of the
--   physical connections bundled by the LAG. Available values: 1Gbps,
--   10Gbps</li>
--   <li><a>lagMinimumLinks</a> - The minimum number of physical
--   connections that must be operational for the LAG itself to be
--   operational. If the number of operational connections drops below this
--   setting, the LAG state changes to <tt>down</tt> . This value can help
--   to ensure that a LAG is not overutilized if a significant number of
--   its bundled connections go down.</li>
--   <li><a>lagLagName</a> - The name of the LAG.</li>
--   <li><a>lagLocation</a> - Undocumented member.</li>
--   <li><a>lagConnections</a> - A list of connections bundled by this
--   LAG.</li>
--   <li><a>lagAwsDevice</a> - The AWS Direct Connection endpoint that
--   hosts the LAG.</li>
--   <li><a>lagAllowsHostedConnections</a> - Indicates whether the LAG can
--   host other connections.</li>
--   <li><a>lagNumberOfConnections</a> - The number of physical connections
--   bundled by the LAG, up to a maximum of 10.</li>
--   <li><a>lagLagState</a> - Undocumented member.</li>
--   <li><a>lagOwnerAccount</a> - The owner of the LAG.</li>
--   <li><a>lagRegion</a> - Undocumented member.</li>
--   </ul>
lag :: Lag

-- | Describes a link aggregation group (LAG). A LAG is a connection that
--   uses the Link Aggregation Control Protocol (LACP) to logically
--   aggregate a bundle of physical connections. Like an interconnect, it
--   can host other connections. All connections in a LAG must terminate on
--   the same physical AWS Direct Connect endpoint, and must be the same
--   bandwidth.
--   
--   <i>See:</i> <a>lag</a> smart constructor.
data Lag

-- | Undocumented member.
lagLagId :: Lens' Lag (Maybe Text)

-- | The individual bandwidth of the physical connections bundled by the
--   LAG. Available values: 1Gbps, 10Gbps
lagConnectionsBandwidth :: Lens' Lag (Maybe Text)

-- | The minimum number of physical connections that must be operational
--   for the LAG itself to be operational. If the number of operational
--   connections drops below this setting, the LAG state changes to
--   <tt>down</tt> . This value can help to ensure that a LAG is not
--   overutilized if a significant number of its bundled connections go
--   down.
lagMinimumLinks :: Lens' Lag (Maybe Int)

-- | The name of the LAG.
lagLagName :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagLocation :: Lens' Lag (Maybe Text)

-- | A list of connections bundled by this LAG.
lagConnections :: Lens' Lag [Connection]

-- | The AWS Direct Connection endpoint that hosts the LAG.
lagAwsDevice :: Lens' Lag (Maybe Text)

-- | Indicates whether the LAG can host other connections.
lagAllowsHostedConnections :: Lens' Lag (Maybe Bool)

-- | The number of physical connections bundled by the LAG, up to a maximum
--   of 10.
lagNumberOfConnections :: Lens' Lag (Maybe Int)

-- | Undocumented member.
lagLagState :: Lens' Lag (Maybe LagState)

-- | The owner of the LAG.
lagOwnerAccount :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagRegion :: Lens' Lag (Maybe Text)
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance Data.Data.Data Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DeleteLag.DeleteLag
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DeleteLag.DeleteLag


-- | Deletes the specified interconnect.
module Network.AWS.DirectConnect.DeleteInterconnect

-- | Creates a value of <a>DeleteInterconnect</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dInterconnectId</a> - Undocumented member.</li>
--   </ul>
deleteInterconnect :: Text -> DeleteInterconnect

-- | Container for the parameters to the DeleteInterconnect operation.
--   
--   <i>See:</i> <a>deleteInterconnect</a> smart constructor.
data DeleteInterconnect

-- | Undocumented member.
dInterconnectId :: Lens' DeleteInterconnect Text

-- | Creates a value of <a>DeleteInterconnectResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drsInterconnectState</a> - Undocumented member.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteInterconnectResponse :: Int -> DeleteInterconnectResponse

-- | The response received when DeleteInterconnect is called.
--   
--   <i>See:</i> <a>deleteInterconnectResponse</a> smart constructor.
data DeleteInterconnectResponse

-- | Undocumented member.
drsInterconnectState :: Lens' DeleteInterconnectResponse (Maybe InterconnectState)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drsResponseStatus :: Lens' DeleteInterconnectResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnectResponse
instance Data.Data.Data Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnectResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnectResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnectResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnectResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance Data.Data.Data Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnectResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnect


-- | Deletes the association between a direct connect gateway and a virtual
--   private gateway.
module Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation

-- | Creates a value of <a>DeleteDirectConnectGatewayAssociation</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>delDirectConnectGatewayId</a> - The ID of the direct connect
--   gateway. Example: "abcd1234-dcba-5678-be23-cdef9876ab45" Default:
--   None</li>
--   <li><a>delVirtualGatewayId</a> - The ID of the virtual private
--   gateway. Example: "vgw-abc123ef" Default: None</li>
--   </ul>
deleteDirectConnectGatewayAssociation :: Text -> Text -> DeleteDirectConnectGatewayAssociation

-- | Container for the parameters to the
--   DeleteDirectConnectGatewayAssociation operation.
--   
--   <i>See:</i> <a>deleteDirectConnectGatewayAssociation</a> smart
--   constructor.
data DeleteDirectConnectGatewayAssociation

-- | The ID of the direct connect gateway. Example:
--   "abcd1234-dcba-5678-be23-cdef9876ab45" Default: None
delDirectConnectGatewayId :: Lens' DeleteDirectConnectGatewayAssociation Text

-- | The ID of the virtual private gateway. Example: "vgw-abc123ef"
--   Default: None
delVirtualGatewayId :: Lens' DeleteDirectConnectGatewayAssociation Text

-- | Creates a value of
--   <a>DeleteDirectConnectGatewayAssociationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>delrsDirectConnectGatewayAssociation</a> - The direct connect
--   gateway association to be deleted.</li>
--   <li><a>delrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDirectConnectGatewayAssociationResponse :: Int -> DeleteDirectConnectGatewayAssociationResponse

-- | Container for the response from the
--   DeleteDirectConnectGatewayAssociation API call
--   
--   <i>See:</i> <a>deleteDirectConnectGatewayAssociationResponse</a> smart
--   constructor.
data DeleteDirectConnectGatewayAssociationResponse

-- | The direct connect gateway association to be deleted.
delrsDirectConnectGatewayAssociation :: Lens' DeleteDirectConnectGatewayAssociationResponse (Maybe DirectConnectGatewayAssociation)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
delrsResponseStatus :: Lens' DeleteDirectConnectGatewayAssociationResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociationResponse
instance Data.Data.Data Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociationResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociationResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociationResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociationResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance Data.Data.Data Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociationResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DeleteDirectConnectGatewayAssociation.DeleteDirectConnectGatewayAssociation


-- | Deletes a direct connect gateway. You must first delete all virtual
--   interfaces that are attached to the direct connect gateway and
--   disassociate all virtual private gateways that are associated with the
--   direct connect gateway.
module Network.AWS.DirectConnect.DeleteDirectConnectGateway

-- | Creates a value of <a>DeleteDirectConnectGateway</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcgdDirectConnectGatewayId</a> - The ID of the direct connect
--   gateway. Example: "abcd1234-dcba-5678-be23-cdef9876ab45" Default:
--   None</li>
--   </ul>
deleteDirectConnectGateway :: Text -> DeleteDirectConnectGateway

-- | Container for the parameters to the DeleteDirectConnectGateway
--   operation.
--   
--   <i>See:</i> <a>deleteDirectConnectGateway</a> smart constructor.
data DeleteDirectConnectGateway

-- | The ID of the direct connect gateway. Example:
--   "abcd1234-dcba-5678-be23-cdef9876ab45" Default: None
ddcgdDirectConnectGatewayId :: Lens' DeleteDirectConnectGateway Text

-- | Creates a value of <a>DeleteDirectConnectGatewayResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcgdrsDirectConnectGateway</a> - The direct connect gateway to
--   be deleted.</li>
--   <li><a>ddcgdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDirectConnectGatewayResponse :: Int -> DeleteDirectConnectGatewayResponse

-- | Container for the response from the DeleteDirectConnectGateway API
--   call
--   
--   <i>See:</i> <a>deleteDirectConnectGatewayResponse</a> smart
--   constructor.
data DeleteDirectConnectGatewayResponse

-- | The direct connect gateway to be deleted.
ddcgdrsDirectConnectGateway :: Lens' DeleteDirectConnectGatewayResponse (Maybe DirectConnectGateway)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcgdrsResponseStatus :: Lens' DeleteDirectConnectGatewayResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGatewayResponse
instance Data.Data.Data Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGatewayResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGatewayResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGatewayResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGatewayResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance Data.Data.Data Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGatewayResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DeleteDirectConnectGateway.DeleteDirectConnectGateway


-- | Deletes the connection.
--   
--   Deleting a connection only stops the AWS Direct Connect port hour and
--   data transfer charges. You need to cancel separately with the
--   providers any services or charges for cross-connects or network
--   circuits that connect you to the AWS Direct Connect location.
module Network.AWS.DirectConnect.DeleteConnection

-- | Creates a value of <a>DeleteConnection</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcConnectionId</a> - Undocumented member.</li>
--   </ul>
deleteConnection :: Text -> DeleteConnection

-- | Container for the parameters to the DeleteConnection operation.
--   
--   <i>See:</i> <a>deleteConnection</a> smart constructor.
data DeleteConnection

-- | Undocumented member.
dcConnectionId :: Lens' DeleteConnection Text

-- | Creates a value of <a>Connection</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cLagId</a> - Undocumented member.</li>
--   <li><a>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   <tt>DescribeLoa</tt> for this connection.</li>
--   <li><a>cPartnerName</a> - The name of the AWS Direct Connect service
--   provider associated with the connection.</li>
--   <li><a>cConnectionName</a> - Undocumented member.</li>
--   <li><a>cBandwidth</a> - Bandwidth of the connection. Example: 1Gbps
--   (for regular connections), or 500Mbps (for hosted connections)
--   Default: None</li>
--   <li><a>cOwnerAccount</a> - The AWS account that will own the new
--   connection.</li>
--   <li><a>cRegion</a> - Undocumented member.</li>
--   <li><a>cConnectionState</a> - Undocumented member.</li>
--   </ul>
connection :: Connection

-- | A connection represents the physical network connection between the
--   AWS Direct Connect location and the customer.
--   
--   <i>See:</i> <a>connection</a> smart constructor.
data Connection

-- | Undocumented member.
cLagId :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cVlan :: Lens' Connection (Maybe Int)

-- | Undocumented member.
cLocation :: Lens' Connection (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
cAwsDevice :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionId :: Lens' Connection (Maybe Text)

-- | The time of the most recent call to <tt>DescribeLoa</tt> for this
--   connection.
cLoaIssueTime :: Lens' Connection (Maybe UTCTime)

-- | The name of the AWS Direct Connect service provider associated with
--   the connection.
cPartnerName :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionName :: Lens' Connection (Maybe Text)

-- | Bandwidth of the connection. Example: 1Gbps (for regular connections),
--   or 500Mbps (for hosted connections) Default: None
cBandwidth :: Lens' Connection (Maybe Text)

-- | The AWS account that will own the new connection.
cOwnerAccount :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cRegion :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionState :: Lens' Connection (Maybe ConnectionState)
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance Data.Data.Data Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DeleteConnection.DeleteConnection
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DeleteConnection.DeleteConnection


-- | Deletes a BGP peer on the specified virtual interface that matches the
--   specified customer address and ASN. You cannot delete the last BGP
--   peer from a virtual interface.
module Network.AWS.DirectConnect.DeleteBGPPeer

-- | Creates a value of <a>DeleteBGPPeer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dbpCustomerAddress</a> - Undocumented member.</li>
--   <li><a>dbpAsn</a> - Undocumented member.</li>
--   <li><a>dbpVirtualInterfaceId</a> - The ID of the virtual interface
--   from which the BGP peer will be deleted. Example: dxvif-456abc78
--   Default: None</li>
--   </ul>
deleteBGPPeer :: DeleteBGPPeer

-- | Container for the parameters to the DeleteBGPPeer operation.
--   
--   <i>See:</i> <a>deleteBGPPeer</a> smart constructor.
data DeleteBGPPeer

-- | Undocumented member.
dbpCustomerAddress :: Lens' DeleteBGPPeer (Maybe Text)

-- | Undocumented member.
dbpAsn :: Lens' DeleteBGPPeer (Maybe Int)

-- | The ID of the virtual interface from which the BGP peer will be
--   deleted. Example: dxvif-456abc78 Default: None
dbpVirtualInterfaceId :: Lens' DeleteBGPPeer (Maybe Text)

-- | Creates a value of <a>DeleteBGPPeerResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dbprsVirtualInterface</a> - Undocumented member.</li>
--   <li><a>dbprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteBGPPeerResponse :: Int -> DeleteBGPPeerResponse

-- | The response received when DeleteBGPPeer is called.
--   
--   <i>See:</i> <a>deleteBGPPeerResponse</a> smart constructor.
data DeleteBGPPeerResponse

-- | Undocumented member.
dbprsVirtualInterface :: Lens' DeleteBGPPeerResponse (Maybe VirtualInterface)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dbprsResponseStatus :: Lens' DeleteBGPPeerResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeerResponse
instance Data.Data.Data Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeerResponse
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeerResponse
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeerResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeerResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance Data.Data.Data Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance GHC.Show.Show Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance GHC.Read.Read Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance GHC.Classes.Eq Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeerResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeer


-- | Creates a new public virtual interface. A virtual interface is the
--   VLAN that transports AWS Direct Connect traffic. A public virtual
--   interface supports sending traffic to public services of AWS such as
--   Amazon Simple Storage Service (Amazon S3).
--   
--   When creating an IPv6 public virtual interface (addressFamily is
--   <tt>ipv6</tt>), the customer and amazon address fields should be left
--   blank to use auto-assigned IPv6 space. Custom IPv6 Addresses are
--   currently not supported.
module Network.AWS.DirectConnect.CreatePublicVirtualInterface

-- | Creates a value of <a>CreatePublicVirtualInterface</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpviConnectionId</a> - Undocumented member.</li>
--   <li><a>cpviNewPublicVirtualInterface</a> - Detailed information for
--   the public virtual interface to be created. Default: None</li>
--   </ul>
createPublicVirtualInterface :: Text -> NewPublicVirtualInterface -> CreatePublicVirtualInterface

-- | Container for the parameters to the CreatePublicVirtualInterface
--   operation.
--   
--   <i>See:</i> <a>createPublicVirtualInterface</a> smart constructor.
data CreatePublicVirtualInterface

-- | Undocumented member.
cpviConnectionId :: Lens' CreatePublicVirtualInterface Text

-- | Detailed information for the public virtual interface to be created.
--   Default: None
cpviNewPublicVirtualInterface :: Lens' CreatePublicVirtualInterface NewPublicVirtualInterface

-- | Creates a value of <a>VirtualInterface</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viBgpPeers</a> - Undocumented member.</li>
--   <li><a>viVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>viRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>viCustomerAddress</a> - Undocumented member.</li>
--   <li><a>viVlan</a> - Undocumented member.</li>
--   <li><a>viLocation</a> - Undocumented member.</li>
--   <li><a>viAmazonAddress</a> - Undocumented member.</li>
--   <li><a>viAddressFamily</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>viConnectionId</a> - Undocumented member.</li>
--   <li><a>viDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>viAmazonSideASN</a> - The autonomous system number (ASN) for
--   the Amazon side of the connection.</li>
--   <li><a>viVirtualInterfaceType</a> - Undocumented member.</li>
--   <li><a>viAsn</a> - Undocumented member.</li>
--   <li><a>viAuthKey</a> - Undocumented member.</li>
--   <li><a>viCustomerRouterConfig</a> - Information for generating the
--   customer router configuration.</li>
--   <li><a>viOwnerAccount</a> - The AWS account that will own the new
--   virtual interface.</li>
--   <li><a>viVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
virtualInterface :: VirtualInterface

-- | A virtual interface (VLAN) transmits the traffic between the AWS
--   Direct Connect location and the customer.
--   
--   <i>See:</i> <a>virtualInterface</a> smart constructor.
data VirtualInterface

-- | Undocumented member.
viBgpPeers :: Lens' VirtualInterface [BGPPeer]

-- | Undocumented member.
viVirtualGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viRouteFilterPrefixes :: Lens' VirtualInterface [RouteFilterPrefix]

-- | Undocumented member.
viCustomerAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVlan :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viLocation :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAmazonAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAddressFamily :: Lens' VirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
viVirtualInterfaceState :: Lens' VirtualInterface (Maybe VirtualInterfaceState)

-- | Undocumented member.
viConnectionId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viDirectConnectGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | The autonomous system number (ASN) for the Amazon side of the
--   connection.
viAmazonSideASN :: Lens' VirtualInterface (Maybe Integer)

-- | Undocumented member.
viVirtualInterfaceType :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAsn :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viAuthKey :: Lens' VirtualInterface (Maybe Text)

-- | Information for generating the customer router configuration.
viCustomerRouterConfig :: Lens' VirtualInterface (Maybe Text)

-- | The AWS account that will own the new virtual interface.
viOwnerAccount :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceName :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceId :: Lens' VirtualInterface (Maybe Text)
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance Data.Data.Data Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance GHC.Show.Show Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance GHC.Read.Read Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.CreatePublicVirtualInterface.CreatePublicVirtualInterface


-- | Creates a new private virtual interface. A virtual interface is the
--   VLAN that transports AWS Direct Connect traffic. A private virtual
--   interface supports sending traffic to a single virtual private cloud
--   (VPC).
module Network.AWS.DirectConnect.CreatePrivateVirtualInterface

-- | Creates a value of <a>CreatePrivateVirtualInterface</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>creConnectionId</a> - Undocumented member.</li>
--   <li><a>creNewPrivateVirtualInterface</a> - Detailed information for
--   the private virtual interface to be created. Default: None</li>
--   </ul>
createPrivateVirtualInterface :: Text -> NewPrivateVirtualInterface -> CreatePrivateVirtualInterface

-- | Container for the parameters to the CreatePrivateVirtualInterface
--   operation.
--   
--   <i>See:</i> <a>createPrivateVirtualInterface</a> smart constructor.
data CreatePrivateVirtualInterface

-- | Undocumented member.
creConnectionId :: Lens' CreatePrivateVirtualInterface Text

-- | Detailed information for the private virtual interface to be created.
--   Default: None
creNewPrivateVirtualInterface :: Lens' CreatePrivateVirtualInterface NewPrivateVirtualInterface

-- | Creates a value of <a>VirtualInterface</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viBgpPeers</a> - Undocumented member.</li>
--   <li><a>viVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>viRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>viCustomerAddress</a> - Undocumented member.</li>
--   <li><a>viVlan</a> - Undocumented member.</li>
--   <li><a>viLocation</a> - Undocumented member.</li>
--   <li><a>viAmazonAddress</a> - Undocumented member.</li>
--   <li><a>viAddressFamily</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>viConnectionId</a> - Undocumented member.</li>
--   <li><a>viDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>viAmazonSideASN</a> - The autonomous system number (ASN) for
--   the Amazon side of the connection.</li>
--   <li><a>viVirtualInterfaceType</a> - Undocumented member.</li>
--   <li><a>viAsn</a> - Undocumented member.</li>
--   <li><a>viAuthKey</a> - Undocumented member.</li>
--   <li><a>viCustomerRouterConfig</a> - Information for generating the
--   customer router configuration.</li>
--   <li><a>viOwnerAccount</a> - The AWS account that will own the new
--   virtual interface.</li>
--   <li><a>viVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
virtualInterface :: VirtualInterface

-- | A virtual interface (VLAN) transmits the traffic between the AWS
--   Direct Connect location and the customer.
--   
--   <i>See:</i> <a>virtualInterface</a> smart constructor.
data VirtualInterface

-- | Undocumented member.
viBgpPeers :: Lens' VirtualInterface [BGPPeer]

-- | Undocumented member.
viVirtualGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viRouteFilterPrefixes :: Lens' VirtualInterface [RouteFilterPrefix]

-- | Undocumented member.
viCustomerAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVlan :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viLocation :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAmazonAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAddressFamily :: Lens' VirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
viVirtualInterfaceState :: Lens' VirtualInterface (Maybe VirtualInterfaceState)

-- | Undocumented member.
viConnectionId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viDirectConnectGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | The autonomous system number (ASN) for the Amazon side of the
--   connection.
viAmazonSideASN :: Lens' VirtualInterface (Maybe Integer)

-- | Undocumented member.
viVirtualInterfaceType :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAsn :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viAuthKey :: Lens' VirtualInterface (Maybe Text)

-- | Information for generating the customer router configuration.
viCustomerRouterConfig :: Lens' VirtualInterface (Maybe Text)

-- | The AWS account that will own the new virtual interface.
viOwnerAccount :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceName :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceId :: Lens' VirtualInterface (Maybe Text)
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance Data.Data.Data Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance GHC.Show.Show Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance GHC.Read.Read Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.CreatePrivateVirtualInterface.CreatePrivateVirtualInterface


-- | Creates a new link aggregation group (LAG) with the specified number
--   of bundled physical connections between the customer network and a
--   specific AWS Direct Connect location. A LAG is a logical interface
--   that uses the Link Aggregation Control Protocol (LACP) to aggregate
--   multiple 1 gigabit or 10 gigabit interfaces, allowing you to treat
--   them as a single interface.
--   
--   All connections in a LAG must use the same bandwidth (for example, 10
--   Gbps), and must terminate at the same AWS Direct Connect endpoint.
--   
--   You can have up to 10 connections per LAG. Regardless of this limit,
--   if you request more connections for the LAG than AWS Direct Connect
--   can allocate on a single endpoint, no LAG is created.
--   
--   You can specify an existing physical connection or interconnect to
--   include in the LAG (which counts towards the total number of
--   connections). Doing so interrupts the current physical connection or
--   hosted connections, and re-establishes them as a member of the LAG.
--   The LAG will be created on the same AWS Direct Connect endpoint to
--   which the connection terminates. Any virtual interfaces associated
--   with the connection are automatically disassociated and re-associated
--   with the LAG. The connection ID does not change.
--   
--   If the AWS account used to create a LAG is a registered AWS Direct
--   Connect partner, the LAG is automatically enabled to host
--   sub-connections. For a LAG owned by a partner, any associated virtual
--   interfaces cannot be directly configured.
module Network.AWS.DirectConnect.CreateLag

-- | Creates a value of <a>CreateLag</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clConnectionId</a> - The ID of an existing connection to
--   migrate to the LAG. Default: None</li>
--   <li><a>clNumberOfConnections</a> - The number of physical connections
--   initially provisioned and bundled by the LAG. Default: None</li>
--   <li><a>clLocation</a> - The AWS Direct Connect location in which the
--   LAG should be allocated. Example: EqSV5 Default: None</li>
--   <li><a>clConnectionsBandwidth</a> - The bandwidth of the individual
--   physical connections bundled by the LAG. Default: None Available
--   values: 1Gbps, 10Gbps</li>
--   <li><a>clLagName</a> - The name of the LAG. Example: "<tt>3x10G LAG to
--   AWS</tt> " Default: None</li>
--   </ul>
createLag :: Int -> Text -> Text -> Text -> CreateLag

-- | Container for the parameters to the CreateLag operation.
--   
--   <i>See:</i> <a>createLag</a> smart constructor.
data CreateLag

-- | The ID of an existing connection to migrate to the LAG. Default: None
clConnectionId :: Lens' CreateLag (Maybe Text)

-- | The number of physical connections initially provisioned and bundled
--   by the LAG. Default: None
clNumberOfConnections :: Lens' CreateLag Int

-- | The AWS Direct Connect location in which the LAG should be allocated.
--   Example: EqSV5 Default: None
clLocation :: Lens' CreateLag Text

-- | The bandwidth of the individual physical connections bundled by the
--   LAG. Default: None Available values: 1Gbps, 10Gbps
clConnectionsBandwidth :: Lens' CreateLag Text

-- | The name of the LAG. Example: "<tt>3x10G LAG to AWS</tt> " Default:
--   None
clLagName :: Lens' CreateLag Text

-- | Creates a value of <a>Lag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lagLagId</a> - Undocumented member.</li>
--   <li><a>lagConnectionsBandwidth</a> - The individual bandwidth of the
--   physical connections bundled by the LAG. Available values: 1Gbps,
--   10Gbps</li>
--   <li><a>lagMinimumLinks</a> - The minimum number of physical
--   connections that must be operational for the LAG itself to be
--   operational. If the number of operational connections drops below this
--   setting, the LAG state changes to <tt>down</tt> . This value can help
--   to ensure that a LAG is not overutilized if a significant number of
--   its bundled connections go down.</li>
--   <li><a>lagLagName</a> - The name of the LAG.</li>
--   <li><a>lagLocation</a> - Undocumented member.</li>
--   <li><a>lagConnections</a> - A list of connections bundled by this
--   LAG.</li>
--   <li><a>lagAwsDevice</a> - The AWS Direct Connection endpoint that
--   hosts the LAG.</li>
--   <li><a>lagAllowsHostedConnections</a> - Indicates whether the LAG can
--   host other connections.</li>
--   <li><a>lagNumberOfConnections</a> - The number of physical connections
--   bundled by the LAG, up to a maximum of 10.</li>
--   <li><a>lagLagState</a> - Undocumented member.</li>
--   <li><a>lagOwnerAccount</a> - The owner of the LAG.</li>
--   <li><a>lagRegion</a> - Undocumented member.</li>
--   </ul>
lag :: Lag

-- | Describes a link aggregation group (LAG). A LAG is a connection that
--   uses the Link Aggregation Control Protocol (LACP) to logically
--   aggregate a bundle of physical connections. Like an interconnect, it
--   can host other connections. All connections in a LAG must terminate on
--   the same physical AWS Direct Connect endpoint, and must be the same
--   bandwidth.
--   
--   <i>See:</i> <a>lag</a> smart constructor.
data Lag

-- | Undocumented member.
lagLagId :: Lens' Lag (Maybe Text)

-- | The individual bandwidth of the physical connections bundled by the
--   LAG. Available values: 1Gbps, 10Gbps
lagConnectionsBandwidth :: Lens' Lag (Maybe Text)

-- | The minimum number of physical connections that must be operational
--   for the LAG itself to be operational. If the number of operational
--   connections drops below this setting, the LAG state changes to
--   <tt>down</tt> . This value can help to ensure that a LAG is not
--   overutilized if a significant number of its bundled connections go
--   down.
lagMinimumLinks :: Lens' Lag (Maybe Int)

-- | The name of the LAG.
lagLagName :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagLocation :: Lens' Lag (Maybe Text)

-- | A list of connections bundled by this LAG.
lagConnections :: Lens' Lag [Connection]

-- | The AWS Direct Connection endpoint that hosts the LAG.
lagAwsDevice :: Lens' Lag (Maybe Text)

-- | Indicates whether the LAG can host other connections.
lagAllowsHostedConnections :: Lens' Lag (Maybe Bool)

-- | The number of physical connections bundled by the LAG, up to a maximum
--   of 10.
lagNumberOfConnections :: Lens' Lag (Maybe Int)

-- | Undocumented member.
lagLagState :: Lens' Lag (Maybe LagState)

-- | The owner of the LAG.
lagOwnerAccount :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagRegion :: Lens' Lag (Maybe Text)
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreateLag.CreateLag
instance Data.Data.Data Network.AWS.DirectConnect.CreateLag.CreateLag
instance GHC.Show.Show Network.AWS.DirectConnect.CreateLag.CreateLag
instance GHC.Read.Read Network.AWS.DirectConnect.CreateLag.CreateLag
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreateLag.CreateLag
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.CreateLag.CreateLag
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.CreateLag.CreateLag
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateLag.CreateLag
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.CreateLag.CreateLag
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.CreateLag.CreateLag
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.CreateLag.CreateLag
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.CreateLag.CreateLag


-- | Creates a new interconnect between a AWS Direct Connect partner's
--   network and a specific AWS Direct Connect location.
--   
--   An interconnect is a connection which is capable of hosting other
--   connections. The AWS Direct Connect partner can use an interconnect to
--   provide sub-1Gbps AWS Direct Connect service to tier 2 customers who
--   do not have their own connections. Like a standard connection, an
--   interconnect links the AWS Direct Connect partner's network to an AWS
--   Direct Connect location over a standard 1 Gbps or 10 Gbps Ethernet
--   fiber-optic cable. One end is connected to the partner's router, the
--   other to an AWS Direct Connect router.
--   
--   You can automatically add the new interconnect to a link aggregation
--   group (LAG) by specifying a LAG ID in the request. This ensures that
--   the new interconnect is allocated on the same AWS Direct Connect
--   endpoint that hosts the specified LAG. If there are no available ports
--   on the endpoint, the request fails and no interconnect will be
--   created.
--   
--   For each end customer, the AWS Direct Connect partner provisions a
--   connection on their interconnect by calling
--   AllocateConnectionOnInterconnect. The end customer can then connect to
--   AWS resources by creating a virtual interface on their connection,
--   using the VLAN assigned to them by the AWS Direct Connect partner.
module Network.AWS.DirectConnect.CreateInterconnect

-- | Creates a value of <a>CreateInterconnect</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ciLagId</a> - Undocumented member.</li>
--   <li><a>ciInterconnectName</a> - The name of the interconnect. Example:
--   "<i>1G Interconnect to AWS</i> " Default: None</li>
--   <li><a>ciBandwidth</a> - The port bandwidth Example: 1Gbps Default:
--   None Available values: 1Gbps,10Gbps</li>
--   <li><a>ciLocation</a> - Where the interconnect is located Example:
--   EqSV5 Default: None</li>
--   </ul>
createInterconnect :: Text -> Text -> Text -> CreateInterconnect

-- | Container for the parameters to the CreateInterconnect operation.
--   
--   <i>See:</i> <a>createInterconnect</a> smart constructor.
data CreateInterconnect

-- | Undocumented member.
ciLagId :: Lens' CreateInterconnect (Maybe Text)

-- | The name of the interconnect. Example: "<i>1G Interconnect to AWS</i>
--   " Default: None
ciInterconnectName :: Lens' CreateInterconnect Text

-- | The port bandwidth Example: 1Gbps Default: None Available values:
--   1Gbps,10Gbps
ciBandwidth :: Lens' CreateInterconnect Text

-- | Where the interconnect is located Example: EqSV5 Default: None
ciLocation :: Lens' CreateInterconnect Text

-- | Creates a value of <a>Interconnect</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iLagId</a> - Undocumented member.</li>
--   <li><a>iInterconnectId</a> - Undocumented member.</li>
--   <li><a>iLocation</a> - Undocumented member.</li>
--   <li><a>iInterconnectName</a> - Undocumented member.</li>
--   <li><a>iAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>iLoaIssueTime</a> - The time of the most recent call to
--   DescribeInterconnectLoa for this Interconnect.</li>
--   <li><a>iBandwidth</a> - Undocumented member.</li>
--   <li><a>iInterconnectState</a> - Undocumented member.</li>
--   <li><a>iRegion</a> - Undocumented member.</li>
--   </ul>
interconnect :: Interconnect

-- | An interconnect is a connection that can host other connections.
--   
--   Like a standard AWS Direct Connect connection, an interconnect
--   represents the physical connection between an AWS Direct Connect
--   partner's network and a specific Direct Connect location. An AWS
--   Direct Connect partner who owns an interconnect can provision hosted
--   connections on the interconnect for their end customers, thereby
--   providing the end customers with connectivity to AWS services.
--   
--   The resources of the interconnect, including bandwidth and VLAN
--   numbers, are shared by all of the hosted connections on the
--   interconnect, and the owner of the interconnect determines how these
--   resources are assigned.
--   
--   <i>See:</i> <a>interconnect</a> smart constructor.
data Interconnect

-- | Undocumented member.
iLagId :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iInterconnectId :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iLocation :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iInterconnectName :: Lens' Interconnect (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
iAwsDevice :: Lens' Interconnect (Maybe Text)

-- | The time of the most recent call to DescribeInterconnectLoa for this
--   Interconnect.
iLoaIssueTime :: Lens' Interconnect (Maybe UTCTime)

-- | Undocumented member.
iBandwidth :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iInterconnectState :: Lens' Interconnect (Maybe InterconnectState)

-- | Undocumented member.
iRegion :: Lens' Interconnect (Maybe Text)
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance Data.Data.Data Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance GHC.Show.Show Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance GHC.Read.Read Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.CreateInterconnect.CreateInterconnect


-- | Creates an association between a direct connect gateway and a virtual
--   private gateway (VGW). The VGW must be attached to a VPC and must not
--   be associated with another direct connect gateway.
module Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation

-- | Creates a value of <a>CreateDirectConnectGatewayAssociation</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcgaDirectConnectGatewayId</a> - The ID of the direct connect
--   gateway. Example: "abcd1234-dcba-5678-be23-cdef9876ab45" Default:
--   None</li>
--   <li><a>cdcgaVirtualGatewayId</a> - The ID of the virtual private
--   gateway. Example: "vgw-abc123ef" Default: None</li>
--   </ul>
createDirectConnectGatewayAssociation :: Text -> Text -> CreateDirectConnectGatewayAssociation

-- | Container for the parameters to the
--   CreateDirectConnectGatewayAssociation operation.
--   
--   <i>See:</i> <a>createDirectConnectGatewayAssociation</a> smart
--   constructor.
data CreateDirectConnectGatewayAssociation

-- | The ID of the direct connect gateway. Example:
--   "abcd1234-dcba-5678-be23-cdef9876ab45" Default: None
cdcgaDirectConnectGatewayId :: Lens' CreateDirectConnectGatewayAssociation Text

-- | The ID of the virtual private gateway. Example: "vgw-abc123ef"
--   Default: None
cdcgaVirtualGatewayId :: Lens' CreateDirectConnectGatewayAssociation Text

-- | Creates a value of
--   <a>CreateDirectConnectGatewayAssociationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcgarsDirectConnectGatewayAssociation</a> - The direct connect
--   gateway association to be created.</li>
--   <li><a>cdcgarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDirectConnectGatewayAssociationResponse :: Int -> CreateDirectConnectGatewayAssociationResponse

-- | Container for the response from the
--   CreateDirectConnectGatewayAssociation API call
--   
--   <i>See:</i> <a>createDirectConnectGatewayAssociationResponse</a> smart
--   constructor.
data CreateDirectConnectGatewayAssociationResponse

-- | The direct connect gateway association to be created.
cdcgarsDirectConnectGatewayAssociation :: Lens' CreateDirectConnectGatewayAssociationResponse (Maybe DirectConnectGatewayAssociation)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdcgarsResponseStatus :: Lens' CreateDirectConnectGatewayAssociationResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociationResponse
instance Data.Data.Data Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociationResponse
instance GHC.Show.Show Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociationResponse
instance GHC.Read.Read Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociationResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociationResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance Data.Data.Data Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance GHC.Show.Show Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance GHC.Read.Read Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociationResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.CreateDirectConnectGatewayAssociation.CreateDirectConnectGatewayAssociation


-- | Creates a new direct connect gateway. A direct connect gateway is an
--   intermediate object that enables you to connect a set of virtual
--   interfaces and virtual private gateways. direct connect gateways are
--   global and visible in any AWS region after they are created. The
--   virtual interfaces and virtual private gateways that are connected
--   through a direct connect gateway can be in different regions. This
--   enables you to connect to a VPC in any region, regardless of the
--   region in which the virtual interfaces are located, and pass traffic
--   between them.
module Network.AWS.DirectConnect.CreateDirectConnectGateway

-- | Creates a value of <a>CreateDirectConnectGateway</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcgAmazonSideASN</a> - The autonomous system number (ASN) for
--   Border Gateway Protocol (BGP) to be configured on the Amazon side of
--   the connection. The ASN must be in the private range of 64,512 to
--   65,534 or 4,200,000,000 to 4,294,967,294 Example: 65200 Default:
--   64512</li>
--   <li><a>cdcgDirectConnectGatewayName</a> - The name of the direct
--   connect gateway. Example: "My direct connect gateway" Default:
--   None</li>
--   </ul>
createDirectConnectGateway :: Text -> CreateDirectConnectGateway

-- | Container for the parameters to the CreateDirectConnectGateway
--   operation.
--   
--   <i>See:</i> <a>createDirectConnectGateway</a> smart constructor.
data CreateDirectConnectGateway

-- | The autonomous system number (ASN) for Border Gateway Protocol (BGP)
--   to be configured on the Amazon side of the connection. The ASN must be
--   in the private range of 64,512 to 65,534 or 4,200,000,000 to
--   4,294,967,294 Example: 65200 Default: 64512
cdcgAmazonSideASN :: Lens' CreateDirectConnectGateway (Maybe Integer)

-- | The name of the direct connect gateway. Example: "My direct connect
--   gateway" Default: None
cdcgDirectConnectGatewayName :: Lens' CreateDirectConnectGateway Text

-- | Creates a value of <a>CreateDirectConnectGatewayResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcgrsDirectConnectGateway</a> - The direct connect gateway to
--   be created.</li>
--   <li><a>cdcgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDirectConnectGatewayResponse :: Int -> CreateDirectConnectGatewayResponse

-- | Container for the response from the CreateDirectConnectGateway API
--   call
--   
--   <i>See:</i> <a>createDirectConnectGatewayResponse</a> smart
--   constructor.
data CreateDirectConnectGatewayResponse

-- | The direct connect gateway to be created.
cdcgrsDirectConnectGateway :: Lens' CreateDirectConnectGatewayResponse (Maybe DirectConnectGateway)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdcgrsResponseStatus :: Lens' CreateDirectConnectGatewayResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGatewayResponse
instance Data.Data.Data Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGatewayResponse
instance GHC.Show.Show Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGatewayResponse
instance GHC.Read.Read Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGatewayResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGatewayResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance Data.Data.Data Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance GHC.Show.Show Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance GHC.Read.Read Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGatewayResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.CreateDirectConnectGateway.CreateDirectConnectGateway


-- | Creates a new connection between the customer network and a specific
--   AWS Direct Connect location.
--   
--   A connection links your internal network to an AWS Direct Connect
--   location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic
--   cable. One end of the cable is connected to your router, the other to
--   an AWS Direct Connect router. An AWS Direct Connect location provides
--   access to Amazon Web Services in the region it is associated with. You
--   can establish connections with AWS Direct Connect locations in
--   multiple regions, but a connection in one region does not provide
--   connectivity to other regions.
--   
--   To find the locations for your region, use <tt>DescribeLocations</tt>
--   .
--   
--   You can automatically add the new connection to a link aggregation
--   group (LAG) by specifying a LAG ID in the request. This ensures that
--   the new connection is allocated on the same AWS Direct Connect
--   endpoint that hosts the specified LAG. If there are no available ports
--   on the endpoint, the request fails and no connection will be created.
module Network.AWS.DirectConnect.CreateConnection

-- | Creates a value of <a>CreateConnection</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccLagId</a> - Undocumented member.</li>
--   <li><a>ccLocation</a> - Undocumented member.</li>
--   <li><a>ccBandwidth</a> - Undocumented member.</li>
--   <li><a>ccConnectionName</a> - Undocumented member.</li>
--   </ul>
createConnection :: Text -> Text -> Text -> CreateConnection

-- | Container for the parameters to the CreateConnection operation.
--   
--   <i>See:</i> <a>createConnection</a> smart constructor.
data CreateConnection

-- | Undocumented member.
ccLagId :: Lens' CreateConnection (Maybe Text)

-- | Undocumented member.
ccLocation :: Lens' CreateConnection Text

-- | Undocumented member.
ccBandwidth :: Lens' CreateConnection Text

-- | Undocumented member.
ccConnectionName :: Lens' CreateConnection Text

-- | Creates a value of <a>Connection</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cLagId</a> - Undocumented member.</li>
--   <li><a>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   <tt>DescribeLoa</tt> for this connection.</li>
--   <li><a>cPartnerName</a> - The name of the AWS Direct Connect service
--   provider associated with the connection.</li>
--   <li><a>cConnectionName</a> - Undocumented member.</li>
--   <li><a>cBandwidth</a> - Bandwidth of the connection. Example: 1Gbps
--   (for regular connections), or 500Mbps (for hosted connections)
--   Default: None</li>
--   <li><a>cOwnerAccount</a> - The AWS account that will own the new
--   connection.</li>
--   <li><a>cRegion</a> - Undocumented member.</li>
--   <li><a>cConnectionState</a> - Undocumented member.</li>
--   </ul>
connection :: Connection

-- | A connection represents the physical network connection between the
--   AWS Direct Connect location and the customer.
--   
--   <i>See:</i> <a>connection</a> smart constructor.
data Connection

-- | Undocumented member.
cLagId :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cVlan :: Lens' Connection (Maybe Int)

-- | Undocumented member.
cLocation :: Lens' Connection (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
cAwsDevice :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionId :: Lens' Connection (Maybe Text)

-- | The time of the most recent call to <tt>DescribeLoa</tt> for this
--   connection.
cLoaIssueTime :: Lens' Connection (Maybe UTCTime)

-- | The name of the AWS Direct Connect service provider associated with
--   the connection.
cPartnerName :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionName :: Lens' Connection (Maybe Text)

-- | Bandwidth of the connection. Example: 1Gbps (for regular connections),
--   or 500Mbps (for hosted connections) Default: None
cBandwidth :: Lens' Connection (Maybe Text)

-- | The AWS account that will own the new connection.
cOwnerAccount :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cRegion :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionState :: Lens' Connection (Maybe ConnectionState)
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance Data.Data.Data Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance GHC.Show.Show Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance GHC.Read.Read Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.CreateConnection.CreateConnection
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.CreateConnection.CreateConnection


-- | Creates a new BGP peer on a specified virtual interface. The BGP peer
--   cannot be in the same address family (IPv4/IPv6) of an existing BGP
--   peer on the virtual interface.
--   
--   You must create a BGP peer for the corresponding address family in
--   order to access AWS resources that also use that address family.
--   
--   When creating a IPv6 BGP peer, the Amazon address and customer address
--   fields must be left blank. IPv6 addresses are automatically assigned
--   from Amazon's pool of IPv6 addresses; you cannot specify custom IPv6
--   addresses.
--   
--   For a public virtual interface, the Autonomous System Number (ASN)
--   must be private or already whitelisted for the virtual interface.
module Network.AWS.DirectConnect.CreateBGPPeer

-- | Creates a value of <a>CreateBGPPeer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbpNewBGPPeer</a> - Detailed information for the BGP peer to be
--   created. Default: None</li>
--   <li><a>cbpVirtualInterfaceId</a> - The ID of the virtual interface on
--   which the BGP peer will be provisioned. Example: dxvif-456abc78
--   Default: None</li>
--   </ul>
createBGPPeer :: CreateBGPPeer

-- | Container for the parameters to the CreateBGPPeer operation.
--   
--   <i>See:</i> <a>createBGPPeer</a> smart constructor.
data CreateBGPPeer

-- | Detailed information for the BGP peer to be created. Default: None
cbpNewBGPPeer :: Lens' CreateBGPPeer (Maybe NewBGPPeer)

-- | The ID of the virtual interface on which the BGP peer will be
--   provisioned. Example: dxvif-456abc78 Default: None
cbpVirtualInterfaceId :: Lens' CreateBGPPeer (Maybe Text)

-- | Creates a value of <a>CreateBGPPeerResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbprsVirtualInterface</a> - Undocumented member.</li>
--   <li><a>cbprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createBGPPeerResponse :: Int -> CreateBGPPeerResponse

-- | The response received when CreateBGPPeer is called.
--   
--   <i>See:</i> <a>createBGPPeerResponse</a> smart constructor.
data CreateBGPPeerResponse

-- | Undocumented member.
cbprsVirtualInterface :: Lens' CreateBGPPeerResponse (Maybe VirtualInterface)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cbprsResponseStatus :: Lens' CreateBGPPeerResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeerResponse
instance Data.Data.Data Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeerResponse
instance GHC.Show.Show Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeerResponse
instance GHC.Read.Read Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeerResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeerResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance Data.Data.Data Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance GHC.Show.Show Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance GHC.Read.Read Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance GHC.Classes.Eq Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeerResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeer


-- | Accept ownership of a public virtual interface created by another
--   customer.
--   
--   After the virtual interface owner calls this function, the specified
--   virtual interface will be created and made available for handling
--   traffic.
module Network.AWS.DirectConnect.ConfirmPublicVirtualInterface

-- | Creates a value of <a>ConfirmPublicVirtualInterface</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
confirmPublicVirtualInterface :: Text -> ConfirmPublicVirtualInterface

-- | Container for the parameters to the ConfirmPublicVirtualInterface
--   operation.
--   
--   <i>See:</i> <a>confirmPublicVirtualInterface</a> smart constructor.
data ConfirmPublicVirtualInterface

-- | Undocumented member.
cVirtualInterfaceId :: Lens' ConfirmPublicVirtualInterface Text

-- | Creates a value of <a>ConfirmPublicVirtualInterfaceResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crsVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>crsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
confirmPublicVirtualInterfaceResponse :: Int -> ConfirmPublicVirtualInterfaceResponse

-- | The response received when ConfirmPublicVirtualInterface is called.
--   
--   <i>See:</i> <a>confirmPublicVirtualInterfaceResponse</a> smart
--   constructor.
data ConfirmPublicVirtualInterfaceResponse

-- | Undocumented member.
crsVirtualInterfaceState :: Lens' ConfirmPublicVirtualInterfaceResponse (Maybe VirtualInterfaceState)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
crsResponseStatus :: Lens' ConfirmPublicVirtualInterfaceResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterfaceResponse
instance Data.Data.Data Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterfaceResponse
instance GHC.Show.Show Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterfaceResponse
instance GHC.Read.Read Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterfaceResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterfaceResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance Data.Data.Data Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance GHC.Show.Show Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance GHC.Read.Read Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance GHC.Classes.Eq Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterfaceResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterface


-- | Accept ownership of a private virtual interface created by another
--   customer.
--   
--   After the virtual interface owner calls this function, the virtual
--   interface will be created and attached to the given virtual private
--   gateway or direct connect gateway, and will be available for handling
--   traffic.
module Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface

-- | Creates a value of <a>ConfirmPrivateVirtualInterface</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpviVirtualGatewayId</a> - ID of the virtual private gateway
--   that will be attached to the virtual interface. A virtual private
--   gateway can be managed via the Amazon Virtual Private Cloud (VPC)
--   console or the <a>EC2 CreateVpnGateway</a> action. Default: None</li>
--   <li><a>cpviDirectConnectGatewayId</a> - ID of the direct connect
--   gateway that will be attached to the virtual interface. A direct
--   connect gateway can be managed via the AWS Direct Connect console or
--   the <tt>CreateDirectConnectGateway</tt> action. Default: None</li>
--   <li><a>cpviVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
confirmPrivateVirtualInterface :: Text -> ConfirmPrivateVirtualInterface

-- | Container for the parameters to the ConfirmPrivateVirtualInterface
--   operation.
--   
--   <i>See:</i> <a>confirmPrivateVirtualInterface</a> smart constructor.
data ConfirmPrivateVirtualInterface

-- | ID of the virtual private gateway that will be attached to the virtual
--   interface. A virtual private gateway can be managed via the Amazon
--   Virtual Private Cloud (VPC) console or the <a>EC2 CreateVpnGateway</a>
--   action. Default: None
cpviVirtualGatewayId :: Lens' ConfirmPrivateVirtualInterface (Maybe Text)

-- | ID of the direct connect gateway that will be attached to the virtual
--   interface. A direct connect gateway can be managed via the AWS Direct
--   Connect console or the <tt>CreateDirectConnectGateway</tt> action.
--   Default: None
cpviDirectConnectGatewayId :: Lens' ConfirmPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
cpviVirtualInterfaceId :: Lens' ConfirmPrivateVirtualInterface Text

-- | Creates a value of <a>ConfirmPrivateVirtualInterfaceResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cpvirsVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>cpvirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
confirmPrivateVirtualInterfaceResponse :: Int -> ConfirmPrivateVirtualInterfaceResponse

-- | The response received when ConfirmPrivateVirtualInterface is called.
--   
--   <i>See:</i> <a>confirmPrivateVirtualInterfaceResponse</a> smart
--   constructor.
data ConfirmPrivateVirtualInterfaceResponse

-- | Undocumented member.
cpvirsVirtualInterfaceState :: Lens' ConfirmPrivateVirtualInterfaceResponse (Maybe VirtualInterfaceState)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cpvirsResponseStatus :: Lens' ConfirmPrivateVirtualInterfaceResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterfaceResponse
instance Data.Data.Data Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterfaceResponse
instance GHC.Show.Show Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterfaceResponse
instance GHC.Read.Read Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterfaceResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterfaceResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance Data.Data.Data Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance GHC.Show.Show Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance GHC.Read.Read Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance GHC.Classes.Eq Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterfaceResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterface


-- | Confirm the creation of a hosted connection on an interconnect.
--   
--   Upon creation, the hosted connection is initially in the
--   <a>Ordering</a> state, and will remain in this state until the owner
--   calls ConfirmConnection to confirm creation of the hosted connection.
module Network.AWS.DirectConnect.ConfirmConnection

-- | Creates a value of <a>ConfirmConnection</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccConnectionId</a> - Undocumented member.</li>
--   </ul>
confirmConnection :: Text -> ConfirmConnection

-- | Container for the parameters to the ConfirmConnection operation.
--   
--   <i>See:</i> <a>confirmConnection</a> smart constructor.
data ConfirmConnection

-- | Undocumented member.
ccConnectionId :: Lens' ConfirmConnection Text

-- | Creates a value of <a>ConfirmConnectionResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccrsConnectionState</a> - Undocumented member.</li>
--   <li><a>ccrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
confirmConnectionResponse :: Int -> ConfirmConnectionResponse

-- | The response received when ConfirmConnection is called.
--   
--   <i>See:</i> <a>confirmConnectionResponse</a> smart constructor.
data ConfirmConnectionResponse

-- | Undocumented member.
ccrsConnectionState :: Lens' ConfirmConnectionResponse (Maybe ConnectionState)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ccrsResponseStatus :: Lens' ConfirmConnectionResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnectionResponse
instance Data.Data.Data Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnectionResponse
instance GHC.Show.Show Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnectionResponse
instance GHC.Read.Read Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnectionResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnectionResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance Data.Data.Data Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance GHC.Show.Show Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance GHC.Read.Read Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance GHC.Classes.Eq Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnectionResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnection


-- | Associates a virtual interface with a specified link aggregation group
--   (LAG) or connection. Connectivity to AWS is temporarily interrupted as
--   the virtual interface is being migrated. If the target connection or
--   LAG has an associated virtual interface with a conflicting VLAN number
--   or a conflicting IP address, the operation fails.
--   
--   Virtual interfaces associated with a hosted connection cannot be
--   associated with a LAG; hosted connections must be migrated along with
--   their virtual interfaces using <tt>AssociateHostedConnection</tt> .
--   
--   In order to reassociate a virtual interface to a new connection or
--   LAG, the requester must own either the virtual interface itself or the
--   connection to which the virtual interface is currently associated.
--   Additionally, the requester must own the connection or LAG to which
--   the virtual interface will be newly associated.
module Network.AWS.DirectConnect.AssociateVirtualInterface

-- | Creates a value of <a>AssociateVirtualInterface</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aviVirtualInterfaceId</a> - The ID of the virtual interface.
--   Example: dxvif-123dfg56 Default: None</li>
--   <li><a>aviConnectionId</a> - The ID of the LAG or connection with
--   which to associate the virtual interface. Example: dxlag-abc123 or
--   dxcon-abc123 Default: None</li>
--   </ul>
associateVirtualInterface :: Text -> Text -> AssociateVirtualInterface

-- | Container for the parameters to the AssociateVirtualInterface
--   operation.
--   
--   <i>See:</i> <a>associateVirtualInterface</a> smart constructor.
data AssociateVirtualInterface

-- | The ID of the virtual interface. Example: dxvif-123dfg56 Default: None
aviVirtualInterfaceId :: Lens' AssociateVirtualInterface Text

-- | The ID of the LAG or connection with which to associate the virtual
--   interface. Example: dxlag-abc123 or dxcon-abc123 Default: None
aviConnectionId :: Lens' AssociateVirtualInterface Text

-- | Creates a value of <a>VirtualInterface</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viBgpPeers</a> - Undocumented member.</li>
--   <li><a>viVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>viRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>viCustomerAddress</a> - Undocumented member.</li>
--   <li><a>viVlan</a> - Undocumented member.</li>
--   <li><a>viLocation</a> - Undocumented member.</li>
--   <li><a>viAmazonAddress</a> - Undocumented member.</li>
--   <li><a>viAddressFamily</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>viConnectionId</a> - Undocumented member.</li>
--   <li><a>viDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>viAmazonSideASN</a> - The autonomous system number (ASN) for
--   the Amazon side of the connection.</li>
--   <li><a>viVirtualInterfaceType</a> - Undocumented member.</li>
--   <li><a>viAsn</a> - Undocumented member.</li>
--   <li><a>viAuthKey</a> - Undocumented member.</li>
--   <li><a>viCustomerRouterConfig</a> - Information for generating the
--   customer router configuration.</li>
--   <li><a>viOwnerAccount</a> - The AWS account that will own the new
--   virtual interface.</li>
--   <li><a>viVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
virtualInterface :: VirtualInterface

-- | A virtual interface (VLAN) transmits the traffic between the AWS
--   Direct Connect location and the customer.
--   
--   <i>See:</i> <a>virtualInterface</a> smart constructor.
data VirtualInterface

-- | Undocumented member.
viBgpPeers :: Lens' VirtualInterface [BGPPeer]

-- | Undocumented member.
viVirtualGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viRouteFilterPrefixes :: Lens' VirtualInterface [RouteFilterPrefix]

-- | Undocumented member.
viCustomerAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVlan :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viLocation :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAmazonAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAddressFamily :: Lens' VirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
viVirtualInterfaceState :: Lens' VirtualInterface (Maybe VirtualInterfaceState)

-- | Undocumented member.
viConnectionId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viDirectConnectGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | The autonomous system number (ASN) for the Amazon side of the
--   connection.
viAmazonSideASN :: Lens' VirtualInterface (Maybe Integer)

-- | Undocumented member.
viVirtualInterfaceType :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAsn :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viAuthKey :: Lens' VirtualInterface (Maybe Text)

-- | Information for generating the customer router configuration.
viCustomerRouterConfig :: Lens' VirtualInterface (Maybe Text)

-- | The AWS account that will own the new virtual interface.
viOwnerAccount :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceName :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceId :: Lens' VirtualInterface (Maybe Text)
instance GHC.Generics.Generic Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance Data.Data.Data Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance GHC.Show.Show Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance GHC.Read.Read Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance GHC.Classes.Eq Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.AssociateVirtualInterface.AssociateVirtualInterface


-- | Associates a hosted connection and its virtual interfaces with a link
--   aggregation group (LAG) or interconnect. If the target interconnect or
--   LAG has an existing hosted connection with a conflicting VLAN number
--   or IP address, the operation fails. This action temporarily interrupts
--   the hosted connection's connectivity to AWS as it is being migrated.
module Network.AWS.DirectConnect.AssociateHostedConnection

-- | Creates a value of <a>AssociateHostedConnection</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assConnectionId</a> - The ID of the hosted connection. Example:
--   dxcon-abc123 Default: None</li>
--   <li><a>assParentConnectionId</a> - The ID of the interconnect or the
--   LAG. Example: dxcon-abc123 or dxlag-abc123 Default: None</li>
--   </ul>
associateHostedConnection :: Text -> Text -> AssociateHostedConnection

-- | Container for the parameters to the AssociateHostedConnection
--   operation.
--   
--   <i>See:</i> <a>associateHostedConnection</a> smart constructor.
data AssociateHostedConnection

-- | The ID of the hosted connection. Example: dxcon-abc123 Default: None
assConnectionId :: Lens' AssociateHostedConnection Text

-- | The ID of the interconnect or the LAG. Example: dxcon-abc123 or
--   dxlag-abc123 Default: None
assParentConnectionId :: Lens' AssociateHostedConnection Text

-- | Creates a value of <a>Connection</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cLagId</a> - Undocumented member.</li>
--   <li><a>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   <tt>DescribeLoa</tt> for this connection.</li>
--   <li><a>cPartnerName</a> - The name of the AWS Direct Connect service
--   provider associated with the connection.</li>
--   <li><a>cConnectionName</a> - Undocumented member.</li>
--   <li><a>cBandwidth</a> - Bandwidth of the connection. Example: 1Gbps
--   (for regular connections), or 500Mbps (for hosted connections)
--   Default: None</li>
--   <li><a>cOwnerAccount</a> - The AWS account that will own the new
--   connection.</li>
--   <li><a>cRegion</a> - Undocumented member.</li>
--   <li><a>cConnectionState</a> - Undocumented member.</li>
--   </ul>
connection :: Connection

-- | A connection represents the physical network connection between the
--   AWS Direct Connect location and the customer.
--   
--   <i>See:</i> <a>connection</a> smart constructor.
data Connection

-- | Undocumented member.
cLagId :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cVlan :: Lens' Connection (Maybe Int)

-- | Undocumented member.
cLocation :: Lens' Connection (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
cAwsDevice :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionId :: Lens' Connection (Maybe Text)

-- | The time of the most recent call to <tt>DescribeLoa</tt> for this
--   connection.
cLoaIssueTime :: Lens' Connection (Maybe UTCTime)

-- | The name of the AWS Direct Connect service provider associated with
--   the connection.
cPartnerName :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionName :: Lens' Connection (Maybe Text)

-- | Bandwidth of the connection. Example: 1Gbps (for regular connections),
--   or 500Mbps (for hosted connections) Default: None
cBandwidth :: Lens' Connection (Maybe Text)

-- | The AWS account that will own the new connection.
cOwnerAccount :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cRegion :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionState :: Lens' Connection (Maybe ConnectionState)
instance GHC.Generics.Generic Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance Data.Data.Data Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance GHC.Show.Show Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance GHC.Read.Read Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance GHC.Classes.Eq Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.AssociateHostedConnection.AssociateHostedConnection


-- | Associates an existing connection with a link aggregation group (LAG).
--   The connection is interrupted and re-established as a member of the
--   LAG (connectivity to AWS will be interrupted). The connection must be
--   hosted on the same AWS Direct Connect endpoint as the LAG, and its
--   bandwidth must match the bandwidth for the LAG. You can reassociate a
--   connection that's currently associated with a different LAG; however,
--   if removing the connection will cause the original LAG to fall below
--   its setting for minimum number of operational connections, the request
--   fails.
--   
--   Any virtual interfaces that are directly associated with the
--   connection are automatically re-associated with the LAG. If the
--   connection was originally associated with a different LAG, the virtual
--   interfaces remain associated with the original LAG.
--   
--   For interconnects, any hosted connections are automatically
--   re-associated with the LAG. If the interconnect was originally
--   associated with a different LAG, the hosted connections remain
--   associated with the original LAG.
module Network.AWS.DirectConnect.AssociateConnectionWithLag

-- | Creates a value of <a>AssociateConnectionWithLag</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acwlConnectionId</a> - The ID of the connection. Example:
--   dxcon-abc123 Default: None</li>
--   <li><a>acwlLagId</a> - The ID of the LAG with which to associate the
--   connection. Example: dxlag-abc123 Default: None</li>
--   </ul>
associateConnectionWithLag :: Text -> Text -> AssociateConnectionWithLag

-- | Container for the parameters to the AssociateConnectionWithLag
--   operation.
--   
--   <i>See:</i> <a>associateConnectionWithLag</a> smart constructor.
data AssociateConnectionWithLag

-- | The ID of the connection. Example: dxcon-abc123 Default: None
acwlConnectionId :: Lens' AssociateConnectionWithLag Text

-- | The ID of the LAG with which to associate the connection. Example:
--   dxlag-abc123 Default: None
acwlLagId :: Lens' AssociateConnectionWithLag Text

-- | Creates a value of <a>Connection</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cLagId</a> - Undocumented member.</li>
--   <li><a>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   <tt>DescribeLoa</tt> for this connection.</li>
--   <li><a>cPartnerName</a> - The name of the AWS Direct Connect service
--   provider associated with the connection.</li>
--   <li><a>cConnectionName</a> - Undocumented member.</li>
--   <li><a>cBandwidth</a> - Bandwidth of the connection. Example: 1Gbps
--   (for regular connections), or 500Mbps (for hosted connections)
--   Default: None</li>
--   <li><a>cOwnerAccount</a> - The AWS account that will own the new
--   connection.</li>
--   <li><a>cRegion</a> - Undocumented member.</li>
--   <li><a>cConnectionState</a> - Undocumented member.</li>
--   </ul>
connection :: Connection

-- | A connection represents the physical network connection between the
--   AWS Direct Connect location and the customer.
--   
--   <i>See:</i> <a>connection</a> smart constructor.
data Connection

-- | Undocumented member.
cLagId :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cVlan :: Lens' Connection (Maybe Int)

-- | Undocumented member.
cLocation :: Lens' Connection (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
cAwsDevice :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionId :: Lens' Connection (Maybe Text)

-- | The time of the most recent call to <tt>DescribeLoa</tt> for this
--   connection.
cLoaIssueTime :: Lens' Connection (Maybe UTCTime)

-- | The name of the AWS Direct Connect service provider associated with
--   the connection.
cPartnerName :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionName :: Lens' Connection (Maybe Text)

-- | Bandwidth of the connection. Example: 1Gbps (for regular connections),
--   or 500Mbps (for hosted connections) Default: None
cBandwidth :: Lens' Connection (Maybe Text)

-- | The AWS account that will own the new connection.
cOwnerAccount :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cRegion :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionState :: Lens' Connection (Maybe ConnectionState)
instance GHC.Generics.Generic Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance Data.Data.Data Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance GHC.Show.Show Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance GHC.Read.Read Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance GHC.Classes.Eq Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.AssociateConnectionWithLag.AssociateConnectionWithLag


-- | Provisions a public virtual interface to be owned by a different
--   customer.
--   
--   The owner of a connection calls this function to provision a public
--   virtual interface which will be owned by another AWS customer.
--   
--   Virtual interfaces created using this function must be confirmed by
--   the virtual interface owner by calling ConfirmPublicVirtualInterface.
--   Until this step has been completed, the virtual interface will be in
--   <tt>Confirming</tt> state, and will not be available for handling
--   traffic.
--   
--   When creating an IPv6 public virtual interface (addressFamily is
--   <tt>ipv6</tt>), the customer and amazon address fields should be left
--   blank to use auto-assigned IPv6 space. Custom IPv6 Addresses are
--   currently not supported.
module Network.AWS.DirectConnect.AllocatePublicVirtualInterface

-- | Creates a value of <a>AllocatePublicVirtualInterface</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aConnectionId</a> - The connection ID on which the public
--   virtual interface is provisioned. Default: None</li>
--   <li><a>aOwnerAccount</a> - The AWS account that will own the new
--   public virtual interface. Default: None</li>
--   <li><a>aNewPublicVirtualInterfaceAllocation</a> - Detailed information
--   for the public virtual interface to be provisioned. Default: None</li>
--   </ul>
allocatePublicVirtualInterface :: Text -> Text -> NewPublicVirtualInterfaceAllocation -> AllocatePublicVirtualInterface

-- | Container for the parameters to the AllocatePublicVirtualInterface
--   operation.
--   
--   <i>See:</i> <a>allocatePublicVirtualInterface</a> smart constructor.
data AllocatePublicVirtualInterface

-- | The connection ID on which the public virtual interface is
--   provisioned. Default: None
aConnectionId :: Lens' AllocatePublicVirtualInterface Text

-- | The AWS account that will own the new public virtual interface.
--   Default: None
aOwnerAccount :: Lens' AllocatePublicVirtualInterface Text

-- | Detailed information for the public virtual interface to be
--   provisioned. Default: None
aNewPublicVirtualInterfaceAllocation :: Lens' AllocatePublicVirtualInterface NewPublicVirtualInterfaceAllocation

-- | Creates a value of <a>VirtualInterface</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viBgpPeers</a> - Undocumented member.</li>
--   <li><a>viVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>viRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>viCustomerAddress</a> - Undocumented member.</li>
--   <li><a>viVlan</a> - Undocumented member.</li>
--   <li><a>viLocation</a> - Undocumented member.</li>
--   <li><a>viAmazonAddress</a> - Undocumented member.</li>
--   <li><a>viAddressFamily</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>viConnectionId</a> - Undocumented member.</li>
--   <li><a>viDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>viAmazonSideASN</a> - The autonomous system number (ASN) for
--   the Amazon side of the connection.</li>
--   <li><a>viVirtualInterfaceType</a> - Undocumented member.</li>
--   <li><a>viAsn</a> - Undocumented member.</li>
--   <li><a>viAuthKey</a> - Undocumented member.</li>
--   <li><a>viCustomerRouterConfig</a> - Information for generating the
--   customer router configuration.</li>
--   <li><a>viOwnerAccount</a> - The AWS account that will own the new
--   virtual interface.</li>
--   <li><a>viVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
virtualInterface :: VirtualInterface

-- | A virtual interface (VLAN) transmits the traffic between the AWS
--   Direct Connect location and the customer.
--   
--   <i>See:</i> <a>virtualInterface</a> smart constructor.
data VirtualInterface

-- | Undocumented member.
viBgpPeers :: Lens' VirtualInterface [BGPPeer]

-- | Undocumented member.
viVirtualGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viRouteFilterPrefixes :: Lens' VirtualInterface [RouteFilterPrefix]

-- | Undocumented member.
viCustomerAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVlan :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viLocation :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAmazonAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAddressFamily :: Lens' VirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
viVirtualInterfaceState :: Lens' VirtualInterface (Maybe VirtualInterfaceState)

-- | Undocumented member.
viConnectionId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viDirectConnectGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | The autonomous system number (ASN) for the Amazon side of the
--   connection.
viAmazonSideASN :: Lens' VirtualInterface (Maybe Integer)

-- | Undocumented member.
viVirtualInterfaceType :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAsn :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viAuthKey :: Lens' VirtualInterface (Maybe Text)

-- | Information for generating the customer router configuration.
viCustomerRouterConfig :: Lens' VirtualInterface (Maybe Text)

-- | The AWS account that will own the new virtual interface.
viOwnerAccount :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceName :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceId :: Lens' VirtualInterface (Maybe Text)
instance GHC.Generics.Generic Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance Data.Data.Data Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance GHC.Show.Show Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance GHC.Read.Read Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance GHC.Classes.Eq Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.AllocatePublicVirtualInterface.AllocatePublicVirtualInterface


-- | Provisions a private virtual interface to be owned by another AWS
--   customer.
--   
--   Virtual interfaces created using this action must be confirmed by the
--   virtual interface owner by using the
--   <tt>ConfirmPrivateVirtualInterface</tt> action. Until then, the
--   virtual interface will be in <tt>Confirming</tt> state, and will not
--   be available for handling traffic.
module Network.AWS.DirectConnect.AllocatePrivateVirtualInterface

-- | Creates a value of <a>AllocatePrivateVirtualInterface</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apviConnectionId</a> - The connection ID on which the private
--   virtual interface is provisioned. Default: None</li>
--   <li><a>apviOwnerAccount</a> - The AWS account that will own the new
--   private virtual interface. Default: None</li>
--   <li><a>apviNewPrivateVirtualInterfaceAllocation</a> - Detailed
--   information for the private virtual interface to be provisioned.
--   Default: None</li>
--   </ul>
allocatePrivateVirtualInterface :: Text -> Text -> NewPrivateVirtualInterfaceAllocation -> AllocatePrivateVirtualInterface

-- | Container for the parameters to the AllocatePrivateVirtualInterface
--   operation.
--   
--   <i>See:</i> <a>allocatePrivateVirtualInterface</a> smart constructor.
data AllocatePrivateVirtualInterface

-- | The connection ID on which the private virtual interface is
--   provisioned. Default: None
apviConnectionId :: Lens' AllocatePrivateVirtualInterface Text

-- | The AWS account that will own the new private virtual interface.
--   Default: None
apviOwnerAccount :: Lens' AllocatePrivateVirtualInterface Text

-- | Detailed information for the private virtual interface to be
--   provisioned. Default: None
apviNewPrivateVirtualInterfaceAllocation :: Lens' AllocatePrivateVirtualInterface NewPrivateVirtualInterfaceAllocation

-- | Creates a value of <a>VirtualInterface</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viBgpPeers</a> - Undocumented member.</li>
--   <li><a>viVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>viRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>viCustomerAddress</a> - Undocumented member.</li>
--   <li><a>viVlan</a> - Undocumented member.</li>
--   <li><a>viLocation</a> - Undocumented member.</li>
--   <li><a>viAmazonAddress</a> - Undocumented member.</li>
--   <li><a>viAddressFamily</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>viConnectionId</a> - Undocumented member.</li>
--   <li><a>viDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>viAmazonSideASN</a> - The autonomous system number (ASN) for
--   the Amazon side of the connection.</li>
--   <li><a>viVirtualInterfaceType</a> - Undocumented member.</li>
--   <li><a>viAsn</a> - Undocumented member.</li>
--   <li><a>viAuthKey</a> - Undocumented member.</li>
--   <li><a>viCustomerRouterConfig</a> - Information for generating the
--   customer router configuration.</li>
--   <li><a>viOwnerAccount</a> - The AWS account that will own the new
--   virtual interface.</li>
--   <li><a>viVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
virtualInterface :: VirtualInterface

-- | A virtual interface (VLAN) transmits the traffic between the AWS
--   Direct Connect location and the customer.
--   
--   <i>See:</i> <a>virtualInterface</a> smart constructor.
data VirtualInterface

-- | Undocumented member.
viBgpPeers :: Lens' VirtualInterface [BGPPeer]

-- | Undocumented member.
viVirtualGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viRouteFilterPrefixes :: Lens' VirtualInterface [RouteFilterPrefix]

-- | Undocumented member.
viCustomerAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVlan :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viLocation :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAmazonAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAddressFamily :: Lens' VirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
viVirtualInterfaceState :: Lens' VirtualInterface (Maybe VirtualInterfaceState)

-- | Undocumented member.
viConnectionId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viDirectConnectGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | The autonomous system number (ASN) for the Amazon side of the
--   connection.
viAmazonSideASN :: Lens' VirtualInterface (Maybe Integer)

-- | Undocumented member.
viVirtualInterfaceType :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAsn :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viAuthKey :: Lens' VirtualInterface (Maybe Text)

-- | Information for generating the customer router configuration.
viCustomerRouterConfig :: Lens' VirtualInterface (Maybe Text)

-- | The AWS account that will own the new virtual interface.
viOwnerAccount :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceName :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceId :: Lens' VirtualInterface (Maybe Text)
instance GHC.Generics.Generic Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance Data.Data.Data Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance GHC.Show.Show Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance GHC.Read.Read Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance GHC.Classes.Eq Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.AllocatePrivateVirtualInterface.AllocatePrivateVirtualInterface


-- | Creates a hosted connection on an interconnect or a link aggregation
--   group (LAG).
--   
--   Allocates a VLAN number and a specified amount of bandwidth for use by
--   a hosted connection on the given interconnect or LAG.
module Network.AWS.DirectConnect.AllocateHostedConnection

-- | Creates a value of <a>AllocateHostedConnection</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ahcConnectionId</a> - The ID of the interconnect or LAG on
--   which the connection will be provisioned. Example: dxcon-456abc78 or
--   dxlag-abc123 Default: None</li>
--   <li><a>ahcOwnerAccount</a> - The numeric account ID of the customer
--   for whom the connection will be provisioned. Example: 123443215678
--   Default: None</li>
--   <li><a>ahcBandwidth</a> - The bandwidth of the connection. Example:
--   <tt>500Mbps</tt> Default: None Values: 50Mbps, 100Mbps, 200Mbps,
--   300Mbps, 400Mbps, or 500Mbps</li>
--   <li><a>ahcConnectionName</a> - The name of the provisioned connection.
--   Example: "<tt>500M Connection to AWS</tt> " Default: None</li>
--   <li><a>ahcVlan</a> - The dedicated VLAN provisioned to the hosted
--   connection. Example: 101 Default: None</li>
--   </ul>
allocateHostedConnection :: Text -> Text -> Text -> Text -> Int -> AllocateHostedConnection

-- | Container for the parameters to theHostedConnection operation.
--   
--   <i>See:</i> <a>allocateHostedConnection</a> smart constructor.
data AllocateHostedConnection

-- | The ID of the interconnect or LAG on which the connection will be
--   provisioned. Example: dxcon-456abc78 or dxlag-abc123 Default: None
ahcConnectionId :: Lens' AllocateHostedConnection Text

-- | The numeric account ID of the customer for whom the connection will be
--   provisioned. Example: 123443215678 Default: None
ahcOwnerAccount :: Lens' AllocateHostedConnection Text

-- | The bandwidth of the connection. Example: <tt>500Mbps</tt> Default:
--   None Values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, or 500Mbps
ahcBandwidth :: Lens' AllocateHostedConnection Text

-- | The name of the provisioned connection. Example: "<tt>500M Connection
--   to AWS</tt> " Default: None
ahcConnectionName :: Lens' AllocateHostedConnection Text

-- | The dedicated VLAN provisioned to the hosted connection. Example: 101
--   Default: None
ahcVlan :: Lens' AllocateHostedConnection Int

-- | Creates a value of <a>Connection</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cLagId</a> - Undocumented member.</li>
--   <li><a>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   <tt>DescribeLoa</tt> for this connection.</li>
--   <li><a>cPartnerName</a> - The name of the AWS Direct Connect service
--   provider associated with the connection.</li>
--   <li><a>cConnectionName</a> - Undocumented member.</li>
--   <li><a>cBandwidth</a> - Bandwidth of the connection. Example: 1Gbps
--   (for regular connections), or 500Mbps (for hosted connections)
--   Default: None</li>
--   <li><a>cOwnerAccount</a> - The AWS account that will own the new
--   connection.</li>
--   <li><a>cRegion</a> - Undocumented member.</li>
--   <li><a>cConnectionState</a> - Undocumented member.</li>
--   </ul>
connection :: Connection

-- | A connection represents the physical network connection between the
--   AWS Direct Connect location and the customer.
--   
--   <i>See:</i> <a>connection</a> smart constructor.
data Connection

-- | Undocumented member.
cLagId :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cVlan :: Lens' Connection (Maybe Int)

-- | Undocumented member.
cLocation :: Lens' Connection (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
cAwsDevice :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionId :: Lens' Connection (Maybe Text)

-- | The time of the most recent call to <tt>DescribeLoa</tt> for this
--   connection.
cLoaIssueTime :: Lens' Connection (Maybe UTCTime)

-- | The name of the AWS Direct Connect service provider associated with
--   the connection.
cPartnerName :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionName :: Lens' Connection (Maybe Text)

-- | Bandwidth of the connection. Example: 1Gbps (for regular connections),
--   or 500Mbps (for hosted connections) Default: None
cBandwidth :: Lens' Connection (Maybe Text)

-- | The AWS account that will own the new connection.
cOwnerAccount :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cRegion :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionState :: Lens' Connection (Maybe ConnectionState)
instance GHC.Generics.Generic Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance Data.Data.Data Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance GHC.Show.Show Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance GHC.Read.Read Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance GHC.Classes.Eq Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.AllocateHostedConnection.AllocateHostedConnection


-- | Removes one or more tags from the specified Direct Connect resource.
module Network.AWS.DirectConnect.UntagResource

-- | Creates a value of <a>UntagResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urResourceARN</a> - The Amazon Resource Name (ARN) of the
--   Direct Connect resource.</li>
--   <li><a>urTagKeys</a> - The list of tag keys to remove.</li>
--   </ul>
untagResource :: Text -> UntagResource

-- | Container for the parameters to the UntagResource operation.
--   
--   <i>See:</i> <a>untagResource</a> smart constructor.
data UntagResource

-- | The Amazon Resource Name (ARN) of the Direct Connect resource.
urResourceARN :: Lens' UntagResource Text

-- | The list of tag keys to remove.
urTagKeys :: Lens' UntagResource [Text]

-- | Creates a value of <a>UntagResourceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
untagResourceResponse :: Int -> UntagResourceResponse

-- | The response received when UntagResource is called.
--   
--   <i>See:</i> <a>untagResourceResponse</a> smart constructor.
data UntagResourceResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
urrsResponseStatus :: Lens' UntagResourceResponse Int
instance GHC.Generics.Generic Network.AWS.DirectConnect.UntagResource.UntagResourceResponse
instance Data.Data.Data Network.AWS.DirectConnect.UntagResource.UntagResourceResponse
instance GHC.Show.Show Network.AWS.DirectConnect.UntagResource.UntagResourceResponse
instance GHC.Read.Read Network.AWS.DirectConnect.UntagResource.UntagResourceResponse
instance GHC.Classes.Eq Network.AWS.DirectConnect.UntagResource.UntagResourceResponse
instance GHC.Generics.Generic Network.AWS.DirectConnect.UntagResource.UntagResource
instance Data.Data.Data Network.AWS.DirectConnect.UntagResource.UntagResource
instance GHC.Show.Show Network.AWS.DirectConnect.UntagResource.UntagResource
instance GHC.Read.Read Network.AWS.DirectConnect.UntagResource.UntagResource
instance GHC.Classes.Eq Network.AWS.DirectConnect.UntagResource.UntagResource
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.UntagResource.UntagResource
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.UntagResource.UntagResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.UntagResource.UntagResource
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.UntagResource.UntagResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.UntagResource.UntagResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.UntagResource.UntagResource
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.UntagResource.UntagResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.UntagResource.UntagResource


-- | Updates the attributes of a link aggregation group (LAG).
--   
--   You can update the following attributes:
--   
--   <ul>
--   <li>The name of the LAG.</li>
--   <li>The value for the minimum number of connections that must be
--   operational for the LAG itself to be operational.</li>
--   </ul>
--   
--   When you create a LAG, the default value for the minimum number of
--   operational connections is zero (0). If you update this value, and the
--   number of operational connections falls below the specified value, the
--   LAG will automatically go down to avoid overutilization of the
--   remaining connections. Adjusting this value should be done with care
--   as it could force the LAG down if the value is set higher than the
--   current number of operational connections.
module Network.AWS.DirectConnect.UpdateLag

-- | Creates a value of <a>UpdateLag</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ulMinimumLinks</a> - The minimum number of physical connections
--   that must be operational for the LAG itself to be operational.
--   Default: None</li>
--   <li><a>ulLagName</a> - The name for the LAG. Example: "<tt>3x10G LAG
--   to AWS</tt> " Default: None</li>
--   <li><a>ulLagId</a> - The ID of the LAG to update. Example:
--   dxlag-abc123 Default: None</li>
--   </ul>
updateLag :: Text -> UpdateLag

-- | Container for the parameters to the UpdateLag operation.
--   
--   <i>See:</i> <a>updateLag</a> smart constructor.
data UpdateLag

-- | The minimum number of physical connections that must be operational
--   for the LAG itself to be operational. Default: None
ulMinimumLinks :: Lens' UpdateLag (Maybe Int)

-- | The name for the LAG. Example: "<tt>3x10G LAG to AWS</tt> " Default:
--   None
ulLagName :: Lens' UpdateLag (Maybe Text)

-- | The ID of the LAG to update. Example: dxlag-abc123 Default: None
ulLagId :: Lens' UpdateLag Text

-- | Creates a value of <a>Lag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lagLagId</a> - Undocumented member.</li>
--   <li><a>lagConnectionsBandwidth</a> - The individual bandwidth of the
--   physical connections bundled by the LAG. Available values: 1Gbps,
--   10Gbps</li>
--   <li><a>lagMinimumLinks</a> - The minimum number of physical
--   connections that must be operational for the LAG itself to be
--   operational. If the number of operational connections drops below this
--   setting, the LAG state changes to <tt>down</tt> . This value can help
--   to ensure that a LAG is not overutilized if a significant number of
--   its bundled connections go down.</li>
--   <li><a>lagLagName</a> - The name of the LAG.</li>
--   <li><a>lagLocation</a> - Undocumented member.</li>
--   <li><a>lagConnections</a> - A list of connections bundled by this
--   LAG.</li>
--   <li><a>lagAwsDevice</a> - The AWS Direct Connection endpoint that
--   hosts the LAG.</li>
--   <li><a>lagAllowsHostedConnections</a> - Indicates whether the LAG can
--   host other connections.</li>
--   <li><a>lagNumberOfConnections</a> - The number of physical connections
--   bundled by the LAG, up to a maximum of 10.</li>
--   <li><a>lagLagState</a> - Undocumented member.</li>
--   <li><a>lagOwnerAccount</a> - The owner of the LAG.</li>
--   <li><a>lagRegion</a> - Undocumented member.</li>
--   </ul>
lag :: Lag

-- | Describes a link aggregation group (LAG). A LAG is a connection that
--   uses the Link Aggregation Control Protocol (LACP) to logically
--   aggregate a bundle of physical connections. Like an interconnect, it
--   can host other connections. All connections in a LAG must terminate on
--   the same physical AWS Direct Connect endpoint, and must be the same
--   bandwidth.
--   
--   <i>See:</i> <a>lag</a> smart constructor.
data Lag

-- | Undocumented member.
lagLagId :: Lens' Lag (Maybe Text)

-- | The individual bandwidth of the physical connections bundled by the
--   LAG. Available values: 1Gbps, 10Gbps
lagConnectionsBandwidth :: Lens' Lag (Maybe Text)

-- | The minimum number of physical connections that must be operational
--   for the LAG itself to be operational. If the number of operational
--   connections drops below this setting, the LAG state changes to
--   <tt>down</tt> . This value can help to ensure that a LAG is not
--   overutilized if a significant number of its bundled connections go
--   down.
lagMinimumLinks :: Lens' Lag (Maybe Int)

-- | The name of the LAG.
lagLagName :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagLocation :: Lens' Lag (Maybe Text)

-- | A list of connections bundled by this LAG.
lagConnections :: Lens' Lag [Connection]

-- | The AWS Direct Connection endpoint that hosts the LAG.
lagAwsDevice :: Lens' Lag (Maybe Text)

-- | Indicates whether the LAG can host other connections.
lagAllowsHostedConnections :: Lens' Lag (Maybe Bool)

-- | The number of physical connections bundled by the LAG, up to a maximum
--   of 10.
lagNumberOfConnections :: Lens' Lag (Maybe Int)

-- | Undocumented member.
lagLagState :: Lens' Lag (Maybe LagState)

-- | The owner of the LAG.
lagOwnerAccount :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagRegion :: Lens' Lag (Maybe Text)
instance GHC.Generics.Generic Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance Data.Data.Data Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance GHC.Show.Show Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance GHC.Read.Read Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance GHC.Classes.Eq Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.UpdateLag.UpdateLag
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.UpdateLag.UpdateLag


module Network.AWS.DirectConnect.Waiters


-- | AWS Direct Connect links your internal network to an AWS Direct
--   Connect location over a standard 1 gigabit or 10 gigabit Ethernet
--   fiber-optic cable. One end of the cable is connected to your router,
--   the other to an AWS Direct Connect router. With this connection in
--   place, you can create virtual interfaces directly to the AWS cloud
--   (for example, to Amazon Elastic Compute Cloud (Amazon EC2) and Amazon
--   Simple Storage Service (Amazon S3)) and to Amazon Virtual Private
--   Cloud (Amazon VPC), bypassing Internet service providers in your
--   network path. An AWS Direct Connect location provides access to AWS in
--   the region it is associated with, as well as access to other US
--   regions. For example, you can provision a single connection to any AWS
--   Direct Connect location in the US and use it to access public AWS
--   services in all US Regions and AWS GovCloud (US).
module Network.AWS.DirectConnect

-- | API version <tt>2012-10-25</tt> of the Amazon Direct Connect SDK
--   configuration.
directConnect :: Service

-- | The API was called with invalid parameters. The error message will
--   contain additional details about the cause.
_DirectConnectClientException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A tag key was specified more than once.
_DuplicateTagKeysException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the limit on the number of tags that can be assigned
--   to a Direct Connect resource.
_TooManyTagsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A server-side error occurred during the API call. The error message
--   will contain additional details about the cause.
_DirectConnectServerException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates the address family for the BGP peer.
--   
--   <ul>
--   <li><b>ipv4</b> : IPv4 address family</li>
--   <li><b>ipv6</b> : IPv6 address family</li>
--   </ul>
data AddressFamily
IPV4 :: AddressFamily
IPV6 :: AddressFamily

-- | The state of the BGP peer.
--   
--   <ul>
--   <li><b>Verifying</b> : The BGP peering addresses or ASN require
--   validation before the BGP peer can be created. This state only applies
--   to BGP peers on a public virtual interface.</li>
--   <li><b>Pending</b> : The BGP peer has been created, and is in this
--   state until it is ready to be established.</li>
--   <li><b>Available</b> : The BGP peer can be established.</li>
--   <li><b>Deleting</b> : The BGP peer is in the process of being
--   deleted.</li>
--   <li><b>Deleted</b> : The BGP peer has been deleted and cannot be
--   established.</li>
--   </ul>
data BGPPeerState
Available :: BGPPeerState
Deleted :: BGPPeerState
Deleting :: BGPPeerState
Pending :: BGPPeerState
Verifying :: BGPPeerState

-- | The Up/Down state of the BGP peer.
--   
--   <ul>
--   <li><b>Up</b> : The BGP peer is established.</li>
--   <li><b>Down</b> : The BGP peer is down.</li>
--   </ul>
data BGPStatus
Down :: BGPStatus
UP :: BGPStatus

-- | State of the connection.
--   
--   <ul>
--   <li><b>Ordering</b> : The initial state of a hosted connection
--   provisioned on an interconnect. The connection stays in the ordering
--   state until the owner of the hosted connection confirms or declines
--   the connection order.</li>
--   <li><b>Requested</b> : The initial state of a standard connection. The
--   connection stays in the requested state until the Letter of
--   Authorization (LOA) is sent to the customer.</li>
--   <li><b>Pending</b> : The connection has been approved, and is being
--   initialized.</li>
--   <li><b>Available</b> : The network link is up, and the connection is
--   ready for use.</li>
--   <li><b>Down</b> : The network link is down.</li>
--   <li><b>Deleting</b> : The connection is in the process of being
--   deleted.</li>
--   <li><b>Deleted</b> : The connection has been deleted.</li>
--   <li><b>Rejected</b> : A hosted connection in the <a>Ordering</a> state
--   will enter the <tt>Rejected</tt> state if it is deleted by the end
--   customer.</li>
--   </ul>
data ConnectionState
CSAvailable :: ConnectionState
CSDeleted :: ConnectionState
CSDeleting :: ConnectionState
CSDown :: ConnectionState
CSOrdering :: ConnectionState
CSPending :: ConnectionState
CSRejected :: ConnectionState
CSRequested :: ConnectionState

-- | State of the direct connect gateway association.
--   
--   <ul>
--   <li><b>Associating</b> : The initial state after calling
--   <tt>CreateDirectConnectGatewayAssociation</tt> .</li>
--   <li><b>Associated</b> : The direct connect gateway and virtual private
--   gateway are successfully associated and ready to pass traffic.</li>
--   <li><b>Disassociating</b> : The initial state after calling
--   <tt>DeleteDirectConnectGatewayAssociation</tt> .</li>
--   <li><b>Disassociated</b> : The virtual private gateway is successfully
--   disassociated from the direct connect gateway. Traffic flow between
--   the direct connect gateway and virtual private gateway stops.</li>
--   </ul>
data DirectConnectGatewayAssociationState
Associated :: DirectConnectGatewayAssociationState
Associating :: DirectConnectGatewayAssociationState
Disassociated :: DirectConnectGatewayAssociationState
Disassociating :: DirectConnectGatewayAssociationState

-- | State of the direct connect gateway attachment.
--   
--   <ul>
--   <li><b>Attaching</b> : The initial state after a virtual interface is
--   created using the direct connect gateway.</li>
--   <li><b>Attached</b> : The direct connect gateway and virtual interface
--   are successfully attached and ready to pass traffic.</li>
--   <li><b>Detaching</b> : The initial state after calling
--   <tt>DeleteVirtualInterface</tt> on a virtual interface that is
--   attached to a direct connect gateway.</li>
--   <li><b>Detached</b> : The virtual interface is successfully detached
--   from the direct connect gateway. Traffic flow between the direct
--   connect gateway and virtual interface stops.</li>
--   </ul>
data DirectConnectGatewayAttachmentState
Attached :: DirectConnectGatewayAttachmentState
Attaching :: DirectConnectGatewayAttachmentState
Detached :: DirectConnectGatewayAttachmentState
Detaching :: DirectConnectGatewayAttachmentState

-- | State of the direct connect gateway.
--   
--   <ul>
--   <li><b>Pending</b> : The initial state after calling
--   <tt>CreateDirectConnectGateway</tt> .</li>
--   <li><b>Available</b> : The direct connect gateway is ready for
--   use.</li>
--   <li><b>Deleting</b> : The initial state after calling
--   <tt>DeleteDirectConnectGateway</tt> .</li>
--   <li><b>Deleted</b> : The direct connect gateway is deleted and cannot
--   pass traffic.</li>
--   </ul>
data DirectConnectGatewayState
DCGSAvailable :: DirectConnectGatewayState
DCGSDeleted :: DirectConnectGatewayState
DCGSDeleting :: DirectConnectGatewayState
DCGSPending :: DirectConnectGatewayState

-- | State of the interconnect.
--   
--   <ul>
--   <li><b>Requested</b> : The initial state of an interconnect. The
--   interconnect stays in the requested state until the Letter of
--   Authorization (LOA) is sent to the customer.</li>
--   <li><b>Pending</b> : The interconnect has been approved, and is being
--   initialized.</li>
--   <li><b>Available</b> : The network link is up, and the interconnect is
--   ready for use.</li>
--   <li><b>Down</b> : The network link is down.</li>
--   <li><b>Deleting</b> : The interconnect is in the process of being
--   deleted.</li>
--   <li><b>Deleted</b> : The interconnect has been deleted.</li>
--   </ul>
data InterconnectState
ISAvailable :: InterconnectState
ISDeleted :: InterconnectState
ISDeleting :: InterconnectState
ISDown :: InterconnectState
ISPending :: InterconnectState
ISRequested :: InterconnectState

-- | The state of the LAG.
--   
--   <ul>
--   <li><b>Requested</b> : The initial state of a LAG. The LAG stays in
--   the requested state until the Letter of Authorization (LOA) is
--   available.</li>
--   <li><b>Pending</b> : The LAG has been approved, and is being
--   initialized.</li>
--   <li><b>Available</b> : The network link is established, and the LAG is
--   ready for use.</li>
--   <li><b>Down</b> : The network link is down.</li>
--   <li><b>Deleting</b> : The LAG is in the process of being deleted.</li>
--   <li><b>Deleted</b> : The LAG has been deleted.</li>
--   </ul>
data LagState
LSAvailable :: LagState
LSDeleted :: LagState
LSDeleting :: LagState
LSDown :: LagState
LSPending :: LagState
LSRequested :: LagState

-- | A standard media type indicating the content type of the LOA-CFA
--   document. Currently, the only supported value is "application/pdf".
--   
--   Default: application/pdf
data LoaContentType
ApplicationPdf :: LoaContentType

-- | State of the virtual interface.
--   
--   <ul>
--   <li><b>Confirming</b> : 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.</li>
--   <li><b>Verifying</b> : This state only applies to public virtual
--   interfaces. Each public virtual interface needs validation before the
--   virtual interface can be created.</li>
--   <li><b>Pending</b> : A virtual interface is in this state from the
--   time that it is created until the virtual interface is ready to
--   forward traffic.</li>
--   <li><b>Available</b> : A virtual interface that is able to forward
--   traffic.</li>
--   <li><b>Down</b> : A virtual interface that is BGP down.</li>
--   <li><b>Deleting</b> : A virtual interface is in this state immediately
--   after calling <tt>DeleteVirtualInterface</tt> until it can no longer
--   forward traffic.</li>
--   <li><b>Deleted</b> : A virtual interface that cannot forward
--   traffic.</li>
--   <li><b>Rejected</b> : The virtual interface owner has declined
--   creation of the virtual interface. If a virtual interface in the
--   <tt>Confirming</tt> state is deleted by the virtual interface owner,
--   the virtual interface will enter the <tt>Rejected</tt> state.</li>
--   </ul>
data VirtualInterfaceState
VISAvailable :: VirtualInterfaceState
VISConfirming :: VirtualInterfaceState
VISDeleted :: VirtualInterfaceState
VISDeleting :: VirtualInterfaceState
VISDown :: VirtualInterfaceState
VISPending :: VirtualInterfaceState
VISRejected :: VirtualInterfaceState
VISVerifying :: VirtualInterfaceState

-- | A structure containing information about a BGP peer.
--   
--   <i>See:</i> <a>bgpPeer</a> smart constructor.
data BGPPeer

-- | Creates a value of <a>BGPPeer</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bpCustomerAddress</a> - Undocumented member.</li>
--   <li><a>bpAmazonAddress</a> - Undocumented member.</li>
--   <li><a>bpAddressFamily</a> - Undocumented member.</li>
--   <li><a>bpBgpStatus</a> - Undocumented member.</li>
--   <li><a>bpAsn</a> - Undocumented member.</li>
--   <li><a>bpAuthKey</a> - Undocumented member.</li>
--   <li><a>bpBgpPeerState</a> - Undocumented member.</li>
--   </ul>
bgpPeer :: BGPPeer

-- | Undocumented member.
bpCustomerAddress :: Lens' BGPPeer (Maybe Text)

-- | Undocumented member.
bpAmazonAddress :: Lens' BGPPeer (Maybe Text)

-- | Undocumented member.
bpAddressFamily :: Lens' BGPPeer (Maybe AddressFamily)

-- | Undocumented member.
bpBgpStatus :: Lens' BGPPeer (Maybe BGPStatus)

-- | Undocumented member.
bpAsn :: Lens' BGPPeer (Maybe Int)

-- | Undocumented member.
bpAuthKey :: Lens' BGPPeer (Maybe Text)

-- | Undocumented member.
bpBgpPeerState :: Lens' BGPPeer (Maybe BGPPeerState)

-- | A connection represents the physical network connection between the
--   AWS Direct Connect location and the customer.
--   
--   <i>See:</i> <a>connection</a> smart constructor.
data Connection

-- | Creates a value of <a>Connection</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cLagId</a> - Undocumented member.</li>
--   <li><a>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   <tt>DescribeLoa</tt> for this connection.</li>
--   <li><a>cPartnerName</a> - The name of the AWS Direct Connect service
--   provider associated with the connection.</li>
--   <li><a>cConnectionName</a> - Undocumented member.</li>
--   <li><a>cBandwidth</a> - Bandwidth of the connection. Example: 1Gbps
--   (for regular connections), or 500Mbps (for hosted connections)
--   Default: None</li>
--   <li><a>cOwnerAccount</a> - The AWS account that will own the new
--   connection.</li>
--   <li><a>cRegion</a> - Undocumented member.</li>
--   <li><a>cConnectionState</a> - Undocumented member.</li>
--   </ul>
connection :: Connection

-- | Undocumented member.
cLagId :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cVlan :: Lens' Connection (Maybe Int)

-- | Undocumented member.
cLocation :: Lens' Connection (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
cAwsDevice :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionId :: Lens' Connection (Maybe Text)

-- | The time of the most recent call to <tt>DescribeLoa</tt> for this
--   connection.
cLoaIssueTime :: Lens' Connection (Maybe UTCTime)

-- | The name of the AWS Direct Connect service provider associated with
--   the connection.
cPartnerName :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionName :: Lens' Connection (Maybe Text)

-- | Bandwidth of the connection. Example: 1Gbps (for regular connections),
--   or 500Mbps (for hosted connections) Default: None
cBandwidth :: Lens' Connection (Maybe Text)

-- | The AWS account that will own the new connection.
cOwnerAccount :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cRegion :: Lens' Connection (Maybe Text)

-- | Undocumented member.
cConnectionState :: Lens' Connection (Maybe ConnectionState)

-- | A structure containing a list of connections.
--   
--   <i>See:</i> <a>connections</a> smart constructor.
data Connections

-- | Creates a value of <a>Connections</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cConnections</a> - A list of connections.</li>
--   </ul>
connections :: Connections

-- | A list of connections.
cConnections :: Lens' Connections [Connection]

-- | A direct connect gateway is an intermediate object that enables you to
--   connect virtual interfaces and virtual private gateways.
--   
--   <i>See:</i> <a>directConnectGateway</a> smart constructor.
data DirectConnectGateway

-- | Creates a value of <a>DirectConnectGateway</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcgDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>dcgStateChangeError</a> - Undocumented member.</li>
--   <li><a>dcgAmazonSideASN</a> - The autonomous system number (ASN) for
--   the Amazon side of the connection.</li>
--   <li><a>dcgDirectConnectGatewayName</a> - Undocumented member.</li>
--   <li><a>dcgDirectConnectGatewayState</a> - Undocumented member.</li>
--   <li><a>dcgOwnerAccount</a> - The AWS account ID of the owner of the
--   direct connect gateway.</li>
--   </ul>
directConnectGateway :: DirectConnectGateway

-- | Undocumented member.
dcgDirectConnectGatewayId :: Lens' DirectConnectGateway (Maybe Text)

-- | Undocumented member.
dcgStateChangeError :: Lens' DirectConnectGateway (Maybe Text)

-- | The autonomous system number (ASN) for the Amazon side of the
--   connection.
dcgAmazonSideASN :: Lens' DirectConnectGateway (Maybe Integer)

-- | Undocumented member.
dcgDirectConnectGatewayName :: Lens' DirectConnectGateway (Maybe Text)

-- | Undocumented member.
dcgDirectConnectGatewayState :: Lens' DirectConnectGateway (Maybe DirectConnectGatewayState)

-- | The AWS account ID of the owner of the direct connect gateway.
dcgOwnerAccount :: Lens' DirectConnectGateway (Maybe Text)

-- | The association between a direct connect gateway and virtual private
--   gateway.
--   
--   <i>See:</i> <a>directConnectGatewayAssociation</a> smart constructor.
data DirectConnectGatewayAssociation

-- | Creates a value of <a>DirectConnectGatewayAssociation</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcgaVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>dcgaDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>dcgaVirtualGatewayOwnerAccount</a> - The AWS account ID of the
--   owner of the virtual private gateway.</li>
--   <li><a>dcgaStateChangeError</a> - Undocumented member.</li>
--   <li><a>dcgaVirtualGatewayRegion</a> - Undocumented member.</li>
--   <li><a>dcgaAssociationState</a> - Undocumented member.</li>
--   </ul>
directConnectGatewayAssociation :: DirectConnectGatewayAssociation

-- | Undocumented member.
dcgaVirtualGatewayId :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | Undocumented member.
dcgaDirectConnectGatewayId :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | The AWS account ID of the owner of the virtual private gateway.
dcgaVirtualGatewayOwnerAccount :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | Undocumented member.
dcgaStateChangeError :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | Undocumented member.
dcgaVirtualGatewayRegion :: Lens' DirectConnectGatewayAssociation (Maybe Text)

-- | Undocumented member.
dcgaAssociationState :: Lens' DirectConnectGatewayAssociation (Maybe DirectConnectGatewayAssociationState)

-- | The association between a direct connect gateway and virtual
--   interface.
--   
--   <i>See:</i> <a>directConnectGatewayAttachment</a> smart constructor.
data DirectConnectGatewayAttachment

-- | Creates a value of <a>DirectConnectGatewayAttachment</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>dAttachmentState</a> - Undocumented member.</li>
--   <li><a>dStateChangeError</a> - Undocumented member.</li>
--   <li><a>dVirtualInterfaceRegion</a> - Undocumented member.</li>
--   <li><a>dVirtualInterfaceOwnerAccount</a> - The AWS account ID of the
--   owner of the virtual interface.</li>
--   <li><a>dVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
directConnectGatewayAttachment :: DirectConnectGatewayAttachment

-- | Undocumented member.
dDirectConnectGatewayId :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | Undocumented member.
dAttachmentState :: Lens' DirectConnectGatewayAttachment (Maybe DirectConnectGatewayAttachmentState)

-- | Undocumented member.
dStateChangeError :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | Undocumented member.
dVirtualInterfaceRegion :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | The AWS account ID of the owner of the virtual interface.
dVirtualInterfaceOwnerAccount :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | Undocumented member.
dVirtualInterfaceId :: Lens' DirectConnectGatewayAttachment (Maybe Text)

-- | An interconnect is a connection that can host other connections.
--   
--   Like a standard AWS Direct Connect connection, an interconnect
--   represents the physical connection between an AWS Direct Connect
--   partner's network and a specific Direct Connect location. An AWS
--   Direct Connect partner who owns an interconnect can provision hosted
--   connections on the interconnect for their end customers, thereby
--   providing the end customers with connectivity to AWS services.
--   
--   The resources of the interconnect, including bandwidth and VLAN
--   numbers, are shared by all of the hosted connections on the
--   interconnect, and the owner of the interconnect determines how these
--   resources are assigned.
--   
--   <i>See:</i> <a>interconnect</a> smart constructor.
data Interconnect

-- | Creates a value of <a>Interconnect</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iLagId</a> - Undocumented member.</li>
--   <li><a>iInterconnectId</a> - Undocumented member.</li>
--   <li><a>iLocation</a> - Undocumented member.</li>
--   <li><a>iInterconnectName</a> - Undocumented member.</li>
--   <li><a>iAwsDevice</a> - The Direct Connection endpoint which the
--   physical connection terminates on.</li>
--   <li><a>iLoaIssueTime</a> - The time of the most recent call to
--   DescribeInterconnectLoa for this Interconnect.</li>
--   <li><a>iBandwidth</a> - Undocumented member.</li>
--   <li><a>iInterconnectState</a> - Undocumented member.</li>
--   <li><a>iRegion</a> - Undocumented member.</li>
--   </ul>
interconnect :: Interconnect

-- | Undocumented member.
iLagId :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iInterconnectId :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iLocation :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iInterconnectName :: Lens' Interconnect (Maybe Text)

-- | The Direct Connection endpoint which the physical connection
--   terminates on.
iAwsDevice :: Lens' Interconnect (Maybe Text)

-- | The time of the most recent call to DescribeInterconnectLoa for this
--   Interconnect.
iLoaIssueTime :: Lens' Interconnect (Maybe UTCTime)

-- | Undocumented member.
iBandwidth :: Lens' Interconnect (Maybe Text)

-- | Undocumented member.
iInterconnectState :: Lens' Interconnect (Maybe InterconnectState)

-- | Undocumented member.
iRegion :: Lens' Interconnect (Maybe Text)

-- | Describes a link aggregation group (LAG). A LAG is a connection that
--   uses the Link Aggregation Control Protocol (LACP) to logically
--   aggregate a bundle of physical connections. Like an interconnect, it
--   can host other connections. All connections in a LAG must terminate on
--   the same physical AWS Direct Connect endpoint, and must be the same
--   bandwidth.
--   
--   <i>See:</i> <a>lag</a> smart constructor.
data Lag

-- | Creates a value of <a>Lag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lagLagId</a> - Undocumented member.</li>
--   <li><a>lagConnectionsBandwidth</a> - The individual bandwidth of the
--   physical connections bundled by the LAG. Available values: 1Gbps,
--   10Gbps</li>
--   <li><a>lagMinimumLinks</a> - The minimum number of physical
--   connections that must be operational for the LAG itself to be
--   operational. If the number of operational connections drops below this
--   setting, the LAG state changes to <tt>down</tt> . This value can help
--   to ensure that a LAG is not overutilized if a significant number of
--   its bundled connections go down.</li>
--   <li><a>lagLagName</a> - The name of the LAG.</li>
--   <li><a>lagLocation</a> - Undocumented member.</li>
--   <li><a>lagConnections</a> - A list of connections bundled by this
--   LAG.</li>
--   <li><a>lagAwsDevice</a> - The AWS Direct Connection endpoint that
--   hosts the LAG.</li>
--   <li><a>lagAllowsHostedConnections</a> - Indicates whether the LAG can
--   host other connections.</li>
--   <li><a>lagNumberOfConnections</a> - The number of physical connections
--   bundled by the LAG, up to a maximum of 10.</li>
--   <li><a>lagLagState</a> - Undocumented member.</li>
--   <li><a>lagOwnerAccount</a> - The owner of the LAG.</li>
--   <li><a>lagRegion</a> - Undocumented member.</li>
--   </ul>
lag :: Lag

-- | Undocumented member.
lagLagId :: Lens' Lag (Maybe Text)

-- | The individual bandwidth of the physical connections bundled by the
--   LAG. Available values: 1Gbps, 10Gbps
lagConnectionsBandwidth :: Lens' Lag (Maybe Text)

-- | The minimum number of physical connections that must be operational
--   for the LAG itself to be operational. If the number of operational
--   connections drops below this setting, the LAG state changes to
--   <tt>down</tt> . This value can help to ensure that a LAG is not
--   overutilized if a significant number of its bundled connections go
--   down.
lagMinimumLinks :: Lens' Lag (Maybe Int)

-- | The name of the LAG.
lagLagName :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagLocation :: Lens' Lag (Maybe Text)

-- | A list of connections bundled by this LAG.
lagConnections :: Lens' Lag [Connection]

-- | The AWS Direct Connection endpoint that hosts the LAG.
lagAwsDevice :: Lens' Lag (Maybe Text)

-- | Indicates whether the LAG can host other connections.
lagAllowsHostedConnections :: Lens' Lag (Maybe Bool)

-- | The number of physical connections bundled by the LAG, up to a maximum
--   of 10.
lagNumberOfConnections :: Lens' Lag (Maybe Int)

-- | Undocumented member.
lagLagState :: Lens' Lag (Maybe LagState)

-- | The owner of the LAG.
lagOwnerAccount :: Lens' Lag (Maybe Text)

-- | Undocumented member.
lagRegion :: Lens' Lag (Maybe Text)

-- | An AWS Direct Connect location where connections and interconnects can
--   be requested.
--   
--   <i>See:</i> <a>location</a> smart constructor.
data Location

-- | Creates a value of <a>Location</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lLocationName</a> - The name of the AWS Direct Connect
--   location. The name includes the colocation partner name and the
--   physical site of the lit building.</li>
--   <li><a>lLocationCode</a> - The code used to indicate the AWS Direct
--   Connect location.</li>
--   </ul>
location :: Location

-- | The name of the AWS Direct Connect location. The name includes the
--   colocation partner name and the physical site of the lit building.
lLocationName :: Lens' Location (Maybe Text)

-- | The code used to indicate the AWS Direct Connect location.
lLocationCode :: Lens' Location (Maybe Text)

-- | A structure containing information about a new BGP peer.
--   
--   <i>See:</i> <a>newBGPPeer</a> smart constructor.
data NewBGPPeer

-- | Creates a value of <a>NewBGPPeer</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nbpCustomerAddress</a> - Undocumented member.</li>
--   <li><a>nbpAmazonAddress</a> - Undocumented member.</li>
--   <li><a>nbpAddressFamily</a> - Undocumented member.</li>
--   <li><a>nbpAsn</a> - Undocumented member.</li>
--   <li><a>nbpAuthKey</a> - Undocumented member.</li>
--   </ul>
newBGPPeer :: NewBGPPeer

-- | Undocumented member.
nbpCustomerAddress :: Lens' NewBGPPeer (Maybe Text)

-- | Undocumented member.
nbpAmazonAddress :: Lens' NewBGPPeer (Maybe Text)

-- | Undocumented member.
nbpAddressFamily :: Lens' NewBGPPeer (Maybe AddressFamily)

-- | Undocumented member.
nbpAsn :: Lens' NewBGPPeer (Maybe Int)

-- | Undocumented member.
nbpAuthKey :: Lens' NewBGPPeer (Maybe Text)

-- | A structure containing information about a new private virtual
--   interface.
--   
--   <i>See:</i> <a>newPrivateVirtualInterface</a> smart constructor.
data NewPrivateVirtualInterface

-- | Creates a value of <a>NewPrivateVirtualInterface</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>nVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>nCustomerAddress</a> - Undocumented member.</li>
--   <li><a>nAmazonAddress</a> - Undocumented member.</li>
--   <li><a>nAddressFamily</a> - Undocumented member.</li>
--   <li><a>nDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>nAuthKey</a> - Undocumented member.</li>
--   <li><a>nVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>nVlan</a> - Undocumented member.</li>
--   <li><a>nAsn</a> - Undocumented member.</li>
--   </ul>
newPrivateVirtualInterface :: Text -> Int -> Int -> NewPrivateVirtualInterface

-- | Undocumented member.
nVirtualGatewayId :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nCustomerAddress :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nAmazonAddress :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nAddressFamily :: Lens' NewPrivateVirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
nDirectConnectGatewayId :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nAuthKey :: Lens' NewPrivateVirtualInterface (Maybe Text)

-- | Undocumented member.
nVirtualInterfaceName :: Lens' NewPrivateVirtualInterface Text

-- | Undocumented member.
nVlan :: Lens' NewPrivateVirtualInterface Int

-- | Undocumented member.
nAsn :: Lens' NewPrivateVirtualInterface Int

-- | A structure containing information about a private virtual interface
--   that will be provisioned on a connection.
--   
--   <i>See:</i> <a>newPrivateVirtualInterfaceAllocation</a> smart
--   constructor.
data NewPrivateVirtualInterfaceAllocation

-- | Creates a value of <a>NewPrivateVirtualInterfaceAllocation</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>npviaCustomerAddress</a> - Undocumented member.</li>
--   <li><a>npviaAmazonAddress</a> - Undocumented member.</li>
--   <li><a>npviaAddressFamily</a> - Undocumented member.</li>
--   <li><a>npviaAuthKey</a> - Undocumented member.</li>
--   <li><a>npviaVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>npviaVlan</a> - Undocumented member.</li>
--   <li><a>npviaAsn</a> - Undocumented member.</li>
--   </ul>
newPrivateVirtualInterfaceAllocation :: Text -> Int -> Int -> NewPrivateVirtualInterfaceAllocation

-- | Undocumented member.
npviaCustomerAddress :: Lens' NewPrivateVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
npviaAmazonAddress :: Lens' NewPrivateVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
npviaAddressFamily :: Lens' NewPrivateVirtualInterfaceAllocation (Maybe AddressFamily)

-- | Undocumented member.
npviaAuthKey :: Lens' NewPrivateVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
npviaVirtualInterfaceName :: Lens' NewPrivateVirtualInterfaceAllocation Text

-- | Undocumented member.
npviaVlan :: Lens' NewPrivateVirtualInterfaceAllocation Int

-- | Undocumented member.
npviaAsn :: Lens' NewPrivateVirtualInterfaceAllocation Int

-- | A structure containing information about a new public virtual
--   interface.
--   
--   <i>See:</i> <a>newPublicVirtualInterface</a> smart constructor.
data NewPublicVirtualInterface

-- | Creates a value of <a>NewPublicVirtualInterface</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>npviRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>npviCustomerAddress</a> - Undocumented member.</li>
--   <li><a>npviAmazonAddress</a> - Undocumented member.</li>
--   <li><a>npviAddressFamily</a> - Undocumented member.</li>
--   <li><a>npviAuthKey</a> - Undocumented member.</li>
--   <li><a>npviVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>npviVlan</a> - Undocumented member.</li>
--   <li><a>npviAsn</a> - Undocumented member.</li>
--   </ul>
newPublicVirtualInterface :: Text -> Int -> Int -> NewPublicVirtualInterface

-- | Undocumented member.
npviRouteFilterPrefixes :: Lens' NewPublicVirtualInterface [RouteFilterPrefix]

-- | Undocumented member.
npviCustomerAddress :: Lens' NewPublicVirtualInterface (Maybe Text)

-- | Undocumented member.
npviAmazonAddress :: Lens' NewPublicVirtualInterface (Maybe Text)

-- | Undocumented member.
npviAddressFamily :: Lens' NewPublicVirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
npviAuthKey :: Lens' NewPublicVirtualInterface (Maybe Text)

-- | Undocumented member.
npviVirtualInterfaceName :: Lens' NewPublicVirtualInterface Text

-- | Undocumented member.
npviVlan :: Lens' NewPublicVirtualInterface Int

-- | Undocumented member.
npviAsn :: Lens' NewPublicVirtualInterface Int

-- | A structure containing information about a public virtual interface
--   that will be provisioned on a connection.
--   
--   <i>See:</i> <a>newPublicVirtualInterfaceAllocation</a> smart
--   constructor.
data NewPublicVirtualInterfaceAllocation

-- | Creates a value of <a>NewPublicVirtualInterfaceAllocation</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>newRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>newCustomerAddress</a> - Undocumented member.</li>
--   <li><a>newAmazonAddress</a> - Undocumented member.</li>
--   <li><a>newAddressFamily</a> - Undocumented member.</li>
--   <li><a>newAuthKey</a> - Undocumented member.</li>
--   <li><a>newVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>newVlan</a> - Undocumented member.</li>
--   <li><a>newAsn</a> - Undocumented member.</li>
--   </ul>
newPublicVirtualInterfaceAllocation :: Text -> Int -> Int -> NewPublicVirtualInterfaceAllocation

-- | Undocumented member.
newRouteFilterPrefixes :: Lens' NewPublicVirtualInterfaceAllocation [RouteFilterPrefix]

-- | Undocumented member.
newCustomerAddress :: Lens' NewPublicVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
newAmazonAddress :: Lens' NewPublicVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
newAddressFamily :: Lens' NewPublicVirtualInterfaceAllocation (Maybe AddressFamily)

-- | Undocumented member.
newAuthKey :: Lens' NewPublicVirtualInterfaceAllocation (Maybe Text)

-- | Undocumented member.
newVirtualInterfaceName :: Lens' NewPublicVirtualInterfaceAllocation Text

-- | Undocumented member.
newVlan :: Lens' NewPublicVirtualInterfaceAllocation Int

-- | Undocumented member.
newAsn :: Lens' NewPublicVirtualInterfaceAllocation Int

-- | The tags associated with a Direct Connect resource.
--   
--   <i>See:</i> <a>resourceTag</a> smart constructor.
data ResourceTag

-- | Creates a value of <a>ResourceTag</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtResourceARN</a> - The Amazon Resource Name (ARN) of the
--   Direct Connect resource.</li>
--   <li><a>rtTags</a> - The tags.</li>
--   </ul>
resourceTag :: ResourceTag

-- | The Amazon Resource Name (ARN) of the Direct Connect resource.
rtResourceARN :: Lens' ResourceTag (Maybe Text)

-- | The tags.
rtTags :: Lens' ResourceTag (Maybe (NonEmpty Tag))

-- | A route filter prefix that the customer can advertise through Border
--   Gateway Protocol (BGP) over a public virtual interface.
--   
--   <i>See:</i> <a>routeFilterPrefix</a> smart constructor.
data RouteFilterPrefix

-- | Creates a value of <a>RouteFilterPrefix</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rfpCidr</a> - CIDR notation for the advertised route. Multiple
--   routes are separated by commas. IPv6 CIDRs must be at least a <i>64 or
--   shorter Example:
--   10.10.10.0</i>24,10.10.11.0<i>24,2001:db8::</i>64</li>
--   </ul>
routeFilterPrefix :: RouteFilterPrefix

-- | CIDR notation for the advertised route. Multiple routes are separated
--   by commas. IPv6 CIDRs must be at least a <i>64 or shorter Example:
--   10.10.10.0</i>24,10.10.11.0<i>24,2001:db8::</i>64
rfpCidr :: Lens' RouteFilterPrefix (Maybe Text)

-- | Information about a tag.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagValue</a> - The value of the tag.</li>
--   <li><a>tagKey</a> - The key of the tag.</li>
--   </ul>
tag :: Text -> Tag

-- | The value of the tag.
tagValue :: Lens' Tag (Maybe Text)

-- | The key of the tag.
tagKey :: Lens' Tag Text

-- | You can create one or more AWS Direct Connect private virtual
--   interfaces linking to your virtual private gateway.
--   
--   Virtual private gateways can be managed using the Amazon Virtual
--   Private Cloud (Amazon VPC) console or the <a>Amazon EC2
--   CreateVpnGateway action</a> .
--   
--   <i>See:</i> <a>virtualGateway</a> smart constructor.
data VirtualGateway

-- | Creates a value of <a>VirtualGateway</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vgVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>vgVirtualGatewayState</a> - Undocumented member.</li>
--   </ul>
virtualGateway :: VirtualGateway

-- | Undocumented member.
vgVirtualGatewayId :: Lens' VirtualGateway (Maybe Text)

-- | Undocumented member.
vgVirtualGatewayState :: Lens' VirtualGateway (Maybe Text)

-- | A virtual interface (VLAN) transmits the traffic between the AWS
--   Direct Connect location and the customer.
--   
--   <i>See:</i> <a>virtualInterface</a> smart constructor.
data VirtualInterface

-- | Creates a value of <a>VirtualInterface</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>viBgpPeers</a> - Undocumented member.</li>
--   <li><a>viVirtualGatewayId</a> - Undocumented member.</li>
--   <li><a>viRouteFilterPrefixes</a> - Undocumented member.</li>
--   <li><a>viCustomerAddress</a> - Undocumented member.</li>
--   <li><a>viVlan</a> - Undocumented member.</li>
--   <li><a>viLocation</a> - Undocumented member.</li>
--   <li><a>viAmazonAddress</a> - Undocumented member.</li>
--   <li><a>viAddressFamily</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceState</a> - Undocumented member.</li>
--   <li><a>viConnectionId</a> - Undocumented member.</li>
--   <li><a>viDirectConnectGatewayId</a> - Undocumented member.</li>
--   <li><a>viAmazonSideASN</a> - The autonomous system number (ASN) for
--   the Amazon side of the connection.</li>
--   <li><a>viVirtualInterfaceType</a> - Undocumented member.</li>
--   <li><a>viAsn</a> - Undocumented member.</li>
--   <li><a>viAuthKey</a> - Undocumented member.</li>
--   <li><a>viCustomerRouterConfig</a> - Information for generating the
--   customer router configuration.</li>
--   <li><a>viOwnerAccount</a> - The AWS account that will own the new
--   virtual interface.</li>
--   <li><a>viVirtualInterfaceName</a> - Undocumented member.</li>
--   <li><a>viVirtualInterfaceId</a> - Undocumented member.</li>
--   </ul>
virtualInterface :: VirtualInterface

-- | Undocumented member.
viBgpPeers :: Lens' VirtualInterface [BGPPeer]

-- | Undocumented member.
viVirtualGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viRouteFilterPrefixes :: Lens' VirtualInterface [RouteFilterPrefix]

-- | Undocumented member.
viCustomerAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVlan :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viLocation :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAmazonAddress :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAddressFamily :: Lens' VirtualInterface (Maybe AddressFamily)

-- | Undocumented member.
viVirtualInterfaceState :: Lens' VirtualInterface (Maybe VirtualInterfaceState)

-- | Undocumented member.
viConnectionId :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viDirectConnectGatewayId :: Lens' VirtualInterface (Maybe Text)

-- | The autonomous system number (ASN) for the Amazon side of the
--   connection.
viAmazonSideASN :: Lens' VirtualInterface (Maybe Integer)

-- | Undocumented member.
viVirtualInterfaceType :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viAsn :: Lens' VirtualInterface (Maybe Int)

-- | Undocumented member.
viAuthKey :: Lens' VirtualInterface (Maybe Text)

-- | Information for generating the customer router configuration.
viCustomerRouterConfig :: Lens' VirtualInterface (Maybe Text)

-- | The AWS account that will own the new virtual interface.
viOwnerAccount :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceName :: Lens' VirtualInterface (Maybe Text)

-- | Undocumented member.
viVirtualInterfaceId :: Lens' VirtualInterface (Maybe Text)
