module Network.AWS.Route53.ListTagsForResources
(
listTagsForResources
, ListTagsForResources
, lResourceType
, lResourceIds
, listTagsForResourcesResponse
, ListTagsForResourcesResponse
, lrsResponseStatus
, lrsResourceTagSets
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.Route53.Types
import Network.AWS.Route53.Types.Product
data ListTagsForResources = ListTagsForResources'
{ _lResourceType :: !TagResourceType
, _lResourceIds :: !(List1 Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsForResources
:: TagResourceType
-> NonEmpty Text
-> ListTagsForResources
listTagsForResources pResourceType_ pResourceIds_ =
ListTagsForResources'
{_lResourceType = pResourceType_, _lResourceIds = _List1 # pResourceIds_}
lResourceType :: Lens' ListTagsForResources TagResourceType
lResourceType = lens _lResourceType (\ s a -> s{_lResourceType = a});
lResourceIds :: Lens' ListTagsForResources (NonEmpty Text)
lResourceIds = lens _lResourceIds (\ s a -> s{_lResourceIds = a}) . _List1;
instance AWSRequest ListTagsForResources where
type Rs ListTagsForResources =
ListTagsForResourcesResponse
request = postXML route53
response
= receiveXML
(\ s h x ->
ListTagsForResourcesResponse' <$>
(pure (fromEnum s)) <*>
(x .@? "ResourceTagSets" .!@ mempty >>=
parseXMLList "ResourceTagSet"))
instance Hashable ListTagsForResources where
instance NFData ListTagsForResources where
instance ToElement ListTagsForResources where
toElement
= mkElement
"{https://route53.amazonaws.com/doc/2013-04-01/}ListTagsForResourcesRequest"
instance ToHeaders ListTagsForResources where
toHeaders = const mempty
instance ToPath ListTagsForResources where
toPath ListTagsForResources'{..}
= mconcat ["/2013-04-01/tags/", toBS _lResourceType]
instance ToQuery ListTagsForResources where
toQuery = const mempty
instance ToXML ListTagsForResources where
toXML ListTagsForResources'{..}
= mconcat
["ResourceIds" @=
toXMLList "ResourceId" _lResourceIds]
data ListTagsForResourcesResponse = ListTagsForResourcesResponse'
{ _lrsResponseStatus :: !Int
, _lrsResourceTagSets :: ![ResourceTagSet]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTagsForResourcesResponse
:: Int
-> ListTagsForResourcesResponse
listTagsForResourcesResponse pResponseStatus_ =
ListTagsForResourcesResponse'
{_lrsResponseStatus = pResponseStatus_, _lrsResourceTagSets = mempty}
lrsResponseStatus :: Lens' ListTagsForResourcesResponse Int
lrsResponseStatus = lens _lrsResponseStatus (\ s a -> s{_lrsResponseStatus = a});
lrsResourceTagSets :: Lens' ListTagsForResourcesResponse [ResourceTagSet]
lrsResourceTagSets = lens _lrsResourceTagSets (\ s a -> s{_lrsResourceTagSets = a}) . _Coerce;
instance NFData ListTagsForResourcesResponse where