module Network.AWS.Route53.ChangeTagsForResource
(
ChangeTagsForResource
, changeTagsForResource
, ctfrAddTags
, ctfrRemoveTagKeys
, ctfrResourceId
, ctfrResourceType
, ChangeTagsForResourceResponse
, changeTagsForResourceResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.RestXML
import Network.AWS.Route53.Types
import qualified GHC.Exts
data ChangeTagsForResource = ChangeTagsForResource
{ _ctfrAddTags :: List1 "Tag" Tag
, _ctfrRemoveTagKeys :: List1 "Key" Text
, _ctfrResourceId :: Text
, _ctfrResourceType :: TagResourceType
} deriving (Eq, Show)
changeTagsForResource :: TagResourceType
-> Text
-> NonEmpty Tag
-> NonEmpty Text
-> ChangeTagsForResource
changeTagsForResource p1 p2 p3 p4 = ChangeTagsForResource
{ _ctfrResourceType = p1
, _ctfrResourceId = p2
, _ctfrAddTags = withIso _List1 (const id) p3
, _ctfrRemoveTagKeys = withIso _List1 (const id) p4
}
ctfrAddTags :: Lens' ChangeTagsForResource (NonEmpty Tag)
ctfrAddTags = lens _ctfrAddTags (\s a -> s { _ctfrAddTags = a }) . _List1
ctfrRemoveTagKeys :: Lens' ChangeTagsForResource (NonEmpty Text)
ctfrRemoveTagKeys =
lens _ctfrRemoveTagKeys (\s a -> s { _ctfrRemoveTagKeys = a })
. _List1
ctfrResourceId :: Lens' ChangeTagsForResource Text
ctfrResourceId = lens _ctfrResourceId (\s a -> s { _ctfrResourceId = a })
ctfrResourceType :: Lens' ChangeTagsForResource TagResourceType
ctfrResourceType = lens _ctfrResourceType (\s a -> s { _ctfrResourceType = a })
data ChangeTagsForResourceResponse = ChangeTagsForResourceResponse
deriving (Eq, Ord, Show, Generic)
changeTagsForResourceResponse :: ChangeTagsForResourceResponse
changeTagsForResourceResponse = ChangeTagsForResourceResponse
instance ToPath ChangeTagsForResource where
toPath ChangeTagsForResource{..} = mconcat
[ "/2013-04-01/tags/"
, toText _ctfrResourceType
, "/"
, toText _ctfrResourceId
]
instance ToQuery ChangeTagsForResource where
toQuery = const mempty
instance ToHeaders ChangeTagsForResource
instance ToXMLRoot ChangeTagsForResource where
toXMLRoot ChangeTagsForResource{..} = namespaced ns "ChangeTagsForResource"
[ "AddTags" =@ _ctfrAddTags
, "RemoveTagKeys" =@ _ctfrRemoveTagKeys
]
instance ToXML ChangeTagsForResource
instance AWSRequest ChangeTagsForResource where
type Sv ChangeTagsForResource = Route53
type Rs ChangeTagsForResource = ChangeTagsForResourceResponse
request = post
response = nullResponse ChangeTagsForResourceResponse