{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.AutoScaling.DescribeLoadBalancers
(
DescribeLoadBalancers (..),
newDescribeLoadBalancers,
describeLoadBalancers_maxRecords,
describeLoadBalancers_nextToken,
describeLoadBalancers_autoScalingGroupName,
DescribeLoadBalancersResponse (..),
newDescribeLoadBalancersResponse,
describeLoadBalancersResponse_loadBalancers,
describeLoadBalancersResponse_nextToken,
describeLoadBalancersResponse_httpStatus,
)
where
import Amazonka.AutoScaling.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeLoadBalancers = DescribeLoadBalancers'
{
DescribeLoadBalancers -> Maybe Int
maxRecords :: Prelude.Maybe Prelude.Int,
DescribeLoadBalancers -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
DescribeLoadBalancers -> Text
autoScalingGroupName :: Prelude.Text
}
deriving (DescribeLoadBalancers -> DescribeLoadBalancers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLoadBalancers -> DescribeLoadBalancers -> Bool
$c/= :: DescribeLoadBalancers -> DescribeLoadBalancers -> Bool
== :: DescribeLoadBalancers -> DescribeLoadBalancers -> Bool
$c== :: DescribeLoadBalancers -> DescribeLoadBalancers -> Bool
Prelude.Eq, ReadPrec [DescribeLoadBalancers]
ReadPrec DescribeLoadBalancers
Int -> ReadS DescribeLoadBalancers
ReadS [DescribeLoadBalancers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLoadBalancers]
$creadListPrec :: ReadPrec [DescribeLoadBalancers]
readPrec :: ReadPrec DescribeLoadBalancers
$creadPrec :: ReadPrec DescribeLoadBalancers
readList :: ReadS [DescribeLoadBalancers]
$creadList :: ReadS [DescribeLoadBalancers]
readsPrec :: Int -> ReadS DescribeLoadBalancers
$creadsPrec :: Int -> ReadS DescribeLoadBalancers
Prelude.Read, Int -> DescribeLoadBalancers -> ShowS
[DescribeLoadBalancers] -> ShowS
DescribeLoadBalancers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLoadBalancers] -> ShowS
$cshowList :: [DescribeLoadBalancers] -> ShowS
show :: DescribeLoadBalancers -> String
$cshow :: DescribeLoadBalancers -> String
showsPrec :: Int -> DescribeLoadBalancers -> ShowS
$cshowsPrec :: Int -> DescribeLoadBalancers -> ShowS
Prelude.Show, forall x. Rep DescribeLoadBalancers x -> DescribeLoadBalancers
forall x. DescribeLoadBalancers -> Rep DescribeLoadBalancers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeLoadBalancers x -> DescribeLoadBalancers
$cfrom :: forall x. DescribeLoadBalancers -> Rep DescribeLoadBalancers x
Prelude.Generic)
newDescribeLoadBalancers ::
Prelude.Text ->
DescribeLoadBalancers
newDescribeLoadBalancers :: Text -> DescribeLoadBalancers
newDescribeLoadBalancers Text
pAutoScalingGroupName_ =
DescribeLoadBalancers'
{ $sel:maxRecords:DescribeLoadBalancers' :: Maybe Int
maxRecords =
forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:DescribeLoadBalancers' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:autoScalingGroupName:DescribeLoadBalancers' :: Text
autoScalingGroupName = Text
pAutoScalingGroupName_
}
describeLoadBalancers_maxRecords :: Lens.Lens' DescribeLoadBalancers (Prelude.Maybe Prelude.Int)
describeLoadBalancers_maxRecords :: Lens' DescribeLoadBalancers (Maybe Int)
describeLoadBalancers_maxRecords = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancers' {Maybe Int
maxRecords :: Maybe Int
$sel:maxRecords:DescribeLoadBalancers' :: DescribeLoadBalancers -> Maybe Int
maxRecords} -> Maybe Int
maxRecords) (\s :: DescribeLoadBalancers
s@DescribeLoadBalancers' {} Maybe Int
a -> DescribeLoadBalancers
s {$sel:maxRecords:DescribeLoadBalancers' :: Maybe Int
maxRecords = Maybe Int
a} :: DescribeLoadBalancers)
describeLoadBalancers_nextToken :: Lens.Lens' DescribeLoadBalancers (Prelude.Maybe Prelude.Text)
describeLoadBalancers_nextToken :: Lens' DescribeLoadBalancers (Maybe Text)
describeLoadBalancers_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancers' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeLoadBalancers' :: DescribeLoadBalancers -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeLoadBalancers
s@DescribeLoadBalancers' {} Maybe Text
a -> DescribeLoadBalancers
s {$sel:nextToken:DescribeLoadBalancers' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeLoadBalancers)
describeLoadBalancers_autoScalingGroupName :: Lens.Lens' DescribeLoadBalancers Prelude.Text
describeLoadBalancers_autoScalingGroupName :: Lens' DescribeLoadBalancers Text
describeLoadBalancers_autoScalingGroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancers' {Text
autoScalingGroupName :: Text
$sel:autoScalingGroupName:DescribeLoadBalancers' :: DescribeLoadBalancers -> Text
autoScalingGroupName} -> Text
autoScalingGroupName) (\s :: DescribeLoadBalancers
s@DescribeLoadBalancers' {} Text
a -> DescribeLoadBalancers
s {$sel:autoScalingGroupName:DescribeLoadBalancers' :: Text
autoScalingGroupName = Text
a} :: DescribeLoadBalancers)
instance Core.AWSPager DescribeLoadBalancers where
page :: DescribeLoadBalancers
-> AWSResponse DescribeLoadBalancers -> Maybe DescribeLoadBalancers
page DescribeLoadBalancers
rq AWSResponse DescribeLoadBalancers
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeLoadBalancers
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeLoadBalancersResponse (Maybe Text)
describeLoadBalancersResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeLoadBalancers
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeLoadBalancersResponse (Maybe [LoadBalancerState])
describeLoadBalancersResponse_loadBalancers
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| Bool
Prelude.otherwise =
forall a. a -> Maybe a
Prelude.Just
forall a b. (a -> b) -> a -> b
Prelude.$ DescribeLoadBalancers
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' DescribeLoadBalancers (Maybe Text)
describeLoadBalancers_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeLoadBalancers
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeLoadBalancersResponse (Maybe Text)
describeLoadBalancersResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
instance Core.AWSRequest DescribeLoadBalancers where
type
AWSResponse DescribeLoadBalancers =
DescribeLoadBalancersResponse
request :: (Service -> Service)
-> DescribeLoadBalancers -> Request DescribeLoadBalancers
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeLoadBalancers
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeLoadBalancers)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"DescribeLoadBalancersResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe [LoadBalancerState]
-> Maybe Text -> Int -> DescribeLoadBalancersResponse
DescribeLoadBalancersResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"LoadBalancers"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"NextToken")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable DescribeLoadBalancers where
hashWithSalt :: Int -> DescribeLoadBalancers -> Int
hashWithSalt Int
_salt DescribeLoadBalancers' {Maybe Int
Maybe Text
Text
autoScalingGroupName :: Text
nextToken :: Maybe Text
maxRecords :: Maybe Int
$sel:autoScalingGroupName:DescribeLoadBalancers' :: DescribeLoadBalancers -> Text
$sel:nextToken:DescribeLoadBalancers' :: DescribeLoadBalancers -> Maybe Text
$sel:maxRecords:DescribeLoadBalancers' :: DescribeLoadBalancers -> Maybe Int
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
maxRecords
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
autoScalingGroupName
instance Prelude.NFData DescribeLoadBalancers where
rnf :: DescribeLoadBalancers -> ()
rnf DescribeLoadBalancers' {Maybe Int
Maybe Text
Text
autoScalingGroupName :: Text
nextToken :: Maybe Text
maxRecords :: Maybe Int
$sel:autoScalingGroupName:DescribeLoadBalancers' :: DescribeLoadBalancers -> Text
$sel:nextToken:DescribeLoadBalancers' :: DescribeLoadBalancers -> Maybe Text
$sel:maxRecords:DescribeLoadBalancers' :: DescribeLoadBalancers -> Maybe Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
maxRecords
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
autoScalingGroupName
instance Data.ToHeaders DescribeLoadBalancers where
toHeaders :: DescribeLoadBalancers -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeLoadBalancers where
toPath :: DescribeLoadBalancers -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeLoadBalancers where
toQuery :: DescribeLoadBalancers -> QueryString
toQuery DescribeLoadBalancers' {Maybe Int
Maybe Text
Text
autoScalingGroupName :: Text
nextToken :: Maybe Text
maxRecords :: Maybe Int
$sel:autoScalingGroupName:DescribeLoadBalancers' :: DescribeLoadBalancers -> Text
$sel:nextToken:DescribeLoadBalancers' :: DescribeLoadBalancers -> Maybe Text
$sel:maxRecords:DescribeLoadBalancers' :: DescribeLoadBalancers -> Maybe Int
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DescribeLoadBalancers" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2011-01-01" :: Prelude.ByteString),
ByteString
"MaxRecords" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Int
maxRecords,
ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
ByteString
"AutoScalingGroupName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
autoScalingGroupName
]
data DescribeLoadBalancersResponse = DescribeLoadBalancersResponse'
{
DescribeLoadBalancersResponse -> Maybe [LoadBalancerState]
loadBalancers :: Prelude.Maybe [LoadBalancerState],
DescribeLoadBalancersResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
DescribeLoadBalancersResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeLoadBalancersResponse
-> DescribeLoadBalancersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLoadBalancersResponse
-> DescribeLoadBalancersResponse -> Bool
$c/= :: DescribeLoadBalancersResponse
-> DescribeLoadBalancersResponse -> Bool
== :: DescribeLoadBalancersResponse
-> DescribeLoadBalancersResponse -> Bool
$c== :: DescribeLoadBalancersResponse
-> DescribeLoadBalancersResponse -> Bool
Prelude.Eq, ReadPrec [DescribeLoadBalancersResponse]
ReadPrec DescribeLoadBalancersResponse
Int -> ReadS DescribeLoadBalancersResponse
ReadS [DescribeLoadBalancersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLoadBalancersResponse]
$creadListPrec :: ReadPrec [DescribeLoadBalancersResponse]
readPrec :: ReadPrec DescribeLoadBalancersResponse
$creadPrec :: ReadPrec DescribeLoadBalancersResponse
readList :: ReadS [DescribeLoadBalancersResponse]
$creadList :: ReadS [DescribeLoadBalancersResponse]
readsPrec :: Int -> ReadS DescribeLoadBalancersResponse
$creadsPrec :: Int -> ReadS DescribeLoadBalancersResponse
Prelude.Read, Int -> DescribeLoadBalancersResponse -> ShowS
[DescribeLoadBalancersResponse] -> ShowS
DescribeLoadBalancersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLoadBalancersResponse] -> ShowS
$cshowList :: [DescribeLoadBalancersResponse] -> ShowS
show :: DescribeLoadBalancersResponse -> String
$cshow :: DescribeLoadBalancersResponse -> String
showsPrec :: Int -> DescribeLoadBalancersResponse -> ShowS
$cshowsPrec :: Int -> DescribeLoadBalancersResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeLoadBalancersResponse x
-> DescribeLoadBalancersResponse
forall x.
DescribeLoadBalancersResponse
-> Rep DescribeLoadBalancersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeLoadBalancersResponse x
-> DescribeLoadBalancersResponse
$cfrom :: forall x.
DescribeLoadBalancersResponse
-> Rep DescribeLoadBalancersResponse x
Prelude.Generic)
newDescribeLoadBalancersResponse ::
Prelude.Int ->
DescribeLoadBalancersResponse
newDescribeLoadBalancersResponse :: Int -> DescribeLoadBalancersResponse
newDescribeLoadBalancersResponse Int
pHttpStatus_ =
DescribeLoadBalancersResponse'
{ $sel:loadBalancers:DescribeLoadBalancersResponse' :: Maybe [LoadBalancerState]
loadBalancers =
forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:DescribeLoadBalancersResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeLoadBalancersResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeLoadBalancersResponse_loadBalancers :: Lens.Lens' DescribeLoadBalancersResponse (Prelude.Maybe [LoadBalancerState])
describeLoadBalancersResponse_loadBalancers :: Lens' DescribeLoadBalancersResponse (Maybe [LoadBalancerState])
describeLoadBalancersResponse_loadBalancers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancersResponse' {Maybe [LoadBalancerState]
loadBalancers :: Maybe [LoadBalancerState]
$sel:loadBalancers:DescribeLoadBalancersResponse' :: DescribeLoadBalancersResponse -> Maybe [LoadBalancerState]
loadBalancers} -> Maybe [LoadBalancerState]
loadBalancers) (\s :: DescribeLoadBalancersResponse
s@DescribeLoadBalancersResponse' {} Maybe [LoadBalancerState]
a -> DescribeLoadBalancersResponse
s {$sel:loadBalancers:DescribeLoadBalancersResponse' :: Maybe [LoadBalancerState]
loadBalancers = Maybe [LoadBalancerState]
a} :: DescribeLoadBalancersResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeLoadBalancersResponse_nextToken :: Lens.Lens' DescribeLoadBalancersResponse (Prelude.Maybe Prelude.Text)
describeLoadBalancersResponse_nextToken :: Lens' DescribeLoadBalancersResponse (Maybe Text)
describeLoadBalancersResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancersResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeLoadBalancersResponse' :: DescribeLoadBalancersResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeLoadBalancersResponse
s@DescribeLoadBalancersResponse' {} Maybe Text
a -> DescribeLoadBalancersResponse
s {$sel:nextToken:DescribeLoadBalancersResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeLoadBalancersResponse)
describeLoadBalancersResponse_httpStatus :: Lens.Lens' DescribeLoadBalancersResponse Prelude.Int
describeLoadBalancersResponse_httpStatus :: Lens' DescribeLoadBalancersResponse Int
describeLoadBalancersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancersResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeLoadBalancersResponse' :: DescribeLoadBalancersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeLoadBalancersResponse
s@DescribeLoadBalancersResponse' {} Int
a -> DescribeLoadBalancersResponse
s {$sel:httpStatus:DescribeLoadBalancersResponse' :: Int
httpStatus = Int
a} :: DescribeLoadBalancersResponse)
instance Prelude.NFData DescribeLoadBalancersResponse where
rnf :: DescribeLoadBalancersResponse -> ()
rnf DescribeLoadBalancersResponse' {Int
Maybe [LoadBalancerState]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
loadBalancers :: Maybe [LoadBalancerState]
$sel:httpStatus:DescribeLoadBalancersResponse' :: DescribeLoadBalancersResponse -> Int
$sel:nextToken:DescribeLoadBalancersResponse' :: DescribeLoadBalancersResponse -> Maybe Text
$sel:loadBalancers:DescribeLoadBalancersResponse' :: DescribeLoadBalancersResponse -> Maybe [LoadBalancerState]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [LoadBalancerState]
loadBalancers
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus