module Network.AWS.AutoScaling.DetachLoadBalancers
(
detachLoadBalancers
, DetachLoadBalancers
, dAutoScalingGroupName
, dLoadBalancerNames
, detachLoadBalancersResponse
, DetachLoadBalancersResponse
, dlbsrsStatus
) where
import Network.AWS.AutoScaling.Types
import Network.AWS.AutoScaling.Types.Product
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 Sv DetachLoadBalancers = AutoScaling
type Rs DetachLoadBalancers =
DetachLoadBalancersResponse
request = postQuery
response
= receiveXMLWrapper "DetachLoadBalancersResult"
(\ s h x ->
DetachLoadBalancersResponse' <$> (pure (fromEnum s)))
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'
{ _dlbsrsStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
detachLoadBalancersResponse
:: Int
-> DetachLoadBalancersResponse
detachLoadBalancersResponse pStatus_ =
DetachLoadBalancersResponse'
{ _dlbsrsStatus = pStatus_
}
dlbsrsStatus :: Lens' DetachLoadBalancersResponse Int
dlbsrsStatus = lens _dlbsrsStatus (\ s a -> s{_dlbsrsStatus = a});