module Network.AWS.ELB.DetachLoadBalancerFromSubnets
(
DetachLoadBalancerFromSubnets
, detachLoadBalancerFromSubnets
, dlbfsLoadBalancerName
, dlbfsSubnets
, DetachLoadBalancerFromSubnetsResponse
, detachLoadBalancerFromSubnetsResponse
, dlbfsrSubnets
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ELB.Types
import qualified GHC.Exts
data DetachLoadBalancerFromSubnets = DetachLoadBalancerFromSubnets
{ _dlbfsLoadBalancerName :: Text
, _dlbfsSubnets :: List "member" Text
} deriving (Eq, Ord, Show)
detachLoadBalancerFromSubnets :: Text
-> DetachLoadBalancerFromSubnets
detachLoadBalancerFromSubnets p1 = DetachLoadBalancerFromSubnets
{ _dlbfsLoadBalancerName = p1
, _dlbfsSubnets = mempty
}
dlbfsLoadBalancerName :: Lens' DetachLoadBalancerFromSubnets Text
dlbfsLoadBalancerName =
lens _dlbfsLoadBalancerName (\s a -> s { _dlbfsLoadBalancerName = a })
dlbfsSubnets :: Lens' DetachLoadBalancerFromSubnets [Text]
dlbfsSubnets = lens _dlbfsSubnets (\s a -> s { _dlbfsSubnets = a }) . _List
newtype DetachLoadBalancerFromSubnetsResponse = DetachLoadBalancerFromSubnetsResponse
{ _dlbfsrSubnets :: List "member" Text
} deriving (Eq, Ord, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DetachLoadBalancerFromSubnetsResponse where
type Item DetachLoadBalancerFromSubnetsResponse = Text
fromList = DetachLoadBalancerFromSubnetsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _dlbfsrSubnets
detachLoadBalancerFromSubnetsResponse :: DetachLoadBalancerFromSubnetsResponse
detachLoadBalancerFromSubnetsResponse = DetachLoadBalancerFromSubnetsResponse
{ _dlbfsrSubnets = mempty
}
dlbfsrSubnets :: Lens' DetachLoadBalancerFromSubnetsResponse [Text]
dlbfsrSubnets = lens _dlbfsrSubnets (\s a -> s { _dlbfsrSubnets = a }) . _List
instance ToPath DetachLoadBalancerFromSubnets where
toPath = const "/"
instance ToQuery DetachLoadBalancerFromSubnets where
toQuery DetachLoadBalancerFromSubnets{..} = mconcat
[ "LoadBalancerName" =? _dlbfsLoadBalancerName
, "Subnets" =? _dlbfsSubnets
]
instance ToHeaders DetachLoadBalancerFromSubnets
instance AWSRequest DetachLoadBalancerFromSubnets where
type Sv DetachLoadBalancerFromSubnets = ELB
type Rs DetachLoadBalancerFromSubnets = DetachLoadBalancerFromSubnetsResponse
request = post "DetachLoadBalancerFromSubnets"
response = xmlResponse
instance FromXML DetachLoadBalancerFromSubnetsResponse where
parseXML = withElement "DetachLoadBalancerFromSubnetsResult" $ \x -> DetachLoadBalancerFromSubnetsResponse
<$> x .@? "Subnets" .!@ mempty