-- 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.4.5


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 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> &gt;: 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

-- | 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 <i>DeleteVirtualInterface</i> 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>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   DescribeConnectionLoa 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.
cVlan :: Lens' Connection (Maybe Int)

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

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

-- | The time of the most recent call to DescribeConnectionLoa 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]

-- | 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>iInterconnectId</a> - Undocumented member.</li>
--   <li><a>iLocation</a> - Undocumented member.</li>
--   <li><a>iInterconnectName</a> - Undocumented member.</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.
iInterconnectId :: Lens' Interconnect (Maybe Text)

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

-- | Undocumented member.
iInterconnectName :: 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)

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

-- | Creates a value of <a>Loa</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>loaLoaContent</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>loaLoaContentType</a> - Undocumented member.</li>
--   </ul>
loa :: Loa

-- | 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.
loaLoaContent :: Lens' Loa (Maybe ByteString)

-- | Undocumented member.
loaLoaContentType :: Lens' Loa (Maybe LoaContentType)

-- | 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>nCustomerAddress</a> - Undocumented member.</li>
--   <li><a>nAmazonAddress</a> - Undocumented member.</li>
--   <li><a>nAddressFamily</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>
--   <li><a>nVirtualGatewayId</a> - Undocumented member.</li>
--   </ul>
newPrivateVirtualInterface :: Text -> Int -> Int -> Text -> NewPrivateVirtualInterface

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

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

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

-- | 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

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

-- | 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>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.
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)


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.UntagResource.UntagResourceResponse


module Network.AWS.DirectConnect.Waiters


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.TagResource.TagResourceResponse


-- | Displays all virtual interfaces for an AWS account. Virtual interfaces
--   deleted fewer than 15 minutes before DescribeVirtualInterfaces is
--   called are also returned. If a connection ID is included then only
--   virtual interfaces associated with this connection will be returned.
--   If a virtual interface ID is included then only a single virtual
--   interface will be returned.
--   
--   A virtual interface (VLAN) transmits the traffic between the AWS
--   Direct Connect location and the customer.
--   
--   If a connection ID is provided, only virtual interfaces provisioned on
--   the specified connection will be returned. If a virtual interface ID
--   is provided, only this particular virtual interface will be returned.
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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeVirtualInterfaces.DescribeVirtualInterfacesResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeVirtualGateways.DescribeVirtualGatewaysResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeTags.DescribeTagsResponse


-- | Returns the list of AWS Direct Connect locations in the current AWS
--   region. These are the locations that may be selected when calling
--   CreateConnection or CreateInterconnect.
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>dlrsLocations</a> - A list of colocation hubs where network
--   providers have equipment. Most regions have multiple locations
--   available.</li>
--   <li><a>dlrsResponseStatus</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.
dlrsLocations :: Lens' DescribeLocationsResponse [Location]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dlrsResponseStatus :: 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeLocations.DescribeLocationsResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeInterconnects.DescribeInterconnectsResponse


-- | Returns the LOA-CFA for an Interconnect.
--   
--   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.DescribeInterconnectLoa

-- | Creates a value of <a>DescribeInterconnectLoa</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>dilLoaContentType</a> - Undocumented member.</li>
--   <li><a>dilProviderName</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>dilInterconnectId</a> - Undocumented member.</li>
--   </ul>
describeInterconnectLoa :: Text -> DescribeInterconnectLoa

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

-- | Undocumented member.
dilLoaContentType :: Lens' DescribeInterconnectLoa (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
dilProviderName :: Lens' DescribeInterconnectLoa (Maybe Text)

-- | Undocumented member.
dilInterconnectId :: Lens' DescribeInterconnectLoa Text

-- | Creates a value of <a>DescribeInterconnectLoaResponse</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>dilrsLoa</a> - Undocumented member.</li>
--   <li><a>dilrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeInterconnectLoaResponse :: Int -> DescribeInterconnectLoaResponse

-- | The response received when DescribeInterconnectLoa is called.
--   
--   <i>See:</i> <a>describeInterconnectLoaResponse</a> smart constructor.
data DescribeInterconnectLoaResponse

-- | Undocumented member.
dilrsLoa :: Lens' DescribeInterconnectLoaResponse (Maybe Loa)

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


-- | Return a list of connections that have been provisioned on the given
--   interconnect.
module Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect

-- | Creates a value of <a>DescribeConnectionsOnInterconnect</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>dcoiInterconnectId</a> - ID of the interconnect on which a list
--   of connection is provisioned. Example: dxcon-abc123 Default: None</li>
--   </ul>
describeConnectionsOnInterconnect :: Text -> DescribeConnectionsOnInterconnect

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

-- | ID of the interconnect on which a list of connection is provisioned.
--   Example: dxcon-abc123 Default: None
dcoiInterconnectId :: Lens' DescribeConnectionsOnInterconnect 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.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance Data.Data.Data Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance GHC.Show.Show Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance GHC.Read.Read Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance GHC.Classes.Eq Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.DescribeConnectionsOnInterconnect.DescribeConnectionsOnInterconnect


-- | 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


-- | Returns the LOA-CFA for a Connection.
--   
--   The Letter of Authorization - Connecting Facility Assignment (LOA-CFA)
--   is a document that your APN partner or service provider uses 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.DescribeConnectionLoa

-- | Creates a value of <a>DescribeConnectionLoa</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>dclLoaContentType</a> - Undocumented member.</li>
--   <li><a>dclProviderName</a> - The name of the APN partner or 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>dclConnectionId</a> - Undocumented member.</li>
--   </ul>
describeConnectionLoa :: Text -> DescribeConnectionLoa

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

-- | Undocumented member.
dclLoaContentType :: Lens' DescribeConnectionLoa (Maybe LoaContentType)

-- | The name of the APN partner or 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
dclProviderName :: Lens' DescribeConnectionLoa (Maybe Text)

-- | Undocumented member.
dclConnectionId :: Lens' DescribeConnectionLoa Text

-- | Creates a value of <a>DescribeConnectionLoaResponse</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>dclrsLoa</a> - Undocumented member.</li>
--   <li><a>dclrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeConnectionLoaResponse :: Int -> DescribeConnectionLoaResponse

-- | The response received when DescribeConnectionLoa is called.
--   
--   <i>See:</i> <a>describeConnectionLoaResponse</a> smart constructor.
data DescribeConnectionLoaResponse

-- | Undocumented member.
dclrsLoa :: Lens' DescribeConnectionLoaResponse (Maybe Loa)

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


-- | 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>dVirtualInterfaceId</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.
dVirtualInterfaceId :: 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteVirtualInterface.DeleteVirtualInterfaceResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteInterconnect.DeleteInterconnectResponse


-- | 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>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   DescribeConnectionLoa 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.
cVlan :: Lens' Connection (Maybe Int)

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

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

-- | The time of the most recent call to DescribeConnectionLoa 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.DeleteBGPPeer.DeleteBGPPeerResponse


-- | 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>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.
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>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.
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 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.
--   
--   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>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

-- | 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>iInterconnectId</a> - Undocumented member.</li>
--   <li><a>iLocation</a> - Undocumented member.</li>
--   <li><a>iInterconnectName</a> - Undocumented member.</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.
iInterconnectId :: Lens' Interconnect (Maybe Text)

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

-- | Undocumented member.
iInterconnectName :: 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 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.
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>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.
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>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   DescribeConnectionLoa 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.
cVlan :: Lens' Connection (Maybe Int)

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

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

-- | The time of the most recent call to DescribeConnectionLoa 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.CreateBGPPeer.CreateBGPPeerResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.ConfirmPublicVirtualInterface.ConfirmPublicVirtualInterfaceResponse


-- | 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, 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>cpviVirtualInterfaceId</a> - Undocumented member.</li>
--   <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>
--   </ul>
confirmPrivateVirtualInterface :: Text -> Text -> ConfirmPrivateVirtualInterface

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

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

-- | 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 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.ConfirmPrivateVirtualInterface.ConfirmPrivateVirtualInterfaceResponse


-- | 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 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
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.ConfirmConnection.ConfirmConnectionResponse


-- | 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>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.
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 a different
--   customer.
--   
--   The owner of a connection calls this function to provision a private
--   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 ConfirmPrivateVirtualInterface.
--   Until this step has been completed, 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>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.
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.
--   
--   Allocates a VLAN number and a specified amount of bandwidth for use by
--   a hosted connection on the given interconnect.
module Network.AWS.DirectConnect.AllocateConnectionOnInterconnect

-- | Creates a value of <a>AllocateConnectionOnInterconnect</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>acoiBandwidth</a> - Bandwidth of the connection. Example:
--   "<i>500Mbps</i> " Default: None Values: 50M, 100M, 200M, 300M, 400M,
--   or 500M</li>
--   <li><a>acoiConnectionName</a> - Name of the provisioned connection.
--   Example: "<i>500M Connection to AWS</i> " Default: None</li>
--   <li><a>acoiOwnerAccount</a> - Numeric account Id of the customer for
--   whom the connection will be provisioned. Example: 123443215678
--   Default: None</li>
--   <li><a>acoiInterconnectId</a> - ID of the interconnect on which the
--   connection will be provisioned. Example: dxcon-456abc78 Default:
--   None</li>
--   <li><a>acoiVlan</a> - The dedicated VLAN provisioned to the
--   connection. Example: 101 Default: None</li>
--   </ul>
allocateConnectionOnInterconnect :: Text -> Text -> Text -> Text -> Int -> AllocateConnectionOnInterconnect

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

-- | Bandwidth of the connection. Example: "<i>500Mbps</i> " Default: None
--   Values: 50M, 100M, 200M, 300M, 400M, or 500M
acoiBandwidth :: Lens' AllocateConnectionOnInterconnect Text

-- | Name of the provisioned connection. Example: "<i>500M Connection to
--   AWS</i> " Default: None
acoiConnectionName :: Lens' AllocateConnectionOnInterconnect Text

-- | Numeric account Id of the customer for whom the connection will be
--   provisioned. Example: 123443215678 Default: None
acoiOwnerAccount :: Lens' AllocateConnectionOnInterconnect Text

-- | ID of the interconnect on which the connection will be provisioned.
--   Example: dxcon-456abc78 Default: None
acoiInterconnectId :: Lens' AllocateConnectionOnInterconnect Text

-- | The dedicated VLAN provisioned to the connection. Example: 101
--   Default: None
acoiVlan :: Lens' AllocateConnectionOnInterconnect 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>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   DescribeConnectionLoa 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.
cVlan :: Lens' Connection (Maybe Int)

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

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

-- | The time of the most recent call to DescribeConnectionLoa 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.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance Data.Data.Data Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance GHC.Show.Show Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance GHC.Read.Read Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance GHC.Classes.Eq Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance Network.AWS.Types.AWSRequest Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance Data.Hashable.Class.Hashable Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance Control.DeepSeq.NFData Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectConnect.AllocateConnectionOnInterconnect.AllocateConnectionOnInterconnect


-- | 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 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> &gt;: 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

-- | 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 <i>DeleteVirtualInterface</i> 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>cVlan</a> - Undocumented member.</li>
--   <li><a>cLocation</a> - Undocumented member.</li>
--   <li><a>cConnectionId</a> - Undocumented member.</li>
--   <li><a>cLoaIssueTime</a> - The time of the most recent call to
--   DescribeConnectionLoa 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.
cVlan :: Lens' Connection (Maybe Int)

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

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

-- | The time of the most recent call to DescribeConnectionLoa 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]

-- | 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>iInterconnectId</a> - Undocumented member.</li>
--   <li><a>iLocation</a> - Undocumented member.</li>
--   <li><a>iInterconnectName</a> - Undocumented member.</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.
iInterconnectId :: Lens' Interconnect (Maybe Text)

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

-- | Undocumented member.
iInterconnectName :: 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)

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

-- | Creates a value of <a>Loa</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>loaLoaContent</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>loaLoaContentType</a> - Undocumented member.</li>
--   </ul>
loa :: Loa

-- | 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.
loaLoaContent :: Lens' Loa (Maybe ByteString)

-- | Undocumented member.
loaLoaContentType :: Lens' Loa (Maybe LoaContentType)

-- | 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>nCustomerAddress</a> - Undocumented member.</li>
--   <li><a>nAmazonAddress</a> - Undocumented member.</li>
--   <li><a>nAddressFamily</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>
--   <li><a>nVirtualGatewayId</a> - Undocumented member.</li>
--   </ul>
newPrivateVirtualInterface :: Text -> Int -> Int -> Text -> NewPrivateVirtualInterface

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

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

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

-- | 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

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

-- | 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>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.
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)
