{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.SES.GetIdentityNotificationAttributes -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Given a list of verified identities (email addresses and\/or domains), -- returns a structure describing identity notification attributes. -- -- This action is throttled at one request per second and can only get -- notification attributes for up to 100 identities at a time. -- -- For more information about using notifications with Amazon SES, see the -- . -- -- /See:/ for GetIdentityNotificationAttributes. module Network.AWS.SES.GetIdentityNotificationAttributes ( -- * Creating a Request getIdentityNotificationAttributes , GetIdentityNotificationAttributes -- * Request Lenses , ginaIdentities -- * Destructuring the Response , getIdentityNotificationAttributesResponse , GetIdentityNotificationAttributesResponse -- * Response Lenses , ginarsStatus , ginarsNotificationAttributes ) where import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response import Network.AWS.SES.Types import Network.AWS.SES.Types.Product -- | /See:/ 'getIdentityNotificationAttributes' smart constructor. newtype GetIdentityNotificationAttributes = GetIdentityNotificationAttributes' { _ginaIdentities :: [Text] } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'GetIdentityNotificationAttributes' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ginaIdentities' getIdentityNotificationAttributes :: GetIdentityNotificationAttributes getIdentityNotificationAttributes = GetIdentityNotificationAttributes' { _ginaIdentities = mempty } -- | A list of one or more identities. You can specify an identity by using -- its name or by using its Amazon Resource Name (ARN). Examples: -- 'user\'example.com', 'example.com', -- 'arn:aws:ses:us-east-1:123456789012:identity\/example.com'. ginaIdentities :: Lens' GetIdentityNotificationAttributes [Text] ginaIdentities = lens _ginaIdentities (\ s a -> s{_ginaIdentities = a}) . _Coerce; instance AWSRequest GetIdentityNotificationAttributes where type Sv GetIdentityNotificationAttributes = SES type Rs GetIdentityNotificationAttributes = GetIdentityNotificationAttributesResponse request = postQuery response = receiveXMLWrapper "GetIdentityNotificationAttributesResult" (\ s h x -> GetIdentityNotificationAttributesResponse' <$> (pure (fromEnum s)) <*> (x .@? "NotificationAttributes" .!@ mempty >>= parseXMLMap "entry" "key" "value")) instance ToHeaders GetIdentityNotificationAttributes where toHeaders = const mempty instance ToPath GetIdentityNotificationAttributes where toPath = const "/" instance ToQuery GetIdentityNotificationAttributes where toQuery GetIdentityNotificationAttributes'{..} = mconcat ["Action" =: ("GetIdentityNotificationAttributes" :: ByteString), "Version" =: ("2010-12-01" :: ByteString), "Identities" =: toQueryList "member" _ginaIdentities] -- | Describes whether an identity has Amazon Simple Notification Service -- (Amazon SNS) topics set for bounce, complaint, and\/or delivery -- notifications, and specifies whether feedback forwarding is enabled for -- bounce and complaint notifications. -- -- /See:/ 'getIdentityNotificationAttributesResponse' smart constructor. data GetIdentityNotificationAttributesResponse = GetIdentityNotificationAttributesResponse' { _ginarsStatus :: !Int , _ginarsNotificationAttributes :: !(Map Text IdentityNotificationAttributes) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'GetIdentityNotificationAttributesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ginarsStatus' -- -- * 'ginarsNotificationAttributes' getIdentityNotificationAttributesResponse :: Int -- ^ 'ginarsStatus' -> GetIdentityNotificationAttributesResponse getIdentityNotificationAttributesResponse pStatus_ = GetIdentityNotificationAttributesResponse' { _ginarsStatus = pStatus_ , _ginarsNotificationAttributes = mempty } -- | The response status code. ginarsStatus :: Lens' GetIdentityNotificationAttributesResponse Int ginarsStatus = lens _ginarsStatus (\ s a -> s{_ginarsStatus = a}); -- | A map of Identity to IdentityNotificationAttributes. ginarsNotificationAttributes :: Lens' GetIdentityNotificationAttributesResponse (HashMap Text IdentityNotificationAttributes) ginarsNotificationAttributes = lens _ginarsNotificationAttributes (\ s a -> s{_ginarsNotificationAttributes = a}) . _Map;