module Network.AWS.ELB.AttachLoadBalancerToSubnets
(
AttachLoadBalancerToSubnets
, attachLoadBalancerToSubnets
, albtsLoadBalancerName
, albtsSubnets
, AttachLoadBalancerToSubnetsResponse
, attachLoadBalancerToSubnetsResponse
, albtsrSubnets
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ELB.Types
import qualified GHC.Exts
data AttachLoadBalancerToSubnets = AttachLoadBalancerToSubnets
{ _albtsLoadBalancerName :: Text
, _albtsSubnets :: List "member" Text
} deriving (Eq, Ord, Show)
attachLoadBalancerToSubnets :: Text
-> AttachLoadBalancerToSubnets
attachLoadBalancerToSubnets p1 = AttachLoadBalancerToSubnets
{ _albtsLoadBalancerName = p1
, _albtsSubnets = mempty
}
albtsLoadBalancerName :: Lens' AttachLoadBalancerToSubnets Text
albtsLoadBalancerName =
lens _albtsLoadBalancerName (\s a -> s { _albtsLoadBalancerName = a })
albtsSubnets :: Lens' AttachLoadBalancerToSubnets [Text]
albtsSubnets = lens _albtsSubnets (\s a -> s { _albtsSubnets = a }) . _List
newtype AttachLoadBalancerToSubnetsResponse = AttachLoadBalancerToSubnetsResponse
{ _albtsrSubnets :: List "member" Text
} deriving (Eq, Ord, Show, Monoid, Semigroup)
instance GHC.Exts.IsList AttachLoadBalancerToSubnetsResponse where
type Item AttachLoadBalancerToSubnetsResponse = Text
fromList = AttachLoadBalancerToSubnetsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _albtsrSubnets
attachLoadBalancerToSubnetsResponse :: AttachLoadBalancerToSubnetsResponse
attachLoadBalancerToSubnetsResponse = AttachLoadBalancerToSubnetsResponse
{ _albtsrSubnets = mempty
}
albtsrSubnets :: Lens' AttachLoadBalancerToSubnetsResponse [Text]
albtsrSubnets = lens _albtsrSubnets (\s a -> s { _albtsrSubnets = a }) . _List
instance ToPath AttachLoadBalancerToSubnets where
toPath = const "/"
instance ToQuery AttachLoadBalancerToSubnets where
toQuery AttachLoadBalancerToSubnets{..} = mconcat
[ "LoadBalancerName" =? _albtsLoadBalancerName
, "Subnets" =? _albtsSubnets
]
instance ToHeaders AttachLoadBalancerToSubnets
instance AWSRequest AttachLoadBalancerToSubnets where
type Sv AttachLoadBalancerToSubnets = ELB
type Rs AttachLoadBalancerToSubnets = AttachLoadBalancerToSubnetsResponse
request = post "AttachLoadBalancerToSubnets"
response = xmlResponse
instance FromXML AttachLoadBalancerToSubnetsResponse where
parseXML = withElement "AttachLoadBalancerToSubnetsResult" $ \x -> AttachLoadBalancerToSubnetsResponse
<$> x .@? "Subnets" .!@ mempty