module Network.AWS.Route53.ListTagsForResources
(
ListTagsForResources
, listTagsForResources
, ltfr1ResourceIds
, ltfr1ResourceType
, ListTagsForResourcesResponse
, listTagsForResourcesResponse
, ltfrrResourceTagSets
) where
import Network.AWS.Prelude
import Network.AWS.Request.RestXML
import Network.AWS.Route53.Types
import qualified GHC.Exts
data ListTagsForResources = ListTagsForResources
{ _ltfr1ResourceIds :: List1 "ResourceId" Text
, _ltfr1ResourceType :: TagResourceType
} deriving (Eq, Show)
listTagsForResources :: TagResourceType
-> NonEmpty Text
-> ListTagsForResources
listTagsForResources p1 p2 = ListTagsForResources
{ _ltfr1ResourceType = p1
, _ltfr1ResourceIds = withIso _List1 (const id) p2
}
ltfr1ResourceIds :: Lens' ListTagsForResources (NonEmpty Text)
ltfr1ResourceIds = lens _ltfr1ResourceIds (\s a -> s { _ltfr1ResourceIds = a }) . _List1
ltfr1ResourceType :: Lens' ListTagsForResources TagResourceType
ltfr1ResourceType =
lens _ltfr1ResourceType (\s a -> s { _ltfr1ResourceType = a })
newtype ListTagsForResourcesResponse = ListTagsForResourcesResponse
{ _ltfrrResourceTagSets :: List "ResourceTagSet" ResourceTagSet
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList ListTagsForResourcesResponse where
type Item ListTagsForResourcesResponse = ResourceTagSet
fromList = ListTagsForResourcesResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _ltfrrResourceTagSets
listTagsForResourcesResponse :: ListTagsForResourcesResponse
listTagsForResourcesResponse = ListTagsForResourcesResponse
{ _ltfrrResourceTagSets = mempty
}
ltfrrResourceTagSets :: Lens' ListTagsForResourcesResponse [ResourceTagSet]
ltfrrResourceTagSets =
lens _ltfrrResourceTagSets (\s a -> s { _ltfrrResourceTagSets = a })
. _List
instance ToPath ListTagsForResources where
toPath ListTagsForResources{..} = mconcat
[ "/2013-04-01/tags/"
, toText _ltfr1ResourceType
]
instance ToQuery ListTagsForResources where
toQuery = const mempty
instance ToHeaders ListTagsForResources
instance ToXMLRoot ListTagsForResources where
toXMLRoot ListTagsForResources{..} = namespaced ns "ListTagsForResources"
[ "ResourceIds" =@ _ltfr1ResourceIds
]
instance ToXML ListTagsForResources
instance AWSRequest ListTagsForResources where
type Sv ListTagsForResources = Route53
type Rs ListTagsForResources = ListTagsForResourcesResponse
request = post
response = xmlResponse
instance FromXML ListTagsForResourcesResponse where
parseXML x = ListTagsForResourcesResponse
<$> x .@? "ResourceTagSets" .!@ mempty