{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.MQ.DescribeBroker
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns information about the specified broker.
module Amazonka.MQ.DescribeBroker
  ( -- * Creating a Request
    DescribeBroker (..),
    newDescribeBroker,

    -- * Request Lenses
    describeBroker_brokerId,

    -- * Destructuring the Response
    DescribeBrokerResponse (..),
    newDescribeBrokerResponse,

    -- * Response Lenses
    describeBrokerResponse_actionsRequired,
    describeBrokerResponse_authenticationStrategy,
    describeBrokerResponse_autoMinorVersionUpgrade,
    describeBrokerResponse_brokerArn,
    describeBrokerResponse_brokerId,
    describeBrokerResponse_brokerInstances,
    describeBrokerResponse_brokerName,
    describeBrokerResponse_brokerState,
    describeBrokerResponse_configurations,
    describeBrokerResponse_created,
    describeBrokerResponse_deploymentMode,
    describeBrokerResponse_encryptionOptions,
    describeBrokerResponse_engineType,
    describeBrokerResponse_engineVersion,
    describeBrokerResponse_hostInstanceType,
    describeBrokerResponse_ldapServerMetadata,
    describeBrokerResponse_logs,
    describeBrokerResponse_maintenanceWindowStartTime,
    describeBrokerResponse_pendingAuthenticationStrategy,
    describeBrokerResponse_pendingEngineVersion,
    describeBrokerResponse_pendingHostInstanceType,
    describeBrokerResponse_pendingLdapServerMetadata,
    describeBrokerResponse_pendingSecurityGroups,
    describeBrokerResponse_publiclyAccessible,
    describeBrokerResponse_securityGroups,
    describeBrokerResponse_storageType,
    describeBrokerResponse_subnetIds,
    describeBrokerResponse_tags,
    describeBrokerResponse_users,
    describeBrokerResponse_httpStatus,
  )
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
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newDescribeBroker' smart constructor.
data DescribeBroker = DescribeBroker'
  { -- | The unique ID that Amazon MQ generates for the broker.
    DescribeBroker -> Text
brokerId :: Prelude.Text
  }
  deriving (DescribeBroker -> DescribeBroker -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeBroker -> DescribeBroker -> Bool
$c/= :: DescribeBroker -> DescribeBroker -> Bool
== :: DescribeBroker -> DescribeBroker -> Bool
$c== :: DescribeBroker -> DescribeBroker -> Bool
Prelude.Eq, ReadPrec [DescribeBroker]
ReadPrec DescribeBroker
Int -> ReadS DescribeBroker
ReadS [DescribeBroker]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeBroker]
$creadListPrec :: ReadPrec [DescribeBroker]
readPrec :: ReadPrec DescribeBroker
$creadPrec :: ReadPrec DescribeBroker
readList :: ReadS [DescribeBroker]
$creadList :: ReadS [DescribeBroker]
readsPrec :: Int -> ReadS DescribeBroker
$creadsPrec :: Int -> ReadS DescribeBroker
Prelude.Read, Int -> DescribeBroker -> ShowS
[DescribeBroker] -> ShowS
DescribeBroker -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeBroker] -> ShowS
$cshowList :: [DescribeBroker] -> ShowS
show :: DescribeBroker -> String
$cshow :: DescribeBroker -> String
showsPrec :: Int -> DescribeBroker -> ShowS
$cshowsPrec :: Int -> DescribeBroker -> ShowS
Prelude.Show, forall x. Rep DescribeBroker x -> DescribeBroker
forall x. DescribeBroker -> Rep DescribeBroker x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeBroker x -> DescribeBroker
$cfrom :: forall x. DescribeBroker -> Rep DescribeBroker x
Prelude.Generic)

-- |
-- Create a value of 'DescribeBroker' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'brokerId', 'describeBroker_brokerId' - The unique ID that Amazon MQ generates for the broker.
newDescribeBroker ::
  -- | 'brokerId'
  Prelude.Text ->
  DescribeBroker
newDescribeBroker :: Text -> DescribeBroker
newDescribeBroker Text
pBrokerId_ =
  DescribeBroker' {$sel:brokerId:DescribeBroker' :: Text
brokerId = Text
pBrokerId_}

-- | The unique ID that Amazon MQ generates for the broker.
describeBroker_brokerId :: Lens.Lens' DescribeBroker Prelude.Text
describeBroker_brokerId :: Lens' DescribeBroker Text
describeBroker_brokerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBroker' {Text
brokerId :: Text
$sel:brokerId:DescribeBroker' :: DescribeBroker -> Text
brokerId} -> Text
brokerId) (\s :: DescribeBroker
s@DescribeBroker' {} Text
a -> DescribeBroker
s {$sel:brokerId:DescribeBroker' :: Text
brokerId = Text
a} :: DescribeBroker)

instance Core.AWSRequest DescribeBroker where
  type
    AWSResponse DescribeBroker =
      DescribeBrokerResponse
  request :: (Service -> Service) -> DescribeBroker -> Request DescribeBroker
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeBroker
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeBroker)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe [ActionRequired]
-> Maybe AuthenticationStrategy
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe [BrokerInstance]
-> Maybe Text
-> Maybe BrokerState
-> Maybe Configurations
-> Maybe ISO8601
-> Maybe DeploymentMode
-> Maybe EncryptionOptions
-> Maybe EngineType
-> Maybe Text
-> Maybe Text
-> Maybe LdapServerMetadataOutput
-> Maybe LogsSummary
-> Maybe WeeklyStartTime
-> Maybe AuthenticationStrategy
-> Maybe Text
-> Maybe Text
-> Maybe LdapServerMetadataOutput
-> Maybe [Text]
-> Maybe Bool
-> Maybe [Text]
-> Maybe BrokerStorageType
-> Maybe [Text]
-> Maybe (HashMap Text Text)
-> Maybe [UserSummary]
-> Int
-> DescribeBrokerResponse
DescribeBrokerResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"actionsRequired"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"authenticationStrategy")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"autoMinorVersionUpgrade")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (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 -> Either String (Maybe a)
Data..?> Key
"brokerInstances"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (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 -> Either String (Maybe a)
Data..?> Key
"configurations")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (Maybe 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 -> Either String (Maybe a)
Data..?> Key
"encryptionOptions")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"engineType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"engineVersion")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (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 -> Either String (Maybe a)
Data..?> Key
"ldapServerMetadata")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"logs")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"maintenanceWindowStartTime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"pendingAuthenticationStrategy")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"pendingEngineVersion")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"pendingHostInstanceType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"pendingLdapServerMetadata")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"pendingSecurityGroups"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"publiclyAccessible")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"securityGroups" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"storageType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"subnetIds" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"tags" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"users" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            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 DescribeBroker where
  hashWithSalt :: Int -> DescribeBroker -> Int
hashWithSalt Int
_salt DescribeBroker' {Text
brokerId :: Text
$sel:brokerId:DescribeBroker' :: DescribeBroker -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
brokerId

instance Prelude.NFData DescribeBroker where
  rnf :: DescribeBroker -> ()
rnf DescribeBroker' {Text
brokerId :: Text
$sel:brokerId:DescribeBroker' :: DescribeBroker -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
brokerId

instance Data.ToHeaders DescribeBroker where
  toHeaders :: DescribeBroker -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToPath DescribeBroker where
  toPath :: DescribeBroker -> ByteString
toPath DescribeBroker' {Text
brokerId :: Text
$sel:brokerId:DescribeBroker' :: DescribeBroker -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/v1/brokers/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
brokerId]

instance Data.ToQuery DescribeBroker where
  toQuery :: DescribeBroker -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribeBrokerResponse' smart constructor.
data DescribeBrokerResponse = DescribeBrokerResponse'
  { -- | A list of actions required for a broker.
    DescribeBrokerResponse -> Maybe [ActionRequired]
actionsRequired :: Prelude.Maybe [ActionRequired],
    -- | The authentication strategy used to secure the broker. The default is
    -- SIMPLE.
    DescribeBrokerResponse -> Maybe AuthenticationStrategy
authenticationStrategy :: Prelude.Maybe AuthenticationStrategy,
    -- | Enables automatic upgrades to new minor versions for brokers, as new
    -- versions are released and supported by Amazon MQ. Automatic upgrades
    -- occur during the scheduled maintenance window of the broker or after a
    -- manual broker reboot.
    DescribeBrokerResponse -> Maybe Bool
autoMinorVersionUpgrade :: Prelude.Maybe Prelude.Bool,
    -- | The broker\'s Amazon Resource Name (ARN).
    DescribeBrokerResponse -> Maybe Text
brokerArn :: Prelude.Maybe Prelude.Text,
    -- | The unique ID that Amazon MQ generates for the broker.
    DescribeBrokerResponse -> Maybe Text
brokerId :: Prelude.Maybe Prelude.Text,
    -- | A list of information about allocated brokers.
    DescribeBrokerResponse -> Maybe [BrokerInstance]
brokerInstances :: Prelude.Maybe [BrokerInstance],
    -- | The broker\'s name. This value must be unique in your AWS account, 1-50
    -- characters long, must contain only letters, numbers, dashes, and
    -- underscores, and must not contain white spaces, brackets, wildcard
    -- characters, or special characters.
    DescribeBrokerResponse -> Maybe Text
brokerName :: Prelude.Maybe Prelude.Text,
    -- | The broker\'s status.
    DescribeBrokerResponse -> Maybe BrokerState
brokerState :: Prelude.Maybe BrokerState,
    -- | The list of all revisions for the specified configuration.
    DescribeBrokerResponse -> Maybe Configurations
configurations :: Prelude.Maybe Configurations,
    -- | The time when the broker was created.
    DescribeBrokerResponse -> Maybe ISO8601
created :: Prelude.Maybe Data.ISO8601,
    -- | The broker\'s deployment mode.
    DescribeBrokerResponse -> Maybe DeploymentMode
deploymentMode :: Prelude.Maybe DeploymentMode,
    -- | Encryption options for the broker. Does not apply to RabbitMQ brokers.
    DescribeBrokerResponse -> Maybe EncryptionOptions
encryptionOptions :: Prelude.Maybe EncryptionOptions,
    -- | The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and
    -- RABBITMQ.
    DescribeBrokerResponse -> Maybe EngineType
engineType :: Prelude.Maybe EngineType,
    -- | The broker engine\'s version. For a list of supported engine versions,
    -- see
    -- <https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html Supported engines>.
    DescribeBrokerResponse -> Maybe Text
engineVersion :: Prelude.Maybe Prelude.Text,
    -- | The broker\'s instance type.
    DescribeBrokerResponse -> Maybe Text
hostInstanceType :: Prelude.Maybe Prelude.Text,
    -- | The metadata of the LDAP server used to authenticate and authorize
    -- connections to the broker.
    DescribeBrokerResponse -> Maybe LdapServerMetadataOutput
ldapServerMetadata :: Prelude.Maybe LdapServerMetadataOutput,
    -- | The list of information about logs currently enabled and pending to be
    -- deployed for the specified broker.
    DescribeBrokerResponse -> Maybe LogsSummary
logs :: Prelude.Maybe LogsSummary,
    -- | The parameters that determine the WeeklyStartTime.
    DescribeBrokerResponse -> Maybe WeeklyStartTime
maintenanceWindowStartTime :: Prelude.Maybe WeeklyStartTime,
    -- | The authentication strategy that will be applied when the broker is
    -- rebooted. The default is SIMPLE.
    DescribeBrokerResponse -> Maybe AuthenticationStrategy
pendingAuthenticationStrategy :: Prelude.Maybe AuthenticationStrategy,
    -- | The broker engine version to upgrade to. For a list of supported engine
    -- versions, see
    -- <https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html Supported engines>.
    DescribeBrokerResponse -> Maybe Text
pendingEngineVersion :: Prelude.Maybe Prelude.Text,
    -- | The broker\'s host instance type to upgrade to. For a list of supported
    -- instance types, see
    -- <https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker.html#broker-instance-types Broker instance types>.
    DescribeBrokerResponse -> Maybe Text
pendingHostInstanceType :: Prelude.Maybe Prelude.Text,
    -- | The metadata of the LDAP server that will be used to authenticate and
    -- authorize connections to the broker after it is rebooted.
    DescribeBrokerResponse -> Maybe LdapServerMetadataOutput
pendingLdapServerMetadata :: Prelude.Maybe LdapServerMetadataOutput,
    -- | The list of pending security groups to authorize connections to brokers.
    DescribeBrokerResponse -> Maybe [Text]
pendingSecurityGroups :: Prelude.Maybe [Prelude.Text],
    -- | Enables connections from applications outside of the VPC that hosts the
    -- broker\'s subnets.
    DescribeBrokerResponse -> Maybe Bool
publiclyAccessible :: Prelude.Maybe Prelude.Bool,
    -- | The list of rules (1 minimum, 125 maximum) that authorize connections to
    -- brokers.
    DescribeBrokerResponse -> Maybe [Text]
securityGroups :: Prelude.Maybe [Prelude.Text],
    -- | The broker\'s storage type.
    DescribeBrokerResponse -> Maybe BrokerStorageType
storageType :: Prelude.Maybe BrokerStorageType,
    -- | The list of groups that define which subnets and IP ranges the broker
    -- can use from different Availability Zones.
    DescribeBrokerResponse -> Maybe [Text]
subnetIds :: Prelude.Maybe [Prelude.Text],
    -- | The list of all tags associated with this broker.
    DescribeBrokerResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The list of all broker usernames for the specified broker.
    DescribeBrokerResponse -> Maybe [UserSummary]
users :: Prelude.Maybe [UserSummary],
    -- | The response's http status code.
    DescribeBrokerResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeBrokerResponse -> DescribeBrokerResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeBrokerResponse -> DescribeBrokerResponse -> Bool
$c/= :: DescribeBrokerResponse -> DescribeBrokerResponse -> Bool
== :: DescribeBrokerResponse -> DescribeBrokerResponse -> Bool
$c== :: DescribeBrokerResponse -> DescribeBrokerResponse -> Bool
Prelude.Eq, ReadPrec [DescribeBrokerResponse]
ReadPrec DescribeBrokerResponse
Int -> ReadS DescribeBrokerResponse
ReadS [DescribeBrokerResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeBrokerResponse]
$creadListPrec :: ReadPrec [DescribeBrokerResponse]
readPrec :: ReadPrec DescribeBrokerResponse
$creadPrec :: ReadPrec DescribeBrokerResponse
readList :: ReadS [DescribeBrokerResponse]
$creadList :: ReadS [DescribeBrokerResponse]
readsPrec :: Int -> ReadS DescribeBrokerResponse
$creadsPrec :: Int -> ReadS DescribeBrokerResponse
Prelude.Read, Int -> DescribeBrokerResponse -> ShowS
[DescribeBrokerResponse] -> ShowS
DescribeBrokerResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeBrokerResponse] -> ShowS
$cshowList :: [DescribeBrokerResponse] -> ShowS
show :: DescribeBrokerResponse -> String
$cshow :: DescribeBrokerResponse -> String
showsPrec :: Int -> DescribeBrokerResponse -> ShowS
$cshowsPrec :: Int -> DescribeBrokerResponse -> ShowS
Prelude.Show, forall x. Rep DescribeBrokerResponse x -> DescribeBrokerResponse
forall x. DescribeBrokerResponse -> Rep DescribeBrokerResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeBrokerResponse x -> DescribeBrokerResponse
$cfrom :: forall x. DescribeBrokerResponse -> Rep DescribeBrokerResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeBrokerResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'actionsRequired', 'describeBrokerResponse_actionsRequired' - A list of actions required for a broker.
--
-- 'authenticationStrategy', 'describeBrokerResponse_authenticationStrategy' - The authentication strategy used to secure the broker. The default is
-- SIMPLE.
--
-- 'autoMinorVersionUpgrade', 'describeBrokerResponse_autoMinorVersionUpgrade' - Enables automatic upgrades to new minor versions for brokers, as new
-- versions are released and supported by Amazon MQ. Automatic upgrades
-- occur during the scheduled maintenance window of the broker or after a
-- manual broker reboot.
--
-- 'brokerArn', 'describeBrokerResponse_brokerArn' - The broker\'s Amazon Resource Name (ARN).
--
-- 'brokerId', 'describeBrokerResponse_brokerId' - The unique ID that Amazon MQ generates for the broker.
--
-- 'brokerInstances', 'describeBrokerResponse_brokerInstances' - A list of information about allocated brokers.
--
-- 'brokerName', 'describeBrokerResponse_brokerName' - The broker\'s name. This value must be unique in your AWS account, 1-50
-- characters long, must contain only letters, numbers, dashes, and
-- underscores, and must not contain white spaces, brackets, wildcard
-- characters, or special characters.
--
-- 'brokerState', 'describeBrokerResponse_brokerState' - The broker\'s status.
--
-- 'configurations', 'describeBrokerResponse_configurations' - The list of all revisions for the specified configuration.
--
-- 'created', 'describeBrokerResponse_created' - The time when the broker was created.
--
-- 'deploymentMode', 'describeBrokerResponse_deploymentMode' - The broker\'s deployment mode.
--
-- 'encryptionOptions', 'describeBrokerResponse_encryptionOptions' - Encryption options for the broker. Does not apply to RabbitMQ brokers.
--
-- 'engineType', 'describeBrokerResponse_engineType' - The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and
-- RABBITMQ.
--
-- 'engineVersion', 'describeBrokerResponse_engineVersion' - The broker engine\'s version. For a list of supported engine versions,
-- see
-- <https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html Supported engines>.
--
-- 'hostInstanceType', 'describeBrokerResponse_hostInstanceType' - The broker\'s instance type.
--
-- 'ldapServerMetadata', 'describeBrokerResponse_ldapServerMetadata' - The metadata of the LDAP server used to authenticate and authorize
-- connections to the broker.
--
-- 'logs', 'describeBrokerResponse_logs' - The list of information about logs currently enabled and pending to be
-- deployed for the specified broker.
--
-- 'maintenanceWindowStartTime', 'describeBrokerResponse_maintenanceWindowStartTime' - The parameters that determine the WeeklyStartTime.
--
-- 'pendingAuthenticationStrategy', 'describeBrokerResponse_pendingAuthenticationStrategy' - The authentication strategy that will be applied when the broker is
-- rebooted. The default is SIMPLE.
--
-- 'pendingEngineVersion', 'describeBrokerResponse_pendingEngineVersion' - The broker engine version to upgrade to. For a list of supported engine
-- versions, see
-- <https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html Supported engines>.
--
-- 'pendingHostInstanceType', 'describeBrokerResponse_pendingHostInstanceType' - The broker\'s host instance type to upgrade to. For a list of supported
-- instance types, see
-- <https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker.html#broker-instance-types Broker instance types>.
--
-- 'pendingLdapServerMetadata', 'describeBrokerResponse_pendingLdapServerMetadata' - The metadata of the LDAP server that will be used to authenticate and
-- authorize connections to the broker after it is rebooted.
--
-- 'pendingSecurityGroups', 'describeBrokerResponse_pendingSecurityGroups' - The list of pending security groups to authorize connections to brokers.
--
-- 'publiclyAccessible', 'describeBrokerResponse_publiclyAccessible' - Enables connections from applications outside of the VPC that hosts the
-- broker\'s subnets.
--
-- 'securityGroups', 'describeBrokerResponse_securityGroups' - The list of rules (1 minimum, 125 maximum) that authorize connections to
-- brokers.
--
-- 'storageType', 'describeBrokerResponse_storageType' - The broker\'s storage type.
--
-- 'subnetIds', 'describeBrokerResponse_subnetIds' - The list of groups that define which subnets and IP ranges the broker
-- can use from different Availability Zones.
--
-- 'tags', 'describeBrokerResponse_tags' - The list of all tags associated with this broker.
--
-- 'users', 'describeBrokerResponse_users' - The list of all broker usernames for the specified broker.
--
-- 'httpStatus', 'describeBrokerResponse_httpStatus' - The response's http status code.
newDescribeBrokerResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeBrokerResponse
newDescribeBrokerResponse :: Int -> DescribeBrokerResponse
newDescribeBrokerResponse Int
pHttpStatus_ =
  DescribeBrokerResponse'
    { $sel:actionsRequired:DescribeBrokerResponse' :: Maybe [ActionRequired]
actionsRequired =
        forall a. Maybe a
Prelude.Nothing,
      $sel:authenticationStrategy:DescribeBrokerResponse' :: Maybe AuthenticationStrategy
authenticationStrategy = forall a. Maybe a
Prelude.Nothing,
      $sel:autoMinorVersionUpgrade:DescribeBrokerResponse' :: Maybe Bool
autoMinorVersionUpgrade = forall a. Maybe a
Prelude.Nothing,
      $sel:brokerArn:DescribeBrokerResponse' :: Maybe Text
brokerArn = forall a. Maybe a
Prelude.Nothing,
      $sel:brokerId:DescribeBrokerResponse' :: Maybe Text
brokerId = forall a. Maybe a
Prelude.Nothing,
      $sel:brokerInstances:DescribeBrokerResponse' :: Maybe [BrokerInstance]
brokerInstances = forall a. Maybe a
Prelude.Nothing,
      $sel:brokerName:DescribeBrokerResponse' :: Maybe Text
brokerName = forall a. Maybe a
Prelude.Nothing,
      $sel:brokerState:DescribeBrokerResponse' :: Maybe BrokerState
brokerState = forall a. Maybe a
Prelude.Nothing,
      $sel:configurations:DescribeBrokerResponse' :: Maybe Configurations
configurations = forall a. Maybe a
Prelude.Nothing,
      $sel:created:DescribeBrokerResponse' :: Maybe ISO8601
created = forall a. Maybe a
Prelude.Nothing,
      $sel:deploymentMode:DescribeBrokerResponse' :: Maybe DeploymentMode
deploymentMode = forall a. Maybe a
Prelude.Nothing,
      $sel:encryptionOptions:DescribeBrokerResponse' :: Maybe EncryptionOptions
encryptionOptions = forall a. Maybe a
Prelude.Nothing,
      $sel:engineType:DescribeBrokerResponse' :: Maybe EngineType
engineType = forall a. Maybe a
Prelude.Nothing,
      $sel:engineVersion:DescribeBrokerResponse' :: Maybe Text
engineVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:hostInstanceType:DescribeBrokerResponse' :: Maybe Text
hostInstanceType = forall a. Maybe a
Prelude.Nothing,
      $sel:ldapServerMetadata:DescribeBrokerResponse' :: Maybe LdapServerMetadataOutput
ldapServerMetadata = forall a. Maybe a
Prelude.Nothing,
      $sel:logs:DescribeBrokerResponse' :: Maybe LogsSummary
logs = forall a. Maybe a
Prelude.Nothing,
      $sel:maintenanceWindowStartTime:DescribeBrokerResponse' :: Maybe WeeklyStartTime
maintenanceWindowStartTime = forall a. Maybe a
Prelude.Nothing,
      $sel:pendingAuthenticationStrategy:DescribeBrokerResponse' :: Maybe AuthenticationStrategy
pendingAuthenticationStrategy = forall a. Maybe a
Prelude.Nothing,
      $sel:pendingEngineVersion:DescribeBrokerResponse' :: Maybe Text
pendingEngineVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:pendingHostInstanceType:DescribeBrokerResponse' :: Maybe Text
pendingHostInstanceType = forall a. Maybe a
Prelude.Nothing,
      $sel:pendingLdapServerMetadata:DescribeBrokerResponse' :: Maybe LdapServerMetadataOutput
pendingLdapServerMetadata = forall a. Maybe a
Prelude.Nothing,
      $sel:pendingSecurityGroups:DescribeBrokerResponse' :: Maybe [Text]
pendingSecurityGroups = forall a. Maybe a
Prelude.Nothing,
      $sel:publiclyAccessible:DescribeBrokerResponse' :: Maybe Bool
publiclyAccessible = forall a. Maybe a
Prelude.Nothing,
      $sel:securityGroups:DescribeBrokerResponse' :: Maybe [Text]
securityGroups = forall a. Maybe a
Prelude.Nothing,
      $sel:storageType:DescribeBrokerResponse' :: Maybe BrokerStorageType
storageType = forall a. Maybe a
Prelude.Nothing,
      $sel:subnetIds:DescribeBrokerResponse' :: Maybe [Text]
subnetIds = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:DescribeBrokerResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:users:DescribeBrokerResponse' :: Maybe [UserSummary]
users = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeBrokerResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A list of actions required for a broker.
describeBrokerResponse_actionsRequired :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe [ActionRequired])
describeBrokerResponse_actionsRequired :: Lens' DescribeBrokerResponse (Maybe [ActionRequired])
describeBrokerResponse_actionsRequired = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe [ActionRequired]
actionsRequired :: Maybe [ActionRequired]
$sel:actionsRequired:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [ActionRequired]
actionsRequired} -> Maybe [ActionRequired]
actionsRequired) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe [ActionRequired]
a -> DescribeBrokerResponse
s {$sel:actionsRequired:DescribeBrokerResponse' :: Maybe [ActionRequired]
actionsRequired = Maybe [ActionRequired]
a} :: DescribeBrokerResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The authentication strategy used to secure the broker. The default is
-- SIMPLE.
describeBrokerResponse_authenticationStrategy :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe AuthenticationStrategy)
describeBrokerResponse_authenticationStrategy :: Lens' DescribeBrokerResponse (Maybe AuthenticationStrategy)
describeBrokerResponse_authenticationStrategy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe AuthenticationStrategy
authenticationStrategy :: Maybe AuthenticationStrategy
$sel:authenticationStrategy:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe AuthenticationStrategy
authenticationStrategy} -> Maybe AuthenticationStrategy
authenticationStrategy) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe AuthenticationStrategy
a -> DescribeBrokerResponse
s {$sel:authenticationStrategy:DescribeBrokerResponse' :: Maybe AuthenticationStrategy
authenticationStrategy = Maybe AuthenticationStrategy
a} :: DescribeBrokerResponse)

-- | Enables automatic upgrades to new minor versions for brokers, as new
-- versions are released and supported by Amazon MQ. Automatic upgrades
-- occur during the scheduled maintenance window of the broker or after a
-- manual broker reboot.
describeBrokerResponse_autoMinorVersionUpgrade :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.Bool)
describeBrokerResponse_autoMinorVersionUpgrade :: Lens' DescribeBrokerResponse (Maybe Bool)
describeBrokerResponse_autoMinorVersionUpgrade = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Bool
autoMinorVersionUpgrade :: Maybe Bool
$sel:autoMinorVersionUpgrade:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Bool
autoMinorVersionUpgrade} -> Maybe Bool
autoMinorVersionUpgrade) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Bool
a -> DescribeBrokerResponse
s {$sel:autoMinorVersionUpgrade:DescribeBrokerResponse' :: Maybe Bool
autoMinorVersionUpgrade = Maybe Bool
a} :: DescribeBrokerResponse)

-- | The broker\'s Amazon Resource Name (ARN).
describeBrokerResponse_brokerArn :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.Text)
describeBrokerResponse_brokerArn :: Lens' DescribeBrokerResponse (Maybe Text)
describeBrokerResponse_brokerArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Text
brokerArn :: Maybe Text
$sel:brokerArn:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
brokerArn} -> Maybe Text
brokerArn) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Text
a -> DescribeBrokerResponse
s {$sel:brokerArn:DescribeBrokerResponse' :: Maybe Text
brokerArn = Maybe Text
a} :: DescribeBrokerResponse)

-- | The unique ID that Amazon MQ generates for the broker.
describeBrokerResponse_brokerId :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.Text)
describeBrokerResponse_brokerId :: Lens' DescribeBrokerResponse (Maybe Text)
describeBrokerResponse_brokerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Text
brokerId :: Maybe Text
$sel:brokerId:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
brokerId} -> Maybe Text
brokerId) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Text
a -> DescribeBrokerResponse
s {$sel:brokerId:DescribeBrokerResponse' :: Maybe Text
brokerId = Maybe Text
a} :: DescribeBrokerResponse)

-- | A list of information about allocated brokers.
describeBrokerResponse_brokerInstances :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe [BrokerInstance])
describeBrokerResponse_brokerInstances :: Lens' DescribeBrokerResponse (Maybe [BrokerInstance])
describeBrokerResponse_brokerInstances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe [BrokerInstance]
brokerInstances :: Maybe [BrokerInstance]
$sel:brokerInstances:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [BrokerInstance]
brokerInstances} -> Maybe [BrokerInstance]
brokerInstances) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe [BrokerInstance]
a -> DescribeBrokerResponse
s {$sel:brokerInstances:DescribeBrokerResponse' :: Maybe [BrokerInstance]
brokerInstances = Maybe [BrokerInstance]
a} :: DescribeBrokerResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The broker\'s name. This value must be unique in your AWS account, 1-50
-- characters long, must contain only letters, numbers, dashes, and
-- underscores, and must not contain white spaces, brackets, wildcard
-- characters, or special characters.
describeBrokerResponse_brokerName :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.Text)
describeBrokerResponse_brokerName :: Lens' DescribeBrokerResponse (Maybe Text)
describeBrokerResponse_brokerName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Text
brokerName :: Maybe Text
$sel:brokerName:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
brokerName} -> Maybe Text
brokerName) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Text
a -> DescribeBrokerResponse
s {$sel:brokerName:DescribeBrokerResponse' :: Maybe Text
brokerName = Maybe Text
a} :: DescribeBrokerResponse)

-- | The broker\'s status.
describeBrokerResponse_brokerState :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe BrokerState)
describeBrokerResponse_brokerState :: Lens' DescribeBrokerResponse (Maybe BrokerState)
describeBrokerResponse_brokerState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe BrokerState
brokerState :: Maybe BrokerState
$sel:brokerState:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe BrokerState
brokerState} -> Maybe BrokerState
brokerState) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe BrokerState
a -> DescribeBrokerResponse
s {$sel:brokerState:DescribeBrokerResponse' :: Maybe BrokerState
brokerState = Maybe BrokerState
a} :: DescribeBrokerResponse)

-- | The list of all revisions for the specified configuration.
describeBrokerResponse_configurations :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Configurations)
describeBrokerResponse_configurations :: Lens' DescribeBrokerResponse (Maybe Configurations)
describeBrokerResponse_configurations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Configurations
configurations :: Maybe Configurations
$sel:configurations:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Configurations
configurations} -> Maybe Configurations
configurations) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Configurations
a -> DescribeBrokerResponse
s {$sel:configurations:DescribeBrokerResponse' :: Maybe Configurations
configurations = Maybe Configurations
a} :: DescribeBrokerResponse)

-- | The time when the broker was created.
describeBrokerResponse_created :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.UTCTime)
describeBrokerResponse_created :: Lens' DescribeBrokerResponse (Maybe UTCTime)
describeBrokerResponse_created = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe ISO8601
created :: Maybe ISO8601
$sel:created:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe ISO8601
created} -> Maybe ISO8601
created) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe ISO8601
a -> DescribeBrokerResponse
s {$sel:created:DescribeBrokerResponse' :: Maybe ISO8601
created = Maybe ISO8601
a} :: DescribeBrokerResponse) 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

-- | The broker\'s deployment mode.
describeBrokerResponse_deploymentMode :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe DeploymentMode)
describeBrokerResponse_deploymentMode :: Lens' DescribeBrokerResponse (Maybe DeploymentMode)
describeBrokerResponse_deploymentMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe DeploymentMode
deploymentMode :: Maybe DeploymentMode
$sel:deploymentMode:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe DeploymentMode
deploymentMode} -> Maybe DeploymentMode
deploymentMode) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe DeploymentMode
a -> DescribeBrokerResponse
s {$sel:deploymentMode:DescribeBrokerResponse' :: Maybe DeploymentMode
deploymentMode = Maybe DeploymentMode
a} :: DescribeBrokerResponse)

-- | Encryption options for the broker. Does not apply to RabbitMQ brokers.
describeBrokerResponse_encryptionOptions :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe EncryptionOptions)
describeBrokerResponse_encryptionOptions :: Lens' DescribeBrokerResponse (Maybe EncryptionOptions)
describeBrokerResponse_encryptionOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe EncryptionOptions
encryptionOptions :: Maybe EncryptionOptions
$sel:encryptionOptions:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe EncryptionOptions
encryptionOptions} -> Maybe EncryptionOptions
encryptionOptions) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe EncryptionOptions
a -> DescribeBrokerResponse
s {$sel:encryptionOptions:DescribeBrokerResponse' :: Maybe EncryptionOptions
encryptionOptions = Maybe EncryptionOptions
a} :: DescribeBrokerResponse)

-- | The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and
-- RABBITMQ.
describeBrokerResponse_engineType :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe EngineType)
describeBrokerResponse_engineType :: Lens' DescribeBrokerResponse (Maybe EngineType)
describeBrokerResponse_engineType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe EngineType
engineType :: Maybe EngineType
$sel:engineType:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe EngineType
engineType} -> Maybe EngineType
engineType) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe EngineType
a -> DescribeBrokerResponse
s {$sel:engineType:DescribeBrokerResponse' :: Maybe EngineType
engineType = Maybe EngineType
a} :: DescribeBrokerResponse)

-- | The broker engine\'s version. For a list of supported engine versions,
-- see
-- <https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html Supported engines>.
describeBrokerResponse_engineVersion :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.Text)
describeBrokerResponse_engineVersion :: Lens' DescribeBrokerResponse (Maybe Text)
describeBrokerResponse_engineVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Text
engineVersion :: Maybe Text
$sel:engineVersion:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
engineVersion} -> Maybe Text
engineVersion) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Text
a -> DescribeBrokerResponse
s {$sel:engineVersion:DescribeBrokerResponse' :: Maybe Text
engineVersion = Maybe Text
a} :: DescribeBrokerResponse)

-- | The broker\'s instance type.
describeBrokerResponse_hostInstanceType :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.Text)
describeBrokerResponse_hostInstanceType :: Lens' DescribeBrokerResponse (Maybe Text)
describeBrokerResponse_hostInstanceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Text
hostInstanceType :: Maybe Text
$sel:hostInstanceType:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
hostInstanceType} -> Maybe Text
hostInstanceType) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Text
a -> DescribeBrokerResponse
s {$sel:hostInstanceType:DescribeBrokerResponse' :: Maybe Text
hostInstanceType = Maybe Text
a} :: DescribeBrokerResponse)

-- | The metadata of the LDAP server used to authenticate and authorize
-- connections to the broker.
describeBrokerResponse_ldapServerMetadata :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe LdapServerMetadataOutput)
describeBrokerResponse_ldapServerMetadata :: Lens' DescribeBrokerResponse (Maybe LdapServerMetadataOutput)
describeBrokerResponse_ldapServerMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe LdapServerMetadataOutput
ldapServerMetadata :: Maybe LdapServerMetadataOutput
$sel:ldapServerMetadata:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe LdapServerMetadataOutput
ldapServerMetadata} -> Maybe LdapServerMetadataOutput
ldapServerMetadata) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe LdapServerMetadataOutput
a -> DescribeBrokerResponse
s {$sel:ldapServerMetadata:DescribeBrokerResponse' :: Maybe LdapServerMetadataOutput
ldapServerMetadata = Maybe LdapServerMetadataOutput
a} :: DescribeBrokerResponse)

-- | The list of information about logs currently enabled and pending to be
-- deployed for the specified broker.
describeBrokerResponse_logs :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe LogsSummary)
describeBrokerResponse_logs :: Lens' DescribeBrokerResponse (Maybe LogsSummary)
describeBrokerResponse_logs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe LogsSummary
logs :: Maybe LogsSummary
$sel:logs:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe LogsSummary
logs} -> Maybe LogsSummary
logs) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe LogsSummary
a -> DescribeBrokerResponse
s {$sel:logs:DescribeBrokerResponse' :: Maybe LogsSummary
logs = Maybe LogsSummary
a} :: DescribeBrokerResponse)

-- | The parameters that determine the WeeklyStartTime.
describeBrokerResponse_maintenanceWindowStartTime :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe WeeklyStartTime)
describeBrokerResponse_maintenanceWindowStartTime :: Lens' DescribeBrokerResponse (Maybe WeeklyStartTime)
describeBrokerResponse_maintenanceWindowStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe WeeklyStartTime
maintenanceWindowStartTime :: Maybe WeeklyStartTime
$sel:maintenanceWindowStartTime:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe WeeklyStartTime
maintenanceWindowStartTime} -> Maybe WeeklyStartTime
maintenanceWindowStartTime) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe WeeklyStartTime
a -> DescribeBrokerResponse
s {$sel:maintenanceWindowStartTime:DescribeBrokerResponse' :: Maybe WeeklyStartTime
maintenanceWindowStartTime = Maybe WeeklyStartTime
a} :: DescribeBrokerResponse)

-- | The authentication strategy that will be applied when the broker is
-- rebooted. The default is SIMPLE.
describeBrokerResponse_pendingAuthenticationStrategy :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe AuthenticationStrategy)
describeBrokerResponse_pendingAuthenticationStrategy :: Lens' DescribeBrokerResponse (Maybe AuthenticationStrategy)
describeBrokerResponse_pendingAuthenticationStrategy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe AuthenticationStrategy
pendingAuthenticationStrategy :: Maybe AuthenticationStrategy
$sel:pendingAuthenticationStrategy:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe AuthenticationStrategy
pendingAuthenticationStrategy} -> Maybe AuthenticationStrategy
pendingAuthenticationStrategy) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe AuthenticationStrategy
a -> DescribeBrokerResponse
s {$sel:pendingAuthenticationStrategy:DescribeBrokerResponse' :: Maybe AuthenticationStrategy
pendingAuthenticationStrategy = Maybe AuthenticationStrategy
a} :: DescribeBrokerResponse)

-- | The broker engine version to upgrade to. For a list of supported engine
-- versions, see
-- <https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html Supported engines>.
describeBrokerResponse_pendingEngineVersion :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.Text)
describeBrokerResponse_pendingEngineVersion :: Lens' DescribeBrokerResponse (Maybe Text)
describeBrokerResponse_pendingEngineVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Text
pendingEngineVersion :: Maybe Text
$sel:pendingEngineVersion:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
pendingEngineVersion} -> Maybe Text
pendingEngineVersion) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Text
a -> DescribeBrokerResponse
s {$sel:pendingEngineVersion:DescribeBrokerResponse' :: Maybe Text
pendingEngineVersion = Maybe Text
a} :: DescribeBrokerResponse)

-- | The broker\'s host instance type to upgrade to. For a list of supported
-- instance types, see
-- <https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker.html#broker-instance-types Broker instance types>.
describeBrokerResponse_pendingHostInstanceType :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.Text)
describeBrokerResponse_pendingHostInstanceType :: Lens' DescribeBrokerResponse (Maybe Text)
describeBrokerResponse_pendingHostInstanceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Text
pendingHostInstanceType :: Maybe Text
$sel:pendingHostInstanceType:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
pendingHostInstanceType} -> Maybe Text
pendingHostInstanceType) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Text
a -> DescribeBrokerResponse
s {$sel:pendingHostInstanceType:DescribeBrokerResponse' :: Maybe Text
pendingHostInstanceType = Maybe Text
a} :: DescribeBrokerResponse)

-- | The metadata of the LDAP server that will be used to authenticate and
-- authorize connections to the broker after it is rebooted.
describeBrokerResponse_pendingLdapServerMetadata :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe LdapServerMetadataOutput)
describeBrokerResponse_pendingLdapServerMetadata :: Lens' DescribeBrokerResponse (Maybe LdapServerMetadataOutput)
describeBrokerResponse_pendingLdapServerMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe LdapServerMetadataOutput
pendingLdapServerMetadata :: Maybe LdapServerMetadataOutput
$sel:pendingLdapServerMetadata:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe LdapServerMetadataOutput
pendingLdapServerMetadata} -> Maybe LdapServerMetadataOutput
pendingLdapServerMetadata) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe LdapServerMetadataOutput
a -> DescribeBrokerResponse
s {$sel:pendingLdapServerMetadata:DescribeBrokerResponse' :: Maybe LdapServerMetadataOutput
pendingLdapServerMetadata = Maybe LdapServerMetadataOutput
a} :: DescribeBrokerResponse)

-- | The list of pending security groups to authorize connections to brokers.
describeBrokerResponse_pendingSecurityGroups :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe [Prelude.Text])
describeBrokerResponse_pendingSecurityGroups :: Lens' DescribeBrokerResponse (Maybe [Text])
describeBrokerResponse_pendingSecurityGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe [Text]
pendingSecurityGroups :: Maybe [Text]
$sel:pendingSecurityGroups:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [Text]
pendingSecurityGroups} -> Maybe [Text]
pendingSecurityGroups) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe [Text]
a -> DescribeBrokerResponse
s {$sel:pendingSecurityGroups:DescribeBrokerResponse' :: Maybe [Text]
pendingSecurityGroups = Maybe [Text]
a} :: DescribeBrokerResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Enables connections from applications outside of the VPC that hosts the
-- broker\'s subnets.
describeBrokerResponse_publiclyAccessible :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe Prelude.Bool)
describeBrokerResponse_publiclyAccessible :: Lens' DescribeBrokerResponse (Maybe Bool)
describeBrokerResponse_publiclyAccessible = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe Bool
publiclyAccessible :: Maybe Bool
$sel:publiclyAccessible:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Bool
publiclyAccessible} -> Maybe Bool
publiclyAccessible) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe Bool
a -> DescribeBrokerResponse
s {$sel:publiclyAccessible:DescribeBrokerResponse' :: Maybe Bool
publiclyAccessible = Maybe Bool
a} :: DescribeBrokerResponse)

-- | The list of rules (1 minimum, 125 maximum) that authorize connections to
-- brokers.
describeBrokerResponse_securityGroups :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe [Prelude.Text])
describeBrokerResponse_securityGroups :: Lens' DescribeBrokerResponse (Maybe [Text])
describeBrokerResponse_securityGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe [Text]
securityGroups :: Maybe [Text]
$sel:securityGroups:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [Text]
securityGroups} -> Maybe [Text]
securityGroups) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe [Text]
a -> DescribeBrokerResponse
s {$sel:securityGroups:DescribeBrokerResponse' :: Maybe [Text]
securityGroups = Maybe [Text]
a} :: DescribeBrokerResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The broker\'s storage type.
describeBrokerResponse_storageType :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe BrokerStorageType)
describeBrokerResponse_storageType :: Lens' DescribeBrokerResponse (Maybe BrokerStorageType)
describeBrokerResponse_storageType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe BrokerStorageType
storageType :: Maybe BrokerStorageType
$sel:storageType:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe BrokerStorageType
storageType} -> Maybe BrokerStorageType
storageType) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe BrokerStorageType
a -> DescribeBrokerResponse
s {$sel:storageType:DescribeBrokerResponse' :: Maybe BrokerStorageType
storageType = Maybe BrokerStorageType
a} :: DescribeBrokerResponse)

-- | The list of groups that define which subnets and IP ranges the broker
-- can use from different Availability Zones.
describeBrokerResponse_subnetIds :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe [Prelude.Text])
describeBrokerResponse_subnetIds :: Lens' DescribeBrokerResponse (Maybe [Text])
describeBrokerResponse_subnetIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe [Text]
subnetIds :: Maybe [Text]
$sel:subnetIds:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [Text]
subnetIds} -> Maybe [Text]
subnetIds) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe [Text]
a -> DescribeBrokerResponse
s {$sel:subnetIds:DescribeBrokerResponse' :: Maybe [Text]
subnetIds = Maybe [Text]
a} :: DescribeBrokerResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The list of all tags associated with this broker.
describeBrokerResponse_tags :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
describeBrokerResponse_tags :: Lens' DescribeBrokerResponse (Maybe (HashMap Text Text))
describeBrokerResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe (HashMap Text Text)
a -> DescribeBrokerResponse
s {$sel:tags:DescribeBrokerResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: DescribeBrokerResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The list of all broker usernames for the specified broker.
describeBrokerResponse_users :: Lens.Lens' DescribeBrokerResponse (Prelude.Maybe [UserSummary])
describeBrokerResponse_users :: Lens' DescribeBrokerResponse (Maybe [UserSummary])
describeBrokerResponse_users = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Maybe [UserSummary]
users :: Maybe [UserSummary]
$sel:users:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [UserSummary]
users} -> Maybe [UserSummary]
users) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Maybe [UserSummary]
a -> DescribeBrokerResponse
s {$sel:users:DescribeBrokerResponse' :: Maybe [UserSummary]
users = Maybe [UserSummary]
a} :: DescribeBrokerResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
describeBrokerResponse_httpStatus :: Lens.Lens' DescribeBrokerResponse Prelude.Int
describeBrokerResponse_httpStatus :: Lens' DescribeBrokerResponse Int
describeBrokerResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeBrokerResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeBrokerResponse' :: DescribeBrokerResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeBrokerResponse
s@DescribeBrokerResponse' {} Int
a -> DescribeBrokerResponse
s {$sel:httpStatus:DescribeBrokerResponse' :: Int
httpStatus = Int
a} :: DescribeBrokerResponse)

instance Prelude.NFData DescribeBrokerResponse where
  rnf :: DescribeBrokerResponse -> ()
rnf DescribeBrokerResponse' {Int
Maybe Bool
Maybe [Text]
Maybe [ActionRequired]
Maybe [BrokerInstance]
Maybe [UserSummary]
Maybe Text
Maybe (HashMap Text Text)
Maybe ISO8601
Maybe AuthenticationStrategy
Maybe BrokerState
Maybe BrokerStorageType
Maybe Configurations
Maybe DeploymentMode
Maybe EncryptionOptions
Maybe EngineType
Maybe LdapServerMetadataOutput
Maybe LogsSummary
Maybe WeeklyStartTime
httpStatus :: Int
users :: Maybe [UserSummary]
tags :: Maybe (HashMap Text Text)
subnetIds :: Maybe [Text]
storageType :: Maybe BrokerStorageType
securityGroups :: Maybe [Text]
publiclyAccessible :: Maybe Bool
pendingSecurityGroups :: Maybe [Text]
pendingLdapServerMetadata :: Maybe LdapServerMetadataOutput
pendingHostInstanceType :: Maybe Text
pendingEngineVersion :: Maybe Text
pendingAuthenticationStrategy :: Maybe AuthenticationStrategy
maintenanceWindowStartTime :: Maybe WeeklyStartTime
logs :: Maybe LogsSummary
ldapServerMetadata :: Maybe LdapServerMetadataOutput
hostInstanceType :: Maybe Text
engineVersion :: Maybe Text
engineType :: Maybe EngineType
encryptionOptions :: Maybe EncryptionOptions
deploymentMode :: Maybe DeploymentMode
created :: Maybe ISO8601
configurations :: Maybe Configurations
brokerState :: Maybe BrokerState
brokerName :: Maybe Text
brokerInstances :: Maybe [BrokerInstance]
brokerId :: Maybe Text
brokerArn :: Maybe Text
autoMinorVersionUpgrade :: Maybe Bool
authenticationStrategy :: Maybe AuthenticationStrategy
actionsRequired :: Maybe [ActionRequired]
$sel:httpStatus:DescribeBrokerResponse' :: DescribeBrokerResponse -> Int
$sel:users:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [UserSummary]
$sel:tags:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe (HashMap Text Text)
$sel:subnetIds:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [Text]
$sel:storageType:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe BrokerStorageType
$sel:securityGroups:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [Text]
$sel:publiclyAccessible:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Bool
$sel:pendingSecurityGroups:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [Text]
$sel:pendingLdapServerMetadata:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe LdapServerMetadataOutput
$sel:pendingHostInstanceType:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
$sel:pendingEngineVersion:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
$sel:pendingAuthenticationStrategy:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe AuthenticationStrategy
$sel:maintenanceWindowStartTime:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe WeeklyStartTime
$sel:logs:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe LogsSummary
$sel:ldapServerMetadata:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe LdapServerMetadataOutput
$sel:hostInstanceType:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
$sel:engineVersion:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
$sel:engineType:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe EngineType
$sel:encryptionOptions:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe EncryptionOptions
$sel:deploymentMode:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe DeploymentMode
$sel:created:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe ISO8601
$sel:configurations:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Configurations
$sel:brokerState:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe BrokerState
$sel:brokerName:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
$sel:brokerInstances:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [BrokerInstance]
$sel:brokerId:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
$sel:brokerArn:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Text
$sel:autoMinorVersionUpgrade:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe Bool
$sel:authenticationStrategy:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe AuthenticationStrategy
$sel:actionsRequired:DescribeBrokerResponse' :: DescribeBrokerResponse -> Maybe [ActionRequired]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [ActionRequired]
actionsRequired
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AuthenticationStrategy
authenticationStrategy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
autoMinorVersionUpgrade
      seq :: forall a b. a -> b -> b
`Prelude.seq` 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 [BrokerInstance]
brokerInstances
      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 Configurations
configurations
      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 DeploymentMode
deploymentMode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EncryptionOptions
encryptionOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EngineType
engineType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
engineVersion
      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 Maybe LdapServerMetadataOutput
ldapServerMetadata
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LogsSummary
logs
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe WeeklyStartTime
maintenanceWindowStartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe AuthenticationStrategy
pendingAuthenticationStrategy
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
pendingEngineVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
pendingHostInstanceType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe LdapServerMetadataOutput
pendingLdapServerMetadata
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [Text]
pendingSecurityGroups
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
publiclyAccessible
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [Text]
securityGroups
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe BrokerStorageType
storageType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [Text]
subnetIds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [UserSummary]
users
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Int
httpStatus