module Network.AWS.Inspector.SetTagsForResource
(
setTagsForResource
, SetTagsForResource
, stfrResourceARN
, stfrTags
, setTagsForResourceResponse
, SetTagsForResourceResponse
, stfrrsMessage
, stfrrsResponseStatus
) where
import Network.AWS.Inspector.Types
import Network.AWS.Inspector.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data SetTagsForResource = SetTagsForResource'
{ _stfrResourceARN :: !(Maybe Text)
, _stfrTags :: !(Maybe [Tag])
} deriving (Eq,Read,Show,Data,Typeable,Generic)
setTagsForResource
:: SetTagsForResource
setTagsForResource =
SetTagsForResource'
{ _stfrResourceARN = Nothing
, _stfrTags = Nothing
}
stfrResourceARN :: Lens' SetTagsForResource (Maybe Text)
stfrResourceARN = lens _stfrResourceARN (\ s a -> s{_stfrResourceARN = a});
stfrTags :: Lens' SetTagsForResource [Tag]
stfrTags = lens _stfrTags (\ s a -> s{_stfrTags = a}) . _Default . _Coerce;
instance AWSRequest SetTagsForResource where
type Rs SetTagsForResource =
SetTagsForResourceResponse
request = postJSON inspector
response
= receiveJSON
(\ s h x ->
SetTagsForResourceResponse' <$>
(x .?> "message") <*> (pure (fromEnum s)))
instance ToHeaders SetTagsForResource where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("InspectorService.SetTagsForResource" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON SetTagsForResource where
toJSON SetTagsForResource'{..}
= object
(catMaybes
[("resourceArn" .=) <$> _stfrResourceARN,
("tags" .=) <$> _stfrTags])
instance ToPath SetTagsForResource where
toPath = const "/"
instance ToQuery SetTagsForResource where
toQuery = const mempty
data SetTagsForResourceResponse = SetTagsForResourceResponse'
{ _stfrrsMessage :: !(Maybe Text)
, _stfrrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
setTagsForResourceResponse
:: Int
-> SetTagsForResourceResponse
setTagsForResourceResponse pResponseStatus_ =
SetTagsForResourceResponse'
{ _stfrrsMessage = Nothing
, _stfrrsResponseStatus = pResponseStatus_
}
stfrrsMessage :: Lens' SetTagsForResourceResponse (Maybe Text)
stfrrsMessage = lens _stfrrsMessage (\ s a -> s{_stfrrsMessage = a});
stfrrsResponseStatus :: Lens' SetTagsForResourceResponse Int
stfrrsResponseStatus = lens _stfrrsResponseStatus (\ s a -> s{_stfrrsResponseStatus = a});