{-# 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.ElastiCache.RemoveTagsFromResource
(
removeTagsFromResource
, RemoveTagsFromResource
, rtfrResourceName
, rtfrTagKeys
, tagListMessage
, TagListMessage
, tlmTagList
) where
import Network.AWS.ElastiCache.Types
import Network.AWS.ElastiCache.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data RemoveTagsFromResource = RemoveTagsFromResource'
{ _rtfrResourceName :: !Text
, _rtfrTagKeys :: ![Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
removeTagsFromResource
:: Text
-> RemoveTagsFromResource
removeTagsFromResource pResourceName_ =
RemoveTagsFromResource'
{_rtfrResourceName = pResourceName_, _rtfrTagKeys = mempty}
rtfrResourceName :: Lens' RemoveTagsFromResource Text
rtfrResourceName = lens _rtfrResourceName (\ s a -> s{_rtfrResourceName = a})
rtfrTagKeys :: Lens' RemoveTagsFromResource [Text]
rtfrTagKeys = lens _rtfrTagKeys (\ s a -> s{_rtfrTagKeys = a}) . _Coerce
instance AWSRequest RemoveTagsFromResource where
type Rs RemoveTagsFromResource = TagListMessage
request = postQuery elastiCache
response
= receiveXMLWrapper "RemoveTagsFromResourceResult"
(\ s h x -> parseXML x)
instance Hashable RemoveTagsFromResource where
instance NFData RemoveTagsFromResource where
instance ToHeaders RemoveTagsFromResource where
toHeaders = const mempty
instance ToPath RemoveTagsFromResource where
toPath = const "/"
instance ToQuery RemoveTagsFromResource where
toQuery RemoveTagsFromResource'{..}
= mconcat
["Action" =:
("RemoveTagsFromResource" :: ByteString),
"Version" =: ("2015-02-02" :: ByteString),
"ResourceName" =: _rtfrResourceName,
"TagKeys" =: toQueryList "member" _rtfrTagKeys]