module Network.AWS.ECS.DescribeClusters
(
DescribeClusters
, describeClusters
, dcClusters
, DescribeClustersResponse
, describeClustersResponse
, dcrClusters
, dcrFailures
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.ECS.Types
import qualified GHC.Exts
newtype DescribeClusters = DescribeClusters
{ _dcClusters :: List "clusters" Text
} deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeClusters where
type Item DescribeClusters = Text
fromList = DescribeClusters . GHC.Exts.fromList
toList = GHC.Exts.toList . _dcClusters
describeClusters :: DescribeClusters
describeClusters = DescribeClusters
{ _dcClusters = mempty
}
dcClusters :: Lens' DescribeClusters [Text]
dcClusters = lens _dcClusters (\s a -> s { _dcClusters = a }) . _List
data DescribeClustersResponse = DescribeClustersResponse
{ _dcrClusters :: List "clusters" Cluster
, _dcrFailures :: List "failures" Failure
} deriving (Eq, Read, Show)
describeClustersResponse :: DescribeClustersResponse
describeClustersResponse = DescribeClustersResponse
{ _dcrClusters = mempty
, _dcrFailures = mempty
}
dcrClusters :: Lens' DescribeClustersResponse [Cluster]
dcrClusters = lens _dcrClusters (\s a -> s { _dcrClusters = a }) . _List
dcrFailures :: Lens' DescribeClustersResponse [Failure]
dcrFailures = lens _dcrFailures (\s a -> s { _dcrFailures = a }) . _List
instance ToPath DescribeClusters where
toPath = const "/"
instance ToQuery DescribeClusters where
toQuery = const mempty
instance ToHeaders DescribeClusters
instance ToJSON DescribeClusters where
toJSON DescribeClusters{..} = object
[ "clusters" .= _dcClusters
]
instance AWSRequest DescribeClusters where
type Sv DescribeClusters = ECS
type Rs DescribeClusters = DescribeClustersResponse
request = post "DescribeClusters"
response = jsonResponse
instance FromJSON DescribeClustersResponse where
parseJSON = withObject "DescribeClustersResponse" $ \o -> DescribeClustersResponse
<$> o .:? "clusters" .!= mempty
<*> o .:? "failures" .!= mempty