module Network.AWS.ECS.RegisterTaskDefinition
(
registerTaskDefinition
, RegisterTaskDefinition
, rtdVolumes
, rtdFamily
, rtdContainerDefinitions
, registerTaskDefinitionResponse
, RegisterTaskDefinitionResponse
, rtdrsTaskDefinition
, rtdrsStatus
) where
import Network.AWS.ECS.Types
import Network.AWS.ECS.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data RegisterTaskDefinition = RegisterTaskDefinition'
{ _rtdVolumes :: !(Maybe [Volume])
, _rtdFamily :: !Text
, _rtdContainerDefinitions :: ![ContainerDefinition]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
registerTaskDefinition
:: Text
-> RegisterTaskDefinition
registerTaskDefinition pFamily_ =
RegisterTaskDefinition'
{ _rtdVolumes = Nothing
, _rtdFamily = pFamily_
, _rtdContainerDefinitions = mempty
}
rtdVolumes :: Lens' RegisterTaskDefinition [Volume]
rtdVolumes = lens _rtdVolumes (\ s a -> s{_rtdVolumes = a}) . _Default . _Coerce;
rtdFamily :: Lens' RegisterTaskDefinition Text
rtdFamily = lens _rtdFamily (\ s a -> s{_rtdFamily = a});
rtdContainerDefinitions :: Lens' RegisterTaskDefinition [ContainerDefinition]
rtdContainerDefinitions = lens _rtdContainerDefinitions (\ s a -> s{_rtdContainerDefinitions = a}) . _Coerce;
instance AWSRequest RegisterTaskDefinition where
type Sv RegisterTaskDefinition = ECS
type Rs RegisterTaskDefinition =
RegisterTaskDefinitionResponse
request = postJSON
response
= receiveJSON
(\ s h x ->
RegisterTaskDefinitionResponse' <$>
(x .?> "taskDefinition") <*> (pure (fromEnum s)))
instance ToHeaders RegisterTaskDefinition where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonEC2ContainerServiceV20141113.RegisterTaskDefinition"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON RegisterTaskDefinition where
toJSON RegisterTaskDefinition'{..}
= object
["volumes" .= _rtdVolumes, "family" .= _rtdFamily,
"containerDefinitions" .= _rtdContainerDefinitions]
instance ToPath RegisterTaskDefinition where
toPath = const "/"
instance ToQuery RegisterTaskDefinition where
toQuery = const mempty
data RegisterTaskDefinitionResponse = RegisterTaskDefinitionResponse'
{ _rtdrsTaskDefinition :: !(Maybe TaskDefinition)
, _rtdrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
registerTaskDefinitionResponse
:: Int
-> RegisterTaskDefinitionResponse
registerTaskDefinitionResponse pStatus_ =
RegisterTaskDefinitionResponse'
{ _rtdrsTaskDefinition = Nothing
, _rtdrsStatus = pStatus_
}
rtdrsTaskDefinition :: Lens' RegisterTaskDefinitionResponse (Maybe TaskDefinition)
rtdrsTaskDefinition = lens _rtdrsTaskDefinition (\ s a -> s{_rtdrsTaskDefinition = a});
rtdrsStatus :: Lens' RegisterTaskDefinitionResponse Int
rtdrsStatus = lens _rtdrsStatus (\ s a -> s{_rtdrsStatus = a});