module Network.AWS.Redshift.DeleteTags
(
deleteTags
, DeleteTags
, dtsResourceName
, dtsTagKeys
, deleteTagsResponse
, DeleteTagsResponse
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Redshift.Types
import Network.AWS.Redshift.Types.Product
import Network.AWS.Request
import Network.AWS.Response
data DeleteTags = DeleteTags'
{ _dtsResourceName :: !Text
, _dtsTagKeys :: ![Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteTags
:: Text
-> DeleteTags
deleteTags pResourceName_ =
DeleteTags'
{ _dtsResourceName = pResourceName_
, _dtsTagKeys = mempty
}
dtsResourceName :: Lens' DeleteTags Text
dtsResourceName = lens _dtsResourceName (\ s a -> s{_dtsResourceName = a});
dtsTagKeys :: Lens' DeleteTags [Text]
dtsTagKeys = lens _dtsTagKeys (\ s a -> s{_dtsTagKeys = a}) . _Coerce;
instance AWSRequest DeleteTags where
type Rs DeleteTags = DeleteTagsResponse
request = postQuery redshift
response = receiveNull DeleteTagsResponse'
instance Hashable DeleteTags
instance NFData DeleteTags
instance ToHeaders DeleteTags where
toHeaders = const mempty
instance ToPath DeleteTags where
toPath = const "/"
instance ToQuery DeleteTags where
toQuery DeleteTags'{..}
= mconcat
["Action" =: ("DeleteTags" :: ByteString),
"Version" =: ("2012-12-01" :: ByteString),
"ResourceName" =: _dtsResourceName,
"TagKeys" =: toQueryList "TagKey" _dtsTagKeys]
data DeleteTagsResponse =
DeleteTagsResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteTagsResponse
:: DeleteTagsResponse
deleteTagsResponse = DeleteTagsResponse'
instance NFData DeleteTagsResponse