module Network.AWS.SNS.SetSubscriptionAttributes
(
SetSubscriptionAttributes
, setSubscriptionAttributes
, ssaAttributeName
, ssaAttributeValue
, ssaSubscriptionArn
, SetSubscriptionAttributesResponse
, setSubscriptionAttributesResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.SNS.Types
import qualified GHC.Exts
data SetSubscriptionAttributes = SetSubscriptionAttributes
{ _ssaAttributeName :: Text
, _ssaAttributeValue :: Maybe Text
, _ssaSubscriptionArn :: Text
} deriving (Eq, Ord, Show)
setSubscriptionAttributes :: Text
-> Text
-> SetSubscriptionAttributes
setSubscriptionAttributes p1 p2 = SetSubscriptionAttributes
{ _ssaSubscriptionArn = p1
, _ssaAttributeName = p2
, _ssaAttributeValue = Nothing
}
ssaAttributeName :: Lens' SetSubscriptionAttributes Text
ssaAttributeName = lens _ssaAttributeName (\s a -> s { _ssaAttributeName = a })
ssaAttributeValue :: Lens' SetSubscriptionAttributes (Maybe Text)
ssaAttributeValue =
lens _ssaAttributeValue (\s a -> s { _ssaAttributeValue = a })
ssaSubscriptionArn :: Lens' SetSubscriptionAttributes Text
ssaSubscriptionArn =
lens _ssaSubscriptionArn (\s a -> s { _ssaSubscriptionArn = a })
data SetSubscriptionAttributesResponse = SetSubscriptionAttributesResponse
deriving (Eq, Ord, Show, Generic)
setSubscriptionAttributesResponse :: SetSubscriptionAttributesResponse
setSubscriptionAttributesResponse = SetSubscriptionAttributesResponse
instance ToPath SetSubscriptionAttributes where
toPath = const "/"
instance ToQuery SetSubscriptionAttributes where
toQuery SetSubscriptionAttributes{..} = mconcat
[ "AttributeName" =? _ssaAttributeName
, "AttributeValue" =? _ssaAttributeValue
, "SubscriptionArn" =? _ssaSubscriptionArn
]
instance ToHeaders SetSubscriptionAttributes
instance AWSRequest SetSubscriptionAttributes where
type Sv SetSubscriptionAttributes = SNS
type Rs SetSubscriptionAttributes = SetSubscriptionAttributesResponse
request = post "SetSubscriptionAttributes"
response = nullResponse SetSubscriptionAttributesResponse