{-# 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.Redshift.CreateTags
(
createTags
, CreateTags
, ctResourceName
, ctTags
, createTagsResponse
, CreateTagsResponse
) 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 CreateTags = CreateTags'
{ _ctResourceName :: !Text
, _ctTags :: ![Tag]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createTags
:: Text
-> CreateTags
createTags pResourceName_ =
CreateTags'
{ _ctResourceName = pResourceName_
, _ctTags = mempty
}
ctResourceName :: Lens' CreateTags Text
ctResourceName = lens _ctResourceName (\ s a -> s{_ctResourceName = a});
ctTags :: Lens' CreateTags [Tag]
ctTags = lens _ctTags (\ s a -> s{_ctTags = a}) . _Coerce;
instance AWSRequest CreateTags where
type Rs CreateTags = CreateTagsResponse
request = postQuery redshift
response = receiveNull CreateTagsResponse'
instance Hashable CreateTags
instance NFData CreateTags
instance ToHeaders CreateTags where
toHeaders = const mempty
instance ToPath CreateTags where
toPath = const "/"
instance ToQuery CreateTags where
toQuery CreateTags'{..}
= mconcat
["Action" =: ("CreateTags" :: ByteString),
"Version" =: ("2012-12-01" :: ByteString),
"ResourceName" =: _ctResourceName,
"Tags" =: toQueryList "Tag" _ctTags]
data CreateTagsResponse =
CreateTagsResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
createTagsResponse
:: CreateTagsResponse
createTagsResponse = CreateTagsResponse'
instance NFData CreateTagsResponse