{-# 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.SES.CloneReceiptRuleSet
(
cloneReceiptRuleSet
, CloneReceiptRuleSet
, cRuleSetName
, cOriginalRuleSetName
, cloneReceiptRuleSetResponse
, CloneReceiptRuleSetResponse
, crsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SES.Types
import Network.AWS.SES.Types.Product
data CloneReceiptRuleSet = CloneReceiptRuleSet'
{ _cRuleSetName :: !Text
, _cOriginalRuleSetName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
cloneReceiptRuleSet
:: Text
-> Text
-> CloneReceiptRuleSet
cloneReceiptRuleSet pRuleSetName_ pOriginalRuleSetName_ =
CloneReceiptRuleSet'
{ _cRuleSetName = pRuleSetName_
, _cOriginalRuleSetName = pOriginalRuleSetName_
}
cRuleSetName :: Lens' CloneReceiptRuleSet Text
cRuleSetName = lens _cRuleSetName (\ s a -> s{_cRuleSetName = a})
cOriginalRuleSetName :: Lens' CloneReceiptRuleSet Text
cOriginalRuleSetName = lens _cOriginalRuleSetName (\ s a -> s{_cOriginalRuleSetName = a})
instance AWSRequest CloneReceiptRuleSet where
type Rs CloneReceiptRuleSet =
CloneReceiptRuleSetResponse
request = postQuery ses
response
= receiveXMLWrapper "CloneReceiptRuleSetResult"
(\ s h x ->
CloneReceiptRuleSetResponse' <$> (pure (fromEnum s)))
instance Hashable CloneReceiptRuleSet where
instance NFData CloneReceiptRuleSet where
instance ToHeaders CloneReceiptRuleSet where
toHeaders = const mempty
instance ToPath CloneReceiptRuleSet where
toPath = const "/"
instance ToQuery CloneReceiptRuleSet where
toQuery CloneReceiptRuleSet'{..}
= mconcat
["Action" =: ("CloneReceiptRuleSet" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"RuleSetName" =: _cRuleSetName,
"OriginalRuleSetName" =: _cOriginalRuleSetName]
newtype CloneReceiptRuleSetResponse = CloneReceiptRuleSetResponse'
{ _crsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
cloneReceiptRuleSetResponse
:: Int
-> CloneReceiptRuleSetResponse
cloneReceiptRuleSetResponse pResponseStatus_ =
CloneReceiptRuleSetResponse' {_crsResponseStatus = pResponseStatus_}
crsResponseStatus :: Lens' CloneReceiptRuleSetResponse Int
crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a})
instance NFData CloneReceiptRuleSetResponse where