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

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

-- |
-- Module      : Amazonka.ElasticSearch.Types.ElasticsearchDomainStatus
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.ElasticSearch.Types.ElasticsearchDomainStatus where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ElasticSearch.Types.AdvancedSecurityOptions
import Amazonka.ElasticSearch.Types.AutoTuneOptionsOutput
import Amazonka.ElasticSearch.Types.ChangeProgressDetails
import Amazonka.ElasticSearch.Types.CognitoOptions
import Amazonka.ElasticSearch.Types.DomainEndpointOptions
import Amazonka.ElasticSearch.Types.EBSOptions
import Amazonka.ElasticSearch.Types.ElasticsearchClusterConfig
import Amazonka.ElasticSearch.Types.EncryptionAtRestOptions
import Amazonka.ElasticSearch.Types.LogPublishingOption
import Amazonka.ElasticSearch.Types.LogType
import Amazonka.ElasticSearch.Types.NodeToNodeEncryptionOptions
import Amazonka.ElasticSearch.Types.ServiceSoftwareOptions
import Amazonka.ElasticSearch.Types.SnapshotOptions
import Amazonka.ElasticSearch.Types.VPCDerivedInfo
import qualified Amazonka.Prelude as Prelude

-- | The current status of an Elasticsearch domain.
--
-- /See:/ 'newElasticsearchDomainStatus' smart constructor.
data ElasticsearchDomainStatus = ElasticsearchDomainStatus'
  { -- | IAM access policy as a JSON-formatted string.
    ElasticsearchDomainStatus -> Maybe Text
accessPolicies :: Prelude.Maybe Prelude.Text,
    -- | Specifies the status of the @AdvancedOptions@
    ElasticsearchDomainStatus -> Maybe (HashMap Text Text)
advancedOptions :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The current status of the Elasticsearch domain\'s advanced security
    -- options.
    ElasticsearchDomainStatus -> Maybe AdvancedSecurityOptions
advancedSecurityOptions :: Prelude.Maybe AdvancedSecurityOptions,
    -- | The current status of the Elasticsearch domain\'s Auto-Tune options.
    ElasticsearchDomainStatus -> Maybe AutoTuneOptionsOutput
autoTuneOptions :: Prelude.Maybe AutoTuneOptionsOutput,
    -- | Specifies change details of the domain configuration change.
    ElasticsearchDomainStatus -> Maybe ChangeProgressDetails
changeProgressDetails :: Prelude.Maybe ChangeProgressDetails,
    -- | The @CognitoOptions@ for the specified domain. For more information, see
    -- <http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html Amazon Cognito Authentication for Kibana>.
    ElasticsearchDomainStatus -> Maybe CognitoOptions
cognitoOptions :: Prelude.Maybe CognitoOptions,
    -- | The domain creation status. @True@ if the creation of an Elasticsearch
    -- domain is complete. @False@ if domain creation is still in progress.
    ElasticsearchDomainStatus -> Maybe Bool
created :: Prelude.Maybe Prelude.Bool,
    -- | The domain deletion status. @True@ if a delete request has been received
    -- for the domain but resource cleanup is still in progress. @False@ if the
    -- domain has not been deleted. Once domain deletion is complete, the
    -- status of the domain is no longer returned.
    ElasticsearchDomainStatus -> Maybe Bool
deleted :: Prelude.Maybe Prelude.Bool,
    -- | The current status of the Elasticsearch domain\'s endpoint options.
    ElasticsearchDomainStatus -> Maybe DomainEndpointOptions
domainEndpointOptions :: Prelude.Maybe DomainEndpointOptions,
    -- | The @EBSOptions@ for the specified domain. See
    -- <http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs Configuring EBS-based Storage>
    -- for more information.
    ElasticsearchDomainStatus -> Maybe EBSOptions
eBSOptions :: Prelude.Maybe EBSOptions,
    ElasticsearchDomainStatus -> Maybe Text
elasticsearchVersion :: Prelude.Maybe Prelude.Text,
    -- | Specifies the status of the @EncryptionAtRestOptions@.
    ElasticsearchDomainStatus -> Maybe EncryptionAtRestOptions
encryptionAtRestOptions :: Prelude.Maybe EncryptionAtRestOptions,
    -- | The Elasticsearch domain endpoint that you use to submit index and
    -- search requests.
    ElasticsearchDomainStatus -> Maybe Text
endpoint :: Prelude.Maybe Prelude.Text,
    -- | Map containing the Elasticsearch domain endpoints used to submit index
    -- and search requests. Example @key, value@:
    -- @\'vpc\',\'vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com\'@.
    ElasticsearchDomainStatus -> Maybe (HashMap Text Text)
endpoints :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | Log publishing options for the given domain.
    ElasticsearchDomainStatus
-> Maybe (HashMap LogType LogPublishingOption)
logPublishingOptions :: Prelude.Maybe (Prelude.HashMap LogType LogPublishingOption),
    -- | Specifies the status of the @NodeToNodeEncryptionOptions@.
    ElasticsearchDomainStatus -> Maybe NodeToNodeEncryptionOptions
nodeToNodeEncryptionOptions :: Prelude.Maybe NodeToNodeEncryptionOptions,
    -- | The status of the Elasticsearch domain configuration. @True@ if Amazon
    -- Elasticsearch Service is processing configuration changes. @False@ if
    -- the configuration is active.
    ElasticsearchDomainStatus -> Maybe Bool
processing :: Prelude.Maybe Prelude.Bool,
    -- | The current status of the Elasticsearch domain\'s service software.
    ElasticsearchDomainStatus -> Maybe ServiceSoftwareOptions
serviceSoftwareOptions :: Prelude.Maybe ServiceSoftwareOptions,
    -- | Specifies the status of the @SnapshotOptions@
    ElasticsearchDomainStatus -> Maybe SnapshotOptions
snapshotOptions :: Prelude.Maybe SnapshotOptions,
    -- | The status of an Elasticsearch domain version upgrade. @True@ if Amazon
    -- Elasticsearch Service is undergoing a version upgrade. @False@ if the
    -- configuration is active.
    ElasticsearchDomainStatus -> Maybe Bool
upgradeProcessing :: Prelude.Maybe Prelude.Bool,
    -- | The @VPCOptions@ for the specified domain. For more information, see
    -- <http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html VPC Endpoints for Amazon Elasticsearch Service Domains>.
    ElasticsearchDomainStatus -> Maybe VPCDerivedInfo
vPCOptions :: Prelude.Maybe VPCDerivedInfo,
    -- | The unique identifier for the specified Elasticsearch domain.
    ElasticsearchDomainStatus -> Text
domainId :: Prelude.Text,
    -- | The name of an Elasticsearch domain. Domain names are unique across the
    -- domains owned by an account within an AWS region. Domain names start
    -- with a letter or number and can contain the following characters: a-z
    -- (lowercase), 0-9, and - (hyphen).
    ElasticsearchDomainStatus -> Text
domainName :: Prelude.Text,
    -- | The Amazon resource name (ARN) of an Elasticsearch domain. See
    -- <http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html Identifiers for IAM Entities>
    -- in /Using AWS Identity and Access Management/ for more information.
    ElasticsearchDomainStatus -> Text
arn :: Prelude.Text,
    -- | The type and number of instances in the domain cluster.
    ElasticsearchDomainStatus -> ElasticsearchClusterConfig
elasticsearchClusterConfig :: ElasticsearchClusterConfig
  }
  deriving (ElasticsearchDomainStatus -> ElasticsearchDomainStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ElasticsearchDomainStatus -> ElasticsearchDomainStatus -> Bool
$c/= :: ElasticsearchDomainStatus -> ElasticsearchDomainStatus -> Bool
== :: ElasticsearchDomainStatus -> ElasticsearchDomainStatus -> Bool
$c== :: ElasticsearchDomainStatus -> ElasticsearchDomainStatus -> Bool
Prelude.Eq, ReadPrec [ElasticsearchDomainStatus]
ReadPrec ElasticsearchDomainStatus
Int -> ReadS ElasticsearchDomainStatus
ReadS [ElasticsearchDomainStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ElasticsearchDomainStatus]
$creadListPrec :: ReadPrec [ElasticsearchDomainStatus]
readPrec :: ReadPrec ElasticsearchDomainStatus
$creadPrec :: ReadPrec ElasticsearchDomainStatus
readList :: ReadS [ElasticsearchDomainStatus]
$creadList :: ReadS [ElasticsearchDomainStatus]
readsPrec :: Int -> ReadS ElasticsearchDomainStatus
$creadsPrec :: Int -> ReadS ElasticsearchDomainStatus
Prelude.Read, Int -> ElasticsearchDomainStatus -> ShowS
[ElasticsearchDomainStatus] -> ShowS
ElasticsearchDomainStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ElasticsearchDomainStatus] -> ShowS
$cshowList :: [ElasticsearchDomainStatus] -> ShowS
show :: ElasticsearchDomainStatus -> String
$cshow :: ElasticsearchDomainStatus -> String
showsPrec :: Int -> ElasticsearchDomainStatus -> ShowS
$cshowsPrec :: Int -> ElasticsearchDomainStatus -> ShowS
Prelude.Show, forall x.
Rep ElasticsearchDomainStatus x -> ElasticsearchDomainStatus
forall x.
ElasticsearchDomainStatus -> Rep ElasticsearchDomainStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ElasticsearchDomainStatus x -> ElasticsearchDomainStatus
$cfrom :: forall x.
ElasticsearchDomainStatus -> Rep ElasticsearchDomainStatus x
Prelude.Generic)

-- |
-- Create a value of 'ElasticsearchDomainStatus' 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:
--
-- 'accessPolicies', 'elasticsearchDomainStatus_accessPolicies' - IAM access policy as a JSON-formatted string.
--
-- 'advancedOptions', 'elasticsearchDomainStatus_advancedOptions' - Specifies the status of the @AdvancedOptions@
--
-- 'advancedSecurityOptions', 'elasticsearchDomainStatus_advancedSecurityOptions' - The current status of the Elasticsearch domain\'s advanced security
-- options.
--
-- 'autoTuneOptions', 'elasticsearchDomainStatus_autoTuneOptions' - The current status of the Elasticsearch domain\'s Auto-Tune options.
--
-- 'changeProgressDetails', 'elasticsearchDomainStatus_changeProgressDetails' - Specifies change details of the domain configuration change.
--
-- 'cognitoOptions', 'elasticsearchDomainStatus_cognitoOptions' - The @CognitoOptions@ for the specified domain. For more information, see
-- <http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html Amazon Cognito Authentication for Kibana>.
--
-- 'created', 'elasticsearchDomainStatus_created' - The domain creation status. @True@ if the creation of an Elasticsearch
-- domain is complete. @False@ if domain creation is still in progress.
--
-- 'deleted', 'elasticsearchDomainStatus_deleted' - The domain deletion status. @True@ if a delete request has been received
-- for the domain but resource cleanup is still in progress. @False@ if the
-- domain has not been deleted. Once domain deletion is complete, the
-- status of the domain is no longer returned.
--
-- 'domainEndpointOptions', 'elasticsearchDomainStatus_domainEndpointOptions' - The current status of the Elasticsearch domain\'s endpoint options.
--
-- 'eBSOptions', 'elasticsearchDomainStatus_eBSOptions' - The @EBSOptions@ for the specified domain. See
-- <http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs Configuring EBS-based Storage>
-- for more information.
--
-- 'elasticsearchVersion', 'elasticsearchDomainStatus_elasticsearchVersion' - Undocumented member.
--
-- 'encryptionAtRestOptions', 'elasticsearchDomainStatus_encryptionAtRestOptions' - Specifies the status of the @EncryptionAtRestOptions@.
--
-- 'endpoint', 'elasticsearchDomainStatus_endpoint' - The Elasticsearch domain endpoint that you use to submit index and
-- search requests.
--
-- 'endpoints', 'elasticsearchDomainStatus_endpoints' - Map containing the Elasticsearch domain endpoints used to submit index
-- and search requests. Example @key, value@:
-- @\'vpc\',\'vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com\'@.
--
-- 'logPublishingOptions', 'elasticsearchDomainStatus_logPublishingOptions' - Log publishing options for the given domain.
--
-- 'nodeToNodeEncryptionOptions', 'elasticsearchDomainStatus_nodeToNodeEncryptionOptions' - Specifies the status of the @NodeToNodeEncryptionOptions@.
--
-- 'processing', 'elasticsearchDomainStatus_processing' - The status of the Elasticsearch domain configuration. @True@ if Amazon
-- Elasticsearch Service is processing configuration changes. @False@ if
-- the configuration is active.
--
-- 'serviceSoftwareOptions', 'elasticsearchDomainStatus_serviceSoftwareOptions' - The current status of the Elasticsearch domain\'s service software.
--
-- 'snapshotOptions', 'elasticsearchDomainStatus_snapshotOptions' - Specifies the status of the @SnapshotOptions@
--
-- 'upgradeProcessing', 'elasticsearchDomainStatus_upgradeProcessing' - The status of an Elasticsearch domain version upgrade. @True@ if Amazon
-- Elasticsearch Service is undergoing a version upgrade. @False@ if the
-- configuration is active.
--
-- 'vPCOptions', 'elasticsearchDomainStatus_vPCOptions' - The @VPCOptions@ for the specified domain. For more information, see
-- <http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html VPC Endpoints for Amazon Elasticsearch Service Domains>.
--
-- 'domainId', 'elasticsearchDomainStatus_domainId' - The unique identifier for the specified Elasticsearch domain.
--
-- 'domainName', 'elasticsearchDomainStatus_domainName' - The name of an Elasticsearch domain. Domain names are unique across the
-- domains owned by an account within an AWS region. Domain names start
-- with a letter or number and can contain the following characters: a-z
-- (lowercase), 0-9, and - (hyphen).
--
-- 'arn', 'elasticsearchDomainStatus_arn' - The Amazon resource name (ARN) of an Elasticsearch domain. See
-- <http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html Identifiers for IAM Entities>
-- in /Using AWS Identity and Access Management/ for more information.
--
-- 'elasticsearchClusterConfig', 'elasticsearchDomainStatus_elasticsearchClusterConfig' - The type and number of instances in the domain cluster.
newElasticsearchDomainStatus ::
  -- | 'domainId'
  Prelude.Text ->
  -- | 'domainName'
  Prelude.Text ->
  -- | 'arn'
  Prelude.Text ->
  -- | 'elasticsearchClusterConfig'
  ElasticsearchClusterConfig ->
  ElasticsearchDomainStatus
newElasticsearchDomainStatus :: Text
-> Text
-> Text
-> ElasticsearchClusterConfig
-> ElasticsearchDomainStatus
newElasticsearchDomainStatus
  Text
pDomainId_
  Text
pDomainName_
  Text
pARN_
  ElasticsearchClusterConfig
pElasticsearchClusterConfig_ =
    ElasticsearchDomainStatus'
      { $sel:accessPolicies:ElasticsearchDomainStatus' :: Maybe Text
accessPolicies =
          forall a. Maybe a
Prelude.Nothing,
        $sel:advancedOptions:ElasticsearchDomainStatus' :: Maybe (HashMap Text Text)
advancedOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:advancedSecurityOptions:ElasticsearchDomainStatus' :: Maybe AdvancedSecurityOptions
advancedSecurityOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:autoTuneOptions:ElasticsearchDomainStatus' :: Maybe AutoTuneOptionsOutput
autoTuneOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:changeProgressDetails:ElasticsearchDomainStatus' :: Maybe ChangeProgressDetails
changeProgressDetails = forall a. Maybe a
Prelude.Nothing,
        $sel:cognitoOptions:ElasticsearchDomainStatus' :: Maybe CognitoOptions
cognitoOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:created:ElasticsearchDomainStatus' :: Maybe Bool
created = forall a. Maybe a
Prelude.Nothing,
        $sel:deleted:ElasticsearchDomainStatus' :: Maybe Bool
deleted = forall a. Maybe a
Prelude.Nothing,
        $sel:domainEndpointOptions:ElasticsearchDomainStatus' :: Maybe DomainEndpointOptions
domainEndpointOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:eBSOptions:ElasticsearchDomainStatus' :: Maybe EBSOptions
eBSOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:elasticsearchVersion:ElasticsearchDomainStatus' :: Maybe Text
elasticsearchVersion = forall a. Maybe a
Prelude.Nothing,
        $sel:encryptionAtRestOptions:ElasticsearchDomainStatus' :: Maybe EncryptionAtRestOptions
encryptionAtRestOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:endpoint:ElasticsearchDomainStatus' :: Maybe Text
endpoint = forall a. Maybe a
Prelude.Nothing,
        $sel:endpoints:ElasticsearchDomainStatus' :: Maybe (HashMap Text Text)
endpoints = forall a. Maybe a
Prelude.Nothing,
        $sel:logPublishingOptions:ElasticsearchDomainStatus' :: Maybe (HashMap LogType LogPublishingOption)
logPublishingOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:nodeToNodeEncryptionOptions:ElasticsearchDomainStatus' :: Maybe NodeToNodeEncryptionOptions
nodeToNodeEncryptionOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:processing:ElasticsearchDomainStatus' :: Maybe Bool
processing = forall a. Maybe a
Prelude.Nothing,
        $sel:serviceSoftwareOptions:ElasticsearchDomainStatus' :: Maybe ServiceSoftwareOptions
serviceSoftwareOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:snapshotOptions:ElasticsearchDomainStatus' :: Maybe SnapshotOptions
snapshotOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:upgradeProcessing:ElasticsearchDomainStatus' :: Maybe Bool
upgradeProcessing = forall a. Maybe a
Prelude.Nothing,
        $sel:vPCOptions:ElasticsearchDomainStatus' :: Maybe VPCDerivedInfo
vPCOptions = forall a. Maybe a
Prelude.Nothing,
        $sel:domainId:ElasticsearchDomainStatus' :: Text
domainId = Text
pDomainId_,
        $sel:domainName:ElasticsearchDomainStatus' :: Text
domainName = Text
pDomainName_,
        $sel:arn:ElasticsearchDomainStatus' :: Text
arn = Text
pARN_,
        $sel:elasticsearchClusterConfig:ElasticsearchDomainStatus' :: ElasticsearchClusterConfig
elasticsearchClusterConfig =
          ElasticsearchClusterConfig
pElasticsearchClusterConfig_
      }

-- | IAM access policy as a JSON-formatted string.
elasticsearchDomainStatus_accessPolicies :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe Prelude.Text)
elasticsearchDomainStatus_accessPolicies :: Lens' ElasticsearchDomainStatus (Maybe Text)
elasticsearchDomainStatus_accessPolicies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe Text
accessPolicies :: Maybe Text
$sel:accessPolicies:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Text
accessPolicies} -> Maybe Text
accessPolicies) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe Text
a -> ElasticsearchDomainStatus
s {$sel:accessPolicies:ElasticsearchDomainStatus' :: Maybe Text
accessPolicies = Maybe Text
a} :: ElasticsearchDomainStatus)

-- | Specifies the status of the @AdvancedOptions@
elasticsearchDomainStatus_advancedOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
elasticsearchDomainStatus_advancedOptions :: Lens' ElasticsearchDomainStatus (Maybe (HashMap Text Text))
elasticsearchDomainStatus_advancedOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe (HashMap Text Text)
advancedOptions :: Maybe (HashMap Text Text)
$sel:advancedOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe (HashMap Text Text)
advancedOptions} -> Maybe (HashMap Text Text)
advancedOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe (HashMap Text Text)
a -> ElasticsearchDomainStatus
s {$sel:advancedOptions:ElasticsearchDomainStatus' :: Maybe (HashMap Text Text)
advancedOptions = Maybe (HashMap Text Text)
a} :: ElasticsearchDomainStatus) 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 current status of the Elasticsearch domain\'s advanced security
-- options.
elasticsearchDomainStatus_advancedSecurityOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe AdvancedSecurityOptions)
elasticsearchDomainStatus_advancedSecurityOptions :: Lens' ElasticsearchDomainStatus (Maybe AdvancedSecurityOptions)
elasticsearchDomainStatus_advancedSecurityOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe AdvancedSecurityOptions
advancedSecurityOptions :: Maybe AdvancedSecurityOptions
$sel:advancedSecurityOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe AdvancedSecurityOptions
advancedSecurityOptions} -> Maybe AdvancedSecurityOptions
advancedSecurityOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe AdvancedSecurityOptions
a -> ElasticsearchDomainStatus
s {$sel:advancedSecurityOptions:ElasticsearchDomainStatus' :: Maybe AdvancedSecurityOptions
advancedSecurityOptions = Maybe AdvancedSecurityOptions
a} :: ElasticsearchDomainStatus)

-- | The current status of the Elasticsearch domain\'s Auto-Tune options.
elasticsearchDomainStatus_autoTuneOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe AutoTuneOptionsOutput)
elasticsearchDomainStatus_autoTuneOptions :: Lens' ElasticsearchDomainStatus (Maybe AutoTuneOptionsOutput)
elasticsearchDomainStatus_autoTuneOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe AutoTuneOptionsOutput
autoTuneOptions :: Maybe AutoTuneOptionsOutput
$sel:autoTuneOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe AutoTuneOptionsOutput
autoTuneOptions} -> Maybe AutoTuneOptionsOutput
autoTuneOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe AutoTuneOptionsOutput
a -> ElasticsearchDomainStatus
s {$sel:autoTuneOptions:ElasticsearchDomainStatus' :: Maybe AutoTuneOptionsOutput
autoTuneOptions = Maybe AutoTuneOptionsOutput
a} :: ElasticsearchDomainStatus)

-- | Specifies change details of the domain configuration change.
elasticsearchDomainStatus_changeProgressDetails :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe ChangeProgressDetails)
elasticsearchDomainStatus_changeProgressDetails :: Lens' ElasticsearchDomainStatus (Maybe ChangeProgressDetails)
elasticsearchDomainStatus_changeProgressDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe ChangeProgressDetails
changeProgressDetails :: Maybe ChangeProgressDetails
$sel:changeProgressDetails:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe ChangeProgressDetails
changeProgressDetails} -> Maybe ChangeProgressDetails
changeProgressDetails) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe ChangeProgressDetails
a -> ElasticsearchDomainStatus
s {$sel:changeProgressDetails:ElasticsearchDomainStatus' :: Maybe ChangeProgressDetails
changeProgressDetails = Maybe ChangeProgressDetails
a} :: ElasticsearchDomainStatus)

-- | The @CognitoOptions@ for the specified domain. For more information, see
-- <http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html Amazon Cognito Authentication for Kibana>.
elasticsearchDomainStatus_cognitoOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe CognitoOptions)
elasticsearchDomainStatus_cognitoOptions :: Lens' ElasticsearchDomainStatus (Maybe CognitoOptions)
elasticsearchDomainStatus_cognitoOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe CognitoOptions
cognitoOptions :: Maybe CognitoOptions
$sel:cognitoOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe CognitoOptions
cognitoOptions} -> Maybe CognitoOptions
cognitoOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe CognitoOptions
a -> ElasticsearchDomainStatus
s {$sel:cognitoOptions:ElasticsearchDomainStatus' :: Maybe CognitoOptions
cognitoOptions = Maybe CognitoOptions
a} :: ElasticsearchDomainStatus)

-- | The domain creation status. @True@ if the creation of an Elasticsearch
-- domain is complete. @False@ if domain creation is still in progress.
elasticsearchDomainStatus_created :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe Prelude.Bool)
elasticsearchDomainStatus_created :: Lens' ElasticsearchDomainStatus (Maybe Bool)
elasticsearchDomainStatus_created = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe Bool
created :: Maybe Bool
$sel:created:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
created} -> Maybe Bool
created) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe Bool
a -> ElasticsearchDomainStatus
s {$sel:created:ElasticsearchDomainStatus' :: Maybe Bool
created = Maybe Bool
a} :: ElasticsearchDomainStatus)

-- | The domain deletion status. @True@ if a delete request has been received
-- for the domain but resource cleanup is still in progress. @False@ if the
-- domain has not been deleted. Once domain deletion is complete, the
-- status of the domain is no longer returned.
elasticsearchDomainStatus_deleted :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe Prelude.Bool)
elasticsearchDomainStatus_deleted :: Lens' ElasticsearchDomainStatus (Maybe Bool)
elasticsearchDomainStatus_deleted = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe Bool
deleted :: Maybe Bool
$sel:deleted:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
deleted} -> Maybe Bool
deleted) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe Bool
a -> ElasticsearchDomainStatus
s {$sel:deleted:ElasticsearchDomainStatus' :: Maybe Bool
deleted = Maybe Bool
a} :: ElasticsearchDomainStatus)

-- | The current status of the Elasticsearch domain\'s endpoint options.
elasticsearchDomainStatus_domainEndpointOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe DomainEndpointOptions)
elasticsearchDomainStatus_domainEndpointOptions :: Lens' ElasticsearchDomainStatus (Maybe DomainEndpointOptions)
elasticsearchDomainStatus_domainEndpointOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe DomainEndpointOptions
domainEndpointOptions :: Maybe DomainEndpointOptions
$sel:domainEndpointOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe DomainEndpointOptions
domainEndpointOptions} -> Maybe DomainEndpointOptions
domainEndpointOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe DomainEndpointOptions
a -> ElasticsearchDomainStatus
s {$sel:domainEndpointOptions:ElasticsearchDomainStatus' :: Maybe DomainEndpointOptions
domainEndpointOptions = Maybe DomainEndpointOptions
a} :: ElasticsearchDomainStatus)

-- | The @EBSOptions@ for the specified domain. See
-- <http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomain-configure-ebs Configuring EBS-based Storage>
-- for more information.
elasticsearchDomainStatus_eBSOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe EBSOptions)
elasticsearchDomainStatus_eBSOptions :: Lens' ElasticsearchDomainStatus (Maybe EBSOptions)
elasticsearchDomainStatus_eBSOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe EBSOptions
eBSOptions :: Maybe EBSOptions
$sel:eBSOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe EBSOptions
eBSOptions} -> Maybe EBSOptions
eBSOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe EBSOptions
a -> ElasticsearchDomainStatus
s {$sel:eBSOptions:ElasticsearchDomainStatus' :: Maybe EBSOptions
eBSOptions = Maybe EBSOptions
a} :: ElasticsearchDomainStatus)

-- | Undocumented member.
elasticsearchDomainStatus_elasticsearchVersion :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe Prelude.Text)
elasticsearchDomainStatus_elasticsearchVersion :: Lens' ElasticsearchDomainStatus (Maybe Text)
elasticsearchDomainStatus_elasticsearchVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe Text
elasticsearchVersion :: Maybe Text
$sel:elasticsearchVersion:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Text
elasticsearchVersion} -> Maybe Text
elasticsearchVersion) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe Text
a -> ElasticsearchDomainStatus
s {$sel:elasticsearchVersion:ElasticsearchDomainStatus' :: Maybe Text
elasticsearchVersion = Maybe Text
a} :: ElasticsearchDomainStatus)

-- | Specifies the status of the @EncryptionAtRestOptions@.
elasticsearchDomainStatus_encryptionAtRestOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe EncryptionAtRestOptions)
elasticsearchDomainStatus_encryptionAtRestOptions :: Lens' ElasticsearchDomainStatus (Maybe EncryptionAtRestOptions)
elasticsearchDomainStatus_encryptionAtRestOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe EncryptionAtRestOptions
encryptionAtRestOptions :: Maybe EncryptionAtRestOptions
$sel:encryptionAtRestOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe EncryptionAtRestOptions
encryptionAtRestOptions} -> Maybe EncryptionAtRestOptions
encryptionAtRestOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe EncryptionAtRestOptions
a -> ElasticsearchDomainStatus
s {$sel:encryptionAtRestOptions:ElasticsearchDomainStatus' :: Maybe EncryptionAtRestOptions
encryptionAtRestOptions = Maybe EncryptionAtRestOptions
a} :: ElasticsearchDomainStatus)

-- | The Elasticsearch domain endpoint that you use to submit index and
-- search requests.
elasticsearchDomainStatus_endpoint :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe Prelude.Text)
elasticsearchDomainStatus_endpoint :: Lens' ElasticsearchDomainStatus (Maybe Text)
elasticsearchDomainStatus_endpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe Text
endpoint :: Maybe Text
$sel:endpoint:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Text
endpoint} -> Maybe Text
endpoint) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe Text
a -> ElasticsearchDomainStatus
s {$sel:endpoint:ElasticsearchDomainStatus' :: Maybe Text
endpoint = Maybe Text
a} :: ElasticsearchDomainStatus)

-- | Map containing the Elasticsearch domain endpoints used to submit index
-- and search requests. Example @key, value@:
-- @\'vpc\',\'vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com\'@.
elasticsearchDomainStatus_endpoints :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
elasticsearchDomainStatus_endpoints :: Lens' ElasticsearchDomainStatus (Maybe (HashMap Text Text))
elasticsearchDomainStatus_endpoints = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe (HashMap Text Text)
endpoints :: Maybe (HashMap Text Text)
$sel:endpoints:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe (HashMap Text Text)
endpoints} -> Maybe (HashMap Text Text)
endpoints) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe (HashMap Text Text)
a -> ElasticsearchDomainStatus
s {$sel:endpoints:ElasticsearchDomainStatus' :: Maybe (HashMap Text Text)
endpoints = Maybe (HashMap Text Text)
a} :: ElasticsearchDomainStatus) 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

-- | Log publishing options for the given domain.
elasticsearchDomainStatus_logPublishingOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe (Prelude.HashMap LogType LogPublishingOption))
elasticsearchDomainStatus_logPublishingOptions :: Lens'
  ElasticsearchDomainStatus
  (Maybe (HashMap LogType LogPublishingOption))
elasticsearchDomainStatus_logPublishingOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe (HashMap LogType LogPublishingOption)
logPublishingOptions :: Maybe (HashMap LogType LogPublishingOption)
$sel:logPublishingOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus
-> Maybe (HashMap LogType LogPublishingOption)
logPublishingOptions} -> Maybe (HashMap LogType LogPublishingOption)
logPublishingOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe (HashMap LogType LogPublishingOption)
a -> ElasticsearchDomainStatus
s {$sel:logPublishingOptions:ElasticsearchDomainStatus' :: Maybe (HashMap LogType LogPublishingOption)
logPublishingOptions = Maybe (HashMap LogType LogPublishingOption)
a} :: ElasticsearchDomainStatus) 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

-- | Specifies the status of the @NodeToNodeEncryptionOptions@.
elasticsearchDomainStatus_nodeToNodeEncryptionOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe NodeToNodeEncryptionOptions)
elasticsearchDomainStatus_nodeToNodeEncryptionOptions :: Lens' ElasticsearchDomainStatus (Maybe NodeToNodeEncryptionOptions)
elasticsearchDomainStatus_nodeToNodeEncryptionOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe NodeToNodeEncryptionOptions
nodeToNodeEncryptionOptions :: Maybe NodeToNodeEncryptionOptions
$sel:nodeToNodeEncryptionOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe NodeToNodeEncryptionOptions
nodeToNodeEncryptionOptions} -> Maybe NodeToNodeEncryptionOptions
nodeToNodeEncryptionOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe NodeToNodeEncryptionOptions
a -> ElasticsearchDomainStatus
s {$sel:nodeToNodeEncryptionOptions:ElasticsearchDomainStatus' :: Maybe NodeToNodeEncryptionOptions
nodeToNodeEncryptionOptions = Maybe NodeToNodeEncryptionOptions
a} :: ElasticsearchDomainStatus)

-- | The status of the Elasticsearch domain configuration. @True@ if Amazon
-- Elasticsearch Service is processing configuration changes. @False@ if
-- the configuration is active.
elasticsearchDomainStatus_processing :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe Prelude.Bool)
elasticsearchDomainStatus_processing :: Lens' ElasticsearchDomainStatus (Maybe Bool)
elasticsearchDomainStatus_processing = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe Bool
processing :: Maybe Bool
$sel:processing:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
processing} -> Maybe Bool
processing) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe Bool
a -> ElasticsearchDomainStatus
s {$sel:processing:ElasticsearchDomainStatus' :: Maybe Bool
processing = Maybe Bool
a} :: ElasticsearchDomainStatus)

-- | The current status of the Elasticsearch domain\'s service software.
elasticsearchDomainStatus_serviceSoftwareOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe ServiceSoftwareOptions)
elasticsearchDomainStatus_serviceSoftwareOptions :: Lens' ElasticsearchDomainStatus (Maybe ServiceSoftwareOptions)
elasticsearchDomainStatus_serviceSoftwareOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe ServiceSoftwareOptions
serviceSoftwareOptions :: Maybe ServiceSoftwareOptions
$sel:serviceSoftwareOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe ServiceSoftwareOptions
serviceSoftwareOptions} -> Maybe ServiceSoftwareOptions
serviceSoftwareOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe ServiceSoftwareOptions
a -> ElasticsearchDomainStatus
s {$sel:serviceSoftwareOptions:ElasticsearchDomainStatus' :: Maybe ServiceSoftwareOptions
serviceSoftwareOptions = Maybe ServiceSoftwareOptions
a} :: ElasticsearchDomainStatus)

-- | Specifies the status of the @SnapshotOptions@
elasticsearchDomainStatus_snapshotOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe SnapshotOptions)
elasticsearchDomainStatus_snapshotOptions :: Lens' ElasticsearchDomainStatus (Maybe SnapshotOptions)
elasticsearchDomainStatus_snapshotOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe SnapshotOptions
snapshotOptions :: Maybe SnapshotOptions
$sel:snapshotOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe SnapshotOptions
snapshotOptions} -> Maybe SnapshotOptions
snapshotOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe SnapshotOptions
a -> ElasticsearchDomainStatus
s {$sel:snapshotOptions:ElasticsearchDomainStatus' :: Maybe SnapshotOptions
snapshotOptions = Maybe SnapshotOptions
a} :: ElasticsearchDomainStatus)

-- | The status of an Elasticsearch domain version upgrade. @True@ if Amazon
-- Elasticsearch Service is undergoing a version upgrade. @False@ if the
-- configuration is active.
elasticsearchDomainStatus_upgradeProcessing :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe Prelude.Bool)
elasticsearchDomainStatus_upgradeProcessing :: Lens' ElasticsearchDomainStatus (Maybe Bool)
elasticsearchDomainStatus_upgradeProcessing = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe Bool
upgradeProcessing :: Maybe Bool
$sel:upgradeProcessing:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
upgradeProcessing} -> Maybe Bool
upgradeProcessing) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe Bool
a -> ElasticsearchDomainStatus
s {$sel:upgradeProcessing:ElasticsearchDomainStatus' :: Maybe Bool
upgradeProcessing = Maybe Bool
a} :: ElasticsearchDomainStatus)

-- | The @VPCOptions@ for the specified domain. For more information, see
-- <http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html VPC Endpoints for Amazon Elasticsearch Service Domains>.
elasticsearchDomainStatus_vPCOptions :: Lens.Lens' ElasticsearchDomainStatus (Prelude.Maybe VPCDerivedInfo)
elasticsearchDomainStatus_vPCOptions :: Lens' ElasticsearchDomainStatus (Maybe VPCDerivedInfo)
elasticsearchDomainStatus_vPCOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Maybe VPCDerivedInfo
vPCOptions :: Maybe VPCDerivedInfo
$sel:vPCOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe VPCDerivedInfo
vPCOptions} -> Maybe VPCDerivedInfo
vPCOptions) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Maybe VPCDerivedInfo
a -> ElasticsearchDomainStatus
s {$sel:vPCOptions:ElasticsearchDomainStatus' :: Maybe VPCDerivedInfo
vPCOptions = Maybe VPCDerivedInfo
a} :: ElasticsearchDomainStatus)

-- | The unique identifier for the specified Elasticsearch domain.
elasticsearchDomainStatus_domainId :: Lens.Lens' ElasticsearchDomainStatus Prelude.Text
elasticsearchDomainStatus_domainId :: Lens' ElasticsearchDomainStatus Text
elasticsearchDomainStatus_domainId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Text
domainId :: Text
$sel:domainId:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Text
domainId} -> Text
domainId) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Text
a -> ElasticsearchDomainStatus
s {$sel:domainId:ElasticsearchDomainStatus' :: Text
domainId = Text
a} :: ElasticsearchDomainStatus)

-- | The name of an Elasticsearch domain. Domain names are unique across the
-- domains owned by an account within an AWS region. Domain names start
-- with a letter or number and can contain the following characters: a-z
-- (lowercase), 0-9, and - (hyphen).
elasticsearchDomainStatus_domainName :: Lens.Lens' ElasticsearchDomainStatus Prelude.Text
elasticsearchDomainStatus_domainName :: Lens' ElasticsearchDomainStatus Text
elasticsearchDomainStatus_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Text
domainName :: Text
$sel:domainName:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Text
domainName} -> Text
domainName) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Text
a -> ElasticsearchDomainStatus
s {$sel:domainName:ElasticsearchDomainStatus' :: Text
domainName = Text
a} :: ElasticsearchDomainStatus)

-- | The Amazon resource name (ARN) of an Elasticsearch domain. See
-- <http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html Identifiers for IAM Entities>
-- in /Using AWS Identity and Access Management/ for more information.
elasticsearchDomainStatus_arn :: Lens.Lens' ElasticsearchDomainStatus Prelude.Text
elasticsearchDomainStatus_arn :: Lens' ElasticsearchDomainStatus Text
elasticsearchDomainStatus_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {Text
arn :: Text
$sel:arn:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Text
arn} -> Text
arn) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} Text
a -> ElasticsearchDomainStatus
s {$sel:arn:ElasticsearchDomainStatus' :: Text
arn = Text
a} :: ElasticsearchDomainStatus)

-- | The type and number of instances in the domain cluster.
elasticsearchDomainStatus_elasticsearchClusterConfig :: Lens.Lens' ElasticsearchDomainStatus ElasticsearchClusterConfig
elasticsearchDomainStatus_elasticsearchClusterConfig :: Lens' ElasticsearchDomainStatus ElasticsearchClusterConfig
elasticsearchDomainStatus_elasticsearchClusterConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ElasticsearchDomainStatus' {ElasticsearchClusterConfig
elasticsearchClusterConfig :: ElasticsearchClusterConfig
$sel:elasticsearchClusterConfig:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> ElasticsearchClusterConfig
elasticsearchClusterConfig} -> ElasticsearchClusterConfig
elasticsearchClusterConfig) (\s :: ElasticsearchDomainStatus
s@ElasticsearchDomainStatus' {} ElasticsearchClusterConfig
a -> ElasticsearchDomainStatus
s {$sel:elasticsearchClusterConfig:ElasticsearchDomainStatus' :: ElasticsearchClusterConfig
elasticsearchClusterConfig = ElasticsearchClusterConfig
a} :: ElasticsearchDomainStatus)

instance Data.FromJSON ElasticsearchDomainStatus where
  parseJSON :: Value -> Parser ElasticsearchDomainStatus
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ElasticsearchDomainStatus"
      ( \Object
x ->
          Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe AdvancedSecurityOptions
-> Maybe AutoTuneOptionsOutput
-> Maybe ChangeProgressDetails
-> Maybe CognitoOptions
-> Maybe Bool
-> Maybe Bool
-> Maybe DomainEndpointOptions
-> Maybe EBSOptions
-> Maybe Text
-> Maybe EncryptionAtRestOptions
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe (HashMap LogType LogPublishingOption)
-> Maybe NodeToNodeEncryptionOptions
-> Maybe Bool
-> Maybe ServiceSoftwareOptions
-> Maybe SnapshotOptions
-> Maybe Bool
-> Maybe VPCDerivedInfo
-> Text
-> Text
-> Text
-> ElasticsearchClusterConfig
-> ElasticsearchDomainStatus
ElasticsearchDomainStatus'
            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
"AccessPolicies")
            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
"AdvancedOptions"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= 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 -> Parser (Maybe a)
Data..:? Key
"AdvancedSecurityOptions")
            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
"AutoTuneOptions")
            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
"ChangeProgressDetails")
            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
"CognitoOptions")
            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
"Deleted")
            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
"DomainEndpointOptions")
            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
"EBSOptions")
            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
"ElasticsearchVersion")
            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
"EncryptionAtRestOptions")
            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
"Endpoint")
            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
"Endpoints" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= 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 -> Parser (Maybe a)
Data..:? Key
"LogPublishingOptions"
                            forall a. Parser (Maybe a) -> a -> Parser a
Data..!= 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 -> Parser (Maybe a)
Data..:? Key
"NodeToNodeEncryptionOptions")
            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
"Processing")
            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
"ServiceSoftwareOptions")
            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
"SnapshotOptions")
            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
"UpgradeProcessing")
            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
"VPCOptions")
            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
"DomainId")
            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
"DomainName")
            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
"ARN")
            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
"ElasticsearchClusterConfig")
      )

instance Prelude.Hashable ElasticsearchDomainStatus where
  hashWithSalt :: Int -> ElasticsearchDomainStatus -> Int
hashWithSalt Int
_salt ElasticsearchDomainStatus' {Maybe Bool
Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap LogType LogPublishingOption)
Maybe AutoTuneOptionsOutput
Maybe ChangeProgressDetails
Maybe CognitoOptions
Maybe EncryptionAtRestOptions
Maybe NodeToNodeEncryptionOptions
Maybe AdvancedSecurityOptions
Maybe ServiceSoftwareOptions
Maybe SnapshotOptions
Maybe DomainEndpointOptions
Maybe VPCDerivedInfo
Maybe EBSOptions
Text
ElasticsearchClusterConfig
elasticsearchClusterConfig :: ElasticsearchClusterConfig
arn :: Text
domainName :: Text
domainId :: Text
vPCOptions :: Maybe VPCDerivedInfo
upgradeProcessing :: Maybe Bool
snapshotOptions :: Maybe SnapshotOptions
serviceSoftwareOptions :: Maybe ServiceSoftwareOptions
processing :: Maybe Bool
nodeToNodeEncryptionOptions :: Maybe NodeToNodeEncryptionOptions
logPublishingOptions :: Maybe (HashMap LogType LogPublishingOption)
endpoints :: Maybe (HashMap Text Text)
endpoint :: Maybe Text
encryptionAtRestOptions :: Maybe EncryptionAtRestOptions
elasticsearchVersion :: Maybe Text
eBSOptions :: Maybe EBSOptions
domainEndpointOptions :: Maybe DomainEndpointOptions
deleted :: Maybe Bool
created :: Maybe Bool
cognitoOptions :: Maybe CognitoOptions
changeProgressDetails :: Maybe ChangeProgressDetails
autoTuneOptions :: Maybe AutoTuneOptionsOutput
advancedSecurityOptions :: Maybe AdvancedSecurityOptions
advancedOptions :: Maybe (HashMap Text Text)
accessPolicies :: Maybe Text
$sel:elasticsearchClusterConfig:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> ElasticsearchClusterConfig
$sel:arn:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Text
$sel:domainName:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Text
$sel:domainId:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Text
$sel:vPCOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe VPCDerivedInfo
$sel:upgradeProcessing:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
$sel:snapshotOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe SnapshotOptions
$sel:serviceSoftwareOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe ServiceSoftwareOptions
$sel:processing:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
$sel:nodeToNodeEncryptionOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe NodeToNodeEncryptionOptions
$sel:logPublishingOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus
-> Maybe (HashMap LogType LogPublishingOption)
$sel:endpoints:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe (HashMap Text Text)
$sel:endpoint:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Text
$sel:encryptionAtRestOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe EncryptionAtRestOptions
$sel:elasticsearchVersion:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Text
$sel:eBSOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe EBSOptions
$sel:domainEndpointOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe DomainEndpointOptions
$sel:deleted:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
$sel:created:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
$sel:cognitoOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe CognitoOptions
$sel:changeProgressDetails:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe ChangeProgressDetails
$sel:autoTuneOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe AutoTuneOptionsOutput
$sel:advancedSecurityOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe AdvancedSecurityOptions
$sel:advancedOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe (HashMap Text Text)
$sel:accessPolicies:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
accessPolicies
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
advancedOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AdvancedSecurityOptions
advancedSecurityOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AutoTuneOptionsOutput
autoTuneOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ChangeProgressDetails
changeProgressDetails
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CognitoOptions
cognitoOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
created
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
deleted
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DomainEndpointOptions
domainEndpointOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EBSOptions
eBSOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
elasticsearchVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EncryptionAtRestOptions
encryptionAtRestOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
endpoint
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
endpoints
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap LogType LogPublishingOption)
logPublishingOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe NodeToNodeEncryptionOptions
nodeToNodeEncryptionOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
processing
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ServiceSoftwareOptions
serviceSoftwareOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SnapshotOptions
snapshotOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
upgradeProcessing
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VPCDerivedInfo
vPCOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
arn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ElasticsearchClusterConfig
elasticsearchClusterConfig

instance Prelude.NFData ElasticsearchDomainStatus where
  rnf :: ElasticsearchDomainStatus -> ()
rnf ElasticsearchDomainStatus' {Maybe Bool
Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap LogType LogPublishingOption)
Maybe AutoTuneOptionsOutput
Maybe ChangeProgressDetails
Maybe CognitoOptions
Maybe EncryptionAtRestOptions
Maybe NodeToNodeEncryptionOptions
Maybe AdvancedSecurityOptions
Maybe ServiceSoftwareOptions
Maybe SnapshotOptions
Maybe DomainEndpointOptions
Maybe VPCDerivedInfo
Maybe EBSOptions
Text
ElasticsearchClusterConfig
elasticsearchClusterConfig :: ElasticsearchClusterConfig
arn :: Text
domainName :: Text
domainId :: Text
vPCOptions :: Maybe VPCDerivedInfo
upgradeProcessing :: Maybe Bool
snapshotOptions :: Maybe SnapshotOptions
serviceSoftwareOptions :: Maybe ServiceSoftwareOptions
processing :: Maybe Bool
nodeToNodeEncryptionOptions :: Maybe NodeToNodeEncryptionOptions
logPublishingOptions :: Maybe (HashMap LogType LogPublishingOption)
endpoints :: Maybe (HashMap Text Text)
endpoint :: Maybe Text
encryptionAtRestOptions :: Maybe EncryptionAtRestOptions
elasticsearchVersion :: Maybe Text
eBSOptions :: Maybe EBSOptions
domainEndpointOptions :: Maybe DomainEndpointOptions
deleted :: Maybe Bool
created :: Maybe Bool
cognitoOptions :: Maybe CognitoOptions
changeProgressDetails :: Maybe ChangeProgressDetails
autoTuneOptions :: Maybe AutoTuneOptionsOutput
advancedSecurityOptions :: Maybe AdvancedSecurityOptions
advancedOptions :: Maybe (HashMap Text Text)
accessPolicies :: Maybe Text
$sel:elasticsearchClusterConfig:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> ElasticsearchClusterConfig
$sel:arn:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Text
$sel:domainName:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Text
$sel:domainId:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Text
$sel:vPCOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe VPCDerivedInfo
$sel:upgradeProcessing:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
$sel:snapshotOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe SnapshotOptions
$sel:serviceSoftwareOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe ServiceSoftwareOptions
$sel:processing:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
$sel:nodeToNodeEncryptionOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe NodeToNodeEncryptionOptions
$sel:logPublishingOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus
-> Maybe (HashMap LogType LogPublishingOption)
$sel:endpoints:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe (HashMap Text Text)
$sel:endpoint:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Text
$sel:encryptionAtRestOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe EncryptionAtRestOptions
$sel:elasticsearchVersion:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Text
$sel:eBSOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe EBSOptions
$sel:domainEndpointOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe DomainEndpointOptions
$sel:deleted:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
$sel:created:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Bool
$sel:cognitoOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe CognitoOptions
$sel:changeProgressDetails:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe ChangeProgressDetails
$sel:autoTuneOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe AutoTuneOptionsOutput
$sel:advancedSecurityOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe AdvancedSecurityOptions
$sel:advancedOptions:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe (HashMap Text Text)
$sel:accessPolicies:ElasticsearchDomainStatus' :: ElasticsearchDomainStatus -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
accessPolicies
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
advancedOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AdvancedSecurityOptions
advancedSecurityOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AutoTuneOptionsOutput
autoTuneOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ChangeProgressDetails
changeProgressDetails
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CognitoOptions
cognitoOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
created
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
deleted
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DomainEndpointOptions
domainEndpointOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EBSOptions
eBSOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
elasticsearchVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EncryptionAtRestOptions
encryptionAtRestOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
endpoint
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
endpoints
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap LogType LogPublishingOption)
logPublishingOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe NodeToNodeEncryptionOptions
nodeToNodeEncryptionOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
processing
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ServiceSoftwareOptions
serviceSoftwareOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SnapshotOptions
snapshotOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
upgradeProcessing
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe VPCDerivedInfo
vPCOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
domainId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
domainName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        ElasticsearchClusterConfig
elasticsearchClusterConfig