{-# 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.RDS.Types.DBCluster
-- 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.RDS.Types.DBCluster where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.RDS.Types.ActivityStreamMode
import Amazonka.RDS.Types.ActivityStreamStatus
import Amazonka.RDS.Types.ClusterPendingModifiedValues
import Amazonka.RDS.Types.DBClusterMember
import Amazonka.RDS.Types.DBClusterOptionGroupStatus
import Amazonka.RDS.Types.DBClusterRole
import Amazonka.RDS.Types.DomainMembership
import Amazonka.RDS.Types.MasterUserSecret
import Amazonka.RDS.Types.ScalingConfigurationInfo
import Amazonka.RDS.Types.ServerlessV2ScalingConfigurationInfo
import Amazonka.RDS.Types.Tag
import Amazonka.RDS.Types.VpcSecurityGroupMembership
import Amazonka.RDS.Types.WriteForwardingStatus

-- | Contains the details of an Amazon Aurora DB cluster or Multi-AZ DB
-- cluster.
--
-- For an Amazon Aurora DB cluster, this data type is used as a response
-- element in the operations @CreateDBCluster@, @DeleteDBCluster@,
-- @DescribeDBClusters@, @FailoverDBCluster@, @ModifyDBCluster@,
-- @PromoteReadReplicaDBCluster@, @RestoreDBClusterFromS3@,
-- @RestoreDBClusterFromSnapshot@, @RestoreDBClusterToPointInTime@,
-- @StartDBCluster@, and @StopDBCluster@.
--
-- For a Multi-AZ DB cluster, this data type is used as a response element
-- in the operations @CreateDBCluster@, @DeleteDBCluster@,
-- @DescribeDBClusters@, @FailoverDBCluster@, @ModifyDBCluster@,
-- @RebootDBCluster@, @RestoreDBClusterFromSnapshot@, and
-- @RestoreDBClusterToPointInTime@.
--
-- For more information on Amazon Aurora DB clusters, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html What is Amazon Aurora?>
-- in the /Amazon Aurora User Guide./
--
-- For more information on Multi-AZ DB clusters, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html Multi-AZ deployments with two readable standby DB instances>
-- in the /Amazon RDS User Guide./
--
-- /See:/ 'newDBCluster' smart constructor.
data DBCluster = DBCluster'
  { -- | The name of the Amazon Kinesis data stream used for the database
    -- activity stream.
    DBCluster -> Maybe Text
activityStreamKinesisStreamName :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Web Services KMS key identifier used for encrypting messages
    -- in the database activity stream.
    --
    -- The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
    -- ARN, or alias name for the KMS key.
    DBCluster -> Maybe Text
activityStreamKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | The mode of the database activity stream. Database events such as a
    -- change or access generate an activity stream event. The database session
    -- can handle these events either synchronously or asynchronously.
    DBCluster -> Maybe ActivityStreamMode
activityStreamMode :: Prelude.Maybe ActivityStreamMode,
    -- | The status of the database activity stream.
    DBCluster -> Maybe ActivityStreamStatus
activityStreamStatus :: Prelude.Maybe ActivityStreamStatus,
    -- | For all database engines except Amazon Aurora, @AllocatedStorage@
    -- specifies the allocated storage size in gibibytes (GiB). For Aurora,
    -- @AllocatedStorage@ always returns 1, because Aurora DB cluster storage
    -- size isn\'t fixed, but instead automatically adjusts as needed.
    DBCluster -> Maybe Int
allocatedStorage :: Prelude.Maybe Prelude.Int,
    -- | Provides a list of the Amazon Web Services Identity and Access
    -- Management (IAM) roles that are associated with the DB cluster. IAM
    -- roles that are associated with a DB cluster grant permission for the DB
    -- cluster to access other Amazon Web Services on your behalf.
    DBCluster -> Maybe [DBClusterRole]
associatedRoles :: Prelude.Maybe [DBClusterRole],
    -- | A value that indicates that minor version patches are applied
    -- automatically.
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Bool
autoMinorVersionUpgrade :: Prelude.Maybe Prelude.Bool,
    -- | The time when a stopped DB cluster is restarted automatically.
    DBCluster -> Maybe ISO8601
automaticRestartTime :: Prelude.Maybe Data.ISO8601,
    -- | Provides the list of Availability Zones (AZs) where instances in the DB
    -- cluster can be created.
    DBCluster -> Maybe [Text]
availabilityZones :: Prelude.Maybe [Prelude.Text],
    -- | The number of change records stored for Backtrack.
    DBCluster -> Maybe Integer
backtrackConsumedChangeRecords :: Prelude.Maybe Prelude.Integer,
    -- | The target backtrack window, in seconds. If this value is set to 0,
    -- backtracking is disabled for the DB cluster. Otherwise, backtracking is
    -- enabled.
    DBCluster -> Maybe Integer
backtrackWindow :: Prelude.Maybe Prelude.Integer,
    -- | Specifies the number of days for which automatic DB snapshots are
    -- retained.
    DBCluster -> Maybe Int
backupRetentionPeriod :: Prelude.Maybe Prelude.Int,
    -- | The current capacity of an Aurora Serverless v1 DB cluster. The capacity
    -- is 0 (zero) when the cluster is paused.
    --
    -- For more information about Aurora Serverless v1, see
    -- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html Using Amazon Aurora Serverless v1>
    -- in the /Amazon Aurora User Guide/.
    DBCluster -> Maybe Int
capacity :: Prelude.Maybe Prelude.Int,
    -- | If present, specifies the name of the character set that this cluster is
    -- associated with.
    DBCluster -> Maybe Text
characterSetName :: Prelude.Maybe Prelude.Text,
    -- | Identifies the clone group to which the DB cluster is associated.
    DBCluster -> Maybe Text
cloneGroupId :: Prelude.Maybe Prelude.Text,
    -- | Specifies the time when the DB cluster was created, in Universal
    -- Coordinated Time (UTC).
    DBCluster -> Maybe ISO8601
clusterCreateTime :: Prelude.Maybe Data.ISO8601,
    -- | Specifies whether tags are copied from the DB cluster to snapshots of
    -- the DB cluster.
    DBCluster -> Maybe Bool
copyTagsToSnapshot :: Prelude.Maybe Prelude.Bool,
    -- | Specifies whether the DB cluster is a clone of a DB cluster owned by a
    -- different Amazon Web Services account.
    DBCluster -> Maybe Bool
crossAccountClone :: Prelude.Maybe Prelude.Bool,
    -- | Identifies all custom endpoints associated with the cluster.
    DBCluster -> Maybe [Text]
customEndpoints :: Prelude.Maybe [Prelude.Text],
    -- | The Amazon Resource Name (ARN) for the DB cluster.
    DBCluster -> Maybe Text
dbClusterArn :: Prelude.Maybe Prelude.Text,
    -- | Contains a user-supplied DB cluster identifier. This identifier is the
    -- unique key that identifies a DB cluster.
    DBCluster -> Maybe Text
dbClusterIdentifier :: Prelude.Maybe Prelude.Text,
    -- | The name of the compute and memory capacity class of the DB instance.
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Text
dbClusterInstanceClass :: Prelude.Maybe Prelude.Text,
    -- | Provides the list of instances that make up the DB cluster.
    DBCluster -> Maybe [DBClusterMember]
dbClusterMembers :: Prelude.Maybe [DBClusterMember],
    -- | Provides the list of option group memberships for this DB cluster.
    DBCluster -> Maybe [DBClusterOptionGroupStatus]
dbClusterOptionGroupMemberships :: Prelude.Maybe [DBClusterOptionGroupStatus],
    -- | Specifies the name of the DB cluster parameter group for the DB cluster.
    DBCluster -> Maybe Text
dbClusterParameterGroup :: Prelude.Maybe Prelude.Text,
    -- | Specifies information on the subnet group associated with the DB
    -- cluster, including the name, description, and subnets in the subnet
    -- group.
    DBCluster -> Maybe Text
dbSubnetGroup :: Prelude.Maybe Prelude.Text,
    -- | Reserved for future use.
    DBCluster -> Maybe Text
dbSystemId :: Prelude.Maybe Prelude.Text,
    -- | Contains the name of the initial database of this DB cluster that was
    -- provided at create time, if one was specified when the DB cluster was
    -- created. This same name is returned for the life of the DB cluster.
    DBCluster -> Maybe Text
databaseName :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Web Services Region-unique, immutable identifier for the DB
    -- cluster. This identifier is found in Amazon Web Services CloudTrail log
    -- entries whenever the KMS key for the DB cluster is accessed.
    DBCluster -> Maybe Text
dbClusterResourceId :: Prelude.Maybe Prelude.Text,
    -- | Indicates if the DB cluster has deletion protection enabled. The
    -- database can\'t be deleted when deletion protection is enabled.
    DBCluster -> Maybe Bool
deletionProtection :: Prelude.Maybe Prelude.Bool,
    -- | The Active Directory Domain membership records associated with the DB
    -- cluster.
    DBCluster -> Maybe [DomainMembership]
domainMemberships :: Prelude.Maybe [DomainMembership],
    -- | The earliest time to which a DB cluster can be backtracked.
    DBCluster -> Maybe ISO8601
earliestBacktrackTime :: Prelude.Maybe Data.ISO8601,
    -- | The earliest time to which a database can be restored with point-in-time
    -- restore.
    DBCluster -> Maybe ISO8601
earliestRestorableTime :: Prelude.Maybe Data.ISO8601,
    -- | A list of log types that this DB cluster is configured to export to
    -- CloudWatch Logs.
    --
    -- Log types vary by DB engine. For information about the log types for
    -- each DB engine, see
    -- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html Amazon RDS Database Log Files>
    -- in the /Amazon Aurora User Guide./
    DBCluster -> Maybe [Text]
enabledCloudwatchLogsExports :: Prelude.Maybe [Prelude.Text],
    -- | Specifies the connection endpoint for the primary instance of the DB
    -- cluster.
    DBCluster -> Maybe Text
endpoint :: Prelude.Maybe Prelude.Text,
    -- | The name of the database engine to be used for this DB cluster.
    DBCluster -> Maybe Text
engine :: Prelude.Maybe Prelude.Text,
    -- | The DB engine mode of the DB cluster, either @provisioned@,
    -- @serverless@, @parallelquery@, @global@, or @multimaster@.
    --
    -- For more information, see
    -- <https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html CreateDBCluster>.
    DBCluster -> Maybe Text
engineMode :: Prelude.Maybe Prelude.Text,
    -- | Indicates the database engine version.
    DBCluster -> Maybe Text
engineVersion :: Prelude.Maybe Prelude.Text,
    -- | Specifies whether you have requested to enable write forwarding for a
    -- secondary cluster in an Aurora global database. Because write forwarding
    -- takes time to enable, check the value of @GlobalWriteForwardingStatus@
    -- to confirm that the request has completed before using the write
    -- forwarding feature for this cluster.
    DBCluster -> Maybe Bool
globalWriteForwardingRequested :: Prelude.Maybe Prelude.Bool,
    -- | Specifies whether a secondary cluster in an Aurora global database has
    -- write forwarding enabled, not enabled, or is in the process of enabling
    -- it.
    DBCluster -> Maybe WriteForwardingStatus
globalWriteForwardingStatus :: Prelude.Maybe WriteForwardingStatus,
    -- | Specifies the ID that Amazon Route 53 assigns when you create a hosted
    -- zone.
    DBCluster -> Maybe Text
hostedZoneId :: Prelude.Maybe Prelude.Text,
    -- | A value that indicates whether the HTTP endpoint for an Aurora
    -- Serverless v1 DB cluster is enabled.
    --
    -- When enabled, the HTTP endpoint provides a connectionless web service
    -- API for running SQL queries on the Aurora Serverless v1 DB cluster. You
    -- can also query your database from inside the RDS console with the query
    -- editor.
    --
    -- For more information, see
    -- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html Using the Data API for Aurora Serverless v1>
    -- in the /Amazon Aurora User Guide/.
    DBCluster -> Maybe Bool
httpEndpointEnabled :: Prelude.Maybe Prelude.Bool,
    -- | A value that indicates whether the mapping of Amazon Web Services
    -- Identity and Access Management (IAM) accounts to database accounts is
    -- enabled.
    DBCluster -> Maybe Bool
iAMDatabaseAuthenticationEnabled :: Prelude.Maybe Prelude.Bool,
    -- | The Provisioned IOPS (I\/O operations per second) value.
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Int
iops :: Prelude.Maybe Prelude.Int,
    -- | If @StorageEncrypted@ is enabled, the Amazon Web Services KMS key
    -- identifier for the encrypted DB cluster.
    --
    -- The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
    -- ARN, or alias name for the KMS key.
    DBCluster -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | Specifies the latest time to which a database can be restored with
    -- point-in-time restore.
    DBCluster -> Maybe ISO8601
latestRestorableTime :: Prelude.Maybe Data.ISO8601,
    -- | Contains the secret managed by RDS in Amazon Web Services Secrets
    -- Manager for the master user password.
    --
    -- For more information, see
    -- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html Password management with Amazon Web Services Secrets Manager>
    -- in the /Amazon RDS User Guide/ and
    -- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html Password management with Amazon Web Services Secrets Manager>
    -- in the /Amazon Aurora User Guide./
    DBCluster -> Maybe MasterUserSecret
masterUserSecret :: Prelude.Maybe MasterUserSecret,
    -- | Contains the master username for the DB cluster.
    DBCluster -> Maybe Text
masterUsername :: Prelude.Maybe Prelude.Text,
    -- | The interval, in seconds, between points when Enhanced Monitoring
    -- metrics are collected for the DB cluster.
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Int
monitoringInterval :: Prelude.Maybe Prelude.Int,
    -- | The ARN for the IAM role that permits RDS to send Enhanced Monitoring
    -- metrics to Amazon CloudWatch Logs.
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Text
monitoringRoleArn :: Prelude.Maybe Prelude.Text,
    -- | Specifies whether the DB cluster has instances in multiple Availability
    -- Zones.
    DBCluster -> Maybe Bool
multiAZ :: Prelude.Maybe Prelude.Bool,
    -- | The network type of the DB instance.
    --
    -- Valid values:
    --
    -- -   @IPV4@
    --
    -- -   @DUAL@
    --
    -- The network type is determined by the @DBSubnetGroup@ specified for the
    -- DB cluster. A @DBSubnetGroup@ can support only the IPv4 protocol or the
    -- IPv4 and the IPv6 protocols (@DUAL@).
    --
    -- For more information, see
    -- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html Working with a DB instance in a VPC>
    -- in the /Amazon Aurora User Guide./
    --
    -- This setting is only for Aurora DB clusters.
    DBCluster -> Maybe Text
networkType :: Prelude.Maybe Prelude.Text,
    -- | A value that specifies that changes to the DB cluster are pending. This
    -- element is only included when changes are pending. Specific changes are
    -- identified by subelements.
    DBCluster -> Maybe ClusterPendingModifiedValues
pendingModifiedValues :: Prelude.Maybe ClusterPendingModifiedValues,
    -- | Specifies the progress of the operation as a percentage.
    DBCluster -> Maybe Text
percentProgress :: Prelude.Maybe Prelude.Text,
    -- | True if Performance Insights is enabled for the DB cluster, and
    -- otherwise false.
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Bool
performanceInsightsEnabled :: Prelude.Maybe Prelude.Bool,
    -- | The Amazon Web Services KMS key identifier for encryption of Performance
    -- Insights data.
    --
    -- The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
    -- ARN, or alias name for the KMS key.
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Text
performanceInsightsKMSKeyId :: Prelude.Maybe Prelude.Text,
    -- | The number of days to retain Performance Insights data. The default is 7
    -- days. The following values are valid:
    --
    -- -   7
    --
    -- -   /month/ * 31, where /month/ is a number of months from 1-23
    --
    -- -   731
    --
    -- For example, the following values are valid:
    --
    -- -   93 (3 months * 31)
    --
    -- -   341 (11 months * 31)
    --
    -- -   589 (19 months * 31)
    --
    -- -   731
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Int
performanceInsightsRetentionPeriod :: Prelude.Maybe Prelude.Int,
    -- | Specifies the port that the database engine is listening on.
    DBCluster -> Maybe Int
port :: Prelude.Maybe Prelude.Int,
    -- | Specifies the daily time range during which automated backups are
    -- created if automated backups are enabled, as determined by the
    -- @BackupRetentionPeriod@.
    DBCluster -> Maybe Text
preferredBackupWindow :: Prelude.Maybe Prelude.Text,
    -- | Specifies the weekly time range during which system maintenance can
    -- occur, in Universal Coordinated Time (UTC).
    DBCluster -> Maybe Text
preferredMaintenanceWindow :: Prelude.Maybe Prelude.Text,
    -- | Specifies the accessibility options for the DB instance.
    --
    -- When the DB instance is publicly accessible, its Domain Name System
    -- (DNS) endpoint resolves to the private IP address from within the DB
    -- instance\'s virtual private cloud (VPC). It resolves to the public IP
    -- address from outside of the DB instance\'s VPC. Access to the DB
    -- instance is ultimately controlled by the security group it uses. That
    -- public access is not permitted if the security group assigned to the DB
    -- instance doesn\'t permit it.
    --
    -- When the DB instance isn\'t publicly accessible, it is an internal DB
    -- instance with a DNS name that resolves to a private IP address.
    --
    -- For more information, see CreateDBInstance.
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Bool
publiclyAccessible :: Prelude.Maybe Prelude.Bool,
    -- | Contains one or more identifiers of the read replicas associated with
    -- this DB cluster.
    DBCluster -> Maybe [Text]
readReplicaIdentifiers :: Prelude.Maybe [Prelude.Text],
    -- | The reader endpoint for the DB cluster. The reader endpoint for a DB
    -- cluster load-balances connections across the Aurora Replicas that are
    -- available in a DB cluster. As clients request new connections to the
    -- reader endpoint, Aurora distributes the connection requests among the
    -- Aurora Replicas in the DB cluster. This functionality can help balance
    -- your read workload across multiple Aurora Replicas in your DB cluster.
    --
    -- If a failover occurs, and the Aurora Replica that you are connected to
    -- is promoted to be the primary instance, your connection is dropped. To
    -- continue sending your read workload to other Aurora Replicas in the
    -- cluster, you can then reconnect to the reader endpoint.
    DBCluster -> Maybe Text
readerEndpoint :: Prelude.Maybe Prelude.Text,
    -- | Contains the identifier of the source DB cluster if this DB cluster is a
    -- read replica.
    DBCluster -> Maybe Text
replicationSourceIdentifier :: Prelude.Maybe Prelude.Text,
    DBCluster -> Maybe ScalingConfigurationInfo
scalingConfigurationInfo :: Prelude.Maybe ScalingConfigurationInfo,
    DBCluster -> Maybe ServerlessV2ScalingConfigurationInfo
serverlessV2ScalingConfiguration :: Prelude.Maybe ServerlessV2ScalingConfigurationInfo,
    -- | Specifies the current state of this DB cluster.
    DBCluster -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
    -- | Specifies whether the DB cluster is encrypted.
    DBCluster -> Maybe Bool
storageEncrypted :: Prelude.Maybe Prelude.Bool,
    -- | The storage type associated with the DB cluster.
    --
    -- This setting is only for non-Aurora Multi-AZ DB clusters.
    DBCluster -> Maybe Text
storageType :: Prelude.Maybe Prelude.Text,
    DBCluster -> Maybe [Tag]
tagList :: Prelude.Maybe [Tag],
    -- | Provides a list of VPC security groups that the DB cluster belongs to.
    DBCluster -> Maybe [VpcSecurityGroupMembership]
vpcSecurityGroups :: Prelude.Maybe [VpcSecurityGroupMembership]
  }
  deriving (DBCluster -> DBCluster -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DBCluster -> DBCluster -> Bool
$c/= :: DBCluster -> DBCluster -> Bool
== :: DBCluster -> DBCluster -> Bool
$c== :: DBCluster -> DBCluster -> Bool
Prelude.Eq, ReadPrec [DBCluster]
ReadPrec DBCluster
Int -> ReadS DBCluster
ReadS [DBCluster]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DBCluster]
$creadListPrec :: ReadPrec [DBCluster]
readPrec :: ReadPrec DBCluster
$creadPrec :: ReadPrec DBCluster
readList :: ReadS [DBCluster]
$creadList :: ReadS [DBCluster]
readsPrec :: Int -> ReadS DBCluster
$creadsPrec :: Int -> ReadS DBCluster
Prelude.Read, Int -> DBCluster -> ShowS
[DBCluster] -> ShowS
DBCluster -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DBCluster] -> ShowS
$cshowList :: [DBCluster] -> ShowS
show :: DBCluster -> String
$cshow :: DBCluster -> String
showsPrec :: Int -> DBCluster -> ShowS
$cshowsPrec :: Int -> DBCluster -> ShowS
Prelude.Show, forall x. Rep DBCluster x -> DBCluster
forall x. DBCluster -> Rep DBCluster x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DBCluster x -> DBCluster
$cfrom :: forall x. DBCluster -> Rep DBCluster x
Prelude.Generic)

-- |
-- Create a value of 'DBCluster' 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:
--
-- 'activityStreamKinesisStreamName', 'dbCluster_activityStreamKinesisStreamName' - The name of the Amazon Kinesis data stream used for the database
-- activity stream.
--
-- 'activityStreamKmsKeyId', 'dbCluster_activityStreamKmsKeyId' - The Amazon Web Services KMS key identifier used for encrypting messages
-- in the database activity stream.
--
-- The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
-- ARN, or alias name for the KMS key.
--
-- 'activityStreamMode', 'dbCluster_activityStreamMode' - The mode of the database activity stream. Database events such as a
-- change or access generate an activity stream event. The database session
-- can handle these events either synchronously or asynchronously.
--
-- 'activityStreamStatus', 'dbCluster_activityStreamStatus' - The status of the database activity stream.
--
-- 'allocatedStorage', 'dbCluster_allocatedStorage' - For all database engines except Amazon Aurora, @AllocatedStorage@
-- specifies the allocated storage size in gibibytes (GiB). For Aurora,
-- @AllocatedStorage@ always returns 1, because Aurora DB cluster storage
-- size isn\'t fixed, but instead automatically adjusts as needed.
--
-- 'associatedRoles', 'dbCluster_associatedRoles' - Provides a list of the Amazon Web Services Identity and Access
-- Management (IAM) roles that are associated with the DB cluster. IAM
-- roles that are associated with a DB cluster grant permission for the DB
-- cluster to access other Amazon Web Services on your behalf.
--
-- 'autoMinorVersionUpgrade', 'dbCluster_autoMinorVersionUpgrade' - A value that indicates that minor version patches are applied
-- automatically.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'automaticRestartTime', 'dbCluster_automaticRestartTime' - The time when a stopped DB cluster is restarted automatically.
--
-- 'availabilityZones', 'dbCluster_availabilityZones' - Provides the list of Availability Zones (AZs) where instances in the DB
-- cluster can be created.
--
-- 'backtrackConsumedChangeRecords', 'dbCluster_backtrackConsumedChangeRecords' - The number of change records stored for Backtrack.
--
-- 'backtrackWindow', 'dbCluster_backtrackWindow' - The target backtrack window, in seconds. If this value is set to 0,
-- backtracking is disabled for the DB cluster. Otherwise, backtracking is
-- enabled.
--
-- 'backupRetentionPeriod', 'dbCluster_backupRetentionPeriod' - Specifies the number of days for which automatic DB snapshots are
-- retained.
--
-- 'capacity', 'dbCluster_capacity' - The current capacity of an Aurora Serverless v1 DB cluster. The capacity
-- is 0 (zero) when the cluster is paused.
--
-- For more information about Aurora Serverless v1, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html Using Amazon Aurora Serverless v1>
-- in the /Amazon Aurora User Guide/.
--
-- 'characterSetName', 'dbCluster_characterSetName' - If present, specifies the name of the character set that this cluster is
-- associated with.
--
-- 'cloneGroupId', 'dbCluster_cloneGroupId' - Identifies the clone group to which the DB cluster is associated.
--
-- 'clusterCreateTime', 'dbCluster_clusterCreateTime' - Specifies the time when the DB cluster was created, in Universal
-- Coordinated Time (UTC).
--
-- 'copyTagsToSnapshot', 'dbCluster_copyTagsToSnapshot' - Specifies whether tags are copied from the DB cluster to snapshots of
-- the DB cluster.
--
-- 'crossAccountClone', 'dbCluster_crossAccountClone' - Specifies whether the DB cluster is a clone of a DB cluster owned by a
-- different Amazon Web Services account.
--
-- 'customEndpoints', 'dbCluster_customEndpoints' - Identifies all custom endpoints associated with the cluster.
--
-- 'dbClusterArn', 'dbCluster_dbClusterArn' - The Amazon Resource Name (ARN) for the DB cluster.
--
-- 'dbClusterIdentifier', 'dbCluster_dbClusterIdentifier' - Contains a user-supplied DB cluster identifier. This identifier is the
-- unique key that identifies a DB cluster.
--
-- 'dbClusterInstanceClass', 'dbCluster_dbClusterInstanceClass' - The name of the compute and memory capacity class of the DB instance.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'dbClusterMembers', 'dbCluster_dbClusterMembers' - Provides the list of instances that make up the DB cluster.
--
-- 'dbClusterOptionGroupMemberships', 'dbCluster_dbClusterOptionGroupMemberships' - Provides the list of option group memberships for this DB cluster.
--
-- 'dbClusterParameterGroup', 'dbCluster_dbClusterParameterGroup' - Specifies the name of the DB cluster parameter group for the DB cluster.
--
-- 'dbSubnetGroup', 'dbCluster_dbSubnetGroup' - Specifies information on the subnet group associated with the DB
-- cluster, including the name, description, and subnets in the subnet
-- group.
--
-- 'dbSystemId', 'dbCluster_dbSystemId' - Reserved for future use.
--
-- 'databaseName', 'dbCluster_databaseName' - Contains the name of the initial database of this DB cluster that was
-- provided at create time, if one was specified when the DB cluster was
-- created. This same name is returned for the life of the DB cluster.
--
-- 'dbClusterResourceId', 'dbCluster_dbClusterResourceId' - The Amazon Web Services Region-unique, immutable identifier for the DB
-- cluster. This identifier is found in Amazon Web Services CloudTrail log
-- entries whenever the KMS key for the DB cluster is accessed.
--
-- 'deletionProtection', 'dbCluster_deletionProtection' - Indicates if the DB cluster has deletion protection enabled. The
-- database can\'t be deleted when deletion protection is enabled.
--
-- 'domainMemberships', 'dbCluster_domainMemberships' - The Active Directory Domain membership records associated with the DB
-- cluster.
--
-- 'earliestBacktrackTime', 'dbCluster_earliestBacktrackTime' - The earliest time to which a DB cluster can be backtracked.
--
-- 'earliestRestorableTime', 'dbCluster_earliestRestorableTime' - The earliest time to which a database can be restored with point-in-time
-- restore.
--
-- 'enabledCloudwatchLogsExports', 'dbCluster_enabledCloudwatchLogsExports' - A list of log types that this DB cluster is configured to export to
-- CloudWatch Logs.
--
-- Log types vary by DB engine. For information about the log types for
-- each DB engine, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html Amazon RDS Database Log Files>
-- in the /Amazon Aurora User Guide./
--
-- 'endpoint', 'dbCluster_endpoint' - Specifies the connection endpoint for the primary instance of the DB
-- cluster.
--
-- 'engine', 'dbCluster_engine' - The name of the database engine to be used for this DB cluster.
--
-- 'engineMode', 'dbCluster_engineMode' - The DB engine mode of the DB cluster, either @provisioned@,
-- @serverless@, @parallelquery@, @global@, or @multimaster@.
--
-- For more information, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html CreateDBCluster>.
--
-- 'engineVersion', 'dbCluster_engineVersion' - Indicates the database engine version.
--
-- 'globalWriteForwardingRequested', 'dbCluster_globalWriteForwardingRequested' - Specifies whether you have requested to enable write forwarding for a
-- secondary cluster in an Aurora global database. Because write forwarding
-- takes time to enable, check the value of @GlobalWriteForwardingStatus@
-- to confirm that the request has completed before using the write
-- forwarding feature for this cluster.
--
-- 'globalWriteForwardingStatus', 'dbCluster_globalWriteForwardingStatus' - Specifies whether a secondary cluster in an Aurora global database has
-- write forwarding enabled, not enabled, or is in the process of enabling
-- it.
--
-- 'hostedZoneId', 'dbCluster_hostedZoneId' - Specifies the ID that Amazon Route 53 assigns when you create a hosted
-- zone.
--
-- 'httpEndpointEnabled', 'dbCluster_httpEndpointEnabled' - A value that indicates whether the HTTP endpoint for an Aurora
-- Serverless v1 DB cluster is enabled.
--
-- When enabled, the HTTP endpoint provides a connectionless web service
-- API for running SQL queries on the Aurora Serverless v1 DB cluster. You
-- can also query your database from inside the RDS console with the query
-- editor.
--
-- For more information, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html Using the Data API for Aurora Serverless v1>
-- in the /Amazon Aurora User Guide/.
--
-- 'iAMDatabaseAuthenticationEnabled', 'dbCluster_iAMDatabaseAuthenticationEnabled' - A value that indicates whether the mapping of Amazon Web Services
-- Identity and Access Management (IAM) accounts to database accounts is
-- enabled.
--
-- 'iops', 'dbCluster_iops' - The Provisioned IOPS (I\/O operations per second) value.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'kmsKeyId', 'dbCluster_kmsKeyId' - If @StorageEncrypted@ is enabled, the Amazon Web Services KMS key
-- identifier for the encrypted DB cluster.
--
-- The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
-- ARN, or alias name for the KMS key.
--
-- 'latestRestorableTime', 'dbCluster_latestRestorableTime' - Specifies the latest time to which a database can be restored with
-- point-in-time restore.
--
-- 'masterUserSecret', 'dbCluster_masterUserSecret' - Contains the secret managed by RDS in Amazon Web Services Secrets
-- Manager for the master user password.
--
-- For more information, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html Password management with Amazon Web Services Secrets Manager>
-- in the /Amazon RDS User Guide/ and
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html Password management with Amazon Web Services Secrets Manager>
-- in the /Amazon Aurora User Guide./
--
-- 'masterUsername', 'dbCluster_masterUsername' - Contains the master username for the DB cluster.
--
-- 'monitoringInterval', 'dbCluster_monitoringInterval' - The interval, in seconds, between points when Enhanced Monitoring
-- metrics are collected for the DB cluster.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'monitoringRoleArn', 'dbCluster_monitoringRoleArn' - The ARN for the IAM role that permits RDS to send Enhanced Monitoring
-- metrics to Amazon CloudWatch Logs.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'multiAZ', 'dbCluster_multiAZ' - Specifies whether the DB cluster has instances in multiple Availability
-- Zones.
--
-- 'networkType', 'dbCluster_networkType' - The network type of the DB instance.
--
-- Valid values:
--
-- -   @IPV4@
--
-- -   @DUAL@
--
-- The network type is determined by the @DBSubnetGroup@ specified for the
-- DB cluster. A @DBSubnetGroup@ can support only the IPv4 protocol or the
-- IPv4 and the IPv6 protocols (@DUAL@).
--
-- For more information, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html Working with a DB instance in a VPC>
-- in the /Amazon Aurora User Guide./
--
-- This setting is only for Aurora DB clusters.
--
-- 'pendingModifiedValues', 'dbCluster_pendingModifiedValues' - A value that specifies that changes to the DB cluster are pending. This
-- element is only included when changes are pending. Specific changes are
-- identified by subelements.
--
-- 'percentProgress', 'dbCluster_percentProgress' - Specifies the progress of the operation as a percentage.
--
-- 'performanceInsightsEnabled', 'dbCluster_performanceInsightsEnabled' - True if Performance Insights is enabled for the DB cluster, and
-- otherwise false.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'performanceInsightsKMSKeyId', 'dbCluster_performanceInsightsKMSKeyId' - The Amazon Web Services KMS key identifier for encryption of Performance
-- Insights data.
--
-- The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
-- ARN, or alias name for the KMS key.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'performanceInsightsRetentionPeriod', 'dbCluster_performanceInsightsRetentionPeriod' - The number of days to retain Performance Insights data. The default is 7
-- days. The following values are valid:
--
-- -   7
--
-- -   /month/ * 31, where /month/ is a number of months from 1-23
--
-- -   731
--
-- For example, the following values are valid:
--
-- -   93 (3 months * 31)
--
-- -   341 (11 months * 31)
--
-- -   589 (19 months * 31)
--
-- -   731
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'port', 'dbCluster_port' - Specifies the port that the database engine is listening on.
--
-- 'preferredBackupWindow', 'dbCluster_preferredBackupWindow' - Specifies the daily time range during which automated backups are
-- created if automated backups are enabled, as determined by the
-- @BackupRetentionPeriod@.
--
-- 'preferredMaintenanceWindow', 'dbCluster_preferredMaintenanceWindow' - Specifies the weekly time range during which system maintenance can
-- occur, in Universal Coordinated Time (UTC).
--
-- 'publiclyAccessible', 'dbCluster_publiclyAccessible' - Specifies the accessibility options for the DB instance.
--
-- When the DB instance is publicly accessible, its Domain Name System
-- (DNS) endpoint resolves to the private IP address from within the DB
-- instance\'s virtual private cloud (VPC). It resolves to the public IP
-- address from outside of the DB instance\'s VPC. Access to the DB
-- instance is ultimately controlled by the security group it uses. That
-- public access is not permitted if the security group assigned to the DB
-- instance doesn\'t permit it.
--
-- When the DB instance isn\'t publicly accessible, it is an internal DB
-- instance with a DNS name that resolves to a private IP address.
--
-- For more information, see CreateDBInstance.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'readReplicaIdentifiers', 'dbCluster_readReplicaIdentifiers' - Contains one or more identifiers of the read replicas associated with
-- this DB cluster.
--
-- 'readerEndpoint', 'dbCluster_readerEndpoint' - The reader endpoint for the DB cluster. The reader endpoint for a DB
-- cluster load-balances connections across the Aurora Replicas that are
-- available in a DB cluster. As clients request new connections to the
-- reader endpoint, Aurora distributes the connection requests among the
-- Aurora Replicas in the DB cluster. This functionality can help balance
-- your read workload across multiple Aurora Replicas in your DB cluster.
--
-- If a failover occurs, and the Aurora Replica that you are connected to
-- is promoted to be the primary instance, your connection is dropped. To
-- continue sending your read workload to other Aurora Replicas in the
-- cluster, you can then reconnect to the reader endpoint.
--
-- 'replicationSourceIdentifier', 'dbCluster_replicationSourceIdentifier' - Contains the identifier of the source DB cluster if this DB cluster is a
-- read replica.
--
-- 'scalingConfigurationInfo', 'dbCluster_scalingConfigurationInfo' - Undocumented member.
--
-- 'serverlessV2ScalingConfiguration', 'dbCluster_serverlessV2ScalingConfiguration' - Undocumented member.
--
-- 'status', 'dbCluster_status' - Specifies the current state of this DB cluster.
--
-- 'storageEncrypted', 'dbCluster_storageEncrypted' - Specifies whether the DB cluster is encrypted.
--
-- 'storageType', 'dbCluster_storageType' - The storage type associated with the DB cluster.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
--
-- 'tagList', 'dbCluster_tagList' - Undocumented member.
--
-- 'vpcSecurityGroups', 'dbCluster_vpcSecurityGroups' - Provides a list of VPC security groups that the DB cluster belongs to.
newDBCluster ::
  DBCluster
newDBCluster :: DBCluster
newDBCluster =
  DBCluster'
    { $sel:activityStreamKinesisStreamName:DBCluster' :: Maybe Text
activityStreamKinesisStreamName =
        forall a. Maybe a
Prelude.Nothing,
      $sel:activityStreamKmsKeyId:DBCluster' :: Maybe Text
activityStreamKmsKeyId = forall a. Maybe a
Prelude.Nothing,
      $sel:activityStreamMode:DBCluster' :: Maybe ActivityStreamMode
activityStreamMode = forall a. Maybe a
Prelude.Nothing,
      $sel:activityStreamStatus:DBCluster' :: Maybe ActivityStreamStatus
activityStreamStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:allocatedStorage:DBCluster' :: Maybe Int
allocatedStorage = forall a. Maybe a
Prelude.Nothing,
      $sel:associatedRoles:DBCluster' :: Maybe [DBClusterRole]
associatedRoles = forall a. Maybe a
Prelude.Nothing,
      $sel:autoMinorVersionUpgrade:DBCluster' :: Maybe Bool
autoMinorVersionUpgrade = forall a. Maybe a
Prelude.Nothing,
      $sel:automaticRestartTime:DBCluster' :: Maybe ISO8601
automaticRestartTime = forall a. Maybe a
Prelude.Nothing,
      $sel:availabilityZones:DBCluster' :: Maybe [Text]
availabilityZones = forall a. Maybe a
Prelude.Nothing,
      $sel:backtrackConsumedChangeRecords:DBCluster' :: Maybe Integer
backtrackConsumedChangeRecords = forall a. Maybe a
Prelude.Nothing,
      $sel:backtrackWindow:DBCluster' :: Maybe Integer
backtrackWindow = forall a. Maybe a
Prelude.Nothing,
      $sel:backupRetentionPeriod:DBCluster' :: Maybe Int
backupRetentionPeriod = forall a. Maybe a
Prelude.Nothing,
      $sel:capacity:DBCluster' :: Maybe Int
capacity = forall a. Maybe a
Prelude.Nothing,
      $sel:characterSetName:DBCluster' :: Maybe Text
characterSetName = forall a. Maybe a
Prelude.Nothing,
      $sel:cloneGroupId:DBCluster' :: Maybe Text
cloneGroupId = forall a. Maybe a
Prelude.Nothing,
      $sel:clusterCreateTime:DBCluster' :: Maybe ISO8601
clusterCreateTime = forall a. Maybe a
Prelude.Nothing,
      $sel:copyTagsToSnapshot:DBCluster' :: Maybe Bool
copyTagsToSnapshot = forall a. Maybe a
Prelude.Nothing,
      $sel:crossAccountClone:DBCluster' :: Maybe Bool
crossAccountClone = forall a. Maybe a
Prelude.Nothing,
      $sel:customEndpoints:DBCluster' :: Maybe [Text]
customEndpoints = forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterArn:DBCluster' :: Maybe Text
dbClusterArn = forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterIdentifier:DBCluster' :: Maybe Text
dbClusterIdentifier = forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterInstanceClass:DBCluster' :: Maybe Text
dbClusterInstanceClass = forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterMembers:DBCluster' :: Maybe [DBClusterMember]
dbClusterMembers = forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterOptionGroupMemberships:DBCluster' :: Maybe [DBClusterOptionGroupStatus]
dbClusterOptionGroupMemberships = forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterParameterGroup:DBCluster' :: Maybe Text
dbClusterParameterGroup = forall a. Maybe a
Prelude.Nothing,
      $sel:dbSubnetGroup:DBCluster' :: Maybe Text
dbSubnetGroup = forall a. Maybe a
Prelude.Nothing,
      $sel:dbSystemId:DBCluster' :: Maybe Text
dbSystemId = forall a. Maybe a
Prelude.Nothing,
      $sel:databaseName:DBCluster' :: Maybe Text
databaseName = forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterResourceId:DBCluster' :: Maybe Text
dbClusterResourceId = forall a. Maybe a
Prelude.Nothing,
      $sel:deletionProtection:DBCluster' :: Maybe Bool
deletionProtection = forall a. Maybe a
Prelude.Nothing,
      $sel:domainMemberships:DBCluster' :: Maybe [DomainMembership]
domainMemberships = forall a. Maybe a
Prelude.Nothing,
      $sel:earliestBacktrackTime:DBCluster' :: Maybe ISO8601
earliestBacktrackTime = forall a. Maybe a
Prelude.Nothing,
      $sel:earliestRestorableTime:DBCluster' :: Maybe ISO8601
earliestRestorableTime = forall a. Maybe a
Prelude.Nothing,
      $sel:enabledCloudwatchLogsExports:DBCluster' :: Maybe [Text]
enabledCloudwatchLogsExports = forall a. Maybe a
Prelude.Nothing,
      $sel:endpoint:DBCluster' :: Maybe Text
endpoint = forall a. Maybe a
Prelude.Nothing,
      $sel:engine:DBCluster' :: Maybe Text
engine = forall a. Maybe a
Prelude.Nothing,
      $sel:engineMode:DBCluster' :: Maybe Text
engineMode = forall a. Maybe a
Prelude.Nothing,
      $sel:engineVersion:DBCluster' :: Maybe Text
engineVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:globalWriteForwardingRequested:DBCluster' :: Maybe Bool
globalWriteForwardingRequested = forall a. Maybe a
Prelude.Nothing,
      $sel:globalWriteForwardingStatus:DBCluster' :: Maybe WriteForwardingStatus
globalWriteForwardingStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:hostedZoneId:DBCluster' :: Maybe Text
hostedZoneId = forall a. Maybe a
Prelude.Nothing,
      $sel:httpEndpointEnabled:DBCluster' :: Maybe Bool
httpEndpointEnabled = forall a. Maybe a
Prelude.Nothing,
      $sel:iAMDatabaseAuthenticationEnabled:DBCluster' :: Maybe Bool
iAMDatabaseAuthenticationEnabled = forall a. Maybe a
Prelude.Nothing,
      $sel:iops:DBCluster' :: Maybe Int
iops = forall a. Maybe a
Prelude.Nothing,
      $sel:kmsKeyId:DBCluster' :: Maybe Text
kmsKeyId = forall a. Maybe a
Prelude.Nothing,
      $sel:latestRestorableTime:DBCluster' :: Maybe ISO8601
latestRestorableTime = forall a. Maybe a
Prelude.Nothing,
      $sel:masterUserSecret:DBCluster' :: Maybe MasterUserSecret
masterUserSecret = forall a. Maybe a
Prelude.Nothing,
      $sel:masterUsername:DBCluster' :: Maybe Text
masterUsername = forall a. Maybe a
Prelude.Nothing,
      $sel:monitoringInterval:DBCluster' :: Maybe Int
monitoringInterval = forall a. Maybe a
Prelude.Nothing,
      $sel:monitoringRoleArn:DBCluster' :: Maybe Text
monitoringRoleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:multiAZ:DBCluster' :: Maybe Bool
multiAZ = forall a. Maybe a
Prelude.Nothing,
      $sel:networkType:DBCluster' :: Maybe Text
networkType = forall a. Maybe a
Prelude.Nothing,
      $sel:pendingModifiedValues:DBCluster' :: Maybe ClusterPendingModifiedValues
pendingModifiedValues = forall a. Maybe a
Prelude.Nothing,
      $sel:percentProgress:DBCluster' :: Maybe Text
percentProgress = forall a. Maybe a
Prelude.Nothing,
      $sel:performanceInsightsEnabled:DBCluster' :: Maybe Bool
performanceInsightsEnabled = forall a. Maybe a
Prelude.Nothing,
      $sel:performanceInsightsKMSKeyId:DBCluster' :: Maybe Text
performanceInsightsKMSKeyId = forall a. Maybe a
Prelude.Nothing,
      $sel:performanceInsightsRetentionPeriod:DBCluster' :: Maybe Int
performanceInsightsRetentionPeriod = forall a. Maybe a
Prelude.Nothing,
      $sel:port:DBCluster' :: Maybe Int
port = forall a. Maybe a
Prelude.Nothing,
      $sel:preferredBackupWindow:DBCluster' :: Maybe Text
preferredBackupWindow = forall a. Maybe a
Prelude.Nothing,
      $sel:preferredMaintenanceWindow:DBCluster' :: Maybe Text
preferredMaintenanceWindow = forall a. Maybe a
Prelude.Nothing,
      $sel:publiclyAccessible:DBCluster' :: Maybe Bool
publiclyAccessible = forall a. Maybe a
Prelude.Nothing,
      $sel:readReplicaIdentifiers:DBCluster' :: Maybe [Text]
readReplicaIdentifiers = forall a. Maybe a
Prelude.Nothing,
      $sel:readerEndpoint:DBCluster' :: Maybe Text
readerEndpoint = forall a. Maybe a
Prelude.Nothing,
      $sel:replicationSourceIdentifier:DBCluster' :: Maybe Text
replicationSourceIdentifier = forall a. Maybe a
Prelude.Nothing,
      $sel:scalingConfigurationInfo:DBCluster' :: Maybe ScalingConfigurationInfo
scalingConfigurationInfo = forall a. Maybe a
Prelude.Nothing,
      $sel:serverlessV2ScalingConfiguration:DBCluster' :: Maybe ServerlessV2ScalingConfigurationInfo
serverlessV2ScalingConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DBCluster' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
      $sel:storageEncrypted:DBCluster' :: Maybe Bool
storageEncrypted = forall a. Maybe a
Prelude.Nothing,
      $sel:storageType:DBCluster' :: Maybe Text
storageType = forall a. Maybe a
Prelude.Nothing,
      $sel:tagList:DBCluster' :: Maybe [Tag]
tagList = forall a. Maybe a
Prelude.Nothing,
      $sel:vpcSecurityGroups:DBCluster' :: Maybe [VpcSecurityGroupMembership]
vpcSecurityGroups = forall a. Maybe a
Prelude.Nothing
    }

-- | The name of the Amazon Kinesis data stream used for the database
-- activity stream.
dbCluster_activityStreamKinesisStreamName :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_activityStreamKinesisStreamName :: Lens' DBCluster (Maybe Text)
dbCluster_activityStreamKinesisStreamName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
activityStreamKinesisStreamName :: Maybe Text
$sel:activityStreamKinesisStreamName:DBCluster' :: DBCluster -> Maybe Text
activityStreamKinesisStreamName} -> Maybe Text
activityStreamKinesisStreamName) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:activityStreamKinesisStreamName:DBCluster' :: Maybe Text
activityStreamKinesisStreamName = Maybe Text
a} :: DBCluster)

-- | The Amazon Web Services KMS key identifier used for encrypting messages
-- in the database activity stream.
--
-- The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
-- ARN, or alias name for the KMS key.
dbCluster_activityStreamKmsKeyId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_activityStreamKmsKeyId :: Lens' DBCluster (Maybe Text)
dbCluster_activityStreamKmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
activityStreamKmsKeyId :: Maybe Text
$sel:activityStreamKmsKeyId:DBCluster' :: DBCluster -> Maybe Text
activityStreamKmsKeyId} -> Maybe Text
activityStreamKmsKeyId) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:activityStreamKmsKeyId:DBCluster' :: Maybe Text
activityStreamKmsKeyId = Maybe Text
a} :: DBCluster)

-- | The mode of the database activity stream. Database events such as a
-- change or access generate an activity stream event. The database session
-- can handle these events either synchronously or asynchronously.
dbCluster_activityStreamMode :: Lens.Lens' DBCluster (Prelude.Maybe ActivityStreamMode)
dbCluster_activityStreamMode :: Lens' DBCluster (Maybe ActivityStreamMode)
dbCluster_activityStreamMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ActivityStreamMode
activityStreamMode :: Maybe ActivityStreamMode
$sel:activityStreamMode:DBCluster' :: DBCluster -> Maybe ActivityStreamMode
activityStreamMode} -> Maybe ActivityStreamMode
activityStreamMode) (\s :: DBCluster
s@DBCluster' {} Maybe ActivityStreamMode
a -> DBCluster
s {$sel:activityStreamMode:DBCluster' :: Maybe ActivityStreamMode
activityStreamMode = Maybe ActivityStreamMode
a} :: DBCluster)

-- | The status of the database activity stream.
dbCluster_activityStreamStatus :: Lens.Lens' DBCluster (Prelude.Maybe ActivityStreamStatus)
dbCluster_activityStreamStatus :: Lens' DBCluster (Maybe ActivityStreamStatus)
dbCluster_activityStreamStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ActivityStreamStatus
activityStreamStatus :: Maybe ActivityStreamStatus
$sel:activityStreamStatus:DBCluster' :: DBCluster -> Maybe ActivityStreamStatus
activityStreamStatus} -> Maybe ActivityStreamStatus
activityStreamStatus) (\s :: DBCluster
s@DBCluster' {} Maybe ActivityStreamStatus
a -> DBCluster
s {$sel:activityStreamStatus:DBCluster' :: Maybe ActivityStreamStatus
activityStreamStatus = Maybe ActivityStreamStatus
a} :: DBCluster)

-- | For all database engines except Amazon Aurora, @AllocatedStorage@
-- specifies the allocated storage size in gibibytes (GiB). For Aurora,
-- @AllocatedStorage@ always returns 1, because Aurora DB cluster storage
-- size isn\'t fixed, but instead automatically adjusts as needed.
dbCluster_allocatedStorage :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)
dbCluster_allocatedStorage :: Lens' DBCluster (Maybe Int)
dbCluster_allocatedStorage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Int
allocatedStorage :: Maybe Int
$sel:allocatedStorage:DBCluster' :: DBCluster -> Maybe Int
allocatedStorage} -> Maybe Int
allocatedStorage) (\s :: DBCluster
s@DBCluster' {} Maybe Int
a -> DBCluster
s {$sel:allocatedStorage:DBCluster' :: Maybe Int
allocatedStorage = Maybe Int
a} :: DBCluster)

-- | Provides a list of the Amazon Web Services Identity and Access
-- Management (IAM) roles that are associated with the DB cluster. IAM
-- roles that are associated with a DB cluster grant permission for the DB
-- cluster to access other Amazon Web Services on your behalf.
dbCluster_associatedRoles :: Lens.Lens' DBCluster (Prelude.Maybe [DBClusterRole])
dbCluster_associatedRoles :: Lens' DBCluster (Maybe [DBClusterRole])
dbCluster_associatedRoles = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [DBClusterRole]
associatedRoles :: Maybe [DBClusterRole]
$sel:associatedRoles:DBCluster' :: DBCluster -> Maybe [DBClusterRole]
associatedRoles} -> Maybe [DBClusterRole]
associatedRoles) (\s :: DBCluster
s@DBCluster' {} Maybe [DBClusterRole]
a -> DBCluster
s {$sel:associatedRoles:DBCluster' :: Maybe [DBClusterRole]
associatedRoles = Maybe [DBClusterRole]
a} :: DBCluster) 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

-- | A value that indicates that minor version patches are applied
-- automatically.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_autoMinorVersionUpgrade :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_autoMinorVersionUpgrade :: Lens' DBCluster (Maybe Bool)
dbCluster_autoMinorVersionUpgrade = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
autoMinorVersionUpgrade :: Maybe Bool
$sel:autoMinorVersionUpgrade:DBCluster' :: DBCluster -> Maybe Bool
autoMinorVersionUpgrade} -> Maybe Bool
autoMinorVersionUpgrade) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:autoMinorVersionUpgrade:DBCluster' :: Maybe Bool
autoMinorVersionUpgrade = Maybe Bool
a} :: DBCluster)

-- | The time when a stopped DB cluster is restarted automatically.
dbCluster_automaticRestartTime :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.UTCTime)
dbCluster_automaticRestartTime :: Lens' DBCluster (Maybe UTCTime)
dbCluster_automaticRestartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ISO8601
automaticRestartTime :: Maybe ISO8601
$sel:automaticRestartTime:DBCluster' :: DBCluster -> Maybe ISO8601
automaticRestartTime} -> Maybe ISO8601
automaticRestartTime) (\s :: DBCluster
s@DBCluster' {} Maybe ISO8601
a -> DBCluster
s {$sel:automaticRestartTime:DBCluster' :: Maybe ISO8601
automaticRestartTime = Maybe ISO8601
a} :: DBCluster) 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

-- | Provides the list of Availability Zones (AZs) where instances in the DB
-- cluster can be created.
dbCluster_availabilityZones :: Lens.Lens' DBCluster (Prelude.Maybe [Prelude.Text])
dbCluster_availabilityZones :: Lens' DBCluster (Maybe [Text])
dbCluster_availabilityZones = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [Text]
availabilityZones :: Maybe [Text]
$sel:availabilityZones:DBCluster' :: DBCluster -> Maybe [Text]
availabilityZones} -> Maybe [Text]
availabilityZones) (\s :: DBCluster
s@DBCluster' {} Maybe [Text]
a -> DBCluster
s {$sel:availabilityZones:DBCluster' :: Maybe [Text]
availabilityZones = Maybe [Text]
a} :: DBCluster) 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 number of change records stored for Backtrack.
dbCluster_backtrackConsumedChangeRecords :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Integer)
dbCluster_backtrackConsumedChangeRecords :: Lens' DBCluster (Maybe Integer)
dbCluster_backtrackConsumedChangeRecords = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Integer
backtrackConsumedChangeRecords :: Maybe Integer
$sel:backtrackConsumedChangeRecords:DBCluster' :: DBCluster -> Maybe Integer
backtrackConsumedChangeRecords} -> Maybe Integer
backtrackConsumedChangeRecords) (\s :: DBCluster
s@DBCluster' {} Maybe Integer
a -> DBCluster
s {$sel:backtrackConsumedChangeRecords:DBCluster' :: Maybe Integer
backtrackConsumedChangeRecords = Maybe Integer
a} :: DBCluster)

-- | The target backtrack window, in seconds. If this value is set to 0,
-- backtracking is disabled for the DB cluster. Otherwise, backtracking is
-- enabled.
dbCluster_backtrackWindow :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Integer)
dbCluster_backtrackWindow :: Lens' DBCluster (Maybe Integer)
dbCluster_backtrackWindow = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Integer
backtrackWindow :: Maybe Integer
$sel:backtrackWindow:DBCluster' :: DBCluster -> Maybe Integer
backtrackWindow} -> Maybe Integer
backtrackWindow) (\s :: DBCluster
s@DBCluster' {} Maybe Integer
a -> DBCluster
s {$sel:backtrackWindow:DBCluster' :: Maybe Integer
backtrackWindow = Maybe Integer
a} :: DBCluster)

-- | Specifies the number of days for which automatic DB snapshots are
-- retained.
dbCluster_backupRetentionPeriod :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)
dbCluster_backupRetentionPeriod :: Lens' DBCluster (Maybe Int)
dbCluster_backupRetentionPeriod = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Int
backupRetentionPeriod :: Maybe Int
$sel:backupRetentionPeriod:DBCluster' :: DBCluster -> Maybe Int
backupRetentionPeriod} -> Maybe Int
backupRetentionPeriod) (\s :: DBCluster
s@DBCluster' {} Maybe Int
a -> DBCluster
s {$sel:backupRetentionPeriod:DBCluster' :: Maybe Int
backupRetentionPeriod = Maybe Int
a} :: DBCluster)

-- | The current capacity of an Aurora Serverless v1 DB cluster. The capacity
-- is 0 (zero) when the cluster is paused.
--
-- For more information about Aurora Serverless v1, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html Using Amazon Aurora Serverless v1>
-- in the /Amazon Aurora User Guide/.
dbCluster_capacity :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)
dbCluster_capacity :: Lens' DBCluster (Maybe Int)
dbCluster_capacity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Int
capacity :: Maybe Int
$sel:capacity:DBCluster' :: DBCluster -> Maybe Int
capacity} -> Maybe Int
capacity) (\s :: DBCluster
s@DBCluster' {} Maybe Int
a -> DBCluster
s {$sel:capacity:DBCluster' :: Maybe Int
capacity = Maybe Int
a} :: DBCluster)

-- | If present, specifies the name of the character set that this cluster is
-- associated with.
dbCluster_characterSetName :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_characterSetName :: Lens' DBCluster (Maybe Text)
dbCluster_characterSetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
characterSetName :: Maybe Text
$sel:characterSetName:DBCluster' :: DBCluster -> Maybe Text
characterSetName} -> Maybe Text
characterSetName) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:characterSetName:DBCluster' :: Maybe Text
characterSetName = Maybe Text
a} :: DBCluster)

-- | Identifies the clone group to which the DB cluster is associated.
dbCluster_cloneGroupId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_cloneGroupId :: Lens' DBCluster (Maybe Text)
dbCluster_cloneGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
cloneGroupId :: Maybe Text
$sel:cloneGroupId:DBCluster' :: DBCluster -> Maybe Text
cloneGroupId} -> Maybe Text
cloneGroupId) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:cloneGroupId:DBCluster' :: Maybe Text
cloneGroupId = Maybe Text
a} :: DBCluster)

-- | Specifies the time when the DB cluster was created, in Universal
-- Coordinated Time (UTC).
dbCluster_clusterCreateTime :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.UTCTime)
dbCluster_clusterCreateTime :: Lens' DBCluster (Maybe UTCTime)
dbCluster_clusterCreateTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ISO8601
clusterCreateTime :: Maybe ISO8601
$sel:clusterCreateTime:DBCluster' :: DBCluster -> Maybe ISO8601
clusterCreateTime} -> Maybe ISO8601
clusterCreateTime) (\s :: DBCluster
s@DBCluster' {} Maybe ISO8601
a -> DBCluster
s {$sel:clusterCreateTime:DBCluster' :: Maybe ISO8601
clusterCreateTime = Maybe ISO8601
a} :: DBCluster) 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

-- | Specifies whether tags are copied from the DB cluster to snapshots of
-- the DB cluster.
dbCluster_copyTagsToSnapshot :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_copyTagsToSnapshot :: Lens' DBCluster (Maybe Bool)
dbCluster_copyTagsToSnapshot = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
copyTagsToSnapshot :: Maybe Bool
$sel:copyTagsToSnapshot:DBCluster' :: DBCluster -> Maybe Bool
copyTagsToSnapshot} -> Maybe Bool
copyTagsToSnapshot) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:copyTagsToSnapshot:DBCluster' :: Maybe Bool
copyTagsToSnapshot = Maybe Bool
a} :: DBCluster)

-- | Specifies whether the DB cluster is a clone of a DB cluster owned by a
-- different Amazon Web Services account.
dbCluster_crossAccountClone :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_crossAccountClone :: Lens' DBCluster (Maybe Bool)
dbCluster_crossAccountClone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
crossAccountClone :: Maybe Bool
$sel:crossAccountClone:DBCluster' :: DBCluster -> Maybe Bool
crossAccountClone} -> Maybe Bool
crossAccountClone) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:crossAccountClone:DBCluster' :: Maybe Bool
crossAccountClone = Maybe Bool
a} :: DBCluster)

-- | Identifies all custom endpoints associated with the cluster.
dbCluster_customEndpoints :: Lens.Lens' DBCluster (Prelude.Maybe [Prelude.Text])
dbCluster_customEndpoints :: Lens' DBCluster (Maybe [Text])
dbCluster_customEndpoints = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [Text]
customEndpoints :: Maybe [Text]
$sel:customEndpoints:DBCluster' :: DBCluster -> Maybe [Text]
customEndpoints} -> Maybe [Text]
customEndpoints) (\s :: DBCluster
s@DBCluster' {} Maybe [Text]
a -> DBCluster
s {$sel:customEndpoints:DBCluster' :: Maybe [Text]
customEndpoints = Maybe [Text]
a} :: DBCluster) 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 Amazon Resource Name (ARN) for the DB cluster.
dbCluster_dbClusterArn :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_dbClusterArn :: Lens' DBCluster (Maybe Text)
dbCluster_dbClusterArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
dbClusterArn :: Maybe Text
$sel:dbClusterArn:DBCluster' :: DBCluster -> Maybe Text
dbClusterArn} -> Maybe Text
dbClusterArn) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:dbClusterArn:DBCluster' :: Maybe Text
dbClusterArn = Maybe Text
a} :: DBCluster)

-- | Contains a user-supplied DB cluster identifier. This identifier is the
-- unique key that identifies a DB cluster.
dbCluster_dbClusterIdentifier :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_dbClusterIdentifier :: Lens' DBCluster (Maybe Text)
dbCluster_dbClusterIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
dbClusterIdentifier :: Maybe Text
$sel:dbClusterIdentifier:DBCluster' :: DBCluster -> Maybe Text
dbClusterIdentifier} -> Maybe Text
dbClusterIdentifier) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:dbClusterIdentifier:DBCluster' :: Maybe Text
dbClusterIdentifier = Maybe Text
a} :: DBCluster)

-- | The name of the compute and memory capacity class of the DB instance.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_dbClusterInstanceClass :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_dbClusterInstanceClass :: Lens' DBCluster (Maybe Text)
dbCluster_dbClusterInstanceClass = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
dbClusterInstanceClass :: Maybe Text
$sel:dbClusterInstanceClass:DBCluster' :: DBCluster -> Maybe Text
dbClusterInstanceClass} -> Maybe Text
dbClusterInstanceClass) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:dbClusterInstanceClass:DBCluster' :: Maybe Text
dbClusterInstanceClass = Maybe Text
a} :: DBCluster)

-- | Provides the list of instances that make up the DB cluster.
dbCluster_dbClusterMembers :: Lens.Lens' DBCluster (Prelude.Maybe [DBClusterMember])
dbCluster_dbClusterMembers :: Lens' DBCluster (Maybe [DBClusterMember])
dbCluster_dbClusterMembers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [DBClusterMember]
dbClusterMembers :: Maybe [DBClusterMember]
$sel:dbClusterMembers:DBCluster' :: DBCluster -> Maybe [DBClusterMember]
dbClusterMembers} -> Maybe [DBClusterMember]
dbClusterMembers) (\s :: DBCluster
s@DBCluster' {} Maybe [DBClusterMember]
a -> DBCluster
s {$sel:dbClusterMembers:DBCluster' :: Maybe [DBClusterMember]
dbClusterMembers = Maybe [DBClusterMember]
a} :: DBCluster) 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

-- | Provides the list of option group memberships for this DB cluster.
dbCluster_dbClusterOptionGroupMemberships :: Lens.Lens' DBCluster (Prelude.Maybe [DBClusterOptionGroupStatus])
dbCluster_dbClusterOptionGroupMemberships :: Lens' DBCluster (Maybe [DBClusterOptionGroupStatus])
dbCluster_dbClusterOptionGroupMemberships = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [DBClusterOptionGroupStatus]
dbClusterOptionGroupMemberships :: Maybe [DBClusterOptionGroupStatus]
$sel:dbClusterOptionGroupMemberships:DBCluster' :: DBCluster -> Maybe [DBClusterOptionGroupStatus]
dbClusterOptionGroupMemberships} -> Maybe [DBClusterOptionGroupStatus]
dbClusterOptionGroupMemberships) (\s :: DBCluster
s@DBCluster' {} Maybe [DBClusterOptionGroupStatus]
a -> DBCluster
s {$sel:dbClusterOptionGroupMemberships:DBCluster' :: Maybe [DBClusterOptionGroupStatus]
dbClusterOptionGroupMemberships = Maybe [DBClusterOptionGroupStatus]
a} :: DBCluster) 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 name of the DB cluster parameter group for the DB cluster.
dbCluster_dbClusterParameterGroup :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_dbClusterParameterGroup :: Lens' DBCluster (Maybe Text)
dbCluster_dbClusterParameterGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
dbClusterParameterGroup :: Maybe Text
$sel:dbClusterParameterGroup:DBCluster' :: DBCluster -> Maybe Text
dbClusterParameterGroup} -> Maybe Text
dbClusterParameterGroup) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:dbClusterParameterGroup:DBCluster' :: Maybe Text
dbClusterParameterGroup = Maybe Text
a} :: DBCluster)

-- | Specifies information on the subnet group associated with the DB
-- cluster, including the name, description, and subnets in the subnet
-- group.
dbCluster_dbSubnetGroup :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_dbSubnetGroup :: Lens' DBCluster (Maybe Text)
dbCluster_dbSubnetGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
dbSubnetGroup :: Maybe Text
$sel:dbSubnetGroup:DBCluster' :: DBCluster -> Maybe Text
dbSubnetGroup} -> Maybe Text
dbSubnetGroup) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:dbSubnetGroup:DBCluster' :: Maybe Text
dbSubnetGroup = Maybe Text
a} :: DBCluster)

-- | Reserved for future use.
dbCluster_dbSystemId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_dbSystemId :: Lens' DBCluster (Maybe Text)
dbCluster_dbSystemId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
dbSystemId :: Maybe Text
$sel:dbSystemId:DBCluster' :: DBCluster -> Maybe Text
dbSystemId} -> Maybe Text
dbSystemId) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:dbSystemId:DBCluster' :: Maybe Text
dbSystemId = Maybe Text
a} :: DBCluster)

-- | Contains the name of the initial database of this DB cluster that was
-- provided at create time, if one was specified when the DB cluster was
-- created. This same name is returned for the life of the DB cluster.
dbCluster_databaseName :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_databaseName :: Lens' DBCluster (Maybe Text)
dbCluster_databaseName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
databaseName :: Maybe Text
$sel:databaseName:DBCluster' :: DBCluster -> Maybe Text
databaseName} -> Maybe Text
databaseName) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:databaseName:DBCluster' :: Maybe Text
databaseName = Maybe Text
a} :: DBCluster)

-- | The Amazon Web Services Region-unique, immutable identifier for the DB
-- cluster. This identifier is found in Amazon Web Services CloudTrail log
-- entries whenever the KMS key for the DB cluster is accessed.
dbCluster_dbClusterResourceId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_dbClusterResourceId :: Lens' DBCluster (Maybe Text)
dbCluster_dbClusterResourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
dbClusterResourceId :: Maybe Text
$sel:dbClusterResourceId:DBCluster' :: DBCluster -> Maybe Text
dbClusterResourceId} -> Maybe Text
dbClusterResourceId) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:dbClusterResourceId:DBCluster' :: Maybe Text
dbClusterResourceId = Maybe Text
a} :: DBCluster)

-- | Indicates if the DB cluster has deletion protection enabled. The
-- database can\'t be deleted when deletion protection is enabled.
dbCluster_deletionProtection :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_deletionProtection :: Lens' DBCluster (Maybe Bool)
dbCluster_deletionProtection = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
deletionProtection :: Maybe Bool
$sel:deletionProtection:DBCluster' :: DBCluster -> Maybe Bool
deletionProtection} -> Maybe Bool
deletionProtection) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:deletionProtection:DBCluster' :: Maybe Bool
deletionProtection = Maybe Bool
a} :: DBCluster)

-- | The Active Directory Domain membership records associated with the DB
-- cluster.
dbCluster_domainMemberships :: Lens.Lens' DBCluster (Prelude.Maybe [DomainMembership])
dbCluster_domainMemberships :: Lens' DBCluster (Maybe [DomainMembership])
dbCluster_domainMemberships = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [DomainMembership]
domainMemberships :: Maybe [DomainMembership]
$sel:domainMemberships:DBCluster' :: DBCluster -> Maybe [DomainMembership]
domainMemberships} -> Maybe [DomainMembership]
domainMemberships) (\s :: DBCluster
s@DBCluster' {} Maybe [DomainMembership]
a -> DBCluster
s {$sel:domainMemberships:DBCluster' :: Maybe [DomainMembership]
domainMemberships = Maybe [DomainMembership]
a} :: DBCluster) 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 earliest time to which a DB cluster can be backtracked.
dbCluster_earliestBacktrackTime :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.UTCTime)
dbCluster_earliestBacktrackTime :: Lens' DBCluster (Maybe UTCTime)
dbCluster_earliestBacktrackTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ISO8601
earliestBacktrackTime :: Maybe ISO8601
$sel:earliestBacktrackTime:DBCluster' :: DBCluster -> Maybe ISO8601
earliestBacktrackTime} -> Maybe ISO8601
earliestBacktrackTime) (\s :: DBCluster
s@DBCluster' {} Maybe ISO8601
a -> DBCluster
s {$sel:earliestBacktrackTime:DBCluster' :: Maybe ISO8601
earliestBacktrackTime = Maybe ISO8601
a} :: DBCluster) 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 earliest time to which a database can be restored with point-in-time
-- restore.
dbCluster_earliestRestorableTime :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.UTCTime)
dbCluster_earliestRestorableTime :: Lens' DBCluster (Maybe UTCTime)
dbCluster_earliestRestorableTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ISO8601
earliestRestorableTime :: Maybe ISO8601
$sel:earliestRestorableTime:DBCluster' :: DBCluster -> Maybe ISO8601
earliestRestorableTime} -> Maybe ISO8601
earliestRestorableTime) (\s :: DBCluster
s@DBCluster' {} Maybe ISO8601
a -> DBCluster
s {$sel:earliestRestorableTime:DBCluster' :: Maybe ISO8601
earliestRestorableTime = Maybe ISO8601
a} :: DBCluster) 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

-- | A list of log types that this DB cluster is configured to export to
-- CloudWatch Logs.
--
-- Log types vary by DB engine. For information about the log types for
-- each DB engine, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html Amazon RDS Database Log Files>
-- in the /Amazon Aurora User Guide./
dbCluster_enabledCloudwatchLogsExports :: Lens.Lens' DBCluster (Prelude.Maybe [Prelude.Text])
dbCluster_enabledCloudwatchLogsExports :: Lens' DBCluster (Maybe [Text])
dbCluster_enabledCloudwatchLogsExports = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [Text]
enabledCloudwatchLogsExports :: Maybe [Text]
$sel:enabledCloudwatchLogsExports:DBCluster' :: DBCluster -> Maybe [Text]
enabledCloudwatchLogsExports} -> Maybe [Text]
enabledCloudwatchLogsExports) (\s :: DBCluster
s@DBCluster' {} Maybe [Text]
a -> DBCluster
s {$sel:enabledCloudwatchLogsExports:DBCluster' :: Maybe [Text]
enabledCloudwatchLogsExports = Maybe [Text]
a} :: DBCluster) 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 connection endpoint for the primary instance of the DB
-- cluster.
dbCluster_endpoint :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_endpoint :: Lens' DBCluster (Maybe Text)
dbCluster_endpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
endpoint :: Maybe Text
$sel:endpoint:DBCluster' :: DBCluster -> Maybe Text
endpoint} -> Maybe Text
endpoint) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:endpoint:DBCluster' :: Maybe Text
endpoint = Maybe Text
a} :: DBCluster)

-- | The name of the database engine to be used for this DB cluster.
dbCluster_engine :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_engine :: Lens' DBCluster (Maybe Text)
dbCluster_engine = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
engine :: Maybe Text
$sel:engine:DBCluster' :: DBCluster -> Maybe Text
engine} -> Maybe Text
engine) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:engine:DBCluster' :: Maybe Text
engine = Maybe Text
a} :: DBCluster)

-- | The DB engine mode of the DB cluster, either @provisioned@,
-- @serverless@, @parallelquery@, @global@, or @multimaster@.
--
-- For more information, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html CreateDBCluster>.
dbCluster_engineMode :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_engineMode :: Lens' DBCluster (Maybe Text)
dbCluster_engineMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
engineMode :: Maybe Text
$sel:engineMode:DBCluster' :: DBCluster -> Maybe Text
engineMode} -> Maybe Text
engineMode) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:engineMode:DBCluster' :: Maybe Text
engineMode = Maybe Text
a} :: DBCluster)

-- | Indicates the database engine version.
dbCluster_engineVersion :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_engineVersion :: Lens' DBCluster (Maybe Text)
dbCluster_engineVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
engineVersion :: Maybe Text
$sel:engineVersion:DBCluster' :: DBCluster -> Maybe Text
engineVersion} -> Maybe Text
engineVersion) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:engineVersion:DBCluster' :: Maybe Text
engineVersion = Maybe Text
a} :: DBCluster)

-- | Specifies whether you have requested to enable write forwarding for a
-- secondary cluster in an Aurora global database. Because write forwarding
-- takes time to enable, check the value of @GlobalWriteForwardingStatus@
-- to confirm that the request has completed before using the write
-- forwarding feature for this cluster.
dbCluster_globalWriteForwardingRequested :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_globalWriteForwardingRequested :: Lens' DBCluster (Maybe Bool)
dbCluster_globalWriteForwardingRequested = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
globalWriteForwardingRequested :: Maybe Bool
$sel:globalWriteForwardingRequested:DBCluster' :: DBCluster -> Maybe Bool
globalWriteForwardingRequested} -> Maybe Bool
globalWriteForwardingRequested) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:globalWriteForwardingRequested:DBCluster' :: Maybe Bool
globalWriteForwardingRequested = Maybe Bool
a} :: DBCluster)

-- | Specifies whether a secondary cluster in an Aurora global database has
-- write forwarding enabled, not enabled, or is in the process of enabling
-- it.
dbCluster_globalWriteForwardingStatus :: Lens.Lens' DBCluster (Prelude.Maybe WriteForwardingStatus)
dbCluster_globalWriteForwardingStatus :: Lens' DBCluster (Maybe WriteForwardingStatus)
dbCluster_globalWriteForwardingStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe WriteForwardingStatus
globalWriteForwardingStatus :: Maybe WriteForwardingStatus
$sel:globalWriteForwardingStatus:DBCluster' :: DBCluster -> Maybe WriteForwardingStatus
globalWriteForwardingStatus} -> Maybe WriteForwardingStatus
globalWriteForwardingStatus) (\s :: DBCluster
s@DBCluster' {} Maybe WriteForwardingStatus
a -> DBCluster
s {$sel:globalWriteForwardingStatus:DBCluster' :: Maybe WriteForwardingStatus
globalWriteForwardingStatus = Maybe WriteForwardingStatus
a} :: DBCluster)

-- | Specifies the ID that Amazon Route 53 assigns when you create a hosted
-- zone.
dbCluster_hostedZoneId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_hostedZoneId :: Lens' DBCluster (Maybe Text)
dbCluster_hostedZoneId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
hostedZoneId :: Maybe Text
$sel:hostedZoneId:DBCluster' :: DBCluster -> Maybe Text
hostedZoneId} -> Maybe Text
hostedZoneId) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:hostedZoneId:DBCluster' :: Maybe Text
hostedZoneId = Maybe Text
a} :: DBCluster)

-- | A value that indicates whether the HTTP endpoint for an Aurora
-- Serverless v1 DB cluster is enabled.
--
-- When enabled, the HTTP endpoint provides a connectionless web service
-- API for running SQL queries on the Aurora Serverless v1 DB cluster. You
-- can also query your database from inside the RDS console with the query
-- editor.
--
-- For more information, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html Using the Data API for Aurora Serverless v1>
-- in the /Amazon Aurora User Guide/.
dbCluster_httpEndpointEnabled :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_httpEndpointEnabled :: Lens' DBCluster (Maybe Bool)
dbCluster_httpEndpointEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
httpEndpointEnabled :: Maybe Bool
$sel:httpEndpointEnabled:DBCluster' :: DBCluster -> Maybe Bool
httpEndpointEnabled} -> Maybe Bool
httpEndpointEnabled) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:httpEndpointEnabled:DBCluster' :: Maybe Bool
httpEndpointEnabled = Maybe Bool
a} :: DBCluster)

-- | A value that indicates whether the mapping of Amazon Web Services
-- Identity and Access Management (IAM) accounts to database accounts is
-- enabled.
dbCluster_iAMDatabaseAuthenticationEnabled :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_iAMDatabaseAuthenticationEnabled :: Lens' DBCluster (Maybe Bool)
dbCluster_iAMDatabaseAuthenticationEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
iAMDatabaseAuthenticationEnabled :: Maybe Bool
$sel:iAMDatabaseAuthenticationEnabled:DBCluster' :: DBCluster -> Maybe Bool
iAMDatabaseAuthenticationEnabled} -> Maybe Bool
iAMDatabaseAuthenticationEnabled) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:iAMDatabaseAuthenticationEnabled:DBCluster' :: Maybe Bool
iAMDatabaseAuthenticationEnabled = Maybe Bool
a} :: DBCluster)

-- | The Provisioned IOPS (I\/O operations per second) value.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_iops :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)
dbCluster_iops :: Lens' DBCluster (Maybe Int)
dbCluster_iops = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Int
iops :: Maybe Int
$sel:iops:DBCluster' :: DBCluster -> Maybe Int
iops} -> Maybe Int
iops) (\s :: DBCluster
s@DBCluster' {} Maybe Int
a -> DBCluster
s {$sel:iops:DBCluster' :: Maybe Int
iops = Maybe Int
a} :: DBCluster)

-- | If @StorageEncrypted@ is enabled, the Amazon Web Services KMS key
-- identifier for the encrypted DB cluster.
--
-- The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
-- ARN, or alias name for the KMS key.
dbCluster_kmsKeyId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_kmsKeyId :: Lens' DBCluster (Maybe Text)
dbCluster_kmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:DBCluster' :: DBCluster -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:kmsKeyId:DBCluster' :: Maybe Text
kmsKeyId = Maybe Text
a} :: DBCluster)

-- | Specifies the latest time to which a database can be restored with
-- point-in-time restore.
dbCluster_latestRestorableTime :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.UTCTime)
dbCluster_latestRestorableTime :: Lens' DBCluster (Maybe UTCTime)
dbCluster_latestRestorableTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ISO8601
latestRestorableTime :: Maybe ISO8601
$sel:latestRestorableTime:DBCluster' :: DBCluster -> Maybe ISO8601
latestRestorableTime} -> Maybe ISO8601
latestRestorableTime) (\s :: DBCluster
s@DBCluster' {} Maybe ISO8601
a -> DBCluster
s {$sel:latestRestorableTime:DBCluster' :: Maybe ISO8601
latestRestorableTime = Maybe ISO8601
a} :: DBCluster) 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

-- | Contains the secret managed by RDS in Amazon Web Services Secrets
-- Manager for the master user password.
--
-- For more information, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html Password management with Amazon Web Services Secrets Manager>
-- in the /Amazon RDS User Guide/ and
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html Password management with Amazon Web Services Secrets Manager>
-- in the /Amazon Aurora User Guide./
dbCluster_masterUserSecret :: Lens.Lens' DBCluster (Prelude.Maybe MasterUserSecret)
dbCluster_masterUserSecret :: Lens' DBCluster (Maybe MasterUserSecret)
dbCluster_masterUserSecret = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe MasterUserSecret
masterUserSecret :: Maybe MasterUserSecret
$sel:masterUserSecret:DBCluster' :: DBCluster -> Maybe MasterUserSecret
masterUserSecret} -> Maybe MasterUserSecret
masterUserSecret) (\s :: DBCluster
s@DBCluster' {} Maybe MasterUserSecret
a -> DBCluster
s {$sel:masterUserSecret:DBCluster' :: Maybe MasterUserSecret
masterUserSecret = Maybe MasterUserSecret
a} :: DBCluster)

-- | Contains the master username for the DB cluster.
dbCluster_masterUsername :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_masterUsername :: Lens' DBCluster (Maybe Text)
dbCluster_masterUsername = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
masterUsername :: Maybe Text
$sel:masterUsername:DBCluster' :: DBCluster -> Maybe Text
masterUsername} -> Maybe Text
masterUsername) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:masterUsername:DBCluster' :: Maybe Text
masterUsername = Maybe Text
a} :: DBCluster)

-- | The interval, in seconds, between points when Enhanced Monitoring
-- metrics are collected for the DB cluster.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_monitoringInterval :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)
dbCluster_monitoringInterval :: Lens' DBCluster (Maybe Int)
dbCluster_monitoringInterval = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Int
monitoringInterval :: Maybe Int
$sel:monitoringInterval:DBCluster' :: DBCluster -> Maybe Int
monitoringInterval} -> Maybe Int
monitoringInterval) (\s :: DBCluster
s@DBCluster' {} Maybe Int
a -> DBCluster
s {$sel:monitoringInterval:DBCluster' :: Maybe Int
monitoringInterval = Maybe Int
a} :: DBCluster)

-- | The ARN for the IAM role that permits RDS to send Enhanced Monitoring
-- metrics to Amazon CloudWatch Logs.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_monitoringRoleArn :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_monitoringRoleArn :: Lens' DBCluster (Maybe Text)
dbCluster_monitoringRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
monitoringRoleArn :: Maybe Text
$sel:monitoringRoleArn:DBCluster' :: DBCluster -> Maybe Text
monitoringRoleArn} -> Maybe Text
monitoringRoleArn) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:monitoringRoleArn:DBCluster' :: Maybe Text
monitoringRoleArn = Maybe Text
a} :: DBCluster)

-- | Specifies whether the DB cluster has instances in multiple Availability
-- Zones.
dbCluster_multiAZ :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_multiAZ :: Lens' DBCluster (Maybe Bool)
dbCluster_multiAZ = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
multiAZ :: Maybe Bool
$sel:multiAZ:DBCluster' :: DBCluster -> Maybe Bool
multiAZ} -> Maybe Bool
multiAZ) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:multiAZ:DBCluster' :: Maybe Bool
multiAZ = Maybe Bool
a} :: DBCluster)

-- | The network type of the DB instance.
--
-- Valid values:
--
-- -   @IPV4@
--
-- -   @DUAL@
--
-- The network type is determined by the @DBSubnetGroup@ specified for the
-- DB cluster. A @DBSubnetGroup@ can support only the IPv4 protocol or the
-- IPv4 and the IPv6 protocols (@DUAL@).
--
-- For more information, see
-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html Working with a DB instance in a VPC>
-- in the /Amazon Aurora User Guide./
--
-- This setting is only for Aurora DB clusters.
dbCluster_networkType :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_networkType :: Lens' DBCluster (Maybe Text)
dbCluster_networkType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
networkType :: Maybe Text
$sel:networkType:DBCluster' :: DBCluster -> Maybe Text
networkType} -> Maybe Text
networkType) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:networkType:DBCluster' :: Maybe Text
networkType = Maybe Text
a} :: DBCluster)

-- | A value that specifies that changes to the DB cluster are pending. This
-- element is only included when changes are pending. Specific changes are
-- identified by subelements.
dbCluster_pendingModifiedValues :: Lens.Lens' DBCluster (Prelude.Maybe ClusterPendingModifiedValues)
dbCluster_pendingModifiedValues :: Lens' DBCluster (Maybe ClusterPendingModifiedValues)
dbCluster_pendingModifiedValues = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ClusterPendingModifiedValues
pendingModifiedValues :: Maybe ClusterPendingModifiedValues
$sel:pendingModifiedValues:DBCluster' :: DBCluster -> Maybe ClusterPendingModifiedValues
pendingModifiedValues} -> Maybe ClusterPendingModifiedValues
pendingModifiedValues) (\s :: DBCluster
s@DBCluster' {} Maybe ClusterPendingModifiedValues
a -> DBCluster
s {$sel:pendingModifiedValues:DBCluster' :: Maybe ClusterPendingModifiedValues
pendingModifiedValues = Maybe ClusterPendingModifiedValues
a} :: DBCluster)

-- | Specifies the progress of the operation as a percentage.
dbCluster_percentProgress :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_percentProgress :: Lens' DBCluster (Maybe Text)
dbCluster_percentProgress = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
percentProgress :: Maybe Text
$sel:percentProgress:DBCluster' :: DBCluster -> Maybe Text
percentProgress} -> Maybe Text
percentProgress) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:percentProgress:DBCluster' :: Maybe Text
percentProgress = Maybe Text
a} :: DBCluster)

-- | True if Performance Insights is enabled for the DB cluster, and
-- otherwise false.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_performanceInsightsEnabled :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_performanceInsightsEnabled :: Lens' DBCluster (Maybe Bool)
dbCluster_performanceInsightsEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
performanceInsightsEnabled :: Maybe Bool
$sel:performanceInsightsEnabled:DBCluster' :: DBCluster -> Maybe Bool
performanceInsightsEnabled} -> Maybe Bool
performanceInsightsEnabled) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:performanceInsightsEnabled:DBCluster' :: Maybe Bool
performanceInsightsEnabled = Maybe Bool
a} :: DBCluster)

-- | The Amazon Web Services KMS key identifier for encryption of Performance
-- Insights data.
--
-- The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
-- ARN, or alias name for the KMS key.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_performanceInsightsKMSKeyId :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_performanceInsightsKMSKeyId :: Lens' DBCluster (Maybe Text)
dbCluster_performanceInsightsKMSKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
performanceInsightsKMSKeyId :: Maybe Text
$sel:performanceInsightsKMSKeyId:DBCluster' :: DBCluster -> Maybe Text
performanceInsightsKMSKeyId} -> Maybe Text
performanceInsightsKMSKeyId) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:performanceInsightsKMSKeyId:DBCluster' :: Maybe Text
performanceInsightsKMSKeyId = Maybe Text
a} :: DBCluster)

-- | The number of days to retain Performance Insights data. The default is 7
-- days. The following values are valid:
--
-- -   7
--
-- -   /month/ * 31, where /month/ is a number of months from 1-23
--
-- -   731
--
-- For example, the following values are valid:
--
-- -   93 (3 months * 31)
--
-- -   341 (11 months * 31)
--
-- -   589 (19 months * 31)
--
-- -   731
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_performanceInsightsRetentionPeriod :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)
dbCluster_performanceInsightsRetentionPeriod :: Lens' DBCluster (Maybe Int)
dbCluster_performanceInsightsRetentionPeriod = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Int
performanceInsightsRetentionPeriod :: Maybe Int
$sel:performanceInsightsRetentionPeriod:DBCluster' :: DBCluster -> Maybe Int
performanceInsightsRetentionPeriod} -> Maybe Int
performanceInsightsRetentionPeriod) (\s :: DBCluster
s@DBCluster' {} Maybe Int
a -> DBCluster
s {$sel:performanceInsightsRetentionPeriod:DBCluster' :: Maybe Int
performanceInsightsRetentionPeriod = Maybe Int
a} :: DBCluster)

-- | Specifies the port that the database engine is listening on.
dbCluster_port :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Int)
dbCluster_port :: Lens' DBCluster (Maybe Int)
dbCluster_port = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Int
port :: Maybe Int
$sel:port:DBCluster' :: DBCluster -> Maybe Int
port} -> Maybe Int
port) (\s :: DBCluster
s@DBCluster' {} Maybe Int
a -> DBCluster
s {$sel:port:DBCluster' :: Maybe Int
port = Maybe Int
a} :: DBCluster)

-- | Specifies the daily time range during which automated backups are
-- created if automated backups are enabled, as determined by the
-- @BackupRetentionPeriod@.
dbCluster_preferredBackupWindow :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_preferredBackupWindow :: Lens' DBCluster (Maybe Text)
dbCluster_preferredBackupWindow = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
preferredBackupWindow :: Maybe Text
$sel:preferredBackupWindow:DBCluster' :: DBCluster -> Maybe Text
preferredBackupWindow} -> Maybe Text
preferredBackupWindow) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:preferredBackupWindow:DBCluster' :: Maybe Text
preferredBackupWindow = Maybe Text
a} :: DBCluster)

-- | Specifies the weekly time range during which system maintenance can
-- occur, in Universal Coordinated Time (UTC).
dbCluster_preferredMaintenanceWindow :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_preferredMaintenanceWindow :: Lens' DBCluster (Maybe Text)
dbCluster_preferredMaintenanceWindow = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
preferredMaintenanceWindow :: Maybe Text
$sel:preferredMaintenanceWindow:DBCluster' :: DBCluster -> Maybe Text
preferredMaintenanceWindow} -> Maybe Text
preferredMaintenanceWindow) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:preferredMaintenanceWindow:DBCluster' :: Maybe Text
preferredMaintenanceWindow = Maybe Text
a} :: DBCluster)

-- | Specifies the accessibility options for the DB instance.
--
-- When the DB instance is publicly accessible, its Domain Name System
-- (DNS) endpoint resolves to the private IP address from within the DB
-- instance\'s virtual private cloud (VPC). It resolves to the public IP
-- address from outside of the DB instance\'s VPC. Access to the DB
-- instance is ultimately controlled by the security group it uses. That
-- public access is not permitted if the security group assigned to the DB
-- instance doesn\'t permit it.
--
-- When the DB instance isn\'t publicly accessible, it is an internal DB
-- instance with a DNS name that resolves to a private IP address.
--
-- For more information, see CreateDBInstance.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_publiclyAccessible :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_publiclyAccessible :: Lens' DBCluster (Maybe Bool)
dbCluster_publiclyAccessible = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
publiclyAccessible :: Maybe Bool
$sel:publiclyAccessible:DBCluster' :: DBCluster -> Maybe Bool
publiclyAccessible} -> Maybe Bool
publiclyAccessible) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:publiclyAccessible:DBCluster' :: Maybe Bool
publiclyAccessible = Maybe Bool
a} :: DBCluster)

-- | Contains one or more identifiers of the read replicas associated with
-- this DB cluster.
dbCluster_readReplicaIdentifiers :: Lens.Lens' DBCluster (Prelude.Maybe [Prelude.Text])
dbCluster_readReplicaIdentifiers :: Lens' DBCluster (Maybe [Text])
dbCluster_readReplicaIdentifiers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [Text]
readReplicaIdentifiers :: Maybe [Text]
$sel:readReplicaIdentifiers:DBCluster' :: DBCluster -> Maybe [Text]
readReplicaIdentifiers} -> Maybe [Text]
readReplicaIdentifiers) (\s :: DBCluster
s@DBCluster' {} Maybe [Text]
a -> DBCluster
s {$sel:readReplicaIdentifiers:DBCluster' :: Maybe [Text]
readReplicaIdentifiers = Maybe [Text]
a} :: DBCluster) 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 reader endpoint for the DB cluster. The reader endpoint for a DB
-- cluster load-balances connections across the Aurora Replicas that are
-- available in a DB cluster. As clients request new connections to the
-- reader endpoint, Aurora distributes the connection requests among the
-- Aurora Replicas in the DB cluster. This functionality can help balance
-- your read workload across multiple Aurora Replicas in your DB cluster.
--
-- If a failover occurs, and the Aurora Replica that you are connected to
-- is promoted to be the primary instance, your connection is dropped. To
-- continue sending your read workload to other Aurora Replicas in the
-- cluster, you can then reconnect to the reader endpoint.
dbCluster_readerEndpoint :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_readerEndpoint :: Lens' DBCluster (Maybe Text)
dbCluster_readerEndpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
readerEndpoint :: Maybe Text
$sel:readerEndpoint:DBCluster' :: DBCluster -> Maybe Text
readerEndpoint} -> Maybe Text
readerEndpoint) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:readerEndpoint:DBCluster' :: Maybe Text
readerEndpoint = Maybe Text
a} :: DBCluster)

-- | Contains the identifier of the source DB cluster if this DB cluster is a
-- read replica.
dbCluster_replicationSourceIdentifier :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_replicationSourceIdentifier :: Lens' DBCluster (Maybe Text)
dbCluster_replicationSourceIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
replicationSourceIdentifier :: Maybe Text
$sel:replicationSourceIdentifier:DBCluster' :: DBCluster -> Maybe Text
replicationSourceIdentifier} -> Maybe Text
replicationSourceIdentifier) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:replicationSourceIdentifier:DBCluster' :: Maybe Text
replicationSourceIdentifier = Maybe Text
a} :: DBCluster)

-- | Undocumented member.
dbCluster_scalingConfigurationInfo :: Lens.Lens' DBCluster (Prelude.Maybe ScalingConfigurationInfo)
dbCluster_scalingConfigurationInfo :: Lens' DBCluster (Maybe ScalingConfigurationInfo)
dbCluster_scalingConfigurationInfo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ScalingConfigurationInfo
scalingConfigurationInfo :: Maybe ScalingConfigurationInfo
$sel:scalingConfigurationInfo:DBCluster' :: DBCluster -> Maybe ScalingConfigurationInfo
scalingConfigurationInfo} -> Maybe ScalingConfigurationInfo
scalingConfigurationInfo) (\s :: DBCluster
s@DBCluster' {} Maybe ScalingConfigurationInfo
a -> DBCluster
s {$sel:scalingConfigurationInfo:DBCluster' :: Maybe ScalingConfigurationInfo
scalingConfigurationInfo = Maybe ScalingConfigurationInfo
a} :: DBCluster)

-- | Undocumented member.
dbCluster_serverlessV2ScalingConfiguration :: Lens.Lens' DBCluster (Prelude.Maybe ServerlessV2ScalingConfigurationInfo)
dbCluster_serverlessV2ScalingConfiguration :: Lens' DBCluster (Maybe ServerlessV2ScalingConfigurationInfo)
dbCluster_serverlessV2ScalingConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe ServerlessV2ScalingConfigurationInfo
serverlessV2ScalingConfiguration :: Maybe ServerlessV2ScalingConfigurationInfo
$sel:serverlessV2ScalingConfiguration:DBCluster' :: DBCluster -> Maybe ServerlessV2ScalingConfigurationInfo
serverlessV2ScalingConfiguration} -> Maybe ServerlessV2ScalingConfigurationInfo
serverlessV2ScalingConfiguration) (\s :: DBCluster
s@DBCluster' {} Maybe ServerlessV2ScalingConfigurationInfo
a -> DBCluster
s {$sel:serverlessV2ScalingConfiguration:DBCluster' :: Maybe ServerlessV2ScalingConfigurationInfo
serverlessV2ScalingConfiguration = Maybe ServerlessV2ScalingConfigurationInfo
a} :: DBCluster)

-- | Specifies the current state of this DB cluster.
dbCluster_status :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_status :: Lens' DBCluster (Maybe Text)
dbCluster_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
status :: Maybe Text
$sel:status:DBCluster' :: DBCluster -> Maybe Text
status} -> Maybe Text
status) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:status:DBCluster' :: Maybe Text
status = Maybe Text
a} :: DBCluster)

-- | Specifies whether the DB cluster is encrypted.
dbCluster_storageEncrypted :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Bool)
dbCluster_storageEncrypted :: Lens' DBCluster (Maybe Bool)
dbCluster_storageEncrypted = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Bool
storageEncrypted :: Maybe Bool
$sel:storageEncrypted:DBCluster' :: DBCluster -> Maybe Bool
storageEncrypted} -> Maybe Bool
storageEncrypted) (\s :: DBCluster
s@DBCluster' {} Maybe Bool
a -> DBCluster
s {$sel:storageEncrypted:DBCluster' :: Maybe Bool
storageEncrypted = Maybe Bool
a} :: DBCluster)

-- | The storage type associated with the DB cluster.
--
-- This setting is only for non-Aurora Multi-AZ DB clusters.
dbCluster_storageType :: Lens.Lens' DBCluster (Prelude.Maybe Prelude.Text)
dbCluster_storageType :: Lens' DBCluster (Maybe Text)
dbCluster_storageType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe Text
storageType :: Maybe Text
$sel:storageType:DBCluster' :: DBCluster -> Maybe Text
storageType} -> Maybe Text
storageType) (\s :: DBCluster
s@DBCluster' {} Maybe Text
a -> DBCluster
s {$sel:storageType:DBCluster' :: Maybe Text
storageType = Maybe Text
a} :: DBCluster)

-- | Undocumented member.
dbCluster_tagList :: Lens.Lens' DBCluster (Prelude.Maybe [Tag])
dbCluster_tagList :: Lens' DBCluster (Maybe [Tag])
dbCluster_tagList = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [Tag]
tagList :: Maybe [Tag]
$sel:tagList:DBCluster' :: DBCluster -> Maybe [Tag]
tagList} -> Maybe [Tag]
tagList) (\s :: DBCluster
s@DBCluster' {} Maybe [Tag]
a -> DBCluster
s {$sel:tagList:DBCluster' :: Maybe [Tag]
tagList = Maybe [Tag]
a} :: DBCluster) 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

-- | Provides a list of VPC security groups that the DB cluster belongs to.
dbCluster_vpcSecurityGroups :: Lens.Lens' DBCluster (Prelude.Maybe [VpcSecurityGroupMembership])
dbCluster_vpcSecurityGroups :: Lens' DBCluster (Maybe [VpcSecurityGroupMembership])
dbCluster_vpcSecurityGroups = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DBCluster' {Maybe [VpcSecurityGroupMembership]
vpcSecurityGroups :: Maybe [VpcSecurityGroupMembership]
$sel:vpcSecurityGroups:DBCluster' :: DBCluster -> Maybe [VpcSecurityGroupMembership]
vpcSecurityGroups} -> Maybe [VpcSecurityGroupMembership]
vpcSecurityGroups) (\s :: DBCluster
s@DBCluster' {} Maybe [VpcSecurityGroupMembership]
a -> DBCluster
s {$sel:vpcSecurityGroups:DBCluster' :: Maybe [VpcSecurityGroupMembership]
vpcSecurityGroups = Maybe [VpcSecurityGroupMembership]
a} :: DBCluster) 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

instance Data.FromXML DBCluster where
  parseXML :: [Node] -> Either String DBCluster
parseXML [Node]
x =
    Maybe Text
-> Maybe Text
-> Maybe ActivityStreamMode
-> Maybe ActivityStreamStatus
-> Maybe Int
-> Maybe [DBClusterRole]
-> Maybe Bool
-> Maybe ISO8601
-> Maybe [Text]
-> Maybe Integer
-> Maybe Integer
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe ISO8601
-> Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [DBClusterMember]
-> Maybe [DBClusterOptionGroupStatus]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe [DomainMembership]
-> Maybe ISO8601
-> Maybe ISO8601
-> Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe WriteForwardingStatus
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe Text
-> Maybe ISO8601
-> Maybe MasterUserSecret
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe ClusterPendingModifiedValues
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe ScalingConfigurationInfo
-> Maybe ServerlessV2ScalingConfigurationInfo
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe [Tag]
-> Maybe [VpcSecurityGroupMembership]
-> DBCluster
DBCluster'
      forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ActivityStreamKinesisStreamName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ActivityStreamKmsKeyId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ActivityStreamMode")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ActivityStreamStatus")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AllocatedStorage")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AssociatedRoles"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"DBClusterRole")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AutoMinorVersionUpgrade")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AutomaticRestartTime")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AvailabilityZones"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"AvailabilityZone")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"BacktrackConsumedChangeRecords")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"BacktrackWindow")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"BackupRetentionPeriod")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Capacity")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"CharacterSetName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"CloneGroupId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ClusterCreateTime")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"CopyTagsToSnapshot")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"CrossAccountClone")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"CustomEndpoints"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DBClusterArn")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DBClusterIdentifier")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DBClusterInstanceClass")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DBClusterMembers"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"DBClusterMember")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DBClusterOptionGroupMemberships"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"DBClusterOptionGroup")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DBClusterParameterGroup")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DBSubnetGroup")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DBSystemId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DatabaseName")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DbClusterResourceId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DeletionProtection")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"DomainMemberships"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"DomainMembership")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EarliestBacktrackTime")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EarliestRestorableTime")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EnabledCloudwatchLogsExports"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Endpoint")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Engine")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EngineMode")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EngineVersion")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"GlobalWriteForwardingRequested")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"GlobalWriteForwardingStatus")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"HostedZoneId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"HttpEndpointEnabled")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"IAMDatabaseAuthenticationEnabled")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Iops")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"KmsKeyId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"LatestRestorableTime")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"MasterUserSecret")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"MasterUsername")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"MonitoringInterval")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"MonitoringRoleArn")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"MultiAZ")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"NetworkType")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PendingModifiedValues")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PercentProgress")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PerformanceInsightsEnabled")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PerformanceInsightsKMSKeyId")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PerformanceInsightsRetentionPeriod")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Port")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PreferredBackupWindow")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PreferredMaintenanceWindow")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"PubliclyAccessible")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ReadReplicaIdentifiers"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"ReadReplicaIdentifier")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ReaderEndpoint")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ReplicationSourceIdentifier")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ScalingConfigurationInfo")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ServerlessV2ScalingConfiguration")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Status")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"StorageEncrypted")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"StorageType")
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"TagList"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"Tag")
                  )
      forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
                      forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"VpcSecurityGroups"
                      forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                      forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may
                        (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"VpcSecurityGroupMembership")
                  )

instance Prelude.Hashable DBCluster where
  hashWithSalt :: Int -> DBCluster -> Int
hashWithSalt Int
_salt DBCluster' {Maybe Bool
Maybe Int
Maybe Integer
Maybe [Text]
Maybe [DBClusterMember]
Maybe [DBClusterOptionGroupStatus]
Maybe [DBClusterRole]
Maybe [DomainMembership]
Maybe [Tag]
Maybe [VpcSecurityGroupMembership]
Maybe Text
Maybe ISO8601
Maybe ActivityStreamMode
Maybe ActivityStreamStatus
Maybe MasterUserSecret
Maybe ClusterPendingModifiedValues
Maybe ScalingConfigurationInfo
Maybe ServerlessV2ScalingConfigurationInfo
Maybe WriteForwardingStatus
vpcSecurityGroups :: Maybe [VpcSecurityGroupMembership]
tagList :: Maybe [Tag]
storageType :: Maybe Text
storageEncrypted :: Maybe Bool
status :: Maybe Text
serverlessV2ScalingConfiguration :: Maybe ServerlessV2ScalingConfigurationInfo
scalingConfigurationInfo :: Maybe ScalingConfigurationInfo
replicationSourceIdentifier :: Maybe Text
readerEndpoint :: Maybe Text
readReplicaIdentifiers :: Maybe [Text]
publiclyAccessible :: Maybe Bool
preferredMaintenanceWindow :: Maybe Text
preferredBackupWindow :: Maybe Text
port :: Maybe Int
performanceInsightsRetentionPeriod :: Maybe Int
performanceInsightsKMSKeyId :: Maybe Text
performanceInsightsEnabled :: Maybe Bool
percentProgress :: Maybe Text
pendingModifiedValues :: Maybe ClusterPendingModifiedValues
networkType :: Maybe Text
multiAZ :: Maybe Bool
monitoringRoleArn :: Maybe Text
monitoringInterval :: Maybe Int
masterUsername :: Maybe Text
masterUserSecret :: Maybe MasterUserSecret
latestRestorableTime :: Maybe ISO8601
kmsKeyId :: Maybe Text
iops :: Maybe Int
iAMDatabaseAuthenticationEnabled :: Maybe Bool
httpEndpointEnabled :: Maybe Bool
hostedZoneId :: Maybe Text
globalWriteForwardingStatus :: Maybe WriteForwardingStatus
globalWriteForwardingRequested :: Maybe Bool
engineVersion :: Maybe Text
engineMode :: Maybe Text
engine :: Maybe Text
endpoint :: Maybe Text
enabledCloudwatchLogsExports :: Maybe [Text]
earliestRestorableTime :: Maybe ISO8601
earliestBacktrackTime :: Maybe ISO8601
domainMemberships :: Maybe [DomainMembership]
deletionProtection :: Maybe Bool
dbClusterResourceId :: Maybe Text
databaseName :: Maybe Text
dbSystemId :: Maybe Text
dbSubnetGroup :: Maybe Text
dbClusterParameterGroup :: Maybe Text
dbClusterOptionGroupMemberships :: Maybe [DBClusterOptionGroupStatus]
dbClusterMembers :: Maybe [DBClusterMember]
dbClusterInstanceClass :: Maybe Text
dbClusterIdentifier :: Maybe Text
dbClusterArn :: Maybe Text
customEndpoints :: Maybe [Text]
crossAccountClone :: Maybe Bool
copyTagsToSnapshot :: Maybe Bool
clusterCreateTime :: Maybe ISO8601
cloneGroupId :: Maybe Text
characterSetName :: Maybe Text
capacity :: Maybe Int
backupRetentionPeriod :: Maybe Int
backtrackWindow :: Maybe Integer
backtrackConsumedChangeRecords :: Maybe Integer
availabilityZones :: Maybe [Text]
automaticRestartTime :: Maybe ISO8601
autoMinorVersionUpgrade :: Maybe Bool
associatedRoles :: Maybe [DBClusterRole]
allocatedStorage :: Maybe Int
activityStreamStatus :: Maybe ActivityStreamStatus
activityStreamMode :: Maybe ActivityStreamMode
activityStreamKmsKeyId :: Maybe Text
activityStreamKinesisStreamName :: Maybe Text
$sel:vpcSecurityGroups:DBCluster' :: DBCluster -> Maybe [VpcSecurityGroupMembership]
$sel:tagList:DBCluster' :: DBCluster -> Maybe [Tag]
$sel:storageType:DBCluster' :: DBCluster -> Maybe Text
$sel:storageEncrypted:DBCluster' :: DBCluster -> Maybe Bool
$sel:status:DBCluster' :: DBCluster -> Maybe Text
$sel:serverlessV2ScalingConfiguration:DBCluster' :: DBCluster -> Maybe ServerlessV2ScalingConfigurationInfo
$sel:scalingConfigurationInfo:DBCluster' :: DBCluster -> Maybe ScalingConfigurationInfo
$sel:replicationSourceIdentifier:DBCluster' :: DBCluster -> Maybe Text
$sel:readerEndpoint:DBCluster' :: DBCluster -> Maybe Text
$sel:readReplicaIdentifiers:DBCluster' :: DBCluster -> Maybe [Text]
$sel:publiclyAccessible:DBCluster' :: DBCluster -> Maybe Bool
$sel:preferredMaintenanceWindow:DBCluster' :: DBCluster -> Maybe Text
$sel:preferredBackupWindow:DBCluster' :: DBCluster -> Maybe Text
$sel:port:DBCluster' :: DBCluster -> Maybe Int
$sel:performanceInsightsRetentionPeriod:DBCluster' :: DBCluster -> Maybe Int
$sel:performanceInsightsKMSKeyId:DBCluster' :: DBCluster -> Maybe Text
$sel:performanceInsightsEnabled:DBCluster' :: DBCluster -> Maybe Bool
$sel:percentProgress:DBCluster' :: DBCluster -> Maybe Text
$sel:pendingModifiedValues:DBCluster' :: DBCluster -> Maybe ClusterPendingModifiedValues
$sel:networkType:DBCluster' :: DBCluster -> Maybe Text
$sel:multiAZ:DBCluster' :: DBCluster -> Maybe Bool
$sel:monitoringRoleArn:DBCluster' :: DBCluster -> Maybe Text
$sel:monitoringInterval:DBCluster' :: DBCluster -> Maybe Int
$sel:masterUsername:DBCluster' :: DBCluster -> Maybe Text
$sel:masterUserSecret:DBCluster' :: DBCluster -> Maybe MasterUserSecret
$sel:latestRestorableTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:kmsKeyId:DBCluster' :: DBCluster -> Maybe Text
$sel:iops:DBCluster' :: DBCluster -> Maybe Int
$sel:iAMDatabaseAuthenticationEnabled:DBCluster' :: DBCluster -> Maybe Bool
$sel:httpEndpointEnabled:DBCluster' :: DBCluster -> Maybe Bool
$sel:hostedZoneId:DBCluster' :: DBCluster -> Maybe Text
$sel:globalWriteForwardingStatus:DBCluster' :: DBCluster -> Maybe WriteForwardingStatus
$sel:globalWriteForwardingRequested:DBCluster' :: DBCluster -> Maybe Bool
$sel:engineVersion:DBCluster' :: DBCluster -> Maybe Text
$sel:engineMode:DBCluster' :: DBCluster -> Maybe Text
$sel:engine:DBCluster' :: DBCluster -> Maybe Text
$sel:endpoint:DBCluster' :: DBCluster -> Maybe Text
$sel:enabledCloudwatchLogsExports:DBCluster' :: DBCluster -> Maybe [Text]
$sel:earliestRestorableTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:earliestBacktrackTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:domainMemberships:DBCluster' :: DBCluster -> Maybe [DomainMembership]
$sel:deletionProtection:DBCluster' :: DBCluster -> Maybe Bool
$sel:dbClusterResourceId:DBCluster' :: DBCluster -> Maybe Text
$sel:databaseName:DBCluster' :: DBCluster -> Maybe Text
$sel:dbSystemId:DBCluster' :: DBCluster -> Maybe Text
$sel:dbSubnetGroup:DBCluster' :: DBCluster -> Maybe Text
$sel:dbClusterParameterGroup:DBCluster' :: DBCluster -> Maybe Text
$sel:dbClusterOptionGroupMemberships:DBCluster' :: DBCluster -> Maybe [DBClusterOptionGroupStatus]
$sel:dbClusterMembers:DBCluster' :: DBCluster -> Maybe [DBClusterMember]
$sel:dbClusterInstanceClass:DBCluster' :: DBCluster -> Maybe Text
$sel:dbClusterIdentifier:DBCluster' :: DBCluster -> Maybe Text
$sel:dbClusterArn:DBCluster' :: DBCluster -> Maybe Text
$sel:customEndpoints:DBCluster' :: DBCluster -> Maybe [Text]
$sel:crossAccountClone:DBCluster' :: DBCluster -> Maybe Bool
$sel:copyTagsToSnapshot:DBCluster' :: DBCluster -> Maybe Bool
$sel:clusterCreateTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:cloneGroupId:DBCluster' :: DBCluster -> Maybe Text
$sel:characterSetName:DBCluster' :: DBCluster -> Maybe Text
$sel:capacity:DBCluster' :: DBCluster -> Maybe Int
$sel:backupRetentionPeriod:DBCluster' :: DBCluster -> Maybe Int
$sel:backtrackWindow:DBCluster' :: DBCluster -> Maybe Integer
$sel:backtrackConsumedChangeRecords:DBCluster' :: DBCluster -> Maybe Integer
$sel:availabilityZones:DBCluster' :: DBCluster -> Maybe [Text]
$sel:automaticRestartTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:autoMinorVersionUpgrade:DBCluster' :: DBCluster -> Maybe Bool
$sel:associatedRoles:DBCluster' :: DBCluster -> Maybe [DBClusterRole]
$sel:allocatedStorage:DBCluster' :: DBCluster -> Maybe Int
$sel:activityStreamStatus:DBCluster' :: DBCluster -> Maybe ActivityStreamStatus
$sel:activityStreamMode:DBCluster' :: DBCluster -> Maybe ActivityStreamMode
$sel:activityStreamKmsKeyId:DBCluster' :: DBCluster -> Maybe Text
$sel:activityStreamKinesisStreamName:DBCluster' :: DBCluster -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
activityStreamKinesisStreamName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
activityStreamKmsKeyId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ActivityStreamMode
activityStreamMode
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ActivityStreamStatus
activityStreamStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
allocatedStorage
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [DBClusterRole]
associatedRoles
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
autoMinorVersionUpgrade
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
automaticRestartTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
availabilityZones
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
backtrackConsumedChangeRecords
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
backtrackWindow
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
backupRetentionPeriod
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
capacity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
characterSetName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
cloneGroupId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
clusterCreateTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
copyTagsToSnapshot
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
crossAccountClone
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
customEndpoints
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dbClusterArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dbClusterIdentifier
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dbClusterInstanceClass
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [DBClusterMember]
dbClusterMembers
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [DBClusterOptionGroupStatus]
dbClusterOptionGroupMemberships
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dbClusterParameterGroup
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dbSubnetGroup
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dbSystemId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
databaseName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dbClusterResourceId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
deletionProtection
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [DomainMembership]
domainMemberships
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
earliestBacktrackTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
earliestRestorableTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
enabledCloudwatchLogsExports
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
endpoint
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
engine
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
engineMode
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
engineVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
globalWriteForwardingRequested
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe WriteForwardingStatus
globalWriteForwardingStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
hostedZoneId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
httpEndpointEnabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
iAMDatabaseAuthenticationEnabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
iops
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kmsKeyId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
latestRestorableTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MasterUserSecret
masterUserSecret
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
masterUsername
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
monitoringInterval
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
monitoringRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
multiAZ
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
networkType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ClusterPendingModifiedValues
pendingModifiedValues
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
percentProgress
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
performanceInsightsEnabled
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
performanceInsightsKMSKeyId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
performanceInsightsRetentionPeriod
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
port
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
preferredBackupWindow
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
preferredMaintenanceWindow
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
publiclyAccessible
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
readReplicaIdentifiers
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
readerEndpoint
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
replicationSourceIdentifier
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ScalingConfigurationInfo
scalingConfigurationInfo
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ServerlessV2ScalingConfigurationInfo
serverlessV2ScalingConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
status
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
storageEncrypted
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
storageType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tagList
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [VpcSecurityGroupMembership]
vpcSecurityGroups

instance Prelude.NFData DBCluster where
  rnf :: DBCluster -> ()
rnf DBCluster' {Maybe Bool
Maybe Int
Maybe Integer
Maybe [Text]
Maybe [DBClusterMember]
Maybe [DBClusterOptionGroupStatus]
Maybe [DBClusterRole]
Maybe [DomainMembership]
Maybe [Tag]
Maybe [VpcSecurityGroupMembership]
Maybe Text
Maybe ISO8601
Maybe ActivityStreamMode
Maybe ActivityStreamStatus
Maybe MasterUserSecret
Maybe ClusterPendingModifiedValues
Maybe ScalingConfigurationInfo
Maybe ServerlessV2ScalingConfigurationInfo
Maybe WriteForwardingStatus
vpcSecurityGroups :: Maybe [VpcSecurityGroupMembership]
tagList :: Maybe [Tag]
storageType :: Maybe Text
storageEncrypted :: Maybe Bool
status :: Maybe Text
serverlessV2ScalingConfiguration :: Maybe ServerlessV2ScalingConfigurationInfo
scalingConfigurationInfo :: Maybe ScalingConfigurationInfo
replicationSourceIdentifier :: Maybe Text
readerEndpoint :: Maybe Text
readReplicaIdentifiers :: Maybe [Text]
publiclyAccessible :: Maybe Bool
preferredMaintenanceWindow :: Maybe Text
preferredBackupWindow :: Maybe Text
port :: Maybe Int
performanceInsightsRetentionPeriod :: Maybe Int
performanceInsightsKMSKeyId :: Maybe Text
performanceInsightsEnabled :: Maybe Bool
percentProgress :: Maybe Text
pendingModifiedValues :: Maybe ClusterPendingModifiedValues
networkType :: Maybe Text
multiAZ :: Maybe Bool
monitoringRoleArn :: Maybe Text
monitoringInterval :: Maybe Int
masterUsername :: Maybe Text
masterUserSecret :: Maybe MasterUserSecret
latestRestorableTime :: Maybe ISO8601
kmsKeyId :: Maybe Text
iops :: Maybe Int
iAMDatabaseAuthenticationEnabled :: Maybe Bool
httpEndpointEnabled :: Maybe Bool
hostedZoneId :: Maybe Text
globalWriteForwardingStatus :: Maybe WriteForwardingStatus
globalWriteForwardingRequested :: Maybe Bool
engineVersion :: Maybe Text
engineMode :: Maybe Text
engine :: Maybe Text
endpoint :: Maybe Text
enabledCloudwatchLogsExports :: Maybe [Text]
earliestRestorableTime :: Maybe ISO8601
earliestBacktrackTime :: Maybe ISO8601
domainMemberships :: Maybe [DomainMembership]
deletionProtection :: Maybe Bool
dbClusterResourceId :: Maybe Text
databaseName :: Maybe Text
dbSystemId :: Maybe Text
dbSubnetGroup :: Maybe Text
dbClusterParameterGroup :: Maybe Text
dbClusterOptionGroupMemberships :: Maybe [DBClusterOptionGroupStatus]
dbClusterMembers :: Maybe [DBClusterMember]
dbClusterInstanceClass :: Maybe Text
dbClusterIdentifier :: Maybe Text
dbClusterArn :: Maybe Text
customEndpoints :: Maybe [Text]
crossAccountClone :: Maybe Bool
copyTagsToSnapshot :: Maybe Bool
clusterCreateTime :: Maybe ISO8601
cloneGroupId :: Maybe Text
characterSetName :: Maybe Text
capacity :: Maybe Int
backupRetentionPeriod :: Maybe Int
backtrackWindow :: Maybe Integer
backtrackConsumedChangeRecords :: Maybe Integer
availabilityZones :: Maybe [Text]
automaticRestartTime :: Maybe ISO8601
autoMinorVersionUpgrade :: Maybe Bool
associatedRoles :: Maybe [DBClusterRole]
allocatedStorage :: Maybe Int
activityStreamStatus :: Maybe ActivityStreamStatus
activityStreamMode :: Maybe ActivityStreamMode
activityStreamKmsKeyId :: Maybe Text
activityStreamKinesisStreamName :: Maybe Text
$sel:vpcSecurityGroups:DBCluster' :: DBCluster -> Maybe [VpcSecurityGroupMembership]
$sel:tagList:DBCluster' :: DBCluster -> Maybe [Tag]
$sel:storageType:DBCluster' :: DBCluster -> Maybe Text
$sel:storageEncrypted:DBCluster' :: DBCluster -> Maybe Bool
$sel:status:DBCluster' :: DBCluster -> Maybe Text
$sel:serverlessV2ScalingConfiguration:DBCluster' :: DBCluster -> Maybe ServerlessV2ScalingConfigurationInfo
$sel:scalingConfigurationInfo:DBCluster' :: DBCluster -> Maybe ScalingConfigurationInfo
$sel:replicationSourceIdentifier:DBCluster' :: DBCluster -> Maybe Text
$sel:readerEndpoint:DBCluster' :: DBCluster -> Maybe Text
$sel:readReplicaIdentifiers:DBCluster' :: DBCluster -> Maybe [Text]
$sel:publiclyAccessible:DBCluster' :: DBCluster -> Maybe Bool
$sel:preferredMaintenanceWindow:DBCluster' :: DBCluster -> Maybe Text
$sel:preferredBackupWindow:DBCluster' :: DBCluster -> Maybe Text
$sel:port:DBCluster' :: DBCluster -> Maybe Int
$sel:performanceInsightsRetentionPeriod:DBCluster' :: DBCluster -> Maybe Int
$sel:performanceInsightsKMSKeyId:DBCluster' :: DBCluster -> Maybe Text
$sel:performanceInsightsEnabled:DBCluster' :: DBCluster -> Maybe Bool
$sel:percentProgress:DBCluster' :: DBCluster -> Maybe Text
$sel:pendingModifiedValues:DBCluster' :: DBCluster -> Maybe ClusterPendingModifiedValues
$sel:networkType:DBCluster' :: DBCluster -> Maybe Text
$sel:multiAZ:DBCluster' :: DBCluster -> Maybe Bool
$sel:monitoringRoleArn:DBCluster' :: DBCluster -> Maybe Text
$sel:monitoringInterval:DBCluster' :: DBCluster -> Maybe Int
$sel:masterUsername:DBCluster' :: DBCluster -> Maybe Text
$sel:masterUserSecret:DBCluster' :: DBCluster -> Maybe MasterUserSecret
$sel:latestRestorableTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:kmsKeyId:DBCluster' :: DBCluster -> Maybe Text
$sel:iops:DBCluster' :: DBCluster -> Maybe Int
$sel:iAMDatabaseAuthenticationEnabled:DBCluster' :: DBCluster -> Maybe Bool
$sel:httpEndpointEnabled:DBCluster' :: DBCluster -> Maybe Bool
$sel:hostedZoneId:DBCluster' :: DBCluster -> Maybe Text
$sel:globalWriteForwardingStatus:DBCluster' :: DBCluster -> Maybe WriteForwardingStatus
$sel:globalWriteForwardingRequested:DBCluster' :: DBCluster -> Maybe Bool
$sel:engineVersion:DBCluster' :: DBCluster -> Maybe Text
$sel:engineMode:DBCluster' :: DBCluster -> Maybe Text
$sel:engine:DBCluster' :: DBCluster -> Maybe Text
$sel:endpoint:DBCluster' :: DBCluster -> Maybe Text
$sel:enabledCloudwatchLogsExports:DBCluster' :: DBCluster -> Maybe [Text]
$sel:earliestRestorableTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:earliestBacktrackTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:domainMemberships:DBCluster' :: DBCluster -> Maybe [DomainMembership]
$sel:deletionProtection:DBCluster' :: DBCluster -> Maybe Bool
$sel:dbClusterResourceId:DBCluster' :: DBCluster -> Maybe Text
$sel:databaseName:DBCluster' :: DBCluster -> Maybe Text
$sel:dbSystemId:DBCluster' :: DBCluster -> Maybe Text
$sel:dbSubnetGroup:DBCluster' :: DBCluster -> Maybe Text
$sel:dbClusterParameterGroup:DBCluster' :: DBCluster -> Maybe Text
$sel:dbClusterOptionGroupMemberships:DBCluster' :: DBCluster -> Maybe [DBClusterOptionGroupStatus]
$sel:dbClusterMembers:DBCluster' :: DBCluster -> Maybe [DBClusterMember]
$sel:dbClusterInstanceClass:DBCluster' :: DBCluster -> Maybe Text
$sel:dbClusterIdentifier:DBCluster' :: DBCluster -> Maybe Text
$sel:dbClusterArn:DBCluster' :: DBCluster -> Maybe Text
$sel:customEndpoints:DBCluster' :: DBCluster -> Maybe [Text]
$sel:crossAccountClone:DBCluster' :: DBCluster -> Maybe Bool
$sel:copyTagsToSnapshot:DBCluster' :: DBCluster -> Maybe Bool
$sel:clusterCreateTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:cloneGroupId:DBCluster' :: DBCluster -> Maybe Text
$sel:characterSetName:DBCluster' :: DBCluster -> Maybe Text
$sel:capacity:DBCluster' :: DBCluster -> Maybe Int
$sel:backupRetentionPeriod:DBCluster' :: DBCluster -> Maybe Int
$sel:backtrackWindow:DBCluster' :: DBCluster -> Maybe Integer
$sel:backtrackConsumedChangeRecords:DBCluster' :: DBCluster -> Maybe Integer
$sel:availabilityZones:DBCluster' :: DBCluster -> Maybe [Text]
$sel:automaticRestartTime:DBCluster' :: DBCluster -> Maybe ISO8601
$sel:autoMinorVersionUpgrade:DBCluster' :: DBCluster -> Maybe Bool
$sel:associatedRoles:DBCluster' :: DBCluster -> Maybe [DBClusterRole]
$sel:allocatedStorage:DBCluster' :: DBCluster -> Maybe Int
$sel:activityStreamStatus:DBCluster' :: DBCluster -> Maybe ActivityStreamStatus
$sel:activityStreamMode:DBCluster' :: DBCluster -> Maybe ActivityStreamMode
$sel:activityStreamKmsKeyId:DBCluster' :: DBCluster -> Maybe Text
$sel:activityStreamKinesisStreamName:DBCluster' :: DBCluster -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
activityStreamKinesisStreamName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
activityStreamKmsKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ActivityStreamMode
activityStreamMode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ActivityStreamStatus
activityStreamStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
allocatedStorage
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [DBClusterRole]
associatedRoles
      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 ISO8601
automaticRestartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
availabilityZones
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
backtrackConsumedChangeRecords
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
backtrackWindow
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
backupRetentionPeriod
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
capacity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
characterSetName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
cloneGroupId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
clusterCreateTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
copyTagsToSnapshot
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
crossAccountClone
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
customEndpoints
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
dbClusterArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
dbClusterIdentifier
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
dbClusterInstanceClass
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [DBClusterMember]
dbClusterMembers
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [DBClusterOptionGroupStatus]
dbClusterOptionGroupMemberships
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
dbClusterParameterGroup
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
dbSubnetGroup
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
dbSystemId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
databaseName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
dbClusterResourceId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
deletionProtection
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [DomainMembership]
domainMemberships
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe ISO8601
earliestBacktrackTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe ISO8601
earliestRestorableTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [Text]
enabledCloudwatchLogsExports
      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 Text
engine
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
engineMode
      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 Bool
globalWriteForwardingRequested
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe WriteForwardingStatus
globalWriteForwardingStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
hostedZoneId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
httpEndpointEnabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
iAMDatabaseAuthenticationEnabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Int
iops
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
kmsKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe ISO8601
latestRestorableTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe MasterUserSecret
masterUserSecret
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
masterUsername
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Int
monitoringInterval
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
monitoringRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
multiAZ
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
networkType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe ClusterPendingModifiedValues
pendingModifiedValues
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
percentProgress
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
performanceInsightsEnabled
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
performanceInsightsKMSKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Int
performanceInsightsRetentionPeriod
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Int
port
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
preferredBackupWindow
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
preferredMaintenanceWindow
      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]
readReplicaIdentifiers
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
readerEndpoint
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
replicationSourceIdentifier
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe ScalingConfigurationInfo
scalingConfigurationInfo
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe ServerlessV2ScalingConfigurationInfo
serverlessV2ScalingConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Bool
storageEncrypted
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
storageType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [Tag]
tagList
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe [VpcSecurityGroupMembership]
vpcSecurityGroups