module Network.AWS.ELB.EnableAvailabilityZonesForLoadBalancer
(
EnableAvailabilityZonesForLoadBalancer
, enableAvailabilityZonesForLoadBalancer
, eazflbAvailabilityZones
, eazflbLoadBalancerName
, EnableAvailabilityZonesForLoadBalancerResponse
, enableAvailabilityZonesForLoadBalancerResponse
, eazflbrAvailabilityZones
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ELB.Types
import qualified GHC.Exts
data EnableAvailabilityZonesForLoadBalancer = EnableAvailabilityZonesForLoadBalancer
{ _eazflbAvailabilityZones :: List "member" Text
, _eazflbLoadBalancerName :: Text
} deriving (Eq, Ord, Show)
enableAvailabilityZonesForLoadBalancer :: Text
-> EnableAvailabilityZonesForLoadBalancer
enableAvailabilityZonesForLoadBalancer p1 = EnableAvailabilityZonesForLoadBalancer
{ _eazflbLoadBalancerName = p1
, _eazflbAvailabilityZones = mempty
}
eazflbAvailabilityZones :: Lens' EnableAvailabilityZonesForLoadBalancer [Text]
eazflbAvailabilityZones =
lens _eazflbAvailabilityZones (\s a -> s { _eazflbAvailabilityZones = a })
. _List
eazflbLoadBalancerName :: Lens' EnableAvailabilityZonesForLoadBalancer Text
eazflbLoadBalancerName =
lens _eazflbLoadBalancerName (\s a -> s { _eazflbLoadBalancerName = a })
newtype EnableAvailabilityZonesForLoadBalancerResponse = EnableAvailabilityZonesForLoadBalancerResponse
{ _eazflbrAvailabilityZones :: List "member" Text
} deriving (Eq, Ord, Show, Monoid, Semigroup)
instance GHC.Exts.IsList EnableAvailabilityZonesForLoadBalancerResponse where
type Item EnableAvailabilityZonesForLoadBalancerResponse = Text
fromList = EnableAvailabilityZonesForLoadBalancerResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _eazflbrAvailabilityZones
enableAvailabilityZonesForLoadBalancerResponse :: EnableAvailabilityZonesForLoadBalancerResponse
enableAvailabilityZonesForLoadBalancerResponse = EnableAvailabilityZonesForLoadBalancerResponse
{ _eazflbrAvailabilityZones = mempty
}
eazflbrAvailabilityZones :: Lens' EnableAvailabilityZonesForLoadBalancerResponse [Text]
eazflbrAvailabilityZones =
lens _eazflbrAvailabilityZones
(\s a -> s { _eazflbrAvailabilityZones = a })
. _List
instance ToPath EnableAvailabilityZonesForLoadBalancer where
toPath = const "/"
instance ToQuery EnableAvailabilityZonesForLoadBalancer where
toQuery EnableAvailabilityZonesForLoadBalancer{..} = mconcat
[ "AvailabilityZones" =? _eazflbAvailabilityZones
, "LoadBalancerName" =? _eazflbLoadBalancerName
]
instance ToHeaders EnableAvailabilityZonesForLoadBalancer
instance AWSRequest EnableAvailabilityZonesForLoadBalancer where
type Sv EnableAvailabilityZonesForLoadBalancer = ELB
type Rs EnableAvailabilityZonesForLoadBalancer = EnableAvailabilityZonesForLoadBalancerResponse
request = post "EnableAvailabilityZonesForLoadBalancer"
response = xmlResponse
instance FromXML EnableAvailabilityZonesForLoadBalancerResponse where
parseXML = withElement "EnableAvailabilityZonesForLoadBalancerResult" $ \x -> EnableAvailabilityZonesForLoadBalancerResponse
<$> x .@? "AvailabilityZones" .!@ mempty