module Network.AWS.DirectConnect.DescribeConnections
(
DescribeConnections
, describeConnections
, dc1ConnectionId
, DescribeConnectionsResponse
, describeConnectionsResponse
, dcrConnections
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.DirectConnect.Types
import qualified GHC.Exts
newtype DescribeConnections = DescribeConnections
{ _dc1ConnectionId :: Maybe Text
} deriving (Eq, Ord, Read, Show, Monoid)
describeConnections :: DescribeConnections
describeConnections = DescribeConnections
{ _dc1ConnectionId = Nothing
}
dc1ConnectionId :: Lens' DescribeConnections (Maybe Text)
dc1ConnectionId = lens _dc1ConnectionId (\s a -> s { _dc1ConnectionId = a })
newtype DescribeConnectionsResponse = DescribeConnectionsResponse
{ _dcrConnections :: List "connections" Connection
} deriving (Eq, Read, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeConnectionsResponse where
type Item DescribeConnectionsResponse = Connection
fromList = DescribeConnectionsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _dcrConnections
describeConnectionsResponse :: DescribeConnectionsResponse
describeConnectionsResponse = DescribeConnectionsResponse
{ _dcrConnections = mempty
}
dcrConnections :: Lens' DescribeConnectionsResponse [Connection]
dcrConnections = lens _dcrConnections (\s a -> s { _dcrConnections = a }) . _List
instance ToPath DescribeConnections where
toPath = const "/"
instance ToQuery DescribeConnections where
toQuery = const mempty
instance ToHeaders DescribeConnections
instance ToJSON DescribeConnections where
toJSON DescribeConnections{..} = object
[ "connectionId" .= _dc1ConnectionId
]
instance AWSRequest DescribeConnections where
type Sv DescribeConnections = DirectConnect
type Rs DescribeConnections = DescribeConnectionsResponse
request = post "DescribeConnections"
response = jsonResponse
instance FromJSON DescribeConnectionsResponse where
parseJSON = withObject "DescribeConnectionsResponse" $ \o -> DescribeConnectionsResponse
<$> o .:? "connections" .!= mempty