module Network.AWS.ECS.SubmitContainerStateChange
(
SubmitContainerStateChange
, submitContainerStateChange
, scscCluster
, scscContainerName
, scscExitCode
, scscNetworkBindings
, scscReason
, scscStatus
, scscTask
, SubmitContainerStateChangeResponse
, submitContainerStateChangeResponse
, scscrAcknowledgment
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.ECS.Types
import qualified GHC.Exts
data SubmitContainerStateChange = SubmitContainerStateChange
{ _scscCluster :: Maybe Text
, _scscContainerName :: Maybe Text
, _scscExitCode :: Maybe Int
, _scscNetworkBindings :: List "networkBindings" NetworkBinding
, _scscReason :: Maybe Text
, _scscStatus :: Maybe Text
, _scscTask :: Maybe Text
} deriving (Eq, Read, Show)
submitContainerStateChange :: SubmitContainerStateChange
submitContainerStateChange = SubmitContainerStateChange
{ _scscCluster = Nothing
, _scscTask = Nothing
, _scscContainerName = Nothing
, _scscStatus = Nothing
, _scscExitCode = Nothing
, _scscReason = Nothing
, _scscNetworkBindings = mempty
}
scscCluster :: Lens' SubmitContainerStateChange (Maybe Text)
scscCluster = lens _scscCluster (\s a -> s { _scscCluster = a })
scscContainerName :: Lens' SubmitContainerStateChange (Maybe Text)
scscContainerName =
lens _scscContainerName (\s a -> s { _scscContainerName = a })
scscExitCode :: Lens' SubmitContainerStateChange (Maybe Int)
scscExitCode = lens _scscExitCode (\s a -> s { _scscExitCode = a })
scscNetworkBindings :: Lens' SubmitContainerStateChange [NetworkBinding]
scscNetworkBindings =
lens _scscNetworkBindings (\s a -> s { _scscNetworkBindings = a })
. _List
scscReason :: Lens' SubmitContainerStateChange (Maybe Text)
scscReason = lens _scscReason (\s a -> s { _scscReason = a })
scscStatus :: Lens' SubmitContainerStateChange (Maybe Text)
scscStatus = lens _scscStatus (\s a -> s { _scscStatus = a })
scscTask :: Lens' SubmitContainerStateChange (Maybe Text)
scscTask = lens _scscTask (\s a -> s { _scscTask = a })
newtype SubmitContainerStateChangeResponse = SubmitContainerStateChangeResponse
{ _scscrAcknowledgment :: Maybe Text
} deriving (Eq, Ord, Read, Show, Monoid)
submitContainerStateChangeResponse :: SubmitContainerStateChangeResponse
submitContainerStateChangeResponse = SubmitContainerStateChangeResponse
{ _scscrAcknowledgment = Nothing
}
scscrAcknowledgment :: Lens' SubmitContainerStateChangeResponse (Maybe Text)
scscrAcknowledgment =
lens _scscrAcknowledgment (\s a -> s { _scscrAcknowledgment = a })
instance ToPath SubmitContainerStateChange where
toPath = const "/"
instance ToQuery SubmitContainerStateChange where
toQuery = const mempty
instance ToHeaders SubmitContainerStateChange
instance ToJSON SubmitContainerStateChange where
toJSON SubmitContainerStateChange{..} = object
[ "cluster" .= _scscCluster
, "task" .= _scscTask
, "containerName" .= _scscContainerName
, "status" .= _scscStatus
, "exitCode" .= _scscExitCode
, "reason" .= _scscReason
, "networkBindings" .= _scscNetworkBindings
]
instance AWSRequest SubmitContainerStateChange where
type Sv SubmitContainerStateChange = ECS
type Rs SubmitContainerStateChange = SubmitContainerStateChangeResponse
request = post "SubmitContainerStateChange"
response = jsonResponse
instance FromJSON SubmitContainerStateChangeResponse where
parseJSON = withObject "SubmitContainerStateChangeResponse" $ \o -> SubmitContainerStateChangeResponse
<$> o .:? "acknowledgment"