{-# 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.ELBV2.DescribeLoadBalancerAttributes
(
DescribeLoadBalancerAttributes (..),
newDescribeLoadBalancerAttributes,
describeLoadBalancerAttributes_loadBalancerArn,
DescribeLoadBalancerAttributesResponse (..),
newDescribeLoadBalancerAttributesResponse,
describeLoadBalancerAttributesResponse_attributes,
describeLoadBalancerAttributesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ELBV2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeLoadBalancerAttributes = DescribeLoadBalancerAttributes'
{
DescribeLoadBalancerAttributes -> Text
loadBalancerArn :: Prelude.Text
}
deriving (DescribeLoadBalancerAttributes
-> DescribeLoadBalancerAttributes -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLoadBalancerAttributes
-> DescribeLoadBalancerAttributes -> Bool
$c/= :: DescribeLoadBalancerAttributes
-> DescribeLoadBalancerAttributes -> Bool
== :: DescribeLoadBalancerAttributes
-> DescribeLoadBalancerAttributes -> Bool
$c== :: DescribeLoadBalancerAttributes
-> DescribeLoadBalancerAttributes -> Bool
Prelude.Eq, ReadPrec [DescribeLoadBalancerAttributes]
ReadPrec DescribeLoadBalancerAttributes
Int -> ReadS DescribeLoadBalancerAttributes
ReadS [DescribeLoadBalancerAttributes]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLoadBalancerAttributes]
$creadListPrec :: ReadPrec [DescribeLoadBalancerAttributes]
readPrec :: ReadPrec DescribeLoadBalancerAttributes
$creadPrec :: ReadPrec DescribeLoadBalancerAttributes
readList :: ReadS [DescribeLoadBalancerAttributes]
$creadList :: ReadS [DescribeLoadBalancerAttributes]
readsPrec :: Int -> ReadS DescribeLoadBalancerAttributes
$creadsPrec :: Int -> ReadS DescribeLoadBalancerAttributes
Prelude.Read, Int -> DescribeLoadBalancerAttributes -> ShowS
[DescribeLoadBalancerAttributes] -> ShowS
DescribeLoadBalancerAttributes -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLoadBalancerAttributes] -> ShowS
$cshowList :: [DescribeLoadBalancerAttributes] -> ShowS
show :: DescribeLoadBalancerAttributes -> String
$cshow :: DescribeLoadBalancerAttributes -> String
showsPrec :: Int -> DescribeLoadBalancerAttributes -> ShowS
$cshowsPrec :: Int -> DescribeLoadBalancerAttributes -> ShowS
Prelude.Show, forall x.
Rep DescribeLoadBalancerAttributes x
-> DescribeLoadBalancerAttributes
forall x.
DescribeLoadBalancerAttributes
-> Rep DescribeLoadBalancerAttributes x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeLoadBalancerAttributes x
-> DescribeLoadBalancerAttributes
$cfrom :: forall x.
DescribeLoadBalancerAttributes
-> Rep DescribeLoadBalancerAttributes x
Prelude.Generic)
newDescribeLoadBalancerAttributes ::
Prelude.Text ->
DescribeLoadBalancerAttributes
newDescribeLoadBalancerAttributes :: Text -> DescribeLoadBalancerAttributes
newDescribeLoadBalancerAttributes Text
pLoadBalancerArn_ =
DescribeLoadBalancerAttributes'
{ $sel:loadBalancerArn:DescribeLoadBalancerAttributes' :: Text
loadBalancerArn =
Text
pLoadBalancerArn_
}
describeLoadBalancerAttributes_loadBalancerArn :: Lens.Lens' DescribeLoadBalancerAttributes Prelude.Text
describeLoadBalancerAttributes_loadBalancerArn :: Lens' DescribeLoadBalancerAttributes Text
describeLoadBalancerAttributes_loadBalancerArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancerAttributes' {Text
loadBalancerArn :: Text
$sel:loadBalancerArn:DescribeLoadBalancerAttributes' :: DescribeLoadBalancerAttributes -> Text
loadBalancerArn} -> Text
loadBalancerArn) (\s :: DescribeLoadBalancerAttributes
s@DescribeLoadBalancerAttributes' {} Text
a -> DescribeLoadBalancerAttributes
s {$sel:loadBalancerArn:DescribeLoadBalancerAttributes' :: Text
loadBalancerArn = Text
a} :: DescribeLoadBalancerAttributes)
instance
Core.AWSRequest
DescribeLoadBalancerAttributes
where
type
AWSResponse DescribeLoadBalancerAttributes =
DescribeLoadBalancerAttributesResponse
request :: (Service -> Service)
-> DescribeLoadBalancerAttributes
-> Request DescribeLoadBalancerAttributes
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 DescribeLoadBalancerAttributes
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DescribeLoadBalancerAttributes)))
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
"DescribeLoadBalancerAttributesResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe [LoadBalancerAttribute]
-> Int -> DescribeLoadBalancerAttributesResponse
DescribeLoadBalancerAttributesResponse'
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
"Attributes"
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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance
Prelude.Hashable
DescribeLoadBalancerAttributes
where
hashWithSalt :: Int -> DescribeLoadBalancerAttributes -> Int
hashWithSalt
Int
_salt
DescribeLoadBalancerAttributes' {Text
loadBalancerArn :: Text
$sel:loadBalancerArn:DescribeLoadBalancerAttributes' :: DescribeLoadBalancerAttributes -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
loadBalancerArn
instance
Prelude.NFData
DescribeLoadBalancerAttributes
where
rnf :: DescribeLoadBalancerAttributes -> ()
rnf DescribeLoadBalancerAttributes' {Text
loadBalancerArn :: Text
$sel:loadBalancerArn:DescribeLoadBalancerAttributes' :: DescribeLoadBalancerAttributes -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
loadBalancerArn
instance
Data.ToHeaders
DescribeLoadBalancerAttributes
where
toHeaders :: DescribeLoadBalancerAttributes -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeLoadBalancerAttributes where
toPath :: DescribeLoadBalancerAttributes -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeLoadBalancerAttributes where
toQuery :: DescribeLoadBalancerAttributes -> QueryString
toQuery DescribeLoadBalancerAttributes' {Text
loadBalancerArn :: Text
$sel:loadBalancerArn:DescribeLoadBalancerAttributes' :: DescribeLoadBalancerAttributes -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"DescribeLoadBalancerAttributes" ::
Prelude.ByteString
),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2015-12-01" :: Prelude.ByteString),
ByteString
"LoadBalancerArn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
loadBalancerArn
]
data DescribeLoadBalancerAttributesResponse = DescribeLoadBalancerAttributesResponse'
{
DescribeLoadBalancerAttributesResponse
-> Maybe [LoadBalancerAttribute]
attributes :: Prelude.Maybe [LoadBalancerAttribute],
DescribeLoadBalancerAttributesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeLoadBalancerAttributesResponse
-> DescribeLoadBalancerAttributesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLoadBalancerAttributesResponse
-> DescribeLoadBalancerAttributesResponse -> Bool
$c/= :: DescribeLoadBalancerAttributesResponse
-> DescribeLoadBalancerAttributesResponse -> Bool
== :: DescribeLoadBalancerAttributesResponse
-> DescribeLoadBalancerAttributesResponse -> Bool
$c== :: DescribeLoadBalancerAttributesResponse
-> DescribeLoadBalancerAttributesResponse -> Bool
Prelude.Eq, ReadPrec [DescribeLoadBalancerAttributesResponse]
ReadPrec DescribeLoadBalancerAttributesResponse
Int -> ReadS DescribeLoadBalancerAttributesResponse
ReadS [DescribeLoadBalancerAttributesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLoadBalancerAttributesResponse]
$creadListPrec :: ReadPrec [DescribeLoadBalancerAttributesResponse]
readPrec :: ReadPrec DescribeLoadBalancerAttributesResponse
$creadPrec :: ReadPrec DescribeLoadBalancerAttributesResponse
readList :: ReadS [DescribeLoadBalancerAttributesResponse]
$creadList :: ReadS [DescribeLoadBalancerAttributesResponse]
readsPrec :: Int -> ReadS DescribeLoadBalancerAttributesResponse
$creadsPrec :: Int -> ReadS DescribeLoadBalancerAttributesResponse
Prelude.Read, Int -> DescribeLoadBalancerAttributesResponse -> ShowS
[DescribeLoadBalancerAttributesResponse] -> ShowS
DescribeLoadBalancerAttributesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLoadBalancerAttributesResponse] -> ShowS
$cshowList :: [DescribeLoadBalancerAttributesResponse] -> ShowS
show :: DescribeLoadBalancerAttributesResponse -> String
$cshow :: DescribeLoadBalancerAttributesResponse -> String
showsPrec :: Int -> DescribeLoadBalancerAttributesResponse -> ShowS
$cshowsPrec :: Int -> DescribeLoadBalancerAttributesResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeLoadBalancerAttributesResponse x
-> DescribeLoadBalancerAttributesResponse
forall x.
DescribeLoadBalancerAttributesResponse
-> Rep DescribeLoadBalancerAttributesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeLoadBalancerAttributesResponse x
-> DescribeLoadBalancerAttributesResponse
$cfrom :: forall x.
DescribeLoadBalancerAttributesResponse
-> Rep DescribeLoadBalancerAttributesResponse x
Prelude.Generic)
newDescribeLoadBalancerAttributesResponse ::
Prelude.Int ->
DescribeLoadBalancerAttributesResponse
newDescribeLoadBalancerAttributesResponse :: Int -> DescribeLoadBalancerAttributesResponse
newDescribeLoadBalancerAttributesResponse
Int
pHttpStatus_ =
DescribeLoadBalancerAttributesResponse'
{ $sel:attributes:DescribeLoadBalancerAttributesResponse' :: Maybe [LoadBalancerAttribute]
attributes =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeLoadBalancerAttributesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeLoadBalancerAttributesResponse_attributes :: Lens.Lens' DescribeLoadBalancerAttributesResponse (Prelude.Maybe [LoadBalancerAttribute])
describeLoadBalancerAttributesResponse_attributes :: Lens'
DescribeLoadBalancerAttributesResponse
(Maybe [LoadBalancerAttribute])
describeLoadBalancerAttributesResponse_attributes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancerAttributesResponse' {Maybe [LoadBalancerAttribute]
attributes :: Maybe [LoadBalancerAttribute]
$sel:attributes:DescribeLoadBalancerAttributesResponse' :: DescribeLoadBalancerAttributesResponse
-> Maybe [LoadBalancerAttribute]
attributes} -> Maybe [LoadBalancerAttribute]
attributes) (\s :: DescribeLoadBalancerAttributesResponse
s@DescribeLoadBalancerAttributesResponse' {} Maybe [LoadBalancerAttribute]
a -> DescribeLoadBalancerAttributesResponse
s {$sel:attributes:DescribeLoadBalancerAttributesResponse' :: Maybe [LoadBalancerAttribute]
attributes = Maybe [LoadBalancerAttribute]
a} :: DescribeLoadBalancerAttributesResponse) 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
describeLoadBalancerAttributesResponse_httpStatus :: Lens.Lens' DescribeLoadBalancerAttributesResponse Prelude.Int
describeLoadBalancerAttributesResponse_httpStatus :: Lens' DescribeLoadBalancerAttributesResponse Int
describeLoadBalancerAttributesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancerAttributesResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeLoadBalancerAttributesResponse' :: DescribeLoadBalancerAttributesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeLoadBalancerAttributesResponse
s@DescribeLoadBalancerAttributesResponse' {} Int
a -> DescribeLoadBalancerAttributesResponse
s {$sel:httpStatus:DescribeLoadBalancerAttributesResponse' :: Int
httpStatus = Int
a} :: DescribeLoadBalancerAttributesResponse)
instance
Prelude.NFData
DescribeLoadBalancerAttributesResponse
where
rnf :: DescribeLoadBalancerAttributesResponse -> ()
rnf DescribeLoadBalancerAttributesResponse' {Int
Maybe [LoadBalancerAttribute]
httpStatus :: Int
attributes :: Maybe [LoadBalancerAttribute]
$sel:httpStatus:DescribeLoadBalancerAttributesResponse' :: DescribeLoadBalancerAttributesResponse -> Int
$sel:attributes:DescribeLoadBalancerAttributesResponse' :: DescribeLoadBalancerAttributesResponse
-> Maybe [LoadBalancerAttribute]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [LoadBalancerAttribute]
attributes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus