{-# 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.ConfigureHealthCheck
(
ConfigureHealthCheck (..),
newConfigureHealthCheck,
configureHealthCheck_loadBalancerName,
configureHealthCheck_healthCheck,
ConfigureHealthCheckResponse (..),
newConfigureHealthCheckResponse,
configureHealthCheckResponse_healthCheck,
configureHealthCheckResponse_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 ConfigureHealthCheck = ConfigureHealthCheck'
{
ConfigureHealthCheck -> Text
loadBalancerName :: Prelude.Text,
ConfigureHealthCheck -> HealthCheck
healthCheck :: HealthCheck
}
deriving (ConfigureHealthCheck -> ConfigureHealthCheck -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConfigureHealthCheck -> ConfigureHealthCheck -> Bool
$c/= :: ConfigureHealthCheck -> ConfigureHealthCheck -> Bool
== :: ConfigureHealthCheck -> ConfigureHealthCheck -> Bool
$c== :: ConfigureHealthCheck -> ConfigureHealthCheck -> Bool
Prelude.Eq, ReadPrec [ConfigureHealthCheck]
ReadPrec ConfigureHealthCheck
Int -> ReadS ConfigureHealthCheck
ReadS [ConfigureHealthCheck]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ConfigureHealthCheck]
$creadListPrec :: ReadPrec [ConfigureHealthCheck]
readPrec :: ReadPrec ConfigureHealthCheck
$creadPrec :: ReadPrec ConfigureHealthCheck
readList :: ReadS [ConfigureHealthCheck]
$creadList :: ReadS [ConfigureHealthCheck]
readsPrec :: Int -> ReadS ConfigureHealthCheck
$creadsPrec :: Int -> ReadS ConfigureHealthCheck
Prelude.Read, Int -> ConfigureHealthCheck -> ShowS
[ConfigureHealthCheck] -> ShowS
ConfigureHealthCheck -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConfigureHealthCheck] -> ShowS
$cshowList :: [ConfigureHealthCheck] -> ShowS
show :: ConfigureHealthCheck -> String
$cshow :: ConfigureHealthCheck -> String
showsPrec :: Int -> ConfigureHealthCheck -> ShowS
$cshowsPrec :: Int -> ConfigureHealthCheck -> ShowS
Prelude.Show, forall x. Rep ConfigureHealthCheck x -> ConfigureHealthCheck
forall x. ConfigureHealthCheck -> Rep ConfigureHealthCheck x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ConfigureHealthCheck x -> ConfigureHealthCheck
$cfrom :: forall x. ConfigureHealthCheck -> Rep ConfigureHealthCheck x
Prelude.Generic)
newConfigureHealthCheck ::
Prelude.Text ->
HealthCheck ->
ConfigureHealthCheck
newConfigureHealthCheck :: Text -> HealthCheck -> ConfigureHealthCheck
newConfigureHealthCheck
Text
pLoadBalancerName_
HealthCheck
pHealthCheck_ =
ConfigureHealthCheck'
{ $sel:loadBalancerName:ConfigureHealthCheck' :: Text
loadBalancerName =
Text
pLoadBalancerName_,
$sel:healthCheck:ConfigureHealthCheck' :: HealthCheck
healthCheck = HealthCheck
pHealthCheck_
}
configureHealthCheck_loadBalancerName :: Lens.Lens' ConfigureHealthCheck Prelude.Text
configureHealthCheck_loadBalancerName :: Lens' ConfigureHealthCheck Text
configureHealthCheck_loadBalancerName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConfigureHealthCheck' {Text
loadBalancerName :: Text
$sel:loadBalancerName:ConfigureHealthCheck' :: ConfigureHealthCheck -> Text
loadBalancerName} -> Text
loadBalancerName) (\s :: ConfigureHealthCheck
s@ConfigureHealthCheck' {} Text
a -> ConfigureHealthCheck
s {$sel:loadBalancerName:ConfigureHealthCheck' :: Text
loadBalancerName = Text
a} :: ConfigureHealthCheck)
configureHealthCheck_healthCheck :: Lens.Lens' ConfigureHealthCheck HealthCheck
configureHealthCheck_healthCheck :: Lens' ConfigureHealthCheck HealthCheck
configureHealthCheck_healthCheck = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConfigureHealthCheck' {HealthCheck
healthCheck :: HealthCheck
$sel:healthCheck:ConfigureHealthCheck' :: ConfigureHealthCheck -> HealthCheck
healthCheck} -> HealthCheck
healthCheck) (\s :: ConfigureHealthCheck
s@ConfigureHealthCheck' {} HealthCheck
a -> ConfigureHealthCheck
s {$sel:healthCheck:ConfigureHealthCheck' :: HealthCheck
healthCheck = HealthCheck
a} :: ConfigureHealthCheck)
instance Core.AWSRequest ConfigureHealthCheck where
type
AWSResponse ConfigureHealthCheck =
ConfigureHealthCheckResponse
request :: (Service -> Service)
-> ConfigureHealthCheck -> Request ConfigureHealthCheck
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 ConfigureHealthCheck
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ConfigureHealthCheck)))
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
"ConfigureHealthCheckResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe HealthCheck -> Int -> ConfigureHealthCheckResponse
ConfigureHealthCheckResponse'
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
"HealthCheck")
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 ConfigureHealthCheck where
hashWithSalt :: Int -> ConfigureHealthCheck -> Int
hashWithSalt Int
_salt ConfigureHealthCheck' {Text
HealthCheck
healthCheck :: HealthCheck
loadBalancerName :: Text
$sel:healthCheck:ConfigureHealthCheck' :: ConfigureHealthCheck -> HealthCheck
$sel:loadBalancerName:ConfigureHealthCheck' :: ConfigureHealthCheck -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
loadBalancerName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` HealthCheck
healthCheck
instance Prelude.NFData ConfigureHealthCheck where
rnf :: ConfigureHealthCheck -> ()
rnf ConfigureHealthCheck' {Text
HealthCheck
healthCheck :: HealthCheck
loadBalancerName :: Text
$sel:healthCheck:ConfigureHealthCheck' :: ConfigureHealthCheck -> HealthCheck
$sel:loadBalancerName:ConfigureHealthCheck' :: ConfigureHealthCheck -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
loadBalancerName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf HealthCheck
healthCheck
instance Data.ToHeaders ConfigureHealthCheck where
toHeaders :: ConfigureHealthCheck -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath ConfigureHealthCheck where
toPath :: ConfigureHealthCheck -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ConfigureHealthCheck where
toQuery :: ConfigureHealthCheck -> QueryString
toQuery ConfigureHealthCheck' {Text
HealthCheck
healthCheck :: HealthCheck
loadBalancerName :: Text
$sel:healthCheck:ConfigureHealthCheck' :: ConfigureHealthCheck -> HealthCheck
$sel:loadBalancerName:ConfigureHealthCheck' :: ConfigureHealthCheck -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"ConfigureHealthCheck" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2012-06-01" :: Prelude.ByteString),
ByteString
"LoadBalancerName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
loadBalancerName,
ByteString
"HealthCheck" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: HealthCheck
healthCheck
]
data ConfigureHealthCheckResponse = ConfigureHealthCheckResponse'
{
ConfigureHealthCheckResponse -> Maybe HealthCheck
healthCheck :: Prelude.Maybe HealthCheck,
ConfigureHealthCheckResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ConfigureHealthCheckResponse
-> ConfigureHealthCheckResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConfigureHealthCheckResponse
-> ConfigureHealthCheckResponse -> Bool
$c/= :: ConfigureHealthCheckResponse
-> ConfigureHealthCheckResponse -> Bool
== :: ConfigureHealthCheckResponse
-> ConfigureHealthCheckResponse -> Bool
$c== :: ConfigureHealthCheckResponse
-> ConfigureHealthCheckResponse -> Bool
Prelude.Eq, ReadPrec [ConfigureHealthCheckResponse]
ReadPrec ConfigureHealthCheckResponse
Int -> ReadS ConfigureHealthCheckResponse
ReadS [ConfigureHealthCheckResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ConfigureHealthCheckResponse]
$creadListPrec :: ReadPrec [ConfigureHealthCheckResponse]
readPrec :: ReadPrec ConfigureHealthCheckResponse
$creadPrec :: ReadPrec ConfigureHealthCheckResponse
readList :: ReadS [ConfigureHealthCheckResponse]
$creadList :: ReadS [ConfigureHealthCheckResponse]
readsPrec :: Int -> ReadS ConfigureHealthCheckResponse
$creadsPrec :: Int -> ReadS ConfigureHealthCheckResponse
Prelude.Read, Int -> ConfigureHealthCheckResponse -> ShowS
[ConfigureHealthCheckResponse] -> ShowS
ConfigureHealthCheckResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConfigureHealthCheckResponse] -> ShowS
$cshowList :: [ConfigureHealthCheckResponse] -> ShowS
show :: ConfigureHealthCheckResponse -> String
$cshow :: ConfigureHealthCheckResponse -> String
showsPrec :: Int -> ConfigureHealthCheckResponse -> ShowS
$cshowsPrec :: Int -> ConfigureHealthCheckResponse -> ShowS
Prelude.Show, forall x.
Rep ConfigureHealthCheckResponse x -> ConfigureHealthCheckResponse
forall x.
ConfigureHealthCheckResponse -> Rep ConfigureHealthCheckResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ConfigureHealthCheckResponse x -> ConfigureHealthCheckResponse
$cfrom :: forall x.
ConfigureHealthCheckResponse -> Rep ConfigureHealthCheckResponse x
Prelude.Generic)
newConfigureHealthCheckResponse ::
Prelude.Int ->
ConfigureHealthCheckResponse
newConfigureHealthCheckResponse :: Int -> ConfigureHealthCheckResponse
newConfigureHealthCheckResponse Int
pHttpStatus_ =
ConfigureHealthCheckResponse'
{ $sel:healthCheck:ConfigureHealthCheckResponse' :: Maybe HealthCheck
healthCheck =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ConfigureHealthCheckResponse' :: Int
httpStatus = Int
pHttpStatus_
}
configureHealthCheckResponse_healthCheck :: Lens.Lens' ConfigureHealthCheckResponse (Prelude.Maybe HealthCheck)
configureHealthCheckResponse_healthCheck :: Lens' ConfigureHealthCheckResponse (Maybe HealthCheck)
configureHealthCheckResponse_healthCheck = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConfigureHealthCheckResponse' {Maybe HealthCheck
healthCheck :: Maybe HealthCheck
$sel:healthCheck:ConfigureHealthCheckResponse' :: ConfigureHealthCheckResponse -> Maybe HealthCheck
healthCheck} -> Maybe HealthCheck
healthCheck) (\s :: ConfigureHealthCheckResponse
s@ConfigureHealthCheckResponse' {} Maybe HealthCheck
a -> ConfigureHealthCheckResponse
s {$sel:healthCheck:ConfigureHealthCheckResponse' :: Maybe HealthCheck
healthCheck = Maybe HealthCheck
a} :: ConfigureHealthCheckResponse)
configureHealthCheckResponse_httpStatus :: Lens.Lens' ConfigureHealthCheckResponse Prelude.Int
configureHealthCheckResponse_httpStatus :: Lens' ConfigureHealthCheckResponse Int
configureHealthCheckResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ConfigureHealthCheckResponse' {Int
httpStatus :: Int
$sel:httpStatus:ConfigureHealthCheckResponse' :: ConfigureHealthCheckResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ConfigureHealthCheckResponse
s@ConfigureHealthCheckResponse' {} Int
a -> ConfigureHealthCheckResponse
s {$sel:httpStatus:ConfigureHealthCheckResponse' :: Int
httpStatus = Int
a} :: ConfigureHealthCheckResponse)
instance Prelude.NFData ConfigureHealthCheckResponse where
rnf :: ConfigureHealthCheckResponse -> ()
rnf ConfigureHealthCheckResponse' {Int
Maybe HealthCheck
httpStatus :: Int
healthCheck :: Maybe HealthCheck
$sel:httpStatus:ConfigureHealthCheckResponse' :: ConfigureHealthCheckResponse -> Int
$sel:healthCheck:ConfigureHealthCheckResponse' :: ConfigureHealthCheckResponse -> Maybe HealthCheck
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe HealthCheck
healthCheck
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus