module Network.AWS.ELB.DeregisterInstancesFromLoadBalancer
(
DeregisterInstancesFromLoadBalancer
, deregisterInstancesFromLoadBalancer
, diflbInstances
, diflbLoadBalancerName
, DeregisterInstancesFromLoadBalancerResponse
, deregisterInstancesFromLoadBalancerResponse
, diflbrInstances
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ELB.Types
import qualified GHC.Exts
data DeregisterInstancesFromLoadBalancer = DeregisterInstancesFromLoadBalancer
{ _diflbInstances :: List "member" Instance
, _diflbLoadBalancerName :: Text
} deriving (Eq, Read, Show)
deregisterInstancesFromLoadBalancer :: Text
-> DeregisterInstancesFromLoadBalancer
deregisterInstancesFromLoadBalancer p1 = DeregisterInstancesFromLoadBalancer
{ _diflbLoadBalancerName = p1
, _diflbInstances = mempty
}
diflbInstances :: Lens' DeregisterInstancesFromLoadBalancer [Instance]
diflbInstances = lens _diflbInstances (\s a -> s { _diflbInstances = a }) . _List
diflbLoadBalancerName :: Lens' DeregisterInstancesFromLoadBalancer Text
diflbLoadBalancerName =
lens _diflbLoadBalancerName (\s a -> s { _diflbLoadBalancerName = a })
newtype DeregisterInstancesFromLoadBalancerResponse = DeregisterInstancesFromLoadBalancerResponse
{ _diflbrInstances :: List "member" Instance
} deriving (Eq, Read, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DeregisterInstancesFromLoadBalancerResponse where
type Item DeregisterInstancesFromLoadBalancerResponse = Instance
fromList = DeregisterInstancesFromLoadBalancerResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _diflbrInstances
deregisterInstancesFromLoadBalancerResponse :: DeregisterInstancesFromLoadBalancerResponse
deregisterInstancesFromLoadBalancerResponse = DeregisterInstancesFromLoadBalancerResponse
{ _diflbrInstances = mempty
}
diflbrInstances :: Lens' DeregisterInstancesFromLoadBalancerResponse [Instance]
diflbrInstances = lens _diflbrInstances (\s a -> s { _diflbrInstances = a }) . _List
instance ToPath DeregisterInstancesFromLoadBalancer where
toPath = const "/"
instance ToQuery DeregisterInstancesFromLoadBalancer where
toQuery DeregisterInstancesFromLoadBalancer{..} = mconcat
[ "Instances" =? _diflbInstances
, "LoadBalancerName" =? _diflbLoadBalancerName
]
instance ToHeaders DeregisterInstancesFromLoadBalancer
instance AWSRequest DeregisterInstancesFromLoadBalancer where
type Sv DeregisterInstancesFromLoadBalancer = ELB
type Rs DeregisterInstancesFromLoadBalancer = DeregisterInstancesFromLoadBalancerResponse
request = post "DeregisterInstancesFromLoadBalancer"
response = xmlResponse
instance FromXML DeregisterInstancesFromLoadBalancerResponse where
parseXML = withElement "DeregisterInstancesFromLoadBalancerResult" $ \x -> DeregisterInstancesFromLoadBalancerResponse
<$> x .@? "Instances" .!@ mempty