module Network.AWS.ELB.DisableAvailabilityZonesForLoadBalancer
(
DisableAvailabilityZonesForLoadBalancer
, disableAvailabilityZonesForLoadBalancer
, dazflbAvailabilityZones
, dazflbLoadBalancerName
, DisableAvailabilityZonesForLoadBalancerResponse
, disableAvailabilityZonesForLoadBalancerResponse
, dazflbrAvailabilityZones
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ELB.Types
import qualified GHC.Exts
data DisableAvailabilityZonesForLoadBalancer = DisableAvailabilityZonesForLoadBalancer
{ _dazflbAvailabilityZones :: List "member" Text
, _dazflbLoadBalancerName :: Text
} deriving (Eq, Ord, Read, Show)
disableAvailabilityZonesForLoadBalancer :: Text
-> DisableAvailabilityZonesForLoadBalancer
disableAvailabilityZonesForLoadBalancer p1 = DisableAvailabilityZonesForLoadBalancer
{ _dazflbLoadBalancerName = p1
, _dazflbAvailabilityZones = mempty
}
dazflbAvailabilityZones :: Lens' DisableAvailabilityZonesForLoadBalancer [Text]
dazflbAvailabilityZones =
lens _dazflbAvailabilityZones (\s a -> s { _dazflbAvailabilityZones = a })
. _List
dazflbLoadBalancerName :: Lens' DisableAvailabilityZonesForLoadBalancer Text
dazflbLoadBalancerName =
lens _dazflbLoadBalancerName (\s a -> s { _dazflbLoadBalancerName = a })
newtype DisableAvailabilityZonesForLoadBalancerResponse = DisableAvailabilityZonesForLoadBalancerResponse
{ _dazflbrAvailabilityZones :: List "member" Text
} deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DisableAvailabilityZonesForLoadBalancerResponse where
type Item DisableAvailabilityZonesForLoadBalancerResponse = Text
fromList = DisableAvailabilityZonesForLoadBalancerResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _dazflbrAvailabilityZones
disableAvailabilityZonesForLoadBalancerResponse :: DisableAvailabilityZonesForLoadBalancerResponse
disableAvailabilityZonesForLoadBalancerResponse = DisableAvailabilityZonesForLoadBalancerResponse
{ _dazflbrAvailabilityZones = mempty
}
dazflbrAvailabilityZones :: Lens' DisableAvailabilityZonesForLoadBalancerResponse [Text]
dazflbrAvailabilityZones =
lens _dazflbrAvailabilityZones
(\s a -> s { _dazflbrAvailabilityZones = a })
. _List
instance ToPath DisableAvailabilityZonesForLoadBalancer where
toPath = const "/"
instance ToQuery DisableAvailabilityZonesForLoadBalancer where
toQuery DisableAvailabilityZonesForLoadBalancer{..} = mconcat
[ "AvailabilityZones" =? _dazflbAvailabilityZones
, "LoadBalancerName" =? _dazflbLoadBalancerName
]
instance ToHeaders DisableAvailabilityZonesForLoadBalancer
instance AWSRequest DisableAvailabilityZonesForLoadBalancer where
type Sv DisableAvailabilityZonesForLoadBalancer = ELB
type Rs DisableAvailabilityZonesForLoadBalancer = DisableAvailabilityZonesForLoadBalancerResponse
request = post "DisableAvailabilityZonesForLoadBalancer"
response = xmlResponse
instance FromXML DisableAvailabilityZonesForLoadBalancerResponse where
parseXML = withElement "DisableAvailabilityZonesForLoadBalancerResult" $ \x -> DisableAvailabilityZonesForLoadBalancerResponse
<$> x .@? "AvailabilityZones" .!@ mempty