module Network.AWS.SES.CreateReceiptRule
(
createReceiptRule
, CreateReceiptRule
, crrAfter
, crrRuleSetName
, crrRule
, createReceiptRuleResponse
, CreateReceiptRuleResponse
, crrrsResponseStatus
) 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 CreateReceiptRule = CreateReceiptRule'
{ _crrAfter :: !(Maybe Text)
, _crrRuleSetName :: !Text
, _crrRule :: !ReceiptRule
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createReceiptRule
:: Text
-> ReceiptRule
-> CreateReceiptRule
createReceiptRule pRuleSetName_ pRule_ =
CreateReceiptRule'
{ _crrAfter = Nothing
, _crrRuleSetName = pRuleSetName_
, _crrRule = pRule_
}
crrAfter :: Lens' CreateReceiptRule (Maybe Text)
crrAfter = lens _crrAfter (\ s a -> s{_crrAfter = a});
crrRuleSetName :: Lens' CreateReceiptRule Text
crrRuleSetName = lens _crrRuleSetName (\ s a -> s{_crrRuleSetName = a});
crrRule :: Lens' CreateReceiptRule ReceiptRule
crrRule = lens _crrRule (\ s a -> s{_crrRule = a});
instance AWSRequest CreateReceiptRule where
type Rs CreateReceiptRule = CreateReceiptRuleResponse
request = postQuery ses
response
= receiveXMLWrapper "CreateReceiptRuleResult"
(\ s h x ->
CreateReceiptRuleResponse' <$> (pure (fromEnum s)))
instance Hashable CreateReceiptRule
instance NFData CreateReceiptRule
instance ToHeaders CreateReceiptRule where
toHeaders = const mempty
instance ToPath CreateReceiptRule where
toPath = const "/"
instance ToQuery CreateReceiptRule where
toQuery CreateReceiptRule'{..}
= mconcat
["Action" =: ("CreateReceiptRule" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"After" =: _crrAfter,
"RuleSetName" =: _crrRuleSetName, "Rule" =: _crrRule]
newtype CreateReceiptRuleResponse = CreateReceiptRuleResponse'
{ _crrrsResponseStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createReceiptRuleResponse
:: Int
-> CreateReceiptRuleResponse
createReceiptRuleResponse pResponseStatus_ =
CreateReceiptRuleResponse'
{ _crrrsResponseStatus = pResponseStatus_
}
crrrsResponseStatus :: Lens' CreateReceiptRuleResponse Int
crrrsResponseStatus = lens _crrrsResponseStatus (\ s a -> s{_crrrsResponseStatus = a});
instance NFData CreateReceiptRuleResponse