module Network.AWS.DirectConnect.DescribeInterconnects
(
DescribeInterconnects
, describeInterconnects
, diInterconnectId
, DescribeInterconnectsResponse
, describeInterconnectsResponse
, dirInterconnects
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.DirectConnect.Types
import qualified GHC.Exts
newtype DescribeInterconnects = DescribeInterconnects
{ _diInterconnectId :: Maybe Text
} deriving (Eq, Ord, Show, Monoid)
describeInterconnects :: DescribeInterconnects
describeInterconnects = DescribeInterconnects
{ _diInterconnectId = Nothing
}
diInterconnectId :: Lens' DescribeInterconnects (Maybe Text)
diInterconnectId = lens _diInterconnectId (\s a -> s { _diInterconnectId = a })
newtype DescribeInterconnectsResponse = DescribeInterconnectsResponse
{ _dirInterconnects :: List "interconnects" Interconnect
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeInterconnectsResponse where
type Item DescribeInterconnectsResponse = Interconnect
fromList = DescribeInterconnectsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _dirInterconnects
describeInterconnectsResponse :: DescribeInterconnectsResponse
describeInterconnectsResponse = DescribeInterconnectsResponse
{ _dirInterconnects = mempty
}
dirInterconnects :: Lens' DescribeInterconnectsResponse [Interconnect]
dirInterconnects = lens _dirInterconnects (\s a -> s { _dirInterconnects = a }) . _List
instance ToPath DescribeInterconnects where
toPath = const "/"
instance ToQuery DescribeInterconnects where
toQuery = const mempty
instance ToHeaders DescribeInterconnects
instance ToJSON DescribeInterconnects where
toJSON DescribeInterconnects{..} = object
[ "interconnectId" .= _diInterconnectId
]
instance AWSRequest DescribeInterconnects where
type Sv DescribeInterconnects = DirectConnect
type Rs DescribeInterconnects = DescribeInterconnectsResponse
request = post "DescribeInterconnects"
response = jsonResponse
instance FromJSON DescribeInterconnectsResponse where
parseJSON = withObject "DescribeInterconnectsResponse" $ \o -> DescribeInterconnectsResponse
<$> o .:? "interconnects" .!= mempty