{-# 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.SWF.DescribeWorkflowType
(
describeWorkflowType
, DescribeWorkflowType
, dwtDomain
, dwtWorkflowType
, describeWorkflowTypeResponse
, DescribeWorkflowTypeResponse
, dwtrsResponseStatus
, dwtrsTypeInfo
, dwtrsConfiguration
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SWF.Types
import Network.AWS.SWF.Types.Product
data DescribeWorkflowType = DescribeWorkflowType'
{ _dwtDomain :: !Text
, _dwtWorkflowType :: !WorkflowType
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeWorkflowType
:: Text
-> WorkflowType
-> DescribeWorkflowType
describeWorkflowType pDomain_ pWorkflowType_ =
DescribeWorkflowType'
{ _dwtDomain = pDomain_
, _dwtWorkflowType = pWorkflowType_
}
dwtDomain :: Lens' DescribeWorkflowType Text
dwtDomain = lens _dwtDomain (\ s a -> s{_dwtDomain = a});
dwtWorkflowType :: Lens' DescribeWorkflowType WorkflowType
dwtWorkflowType = lens _dwtWorkflowType (\ s a -> s{_dwtWorkflowType = a});
instance AWSRequest DescribeWorkflowType where
type Rs DescribeWorkflowType =
DescribeWorkflowTypeResponse
request = postJSON swf
response
= receiveJSON
(\ s h x ->
DescribeWorkflowTypeResponse' <$>
(pure (fromEnum s)) <*> (x .:> "typeInfo") <*>
(x .:> "configuration"))
instance Hashable DescribeWorkflowType
instance NFData DescribeWorkflowType
instance ToHeaders DescribeWorkflowType where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("SimpleWorkflowService.DescribeWorkflowType" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.0" :: ByteString)])
instance ToJSON DescribeWorkflowType where
toJSON DescribeWorkflowType'{..}
= object
(catMaybes
[Just ("domain" .= _dwtDomain),
Just ("workflowType" .= _dwtWorkflowType)])
instance ToPath DescribeWorkflowType where
toPath = const "/"
instance ToQuery DescribeWorkflowType where
toQuery = const mempty
data DescribeWorkflowTypeResponse = DescribeWorkflowTypeResponse'
{ _dwtrsResponseStatus :: !Int
, _dwtrsTypeInfo :: !WorkflowTypeInfo
, _dwtrsConfiguration :: !WorkflowTypeConfiguration
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeWorkflowTypeResponse
:: Int
-> WorkflowTypeInfo
-> WorkflowTypeConfiguration
-> DescribeWorkflowTypeResponse
describeWorkflowTypeResponse pResponseStatus_ pTypeInfo_ pConfiguration_ =
DescribeWorkflowTypeResponse'
{ _dwtrsResponseStatus = pResponseStatus_
, _dwtrsTypeInfo = pTypeInfo_
, _dwtrsConfiguration = pConfiguration_
}
dwtrsResponseStatus :: Lens' DescribeWorkflowTypeResponse Int
dwtrsResponseStatus = lens _dwtrsResponseStatus (\ s a -> s{_dwtrsResponseStatus = a});
dwtrsTypeInfo :: Lens' DescribeWorkflowTypeResponse WorkflowTypeInfo
dwtrsTypeInfo = lens _dwtrsTypeInfo (\ s a -> s{_dwtrsTypeInfo = a});
dwtrsConfiguration :: Lens' DescribeWorkflowTypeResponse WorkflowTypeConfiguration
dwtrsConfiguration = lens _dwtrsConfiguration (\ s a -> s{_dwtrsConfiguration = a});
instance NFData DescribeWorkflowTypeResponse