module Network.AWS.ECS.DescribeContainerInstances
(
DescribeContainerInstances
, describeContainerInstances
, dciCluster
, dciContainerInstances
, DescribeContainerInstancesResponse
, describeContainerInstancesResponse
, dcirContainerInstances
, dcirFailures
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.ECS.Types
import qualified GHC.Exts
data DescribeContainerInstances = DescribeContainerInstances
{ _dciCluster :: Maybe Text
, _dciContainerInstances :: List "containerInstances" Text
} deriving (Eq, Ord, Read, Show)
describeContainerInstances :: DescribeContainerInstances
describeContainerInstances = DescribeContainerInstances
{ _dciCluster = Nothing
, _dciContainerInstances = mempty
}
dciCluster :: Lens' DescribeContainerInstances (Maybe Text)
dciCluster = lens _dciCluster (\s a -> s { _dciCluster = a })
dciContainerInstances :: Lens' DescribeContainerInstances [Text]
dciContainerInstances =
lens _dciContainerInstances (\s a -> s { _dciContainerInstances = a })
. _List
data DescribeContainerInstancesResponse = DescribeContainerInstancesResponse
{ _dcirContainerInstances :: List "containerInstances" ContainerInstance
, _dcirFailures :: List "failures" Failure
} deriving (Eq, Read, Show)
describeContainerInstancesResponse :: DescribeContainerInstancesResponse
describeContainerInstancesResponse = DescribeContainerInstancesResponse
{ _dcirContainerInstances = mempty
, _dcirFailures = mempty
}
dcirContainerInstances :: Lens' DescribeContainerInstancesResponse [ContainerInstance]
dcirContainerInstances =
lens _dcirContainerInstances (\s a -> s { _dcirContainerInstances = a })
. _List
dcirFailures :: Lens' DescribeContainerInstancesResponse [Failure]
dcirFailures = lens _dcirFailures (\s a -> s { _dcirFailures = a }) . _List
instance ToPath DescribeContainerInstances where
toPath = const "/"
instance ToQuery DescribeContainerInstances where
toQuery = const mempty
instance ToHeaders DescribeContainerInstances
instance ToJSON DescribeContainerInstances where
toJSON DescribeContainerInstances{..} = object
[ "cluster" .= _dciCluster
, "containerInstances" .= _dciContainerInstances
]
instance AWSRequest DescribeContainerInstances where
type Sv DescribeContainerInstances = ECS
type Rs DescribeContainerInstances = DescribeContainerInstancesResponse
request = post "DescribeContainerInstances"
response = jsonResponse
instance FromJSON DescribeContainerInstancesResponse where
parseJSON = withObject "DescribeContainerInstancesResponse" $ \o -> DescribeContainerInstancesResponse
<$> o .:? "containerInstances" .!= mempty
<*> o .:? "failures" .!= mempty