{-# 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.DescribeTargetHealth
(
DescribeTargetHealth (..),
newDescribeTargetHealth,
describeTargetHealth_targets,
describeTargetHealth_targetGroupArn,
DescribeTargetHealthResponse (..),
newDescribeTargetHealthResponse,
describeTargetHealthResponse_targetHealthDescriptions,
describeTargetHealthResponse_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 DescribeTargetHealth = DescribeTargetHealth'
{
DescribeTargetHealth -> Maybe [TargetDescription]
targets :: Prelude.Maybe [TargetDescription],
DescribeTargetHealth -> Text
targetGroupArn :: Prelude.Text
}
deriving (DescribeTargetHealth -> DescribeTargetHealth -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTargetHealth -> DescribeTargetHealth -> Bool
$c/= :: DescribeTargetHealth -> DescribeTargetHealth -> Bool
== :: DescribeTargetHealth -> DescribeTargetHealth -> Bool
$c== :: DescribeTargetHealth -> DescribeTargetHealth -> Bool
Prelude.Eq, ReadPrec [DescribeTargetHealth]
ReadPrec DescribeTargetHealth
Int -> ReadS DescribeTargetHealth
ReadS [DescribeTargetHealth]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTargetHealth]
$creadListPrec :: ReadPrec [DescribeTargetHealth]
readPrec :: ReadPrec DescribeTargetHealth
$creadPrec :: ReadPrec DescribeTargetHealth
readList :: ReadS [DescribeTargetHealth]
$creadList :: ReadS [DescribeTargetHealth]
readsPrec :: Int -> ReadS DescribeTargetHealth
$creadsPrec :: Int -> ReadS DescribeTargetHealth
Prelude.Read, Int -> DescribeTargetHealth -> ShowS
[DescribeTargetHealth] -> ShowS
DescribeTargetHealth -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTargetHealth] -> ShowS
$cshowList :: [DescribeTargetHealth] -> ShowS
show :: DescribeTargetHealth -> String
$cshow :: DescribeTargetHealth -> String
showsPrec :: Int -> DescribeTargetHealth -> ShowS
$cshowsPrec :: Int -> DescribeTargetHealth -> ShowS
Prelude.Show, forall x. Rep DescribeTargetHealth x -> DescribeTargetHealth
forall x. DescribeTargetHealth -> Rep DescribeTargetHealth x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeTargetHealth x -> DescribeTargetHealth
$cfrom :: forall x. DescribeTargetHealth -> Rep DescribeTargetHealth x
Prelude.Generic)
newDescribeTargetHealth ::
Prelude.Text ->
DescribeTargetHealth
newDescribeTargetHealth :: Text -> DescribeTargetHealth
newDescribeTargetHealth Text
pTargetGroupArn_ =
DescribeTargetHealth'
{ $sel:targets:DescribeTargetHealth' :: Maybe [TargetDescription]
targets = forall a. Maybe a
Prelude.Nothing,
$sel:targetGroupArn:DescribeTargetHealth' :: Text
targetGroupArn = Text
pTargetGroupArn_
}
describeTargetHealth_targets :: Lens.Lens' DescribeTargetHealth (Prelude.Maybe [TargetDescription])
describeTargetHealth_targets :: Lens' DescribeTargetHealth (Maybe [TargetDescription])
describeTargetHealth_targets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTargetHealth' {Maybe [TargetDescription]
targets :: Maybe [TargetDescription]
$sel:targets:DescribeTargetHealth' :: DescribeTargetHealth -> Maybe [TargetDescription]
targets} -> Maybe [TargetDescription]
targets) (\s :: DescribeTargetHealth
s@DescribeTargetHealth' {} Maybe [TargetDescription]
a -> DescribeTargetHealth
s {$sel:targets:DescribeTargetHealth' :: Maybe [TargetDescription]
targets = Maybe [TargetDescription]
a} :: DescribeTargetHealth) 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
describeTargetHealth_targetGroupArn :: Lens.Lens' DescribeTargetHealth Prelude.Text
describeTargetHealth_targetGroupArn :: Lens' DescribeTargetHealth Text
describeTargetHealth_targetGroupArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTargetHealth' {Text
targetGroupArn :: Text
$sel:targetGroupArn:DescribeTargetHealth' :: DescribeTargetHealth -> Text
targetGroupArn} -> Text
targetGroupArn) (\s :: DescribeTargetHealth
s@DescribeTargetHealth' {} Text
a -> DescribeTargetHealth
s {$sel:targetGroupArn:DescribeTargetHealth' :: Text
targetGroupArn = Text
a} :: DescribeTargetHealth)
instance Core.AWSRequest DescribeTargetHealth where
type
AWSResponse DescribeTargetHealth =
DescribeTargetHealthResponse
request :: (Service -> Service)
-> DescribeTargetHealth -> Request DescribeTargetHealth
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 DescribeTargetHealth
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeTargetHealth)))
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
"DescribeTargetHealthResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe [TargetHealthDescription]
-> Int -> DescribeTargetHealthResponse
DescribeTargetHealthResponse'
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
"TargetHealthDescriptions"
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 DescribeTargetHealth where
hashWithSalt :: Int -> DescribeTargetHealth -> Int
hashWithSalt Int
_salt DescribeTargetHealth' {Maybe [TargetDescription]
Text
targetGroupArn :: Text
targets :: Maybe [TargetDescription]
$sel:targetGroupArn:DescribeTargetHealth' :: DescribeTargetHealth -> Text
$sel:targets:DescribeTargetHealth' :: DescribeTargetHealth -> Maybe [TargetDescription]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [TargetDescription]
targets
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
targetGroupArn
instance Prelude.NFData DescribeTargetHealth where
rnf :: DescribeTargetHealth -> ()
rnf DescribeTargetHealth' {Maybe [TargetDescription]
Text
targetGroupArn :: Text
targets :: Maybe [TargetDescription]
$sel:targetGroupArn:DescribeTargetHealth' :: DescribeTargetHealth -> Text
$sel:targets:DescribeTargetHealth' :: DescribeTargetHealth -> Maybe [TargetDescription]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [TargetDescription]
targets
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
targetGroupArn
instance Data.ToHeaders DescribeTargetHealth where
toHeaders :: DescribeTargetHealth -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeTargetHealth where
toPath :: DescribeTargetHealth -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeTargetHealth where
toQuery :: DescribeTargetHealth -> QueryString
toQuery DescribeTargetHealth' {Maybe [TargetDescription]
Text
targetGroupArn :: Text
targets :: Maybe [TargetDescription]
$sel:targetGroupArn:DescribeTargetHealth' :: DescribeTargetHealth -> Text
$sel:targets:DescribeTargetHealth' :: DescribeTargetHealth -> Maybe [TargetDescription]
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DescribeTargetHealth" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2015-12-01" :: Prelude.ByteString),
ByteString
"Targets"
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 [TargetDescription]
targets),
ByteString
"TargetGroupArn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
targetGroupArn
]
data DescribeTargetHealthResponse = DescribeTargetHealthResponse'
{
DescribeTargetHealthResponse -> Maybe [TargetHealthDescription]
targetHealthDescriptions :: Prelude.Maybe [TargetHealthDescription],
DescribeTargetHealthResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeTargetHealthResponse
-> DescribeTargetHealthResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTargetHealthResponse
-> DescribeTargetHealthResponse -> Bool
$c/= :: DescribeTargetHealthResponse
-> DescribeTargetHealthResponse -> Bool
== :: DescribeTargetHealthResponse
-> DescribeTargetHealthResponse -> Bool
$c== :: DescribeTargetHealthResponse
-> DescribeTargetHealthResponse -> Bool
Prelude.Eq, ReadPrec [DescribeTargetHealthResponse]
ReadPrec DescribeTargetHealthResponse
Int -> ReadS DescribeTargetHealthResponse
ReadS [DescribeTargetHealthResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTargetHealthResponse]
$creadListPrec :: ReadPrec [DescribeTargetHealthResponse]
readPrec :: ReadPrec DescribeTargetHealthResponse
$creadPrec :: ReadPrec DescribeTargetHealthResponse
readList :: ReadS [DescribeTargetHealthResponse]
$creadList :: ReadS [DescribeTargetHealthResponse]
readsPrec :: Int -> ReadS DescribeTargetHealthResponse
$creadsPrec :: Int -> ReadS DescribeTargetHealthResponse
Prelude.Read, Int -> DescribeTargetHealthResponse -> ShowS
[DescribeTargetHealthResponse] -> ShowS
DescribeTargetHealthResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTargetHealthResponse] -> ShowS
$cshowList :: [DescribeTargetHealthResponse] -> ShowS
show :: DescribeTargetHealthResponse -> String
$cshow :: DescribeTargetHealthResponse -> String
showsPrec :: Int -> DescribeTargetHealthResponse -> ShowS
$cshowsPrec :: Int -> DescribeTargetHealthResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeTargetHealthResponse x -> DescribeTargetHealthResponse
forall x.
DescribeTargetHealthResponse -> Rep DescribeTargetHealthResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeTargetHealthResponse x -> DescribeTargetHealthResponse
$cfrom :: forall x.
DescribeTargetHealthResponse -> Rep DescribeTargetHealthResponse x
Prelude.Generic)
newDescribeTargetHealthResponse ::
Prelude.Int ->
DescribeTargetHealthResponse
newDescribeTargetHealthResponse :: Int -> DescribeTargetHealthResponse
newDescribeTargetHealthResponse Int
pHttpStatus_ =
DescribeTargetHealthResponse'
{ $sel:targetHealthDescriptions:DescribeTargetHealthResponse' :: Maybe [TargetHealthDescription]
targetHealthDescriptions =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeTargetHealthResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeTargetHealthResponse_targetHealthDescriptions :: Lens.Lens' DescribeTargetHealthResponse (Prelude.Maybe [TargetHealthDescription])
describeTargetHealthResponse_targetHealthDescriptions :: Lens'
DescribeTargetHealthResponse (Maybe [TargetHealthDescription])
describeTargetHealthResponse_targetHealthDescriptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTargetHealthResponse' {Maybe [TargetHealthDescription]
targetHealthDescriptions :: Maybe [TargetHealthDescription]
$sel:targetHealthDescriptions:DescribeTargetHealthResponse' :: DescribeTargetHealthResponse -> Maybe [TargetHealthDescription]
targetHealthDescriptions} -> Maybe [TargetHealthDescription]
targetHealthDescriptions) (\s :: DescribeTargetHealthResponse
s@DescribeTargetHealthResponse' {} Maybe [TargetHealthDescription]
a -> DescribeTargetHealthResponse
s {$sel:targetHealthDescriptions:DescribeTargetHealthResponse' :: Maybe [TargetHealthDescription]
targetHealthDescriptions = Maybe [TargetHealthDescription]
a} :: DescribeTargetHealthResponse) 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
describeTargetHealthResponse_httpStatus :: Lens.Lens' DescribeTargetHealthResponse Prelude.Int
describeTargetHealthResponse_httpStatus :: Lens' DescribeTargetHealthResponse Int
describeTargetHealthResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTargetHealthResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeTargetHealthResponse' :: DescribeTargetHealthResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeTargetHealthResponse
s@DescribeTargetHealthResponse' {} Int
a -> DescribeTargetHealthResponse
s {$sel:httpStatus:DescribeTargetHealthResponse' :: Int
httpStatus = Int
a} :: DescribeTargetHealthResponse)
instance Prelude.NFData DescribeTargetHealthResponse where
rnf :: DescribeTargetHealthResponse -> ()
rnf DescribeTargetHealthResponse' {Int
Maybe [TargetHealthDescription]
httpStatus :: Int
targetHealthDescriptions :: Maybe [TargetHealthDescription]
$sel:httpStatus:DescribeTargetHealthResponse' :: DescribeTargetHealthResponse -> Int
$sel:targetHealthDescriptions:DescribeTargetHealthResponse' :: DescribeTargetHealthResponse -> Maybe [TargetHealthDescription]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [TargetHealthDescription]
targetHealthDescriptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus