{-# 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.StepFunctions.CreateActivity
(
createActivity
, CreateActivity
, caName
, createActivityResponse
, CreateActivityResponse
, carsResponseStatus
, carsActivityARN
, carsCreationDate
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.StepFunctions.Types
import Network.AWS.StepFunctions.Types.Product
newtype CreateActivity = CreateActivity'
{ _caName :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createActivity
:: Text
-> CreateActivity
createActivity pName_ =
CreateActivity'
{ _caName = pName_
}
caName :: Lens' CreateActivity Text
caName = lens _caName (\ s a -> s{_caName = a});
instance AWSRequest CreateActivity where
type Rs CreateActivity = CreateActivityResponse
request = postJSON stepFunctions
response
= receiveJSON
(\ s h x ->
CreateActivityResponse' <$>
(pure (fromEnum s)) <*> (x .:> "activityArn") <*>
(x .:> "creationDate"))
instance Hashable CreateActivity
instance NFData CreateActivity
instance ToHeaders CreateActivity where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSStepFunctions.CreateActivity" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.0" :: ByteString)])
instance ToJSON CreateActivity where
toJSON CreateActivity'{..}
= object (catMaybes [Just ("name" .= _caName)])
instance ToPath CreateActivity where
toPath = const "/"
instance ToQuery CreateActivity where
toQuery = const mempty
data CreateActivityResponse = CreateActivityResponse'
{ _carsResponseStatus :: !Int
, _carsActivityARN :: !Text
, _carsCreationDate :: !POSIX
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createActivityResponse
:: Int
-> Text
-> UTCTime
-> CreateActivityResponse
createActivityResponse pResponseStatus_ pActivityARN_ pCreationDate_ =
CreateActivityResponse'
{ _carsResponseStatus = pResponseStatus_
, _carsActivityARN = pActivityARN_
, _carsCreationDate = _Time # pCreationDate_
}
carsResponseStatus :: Lens' CreateActivityResponse Int
carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a});
carsActivityARN :: Lens' CreateActivityResponse Text
carsActivityARN = lens _carsActivityARN (\ s a -> s{_carsActivityARN = a});
carsCreationDate :: Lens' CreateActivityResponse UTCTime
carsCreationDate = lens _carsCreationDate (\ s a -> s{_carsCreationDate = a}) . _Time;
instance NFData CreateActivityResponse