module Network.AWS.AutoScaling.DetachLoadBalancers
(
detachLoadBalancers
, DetachLoadBalancers
, dAutoScalingGroupName
, dLoadBalancerNames
, detachLoadBalancersResponse
, DetachLoadBalancersResponse
, dlbsrsResponseStatus
) 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 DetachLoadBalancers = DetachLoadBalancers'
{ _dAutoScalingGroupName :: !(Maybe Text)
, _dLoadBalancerNames :: !(Maybe [Text])
} deriving (Eq,Read,Show,Data,Typeable,Generic)
detachLoadBalancers
:: DetachLoadBalancers
detachLoadBalancers =
DetachLoadBalancers'
{ _dAutoScalingGroupName = Nothing
, _dLoadBalancerNames = Nothing
}
dAutoScalingGroupName :: Lens' DetachLoadBalancers (Maybe Text)
dAutoScalingGroupName = lens _dAutoScalingGroupName (\ s a -> s{_dAutoScalingGroupName = a});
dLoadBalancerNames :: Lens' DetachLoadBalancers [Text]
dLoadBalancerNames = lens _dLoadBalancerNames (\ s a -> s{_dLoadBalancerNames = a}) . _Default . _Coerce;
instance AWSRequest DetachLoadBalancers where
type Rs DetachLoadBalancers =
DetachLoadBalancersResponse
request = postQuery autoScaling
response
= receiveXMLWrapper "DetachLoadBalancersResult"
(\ s h x ->
DetachLoadBalancersResponse' <$> (pure (fromEnum s)))
instance Hashable DetachLoadBalancers
instance NFData DetachLoadBalancers
instance ToHeaders DetachLoadBalancers where
toHeaders = const mempty
instance ToPath DetachLoadBalancers where
toPath = const "/"
instance ToQuery DetachLoadBalancers where
toQuery DetachLoadBalancers'{..}
= mconcat
["Action" =: ("DetachLoadBalancers" :: ByteString),
"Version" =: ("2011-01-01" :: ByteString),
"AutoScalingGroupName" =: _dAutoScalingGroupName,
"LoadBalancerNames" =:
toQuery
(toQueryList "member" <$> _dLoadBalancerNames)]
newtype DetachLoadBalancersResponse = DetachLoadBalancersResponse'
{ _dlbsrsResponseStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
detachLoadBalancersResponse
:: Int
-> DetachLoadBalancersResponse
detachLoadBalancersResponse pResponseStatus_ =
DetachLoadBalancersResponse'
{ _dlbsrsResponseStatus = pResponseStatus_
}
dlbsrsResponseStatus :: Lens' DetachLoadBalancersResponse Int
dlbsrsResponseStatus = lens _dlbsrsResponseStatus (\ s a -> s{_dlbsrsResponseStatus = a});
instance NFData DetachLoadBalancersResponse