{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.ELBV2.Types.TargetGroup where
import qualified Amazonka.Core as Core
import Amazonka.ELBV2.Types.Matcher
import Amazonka.ELBV2.Types.ProtocolEnum
import Amazonka.ELBV2.Types.TargetGroupIpAddressTypeEnum
import Amazonka.ELBV2.Types.TargetTypeEnum
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
data TargetGroup = TargetGroup'
{
TargetGroup -> Maybe Text
protocolVersion :: Prelude.Maybe Prelude.Text,
TargetGroup -> Maybe Matcher
matcher :: Prelude.Maybe Matcher,
TargetGroup -> Maybe Text
healthCheckPath :: Prelude.Maybe Prelude.Text,
TargetGroup -> Maybe Bool
healthCheckEnabled :: Prelude.Maybe Prelude.Bool,
TargetGroup -> Maybe Natural
unhealthyThresholdCount :: Prelude.Maybe Prelude.Natural,
TargetGroup -> Maybe Text
vpcId :: Prelude.Maybe Prelude.Text,
TargetGroup -> Maybe Text
targetGroupArn :: Prelude.Maybe Prelude.Text,
TargetGroup -> Maybe ProtocolEnum
protocol :: Prelude.Maybe ProtocolEnum,
TargetGroup -> Maybe Natural
healthCheckIntervalSeconds :: Prelude.Maybe Prelude.Natural,
TargetGroup -> Maybe TargetTypeEnum
targetType :: Prelude.Maybe TargetTypeEnum,
TargetGroup -> Maybe Natural
healthyThresholdCount :: Prelude.Maybe Prelude.Natural,
TargetGroup -> Maybe ProtocolEnum
healthCheckProtocol :: Prelude.Maybe ProtocolEnum,
TargetGroup -> Maybe [Text]
loadBalancerArns :: Prelude.Maybe [Prelude.Text],
TargetGroup -> Maybe TargetGroupIpAddressTypeEnum
ipAddressType :: Prelude.Maybe TargetGroupIpAddressTypeEnum,
TargetGroup -> Maybe Natural
healthCheckTimeoutSeconds :: Prelude.Maybe Prelude.Natural,
TargetGroup -> Maybe Text
healthCheckPort :: Prelude.Maybe Prelude.Text,
TargetGroup -> Maybe Text
targetGroupName :: Prelude.Maybe Prelude.Text,
TargetGroup -> Maybe Natural
port :: Prelude.Maybe Prelude.Natural
}
deriving (TargetGroup -> TargetGroup -> Bool
(TargetGroup -> TargetGroup -> Bool)
-> (TargetGroup -> TargetGroup -> Bool) -> Eq TargetGroup
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TargetGroup -> TargetGroup -> Bool
$c/= :: TargetGroup -> TargetGroup -> Bool
== :: TargetGroup -> TargetGroup -> Bool
$c== :: TargetGroup -> TargetGroup -> Bool
Prelude.Eq, ReadPrec [TargetGroup]
ReadPrec TargetGroup
Int -> ReadS TargetGroup
ReadS [TargetGroup]
(Int -> ReadS TargetGroup)
-> ReadS [TargetGroup]
-> ReadPrec TargetGroup
-> ReadPrec [TargetGroup]
-> Read TargetGroup
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TargetGroup]
$creadListPrec :: ReadPrec [TargetGroup]
readPrec :: ReadPrec TargetGroup
$creadPrec :: ReadPrec TargetGroup
readList :: ReadS [TargetGroup]
$creadList :: ReadS [TargetGroup]
readsPrec :: Int -> ReadS TargetGroup
$creadsPrec :: Int -> ReadS TargetGroup
Prelude.Read, Int -> TargetGroup -> ShowS
[TargetGroup] -> ShowS
TargetGroup -> String
(Int -> TargetGroup -> ShowS)
-> (TargetGroup -> String)
-> ([TargetGroup] -> ShowS)
-> Show TargetGroup
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TargetGroup] -> ShowS
$cshowList :: [TargetGroup] -> ShowS
show :: TargetGroup -> String
$cshow :: TargetGroup -> String
showsPrec :: Int -> TargetGroup -> ShowS
$cshowsPrec :: Int -> TargetGroup -> ShowS
Prelude.Show, (forall x. TargetGroup -> Rep TargetGroup x)
-> (forall x. Rep TargetGroup x -> TargetGroup)
-> Generic TargetGroup
forall x. Rep TargetGroup x -> TargetGroup
forall x. TargetGroup -> Rep TargetGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TargetGroup x -> TargetGroup
$cfrom :: forall x. TargetGroup -> Rep TargetGroup x
Prelude.Generic)
newTargetGroup ::
TargetGroup
newTargetGroup :: TargetGroup
newTargetGroup =
TargetGroup' :: Maybe Text
-> Maybe Matcher
-> Maybe Text
-> Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup
TargetGroup'
{ $sel:protocolVersion:TargetGroup' :: Maybe Text
protocolVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:matcher:TargetGroup' :: Maybe Matcher
matcher = Maybe Matcher
forall a. Maybe a
Prelude.Nothing,
$sel:healthCheckPath:TargetGroup' :: Maybe Text
healthCheckPath = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:healthCheckEnabled:TargetGroup' :: Maybe Bool
healthCheckEnabled = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
$sel:unhealthyThresholdCount:TargetGroup' :: Maybe Natural
unhealthyThresholdCount = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
$sel:vpcId:TargetGroup' :: Maybe Text
vpcId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:targetGroupArn:TargetGroup' :: Maybe Text
targetGroupArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:protocol:TargetGroup' :: Maybe ProtocolEnum
protocol = Maybe ProtocolEnum
forall a. Maybe a
Prelude.Nothing,
$sel:healthCheckIntervalSeconds:TargetGroup' :: Maybe Natural
healthCheckIntervalSeconds = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
$sel:targetType:TargetGroup' :: Maybe TargetTypeEnum
targetType = Maybe TargetTypeEnum
forall a. Maybe a
Prelude.Nothing,
$sel:healthyThresholdCount:TargetGroup' :: Maybe Natural
healthyThresholdCount = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
$sel:healthCheckProtocol:TargetGroup' :: Maybe ProtocolEnum
healthCheckProtocol = Maybe ProtocolEnum
forall a. Maybe a
Prelude.Nothing,
$sel:loadBalancerArns:TargetGroup' :: Maybe [Text]
loadBalancerArns = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
$sel:ipAddressType:TargetGroup' :: Maybe TargetGroupIpAddressTypeEnum
ipAddressType = Maybe TargetGroupIpAddressTypeEnum
forall a. Maybe a
Prelude.Nothing,
$sel:healthCheckTimeoutSeconds:TargetGroup' :: Maybe Natural
healthCheckTimeoutSeconds = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
$sel:healthCheckPort:TargetGroup' :: Maybe Text
healthCheckPort = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:targetGroupName:TargetGroup' :: Maybe Text
targetGroupName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:port:TargetGroup' :: Maybe Natural
port = Maybe Natural
forall a. Maybe a
Prelude.Nothing
}
targetGroup_protocolVersion :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Text)
targetGroup_protocolVersion :: (Maybe Text -> f (Maybe Text)) -> TargetGroup -> f TargetGroup
targetGroup_protocolVersion = (TargetGroup -> Maybe Text)
-> (TargetGroup -> Maybe Text -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Text
protocolVersion :: Maybe Text
$sel:protocolVersion:TargetGroup' :: TargetGroup -> Maybe Text
protocolVersion} -> Maybe Text
protocolVersion) (\s :: TargetGroup
s@TargetGroup' {} Maybe Text
a -> TargetGroup
s {$sel:protocolVersion:TargetGroup' :: Maybe Text
protocolVersion = Maybe Text
a} :: TargetGroup)
targetGroup_matcher :: Lens.Lens' TargetGroup (Prelude.Maybe Matcher)
targetGroup_matcher :: (Maybe Matcher -> f (Maybe Matcher))
-> TargetGroup -> f TargetGroup
targetGroup_matcher = (TargetGroup -> Maybe Matcher)
-> (TargetGroup -> Maybe Matcher -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Matcher) (Maybe Matcher)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Matcher
matcher :: Maybe Matcher
$sel:matcher:TargetGroup' :: TargetGroup -> Maybe Matcher
matcher} -> Maybe Matcher
matcher) (\s :: TargetGroup
s@TargetGroup' {} Maybe Matcher
a -> TargetGroup
s {$sel:matcher:TargetGroup' :: Maybe Matcher
matcher = Maybe Matcher
a} :: TargetGroup)
targetGroup_healthCheckPath :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Text)
targetGroup_healthCheckPath :: (Maybe Text -> f (Maybe Text)) -> TargetGroup -> f TargetGroup
targetGroup_healthCheckPath = (TargetGroup -> Maybe Text)
-> (TargetGroup -> Maybe Text -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Text
healthCheckPath :: Maybe Text
$sel:healthCheckPath:TargetGroup' :: TargetGroup -> Maybe Text
healthCheckPath} -> Maybe Text
healthCheckPath) (\s :: TargetGroup
s@TargetGroup' {} Maybe Text
a -> TargetGroup
s {$sel:healthCheckPath:TargetGroup' :: Maybe Text
healthCheckPath = Maybe Text
a} :: TargetGroup)
targetGroup_healthCheckEnabled :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Bool)
targetGroup_healthCheckEnabled :: (Maybe Bool -> f (Maybe Bool)) -> TargetGroup -> f TargetGroup
targetGroup_healthCheckEnabled = (TargetGroup -> Maybe Bool)
-> (TargetGroup -> Maybe Bool -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Bool
healthCheckEnabled :: Maybe Bool
$sel:healthCheckEnabled:TargetGroup' :: TargetGroup -> Maybe Bool
healthCheckEnabled} -> Maybe Bool
healthCheckEnabled) (\s :: TargetGroup
s@TargetGroup' {} Maybe Bool
a -> TargetGroup
s {$sel:healthCheckEnabled:TargetGroup' :: Maybe Bool
healthCheckEnabled = Maybe Bool
a} :: TargetGroup)
targetGroup_unhealthyThresholdCount :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Natural)
targetGroup_unhealthyThresholdCount :: (Maybe Natural -> f (Maybe Natural))
-> TargetGroup -> f TargetGroup
targetGroup_unhealthyThresholdCount = (TargetGroup -> Maybe Natural)
-> (TargetGroup -> Maybe Natural -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Natural) (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Natural
unhealthyThresholdCount :: Maybe Natural
$sel:unhealthyThresholdCount:TargetGroup' :: TargetGroup -> Maybe Natural
unhealthyThresholdCount} -> Maybe Natural
unhealthyThresholdCount) (\s :: TargetGroup
s@TargetGroup' {} Maybe Natural
a -> TargetGroup
s {$sel:unhealthyThresholdCount:TargetGroup' :: Maybe Natural
unhealthyThresholdCount = Maybe Natural
a} :: TargetGroup)
targetGroup_vpcId :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Text)
targetGroup_vpcId :: (Maybe Text -> f (Maybe Text)) -> TargetGroup -> f TargetGroup
targetGroup_vpcId = (TargetGroup -> Maybe Text)
-> (TargetGroup -> Maybe Text -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Text
vpcId :: Maybe Text
$sel:vpcId:TargetGroup' :: TargetGroup -> Maybe Text
vpcId} -> Maybe Text
vpcId) (\s :: TargetGroup
s@TargetGroup' {} Maybe Text
a -> TargetGroup
s {$sel:vpcId:TargetGroup' :: Maybe Text
vpcId = Maybe Text
a} :: TargetGroup)
targetGroup_targetGroupArn :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Text)
targetGroup_targetGroupArn :: (Maybe Text -> f (Maybe Text)) -> TargetGroup -> f TargetGroup
targetGroup_targetGroupArn = (TargetGroup -> Maybe Text)
-> (TargetGroup -> Maybe Text -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Text
targetGroupArn :: Maybe Text
$sel:targetGroupArn:TargetGroup' :: TargetGroup -> Maybe Text
targetGroupArn} -> Maybe Text
targetGroupArn) (\s :: TargetGroup
s@TargetGroup' {} Maybe Text
a -> TargetGroup
s {$sel:targetGroupArn:TargetGroup' :: Maybe Text
targetGroupArn = Maybe Text
a} :: TargetGroup)
targetGroup_protocol :: Lens.Lens' TargetGroup (Prelude.Maybe ProtocolEnum)
targetGroup_protocol :: (Maybe ProtocolEnum -> f (Maybe ProtocolEnum))
-> TargetGroup -> f TargetGroup
targetGroup_protocol = (TargetGroup -> Maybe ProtocolEnum)
-> (TargetGroup -> Maybe ProtocolEnum -> TargetGroup)
-> Lens
TargetGroup TargetGroup (Maybe ProtocolEnum) (Maybe ProtocolEnum)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe ProtocolEnum
protocol :: Maybe ProtocolEnum
$sel:protocol:TargetGroup' :: TargetGroup -> Maybe ProtocolEnum
protocol} -> Maybe ProtocolEnum
protocol) (\s :: TargetGroup
s@TargetGroup' {} Maybe ProtocolEnum
a -> TargetGroup
s {$sel:protocol:TargetGroup' :: Maybe ProtocolEnum
protocol = Maybe ProtocolEnum
a} :: TargetGroup)
targetGroup_healthCheckIntervalSeconds :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Natural)
targetGroup_healthCheckIntervalSeconds :: (Maybe Natural -> f (Maybe Natural))
-> TargetGroup -> f TargetGroup
targetGroup_healthCheckIntervalSeconds = (TargetGroup -> Maybe Natural)
-> (TargetGroup -> Maybe Natural -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Natural) (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Natural
healthCheckIntervalSeconds :: Maybe Natural
$sel:healthCheckIntervalSeconds:TargetGroup' :: TargetGroup -> Maybe Natural
healthCheckIntervalSeconds} -> Maybe Natural
healthCheckIntervalSeconds) (\s :: TargetGroup
s@TargetGroup' {} Maybe Natural
a -> TargetGroup
s {$sel:healthCheckIntervalSeconds:TargetGroup' :: Maybe Natural
healthCheckIntervalSeconds = Maybe Natural
a} :: TargetGroup)
targetGroup_targetType :: Lens.Lens' TargetGroup (Prelude.Maybe TargetTypeEnum)
targetGroup_targetType :: (Maybe TargetTypeEnum -> f (Maybe TargetTypeEnum))
-> TargetGroup -> f TargetGroup
targetGroup_targetType = (TargetGroup -> Maybe TargetTypeEnum)
-> (TargetGroup -> Maybe TargetTypeEnum -> TargetGroup)
-> Lens
TargetGroup
TargetGroup
(Maybe TargetTypeEnum)
(Maybe TargetTypeEnum)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe TargetTypeEnum
targetType :: Maybe TargetTypeEnum
$sel:targetType:TargetGroup' :: TargetGroup -> Maybe TargetTypeEnum
targetType} -> Maybe TargetTypeEnum
targetType) (\s :: TargetGroup
s@TargetGroup' {} Maybe TargetTypeEnum
a -> TargetGroup
s {$sel:targetType:TargetGroup' :: Maybe TargetTypeEnum
targetType = Maybe TargetTypeEnum
a} :: TargetGroup)
targetGroup_healthyThresholdCount :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Natural)
targetGroup_healthyThresholdCount :: (Maybe Natural -> f (Maybe Natural))
-> TargetGroup -> f TargetGroup
targetGroup_healthyThresholdCount = (TargetGroup -> Maybe Natural)
-> (TargetGroup -> Maybe Natural -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Natural) (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Natural
healthyThresholdCount :: Maybe Natural
$sel:healthyThresholdCount:TargetGroup' :: TargetGroup -> Maybe Natural
healthyThresholdCount} -> Maybe Natural
healthyThresholdCount) (\s :: TargetGroup
s@TargetGroup' {} Maybe Natural
a -> TargetGroup
s {$sel:healthyThresholdCount:TargetGroup' :: Maybe Natural
healthyThresholdCount = Maybe Natural
a} :: TargetGroup)
targetGroup_healthCheckProtocol :: Lens.Lens' TargetGroup (Prelude.Maybe ProtocolEnum)
targetGroup_healthCheckProtocol :: (Maybe ProtocolEnum -> f (Maybe ProtocolEnum))
-> TargetGroup -> f TargetGroup
targetGroup_healthCheckProtocol = (TargetGroup -> Maybe ProtocolEnum)
-> (TargetGroup -> Maybe ProtocolEnum -> TargetGroup)
-> Lens
TargetGroup TargetGroup (Maybe ProtocolEnum) (Maybe ProtocolEnum)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe ProtocolEnum
healthCheckProtocol :: Maybe ProtocolEnum
$sel:healthCheckProtocol:TargetGroup' :: TargetGroup -> Maybe ProtocolEnum
healthCheckProtocol} -> Maybe ProtocolEnum
healthCheckProtocol) (\s :: TargetGroup
s@TargetGroup' {} Maybe ProtocolEnum
a -> TargetGroup
s {$sel:healthCheckProtocol:TargetGroup' :: Maybe ProtocolEnum
healthCheckProtocol = Maybe ProtocolEnum
a} :: TargetGroup)
targetGroup_loadBalancerArns :: Lens.Lens' TargetGroup (Prelude.Maybe [Prelude.Text])
targetGroup_loadBalancerArns :: (Maybe [Text] -> f (Maybe [Text])) -> TargetGroup -> f TargetGroup
targetGroup_loadBalancerArns = (TargetGroup -> Maybe [Text])
-> (TargetGroup -> Maybe [Text] -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe [Text]
loadBalancerArns :: Maybe [Text]
$sel:loadBalancerArns:TargetGroup' :: TargetGroup -> Maybe [Text]
loadBalancerArns} -> Maybe [Text]
loadBalancerArns) (\s :: TargetGroup
s@TargetGroup' {} Maybe [Text]
a -> TargetGroup
s {$sel:loadBalancerArns:TargetGroup' :: Maybe [Text]
loadBalancerArns = Maybe [Text]
a} :: TargetGroup) ((Maybe [Text] -> f (Maybe [Text]))
-> TargetGroup -> f TargetGroup)
-> ((Maybe [Text] -> f (Maybe [Text]))
-> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> TargetGroup
-> f TargetGroup
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
targetGroup_ipAddressType :: Lens.Lens' TargetGroup (Prelude.Maybe TargetGroupIpAddressTypeEnum)
targetGroup_ipAddressType :: (Maybe TargetGroupIpAddressTypeEnum
-> f (Maybe TargetGroupIpAddressTypeEnum))
-> TargetGroup -> f TargetGroup
targetGroup_ipAddressType = (TargetGroup -> Maybe TargetGroupIpAddressTypeEnum)
-> (TargetGroup
-> Maybe TargetGroupIpAddressTypeEnum -> TargetGroup)
-> Lens
TargetGroup
TargetGroup
(Maybe TargetGroupIpAddressTypeEnum)
(Maybe TargetGroupIpAddressTypeEnum)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe TargetGroupIpAddressTypeEnum
ipAddressType :: Maybe TargetGroupIpAddressTypeEnum
$sel:ipAddressType:TargetGroup' :: TargetGroup -> Maybe TargetGroupIpAddressTypeEnum
ipAddressType} -> Maybe TargetGroupIpAddressTypeEnum
ipAddressType) (\s :: TargetGroup
s@TargetGroup' {} Maybe TargetGroupIpAddressTypeEnum
a -> TargetGroup
s {$sel:ipAddressType:TargetGroup' :: Maybe TargetGroupIpAddressTypeEnum
ipAddressType = Maybe TargetGroupIpAddressTypeEnum
a} :: TargetGroup)
targetGroup_healthCheckTimeoutSeconds :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Natural)
targetGroup_healthCheckTimeoutSeconds :: (Maybe Natural -> f (Maybe Natural))
-> TargetGroup -> f TargetGroup
targetGroup_healthCheckTimeoutSeconds = (TargetGroup -> Maybe Natural)
-> (TargetGroup -> Maybe Natural -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Natural) (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Natural
healthCheckTimeoutSeconds :: Maybe Natural
$sel:healthCheckTimeoutSeconds:TargetGroup' :: TargetGroup -> Maybe Natural
healthCheckTimeoutSeconds} -> Maybe Natural
healthCheckTimeoutSeconds) (\s :: TargetGroup
s@TargetGroup' {} Maybe Natural
a -> TargetGroup
s {$sel:healthCheckTimeoutSeconds:TargetGroup' :: Maybe Natural
healthCheckTimeoutSeconds = Maybe Natural
a} :: TargetGroup)
targetGroup_healthCheckPort :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Text)
targetGroup_healthCheckPort :: (Maybe Text -> f (Maybe Text)) -> TargetGroup -> f TargetGroup
targetGroup_healthCheckPort = (TargetGroup -> Maybe Text)
-> (TargetGroup -> Maybe Text -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Text
healthCheckPort :: Maybe Text
$sel:healthCheckPort:TargetGroup' :: TargetGroup -> Maybe Text
healthCheckPort} -> Maybe Text
healthCheckPort) (\s :: TargetGroup
s@TargetGroup' {} Maybe Text
a -> TargetGroup
s {$sel:healthCheckPort:TargetGroup' :: Maybe Text
healthCheckPort = Maybe Text
a} :: TargetGroup)
targetGroup_targetGroupName :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Text)
targetGroup_targetGroupName :: (Maybe Text -> f (Maybe Text)) -> TargetGroup -> f TargetGroup
targetGroup_targetGroupName = (TargetGroup -> Maybe Text)
-> (TargetGroup -> Maybe Text -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Text
targetGroupName :: Maybe Text
$sel:targetGroupName:TargetGroup' :: TargetGroup -> Maybe Text
targetGroupName} -> Maybe Text
targetGroupName) (\s :: TargetGroup
s@TargetGroup' {} Maybe Text
a -> TargetGroup
s {$sel:targetGroupName:TargetGroup' :: Maybe Text
targetGroupName = Maybe Text
a} :: TargetGroup)
targetGroup_port :: Lens.Lens' TargetGroup (Prelude.Maybe Prelude.Natural)
targetGroup_port :: (Maybe Natural -> f (Maybe Natural))
-> TargetGroup -> f TargetGroup
targetGroup_port = (TargetGroup -> Maybe Natural)
-> (TargetGroup -> Maybe Natural -> TargetGroup)
-> Lens TargetGroup TargetGroup (Maybe Natural) (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TargetGroup' {Maybe Natural
port :: Maybe Natural
$sel:port:TargetGroup' :: TargetGroup -> Maybe Natural
port} -> Maybe Natural
port) (\s :: TargetGroup
s@TargetGroup' {} Maybe Natural
a -> TargetGroup
s {$sel:port:TargetGroup' :: Maybe Natural
port = Maybe Natural
a} :: TargetGroup)
instance Core.FromXML TargetGroup where
parseXML :: [Node] -> Either String TargetGroup
parseXML [Node]
x =
Maybe Text
-> Maybe Matcher
-> Maybe Text
-> Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup
TargetGroup'
(Maybe Text
-> Maybe Matcher
-> Maybe Text
-> Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe Text)
-> Either
String
(Maybe Matcher
-> Maybe Text
-> Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"ProtocolVersion")
Either
String
(Maybe Matcher
-> Maybe Text
-> Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe Matcher)
-> Either
String
(Maybe Text
-> Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Matcher)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"Matcher")
Either
String
(Maybe Text
-> Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe Text)
-> Either
String
(Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"HealthCheckPath")
Either
String
(Maybe Bool
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe Bool)
-> Either
String
(Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Bool)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"HealthCheckEnabled")
Either
String
(Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe Natural)
-> Either
String
(Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Natural)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"UnhealthyThresholdCount")
Either
String
(Maybe Text
-> Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe Text)
-> Either
String
(Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"VpcId")
Either
String
(Maybe Text
-> Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe Text)
-> Either
String
(Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"TargetGroupArn")
Either
String
(Maybe ProtocolEnum
-> Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe ProtocolEnum)
-> Either
String
(Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe ProtocolEnum)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"Protocol")
Either
String
(Maybe Natural
-> Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe Natural)
-> Either
String
(Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Natural)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"HealthCheckIntervalSeconds")
Either
String
(Maybe TargetTypeEnum
-> Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe TargetTypeEnum)
-> Either
String
(Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe TargetTypeEnum)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"TargetType")
Either
String
(Maybe Natural
-> Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe Natural)
-> Either
String
(Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Natural)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"HealthyThresholdCount")
Either
String
(Maybe ProtocolEnum
-> Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe ProtocolEnum)
-> Either
String
(Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe ProtocolEnum)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"HealthCheckProtocol")
Either
String
(Maybe [Text]
-> Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe [Text])
-> Either
String
(Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x [Node] -> Text -> Either String (Maybe [Node])
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"LoadBalancerArns"
Either String (Maybe [Node]) -> [Node] -> Either String [Node]
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ [Node]
forall a. Monoid a => a
Prelude.mempty
Either String [Node]
-> ([Node] -> Either String (Maybe [Text]))
-> Either String (Maybe [Text])
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= ([Node] -> Either String [Text])
-> [Node] -> Either String (Maybe [Text])
forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (Text -> [Node] -> Either String [Text]
forall a. FromXML a => Text -> [Node] -> Either String [a]
Core.parseXMLList Text
"member")
)
Either
String
(Maybe TargetGroupIpAddressTypeEnum
-> Maybe Natural
-> Maybe Text
-> Maybe Text
-> Maybe Natural
-> TargetGroup)
-> Either String (Maybe TargetGroupIpAddressTypeEnum)
-> Either
String
(Maybe Natural
-> Maybe Text -> Maybe Text -> Maybe Natural -> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node]
-> Text -> Either String (Maybe TargetGroupIpAddressTypeEnum)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"IpAddressType")
Either
String
(Maybe Natural
-> Maybe Text -> Maybe Text -> Maybe Natural -> TargetGroup)
-> Either String (Maybe Natural)
-> Either
String (Maybe Text -> Maybe Text -> Maybe Natural -> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Natural)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"HealthCheckTimeoutSeconds")
Either
String (Maybe Text -> Maybe Text -> Maybe Natural -> TargetGroup)
-> Either String (Maybe Text)
-> Either String (Maybe Text -> Maybe Natural -> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"HealthCheckPort")
Either String (Maybe Text -> Maybe Natural -> TargetGroup)
-> Either String (Maybe Text)
-> Either String (Maybe Natural -> TargetGroup)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"TargetGroupName")
Either String (Maybe Natural -> TargetGroup)
-> Either String (Maybe Natural) -> Either String TargetGroup
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Natural)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"Port")
instance Prelude.Hashable TargetGroup
instance Prelude.NFData TargetGroup