{-# 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.Discovery.DeleteTags
(
deleteTags
, DeleteTags
, dtTags
, dtConfigurationIds
, deleteTagsResponse
, DeleteTagsResponse
, drsResponseStatus
) 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 DeleteTags = DeleteTags'
{ _dtTags :: !(Maybe [Tag])
, _dtConfigurationIds :: ![Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteTags
:: DeleteTags
deleteTags = DeleteTags' {_dtTags = Nothing, _dtConfigurationIds = mempty}
dtTags :: Lens' DeleteTags [Tag]
dtTags = lens _dtTags (\ s a -> s{_dtTags = a}) . _Default . _Coerce
dtConfigurationIds :: Lens' DeleteTags [Text]
dtConfigurationIds = lens _dtConfigurationIds (\ s a -> s{_dtConfigurationIds = a}) . _Coerce
instance AWSRequest DeleteTags where
type Rs DeleteTags = DeleteTagsResponse
request = postJSON discovery
response
= receiveEmpty
(\ s h x ->
DeleteTagsResponse' <$> (pure (fromEnum s)))
instance Hashable DeleteTags where
instance NFData DeleteTags where
instance ToHeaders DeleteTags where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSPoseidonService_V2015_11_01.DeleteTags" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteTags where
toJSON DeleteTags'{..}
= object
(catMaybes
[("tags" .=) <$> _dtTags,
Just ("configurationIds" .= _dtConfigurationIds)])
instance ToPath DeleteTags where
toPath = const "/"
instance ToQuery DeleteTags where
toQuery = const mempty
newtype DeleteTagsResponse = DeleteTagsResponse'
{ _drsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteTagsResponse
:: Int
-> DeleteTagsResponse
deleteTagsResponse pResponseStatus_ =
DeleteTagsResponse' {_drsResponseStatus = pResponseStatus_}
drsResponseStatus :: Lens' DeleteTagsResponse Int
drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})
instance NFData DeleteTagsResponse where