{-# 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.ELB.DescribeLoadBalancerPolicyTypes
(
DescribeLoadBalancerPolicyTypes (..),
newDescribeLoadBalancerPolicyTypes,
describeLoadBalancerPolicyTypes_policyTypeNames,
DescribeLoadBalancerPolicyTypesResponse (..),
newDescribeLoadBalancerPolicyTypesResponse,
describeLoadBalancerPolicyTypesResponse_policyTypeDescriptions,
describeLoadBalancerPolicyTypesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ELB.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeLoadBalancerPolicyTypes = DescribeLoadBalancerPolicyTypes'
{
DescribeLoadBalancerPolicyTypes -> Maybe [Text]
policyTypeNames :: Prelude.Maybe [Prelude.Text]
}
deriving (DescribeLoadBalancerPolicyTypes
-> DescribeLoadBalancerPolicyTypes -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLoadBalancerPolicyTypes
-> DescribeLoadBalancerPolicyTypes -> Bool
$c/= :: DescribeLoadBalancerPolicyTypes
-> DescribeLoadBalancerPolicyTypes -> Bool
== :: DescribeLoadBalancerPolicyTypes
-> DescribeLoadBalancerPolicyTypes -> Bool
$c== :: DescribeLoadBalancerPolicyTypes
-> DescribeLoadBalancerPolicyTypes -> Bool
Prelude.Eq, ReadPrec [DescribeLoadBalancerPolicyTypes]
ReadPrec DescribeLoadBalancerPolicyTypes
Int -> ReadS DescribeLoadBalancerPolicyTypes
ReadS [DescribeLoadBalancerPolicyTypes]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLoadBalancerPolicyTypes]
$creadListPrec :: ReadPrec [DescribeLoadBalancerPolicyTypes]
readPrec :: ReadPrec DescribeLoadBalancerPolicyTypes
$creadPrec :: ReadPrec DescribeLoadBalancerPolicyTypes
readList :: ReadS [DescribeLoadBalancerPolicyTypes]
$creadList :: ReadS [DescribeLoadBalancerPolicyTypes]
readsPrec :: Int -> ReadS DescribeLoadBalancerPolicyTypes
$creadsPrec :: Int -> ReadS DescribeLoadBalancerPolicyTypes
Prelude.Read, Int -> DescribeLoadBalancerPolicyTypes -> ShowS
[DescribeLoadBalancerPolicyTypes] -> ShowS
DescribeLoadBalancerPolicyTypes -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLoadBalancerPolicyTypes] -> ShowS
$cshowList :: [DescribeLoadBalancerPolicyTypes] -> ShowS
show :: DescribeLoadBalancerPolicyTypes -> String
$cshow :: DescribeLoadBalancerPolicyTypes -> String
showsPrec :: Int -> DescribeLoadBalancerPolicyTypes -> ShowS
$cshowsPrec :: Int -> DescribeLoadBalancerPolicyTypes -> ShowS
Prelude.Show, forall x.
Rep DescribeLoadBalancerPolicyTypes x
-> DescribeLoadBalancerPolicyTypes
forall x.
DescribeLoadBalancerPolicyTypes
-> Rep DescribeLoadBalancerPolicyTypes x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeLoadBalancerPolicyTypes x
-> DescribeLoadBalancerPolicyTypes
$cfrom :: forall x.
DescribeLoadBalancerPolicyTypes
-> Rep DescribeLoadBalancerPolicyTypes x
Prelude.Generic)
newDescribeLoadBalancerPolicyTypes ::
DescribeLoadBalancerPolicyTypes
newDescribeLoadBalancerPolicyTypes :: DescribeLoadBalancerPolicyTypes
newDescribeLoadBalancerPolicyTypes =
DescribeLoadBalancerPolicyTypes'
{ $sel:policyTypeNames:DescribeLoadBalancerPolicyTypes' :: Maybe [Text]
policyTypeNames =
forall a. Maybe a
Prelude.Nothing
}
describeLoadBalancerPolicyTypes_policyTypeNames :: Lens.Lens' DescribeLoadBalancerPolicyTypes (Prelude.Maybe [Prelude.Text])
describeLoadBalancerPolicyTypes_policyTypeNames :: Lens' DescribeLoadBalancerPolicyTypes (Maybe [Text])
describeLoadBalancerPolicyTypes_policyTypeNames = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancerPolicyTypes' {Maybe [Text]
policyTypeNames :: Maybe [Text]
$sel:policyTypeNames:DescribeLoadBalancerPolicyTypes' :: DescribeLoadBalancerPolicyTypes -> Maybe [Text]
policyTypeNames} -> Maybe [Text]
policyTypeNames) (\s :: DescribeLoadBalancerPolicyTypes
s@DescribeLoadBalancerPolicyTypes' {} Maybe [Text]
a -> DescribeLoadBalancerPolicyTypes
s {$sel:policyTypeNames:DescribeLoadBalancerPolicyTypes' :: Maybe [Text]
policyTypeNames = Maybe [Text]
a} :: DescribeLoadBalancerPolicyTypes) 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
instance
Core.AWSRequest
DescribeLoadBalancerPolicyTypes
where
type
AWSResponse DescribeLoadBalancerPolicyTypes =
DescribeLoadBalancerPolicyTypesResponse
request :: (Service -> Service)
-> DescribeLoadBalancerPolicyTypes
-> Request DescribeLoadBalancerPolicyTypes
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 DescribeLoadBalancerPolicyTypes
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse DescribeLoadBalancerPolicyTypes)))
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
"DescribeLoadBalancerPolicyTypesResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe [PolicyTypeDescription]
-> Int -> DescribeLoadBalancerPolicyTypesResponse
DescribeLoadBalancerPolicyTypesResponse'
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
"PolicyTypeDescriptions"
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
DescribeLoadBalancerPolicyTypes
where
hashWithSalt :: Int -> DescribeLoadBalancerPolicyTypes -> Int
hashWithSalt
Int
_salt
DescribeLoadBalancerPolicyTypes' {Maybe [Text]
policyTypeNames :: Maybe [Text]
$sel:policyTypeNames:DescribeLoadBalancerPolicyTypes' :: DescribeLoadBalancerPolicyTypes -> Maybe [Text]
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
policyTypeNames
instance
Prelude.NFData
DescribeLoadBalancerPolicyTypes
where
rnf :: DescribeLoadBalancerPolicyTypes -> ()
rnf DescribeLoadBalancerPolicyTypes' {Maybe [Text]
policyTypeNames :: Maybe [Text]
$sel:policyTypeNames:DescribeLoadBalancerPolicyTypes' :: DescribeLoadBalancerPolicyTypes -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
policyTypeNames
instance
Data.ToHeaders
DescribeLoadBalancerPolicyTypes
where
toHeaders :: DescribeLoadBalancerPolicyTypes -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeLoadBalancerPolicyTypes where
toPath :: DescribeLoadBalancerPolicyTypes -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeLoadBalancerPolicyTypes where
toQuery :: DescribeLoadBalancerPolicyTypes -> QueryString
toQuery DescribeLoadBalancerPolicyTypes' {Maybe [Text]
policyTypeNames :: Maybe [Text]
$sel:policyTypeNames:DescribeLoadBalancerPolicyTypes' :: DescribeLoadBalancerPolicyTypes -> Maybe [Text]
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"DescribeLoadBalancerPolicyTypes" ::
Prelude.ByteString
),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2012-06-01" :: Prelude.ByteString),
ByteString
"PolicyTypeNames"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
policyTypeNames
)
]
data DescribeLoadBalancerPolicyTypesResponse = DescribeLoadBalancerPolicyTypesResponse'
{
DescribeLoadBalancerPolicyTypesResponse
-> Maybe [PolicyTypeDescription]
policyTypeDescriptions :: Prelude.Maybe [PolicyTypeDescription],
DescribeLoadBalancerPolicyTypesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeLoadBalancerPolicyTypesResponse
-> DescribeLoadBalancerPolicyTypesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeLoadBalancerPolicyTypesResponse
-> DescribeLoadBalancerPolicyTypesResponse -> Bool
$c/= :: DescribeLoadBalancerPolicyTypesResponse
-> DescribeLoadBalancerPolicyTypesResponse -> Bool
== :: DescribeLoadBalancerPolicyTypesResponse
-> DescribeLoadBalancerPolicyTypesResponse -> Bool
$c== :: DescribeLoadBalancerPolicyTypesResponse
-> DescribeLoadBalancerPolicyTypesResponse -> Bool
Prelude.Eq, ReadPrec [DescribeLoadBalancerPolicyTypesResponse]
ReadPrec DescribeLoadBalancerPolicyTypesResponse
Int -> ReadS DescribeLoadBalancerPolicyTypesResponse
ReadS [DescribeLoadBalancerPolicyTypesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeLoadBalancerPolicyTypesResponse]
$creadListPrec :: ReadPrec [DescribeLoadBalancerPolicyTypesResponse]
readPrec :: ReadPrec DescribeLoadBalancerPolicyTypesResponse
$creadPrec :: ReadPrec DescribeLoadBalancerPolicyTypesResponse
readList :: ReadS [DescribeLoadBalancerPolicyTypesResponse]
$creadList :: ReadS [DescribeLoadBalancerPolicyTypesResponse]
readsPrec :: Int -> ReadS DescribeLoadBalancerPolicyTypesResponse
$creadsPrec :: Int -> ReadS DescribeLoadBalancerPolicyTypesResponse
Prelude.Read, Int -> DescribeLoadBalancerPolicyTypesResponse -> ShowS
[DescribeLoadBalancerPolicyTypesResponse] -> ShowS
DescribeLoadBalancerPolicyTypesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeLoadBalancerPolicyTypesResponse] -> ShowS
$cshowList :: [DescribeLoadBalancerPolicyTypesResponse] -> ShowS
show :: DescribeLoadBalancerPolicyTypesResponse -> String
$cshow :: DescribeLoadBalancerPolicyTypesResponse -> String
showsPrec :: Int -> DescribeLoadBalancerPolicyTypesResponse -> ShowS
$cshowsPrec :: Int -> DescribeLoadBalancerPolicyTypesResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeLoadBalancerPolicyTypesResponse x
-> DescribeLoadBalancerPolicyTypesResponse
forall x.
DescribeLoadBalancerPolicyTypesResponse
-> Rep DescribeLoadBalancerPolicyTypesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeLoadBalancerPolicyTypesResponse x
-> DescribeLoadBalancerPolicyTypesResponse
$cfrom :: forall x.
DescribeLoadBalancerPolicyTypesResponse
-> Rep DescribeLoadBalancerPolicyTypesResponse x
Prelude.Generic)
newDescribeLoadBalancerPolicyTypesResponse ::
Prelude.Int ->
DescribeLoadBalancerPolicyTypesResponse
newDescribeLoadBalancerPolicyTypesResponse :: Int -> DescribeLoadBalancerPolicyTypesResponse
newDescribeLoadBalancerPolicyTypesResponse
Int
pHttpStatus_ =
DescribeLoadBalancerPolicyTypesResponse'
{ $sel:policyTypeDescriptions:DescribeLoadBalancerPolicyTypesResponse' :: Maybe [PolicyTypeDescription]
policyTypeDescriptions =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeLoadBalancerPolicyTypesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeLoadBalancerPolicyTypesResponse_policyTypeDescriptions :: Lens.Lens' DescribeLoadBalancerPolicyTypesResponse (Prelude.Maybe [PolicyTypeDescription])
describeLoadBalancerPolicyTypesResponse_policyTypeDescriptions :: Lens'
DescribeLoadBalancerPolicyTypesResponse
(Maybe [PolicyTypeDescription])
describeLoadBalancerPolicyTypesResponse_policyTypeDescriptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancerPolicyTypesResponse' {Maybe [PolicyTypeDescription]
policyTypeDescriptions :: Maybe [PolicyTypeDescription]
$sel:policyTypeDescriptions:DescribeLoadBalancerPolicyTypesResponse' :: DescribeLoadBalancerPolicyTypesResponse
-> Maybe [PolicyTypeDescription]
policyTypeDescriptions} -> Maybe [PolicyTypeDescription]
policyTypeDescriptions) (\s :: DescribeLoadBalancerPolicyTypesResponse
s@DescribeLoadBalancerPolicyTypesResponse' {} Maybe [PolicyTypeDescription]
a -> DescribeLoadBalancerPolicyTypesResponse
s {$sel:policyTypeDescriptions:DescribeLoadBalancerPolicyTypesResponse' :: Maybe [PolicyTypeDescription]
policyTypeDescriptions = Maybe [PolicyTypeDescription]
a} :: DescribeLoadBalancerPolicyTypesResponse) 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
describeLoadBalancerPolicyTypesResponse_httpStatus :: Lens.Lens' DescribeLoadBalancerPolicyTypesResponse Prelude.Int
describeLoadBalancerPolicyTypesResponse_httpStatus :: Lens' DescribeLoadBalancerPolicyTypesResponse Int
describeLoadBalancerPolicyTypesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeLoadBalancerPolicyTypesResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeLoadBalancerPolicyTypesResponse' :: DescribeLoadBalancerPolicyTypesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeLoadBalancerPolicyTypesResponse
s@DescribeLoadBalancerPolicyTypesResponse' {} Int
a -> DescribeLoadBalancerPolicyTypesResponse
s {$sel:httpStatus:DescribeLoadBalancerPolicyTypesResponse' :: Int
httpStatus = Int
a} :: DescribeLoadBalancerPolicyTypesResponse)
instance
Prelude.NFData
DescribeLoadBalancerPolicyTypesResponse
where
rnf :: DescribeLoadBalancerPolicyTypesResponse -> ()
rnf DescribeLoadBalancerPolicyTypesResponse' {Int
Maybe [PolicyTypeDescription]
httpStatus :: Int
policyTypeDescriptions :: Maybe [PolicyTypeDescription]
$sel:httpStatus:DescribeLoadBalancerPolicyTypesResponse' :: DescribeLoadBalancerPolicyTypesResponse -> Int
$sel:policyTypeDescriptions:DescribeLoadBalancerPolicyTypesResponse' :: DescribeLoadBalancerPolicyTypesResponse
-> Maybe [PolicyTypeDescription]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [PolicyTypeDescription]
policyTypeDescriptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus