{-# 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.MQ.Types.BrokerSummary where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MQ.Types.BrokerState
import Amazonka.MQ.Types.DeploymentMode
import Amazonka.MQ.Types.EngineType
import qualified Amazonka.Prelude as Prelude
data BrokerSummary = BrokerSummary'
{
BrokerSummary -> Maybe Text
brokerArn :: Prelude.Maybe Prelude.Text,
BrokerSummary -> Maybe Text
brokerId :: Prelude.Maybe Prelude.Text,
BrokerSummary -> Maybe Text
brokerName :: Prelude.Maybe Prelude.Text,
BrokerSummary -> Maybe BrokerState
brokerState :: Prelude.Maybe BrokerState,
BrokerSummary -> Maybe ISO8601
created :: Prelude.Maybe Data.ISO8601,
BrokerSummary -> Maybe Text
hostInstanceType :: Prelude.Maybe Prelude.Text,
BrokerSummary -> DeploymentMode
deploymentMode :: DeploymentMode,
BrokerSummary -> EngineType
engineType :: EngineType
}
deriving (BrokerSummary -> BrokerSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BrokerSummary -> BrokerSummary -> Bool
$c/= :: BrokerSummary -> BrokerSummary -> Bool
== :: BrokerSummary -> BrokerSummary -> Bool
$c== :: BrokerSummary -> BrokerSummary -> Bool
Prelude.Eq, ReadPrec [BrokerSummary]
ReadPrec BrokerSummary
Int -> ReadS BrokerSummary
ReadS [BrokerSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BrokerSummary]
$creadListPrec :: ReadPrec [BrokerSummary]
readPrec :: ReadPrec BrokerSummary
$creadPrec :: ReadPrec BrokerSummary
readList :: ReadS [BrokerSummary]
$creadList :: ReadS [BrokerSummary]
readsPrec :: Int -> ReadS BrokerSummary
$creadsPrec :: Int -> ReadS BrokerSummary
Prelude.Read, Int -> BrokerSummary -> ShowS
[BrokerSummary] -> ShowS
BrokerSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BrokerSummary] -> ShowS
$cshowList :: [BrokerSummary] -> ShowS
show :: BrokerSummary -> String
$cshow :: BrokerSummary -> String
showsPrec :: Int -> BrokerSummary -> ShowS
$cshowsPrec :: Int -> BrokerSummary -> ShowS
Prelude.Show, forall x. Rep BrokerSummary x -> BrokerSummary
forall x. BrokerSummary -> Rep BrokerSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep BrokerSummary x -> BrokerSummary
$cfrom :: forall x. BrokerSummary -> Rep BrokerSummary x
Prelude.Generic)
newBrokerSummary ::
DeploymentMode ->
EngineType ->
BrokerSummary
newBrokerSummary :: DeploymentMode -> EngineType -> BrokerSummary
newBrokerSummary DeploymentMode
pDeploymentMode_ EngineType
pEngineType_ =
BrokerSummary'
{ $sel:brokerArn:BrokerSummary' :: Maybe Text
brokerArn = forall a. Maybe a
Prelude.Nothing,
$sel:brokerId:BrokerSummary' :: Maybe Text
brokerId = forall a. Maybe a
Prelude.Nothing,
$sel:brokerName:BrokerSummary' :: Maybe Text
brokerName = forall a. Maybe a
Prelude.Nothing,
$sel:brokerState:BrokerSummary' :: Maybe BrokerState
brokerState = forall a. Maybe a
Prelude.Nothing,
$sel:created:BrokerSummary' :: Maybe ISO8601
created = forall a. Maybe a
Prelude.Nothing,
$sel:hostInstanceType:BrokerSummary' :: Maybe Text
hostInstanceType = forall a. Maybe a
Prelude.Nothing,
$sel:deploymentMode:BrokerSummary' :: DeploymentMode
deploymentMode = DeploymentMode
pDeploymentMode_,
$sel:engineType:BrokerSummary' :: EngineType
engineType = EngineType
pEngineType_
}
brokerSummary_brokerArn :: Lens.Lens' BrokerSummary (Prelude.Maybe Prelude.Text)
brokerSummary_brokerArn :: Lens' BrokerSummary (Maybe Text)
brokerSummary_brokerArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BrokerSummary' {Maybe Text
brokerArn :: Maybe Text
$sel:brokerArn:BrokerSummary' :: BrokerSummary -> Maybe Text
brokerArn} -> Maybe Text
brokerArn) (\s :: BrokerSummary
s@BrokerSummary' {} Maybe Text
a -> BrokerSummary
s {$sel:brokerArn:BrokerSummary' :: Maybe Text
brokerArn = Maybe Text
a} :: BrokerSummary)
brokerSummary_brokerId :: Lens.Lens' BrokerSummary (Prelude.Maybe Prelude.Text)
brokerSummary_brokerId :: Lens' BrokerSummary (Maybe Text)
brokerSummary_brokerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BrokerSummary' {Maybe Text
brokerId :: Maybe Text
$sel:brokerId:BrokerSummary' :: BrokerSummary -> Maybe Text
brokerId} -> Maybe Text
brokerId) (\s :: BrokerSummary
s@BrokerSummary' {} Maybe Text
a -> BrokerSummary
s {$sel:brokerId:BrokerSummary' :: Maybe Text
brokerId = Maybe Text
a} :: BrokerSummary)
brokerSummary_brokerName :: Lens.Lens' BrokerSummary (Prelude.Maybe Prelude.Text)
brokerSummary_brokerName :: Lens' BrokerSummary (Maybe Text)
brokerSummary_brokerName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BrokerSummary' {Maybe Text
brokerName :: Maybe Text
$sel:brokerName:BrokerSummary' :: BrokerSummary -> Maybe Text
brokerName} -> Maybe Text
brokerName) (\s :: BrokerSummary
s@BrokerSummary' {} Maybe Text
a -> BrokerSummary
s {$sel:brokerName:BrokerSummary' :: Maybe Text
brokerName = Maybe Text
a} :: BrokerSummary)
brokerSummary_brokerState :: Lens.Lens' BrokerSummary (Prelude.Maybe BrokerState)
brokerSummary_brokerState :: Lens' BrokerSummary (Maybe BrokerState)
brokerSummary_brokerState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BrokerSummary' {Maybe BrokerState
brokerState :: Maybe BrokerState
$sel:brokerState:BrokerSummary' :: BrokerSummary -> Maybe BrokerState
brokerState} -> Maybe BrokerState
brokerState) (\s :: BrokerSummary
s@BrokerSummary' {} Maybe BrokerState
a -> BrokerSummary
s {$sel:brokerState:BrokerSummary' :: Maybe BrokerState
brokerState = Maybe BrokerState
a} :: BrokerSummary)
brokerSummary_created :: Lens.Lens' BrokerSummary (Prelude.Maybe Prelude.UTCTime)
brokerSummary_created :: Lens' BrokerSummary (Maybe UTCTime)
brokerSummary_created = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BrokerSummary' {Maybe ISO8601
created :: Maybe ISO8601
$sel:created:BrokerSummary' :: BrokerSummary -> Maybe ISO8601
created} -> Maybe ISO8601
created) (\s :: BrokerSummary
s@BrokerSummary' {} Maybe ISO8601
a -> BrokerSummary
s {$sel:created:BrokerSummary' :: Maybe ISO8601
created = Maybe ISO8601
a} :: BrokerSummary) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
brokerSummary_hostInstanceType :: Lens.Lens' BrokerSummary (Prelude.Maybe Prelude.Text)
brokerSummary_hostInstanceType :: Lens' BrokerSummary (Maybe Text)
brokerSummary_hostInstanceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BrokerSummary' {Maybe Text
hostInstanceType :: Maybe Text
$sel:hostInstanceType:BrokerSummary' :: BrokerSummary -> Maybe Text
hostInstanceType} -> Maybe Text
hostInstanceType) (\s :: BrokerSummary
s@BrokerSummary' {} Maybe Text
a -> BrokerSummary
s {$sel:hostInstanceType:BrokerSummary' :: Maybe Text
hostInstanceType = Maybe Text
a} :: BrokerSummary)
brokerSummary_deploymentMode :: Lens.Lens' BrokerSummary DeploymentMode
brokerSummary_deploymentMode :: Lens' BrokerSummary DeploymentMode
brokerSummary_deploymentMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BrokerSummary' {DeploymentMode
deploymentMode :: DeploymentMode
$sel:deploymentMode:BrokerSummary' :: BrokerSummary -> DeploymentMode
deploymentMode} -> DeploymentMode
deploymentMode) (\s :: BrokerSummary
s@BrokerSummary' {} DeploymentMode
a -> BrokerSummary
s {$sel:deploymentMode:BrokerSummary' :: DeploymentMode
deploymentMode = DeploymentMode
a} :: BrokerSummary)
brokerSummary_engineType :: Lens.Lens' BrokerSummary EngineType
brokerSummary_engineType :: Lens' BrokerSummary EngineType
brokerSummary_engineType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\BrokerSummary' {EngineType
engineType :: EngineType
$sel:engineType:BrokerSummary' :: BrokerSummary -> EngineType
engineType} -> EngineType
engineType) (\s :: BrokerSummary
s@BrokerSummary' {} EngineType
a -> BrokerSummary
s {$sel:engineType:BrokerSummary' :: EngineType
engineType = EngineType
a} :: BrokerSummary)
instance Data.FromJSON BrokerSummary where
parseJSON :: Value -> Parser BrokerSummary
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"BrokerSummary"
( \Object
x ->
Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe BrokerState
-> Maybe ISO8601
-> Maybe Text
-> DeploymentMode
-> EngineType
-> BrokerSummary
BrokerSummary'
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
"brokerArn")
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
"brokerId")
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
"brokerName")
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
"brokerState")
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
"created")
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
"hostInstanceType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"deploymentMode")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"engineType")
)
instance Prelude.Hashable BrokerSummary where
hashWithSalt :: Int -> BrokerSummary -> Int
hashWithSalt Int
_salt BrokerSummary' {Maybe Text
Maybe ISO8601
Maybe BrokerState
DeploymentMode
EngineType
engineType :: EngineType
deploymentMode :: DeploymentMode
hostInstanceType :: Maybe Text
created :: Maybe ISO8601
brokerState :: Maybe BrokerState
brokerName :: Maybe Text
brokerId :: Maybe Text
brokerArn :: Maybe Text
$sel:engineType:BrokerSummary' :: BrokerSummary -> EngineType
$sel:deploymentMode:BrokerSummary' :: BrokerSummary -> DeploymentMode
$sel:hostInstanceType:BrokerSummary' :: BrokerSummary -> Maybe Text
$sel:created:BrokerSummary' :: BrokerSummary -> Maybe ISO8601
$sel:brokerState:BrokerSummary' :: BrokerSummary -> Maybe BrokerState
$sel:brokerName:BrokerSummary' :: BrokerSummary -> Maybe Text
$sel:brokerId:BrokerSummary' :: BrokerSummary -> Maybe Text
$sel:brokerArn:BrokerSummary' :: BrokerSummary -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
brokerArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
brokerId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
brokerName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe BrokerState
brokerState
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
created
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
hostInstanceType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DeploymentMode
deploymentMode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` EngineType
engineType
instance Prelude.NFData BrokerSummary where
rnf :: BrokerSummary -> ()
rnf BrokerSummary' {Maybe Text
Maybe ISO8601
Maybe BrokerState
DeploymentMode
EngineType
engineType :: EngineType
deploymentMode :: DeploymentMode
hostInstanceType :: Maybe Text
created :: Maybe ISO8601
brokerState :: Maybe BrokerState
brokerName :: Maybe Text
brokerId :: Maybe Text
brokerArn :: Maybe Text
$sel:engineType:BrokerSummary' :: BrokerSummary -> EngineType
$sel:deploymentMode:BrokerSummary' :: BrokerSummary -> DeploymentMode
$sel:hostInstanceType:BrokerSummary' :: BrokerSummary -> Maybe Text
$sel:created:BrokerSummary' :: BrokerSummary -> Maybe ISO8601
$sel:brokerState:BrokerSummary' :: BrokerSummary -> Maybe BrokerState
$sel:brokerName:BrokerSummary' :: BrokerSummary -> Maybe Text
$sel:brokerId:BrokerSummary' :: BrokerSummary -> Maybe Text
$sel:brokerArn:BrokerSummary' :: BrokerSummary -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
brokerArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
brokerId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
brokerName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe BrokerState
brokerState
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
created
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
hostInstanceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DeploymentMode
deploymentMode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf EngineType
engineType