{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.ECS.DescribeTaskDefinition
(
describeTaskDefinition
, DescribeTaskDefinition
, dtdTaskDefinition
, describeTaskDefinitionResponse
, DescribeTaskDefinitionResponse
, desrsTaskDefinition
, desrsResponseStatus
) where
import Network.AWS.ECS.Types
import Network.AWS.ECS.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeTaskDefinition = DescribeTaskDefinition'
{ _dtdTaskDefinition :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTaskDefinition
:: Text
-> DescribeTaskDefinition
describeTaskDefinition pTaskDefinition_ =
DescribeTaskDefinition'
{ _dtdTaskDefinition = pTaskDefinition_
}
dtdTaskDefinition :: Lens' DescribeTaskDefinition Text
dtdTaskDefinition = lens _dtdTaskDefinition (\ s a -> s{_dtdTaskDefinition = a});
instance AWSRequest DescribeTaskDefinition where
type Rs DescribeTaskDefinition =
DescribeTaskDefinitionResponse
request = postJSON ecs
response
= receiveJSON
(\ s h x ->
DescribeTaskDefinitionResponse' <$>
(x .?> "taskDefinition") <*> (pure (fromEnum s)))
instance Hashable DescribeTaskDefinition
instance NFData DescribeTaskDefinition
instance ToHeaders DescribeTaskDefinition where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonEC2ContainerServiceV20141113.DescribeTaskDefinition"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeTaskDefinition where
toJSON DescribeTaskDefinition'{..}
= object
(catMaybes
[Just ("taskDefinition" .= _dtdTaskDefinition)])
instance ToPath DescribeTaskDefinition where
toPath = const "/"
instance ToQuery DescribeTaskDefinition where
toQuery = const mempty
data DescribeTaskDefinitionResponse = DescribeTaskDefinitionResponse'
{ _desrsTaskDefinition :: !(Maybe TaskDefinition)
, _desrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTaskDefinitionResponse
:: Int
-> DescribeTaskDefinitionResponse
describeTaskDefinitionResponse pResponseStatus_ =
DescribeTaskDefinitionResponse'
{ _desrsTaskDefinition = Nothing
, _desrsResponseStatus = pResponseStatus_
}
desrsTaskDefinition :: Lens' DescribeTaskDefinitionResponse (Maybe TaskDefinition)
desrsTaskDefinition = lens _desrsTaskDefinition (\ s a -> s{_desrsTaskDefinition = a});
desrsResponseStatus :: Lens' DescribeTaskDefinitionResponse Int
desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a});
instance NFData DescribeTaskDefinitionResponse