module Network.AWS.AutoScaling.DescribeLoadBalancers
(
describeLoadBalancers
, DescribeLoadBalancers
, dlbNextToken
, dlbMaxRecords
, dlbAutoScalingGroupName
, describeLoadBalancersResponse
, DescribeLoadBalancersResponse
, dlbrsLoadBalancers
, dlbrsNextToken
, dlbrsResponseStatus
) where
import Network.AWS.AutoScaling.Types
import Network.AWS.AutoScaling.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeLoadBalancers = DescribeLoadBalancers'
{ _dlbNextToken :: !(Maybe Text)
, _dlbMaxRecords :: !(Maybe Int)
, _dlbAutoScalingGroupName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeLoadBalancers
:: Text
-> DescribeLoadBalancers
describeLoadBalancers pAutoScalingGroupName_ =
DescribeLoadBalancers'
{ _dlbNextToken = Nothing
, _dlbMaxRecords = Nothing
, _dlbAutoScalingGroupName = pAutoScalingGroupName_
}
dlbNextToken :: Lens' DescribeLoadBalancers (Maybe Text)
dlbNextToken = lens _dlbNextToken (\ s a -> s{_dlbNextToken = a});
dlbMaxRecords :: Lens' DescribeLoadBalancers (Maybe Int)
dlbMaxRecords = lens _dlbMaxRecords (\ s a -> s{_dlbMaxRecords = a});
dlbAutoScalingGroupName :: Lens' DescribeLoadBalancers Text
dlbAutoScalingGroupName = lens _dlbAutoScalingGroupName (\ s a -> s{_dlbAutoScalingGroupName = a});
instance AWSRequest DescribeLoadBalancers where
type Rs DescribeLoadBalancers =
DescribeLoadBalancersResponse
request = postQuery autoScaling
response
= receiveXMLWrapper "DescribeLoadBalancersResult"
(\ s h x ->
DescribeLoadBalancersResponse' <$>
(x .@? "LoadBalancers" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "NextToken")
<*> (pure (fromEnum s)))
instance Hashable DescribeLoadBalancers where
instance NFData DescribeLoadBalancers where
instance ToHeaders DescribeLoadBalancers where
toHeaders = const mempty
instance ToPath DescribeLoadBalancers where
toPath = const "/"
instance ToQuery DescribeLoadBalancers where
toQuery DescribeLoadBalancers'{..}
= mconcat
["Action" =: ("DescribeLoadBalancers" :: ByteString),
"Version" =: ("2011-01-01" :: ByteString),
"NextToken" =: _dlbNextToken,
"MaxRecords" =: _dlbMaxRecords,
"AutoScalingGroupName" =: _dlbAutoScalingGroupName]
data DescribeLoadBalancersResponse = DescribeLoadBalancersResponse'
{ _dlbrsLoadBalancers :: !(Maybe [LoadBalancerState])
, _dlbrsNextToken :: !(Maybe Text)
, _dlbrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeLoadBalancersResponse
:: Int
-> DescribeLoadBalancersResponse
describeLoadBalancersResponse pResponseStatus_ =
DescribeLoadBalancersResponse'
{ _dlbrsLoadBalancers = Nothing
, _dlbrsNextToken = Nothing
, _dlbrsResponseStatus = pResponseStatus_
}
dlbrsLoadBalancers :: Lens' DescribeLoadBalancersResponse [LoadBalancerState]
dlbrsLoadBalancers = lens _dlbrsLoadBalancers (\ s a -> s{_dlbrsLoadBalancers = a}) . _Default . _Coerce;
dlbrsNextToken :: Lens' DescribeLoadBalancersResponse (Maybe Text)
dlbrsNextToken = lens _dlbrsNextToken (\ s a -> s{_dlbrsNextToken = a});
dlbrsResponseStatus :: Lens' DescribeLoadBalancersResponse Int
dlbrsResponseStatus = lens _dlbrsResponseStatus (\ s a -> s{_dlbrsResponseStatus = a});
instance NFData DescribeLoadBalancersResponse where