{-# 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.RDS.Types.DBProxyTarget where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.RDS.Types.TargetHealth
import Amazonka.RDS.Types.TargetRole
import Amazonka.RDS.Types.TargetType
data DBProxyTarget = DBProxyTarget'
{
DBProxyTarget -> Maybe Text
endpoint :: Prelude.Maybe Prelude.Text,
DBProxyTarget -> Maybe Int
port :: Prelude.Maybe Prelude.Int,
DBProxyTarget -> Maybe Text
rdsResourceId :: Prelude.Maybe Prelude.Text,
DBProxyTarget -> Maybe TargetRole
role' :: Prelude.Maybe TargetRole,
DBProxyTarget -> Maybe Text
targetArn :: Prelude.Maybe Prelude.Text,
DBProxyTarget -> Maybe TargetHealth
targetHealth :: Prelude.Maybe TargetHealth,
DBProxyTarget -> Maybe Text
trackedClusterId :: Prelude.Maybe Prelude.Text,
DBProxyTarget -> Maybe TargetType
type' :: Prelude.Maybe TargetType
}
deriving (DBProxyTarget -> DBProxyTarget -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DBProxyTarget -> DBProxyTarget -> Bool
$c/= :: DBProxyTarget -> DBProxyTarget -> Bool
== :: DBProxyTarget -> DBProxyTarget -> Bool
$c== :: DBProxyTarget -> DBProxyTarget -> Bool
Prelude.Eq, ReadPrec [DBProxyTarget]
ReadPrec DBProxyTarget
Int -> ReadS DBProxyTarget
ReadS [DBProxyTarget]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DBProxyTarget]
$creadListPrec :: ReadPrec [DBProxyTarget]
readPrec :: ReadPrec DBProxyTarget
$creadPrec :: ReadPrec DBProxyTarget
readList :: ReadS [DBProxyTarget]
$creadList :: ReadS [DBProxyTarget]
readsPrec :: Int -> ReadS DBProxyTarget
$creadsPrec :: Int -> ReadS DBProxyTarget
Prelude.Read, Int -> DBProxyTarget -> ShowS
[DBProxyTarget] -> ShowS
DBProxyTarget -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DBProxyTarget] -> ShowS
$cshowList :: [DBProxyTarget] -> ShowS
show :: DBProxyTarget -> String
$cshow :: DBProxyTarget -> String
showsPrec :: Int -> DBProxyTarget -> ShowS
$cshowsPrec :: Int -> DBProxyTarget -> ShowS
Prelude.Show, forall x. Rep DBProxyTarget x -> DBProxyTarget
forall x. DBProxyTarget -> Rep DBProxyTarget x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DBProxyTarget x -> DBProxyTarget
$cfrom :: forall x. DBProxyTarget -> Rep DBProxyTarget x
Prelude.Generic)
newDBProxyTarget ::
DBProxyTarget
newDBProxyTarget :: DBProxyTarget
newDBProxyTarget =
DBProxyTarget'
{ $sel:endpoint:DBProxyTarget' :: Maybe Text
endpoint = forall a. Maybe a
Prelude.Nothing,
$sel:port:DBProxyTarget' :: Maybe Int
port = forall a. Maybe a
Prelude.Nothing,
$sel:rdsResourceId:DBProxyTarget' :: Maybe Text
rdsResourceId = forall a. Maybe a
Prelude.Nothing,
$sel:role':DBProxyTarget' :: Maybe TargetRole
role' = forall a. Maybe a
Prelude.Nothing,
$sel:targetArn:DBProxyTarget' :: Maybe Text
targetArn = forall a. Maybe a
Prelude.Nothing,
$sel:targetHealth:DBProxyTarget' :: Maybe TargetHealth
targetHealth = forall a. Maybe a
Prelude.Nothing,
$sel:trackedClusterId:DBProxyTarget' :: Maybe Text
trackedClusterId = forall a. Maybe a
Prelude.Nothing,
$sel:type':DBProxyTarget' :: Maybe TargetType
type' = forall a. Maybe a
Prelude.Nothing
}
dbProxyTarget_endpoint :: Lens.Lens' DBProxyTarget (Prelude.Maybe Prelude.Text)
dbProxyTarget_endpoint :: Lens' DBProxyTarget (Maybe Text)
dbProxyTarget_endpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBProxyTarget' {Maybe Text
endpoint :: Maybe Text
$sel:endpoint:DBProxyTarget' :: DBProxyTarget -> Maybe Text
endpoint} -> Maybe Text
endpoint) (\s :: DBProxyTarget
s@DBProxyTarget' {} Maybe Text
a -> DBProxyTarget
s {$sel:endpoint:DBProxyTarget' :: Maybe Text
endpoint = Maybe Text
a} :: DBProxyTarget)
dbProxyTarget_port :: Lens.Lens' DBProxyTarget (Prelude.Maybe Prelude.Int)
dbProxyTarget_port :: Lens' DBProxyTarget (Maybe Int)
dbProxyTarget_port = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBProxyTarget' {Maybe Int
port :: Maybe Int
$sel:port:DBProxyTarget' :: DBProxyTarget -> Maybe Int
port} -> Maybe Int
port) (\s :: DBProxyTarget
s@DBProxyTarget' {} Maybe Int
a -> DBProxyTarget
s {$sel:port:DBProxyTarget' :: Maybe Int
port = Maybe Int
a} :: DBProxyTarget)
dbProxyTarget_rdsResourceId :: Lens.Lens' DBProxyTarget (Prelude.Maybe Prelude.Text)
dbProxyTarget_rdsResourceId :: Lens' DBProxyTarget (Maybe Text)
dbProxyTarget_rdsResourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBProxyTarget' {Maybe Text
rdsResourceId :: Maybe Text
$sel:rdsResourceId:DBProxyTarget' :: DBProxyTarget -> Maybe Text
rdsResourceId} -> Maybe Text
rdsResourceId) (\s :: DBProxyTarget
s@DBProxyTarget' {} Maybe Text
a -> DBProxyTarget
s {$sel:rdsResourceId:DBProxyTarget' :: Maybe Text
rdsResourceId = Maybe Text
a} :: DBProxyTarget)
dbProxyTarget_role :: Lens.Lens' DBProxyTarget (Prelude.Maybe TargetRole)
dbProxyTarget_role :: Lens' DBProxyTarget (Maybe TargetRole)
dbProxyTarget_role = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBProxyTarget' {Maybe TargetRole
role' :: Maybe TargetRole
$sel:role':DBProxyTarget' :: DBProxyTarget -> Maybe TargetRole
role'} -> Maybe TargetRole
role') (\s :: DBProxyTarget
s@DBProxyTarget' {} Maybe TargetRole
a -> DBProxyTarget
s {$sel:role':DBProxyTarget' :: Maybe TargetRole
role' = Maybe TargetRole
a} :: DBProxyTarget)
dbProxyTarget_targetArn :: Lens.Lens' DBProxyTarget (Prelude.Maybe Prelude.Text)
dbProxyTarget_targetArn :: Lens' DBProxyTarget (Maybe Text)
dbProxyTarget_targetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBProxyTarget' {Maybe Text
targetArn :: Maybe Text
$sel:targetArn:DBProxyTarget' :: DBProxyTarget -> Maybe Text
targetArn} -> Maybe Text
targetArn) (\s :: DBProxyTarget
s@DBProxyTarget' {} Maybe Text
a -> DBProxyTarget
s {$sel:targetArn:DBProxyTarget' :: Maybe Text
targetArn = Maybe Text
a} :: DBProxyTarget)
dbProxyTarget_targetHealth :: Lens.Lens' DBProxyTarget (Prelude.Maybe TargetHealth)
dbProxyTarget_targetHealth :: Lens' DBProxyTarget (Maybe TargetHealth)
dbProxyTarget_targetHealth = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBProxyTarget' {Maybe TargetHealth
targetHealth :: Maybe TargetHealth
$sel:targetHealth:DBProxyTarget' :: DBProxyTarget -> Maybe TargetHealth
targetHealth} -> Maybe TargetHealth
targetHealth) (\s :: DBProxyTarget
s@DBProxyTarget' {} Maybe TargetHealth
a -> DBProxyTarget
s {$sel:targetHealth:DBProxyTarget' :: Maybe TargetHealth
targetHealth = Maybe TargetHealth
a} :: DBProxyTarget)
dbProxyTarget_trackedClusterId :: Lens.Lens' DBProxyTarget (Prelude.Maybe Prelude.Text)
dbProxyTarget_trackedClusterId :: Lens' DBProxyTarget (Maybe Text)
dbProxyTarget_trackedClusterId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBProxyTarget' {Maybe Text
trackedClusterId :: Maybe Text
$sel:trackedClusterId:DBProxyTarget' :: DBProxyTarget -> Maybe Text
trackedClusterId} -> Maybe Text
trackedClusterId) (\s :: DBProxyTarget
s@DBProxyTarget' {} Maybe Text
a -> DBProxyTarget
s {$sel:trackedClusterId:DBProxyTarget' :: Maybe Text
trackedClusterId = Maybe Text
a} :: DBProxyTarget)
dbProxyTarget_type :: Lens.Lens' DBProxyTarget (Prelude.Maybe TargetType)
dbProxyTarget_type :: Lens' DBProxyTarget (Maybe TargetType)
dbProxyTarget_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBProxyTarget' {Maybe TargetType
type' :: Maybe TargetType
$sel:type':DBProxyTarget' :: DBProxyTarget -> Maybe TargetType
type'} -> Maybe TargetType
type') (\s :: DBProxyTarget
s@DBProxyTarget' {} Maybe TargetType
a -> DBProxyTarget
s {$sel:type':DBProxyTarget' :: Maybe TargetType
type' = Maybe TargetType
a} :: DBProxyTarget)
instance Data.FromXML DBProxyTarget where
parseXML :: [Node] -> Either String DBProxyTarget
parseXML [Node]
x =
Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe TargetRole
-> Maybe Text
-> Maybe TargetHealth
-> Maybe Text
-> Maybe TargetType
-> DBProxyTarget
DBProxyTarget'
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
"Endpoint")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Port")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"RdsResourceId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Role")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"TargetArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"TargetHealth")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"TrackedClusterId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Type")
instance Prelude.Hashable DBProxyTarget where
hashWithSalt :: Int -> DBProxyTarget -> Int
hashWithSalt Int
_salt DBProxyTarget' {Maybe Int
Maybe Text
Maybe TargetRole
Maybe TargetHealth
Maybe TargetType
type' :: Maybe TargetType
trackedClusterId :: Maybe Text
targetHealth :: Maybe TargetHealth
targetArn :: Maybe Text
role' :: Maybe TargetRole
rdsResourceId :: Maybe Text
port :: Maybe Int
endpoint :: Maybe Text
$sel:type':DBProxyTarget' :: DBProxyTarget -> Maybe TargetType
$sel:trackedClusterId:DBProxyTarget' :: DBProxyTarget -> Maybe Text
$sel:targetHealth:DBProxyTarget' :: DBProxyTarget -> Maybe TargetHealth
$sel:targetArn:DBProxyTarget' :: DBProxyTarget -> Maybe Text
$sel:role':DBProxyTarget' :: DBProxyTarget -> Maybe TargetRole
$sel:rdsResourceId:DBProxyTarget' :: DBProxyTarget -> Maybe Text
$sel:port:DBProxyTarget' :: DBProxyTarget -> Maybe Int
$sel:endpoint:DBProxyTarget' :: DBProxyTarget -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
endpoint
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
port
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
rdsResourceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TargetRole
role'
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
targetArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TargetHealth
targetHealth
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
trackedClusterId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TargetType
type'
instance Prelude.NFData DBProxyTarget where
rnf :: DBProxyTarget -> ()
rnf DBProxyTarget' {Maybe Int
Maybe Text
Maybe TargetRole
Maybe TargetHealth
Maybe TargetType
type' :: Maybe TargetType
trackedClusterId :: Maybe Text
targetHealth :: Maybe TargetHealth
targetArn :: Maybe Text
role' :: Maybe TargetRole
rdsResourceId :: Maybe Text
port :: Maybe Int
endpoint :: Maybe Text
$sel:type':DBProxyTarget' :: DBProxyTarget -> Maybe TargetType
$sel:trackedClusterId:DBProxyTarget' :: DBProxyTarget -> Maybe Text
$sel:targetHealth:DBProxyTarget' :: DBProxyTarget -> Maybe TargetHealth
$sel:targetArn:DBProxyTarget' :: DBProxyTarget -> Maybe Text
$sel:role':DBProxyTarget' :: DBProxyTarget -> Maybe TargetRole
$sel:rdsResourceId:DBProxyTarget' :: DBProxyTarget -> Maybe Text
$sel:port:DBProxyTarget' :: DBProxyTarget -> Maybe Int
$sel:endpoint:DBProxyTarget' :: DBProxyTarget -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
endpoint
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
port
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
rdsResourceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TargetRole
role'
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
targetArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TargetHealth
targetHealth
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
trackedClusterId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TargetType
type'