module Network.AWS.ECS.DeregisterTaskDefinition
(
DeregisterTaskDefinition
, deregisterTaskDefinition
, dtd1TaskDefinition
, DeregisterTaskDefinitionResponse
, deregisterTaskDefinitionResponse
, dtdrTaskDefinition
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.ECS.Types
import qualified GHC.Exts
newtype DeregisterTaskDefinition = DeregisterTaskDefinition
{ _dtd1TaskDefinition :: Text
} deriving (Eq, Ord, Read, Show, Monoid, IsString)
deregisterTaskDefinition :: Text
-> DeregisterTaskDefinition
deregisterTaskDefinition p1 = DeregisterTaskDefinition
{ _dtd1TaskDefinition = p1
}
dtd1TaskDefinition :: Lens' DeregisterTaskDefinition Text
dtd1TaskDefinition =
lens _dtd1TaskDefinition (\s a -> s { _dtd1TaskDefinition = a })
newtype DeregisterTaskDefinitionResponse = DeregisterTaskDefinitionResponse
{ _dtdrTaskDefinition :: Maybe TaskDefinition
} deriving (Eq, Read, Show)
deregisterTaskDefinitionResponse :: DeregisterTaskDefinitionResponse
deregisterTaskDefinitionResponse = DeregisterTaskDefinitionResponse
{ _dtdrTaskDefinition = Nothing
}
dtdrTaskDefinition :: Lens' DeregisterTaskDefinitionResponse (Maybe TaskDefinition)
dtdrTaskDefinition =
lens _dtdrTaskDefinition (\s a -> s { _dtdrTaskDefinition = a })
instance ToPath DeregisterTaskDefinition where
toPath = const "/"
instance ToQuery DeregisterTaskDefinition where
toQuery = const mempty
instance ToHeaders DeregisterTaskDefinition
instance ToJSON DeregisterTaskDefinition where
toJSON DeregisterTaskDefinition{..} = object
[ "taskDefinition" .= _dtd1TaskDefinition
]
instance AWSRequest DeregisterTaskDefinition where
type Sv DeregisterTaskDefinition = ECS
type Rs DeregisterTaskDefinition = DeregisterTaskDefinitionResponse
request = post "DeregisterTaskDefinition"
response = jsonResponse
instance FromJSON DeregisterTaskDefinitionResponse where
parseJSON = withObject "DeregisterTaskDefinitionResponse" $ \o -> DeregisterTaskDefinitionResponse
<$> o .:? "taskDefinition"