module Network.AWS.RDS.ListTagsForResource
(
ListTagsForResource
, listTagsForResource
, ltfrFilters
, ltfrResourceName
, ListTagsForResourceResponse
, listTagsForResourceResponse
, ltfrrTagList
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.RDS.Types
import qualified GHC.Exts
data ListTagsForResource = ListTagsForResource
{ _ltfrFilters :: List "member" Filter
, _ltfrResourceName :: Text
} deriving (Eq, Show)
listTagsForResource :: Text
-> ListTagsForResource
listTagsForResource p1 = ListTagsForResource
{ _ltfrResourceName = p1
, _ltfrFilters = mempty
}
ltfrFilters :: Lens' ListTagsForResource [Filter]
ltfrFilters = lens _ltfrFilters (\s a -> s { _ltfrFilters = a }) . _List
ltfrResourceName :: Lens' ListTagsForResource Text
ltfrResourceName = lens _ltfrResourceName (\s a -> s { _ltfrResourceName = a })
newtype ListTagsForResourceResponse = ListTagsForResourceResponse
{ _ltfrrTagList :: List "member" Tag
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList ListTagsForResourceResponse where
type Item ListTagsForResourceResponse = Tag
fromList = ListTagsForResourceResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _ltfrrTagList
listTagsForResourceResponse :: ListTagsForResourceResponse
listTagsForResourceResponse = ListTagsForResourceResponse
{ _ltfrrTagList = mempty
}
ltfrrTagList :: Lens' ListTagsForResourceResponse [Tag]
ltfrrTagList = lens _ltfrrTagList (\s a -> s { _ltfrrTagList = a }) . _List
instance ToPath ListTagsForResource where
toPath = const "/"
instance ToQuery ListTagsForResource where
toQuery ListTagsForResource{..} = mconcat
[ "Filters" =? _ltfrFilters
, "ResourceName" =? _ltfrResourceName
]
instance ToHeaders ListTagsForResource
instance AWSRequest ListTagsForResource where
type Sv ListTagsForResource = RDS
type Rs ListTagsForResource = ListTagsForResourceResponse
request = post "ListTagsForResource"
response = xmlResponse
instance FromXML ListTagsForResourceResponse where
parseXML = withElement "ListTagsForResourceResult" $ \x -> ListTagsForResourceResponse
<$> x .@? "TagList" .!@ mempty