module Network.AWS.ELB.DeregisterInstancesFromLoadBalancer
(
deregisterInstancesFromLoadBalancer
, DeregisterInstancesFromLoadBalancer
, diflbLoadBalancerName
, diflbInstances
, deregisterInstancesFromLoadBalancerResponse
, DeregisterInstancesFromLoadBalancerResponse
, diflbrsInstances
, diflbrsResponseStatus
) where
import Network.AWS.ELB.Types
import Network.AWS.ELB.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DeregisterInstancesFromLoadBalancer = DeregisterInstancesFromLoadBalancer'
{ _diflbLoadBalancerName :: !Text
, _diflbInstances :: ![Instance]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deregisterInstancesFromLoadBalancer
:: Text
-> DeregisterInstancesFromLoadBalancer
deregisterInstancesFromLoadBalancer pLoadBalancerName_ =
DeregisterInstancesFromLoadBalancer'
{_diflbLoadBalancerName = pLoadBalancerName_, _diflbInstances = mempty}
diflbLoadBalancerName :: Lens' DeregisterInstancesFromLoadBalancer Text
diflbLoadBalancerName = lens _diflbLoadBalancerName (\ s a -> s{_diflbLoadBalancerName = a});
diflbInstances :: Lens' DeregisterInstancesFromLoadBalancer [Instance]
diflbInstances = lens _diflbInstances (\ s a -> s{_diflbInstances = a}) . _Coerce;
instance AWSRequest
DeregisterInstancesFromLoadBalancer
where
type Rs DeregisterInstancesFromLoadBalancer =
DeregisterInstancesFromLoadBalancerResponse
request = postQuery elb
response
= receiveXMLWrapper
"DeregisterInstancesFromLoadBalancerResult"
(\ s h x ->
DeregisterInstancesFromLoadBalancerResponse' <$>
(x .@? "Instances" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable DeregisterInstancesFromLoadBalancer
where
instance NFData DeregisterInstancesFromLoadBalancer
where
instance ToHeaders
DeregisterInstancesFromLoadBalancer
where
toHeaders = const mempty
instance ToPath DeregisterInstancesFromLoadBalancer
where
toPath = const "/"
instance ToQuery DeregisterInstancesFromLoadBalancer
where
toQuery DeregisterInstancesFromLoadBalancer'{..}
= mconcat
["Action" =:
("DeregisterInstancesFromLoadBalancer" ::
ByteString),
"Version" =: ("2012-06-01" :: ByteString),
"LoadBalancerName" =: _diflbLoadBalancerName,
"Instances" =: toQueryList "member" _diflbInstances]
data DeregisterInstancesFromLoadBalancerResponse = DeregisterInstancesFromLoadBalancerResponse'
{ _diflbrsInstances :: !(Maybe [Instance])
, _diflbrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deregisterInstancesFromLoadBalancerResponse
:: Int
-> DeregisterInstancesFromLoadBalancerResponse
deregisterInstancesFromLoadBalancerResponse pResponseStatus_ =
DeregisterInstancesFromLoadBalancerResponse'
{_diflbrsInstances = Nothing, _diflbrsResponseStatus = pResponseStatus_}
diflbrsInstances :: Lens' DeregisterInstancesFromLoadBalancerResponse [Instance]
diflbrsInstances = lens _diflbrsInstances (\ s a -> s{_diflbrsInstances = a}) . _Default . _Coerce;
diflbrsResponseStatus :: Lens' DeregisterInstancesFromLoadBalancerResponse Int
diflbrsResponseStatus = lens _diflbrsResponseStatus (\ s a -> s{_diflbrsResponseStatus = a});
instance NFData
DeregisterInstancesFromLoadBalancerResponse
where