{-# 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.DescribeConfigurationSet
(
describeConfigurationSet
, DescribeConfigurationSet
, dcsConfigurationSetAttributeNames
, dcsConfigurationSetName
, describeConfigurationSetResponse
, DescribeConfigurationSetResponse
, dcsrsConfigurationSet
, dcsrsEventDestinations
, dcsrsResponseStatus
) 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 DescribeConfigurationSet = DescribeConfigurationSet'
{ _dcsConfigurationSetAttributeNames :: !(Maybe [ConfigurationSetAttribute])
, _dcsConfigurationSetName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeConfigurationSet
:: Text
-> DescribeConfigurationSet
describeConfigurationSet pConfigurationSetName_ =
DescribeConfigurationSet'
{ _dcsConfigurationSetAttributeNames = Nothing
, _dcsConfigurationSetName = pConfigurationSetName_
}
dcsConfigurationSetAttributeNames :: Lens' DescribeConfigurationSet [ConfigurationSetAttribute]
dcsConfigurationSetAttributeNames = lens _dcsConfigurationSetAttributeNames (\ s a -> s{_dcsConfigurationSetAttributeNames = a}) . _Default . _Coerce;
dcsConfigurationSetName :: Lens' DescribeConfigurationSet Text
dcsConfigurationSetName = lens _dcsConfigurationSetName (\ s a -> s{_dcsConfigurationSetName = a});
instance AWSRequest DescribeConfigurationSet where
type Rs DescribeConfigurationSet =
DescribeConfigurationSetResponse
request = postQuery ses
response
= receiveXMLWrapper "DescribeConfigurationSetResult"
(\ s h x ->
DescribeConfigurationSetResponse' <$>
(x .@? "ConfigurationSet") <*>
(x .@? "EventDestinations" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable DescribeConfigurationSet
instance NFData DescribeConfigurationSet
instance ToHeaders DescribeConfigurationSet where
toHeaders = const mempty
instance ToPath DescribeConfigurationSet where
toPath = const "/"
instance ToQuery DescribeConfigurationSet where
toQuery DescribeConfigurationSet'{..}
= mconcat
["Action" =:
("DescribeConfigurationSet" :: ByteString),
"Version" =: ("2010-12-01" :: ByteString),
"ConfigurationSetAttributeNames" =:
toQuery
(toQueryList "member" <$>
_dcsConfigurationSetAttributeNames),
"ConfigurationSetName" =: _dcsConfigurationSetName]
data DescribeConfigurationSetResponse = DescribeConfigurationSetResponse'
{ _dcsrsConfigurationSet :: !(Maybe ConfigurationSet)
, _dcsrsEventDestinations :: !(Maybe [EventDestination])
, _dcsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeConfigurationSetResponse
:: Int
-> DescribeConfigurationSetResponse
describeConfigurationSetResponse pResponseStatus_ =
DescribeConfigurationSetResponse'
{ _dcsrsConfigurationSet = Nothing
, _dcsrsEventDestinations = Nothing
, _dcsrsResponseStatus = pResponseStatus_
}
dcsrsConfigurationSet :: Lens' DescribeConfigurationSetResponse (Maybe ConfigurationSet)
dcsrsConfigurationSet = lens _dcsrsConfigurationSet (\ s a -> s{_dcsrsConfigurationSet = a});
dcsrsEventDestinations :: Lens' DescribeConfigurationSetResponse [EventDestination]
dcsrsEventDestinations = lens _dcsrsEventDestinations (\ s a -> s{_dcsrsEventDestinations = a}) . _Default . _Coerce;
dcsrsResponseStatus :: Lens' DescribeConfigurationSetResponse Int
dcsrsResponseStatus = lens _dcsrsResponseStatus (\ s a -> s{_dcsrsResponseStatus = a});
instance NFData DescribeConfigurationSetResponse