{-# 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.Kafka.Types.NodeInfo where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Kafka.Types.BrokerNodeInfo
import Amazonka.Kafka.Types.NodeType
import Amazonka.Kafka.Types.ZookeeperNodeInfo
import qualified Amazonka.Prelude as Prelude
data NodeInfo = NodeInfo'
{
NodeInfo -> Maybe Text
addedToClusterTime :: Prelude.Maybe Prelude.Text,
NodeInfo -> Maybe BrokerNodeInfo
brokerNodeInfo :: Prelude.Maybe BrokerNodeInfo,
NodeInfo -> Maybe Text
instanceType :: Prelude.Maybe Prelude.Text,
NodeInfo -> Maybe Text
nodeARN :: Prelude.Maybe Prelude.Text,
NodeInfo -> Maybe NodeType
nodeType :: Prelude.Maybe NodeType,
NodeInfo -> Maybe ZookeeperNodeInfo
zookeeperNodeInfo :: Prelude.Maybe ZookeeperNodeInfo
}
deriving (NodeInfo -> NodeInfo -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NodeInfo -> NodeInfo -> Bool
$c/= :: NodeInfo -> NodeInfo -> Bool
== :: NodeInfo -> NodeInfo -> Bool
$c== :: NodeInfo -> NodeInfo -> Bool
Prelude.Eq, ReadPrec [NodeInfo]
ReadPrec NodeInfo
Int -> ReadS NodeInfo
ReadS [NodeInfo]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [NodeInfo]
$creadListPrec :: ReadPrec [NodeInfo]
readPrec :: ReadPrec NodeInfo
$creadPrec :: ReadPrec NodeInfo
readList :: ReadS [NodeInfo]
$creadList :: ReadS [NodeInfo]
readsPrec :: Int -> ReadS NodeInfo
$creadsPrec :: Int -> ReadS NodeInfo
Prelude.Read, Int -> NodeInfo -> ShowS
[NodeInfo] -> ShowS
NodeInfo -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NodeInfo] -> ShowS
$cshowList :: [NodeInfo] -> ShowS
show :: NodeInfo -> String
$cshow :: NodeInfo -> String
showsPrec :: Int -> NodeInfo -> ShowS
$cshowsPrec :: Int -> NodeInfo -> ShowS
Prelude.Show, forall x. Rep NodeInfo x -> NodeInfo
forall x. NodeInfo -> Rep NodeInfo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep NodeInfo x -> NodeInfo
$cfrom :: forall x. NodeInfo -> Rep NodeInfo x
Prelude.Generic)
newNodeInfo ::
NodeInfo
newNodeInfo :: NodeInfo
newNodeInfo =
NodeInfo'
{ $sel:addedToClusterTime:NodeInfo' :: Maybe Text
addedToClusterTime = forall a. Maybe a
Prelude.Nothing,
$sel:brokerNodeInfo:NodeInfo' :: Maybe BrokerNodeInfo
brokerNodeInfo = forall a. Maybe a
Prelude.Nothing,
$sel:instanceType:NodeInfo' :: Maybe Text
instanceType = forall a. Maybe a
Prelude.Nothing,
$sel:nodeARN:NodeInfo' :: Maybe Text
nodeARN = forall a. Maybe a
Prelude.Nothing,
$sel:nodeType:NodeInfo' :: Maybe NodeType
nodeType = forall a. Maybe a
Prelude.Nothing,
$sel:zookeeperNodeInfo:NodeInfo' :: Maybe ZookeeperNodeInfo
zookeeperNodeInfo = forall a. Maybe a
Prelude.Nothing
}
nodeInfo_addedToClusterTime :: Lens.Lens' NodeInfo (Prelude.Maybe Prelude.Text)
nodeInfo_addedToClusterTime :: Lens' NodeInfo (Maybe Text)
nodeInfo_addedToClusterTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NodeInfo' {Maybe Text
addedToClusterTime :: Maybe Text
$sel:addedToClusterTime:NodeInfo' :: NodeInfo -> Maybe Text
addedToClusterTime} -> Maybe Text
addedToClusterTime) (\s :: NodeInfo
s@NodeInfo' {} Maybe Text
a -> NodeInfo
s {$sel:addedToClusterTime:NodeInfo' :: Maybe Text
addedToClusterTime = Maybe Text
a} :: NodeInfo)
nodeInfo_brokerNodeInfo :: Lens.Lens' NodeInfo (Prelude.Maybe BrokerNodeInfo)
nodeInfo_brokerNodeInfo :: Lens' NodeInfo (Maybe BrokerNodeInfo)
nodeInfo_brokerNodeInfo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NodeInfo' {Maybe BrokerNodeInfo
brokerNodeInfo :: Maybe BrokerNodeInfo
$sel:brokerNodeInfo:NodeInfo' :: NodeInfo -> Maybe BrokerNodeInfo
brokerNodeInfo} -> Maybe BrokerNodeInfo
brokerNodeInfo) (\s :: NodeInfo
s@NodeInfo' {} Maybe BrokerNodeInfo
a -> NodeInfo
s {$sel:brokerNodeInfo:NodeInfo' :: Maybe BrokerNodeInfo
brokerNodeInfo = Maybe BrokerNodeInfo
a} :: NodeInfo)
nodeInfo_instanceType :: Lens.Lens' NodeInfo (Prelude.Maybe Prelude.Text)
nodeInfo_instanceType :: Lens' NodeInfo (Maybe Text)
nodeInfo_instanceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NodeInfo' {Maybe Text
instanceType :: Maybe Text
$sel:instanceType:NodeInfo' :: NodeInfo -> Maybe Text
instanceType} -> Maybe Text
instanceType) (\s :: NodeInfo
s@NodeInfo' {} Maybe Text
a -> NodeInfo
s {$sel:instanceType:NodeInfo' :: Maybe Text
instanceType = Maybe Text
a} :: NodeInfo)
nodeInfo_nodeARN :: Lens.Lens' NodeInfo (Prelude.Maybe Prelude.Text)
nodeInfo_nodeARN :: Lens' NodeInfo (Maybe Text)
nodeInfo_nodeARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NodeInfo' {Maybe Text
nodeARN :: Maybe Text
$sel:nodeARN:NodeInfo' :: NodeInfo -> Maybe Text
nodeARN} -> Maybe Text
nodeARN) (\s :: NodeInfo
s@NodeInfo' {} Maybe Text
a -> NodeInfo
s {$sel:nodeARN:NodeInfo' :: Maybe Text
nodeARN = Maybe Text
a} :: NodeInfo)
nodeInfo_nodeType :: Lens.Lens' NodeInfo (Prelude.Maybe NodeType)
nodeInfo_nodeType :: Lens' NodeInfo (Maybe NodeType)
nodeInfo_nodeType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NodeInfo' {Maybe NodeType
nodeType :: Maybe NodeType
$sel:nodeType:NodeInfo' :: NodeInfo -> Maybe NodeType
nodeType} -> Maybe NodeType
nodeType) (\s :: NodeInfo
s@NodeInfo' {} Maybe NodeType
a -> NodeInfo
s {$sel:nodeType:NodeInfo' :: Maybe NodeType
nodeType = Maybe NodeType
a} :: NodeInfo)
nodeInfo_zookeeperNodeInfo :: Lens.Lens' NodeInfo (Prelude.Maybe ZookeeperNodeInfo)
nodeInfo_zookeeperNodeInfo :: Lens' NodeInfo (Maybe ZookeeperNodeInfo)
nodeInfo_zookeeperNodeInfo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\NodeInfo' {Maybe ZookeeperNodeInfo
zookeeperNodeInfo :: Maybe ZookeeperNodeInfo
$sel:zookeeperNodeInfo:NodeInfo' :: NodeInfo -> Maybe ZookeeperNodeInfo
zookeeperNodeInfo} -> Maybe ZookeeperNodeInfo
zookeeperNodeInfo) (\s :: NodeInfo
s@NodeInfo' {} Maybe ZookeeperNodeInfo
a -> NodeInfo
s {$sel:zookeeperNodeInfo:NodeInfo' :: Maybe ZookeeperNodeInfo
zookeeperNodeInfo = Maybe ZookeeperNodeInfo
a} :: NodeInfo)
instance Data.FromJSON NodeInfo where
parseJSON :: Value -> Parser NodeInfo
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"NodeInfo"
( \Object
x ->
Maybe Text
-> Maybe BrokerNodeInfo
-> Maybe Text
-> Maybe Text
-> Maybe NodeType
-> Maybe ZookeeperNodeInfo
-> NodeInfo
NodeInfo'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"addedToClusterTime")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"brokerNodeInfo")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"instanceType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"nodeARN")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"nodeType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"zookeeperNodeInfo")
)
instance Prelude.Hashable NodeInfo where
hashWithSalt :: Int -> NodeInfo -> Int
hashWithSalt Int
_salt NodeInfo' {Maybe Text
Maybe BrokerNodeInfo
Maybe NodeType
Maybe ZookeeperNodeInfo
zookeeperNodeInfo :: Maybe ZookeeperNodeInfo
nodeType :: Maybe NodeType
nodeARN :: Maybe Text
instanceType :: Maybe Text
brokerNodeInfo :: Maybe BrokerNodeInfo
addedToClusterTime :: Maybe Text
$sel:zookeeperNodeInfo:NodeInfo' :: NodeInfo -> Maybe ZookeeperNodeInfo
$sel:nodeType:NodeInfo' :: NodeInfo -> Maybe NodeType
$sel:nodeARN:NodeInfo' :: NodeInfo -> Maybe Text
$sel:instanceType:NodeInfo' :: NodeInfo -> Maybe Text
$sel:brokerNodeInfo:NodeInfo' :: NodeInfo -> Maybe BrokerNodeInfo
$sel:addedToClusterTime:NodeInfo' :: NodeInfo -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
addedToClusterTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe BrokerNodeInfo
brokerNodeInfo
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
instanceType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nodeARN
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe NodeType
nodeType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ZookeeperNodeInfo
zookeeperNodeInfo
instance Prelude.NFData NodeInfo where
rnf :: NodeInfo -> ()
rnf NodeInfo' {Maybe Text
Maybe BrokerNodeInfo
Maybe NodeType
Maybe ZookeeperNodeInfo
zookeeperNodeInfo :: Maybe ZookeeperNodeInfo
nodeType :: Maybe NodeType
nodeARN :: Maybe Text
instanceType :: Maybe Text
brokerNodeInfo :: Maybe BrokerNodeInfo
addedToClusterTime :: Maybe Text
$sel:zookeeperNodeInfo:NodeInfo' :: NodeInfo -> Maybe ZookeeperNodeInfo
$sel:nodeType:NodeInfo' :: NodeInfo -> Maybe NodeType
$sel:nodeARN:NodeInfo' :: NodeInfo -> Maybe Text
$sel:instanceType:NodeInfo' :: NodeInfo -> Maybe Text
$sel:brokerNodeInfo:NodeInfo' :: NodeInfo -> Maybe BrokerNodeInfo
$sel:addedToClusterTime:NodeInfo' :: NodeInfo -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
addedToClusterTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe BrokerNodeInfo
brokerNodeInfo
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
instanceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nodeARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe NodeType
nodeType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ZookeeperNodeInfo
zookeeperNodeInfo