module Network.AWS.ECS.RegisterTaskDefinition
(
RegisterTaskDefinition
, registerTaskDefinition
, rtdContainerDefinitions
, rtdFamily
, RegisterTaskDefinitionResponse
, registerTaskDefinitionResponse
, rtdrTaskDefinition
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ECS.Types
import qualified GHC.Exts
data RegisterTaskDefinition = RegisterTaskDefinition
{ _rtdContainerDefinitions :: List "member" ContainerDefinition
, _rtdFamily :: Text
} deriving (Eq, Read, Show)
registerTaskDefinition :: Text
-> RegisterTaskDefinition
registerTaskDefinition p1 = RegisterTaskDefinition
{ _rtdFamily = p1
, _rtdContainerDefinitions = mempty
}
rtdContainerDefinitions :: Lens' RegisterTaskDefinition [ContainerDefinition]
rtdContainerDefinitions =
lens _rtdContainerDefinitions (\s a -> s { _rtdContainerDefinitions = a })
. _List
rtdFamily :: Lens' RegisterTaskDefinition Text
rtdFamily = lens _rtdFamily (\s a -> s { _rtdFamily = a })
newtype RegisterTaskDefinitionResponse = RegisterTaskDefinitionResponse
{ _rtdrTaskDefinition :: Maybe TaskDefinition
} deriving (Eq, Read, Show)
registerTaskDefinitionResponse :: RegisterTaskDefinitionResponse
registerTaskDefinitionResponse = RegisterTaskDefinitionResponse
{ _rtdrTaskDefinition = Nothing
}
rtdrTaskDefinition :: Lens' RegisterTaskDefinitionResponse (Maybe TaskDefinition)
rtdrTaskDefinition =
lens _rtdrTaskDefinition (\s a -> s { _rtdrTaskDefinition = a })
instance ToPath RegisterTaskDefinition where
toPath = const "/"
instance ToQuery RegisterTaskDefinition where
toQuery RegisterTaskDefinition{..} = mconcat
[ "containerDefinitions" =? _rtdContainerDefinitions
, "family" =? _rtdFamily
]
instance ToHeaders RegisterTaskDefinition
instance AWSRequest RegisterTaskDefinition where
type Sv RegisterTaskDefinition = ECS
type Rs RegisterTaskDefinition = RegisterTaskDefinitionResponse
request = post "RegisterTaskDefinition"
response = xmlResponse
instance FromXML RegisterTaskDefinitionResponse where
parseXML = withElement "RegisterTaskDefinitionResult" $ \x -> RegisterTaskDefinitionResponse
<$> x .@? "taskDefinition"