{-# 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.SecurityHub.Types.AwsRdsDbInstanceDetails
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SecurityHub.Types.AwsRdsDbInstanceDetails where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SecurityHub.Types.AwsRdsDbDomainMembership
import Amazonka.SecurityHub.Types.AwsRdsDbInstanceAssociatedRole
import Amazonka.SecurityHub.Types.AwsRdsDbInstanceEndpoint
import Amazonka.SecurityHub.Types.AwsRdsDbInstanceVpcSecurityGroup
import Amazonka.SecurityHub.Types.AwsRdsDbOptionGroupMembership
import Amazonka.SecurityHub.Types.AwsRdsDbParameterGroup
import Amazonka.SecurityHub.Types.AwsRdsDbPendingModifiedValues
import Amazonka.SecurityHub.Types.AwsRdsDbProcessorFeature
import Amazonka.SecurityHub.Types.AwsRdsDbStatusInfo
import Amazonka.SecurityHub.Types.AwsRdsDbSubnetGroup

-- | Contains the details of an Amazon RDS DB instance.
--
-- /See:/ 'newAwsRdsDbInstanceDetails' smart constructor.
data AwsRdsDbInstanceDetails = AwsRdsDbInstanceDetails'
  { -- | A list of the DB security groups to assign to the DB instance.
    AwsRdsDbInstanceDetails -> Maybe [Text]
dbSecurityGroups :: Prelude.Maybe [Prelude.Text],
    -- | Indicates the database engine version.
    AwsRdsDbInstanceDetails -> Maybe Text
engineVersion :: Prelude.Maybe Prelude.Text,
    -- | Indicates whether the DB instance has deletion protection enabled.
    --
    -- When deletion protection is enabled, the database cannot be deleted.
    AwsRdsDbInstanceDetails -> Maybe Bool
deletionProtection :: Prelude.Maybe Prelude.Bool,
    -- | Specifies whether the DB instance is encrypted.
    AwsRdsDbInstanceDetails -> Maybe Bool
storageEncrypted :: Prelude.Maybe Prelude.Bool,
    -- | If the DB instance is a member of a DB cluster, contains the name of the
    -- DB cluster that the DB instance is a member of.
    AwsRdsDbInstanceDetails -> Maybe Text
dbClusterIdentifier :: Prelude.Maybe Prelude.Text,
    -- | Specifies the accessibility options for the DB instance.
    --
    -- A value of true specifies an Internet-facing instance with a publicly
    -- resolvable DNS name, which resolves to a public IP address.
    --
    -- A value of false specifies an internal instance with a DNS name that
    -- resolves to a private IP address.
    AwsRdsDbInstanceDetails -> Maybe Bool
publiclyAccessible :: Prelude.Maybe Prelude.Bool,
    -- | Indicates whether minor version patches are applied automatically.
    AwsRdsDbInstanceDetails -> Maybe Bool
autoMinorVersionUpgrade :: Prelude.Maybe Prelude.Bool,
    -- | The master user name of the DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
masterUsername :: Prelude.Maybe Prelude.Text,
    -- | List of identifiers of the read replicas associated with this DB
    -- instance.
    AwsRdsDbInstanceDetails -> Maybe [Text]
readReplicaDBInstanceIdentifiers :: Prelude.Maybe [Prelude.Text],
    -- | True if mapping of IAM accounts to database accounts is enabled, and
    -- otherwise false.
    --
    -- IAM database authentication can be enabled for the following database
    -- engines.
    --
    -- -   For MySQL 5.6, minor version 5.6.34 or higher
    --
    -- -   For MySQL 5.7, minor version 5.7.16 or higher
    --
    -- -   Aurora 5.6 or higher
    AwsRdsDbInstanceDetails -> Maybe Bool
iAMDatabaseAuthenticationEnabled :: Prelude.Maybe Prelude.Bool,
    -- | The ARN for the IAM role that permits Amazon RDS to send enhanced
    -- monitoring metrics to CloudWatch Logs.
    AwsRdsDbInstanceDetails -> Maybe Text
monitoringRoleArn :: Prelude.Maybe Prelude.Text,
    -- | Specifies the provisioned IOPS (I\/O operations per second) for this DB
    -- instance.
    AwsRdsDbInstanceDetails -> Maybe Int
iops :: Prelude.Maybe Prelude.Int,
    -- | Indicates when the DB instance was created.
    --
    -- Uses the @date-time@ format specified in
    -- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
    -- The value cannot contain spaces. For example,
    -- @2020-03-22T13:22:13.933Z@.
    AwsRdsDbInstanceDetails -> Maybe Text
instanceCreateTime :: Prelude.Maybe Prelude.Text,
    -- | If this DB instance is a read replica, contains the identifier of the
    -- source DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
readReplicaSourceDBInstanceIdentifier :: Prelude.Maybe Prelude.Text,
    -- | The interval, in seconds, between points when enhanced monitoring
    -- metrics are collected for the DB instance.
    AwsRdsDbInstanceDetails -> Maybe Int
monitoringInterval :: Prelude.Maybe Prelude.Int,
    -- | Provides the name of the database engine to use for this DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
engine :: Prelude.Maybe Prelude.Text,
    -- | The number of CPU cores and the number of threads per core for the DB
    -- instance class of the DB instance.
    AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbProcessorFeature]
processorFeatures :: Prelude.Maybe [AwsRdsDbProcessorFeature],
    -- | Specifies the latest time to which a database can be restored with
    -- point-in-time restore.
    --
    -- Uses the @date-time@ format specified in
    -- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
    -- The value cannot contain spaces. For example,
    -- @2020-03-22T13:22:13.933Z@.
    AwsRdsDbInstanceDetails -> Maybe Text
latestRestorableTime :: Prelude.Maybe Prelude.Text,
    -- | Contains the name of the compute and memory capacity class of the DB
    -- instance.
    AwsRdsDbInstanceDetails -> Maybe Text
dbInstanceClass :: Prelude.Maybe Prelude.Text,
    -- | The order in which to promote an Aurora replica to the primary instance
    -- after a failure of the existing primary instance.
    AwsRdsDbInstanceDetails -> Maybe Int
promotionTier :: Prelude.Maybe Prelude.Int,
    -- | License model information for this DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
licenseModel :: Prelude.Maybe Prelude.Text,
    -- | The weekly time range during which system maintenance can occur, in
    -- Universal Coordinated Time (UTC).
    --
    -- Uses the format @\<day>:HH:MM-\<day>:HH:MM@.
    --
    -- For the day values, use @mon@|@tue@|@wed@|@thu@|@fri@|@sat@|@sun@.
    --
    -- For example, @sun:09:32-sun:10:02@.
    AwsRdsDbInstanceDetails -> Maybe Text
preferredMaintenanceWindow :: Prelude.Maybe Prelude.Text,
    -- | The number of days to retain Performance Insights data.
    AwsRdsDbInstanceDetails -> Maybe Int
performanceInsightsRetentionPeriod :: Prelude.Maybe Prelude.Int,
    -- | The identifier of the CA certificate for this DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
cACertificateIdentifier :: Prelude.Maybe Prelude.Text,
    -- | Contains a user-supplied database identifier. This identifier is the
    -- unique key that identifies a DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
dbInstanceIdentifier :: Prelude.Maybe Prelude.Text,
    -- | The name of the character set that this DB instance is associated with.
    AwsRdsDbInstanceDetails -> Maybe Text
characterSetName :: Prelude.Maybe Prelude.Text,
    -- | The upper limit to which Amazon RDS can automatically scale the storage
    -- of the DB instance.
    AwsRdsDbInstanceDetails -> Maybe Int
maxAllocatedStorage :: Prelude.Maybe Prelude.Int,
    -- | If @StorageEncrypted@ is true, the KMS key identifier for the encrypted
    -- DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | The range of time each day when automated backups are created, if
    -- automated backups are enabled.
    --
    -- Uses the format @HH:MM-HH:MM@. For example, @04:52-05:22@.
    AwsRdsDbInstanceDetails -> Maybe Text
preferredBackupWindow :: Prelude.Maybe Prelude.Text,
    -- | The IAM roles associated with the DB instance.
    AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbInstanceAssociatedRole]
associatedRoles :: Prelude.Maybe [AwsRdsDbInstanceAssociatedRole],
    -- | The Availability Zone where the DB instance will be created.
    AwsRdsDbInstanceDetails -> Maybe Text
availabilityZone :: Prelude.Maybe Prelude.Text,
    -- | A list of VPC security groups that the DB instance belongs to.
    AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
vpcSecurityGroups :: Prelude.Maybe [AwsRdsDbInstanceVpcSecurityGroup],
    -- | The number of days for which to retain automated backups.
    AwsRdsDbInstanceDetails -> Maybe Int
backupRetentionPeriod :: Prelude.Maybe Prelude.Int,
    -- | The identifier of the KMS key used to encrypt the Performance Insights
    -- data.
    AwsRdsDbInstanceDetails -> Maybe Text
performanceInsightsKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | Information about the subnet group that is associated with the DB
    -- instance.
    AwsRdsDbInstanceDetails -> Maybe AwsRdsDbSubnetGroup
dbSubnetGroup :: Prelude.Maybe AwsRdsDbSubnetGroup,
    -- | Whether the DB instance is a multiple Availability Zone deployment.
    AwsRdsDbInstanceDetails -> Maybe Bool
multiAz :: Prelude.Maybe Prelude.Bool,
    AwsRdsDbInstanceDetails -> Maybe AwsRdsDbInstanceEndpoint
listenerEndpoint :: Prelude.Maybe AwsRdsDbInstanceEndpoint,
    -- | The list of option group memberships for this DB instance.
    AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbOptionGroupMembership]
optionGroupMemberships :: Prelude.Maybe [AwsRdsDbOptionGroupMembership],
    -- | The ARN of the CloudWatch Logs log stream that receives the enhanced
    -- monitoring metrics data for the DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
enhancedMonitoringResourceArn :: Prelude.Maybe Prelude.Text,
    -- | For a DB instance with multi-Availability Zone support, the name of the
    -- secondary Availability Zone.
    AwsRdsDbInstanceDetails -> Maybe Text
secondaryAvailabilityZone :: Prelude.Maybe Prelude.Text,
    -- | A list of log types that this DB instance is configured to export to
    -- CloudWatch Logs.
    AwsRdsDbInstanceDetails -> Maybe [Text]
enabledCloudWatchLogsExports :: Prelude.Maybe [Prelude.Text],
    -- | Indicates whether Performance Insights is enabled for the DB instance.
    AwsRdsDbInstanceDetails -> Maybe Bool
performanceInsightsEnabled :: Prelude.Maybe Prelude.Bool,
    -- | The amount of storage (in gigabytes) to initially allocate for the DB
    -- instance.
    AwsRdsDbInstanceDetails -> Maybe Int
allocatedStorage :: Prelude.Maybe Prelude.Int,
    -- | The Amazon Web Services Region-unique, immutable identifier for the DB
    -- instance. This identifier is found in CloudTrail log entries whenever
    -- the KMS key for the DB instance is accessed.
    AwsRdsDbInstanceDetails -> Maybe Text
dbiResourceId :: Prelude.Maybe Prelude.Text,
    -- | The current status of the DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
dbInstanceStatus :: Prelude.Maybe Prelude.Text,
    -- | Whether to copy resource tags to snapshots of the DB instance.
    AwsRdsDbInstanceDetails -> Maybe Bool
copyTagsToSnapshot :: Prelude.Maybe Prelude.Bool,
    -- | The time zone of the DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
timezone :: Prelude.Maybe Prelude.Text,
    -- | The ARN from the key store with which the instance is associated for TDE
    -- encryption.
    AwsRdsDbInstanceDetails -> Maybe Text
tdeCredentialArn :: Prelude.Maybe Prelude.Text,
    -- | A list of the DB parameter groups to assign to the DB instance.
    AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbParameterGroup]
dbParameterGroups :: Prelude.Maybe [AwsRdsDbParameterGroup],
    -- | Specifies the connection endpoint.
    AwsRdsDbInstanceDetails -> Maybe AwsRdsDbInstanceEndpoint
endpoint :: Prelude.Maybe AwsRdsDbInstanceEndpoint,
    -- | Specifies the port that the DB instance listens on. If the DB instance
    -- is part of a DB cluster, this can be a different port than the DB
    -- cluster port.
    AwsRdsDbInstanceDetails -> Maybe Int
dbInstancePort :: Prelude.Maybe Prelude.Int,
    -- | Changes to the DB instance that are currently pending.
    AwsRdsDbInstanceDetails -> Maybe AwsRdsDbPendingModifiedValues
pendingModifiedValues :: Prelude.Maybe AwsRdsDbPendingModifiedValues,
    -- | List of identifiers of Aurora DB clusters to which the RDS DB instance
    -- is replicated as a read replica.
    AwsRdsDbInstanceDetails -> Maybe [Text]
readReplicaDBClusterIdentifiers :: Prelude.Maybe [Prelude.Text],
    -- | The storage type for the DB instance.
    AwsRdsDbInstanceDetails -> Maybe Text
storageType :: Prelude.Maybe Prelude.Text,
    -- | The status of a read replica. If the instance isn\'t a read replica,
    -- this is empty.
    AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbStatusInfo]
statusInfos :: Prelude.Maybe [AwsRdsDbStatusInfo],
    -- | The Active Directory domain membership records associated with the DB
    -- instance.
    AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbDomainMembership]
domainMemberships :: Prelude.Maybe [AwsRdsDbDomainMembership],
    -- | The meaning of this parameter differs according to the database engine
    -- you use.
    --
    -- __MySQL, MariaDB, SQL Server, PostgreSQL__
    --
    -- Contains the name of the initial database of this instance that was
    -- provided at create time, if one was specified when the DB instance was
    -- created. This same name is returned for the life of the DB instance.
    --
    -- __Oracle__
    --
    -- Contains the Oracle System ID (SID) of the created DB instance. Not
    -- shown when the returned parameters do not apply to an Oracle DB
    -- instance.
    AwsRdsDbInstanceDetails -> Maybe Text
dbName :: Prelude.Maybe Prelude.Text
  }
  deriving (AwsRdsDbInstanceDetails -> AwsRdsDbInstanceDetails -> Bool
(AwsRdsDbInstanceDetails -> AwsRdsDbInstanceDetails -> Bool)
-> (AwsRdsDbInstanceDetails -> AwsRdsDbInstanceDetails -> Bool)
-> Eq AwsRdsDbInstanceDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AwsRdsDbInstanceDetails -> AwsRdsDbInstanceDetails -> Bool
$c/= :: AwsRdsDbInstanceDetails -> AwsRdsDbInstanceDetails -> Bool
== :: AwsRdsDbInstanceDetails -> AwsRdsDbInstanceDetails -> Bool
$c== :: AwsRdsDbInstanceDetails -> AwsRdsDbInstanceDetails -> Bool
Prelude.Eq, ReadPrec [AwsRdsDbInstanceDetails]
ReadPrec AwsRdsDbInstanceDetails
Int -> ReadS AwsRdsDbInstanceDetails
ReadS [AwsRdsDbInstanceDetails]
(Int -> ReadS AwsRdsDbInstanceDetails)
-> ReadS [AwsRdsDbInstanceDetails]
-> ReadPrec AwsRdsDbInstanceDetails
-> ReadPrec [AwsRdsDbInstanceDetails]
-> Read AwsRdsDbInstanceDetails
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AwsRdsDbInstanceDetails]
$creadListPrec :: ReadPrec [AwsRdsDbInstanceDetails]
readPrec :: ReadPrec AwsRdsDbInstanceDetails
$creadPrec :: ReadPrec AwsRdsDbInstanceDetails
readList :: ReadS [AwsRdsDbInstanceDetails]
$creadList :: ReadS [AwsRdsDbInstanceDetails]
readsPrec :: Int -> ReadS AwsRdsDbInstanceDetails
$creadsPrec :: Int -> ReadS AwsRdsDbInstanceDetails
Prelude.Read, Int -> AwsRdsDbInstanceDetails -> ShowS
[AwsRdsDbInstanceDetails] -> ShowS
AwsRdsDbInstanceDetails -> String
(Int -> AwsRdsDbInstanceDetails -> ShowS)
-> (AwsRdsDbInstanceDetails -> String)
-> ([AwsRdsDbInstanceDetails] -> ShowS)
-> Show AwsRdsDbInstanceDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AwsRdsDbInstanceDetails] -> ShowS
$cshowList :: [AwsRdsDbInstanceDetails] -> ShowS
show :: AwsRdsDbInstanceDetails -> String
$cshow :: AwsRdsDbInstanceDetails -> String
showsPrec :: Int -> AwsRdsDbInstanceDetails -> ShowS
$cshowsPrec :: Int -> AwsRdsDbInstanceDetails -> ShowS
Prelude.Show, (forall x.
 AwsRdsDbInstanceDetails -> Rep AwsRdsDbInstanceDetails x)
-> (forall x.
    Rep AwsRdsDbInstanceDetails x -> AwsRdsDbInstanceDetails)
-> Generic AwsRdsDbInstanceDetails
forall x. Rep AwsRdsDbInstanceDetails x -> AwsRdsDbInstanceDetails
forall x. AwsRdsDbInstanceDetails -> Rep AwsRdsDbInstanceDetails x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AwsRdsDbInstanceDetails x -> AwsRdsDbInstanceDetails
$cfrom :: forall x. AwsRdsDbInstanceDetails -> Rep AwsRdsDbInstanceDetails x
Prelude.Generic)

-- |
-- Create a value of 'AwsRdsDbInstanceDetails' 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:
--
-- 'dbSecurityGroups', 'awsRdsDbInstanceDetails_dbSecurityGroups' - A list of the DB security groups to assign to the DB instance.
--
-- 'engineVersion', 'awsRdsDbInstanceDetails_engineVersion' - Indicates the database engine version.
--
-- 'deletionProtection', 'awsRdsDbInstanceDetails_deletionProtection' - Indicates whether the DB instance has deletion protection enabled.
--
-- When deletion protection is enabled, the database cannot be deleted.
--
-- 'storageEncrypted', 'awsRdsDbInstanceDetails_storageEncrypted' - Specifies whether the DB instance is encrypted.
--
-- 'dbClusterIdentifier', 'awsRdsDbInstanceDetails_dbClusterIdentifier' - If the DB instance is a member of a DB cluster, contains the name of the
-- DB cluster that the DB instance is a member of.
--
-- 'publiclyAccessible', 'awsRdsDbInstanceDetails_publiclyAccessible' - Specifies the accessibility options for the DB instance.
--
-- A value of true specifies an Internet-facing instance with a publicly
-- resolvable DNS name, which resolves to a public IP address.
--
-- A value of false specifies an internal instance with a DNS name that
-- resolves to a private IP address.
--
-- 'autoMinorVersionUpgrade', 'awsRdsDbInstanceDetails_autoMinorVersionUpgrade' - Indicates whether minor version patches are applied automatically.
--
-- 'masterUsername', 'awsRdsDbInstanceDetails_masterUsername' - The master user name of the DB instance.
--
-- 'readReplicaDBInstanceIdentifiers', 'awsRdsDbInstanceDetails_readReplicaDBInstanceIdentifiers' - List of identifiers of the read replicas associated with this DB
-- instance.
--
-- 'iAMDatabaseAuthenticationEnabled', 'awsRdsDbInstanceDetails_iAMDatabaseAuthenticationEnabled' - True if mapping of IAM accounts to database accounts is enabled, and
-- otherwise false.
--
-- IAM database authentication can be enabled for the following database
-- engines.
--
-- -   For MySQL 5.6, minor version 5.6.34 or higher
--
-- -   For MySQL 5.7, minor version 5.7.16 or higher
--
-- -   Aurora 5.6 or higher
--
-- 'monitoringRoleArn', 'awsRdsDbInstanceDetails_monitoringRoleArn' - The ARN for the IAM role that permits Amazon RDS to send enhanced
-- monitoring metrics to CloudWatch Logs.
--
-- 'iops', 'awsRdsDbInstanceDetails_iops' - Specifies the provisioned IOPS (I\/O operations per second) for this DB
-- instance.
--
-- 'instanceCreateTime', 'awsRdsDbInstanceDetails_instanceCreateTime' - Indicates when the DB instance was created.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
--
-- 'readReplicaSourceDBInstanceIdentifier', 'awsRdsDbInstanceDetails_readReplicaSourceDBInstanceIdentifier' - If this DB instance is a read replica, contains the identifier of the
-- source DB instance.
--
-- 'monitoringInterval', 'awsRdsDbInstanceDetails_monitoringInterval' - The interval, in seconds, between points when enhanced monitoring
-- metrics are collected for the DB instance.
--
-- 'engine', 'awsRdsDbInstanceDetails_engine' - Provides the name of the database engine to use for this DB instance.
--
-- 'processorFeatures', 'awsRdsDbInstanceDetails_processorFeatures' - The number of CPU cores and the number of threads per core for the DB
-- instance class of the DB instance.
--
-- 'latestRestorableTime', 'awsRdsDbInstanceDetails_latestRestorableTime' - Specifies the latest time to which a database can be restored with
-- point-in-time restore.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
--
-- 'dbInstanceClass', 'awsRdsDbInstanceDetails_dbInstanceClass' - Contains the name of the compute and memory capacity class of the DB
-- instance.
--
-- 'promotionTier', 'awsRdsDbInstanceDetails_promotionTier' - The order in which to promote an Aurora replica to the primary instance
-- after a failure of the existing primary instance.
--
-- 'licenseModel', 'awsRdsDbInstanceDetails_licenseModel' - License model information for this DB instance.
--
-- 'preferredMaintenanceWindow', 'awsRdsDbInstanceDetails_preferredMaintenanceWindow' - The weekly time range during which system maintenance can occur, in
-- Universal Coordinated Time (UTC).
--
-- Uses the format @\<day>:HH:MM-\<day>:HH:MM@.
--
-- For the day values, use @mon@|@tue@|@wed@|@thu@|@fri@|@sat@|@sun@.
--
-- For example, @sun:09:32-sun:10:02@.
--
-- 'performanceInsightsRetentionPeriod', 'awsRdsDbInstanceDetails_performanceInsightsRetentionPeriod' - The number of days to retain Performance Insights data.
--
-- 'cACertificateIdentifier', 'awsRdsDbInstanceDetails_cACertificateIdentifier' - The identifier of the CA certificate for this DB instance.
--
-- 'dbInstanceIdentifier', 'awsRdsDbInstanceDetails_dbInstanceIdentifier' - Contains a user-supplied database identifier. This identifier is the
-- unique key that identifies a DB instance.
--
-- 'characterSetName', 'awsRdsDbInstanceDetails_characterSetName' - The name of the character set that this DB instance is associated with.
--
-- 'maxAllocatedStorage', 'awsRdsDbInstanceDetails_maxAllocatedStorage' - The upper limit to which Amazon RDS can automatically scale the storage
-- of the DB instance.
--
-- 'kmsKeyId', 'awsRdsDbInstanceDetails_kmsKeyId' - If @StorageEncrypted@ is true, the KMS key identifier for the encrypted
-- DB instance.
--
-- 'preferredBackupWindow', 'awsRdsDbInstanceDetails_preferredBackupWindow' - The range of time each day when automated backups are created, if
-- automated backups are enabled.
--
-- Uses the format @HH:MM-HH:MM@. For example, @04:52-05:22@.
--
-- 'associatedRoles', 'awsRdsDbInstanceDetails_associatedRoles' - The IAM roles associated with the DB instance.
--
-- 'availabilityZone', 'awsRdsDbInstanceDetails_availabilityZone' - The Availability Zone where the DB instance will be created.
--
-- 'vpcSecurityGroups', 'awsRdsDbInstanceDetails_vpcSecurityGroups' - A list of VPC security groups that the DB instance belongs to.
--
-- 'backupRetentionPeriod', 'awsRdsDbInstanceDetails_backupRetentionPeriod' - The number of days for which to retain automated backups.
--
-- 'performanceInsightsKmsKeyId', 'awsRdsDbInstanceDetails_performanceInsightsKmsKeyId' - The identifier of the KMS key used to encrypt the Performance Insights
-- data.
--
-- 'dbSubnetGroup', 'awsRdsDbInstanceDetails_dbSubnetGroup' - Information about the subnet group that is associated with the DB
-- instance.
--
-- 'multiAz', 'awsRdsDbInstanceDetails_multiAz' - Whether the DB instance is a multiple Availability Zone deployment.
--
-- 'listenerEndpoint', 'awsRdsDbInstanceDetails_listenerEndpoint' - Undocumented member.
--
-- 'optionGroupMemberships', 'awsRdsDbInstanceDetails_optionGroupMemberships' - The list of option group memberships for this DB instance.
--
-- 'enhancedMonitoringResourceArn', 'awsRdsDbInstanceDetails_enhancedMonitoringResourceArn' - The ARN of the CloudWatch Logs log stream that receives the enhanced
-- monitoring metrics data for the DB instance.
--
-- 'secondaryAvailabilityZone', 'awsRdsDbInstanceDetails_secondaryAvailabilityZone' - For a DB instance with multi-Availability Zone support, the name of the
-- secondary Availability Zone.
--
-- 'enabledCloudWatchLogsExports', 'awsRdsDbInstanceDetails_enabledCloudWatchLogsExports' - A list of log types that this DB instance is configured to export to
-- CloudWatch Logs.
--
-- 'performanceInsightsEnabled', 'awsRdsDbInstanceDetails_performanceInsightsEnabled' - Indicates whether Performance Insights is enabled for the DB instance.
--
-- 'allocatedStorage', 'awsRdsDbInstanceDetails_allocatedStorage' - The amount of storage (in gigabytes) to initially allocate for the DB
-- instance.
--
-- 'dbiResourceId', 'awsRdsDbInstanceDetails_dbiResourceId' - The Amazon Web Services Region-unique, immutable identifier for the DB
-- instance. This identifier is found in CloudTrail log entries whenever
-- the KMS key for the DB instance is accessed.
--
-- 'dbInstanceStatus', 'awsRdsDbInstanceDetails_dbInstanceStatus' - The current status of the DB instance.
--
-- 'copyTagsToSnapshot', 'awsRdsDbInstanceDetails_copyTagsToSnapshot' - Whether to copy resource tags to snapshots of the DB instance.
--
-- 'timezone', 'awsRdsDbInstanceDetails_timezone' - The time zone of the DB instance.
--
-- 'tdeCredentialArn', 'awsRdsDbInstanceDetails_tdeCredentialArn' - The ARN from the key store with which the instance is associated for TDE
-- encryption.
--
-- 'dbParameterGroups', 'awsRdsDbInstanceDetails_dbParameterGroups' - A list of the DB parameter groups to assign to the DB instance.
--
-- 'endpoint', 'awsRdsDbInstanceDetails_endpoint' - Specifies the connection endpoint.
--
-- 'dbInstancePort', 'awsRdsDbInstanceDetails_dbInstancePort' - Specifies the port that the DB instance listens on. If the DB instance
-- is part of a DB cluster, this can be a different port than the DB
-- cluster port.
--
-- 'pendingModifiedValues', 'awsRdsDbInstanceDetails_pendingModifiedValues' - Changes to the DB instance that are currently pending.
--
-- 'readReplicaDBClusterIdentifiers', 'awsRdsDbInstanceDetails_readReplicaDBClusterIdentifiers' - List of identifiers of Aurora DB clusters to which the RDS DB instance
-- is replicated as a read replica.
--
-- 'storageType', 'awsRdsDbInstanceDetails_storageType' - The storage type for the DB instance.
--
-- 'statusInfos', 'awsRdsDbInstanceDetails_statusInfos' - The status of a read replica. If the instance isn\'t a read replica,
-- this is empty.
--
-- 'domainMemberships', 'awsRdsDbInstanceDetails_domainMemberships' - The Active Directory domain membership records associated with the DB
-- instance.
--
-- 'dbName', 'awsRdsDbInstanceDetails_dbName' - The meaning of this parameter differs according to the database engine
-- you use.
--
-- __MySQL, MariaDB, SQL Server, PostgreSQL__
--
-- Contains the name of the initial database of this instance that was
-- provided at create time, if one was specified when the DB instance was
-- created. This same name is returned for the life of the DB instance.
--
-- __Oracle__
--
-- Contains the Oracle System ID (SID) of the created DB instance. Not
-- shown when the returned parameters do not apply to an Oracle DB
-- instance.
newAwsRdsDbInstanceDetails ::
  AwsRdsDbInstanceDetails
newAwsRdsDbInstanceDetails :: AwsRdsDbInstanceDetails
newAwsRdsDbInstanceDetails =
  AwsRdsDbInstanceDetails' :: Maybe [Text]
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe [Text]
-> Maybe Bool
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe [AwsRdsDbProcessorFeature]
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe [AwsRdsDbInstanceAssociatedRole]
-> Maybe Text
-> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
-> Maybe Int
-> Maybe Text
-> Maybe AwsRdsDbSubnetGroup
-> Maybe Bool
-> Maybe AwsRdsDbInstanceEndpoint
-> Maybe [AwsRdsDbOptionGroupMembership]
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe Bool
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe [AwsRdsDbParameterGroup]
-> Maybe AwsRdsDbInstanceEndpoint
-> Maybe Int
-> Maybe AwsRdsDbPendingModifiedValues
-> Maybe [Text]
-> Maybe Text
-> Maybe [AwsRdsDbStatusInfo]
-> Maybe [AwsRdsDbDomainMembership]
-> Maybe Text
-> AwsRdsDbInstanceDetails
AwsRdsDbInstanceDetails'
    { $sel:dbSecurityGroups:AwsRdsDbInstanceDetails' :: Maybe [Text]
dbSecurityGroups =
        Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:engineVersion:AwsRdsDbInstanceDetails' :: Maybe Text
engineVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:deletionProtection:AwsRdsDbInstanceDetails' :: Maybe Bool
deletionProtection = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:storageEncrypted:AwsRdsDbInstanceDetails' :: Maybe Bool
storageEncrypted = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterIdentifier:AwsRdsDbInstanceDetails' :: Maybe Text
dbClusterIdentifier = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:publiclyAccessible:AwsRdsDbInstanceDetails' :: Maybe Bool
publiclyAccessible = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:autoMinorVersionUpgrade:AwsRdsDbInstanceDetails' :: Maybe Bool
autoMinorVersionUpgrade = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:masterUsername:AwsRdsDbInstanceDetails' :: Maybe Text
masterUsername = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:readReplicaDBInstanceIdentifiers:AwsRdsDbInstanceDetails' :: Maybe [Text]
readReplicaDBInstanceIdentifiers = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:iAMDatabaseAuthenticationEnabled:AwsRdsDbInstanceDetails' :: Maybe Bool
iAMDatabaseAuthenticationEnabled = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:monitoringRoleArn:AwsRdsDbInstanceDetails' :: Maybe Text
monitoringRoleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:iops:AwsRdsDbInstanceDetails' :: Maybe Int
iops = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:instanceCreateTime:AwsRdsDbInstanceDetails' :: Maybe Text
instanceCreateTime = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:readReplicaSourceDBInstanceIdentifier:AwsRdsDbInstanceDetails' :: Maybe Text
readReplicaSourceDBInstanceIdentifier =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:monitoringInterval:AwsRdsDbInstanceDetails' :: Maybe Int
monitoringInterval = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:engine:AwsRdsDbInstanceDetails' :: Maybe Text
engine = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:processorFeatures:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbProcessorFeature]
processorFeatures = Maybe [AwsRdsDbProcessorFeature]
forall a. Maybe a
Prelude.Nothing,
      $sel:latestRestorableTime:AwsRdsDbInstanceDetails' :: Maybe Text
latestRestorableTime = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dbInstanceClass:AwsRdsDbInstanceDetails' :: Maybe Text
dbInstanceClass = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:promotionTier:AwsRdsDbInstanceDetails' :: Maybe Int
promotionTier = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:licenseModel:AwsRdsDbInstanceDetails' :: Maybe Text
licenseModel = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:preferredMaintenanceWindow:AwsRdsDbInstanceDetails' :: Maybe Text
preferredMaintenanceWindow = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:performanceInsightsRetentionPeriod:AwsRdsDbInstanceDetails' :: Maybe Int
performanceInsightsRetentionPeriod =
        Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:cACertificateIdentifier:AwsRdsDbInstanceDetails' :: Maybe Text
cACertificateIdentifier = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dbInstanceIdentifier:AwsRdsDbInstanceDetails' :: Maybe Text
dbInstanceIdentifier = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:characterSetName:AwsRdsDbInstanceDetails' :: Maybe Text
characterSetName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:maxAllocatedStorage:AwsRdsDbInstanceDetails' :: Maybe Int
maxAllocatedStorage = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:kmsKeyId:AwsRdsDbInstanceDetails' :: Maybe Text
kmsKeyId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:preferredBackupWindow:AwsRdsDbInstanceDetails' :: Maybe Text
preferredBackupWindow = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:associatedRoles:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbInstanceAssociatedRole]
associatedRoles = Maybe [AwsRdsDbInstanceAssociatedRole]
forall a. Maybe a
Prelude.Nothing,
      $sel:availabilityZone:AwsRdsDbInstanceDetails' :: Maybe Text
availabilityZone = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:vpcSecurityGroups:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbInstanceVpcSecurityGroup]
vpcSecurityGroups = Maybe [AwsRdsDbInstanceVpcSecurityGroup]
forall a. Maybe a
Prelude.Nothing,
      $sel:backupRetentionPeriod:AwsRdsDbInstanceDetails' :: Maybe Int
backupRetentionPeriod = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:performanceInsightsKmsKeyId:AwsRdsDbInstanceDetails' :: Maybe Text
performanceInsightsKmsKeyId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dbSubnetGroup:AwsRdsDbInstanceDetails' :: Maybe AwsRdsDbSubnetGroup
dbSubnetGroup = Maybe AwsRdsDbSubnetGroup
forall a. Maybe a
Prelude.Nothing,
      $sel:multiAz:AwsRdsDbInstanceDetails' :: Maybe Bool
multiAz = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:listenerEndpoint:AwsRdsDbInstanceDetails' :: Maybe AwsRdsDbInstanceEndpoint
listenerEndpoint = Maybe AwsRdsDbInstanceEndpoint
forall a. Maybe a
Prelude.Nothing,
      $sel:optionGroupMemberships:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbOptionGroupMembership]
optionGroupMemberships = Maybe [AwsRdsDbOptionGroupMembership]
forall a. Maybe a
Prelude.Nothing,
      $sel:enhancedMonitoringResourceArn:AwsRdsDbInstanceDetails' :: Maybe Text
enhancedMonitoringResourceArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:secondaryAvailabilityZone:AwsRdsDbInstanceDetails' :: Maybe Text
secondaryAvailabilityZone = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:enabledCloudWatchLogsExports:AwsRdsDbInstanceDetails' :: Maybe [Text]
enabledCloudWatchLogsExports = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:performanceInsightsEnabled:AwsRdsDbInstanceDetails' :: Maybe Bool
performanceInsightsEnabled = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:allocatedStorage:AwsRdsDbInstanceDetails' :: Maybe Int
allocatedStorage = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:dbiResourceId:AwsRdsDbInstanceDetails' :: Maybe Text
dbiResourceId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dbInstanceStatus:AwsRdsDbInstanceDetails' :: Maybe Text
dbInstanceStatus = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:copyTagsToSnapshot:AwsRdsDbInstanceDetails' :: Maybe Bool
copyTagsToSnapshot = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:timezone:AwsRdsDbInstanceDetails' :: Maybe Text
timezone = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:tdeCredentialArn:AwsRdsDbInstanceDetails' :: Maybe Text
tdeCredentialArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dbParameterGroups:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbParameterGroup]
dbParameterGroups = Maybe [AwsRdsDbParameterGroup]
forall a. Maybe a
Prelude.Nothing,
      $sel:endpoint:AwsRdsDbInstanceDetails' :: Maybe AwsRdsDbInstanceEndpoint
endpoint = Maybe AwsRdsDbInstanceEndpoint
forall a. Maybe a
Prelude.Nothing,
      $sel:dbInstancePort:AwsRdsDbInstanceDetails' :: Maybe Int
dbInstancePort = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:pendingModifiedValues:AwsRdsDbInstanceDetails' :: Maybe AwsRdsDbPendingModifiedValues
pendingModifiedValues = Maybe AwsRdsDbPendingModifiedValues
forall a. Maybe a
Prelude.Nothing,
      $sel:readReplicaDBClusterIdentifiers:AwsRdsDbInstanceDetails' :: Maybe [Text]
readReplicaDBClusterIdentifiers = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:storageType:AwsRdsDbInstanceDetails' :: Maybe Text
storageType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:statusInfos:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbStatusInfo]
statusInfos = Maybe [AwsRdsDbStatusInfo]
forall a. Maybe a
Prelude.Nothing,
      $sel:domainMemberships:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbDomainMembership]
domainMemberships = Maybe [AwsRdsDbDomainMembership]
forall a. Maybe a
Prelude.Nothing,
      $sel:dbName:AwsRdsDbInstanceDetails' :: Maybe Text
dbName = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | A list of the DB security groups to assign to the DB instance.
awsRdsDbInstanceDetails_dbSecurityGroups :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [Prelude.Text])
awsRdsDbInstanceDetails_dbSecurityGroups :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_dbSecurityGroups = (AwsRdsDbInstanceDetails -> Maybe [Text])
-> (AwsRdsDbInstanceDetails
    -> Maybe [Text] -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [Text]
dbSecurityGroups :: Maybe [Text]
$sel:dbSecurityGroups:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [Text]
dbSecurityGroups} -> Maybe [Text]
dbSecurityGroups) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [Text]
a -> AwsRdsDbInstanceDetails
s {$sel:dbSecurityGroups:AwsRdsDbInstanceDetails' :: Maybe [Text]
dbSecurityGroups = Maybe [Text]
a} :: AwsRdsDbInstanceDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

-- | Indicates whether the DB instance has deletion protection enabled.
--
-- When deletion protection is enabled, the database cannot be deleted.
awsRdsDbInstanceDetails_deletionProtection :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Bool)
awsRdsDbInstanceDetails_deletionProtection :: (Maybe Bool -> f (Maybe Bool))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_deletionProtection = (AwsRdsDbInstanceDetails -> Maybe Bool)
-> (AwsRdsDbInstanceDetails
    -> Maybe Bool -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Bool
deletionProtection :: Maybe Bool
$sel:deletionProtection:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
deletionProtection} -> Maybe Bool
deletionProtection) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Bool
a -> AwsRdsDbInstanceDetails
s {$sel:deletionProtection:AwsRdsDbInstanceDetails' :: Maybe Bool
deletionProtection = Maybe Bool
a} :: AwsRdsDbInstanceDetails)

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

-- | If the DB instance is a member of a DB cluster, contains the name of the
-- DB cluster that the DB instance is a member of.
awsRdsDbInstanceDetails_dbClusterIdentifier :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_dbClusterIdentifier :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_dbClusterIdentifier = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
dbClusterIdentifier :: Maybe Text
$sel:dbClusterIdentifier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
dbClusterIdentifier} -> Maybe Text
dbClusterIdentifier) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:dbClusterIdentifier:AwsRdsDbInstanceDetails' :: Maybe Text
dbClusterIdentifier = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | Specifies the accessibility options for the DB instance.
--
-- A value of true specifies an Internet-facing instance with a publicly
-- resolvable DNS name, which resolves to a public IP address.
--
-- A value of false specifies an internal instance with a DNS name that
-- resolves to a private IP address.
awsRdsDbInstanceDetails_publiclyAccessible :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Bool)
awsRdsDbInstanceDetails_publiclyAccessible :: (Maybe Bool -> f (Maybe Bool))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_publiclyAccessible = (AwsRdsDbInstanceDetails -> Maybe Bool)
-> (AwsRdsDbInstanceDetails
    -> Maybe Bool -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Bool
publiclyAccessible :: Maybe Bool
$sel:publiclyAccessible:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
publiclyAccessible} -> Maybe Bool
publiclyAccessible) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Bool
a -> AwsRdsDbInstanceDetails
s {$sel:publiclyAccessible:AwsRdsDbInstanceDetails' :: Maybe Bool
publiclyAccessible = Maybe Bool
a} :: AwsRdsDbInstanceDetails)

-- | Indicates whether minor version patches are applied automatically.
awsRdsDbInstanceDetails_autoMinorVersionUpgrade :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Bool)
awsRdsDbInstanceDetails_autoMinorVersionUpgrade :: (Maybe Bool -> f (Maybe Bool))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_autoMinorVersionUpgrade = (AwsRdsDbInstanceDetails -> Maybe Bool)
-> (AwsRdsDbInstanceDetails
    -> Maybe Bool -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Bool
autoMinorVersionUpgrade :: Maybe Bool
$sel:autoMinorVersionUpgrade:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
autoMinorVersionUpgrade} -> Maybe Bool
autoMinorVersionUpgrade) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Bool
a -> AwsRdsDbInstanceDetails
s {$sel:autoMinorVersionUpgrade:AwsRdsDbInstanceDetails' :: Maybe Bool
autoMinorVersionUpgrade = Maybe Bool
a} :: AwsRdsDbInstanceDetails)

-- | The master user name of the DB instance.
awsRdsDbInstanceDetails_masterUsername :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_masterUsername :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_masterUsername = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
masterUsername :: Maybe Text
$sel:masterUsername:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
masterUsername} -> Maybe Text
masterUsername) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:masterUsername:AwsRdsDbInstanceDetails' :: Maybe Text
masterUsername = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | List of identifiers of the read replicas associated with this DB
-- instance.
awsRdsDbInstanceDetails_readReplicaDBInstanceIdentifiers :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [Prelude.Text])
awsRdsDbInstanceDetails_readReplicaDBInstanceIdentifiers :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_readReplicaDBInstanceIdentifiers = (AwsRdsDbInstanceDetails -> Maybe [Text])
-> (AwsRdsDbInstanceDetails
    -> Maybe [Text] -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [Text]
readReplicaDBInstanceIdentifiers :: Maybe [Text]
$sel:readReplicaDBInstanceIdentifiers:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [Text]
readReplicaDBInstanceIdentifiers} -> Maybe [Text]
readReplicaDBInstanceIdentifiers) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [Text]
a -> AwsRdsDbInstanceDetails
s {$sel:readReplicaDBInstanceIdentifiers:AwsRdsDbInstanceDetails' :: Maybe [Text]
readReplicaDBInstanceIdentifiers = Maybe [Text]
a} :: AwsRdsDbInstanceDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | True if mapping of IAM accounts to database accounts is enabled, and
-- otherwise false.
--
-- IAM database authentication can be enabled for the following database
-- engines.
--
-- -   For MySQL 5.6, minor version 5.6.34 or higher
--
-- -   For MySQL 5.7, minor version 5.7.16 or higher
--
-- -   Aurora 5.6 or higher
awsRdsDbInstanceDetails_iAMDatabaseAuthenticationEnabled :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Bool)
awsRdsDbInstanceDetails_iAMDatabaseAuthenticationEnabled :: (Maybe Bool -> f (Maybe Bool))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_iAMDatabaseAuthenticationEnabled = (AwsRdsDbInstanceDetails -> Maybe Bool)
-> (AwsRdsDbInstanceDetails
    -> Maybe Bool -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Bool
iAMDatabaseAuthenticationEnabled :: Maybe Bool
$sel:iAMDatabaseAuthenticationEnabled:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
iAMDatabaseAuthenticationEnabled} -> Maybe Bool
iAMDatabaseAuthenticationEnabled) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Bool
a -> AwsRdsDbInstanceDetails
s {$sel:iAMDatabaseAuthenticationEnabled:AwsRdsDbInstanceDetails' :: Maybe Bool
iAMDatabaseAuthenticationEnabled = Maybe Bool
a} :: AwsRdsDbInstanceDetails)

-- | The ARN for the IAM role that permits Amazon RDS to send enhanced
-- monitoring metrics to CloudWatch Logs.
awsRdsDbInstanceDetails_monitoringRoleArn :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_monitoringRoleArn :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_monitoringRoleArn = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
monitoringRoleArn :: Maybe Text
$sel:monitoringRoleArn:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
monitoringRoleArn} -> Maybe Text
monitoringRoleArn) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:monitoringRoleArn:AwsRdsDbInstanceDetails' :: Maybe Text
monitoringRoleArn = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | Specifies the provisioned IOPS (I\/O operations per second) for this DB
-- instance.
awsRdsDbInstanceDetails_iops :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Int)
awsRdsDbInstanceDetails_iops :: (Maybe Int -> f (Maybe Int))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_iops = (AwsRdsDbInstanceDetails -> Maybe Int)
-> (AwsRdsDbInstanceDetails
    -> Maybe Int -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Int
iops :: Maybe Int
$sel:iops:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
iops} -> Maybe Int
iops) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Int
a -> AwsRdsDbInstanceDetails
s {$sel:iops:AwsRdsDbInstanceDetails' :: Maybe Int
iops = Maybe Int
a} :: AwsRdsDbInstanceDetails)

-- | Indicates when the DB instance was created.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
awsRdsDbInstanceDetails_instanceCreateTime :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_instanceCreateTime :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_instanceCreateTime = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
instanceCreateTime :: Maybe Text
$sel:instanceCreateTime:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
instanceCreateTime} -> Maybe Text
instanceCreateTime) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:instanceCreateTime:AwsRdsDbInstanceDetails' :: Maybe Text
instanceCreateTime = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | If this DB instance is a read replica, contains the identifier of the
-- source DB instance.
awsRdsDbInstanceDetails_readReplicaSourceDBInstanceIdentifier :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_readReplicaSourceDBInstanceIdentifier :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_readReplicaSourceDBInstanceIdentifier = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
readReplicaSourceDBInstanceIdentifier :: Maybe Text
$sel:readReplicaSourceDBInstanceIdentifier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
readReplicaSourceDBInstanceIdentifier} -> Maybe Text
readReplicaSourceDBInstanceIdentifier) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:readReplicaSourceDBInstanceIdentifier:AwsRdsDbInstanceDetails' :: Maybe Text
readReplicaSourceDBInstanceIdentifier = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The interval, in seconds, between points when enhanced monitoring
-- metrics are collected for the DB instance.
awsRdsDbInstanceDetails_monitoringInterval :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Int)
awsRdsDbInstanceDetails_monitoringInterval :: (Maybe Int -> f (Maybe Int))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_monitoringInterval = (AwsRdsDbInstanceDetails -> Maybe Int)
-> (AwsRdsDbInstanceDetails
    -> Maybe Int -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Int
monitoringInterval :: Maybe Int
$sel:monitoringInterval:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
monitoringInterval} -> Maybe Int
monitoringInterval) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Int
a -> AwsRdsDbInstanceDetails
s {$sel:monitoringInterval:AwsRdsDbInstanceDetails' :: Maybe Int
monitoringInterval = Maybe Int
a} :: AwsRdsDbInstanceDetails)

-- | Provides the name of the database engine to use for this DB instance.
awsRdsDbInstanceDetails_engine :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_engine :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_engine = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
engine :: Maybe Text
$sel:engine:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
engine} -> Maybe Text
engine) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:engine:AwsRdsDbInstanceDetails' :: Maybe Text
engine = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The number of CPU cores and the number of threads per core for the DB
-- instance class of the DB instance.
awsRdsDbInstanceDetails_processorFeatures :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [AwsRdsDbProcessorFeature])
awsRdsDbInstanceDetails_processorFeatures :: (Maybe [AwsRdsDbProcessorFeature]
 -> f (Maybe [AwsRdsDbProcessorFeature]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_processorFeatures = (AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbProcessorFeature])
-> (AwsRdsDbInstanceDetails
    -> Maybe [AwsRdsDbProcessorFeature] -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [AwsRdsDbProcessorFeature])
     (Maybe [AwsRdsDbProcessorFeature])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [AwsRdsDbProcessorFeature]
processorFeatures :: Maybe [AwsRdsDbProcessorFeature]
$sel:processorFeatures:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbProcessorFeature]
processorFeatures} -> Maybe [AwsRdsDbProcessorFeature]
processorFeatures) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [AwsRdsDbProcessorFeature]
a -> AwsRdsDbInstanceDetails
s {$sel:processorFeatures:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbProcessorFeature]
processorFeatures = Maybe [AwsRdsDbProcessorFeature]
a} :: AwsRdsDbInstanceDetails) ((Maybe [AwsRdsDbProcessorFeature]
  -> f (Maybe [AwsRdsDbProcessorFeature]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [AwsRdsDbProcessorFeature]
     -> f (Maybe [AwsRdsDbProcessorFeature]))
    -> Maybe [AwsRdsDbProcessorFeature]
    -> f (Maybe [AwsRdsDbProcessorFeature]))
-> (Maybe [AwsRdsDbProcessorFeature]
    -> f (Maybe [AwsRdsDbProcessorFeature]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsRdsDbProcessorFeature]
  [AwsRdsDbProcessorFeature]
  [AwsRdsDbProcessorFeature]
  [AwsRdsDbProcessorFeature]
-> Iso
     (Maybe [AwsRdsDbProcessorFeature])
     (Maybe [AwsRdsDbProcessorFeature])
     (Maybe [AwsRdsDbProcessorFeature])
     (Maybe [AwsRdsDbProcessorFeature])
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 AnIso
  [AwsRdsDbProcessorFeature]
  [AwsRdsDbProcessorFeature]
  [AwsRdsDbProcessorFeature]
  [AwsRdsDbProcessorFeature]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Specifies the latest time to which a database can be restored with
-- point-in-time restore.
--
-- Uses the @date-time@ format specified in
-- <https://tools.ietf.org/html/rfc3339#section-5.6 RFC 3339 section 5.6, Internet Date\/Time Format>.
-- The value cannot contain spaces. For example,
-- @2020-03-22T13:22:13.933Z@.
awsRdsDbInstanceDetails_latestRestorableTime :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_latestRestorableTime :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_latestRestorableTime = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
latestRestorableTime :: Maybe Text
$sel:latestRestorableTime:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
latestRestorableTime} -> Maybe Text
latestRestorableTime) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:latestRestorableTime:AwsRdsDbInstanceDetails' :: Maybe Text
latestRestorableTime = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | Contains the name of the compute and memory capacity class of the DB
-- instance.
awsRdsDbInstanceDetails_dbInstanceClass :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_dbInstanceClass :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_dbInstanceClass = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
dbInstanceClass :: Maybe Text
$sel:dbInstanceClass:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
dbInstanceClass} -> Maybe Text
dbInstanceClass) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:dbInstanceClass:AwsRdsDbInstanceDetails' :: Maybe Text
dbInstanceClass = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The order in which to promote an Aurora replica to the primary instance
-- after a failure of the existing primary instance.
awsRdsDbInstanceDetails_promotionTier :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Int)
awsRdsDbInstanceDetails_promotionTier :: (Maybe Int -> f (Maybe Int))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_promotionTier = (AwsRdsDbInstanceDetails -> Maybe Int)
-> (AwsRdsDbInstanceDetails
    -> Maybe Int -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Int
promotionTier :: Maybe Int
$sel:promotionTier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
promotionTier} -> Maybe Int
promotionTier) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Int
a -> AwsRdsDbInstanceDetails
s {$sel:promotionTier:AwsRdsDbInstanceDetails' :: Maybe Int
promotionTier = Maybe Int
a} :: AwsRdsDbInstanceDetails)

-- | License model information for this DB instance.
awsRdsDbInstanceDetails_licenseModel :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_licenseModel :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_licenseModel = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
licenseModel :: Maybe Text
$sel:licenseModel:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
licenseModel} -> Maybe Text
licenseModel) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:licenseModel:AwsRdsDbInstanceDetails' :: Maybe Text
licenseModel = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The weekly time range during which system maintenance can occur, in
-- Universal Coordinated Time (UTC).
--
-- Uses the format @\<day>:HH:MM-\<day>:HH:MM@.
--
-- For the day values, use @mon@|@tue@|@wed@|@thu@|@fri@|@sat@|@sun@.
--
-- For example, @sun:09:32-sun:10:02@.
awsRdsDbInstanceDetails_preferredMaintenanceWindow :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_preferredMaintenanceWindow :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_preferredMaintenanceWindow = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
preferredMaintenanceWindow :: Maybe Text
$sel:preferredMaintenanceWindow:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
preferredMaintenanceWindow} -> Maybe Text
preferredMaintenanceWindow) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:preferredMaintenanceWindow:AwsRdsDbInstanceDetails' :: Maybe Text
preferredMaintenanceWindow = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The number of days to retain Performance Insights data.
awsRdsDbInstanceDetails_performanceInsightsRetentionPeriod :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Int)
awsRdsDbInstanceDetails_performanceInsightsRetentionPeriod :: (Maybe Int -> f (Maybe Int))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_performanceInsightsRetentionPeriod = (AwsRdsDbInstanceDetails -> Maybe Int)
-> (AwsRdsDbInstanceDetails
    -> Maybe Int -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Int
performanceInsightsRetentionPeriod :: Maybe Int
$sel:performanceInsightsRetentionPeriod:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
performanceInsightsRetentionPeriod} -> Maybe Int
performanceInsightsRetentionPeriod) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Int
a -> AwsRdsDbInstanceDetails
s {$sel:performanceInsightsRetentionPeriod:AwsRdsDbInstanceDetails' :: Maybe Int
performanceInsightsRetentionPeriod = Maybe Int
a} :: AwsRdsDbInstanceDetails)

-- | The identifier of the CA certificate for this DB instance.
awsRdsDbInstanceDetails_cACertificateIdentifier :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_cACertificateIdentifier :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_cACertificateIdentifier = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
cACertificateIdentifier :: Maybe Text
$sel:cACertificateIdentifier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
cACertificateIdentifier} -> Maybe Text
cACertificateIdentifier) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:cACertificateIdentifier:AwsRdsDbInstanceDetails' :: Maybe Text
cACertificateIdentifier = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | Contains a user-supplied database identifier. This identifier is the
-- unique key that identifies a DB instance.
awsRdsDbInstanceDetails_dbInstanceIdentifier :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_dbInstanceIdentifier :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_dbInstanceIdentifier = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
dbInstanceIdentifier :: Maybe Text
$sel:dbInstanceIdentifier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
dbInstanceIdentifier} -> Maybe Text
dbInstanceIdentifier) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:dbInstanceIdentifier:AwsRdsDbInstanceDetails' :: Maybe Text
dbInstanceIdentifier = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The name of the character set that this DB instance is associated with.
awsRdsDbInstanceDetails_characterSetName :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_characterSetName :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_characterSetName = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
characterSetName :: Maybe Text
$sel:characterSetName:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
characterSetName} -> Maybe Text
characterSetName) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:characterSetName:AwsRdsDbInstanceDetails' :: Maybe Text
characterSetName = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The upper limit to which Amazon RDS can automatically scale the storage
-- of the DB instance.
awsRdsDbInstanceDetails_maxAllocatedStorage :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Int)
awsRdsDbInstanceDetails_maxAllocatedStorage :: (Maybe Int -> f (Maybe Int))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_maxAllocatedStorage = (AwsRdsDbInstanceDetails -> Maybe Int)
-> (AwsRdsDbInstanceDetails
    -> Maybe Int -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Int
maxAllocatedStorage :: Maybe Int
$sel:maxAllocatedStorage:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
maxAllocatedStorage} -> Maybe Int
maxAllocatedStorage) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Int
a -> AwsRdsDbInstanceDetails
s {$sel:maxAllocatedStorage:AwsRdsDbInstanceDetails' :: Maybe Int
maxAllocatedStorage = Maybe Int
a} :: AwsRdsDbInstanceDetails)

-- | If @StorageEncrypted@ is true, the KMS key identifier for the encrypted
-- DB instance.
awsRdsDbInstanceDetails_kmsKeyId :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_kmsKeyId :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_kmsKeyId = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:kmsKeyId:AwsRdsDbInstanceDetails' :: Maybe Text
kmsKeyId = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The range of time each day when automated backups are created, if
-- automated backups are enabled.
--
-- Uses the format @HH:MM-HH:MM@. For example, @04:52-05:22@.
awsRdsDbInstanceDetails_preferredBackupWindow :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_preferredBackupWindow :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_preferredBackupWindow = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
preferredBackupWindow :: Maybe Text
$sel:preferredBackupWindow:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
preferredBackupWindow} -> Maybe Text
preferredBackupWindow) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:preferredBackupWindow:AwsRdsDbInstanceDetails' :: Maybe Text
preferredBackupWindow = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The IAM roles associated with the DB instance.
awsRdsDbInstanceDetails_associatedRoles :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [AwsRdsDbInstanceAssociatedRole])
awsRdsDbInstanceDetails_associatedRoles :: (Maybe [AwsRdsDbInstanceAssociatedRole]
 -> f (Maybe [AwsRdsDbInstanceAssociatedRole]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_associatedRoles = (AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbInstanceAssociatedRole])
-> (AwsRdsDbInstanceDetails
    -> Maybe [AwsRdsDbInstanceAssociatedRole]
    -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [AwsRdsDbInstanceAssociatedRole])
     (Maybe [AwsRdsDbInstanceAssociatedRole])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [AwsRdsDbInstanceAssociatedRole]
associatedRoles :: Maybe [AwsRdsDbInstanceAssociatedRole]
$sel:associatedRoles:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbInstanceAssociatedRole]
associatedRoles} -> Maybe [AwsRdsDbInstanceAssociatedRole]
associatedRoles) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [AwsRdsDbInstanceAssociatedRole]
a -> AwsRdsDbInstanceDetails
s {$sel:associatedRoles:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbInstanceAssociatedRole]
associatedRoles = Maybe [AwsRdsDbInstanceAssociatedRole]
a} :: AwsRdsDbInstanceDetails) ((Maybe [AwsRdsDbInstanceAssociatedRole]
  -> f (Maybe [AwsRdsDbInstanceAssociatedRole]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [AwsRdsDbInstanceAssociatedRole]
     -> f (Maybe [AwsRdsDbInstanceAssociatedRole]))
    -> Maybe [AwsRdsDbInstanceAssociatedRole]
    -> f (Maybe [AwsRdsDbInstanceAssociatedRole]))
-> (Maybe [AwsRdsDbInstanceAssociatedRole]
    -> f (Maybe [AwsRdsDbInstanceAssociatedRole]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsRdsDbInstanceAssociatedRole]
  [AwsRdsDbInstanceAssociatedRole]
  [AwsRdsDbInstanceAssociatedRole]
  [AwsRdsDbInstanceAssociatedRole]
-> Iso
     (Maybe [AwsRdsDbInstanceAssociatedRole])
     (Maybe [AwsRdsDbInstanceAssociatedRole])
     (Maybe [AwsRdsDbInstanceAssociatedRole])
     (Maybe [AwsRdsDbInstanceAssociatedRole])
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 AnIso
  [AwsRdsDbInstanceAssociatedRole]
  [AwsRdsDbInstanceAssociatedRole]
  [AwsRdsDbInstanceAssociatedRole]
  [AwsRdsDbInstanceAssociatedRole]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The Availability Zone where the DB instance will be created.
awsRdsDbInstanceDetails_availabilityZone :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_availabilityZone :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_availabilityZone = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
availabilityZone :: Maybe Text
$sel:availabilityZone:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
availabilityZone} -> Maybe Text
availabilityZone) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:availabilityZone:AwsRdsDbInstanceDetails' :: Maybe Text
availabilityZone = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | A list of VPC security groups that the DB instance belongs to.
awsRdsDbInstanceDetails_vpcSecurityGroups :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [AwsRdsDbInstanceVpcSecurityGroup])
awsRdsDbInstanceDetails_vpcSecurityGroups :: (Maybe [AwsRdsDbInstanceVpcSecurityGroup]
 -> f (Maybe [AwsRdsDbInstanceVpcSecurityGroup]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_vpcSecurityGroups = (AwsRdsDbInstanceDetails
 -> Maybe [AwsRdsDbInstanceVpcSecurityGroup])
-> (AwsRdsDbInstanceDetails
    -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
    -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [AwsRdsDbInstanceVpcSecurityGroup])
     (Maybe [AwsRdsDbInstanceVpcSecurityGroup])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [AwsRdsDbInstanceVpcSecurityGroup]
vpcSecurityGroups :: Maybe [AwsRdsDbInstanceVpcSecurityGroup]
$sel:vpcSecurityGroups:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
vpcSecurityGroups} -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
vpcSecurityGroups) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [AwsRdsDbInstanceVpcSecurityGroup]
a -> AwsRdsDbInstanceDetails
s {$sel:vpcSecurityGroups:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbInstanceVpcSecurityGroup]
vpcSecurityGroups = Maybe [AwsRdsDbInstanceVpcSecurityGroup]
a} :: AwsRdsDbInstanceDetails) ((Maybe [AwsRdsDbInstanceVpcSecurityGroup]
  -> f (Maybe [AwsRdsDbInstanceVpcSecurityGroup]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [AwsRdsDbInstanceVpcSecurityGroup]
     -> f (Maybe [AwsRdsDbInstanceVpcSecurityGroup]))
    -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
    -> f (Maybe [AwsRdsDbInstanceVpcSecurityGroup]))
-> (Maybe [AwsRdsDbInstanceVpcSecurityGroup]
    -> f (Maybe [AwsRdsDbInstanceVpcSecurityGroup]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsRdsDbInstanceVpcSecurityGroup]
  [AwsRdsDbInstanceVpcSecurityGroup]
  [AwsRdsDbInstanceVpcSecurityGroup]
  [AwsRdsDbInstanceVpcSecurityGroup]
-> Iso
     (Maybe [AwsRdsDbInstanceVpcSecurityGroup])
     (Maybe [AwsRdsDbInstanceVpcSecurityGroup])
     (Maybe [AwsRdsDbInstanceVpcSecurityGroup])
     (Maybe [AwsRdsDbInstanceVpcSecurityGroup])
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 AnIso
  [AwsRdsDbInstanceVpcSecurityGroup]
  [AwsRdsDbInstanceVpcSecurityGroup]
  [AwsRdsDbInstanceVpcSecurityGroup]
  [AwsRdsDbInstanceVpcSecurityGroup]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The number of days for which to retain automated backups.
awsRdsDbInstanceDetails_backupRetentionPeriod :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Int)
awsRdsDbInstanceDetails_backupRetentionPeriod :: (Maybe Int -> f (Maybe Int))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_backupRetentionPeriod = (AwsRdsDbInstanceDetails -> Maybe Int)
-> (AwsRdsDbInstanceDetails
    -> Maybe Int -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Int
backupRetentionPeriod :: Maybe Int
$sel:backupRetentionPeriod:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
backupRetentionPeriod} -> Maybe Int
backupRetentionPeriod) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Int
a -> AwsRdsDbInstanceDetails
s {$sel:backupRetentionPeriod:AwsRdsDbInstanceDetails' :: Maybe Int
backupRetentionPeriod = Maybe Int
a} :: AwsRdsDbInstanceDetails)

-- | The identifier of the KMS key used to encrypt the Performance Insights
-- data.
awsRdsDbInstanceDetails_performanceInsightsKmsKeyId :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_performanceInsightsKmsKeyId :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_performanceInsightsKmsKeyId = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
performanceInsightsKmsKeyId :: Maybe Text
$sel:performanceInsightsKmsKeyId:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
performanceInsightsKmsKeyId} -> Maybe Text
performanceInsightsKmsKeyId) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:performanceInsightsKmsKeyId:AwsRdsDbInstanceDetails' :: Maybe Text
performanceInsightsKmsKeyId = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | Information about the subnet group that is associated with the DB
-- instance.
awsRdsDbInstanceDetails_dbSubnetGroup :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe AwsRdsDbSubnetGroup)
awsRdsDbInstanceDetails_dbSubnetGroup :: (Maybe AwsRdsDbSubnetGroup -> f (Maybe AwsRdsDbSubnetGroup))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_dbSubnetGroup = (AwsRdsDbInstanceDetails -> Maybe AwsRdsDbSubnetGroup)
-> (AwsRdsDbInstanceDetails
    -> Maybe AwsRdsDbSubnetGroup -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe AwsRdsDbSubnetGroup)
     (Maybe AwsRdsDbSubnetGroup)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe AwsRdsDbSubnetGroup
dbSubnetGroup :: Maybe AwsRdsDbSubnetGroup
$sel:dbSubnetGroup:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe AwsRdsDbSubnetGroup
dbSubnetGroup} -> Maybe AwsRdsDbSubnetGroup
dbSubnetGroup) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe AwsRdsDbSubnetGroup
a -> AwsRdsDbInstanceDetails
s {$sel:dbSubnetGroup:AwsRdsDbInstanceDetails' :: Maybe AwsRdsDbSubnetGroup
dbSubnetGroup = Maybe AwsRdsDbSubnetGroup
a} :: AwsRdsDbInstanceDetails)

-- | Whether the DB instance is a multiple Availability Zone deployment.
awsRdsDbInstanceDetails_multiAz :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Bool)
awsRdsDbInstanceDetails_multiAz :: (Maybe Bool -> f (Maybe Bool))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_multiAz = (AwsRdsDbInstanceDetails -> Maybe Bool)
-> (AwsRdsDbInstanceDetails
    -> Maybe Bool -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Bool
multiAz :: Maybe Bool
$sel:multiAz:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
multiAz} -> Maybe Bool
multiAz) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Bool
a -> AwsRdsDbInstanceDetails
s {$sel:multiAz:AwsRdsDbInstanceDetails' :: Maybe Bool
multiAz = Maybe Bool
a} :: AwsRdsDbInstanceDetails)

-- | Undocumented member.
awsRdsDbInstanceDetails_listenerEndpoint :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe AwsRdsDbInstanceEndpoint)
awsRdsDbInstanceDetails_listenerEndpoint :: (Maybe AwsRdsDbInstanceEndpoint
 -> f (Maybe AwsRdsDbInstanceEndpoint))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_listenerEndpoint = (AwsRdsDbInstanceDetails -> Maybe AwsRdsDbInstanceEndpoint)
-> (AwsRdsDbInstanceDetails
    -> Maybe AwsRdsDbInstanceEndpoint -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe AwsRdsDbInstanceEndpoint)
     (Maybe AwsRdsDbInstanceEndpoint)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe AwsRdsDbInstanceEndpoint
listenerEndpoint :: Maybe AwsRdsDbInstanceEndpoint
$sel:listenerEndpoint:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe AwsRdsDbInstanceEndpoint
listenerEndpoint} -> Maybe AwsRdsDbInstanceEndpoint
listenerEndpoint) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe AwsRdsDbInstanceEndpoint
a -> AwsRdsDbInstanceDetails
s {$sel:listenerEndpoint:AwsRdsDbInstanceDetails' :: Maybe AwsRdsDbInstanceEndpoint
listenerEndpoint = Maybe AwsRdsDbInstanceEndpoint
a} :: AwsRdsDbInstanceDetails)

-- | The list of option group memberships for this DB instance.
awsRdsDbInstanceDetails_optionGroupMemberships :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [AwsRdsDbOptionGroupMembership])
awsRdsDbInstanceDetails_optionGroupMemberships :: (Maybe [AwsRdsDbOptionGroupMembership]
 -> f (Maybe [AwsRdsDbOptionGroupMembership]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_optionGroupMemberships = (AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbOptionGroupMembership])
-> (AwsRdsDbInstanceDetails
    -> Maybe [AwsRdsDbOptionGroupMembership]
    -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [AwsRdsDbOptionGroupMembership])
     (Maybe [AwsRdsDbOptionGroupMembership])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [AwsRdsDbOptionGroupMembership]
optionGroupMemberships :: Maybe [AwsRdsDbOptionGroupMembership]
$sel:optionGroupMemberships:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbOptionGroupMembership]
optionGroupMemberships} -> Maybe [AwsRdsDbOptionGroupMembership]
optionGroupMemberships) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [AwsRdsDbOptionGroupMembership]
a -> AwsRdsDbInstanceDetails
s {$sel:optionGroupMemberships:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbOptionGroupMembership]
optionGroupMemberships = Maybe [AwsRdsDbOptionGroupMembership]
a} :: AwsRdsDbInstanceDetails) ((Maybe [AwsRdsDbOptionGroupMembership]
  -> f (Maybe [AwsRdsDbOptionGroupMembership]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [AwsRdsDbOptionGroupMembership]
     -> f (Maybe [AwsRdsDbOptionGroupMembership]))
    -> Maybe [AwsRdsDbOptionGroupMembership]
    -> f (Maybe [AwsRdsDbOptionGroupMembership]))
-> (Maybe [AwsRdsDbOptionGroupMembership]
    -> f (Maybe [AwsRdsDbOptionGroupMembership]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsRdsDbOptionGroupMembership]
  [AwsRdsDbOptionGroupMembership]
  [AwsRdsDbOptionGroupMembership]
  [AwsRdsDbOptionGroupMembership]
-> Iso
     (Maybe [AwsRdsDbOptionGroupMembership])
     (Maybe [AwsRdsDbOptionGroupMembership])
     (Maybe [AwsRdsDbOptionGroupMembership])
     (Maybe [AwsRdsDbOptionGroupMembership])
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 AnIso
  [AwsRdsDbOptionGroupMembership]
  [AwsRdsDbOptionGroupMembership]
  [AwsRdsDbOptionGroupMembership]
  [AwsRdsDbOptionGroupMembership]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The ARN of the CloudWatch Logs log stream that receives the enhanced
-- monitoring metrics data for the DB instance.
awsRdsDbInstanceDetails_enhancedMonitoringResourceArn :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_enhancedMonitoringResourceArn :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_enhancedMonitoringResourceArn = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
enhancedMonitoringResourceArn :: Maybe Text
$sel:enhancedMonitoringResourceArn:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
enhancedMonitoringResourceArn} -> Maybe Text
enhancedMonitoringResourceArn) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:enhancedMonitoringResourceArn:AwsRdsDbInstanceDetails' :: Maybe Text
enhancedMonitoringResourceArn = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | For a DB instance with multi-Availability Zone support, the name of the
-- secondary Availability Zone.
awsRdsDbInstanceDetails_secondaryAvailabilityZone :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_secondaryAvailabilityZone :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_secondaryAvailabilityZone = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
secondaryAvailabilityZone :: Maybe Text
$sel:secondaryAvailabilityZone:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
secondaryAvailabilityZone} -> Maybe Text
secondaryAvailabilityZone) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:secondaryAvailabilityZone:AwsRdsDbInstanceDetails' :: Maybe Text
secondaryAvailabilityZone = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | A list of log types that this DB instance is configured to export to
-- CloudWatch Logs.
awsRdsDbInstanceDetails_enabledCloudWatchLogsExports :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [Prelude.Text])
awsRdsDbInstanceDetails_enabledCloudWatchLogsExports :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_enabledCloudWatchLogsExports = (AwsRdsDbInstanceDetails -> Maybe [Text])
-> (AwsRdsDbInstanceDetails
    -> Maybe [Text] -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [Text]
enabledCloudWatchLogsExports :: Maybe [Text]
$sel:enabledCloudWatchLogsExports:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [Text]
enabledCloudWatchLogsExports} -> Maybe [Text]
enabledCloudWatchLogsExports) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [Text]
a -> AwsRdsDbInstanceDetails
s {$sel:enabledCloudWatchLogsExports:AwsRdsDbInstanceDetails' :: Maybe [Text]
enabledCloudWatchLogsExports = Maybe [Text]
a} :: AwsRdsDbInstanceDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Indicates whether Performance Insights is enabled for the DB instance.
awsRdsDbInstanceDetails_performanceInsightsEnabled :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Bool)
awsRdsDbInstanceDetails_performanceInsightsEnabled :: (Maybe Bool -> f (Maybe Bool))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_performanceInsightsEnabled = (AwsRdsDbInstanceDetails -> Maybe Bool)
-> (AwsRdsDbInstanceDetails
    -> Maybe Bool -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Bool
performanceInsightsEnabled :: Maybe Bool
$sel:performanceInsightsEnabled:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
performanceInsightsEnabled} -> Maybe Bool
performanceInsightsEnabled) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Bool
a -> AwsRdsDbInstanceDetails
s {$sel:performanceInsightsEnabled:AwsRdsDbInstanceDetails' :: Maybe Bool
performanceInsightsEnabled = Maybe Bool
a} :: AwsRdsDbInstanceDetails)

-- | The amount of storage (in gigabytes) to initially allocate for the DB
-- instance.
awsRdsDbInstanceDetails_allocatedStorage :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Int)
awsRdsDbInstanceDetails_allocatedStorage :: (Maybe Int -> f (Maybe Int))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_allocatedStorage = (AwsRdsDbInstanceDetails -> Maybe Int)
-> (AwsRdsDbInstanceDetails
    -> Maybe Int -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Int
allocatedStorage :: Maybe Int
$sel:allocatedStorage:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
allocatedStorage} -> Maybe Int
allocatedStorage) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Int
a -> AwsRdsDbInstanceDetails
s {$sel:allocatedStorage:AwsRdsDbInstanceDetails' :: Maybe Int
allocatedStorage = Maybe Int
a} :: AwsRdsDbInstanceDetails)

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

-- | The current status of the DB instance.
awsRdsDbInstanceDetails_dbInstanceStatus :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_dbInstanceStatus :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_dbInstanceStatus = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
dbInstanceStatus :: Maybe Text
$sel:dbInstanceStatus:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
dbInstanceStatus} -> Maybe Text
dbInstanceStatus) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:dbInstanceStatus:AwsRdsDbInstanceDetails' :: Maybe Text
dbInstanceStatus = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | Whether to copy resource tags to snapshots of the DB instance.
awsRdsDbInstanceDetails_copyTagsToSnapshot :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Bool)
awsRdsDbInstanceDetails_copyTagsToSnapshot :: (Maybe Bool -> f (Maybe Bool))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_copyTagsToSnapshot = (AwsRdsDbInstanceDetails -> Maybe Bool)
-> (AwsRdsDbInstanceDetails
    -> Maybe Bool -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Bool
copyTagsToSnapshot :: Maybe Bool
$sel:copyTagsToSnapshot:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
copyTagsToSnapshot} -> Maybe Bool
copyTagsToSnapshot) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Bool
a -> AwsRdsDbInstanceDetails
s {$sel:copyTagsToSnapshot:AwsRdsDbInstanceDetails' :: Maybe Bool
copyTagsToSnapshot = Maybe Bool
a} :: AwsRdsDbInstanceDetails)

-- | The time zone of the DB instance.
awsRdsDbInstanceDetails_timezone :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_timezone :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_timezone = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
timezone :: Maybe Text
$sel:timezone:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
timezone} -> Maybe Text
timezone) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:timezone:AwsRdsDbInstanceDetails' :: Maybe Text
timezone = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The ARN from the key store with which the instance is associated for TDE
-- encryption.
awsRdsDbInstanceDetails_tdeCredentialArn :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_tdeCredentialArn :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_tdeCredentialArn = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
tdeCredentialArn :: Maybe Text
$sel:tdeCredentialArn:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
tdeCredentialArn} -> Maybe Text
tdeCredentialArn) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:tdeCredentialArn:AwsRdsDbInstanceDetails' :: Maybe Text
tdeCredentialArn = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | A list of the DB parameter groups to assign to the DB instance.
awsRdsDbInstanceDetails_dbParameterGroups :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [AwsRdsDbParameterGroup])
awsRdsDbInstanceDetails_dbParameterGroups :: (Maybe [AwsRdsDbParameterGroup]
 -> f (Maybe [AwsRdsDbParameterGroup]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_dbParameterGroups = (AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbParameterGroup])
-> (AwsRdsDbInstanceDetails
    -> Maybe [AwsRdsDbParameterGroup] -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [AwsRdsDbParameterGroup])
     (Maybe [AwsRdsDbParameterGroup])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [AwsRdsDbParameterGroup]
dbParameterGroups :: Maybe [AwsRdsDbParameterGroup]
$sel:dbParameterGroups:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbParameterGroup]
dbParameterGroups} -> Maybe [AwsRdsDbParameterGroup]
dbParameterGroups) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [AwsRdsDbParameterGroup]
a -> AwsRdsDbInstanceDetails
s {$sel:dbParameterGroups:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbParameterGroup]
dbParameterGroups = Maybe [AwsRdsDbParameterGroup]
a} :: AwsRdsDbInstanceDetails) ((Maybe [AwsRdsDbParameterGroup]
  -> f (Maybe [AwsRdsDbParameterGroup]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [AwsRdsDbParameterGroup]
     -> f (Maybe [AwsRdsDbParameterGroup]))
    -> Maybe [AwsRdsDbParameterGroup]
    -> f (Maybe [AwsRdsDbParameterGroup]))
-> (Maybe [AwsRdsDbParameterGroup]
    -> f (Maybe [AwsRdsDbParameterGroup]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsRdsDbParameterGroup]
  [AwsRdsDbParameterGroup]
  [AwsRdsDbParameterGroup]
  [AwsRdsDbParameterGroup]
-> Iso
     (Maybe [AwsRdsDbParameterGroup])
     (Maybe [AwsRdsDbParameterGroup])
     (Maybe [AwsRdsDbParameterGroup])
     (Maybe [AwsRdsDbParameterGroup])
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 AnIso
  [AwsRdsDbParameterGroup]
  [AwsRdsDbParameterGroup]
  [AwsRdsDbParameterGroup]
  [AwsRdsDbParameterGroup]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Specifies the connection endpoint.
awsRdsDbInstanceDetails_endpoint :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe AwsRdsDbInstanceEndpoint)
awsRdsDbInstanceDetails_endpoint :: (Maybe AwsRdsDbInstanceEndpoint
 -> f (Maybe AwsRdsDbInstanceEndpoint))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_endpoint = (AwsRdsDbInstanceDetails -> Maybe AwsRdsDbInstanceEndpoint)
-> (AwsRdsDbInstanceDetails
    -> Maybe AwsRdsDbInstanceEndpoint -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe AwsRdsDbInstanceEndpoint)
     (Maybe AwsRdsDbInstanceEndpoint)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe AwsRdsDbInstanceEndpoint
endpoint :: Maybe AwsRdsDbInstanceEndpoint
$sel:endpoint:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe AwsRdsDbInstanceEndpoint
endpoint} -> Maybe AwsRdsDbInstanceEndpoint
endpoint) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe AwsRdsDbInstanceEndpoint
a -> AwsRdsDbInstanceDetails
s {$sel:endpoint:AwsRdsDbInstanceDetails' :: Maybe AwsRdsDbInstanceEndpoint
endpoint = Maybe AwsRdsDbInstanceEndpoint
a} :: AwsRdsDbInstanceDetails)

-- | Specifies the port that the DB instance listens on. If the DB instance
-- is part of a DB cluster, this can be a different port than the DB
-- cluster port.
awsRdsDbInstanceDetails_dbInstancePort :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Int)
awsRdsDbInstanceDetails_dbInstancePort :: (Maybe Int -> f (Maybe Int))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_dbInstancePort = (AwsRdsDbInstanceDetails -> Maybe Int)
-> (AwsRdsDbInstanceDetails
    -> Maybe Int -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Int
dbInstancePort :: Maybe Int
$sel:dbInstancePort:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
dbInstancePort} -> Maybe Int
dbInstancePort) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Int
a -> AwsRdsDbInstanceDetails
s {$sel:dbInstancePort:AwsRdsDbInstanceDetails' :: Maybe Int
dbInstancePort = Maybe Int
a} :: AwsRdsDbInstanceDetails)

-- | Changes to the DB instance that are currently pending.
awsRdsDbInstanceDetails_pendingModifiedValues :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe AwsRdsDbPendingModifiedValues)
awsRdsDbInstanceDetails_pendingModifiedValues :: (Maybe AwsRdsDbPendingModifiedValues
 -> f (Maybe AwsRdsDbPendingModifiedValues))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_pendingModifiedValues = (AwsRdsDbInstanceDetails -> Maybe AwsRdsDbPendingModifiedValues)
-> (AwsRdsDbInstanceDetails
    -> Maybe AwsRdsDbPendingModifiedValues -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe AwsRdsDbPendingModifiedValues)
     (Maybe AwsRdsDbPendingModifiedValues)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe AwsRdsDbPendingModifiedValues
pendingModifiedValues :: Maybe AwsRdsDbPendingModifiedValues
$sel:pendingModifiedValues:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe AwsRdsDbPendingModifiedValues
pendingModifiedValues} -> Maybe AwsRdsDbPendingModifiedValues
pendingModifiedValues) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe AwsRdsDbPendingModifiedValues
a -> AwsRdsDbInstanceDetails
s {$sel:pendingModifiedValues:AwsRdsDbInstanceDetails' :: Maybe AwsRdsDbPendingModifiedValues
pendingModifiedValues = Maybe AwsRdsDbPendingModifiedValues
a} :: AwsRdsDbInstanceDetails)

-- | List of identifiers of Aurora DB clusters to which the RDS DB instance
-- is replicated as a read replica.
awsRdsDbInstanceDetails_readReplicaDBClusterIdentifiers :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [Prelude.Text])
awsRdsDbInstanceDetails_readReplicaDBClusterIdentifiers :: (Maybe [Text] -> f (Maybe [Text]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_readReplicaDBClusterIdentifiers = (AwsRdsDbInstanceDetails -> Maybe [Text])
-> (AwsRdsDbInstanceDetails
    -> Maybe [Text] -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [Text]
readReplicaDBClusterIdentifiers :: Maybe [Text]
$sel:readReplicaDBClusterIdentifiers:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [Text]
readReplicaDBClusterIdentifiers} -> Maybe [Text]
readReplicaDBClusterIdentifiers) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [Text]
a -> AwsRdsDbInstanceDetails
s {$sel:readReplicaDBClusterIdentifiers:AwsRdsDbInstanceDetails' :: Maybe [Text]
readReplicaDBClusterIdentifiers = Maybe [Text]
a} :: AwsRdsDbInstanceDetails) ((Maybe [Text] -> f (Maybe [Text]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The storage type for the DB instance.
awsRdsDbInstanceDetails_storageType :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_storageType :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_storageType = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
storageType :: Maybe Text
$sel:storageType:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
storageType} -> Maybe Text
storageType) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:storageType:AwsRdsDbInstanceDetails' :: Maybe Text
storageType = Maybe Text
a} :: AwsRdsDbInstanceDetails)

-- | The status of a read replica. If the instance isn\'t a read replica,
-- this is empty.
awsRdsDbInstanceDetails_statusInfos :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [AwsRdsDbStatusInfo])
awsRdsDbInstanceDetails_statusInfos :: (Maybe [AwsRdsDbStatusInfo] -> f (Maybe [AwsRdsDbStatusInfo]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_statusInfos = (AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbStatusInfo])
-> (AwsRdsDbInstanceDetails
    -> Maybe [AwsRdsDbStatusInfo] -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [AwsRdsDbStatusInfo])
     (Maybe [AwsRdsDbStatusInfo])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [AwsRdsDbStatusInfo]
statusInfos :: Maybe [AwsRdsDbStatusInfo]
$sel:statusInfos:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbStatusInfo]
statusInfos} -> Maybe [AwsRdsDbStatusInfo]
statusInfos) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [AwsRdsDbStatusInfo]
a -> AwsRdsDbInstanceDetails
s {$sel:statusInfos:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbStatusInfo]
statusInfos = Maybe [AwsRdsDbStatusInfo]
a} :: AwsRdsDbInstanceDetails) ((Maybe [AwsRdsDbStatusInfo] -> f (Maybe [AwsRdsDbStatusInfo]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [AwsRdsDbStatusInfo] -> f (Maybe [AwsRdsDbStatusInfo]))
    -> Maybe [AwsRdsDbStatusInfo] -> f (Maybe [AwsRdsDbStatusInfo]))
-> (Maybe [AwsRdsDbStatusInfo] -> f (Maybe [AwsRdsDbStatusInfo]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsRdsDbStatusInfo]
  [AwsRdsDbStatusInfo]
  [AwsRdsDbStatusInfo]
  [AwsRdsDbStatusInfo]
-> Iso
     (Maybe [AwsRdsDbStatusInfo])
     (Maybe [AwsRdsDbStatusInfo])
     (Maybe [AwsRdsDbStatusInfo])
     (Maybe [AwsRdsDbStatusInfo])
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 AnIso
  [AwsRdsDbStatusInfo]
  [AwsRdsDbStatusInfo]
  [AwsRdsDbStatusInfo]
  [AwsRdsDbStatusInfo]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The Active Directory domain membership records associated with the DB
-- instance.
awsRdsDbInstanceDetails_domainMemberships :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe [AwsRdsDbDomainMembership])
awsRdsDbInstanceDetails_domainMemberships :: (Maybe [AwsRdsDbDomainMembership]
 -> f (Maybe [AwsRdsDbDomainMembership]))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_domainMemberships = (AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbDomainMembership])
-> (AwsRdsDbInstanceDetails
    -> Maybe [AwsRdsDbDomainMembership] -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe [AwsRdsDbDomainMembership])
     (Maybe [AwsRdsDbDomainMembership])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe [AwsRdsDbDomainMembership]
domainMemberships :: Maybe [AwsRdsDbDomainMembership]
$sel:domainMemberships:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbDomainMembership]
domainMemberships} -> Maybe [AwsRdsDbDomainMembership]
domainMemberships) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe [AwsRdsDbDomainMembership]
a -> AwsRdsDbInstanceDetails
s {$sel:domainMemberships:AwsRdsDbInstanceDetails' :: Maybe [AwsRdsDbDomainMembership]
domainMemberships = Maybe [AwsRdsDbDomainMembership]
a} :: AwsRdsDbInstanceDetails) ((Maybe [AwsRdsDbDomainMembership]
  -> f (Maybe [AwsRdsDbDomainMembership]))
 -> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails)
-> ((Maybe [AwsRdsDbDomainMembership]
     -> f (Maybe [AwsRdsDbDomainMembership]))
    -> Maybe [AwsRdsDbDomainMembership]
    -> f (Maybe [AwsRdsDbDomainMembership]))
-> (Maybe [AwsRdsDbDomainMembership]
    -> f (Maybe [AwsRdsDbDomainMembership]))
-> AwsRdsDbInstanceDetails
-> f AwsRdsDbInstanceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [AwsRdsDbDomainMembership]
  [AwsRdsDbDomainMembership]
  [AwsRdsDbDomainMembership]
  [AwsRdsDbDomainMembership]
-> Iso
     (Maybe [AwsRdsDbDomainMembership])
     (Maybe [AwsRdsDbDomainMembership])
     (Maybe [AwsRdsDbDomainMembership])
     (Maybe [AwsRdsDbDomainMembership])
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 AnIso
  [AwsRdsDbDomainMembership]
  [AwsRdsDbDomainMembership]
  [AwsRdsDbDomainMembership]
  [AwsRdsDbDomainMembership]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The meaning of this parameter differs according to the database engine
-- you use.
--
-- __MySQL, MariaDB, SQL Server, PostgreSQL__
--
-- Contains the name of the initial database of this instance that was
-- provided at create time, if one was specified when the DB instance was
-- created. This same name is returned for the life of the DB instance.
--
-- __Oracle__
--
-- Contains the Oracle System ID (SID) of the created DB instance. Not
-- shown when the returned parameters do not apply to an Oracle DB
-- instance.
awsRdsDbInstanceDetails_dbName :: Lens.Lens' AwsRdsDbInstanceDetails (Prelude.Maybe Prelude.Text)
awsRdsDbInstanceDetails_dbName :: (Maybe Text -> f (Maybe Text))
-> AwsRdsDbInstanceDetails -> f AwsRdsDbInstanceDetails
awsRdsDbInstanceDetails_dbName = (AwsRdsDbInstanceDetails -> Maybe Text)
-> (AwsRdsDbInstanceDetails
    -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Lens
     AwsRdsDbInstanceDetails
     AwsRdsDbInstanceDetails
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AwsRdsDbInstanceDetails' {Maybe Text
dbName :: Maybe Text
$sel:dbName:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
dbName} -> Maybe Text
dbName) (\s :: AwsRdsDbInstanceDetails
s@AwsRdsDbInstanceDetails' {} Maybe Text
a -> AwsRdsDbInstanceDetails
s {$sel:dbName:AwsRdsDbInstanceDetails' :: Maybe Text
dbName = Maybe Text
a} :: AwsRdsDbInstanceDetails)

instance Core.FromJSON AwsRdsDbInstanceDetails where
  parseJSON :: Value -> Parser AwsRdsDbInstanceDetails
parseJSON =
    String
-> (Object -> Parser AwsRdsDbInstanceDetails)
-> Value
-> Parser AwsRdsDbInstanceDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"AwsRdsDbInstanceDetails"
      ( \Object
x ->
          Maybe [Text]
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe [Text]
-> Maybe Bool
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe [AwsRdsDbProcessorFeature]
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe [AwsRdsDbInstanceAssociatedRole]
-> Maybe Text
-> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
-> Maybe Int
-> Maybe Text
-> Maybe AwsRdsDbSubnetGroup
-> Maybe Bool
-> Maybe AwsRdsDbInstanceEndpoint
-> Maybe [AwsRdsDbOptionGroupMembership]
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe Bool
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe [AwsRdsDbParameterGroup]
-> Maybe AwsRdsDbInstanceEndpoint
-> Maybe Int
-> Maybe AwsRdsDbPendingModifiedValues
-> Maybe [Text]
-> Maybe Text
-> Maybe [AwsRdsDbStatusInfo]
-> Maybe [AwsRdsDbDomainMembership]
-> Maybe Text
-> AwsRdsDbInstanceDetails
AwsRdsDbInstanceDetails'
            (Maybe [Text]
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe [AwsRdsDbProcessorFeature]
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe [AwsRdsDbInstanceAssociatedRole]
 -> Maybe Text
 -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
 -> Maybe Int
 -> Maybe Text
 -> Maybe AwsRdsDbSubnetGroup
 -> Maybe Bool
 -> Maybe AwsRdsDbInstanceEndpoint
 -> Maybe [AwsRdsDbOptionGroupMembership]
 -> Maybe Text
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe Bool
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe [AwsRdsDbParameterGroup]
 -> Maybe AwsRdsDbInstanceEndpoint
 -> Maybe Int
 -> Maybe AwsRdsDbPendingModifiedValues
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe [AwsRdsDbStatusInfo]
 -> Maybe [AwsRdsDbDomainMembership]
 -> Maybe Text
 -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DbSecurityGroups"
                            Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EngineVersion")
            Parser
  (Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DeletionProtection")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StorageEncrypted")
            Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DBClusterIdentifier")
            Parser
  (Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PubliclyAccessible")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AutoMinorVersionUpgrade")
            Parser
  (Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text]
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MasterUsername")
            Parser
  (Maybe [Text]
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReadReplicaDBInstanceIdentifiers"
                            Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"IAMDatabaseAuthenticationEnabled")
            Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MonitoringRoleArn")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Iops")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"InstanceCreateTime")
            Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReadReplicaSourceDBInstanceIdentifier")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MonitoringInterval")
            Parser
  (Maybe Text
   -> Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [AwsRdsDbProcessorFeature]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Engine")
            Parser
  (Maybe [AwsRdsDbProcessorFeature]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [AwsRdsDbProcessorFeature])
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [AwsRdsDbProcessorFeature]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ProcessorFeatures"
                            Parser (Maybe (Maybe [AwsRdsDbProcessorFeature]))
-> Maybe [AwsRdsDbProcessorFeature]
-> Parser (Maybe [AwsRdsDbProcessorFeature])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsRdsDbProcessorFeature]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LatestRestorableTime")
            Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DBInstanceClass")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PromotionTier")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LicenseModel")
            Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PreferredMaintenanceWindow")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PerformanceInsightsRetentionPeriod")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CACertificateIdentifier")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DBInstanceIdentifier")
            Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CharacterSetName")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MaxAllocatedStorage")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"KmsKeyId")
            Parser
  (Maybe Text
   -> Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [AwsRdsDbInstanceAssociatedRole]
      -> Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PreferredBackupWindow")
            Parser
  (Maybe [AwsRdsDbInstanceAssociatedRole]
   -> Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [AwsRdsDbInstanceAssociatedRole])
-> Parser
     (Maybe Text
      -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text -> Parser (Maybe (Maybe [AwsRdsDbInstanceAssociatedRole]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AssociatedRoles"
                            Parser (Maybe (Maybe [AwsRdsDbInstanceAssociatedRole]))
-> Maybe [AwsRdsDbInstanceAssociatedRole]
-> Parser (Maybe [AwsRdsDbInstanceAssociatedRole])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsRdsDbInstanceAssociatedRole]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Text
   -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [AwsRdsDbInstanceVpcSecurityGroup]
      -> Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AvailabilityZone")
            Parser
  (Maybe [AwsRdsDbInstanceVpcSecurityGroup]
   -> Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [AwsRdsDbInstanceVpcSecurityGroup])
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text
-> Parser (Maybe (Maybe [AwsRdsDbInstanceVpcSecurityGroup]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"VpcSecurityGroups"
                            Parser (Maybe (Maybe [AwsRdsDbInstanceVpcSecurityGroup]))
-> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
-> Parser (Maybe [AwsRdsDbInstanceVpcSecurityGroup])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsRdsDbInstanceVpcSecurityGroup]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"BackupRetentionPeriod")
            Parser
  (Maybe Text
   -> Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe AwsRdsDbSubnetGroup
      -> Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PerformanceInsightsKmsKeyId")
            Parser
  (Maybe AwsRdsDbSubnetGroup
   -> Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe AwsRdsDbSubnetGroup)
-> Parser
     (Maybe Bool
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRdsDbSubnetGroup)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DbSubnetGroup")
            Parser
  (Maybe Bool
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe AwsRdsDbInstanceEndpoint
      -> Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"MultiAz")
            Parser
  (Maybe AwsRdsDbInstanceEndpoint
   -> Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe AwsRdsDbInstanceEndpoint)
-> Parser
     (Maybe [AwsRdsDbOptionGroupMembership]
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRdsDbInstanceEndpoint)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ListenerEndpoint")
            Parser
  (Maybe [AwsRdsDbOptionGroupMembership]
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [AwsRdsDbOptionGroupMembership])
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text -> Parser (Maybe (Maybe [AwsRdsDbOptionGroupMembership]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"OptionGroupMemberships"
                            Parser (Maybe (Maybe [AwsRdsDbOptionGroupMembership]))
-> Maybe [AwsRdsDbOptionGroupMembership]
-> Parser (Maybe [AwsRdsDbOptionGroupMembership])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsRdsDbOptionGroupMembership]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EnhancedMonitoringResourceArn")
            Parser
  (Maybe Text
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text]
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SecondaryAvailabilityZone")
            Parser
  (Maybe [Text]
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Bool
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EnabledCloudWatchLogsExports"
                            Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Bool
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PerformanceInsightsEnabled")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AllocatedStorage")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DbiResourceId")
            Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DbInstanceStatus")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CopyTagsToSnapshot")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Timezone")
            Parser
  (Maybe Text
   -> Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [AwsRdsDbParameterGroup]
      -> Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"TdeCredentialArn")
            Parser
  (Maybe [AwsRdsDbParameterGroup]
   -> Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [AwsRdsDbParameterGroup])
-> Parser
     (Maybe AwsRdsDbInstanceEndpoint
      -> Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [AwsRdsDbParameterGroup]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DbParameterGroups"
                            Parser (Maybe (Maybe [AwsRdsDbParameterGroup]))
-> Maybe [AwsRdsDbParameterGroup]
-> Parser (Maybe [AwsRdsDbParameterGroup])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsRdsDbParameterGroup]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe AwsRdsDbInstanceEndpoint
   -> Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe AwsRdsDbInstanceEndpoint)
-> Parser
     (Maybe Int
      -> Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRdsDbInstanceEndpoint)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Endpoint")
            Parser
  (Maybe Int
   -> Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Int)
-> Parser
     (Maybe AwsRdsDbPendingModifiedValues
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DbInstancePort")
            Parser
  (Maybe AwsRdsDbPendingModifiedValues
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe AwsRdsDbPendingModifiedValues)
-> Parser
     (Maybe [Text]
      -> Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRdsDbPendingModifiedValues)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PendingModifiedValues")
            Parser
  (Maybe [Text]
   -> Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReadReplicaDBClusterIdentifiers"
                            Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Text
   -> Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text)
-> Parser
     (Maybe [AwsRdsDbStatusInfo]
      -> Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text
      -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StorageType")
            Parser
  (Maybe [AwsRdsDbStatusInfo]
   -> Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text
   -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [AwsRdsDbStatusInfo])
-> Parser
     (Maybe [AwsRdsDbDomainMembership]
      -> Maybe Text -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [AwsRdsDbStatusInfo]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StatusInfos" Parser (Maybe (Maybe [AwsRdsDbStatusInfo]))
-> Maybe [AwsRdsDbStatusInfo]
-> Parser (Maybe [AwsRdsDbStatusInfo])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsRdsDbStatusInfo]
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe [AwsRdsDbDomainMembership]
   -> Maybe Text -> AwsRdsDbInstanceDetails)
-> Parser (Maybe [AwsRdsDbDomainMembership])
-> Parser (Maybe Text -> AwsRdsDbInstanceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [AwsRdsDbDomainMembership]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DomainMemberships"
                            Parser (Maybe (Maybe [AwsRdsDbDomainMembership]))
-> Maybe [AwsRdsDbDomainMembership]
-> Parser (Maybe [AwsRdsDbDomainMembership])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [AwsRdsDbDomainMembership]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser (Maybe Text -> AwsRdsDbInstanceDetails)
-> Parser (Maybe Text) -> Parser AwsRdsDbInstanceDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DBName")
      )

instance Prelude.Hashable AwsRdsDbInstanceDetails

instance Prelude.NFData AwsRdsDbInstanceDetails

instance Core.ToJSON AwsRdsDbInstanceDetails where
  toJSON :: AwsRdsDbInstanceDetails -> Value
toJSON AwsRdsDbInstanceDetails' {Maybe Bool
Maybe Int
Maybe [Text]
Maybe [AwsRdsDbDomainMembership]
Maybe [AwsRdsDbInstanceAssociatedRole]
Maybe [AwsRdsDbInstanceVpcSecurityGroup]
Maybe [AwsRdsDbOptionGroupMembership]
Maybe [AwsRdsDbParameterGroup]
Maybe [AwsRdsDbProcessorFeature]
Maybe [AwsRdsDbStatusInfo]
Maybe Text
Maybe AwsRdsDbInstanceEndpoint
Maybe AwsRdsDbSubnetGroup
Maybe AwsRdsDbPendingModifiedValues
dbName :: Maybe Text
domainMemberships :: Maybe [AwsRdsDbDomainMembership]
statusInfos :: Maybe [AwsRdsDbStatusInfo]
storageType :: Maybe Text
readReplicaDBClusterIdentifiers :: Maybe [Text]
pendingModifiedValues :: Maybe AwsRdsDbPendingModifiedValues
dbInstancePort :: Maybe Int
endpoint :: Maybe AwsRdsDbInstanceEndpoint
dbParameterGroups :: Maybe [AwsRdsDbParameterGroup]
tdeCredentialArn :: Maybe Text
timezone :: Maybe Text
copyTagsToSnapshot :: Maybe Bool
dbInstanceStatus :: Maybe Text
dbiResourceId :: Maybe Text
allocatedStorage :: Maybe Int
performanceInsightsEnabled :: Maybe Bool
enabledCloudWatchLogsExports :: Maybe [Text]
secondaryAvailabilityZone :: Maybe Text
enhancedMonitoringResourceArn :: Maybe Text
optionGroupMemberships :: Maybe [AwsRdsDbOptionGroupMembership]
listenerEndpoint :: Maybe AwsRdsDbInstanceEndpoint
multiAz :: Maybe Bool
dbSubnetGroup :: Maybe AwsRdsDbSubnetGroup
performanceInsightsKmsKeyId :: Maybe Text
backupRetentionPeriod :: Maybe Int
vpcSecurityGroups :: Maybe [AwsRdsDbInstanceVpcSecurityGroup]
availabilityZone :: Maybe Text
associatedRoles :: Maybe [AwsRdsDbInstanceAssociatedRole]
preferredBackupWindow :: Maybe Text
kmsKeyId :: Maybe Text
maxAllocatedStorage :: Maybe Int
characterSetName :: Maybe Text
dbInstanceIdentifier :: Maybe Text
cACertificateIdentifier :: Maybe Text
performanceInsightsRetentionPeriod :: Maybe Int
preferredMaintenanceWindow :: Maybe Text
licenseModel :: Maybe Text
promotionTier :: Maybe Int
dbInstanceClass :: Maybe Text
latestRestorableTime :: Maybe Text
processorFeatures :: Maybe [AwsRdsDbProcessorFeature]
engine :: Maybe Text
monitoringInterval :: Maybe Int
readReplicaSourceDBInstanceIdentifier :: Maybe Text
instanceCreateTime :: Maybe Text
iops :: Maybe Int
monitoringRoleArn :: Maybe Text
iAMDatabaseAuthenticationEnabled :: Maybe Bool
readReplicaDBInstanceIdentifiers :: Maybe [Text]
masterUsername :: Maybe Text
autoMinorVersionUpgrade :: Maybe Bool
publiclyAccessible :: Maybe Bool
dbClusterIdentifier :: Maybe Text
storageEncrypted :: Maybe Bool
deletionProtection :: Maybe Bool
engineVersion :: Maybe Text
dbSecurityGroups :: Maybe [Text]
$sel:dbName:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:domainMemberships:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbDomainMembership]
$sel:statusInfos:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbStatusInfo]
$sel:storageType:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:readReplicaDBClusterIdentifiers:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [Text]
$sel:pendingModifiedValues:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe AwsRdsDbPendingModifiedValues
$sel:dbInstancePort:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
$sel:endpoint:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe AwsRdsDbInstanceEndpoint
$sel:dbParameterGroups:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbParameterGroup]
$sel:tdeCredentialArn:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:timezone:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:copyTagsToSnapshot:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
$sel:dbInstanceStatus:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:dbiResourceId:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:allocatedStorage:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
$sel:performanceInsightsEnabled:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
$sel:enabledCloudWatchLogsExports:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [Text]
$sel:secondaryAvailabilityZone:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:enhancedMonitoringResourceArn:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:optionGroupMemberships:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbOptionGroupMembership]
$sel:listenerEndpoint:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe AwsRdsDbInstanceEndpoint
$sel:multiAz:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
$sel:dbSubnetGroup:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe AwsRdsDbSubnetGroup
$sel:performanceInsightsKmsKeyId:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:backupRetentionPeriod:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
$sel:vpcSecurityGroups:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
$sel:availabilityZone:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:associatedRoles:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbInstanceAssociatedRole]
$sel:preferredBackupWindow:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:kmsKeyId:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:maxAllocatedStorage:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
$sel:characterSetName:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:dbInstanceIdentifier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:cACertificateIdentifier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:performanceInsightsRetentionPeriod:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
$sel:preferredMaintenanceWindow:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:licenseModel:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:promotionTier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
$sel:dbInstanceClass:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:latestRestorableTime:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:processorFeatures:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [AwsRdsDbProcessorFeature]
$sel:engine:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:monitoringInterval:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
$sel:readReplicaSourceDBInstanceIdentifier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:instanceCreateTime:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:iops:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Int
$sel:monitoringRoleArn:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:iAMDatabaseAuthenticationEnabled:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
$sel:readReplicaDBInstanceIdentifiers:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [Text]
$sel:masterUsername:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:autoMinorVersionUpgrade:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
$sel:publiclyAccessible:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
$sel:dbClusterIdentifier:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:storageEncrypted:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
$sel:deletionProtection:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Bool
$sel:engineVersion:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe Text
$sel:dbSecurityGroups:AwsRdsDbInstanceDetails' :: AwsRdsDbInstanceDetails -> Maybe [Text]
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"DbSecurityGroups" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
dbSecurityGroups,
            (Text
"EngineVersion" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
engineVersion,
            (Text
"DeletionProtection" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
deletionProtection,
            (Text
"StorageEncrypted" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
storageEncrypted,
            (Text
"DBClusterIdentifier" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
dbClusterIdentifier,
            (Text
"PubliclyAccessible" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
publiclyAccessible,
            (Text
"AutoMinorVersionUpgrade" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
autoMinorVersionUpgrade,
            (Text
"MasterUsername" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
masterUsername,
            (Text
"ReadReplicaDBInstanceIdentifiers" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
readReplicaDBInstanceIdentifiers,
            (Text
"IAMDatabaseAuthenticationEnabled" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
iAMDatabaseAuthenticationEnabled,
            (Text
"MonitoringRoleArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
monitoringRoleArn,
            (Text
"Iops" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
iops,
            (Text
"InstanceCreateTime" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
instanceCreateTime,
            (Text
"ReadReplicaSourceDBInstanceIdentifier" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
readReplicaSourceDBInstanceIdentifier,
            (Text
"MonitoringInterval" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
monitoringInterval,
            (Text
"Engine" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
engine,
            (Text
"ProcessorFeatures" Text -> [AwsRdsDbProcessorFeature] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([AwsRdsDbProcessorFeature] -> Pair)
-> Maybe [AwsRdsDbProcessorFeature] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsRdsDbProcessorFeature]
processorFeatures,
            (Text
"LatestRestorableTime" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
latestRestorableTime,
            (Text
"DBInstanceClass" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
dbInstanceClass,
            (Text
"PromotionTier" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
promotionTier,
            (Text
"LicenseModel" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
licenseModel,
            (Text
"PreferredMaintenanceWindow" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
preferredMaintenanceWindow,
            (Text
"PerformanceInsightsRetentionPeriod" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
performanceInsightsRetentionPeriod,
            (Text
"CACertificateIdentifier" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
cACertificateIdentifier,
            (Text
"DBInstanceIdentifier" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
dbInstanceIdentifier,
            (Text
"CharacterSetName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
characterSetName,
            (Text
"MaxAllocatedStorage" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
maxAllocatedStorage,
            (Text
"KmsKeyId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
kmsKeyId,
            (Text
"PreferredBackupWindow" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
preferredBackupWindow,
            (Text
"AssociatedRoles" Text -> [AwsRdsDbInstanceAssociatedRole] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([AwsRdsDbInstanceAssociatedRole] -> Pair)
-> Maybe [AwsRdsDbInstanceAssociatedRole] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsRdsDbInstanceAssociatedRole]
associatedRoles,
            (Text
"AvailabilityZone" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
availabilityZone,
            (Text
"VpcSecurityGroups" Text -> [AwsRdsDbInstanceVpcSecurityGroup] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([AwsRdsDbInstanceVpcSecurityGroup] -> Pair)
-> Maybe [AwsRdsDbInstanceVpcSecurityGroup] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsRdsDbInstanceVpcSecurityGroup]
vpcSecurityGroups,
            (Text
"BackupRetentionPeriod" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
backupRetentionPeriod,
            (Text
"PerformanceInsightsKmsKeyId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
performanceInsightsKmsKeyId,
            (Text
"DbSubnetGroup" Text -> AwsRdsDbSubnetGroup -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsRdsDbSubnetGroup -> Pair)
-> Maybe AwsRdsDbSubnetGroup -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRdsDbSubnetGroup
dbSubnetGroup,
            (Text
"MultiAz" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
multiAz,
            (Text
"ListenerEndpoint" Text -> AwsRdsDbInstanceEndpoint -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsRdsDbInstanceEndpoint -> Pair)
-> Maybe AwsRdsDbInstanceEndpoint -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRdsDbInstanceEndpoint
listenerEndpoint,
            (Text
"OptionGroupMemberships" Text -> [AwsRdsDbOptionGroupMembership] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([AwsRdsDbOptionGroupMembership] -> Pair)
-> Maybe [AwsRdsDbOptionGroupMembership] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsRdsDbOptionGroupMembership]
optionGroupMemberships,
            (Text
"EnhancedMonitoringResourceArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
enhancedMonitoringResourceArn,
            (Text
"SecondaryAvailabilityZone" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
secondaryAvailabilityZone,
            (Text
"EnabledCloudWatchLogsExports" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
enabledCloudWatchLogsExports,
            (Text
"PerformanceInsightsEnabled" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
performanceInsightsEnabled,
            (Text
"AllocatedStorage" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
allocatedStorage,
            (Text
"DbiResourceId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
dbiResourceId,
            (Text
"DbInstanceStatus" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
dbInstanceStatus,
            (Text
"CopyTagsToSnapshot" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
copyTagsToSnapshot,
            (Text
"Timezone" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
timezone,
            (Text
"TdeCredentialArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
tdeCredentialArn,
            (Text
"DbParameterGroups" Text -> [AwsRdsDbParameterGroup] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([AwsRdsDbParameterGroup] -> Pair)
-> Maybe [AwsRdsDbParameterGroup] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsRdsDbParameterGroup]
dbParameterGroups,
            (Text
"Endpoint" Text -> AwsRdsDbInstanceEndpoint -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsRdsDbInstanceEndpoint -> Pair)
-> Maybe AwsRdsDbInstanceEndpoint -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRdsDbInstanceEndpoint
endpoint,
            (Text
"DbInstancePort" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
dbInstancePort,
            (Text
"PendingModifiedValues" Text -> AwsRdsDbPendingModifiedValues -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsRdsDbPendingModifiedValues -> Pair)
-> Maybe AwsRdsDbPendingModifiedValues -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRdsDbPendingModifiedValues
pendingModifiedValues,
            (Text
"ReadReplicaDBClusterIdentifiers" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
readReplicaDBClusterIdentifiers,
            (Text
"StorageType" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
storageType,
            (Text
"StatusInfos" Text -> [AwsRdsDbStatusInfo] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([AwsRdsDbStatusInfo] -> Pair)
-> Maybe [AwsRdsDbStatusInfo] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsRdsDbStatusInfo]
statusInfos,
            (Text
"DomainMemberships" Text -> [AwsRdsDbDomainMembership] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([AwsRdsDbDomainMembership] -> Pair)
-> Maybe [AwsRdsDbDomainMembership] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AwsRdsDbDomainMembership]
domainMemberships,
            (Text
"DBName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
dbName
          ]
      )