module Network.AWS.ELB.DescribeTags
(
describeTags
, DescribeTags
, dtLoadBalancerNames
, describeTagsResponse
, DescribeTagsResponse
, dtrsTagDescriptions
, dtrsStatus
) where
import Network.AWS.ELB.Types
import Network.AWS.ELB.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeTags = DescribeTags'
{ _dtLoadBalancerNames :: List1 Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTags
:: NonEmpty Text
-> DescribeTags
describeTags pLoadBalancerNames_ =
DescribeTags'
{ _dtLoadBalancerNames = _List1 # pLoadBalancerNames_
}
dtLoadBalancerNames :: Lens' DescribeTags (NonEmpty Text)
dtLoadBalancerNames = lens _dtLoadBalancerNames (\ s a -> s{_dtLoadBalancerNames = a}) . _List1;
instance AWSRequest DescribeTags where
type Rs DescribeTags = DescribeTagsResponse
request = postQuery eLB
response
= receiveXMLWrapper "DescribeTagsResult"
(\ s h x ->
DescribeTagsResponse' <$>
(x .@? "TagDescriptions" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance ToHeaders DescribeTags where
toHeaders = const mempty
instance ToPath DescribeTags where
toPath = const "/"
instance ToQuery DescribeTags where
toQuery DescribeTags'{..}
= mconcat
["Action" =: ("DescribeTags" :: ByteString),
"Version" =: ("2012-06-01" :: ByteString),
"LoadBalancerNames" =:
toQueryList "member" _dtLoadBalancerNames]
data DescribeTagsResponse = DescribeTagsResponse'
{ _dtrsTagDescriptions :: !(Maybe [TagDescription])
, _dtrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTagsResponse
:: Int
-> DescribeTagsResponse
describeTagsResponse pStatus_ =
DescribeTagsResponse'
{ _dtrsTagDescriptions = Nothing
, _dtrsStatus = pStatus_
}
dtrsTagDescriptions :: Lens' DescribeTagsResponse [TagDescription]
dtrsTagDescriptions = lens _dtrsTagDescriptions (\ s a -> s{_dtrsTagDescriptions = a}) . _Default . _Coerce;
dtrsStatus :: Lens' DescribeTagsResponse Int
dtrsStatus = lens _dtrsStatus (\ s a -> s{_dtrsStatus = a});