{-# 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.WorkSpaces.CreateTags
(
createTags
, CreateTags
, ctResourceId
, ctTags
, createTagsResponse
, CreateTagsResponse
, ctrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.WorkSpaces.Types
import Network.AWS.WorkSpaces.Types.Product
data CreateTags = CreateTags'
{ _ctResourceId :: !Text
, _ctTags :: ![Tag]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createTags
:: Text
-> CreateTags
createTags pResourceId_ =
CreateTags' {_ctResourceId = pResourceId_, _ctTags = mempty}
ctResourceId :: Lens' CreateTags Text
ctResourceId = lens _ctResourceId (\ s a -> s{_ctResourceId = a})
ctTags :: Lens' CreateTags [Tag]
ctTags = lens _ctTags (\ s a -> s{_ctTags = a}) . _Coerce
instance AWSRequest CreateTags where
type Rs CreateTags = CreateTagsResponse
request = postJSON workSpaces
response
= receiveEmpty
(\ s h x ->
CreateTagsResponse' <$> (pure (fromEnum s)))
instance Hashable CreateTags where
instance NFData CreateTags where
instance ToHeaders CreateTags where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("WorkspacesService.CreateTags" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CreateTags where
toJSON CreateTags'{..}
= object
(catMaybes
[Just ("ResourceId" .= _ctResourceId),
Just ("Tags" .= _ctTags)])
instance ToPath CreateTags where
toPath = const "/"
instance ToQuery CreateTags where
toQuery = const mempty
newtype CreateTagsResponse = CreateTagsResponse'
{ _ctrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createTagsResponse
:: Int
-> CreateTagsResponse
createTagsResponse pResponseStatus_ =
CreateTagsResponse' {_ctrsResponseStatus = pResponseStatus_}
ctrsResponseStatus :: Lens' CreateTagsResponse Int
ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a})
instance NFData CreateTagsResponse where