module Network.AWS.Discovery.CreateTags
(
createTags
, CreateTags
, ctConfigurationIds
, ctTags
, createTagsResponse
, CreateTagsResponse
, ctrsResponseStatus
) where
import Network.AWS.Discovery.Types
import Network.AWS.Discovery.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data CreateTags = CreateTags'
{ _ctConfigurationIds :: ![Text]
, _ctTags :: ![Tag]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
createTags
:: CreateTags
createTags =
CreateTags'
{ _ctConfigurationIds = mempty
, _ctTags = mempty
}
ctConfigurationIds :: Lens' CreateTags [Text]
ctConfigurationIds = lens _ctConfigurationIds (\ s a -> s{_ctConfigurationIds = a}) . _Coerce;
ctTags :: Lens' CreateTags [Tag]
ctTags = lens _ctTags (\ s a -> s{_ctTags = a}) . _Coerce;
instance AWSRequest CreateTags where
type Rs CreateTags = CreateTagsResponse
request = postJSON discovery
response
= receiveEmpty
(\ s h x ->
CreateTagsResponse' <$> (pure (fromEnum s)))
instance Hashable CreateTags
instance NFData CreateTags
instance ToHeaders CreateTags where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSPoseidonService_V2015_11_01.CreateTags" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CreateTags where
toJSON CreateTags'{..}
= object
(catMaybes
[Just ("configurationIds" .= _ctConfigurationIds),
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