-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon Relational Database Service SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.RDS</a> or <a>the AWS documentation</a> to get
--   started.
@package amazonka-rds
@version 1.6.1


module Network.AWS.RDS.Types

-- | API version <tt>2014-10-31</tt> of the Amazon Relational Database
--   Service SDK configuration.
rds :: Service

-- | <i>SourceDBInstanceIdentifier</i> refers to a DB instance with
--   <i>BackupRetentionPeriod</i> equal to 0.
_PointInTimeRestoreNotEnabledFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB parameter group is in use or is in an invalid state. If you are
--   attempting to delete the parameter group, you can't delete it when the
--   parameter group is in this state.
_InvalidDBParameterGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Request would exceed the user's DB Instance quota.
_ReservedDBInstanceQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested source could not be found.
_SourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>CertificateIdentifier</i> doesn't refer to an existing certificate.
_CertificateNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB security group authorization quota has been reached.
_AuthorizationQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The user already has a DB cluster snapshot with the given identifier.
_DBClusterSnapshotAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | A DB parameter group with the same name exists.
_DBParameterGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB parameter groups.
_DBParameterGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB cluster doesn't have enough capacity for the current operation.
_InsufficientDBClusterCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | User already has a reservation with the given identifier.
_ReservedDBInstanceAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Provisioned IOPS not available in the specified Availability Zone.
_ProvisionedIOPSNotAvailableInAZFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified CIDRIP or Amazon EC2 security group is already
--   authorized for the specified DB security group.
_AuthorizationAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The supplied category does not exist.
_SubscriptionCategoryNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The subscription name does not exist.
_SubscriptionNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested subnet is invalid, or multiple subnets were requested
--   that are not all in a common VPC.
_InvalidSubnet :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the maximum number of accounts that you can share a
--   manual DB snapshot with.
_SharedSnapshotQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   subnets in a DB subnet groups.
_DBSubnetQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified option group could not be found.
_OptionGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBClusterIdentifier</i> doesn't refer to an existing DB cluster.
_DBClusterNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>LogFileName</i> doesn't refer to an existing DB log file.
_DBLogFileNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Amazon S3 bucket name can't be found or Amazon RDS isn't
--   authorized to access the specified Amazon S3 bucket. Verify the
--   <b>SourceS3BucketName</b> and <b>S3IngestionRoleArn</b> values and try
--   again.
_InvalidS3BucketFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The user already has a DB cluster with the given identifier.
_DBClusterAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Storage of the <i>StorageType</i> specified can't be associated with
--   the DB instance.
_StorageTypeNotSupportedFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB security groups.
_DBSecurityGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The option group you are trying to create already exists.
_OptionGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The quota of 20 option groups was exceeded for this AWS account.
_OptionGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | A DB security group with the name specified in
--   <i>DBSecurityGroupName</i> already exists.
_DBSecurityGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The SNS topic ARN does not exist.
_SNSTopicARNNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | This error can occur if someone else is modifying a subscription. You
--   should retry the action.
_InvalidEventSubscriptionStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | An error occurred accessing an AWS KMS key.
_KMSKeyNotAccessibleFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSnapshotIdentifier</i> doesn't refer to an existing DB snapshot.
_DBSnapshotNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBClusterParameterGroupName</i> doesn't refer to an existing DB
--   cluster parameter group.
_DBClusterParameterGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The user attempted to create a new DB cluster and the user has already
--   reached the maximum allowed DB cluster quota.
_DBClusterQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB snapshots.
_SnapshotQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSubnetGroupName</i> is already used by an existing DB subnet
--   group.
_DBSubnetGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | You do not have permission to publish to the SNS topic ARN.
_SNSNoAuthorizationFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSecurityGroupName</i> doesn't refer to an existing DB security
--   group.
_DBSecurityGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | A DB security group isn't allowed for this action.
_DBSecurityGroupNotSupportedFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB instances.
_InstanceQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>BacktrackIdentifier</i> doesn't refer to an existing backtrack.
_DBClusterBacktrackNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>Domain</i> doesn't refer to an existing Active Directory domain.
_DomainNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBParameterGroupName</i> doesn't refer to an existing DB parameter
--   group.
_DBParameterGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DBSubnetGroup doesn't belong to the same VPC as that of an
--   existing cross-region read replica of the same source instance.
_InvalidDBSubnetGroupFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Specified offering does not exist.
_ReservedDBInstancesOfferingNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB subnet isn't in the <i>available</i> state.
_InvalidDBSubnetStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBClusterSnapshotIdentifier</i> doesn't refer to an existing DB
--   cluster snapshot.
_DBClusterSnapshotNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | SNS has responded that there is a problem with the SND topic
--   specified.
_SNSInvalidTopicFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified DB instance class isn't available in the specified
--   Availability Zone.
_InsufficientDBInstanceCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The supplied value isn't a valid DB cluster snapshot state.
_InvalidDBClusterSnapshotStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The supplied subscription name already exists.
_SubscriptionAlreadyExistFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified IAM role Amazon Resource Name (ARN) is already
--   associated with the specified DB cluster.
_DBClusterRoleAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the maximum number of IAM roles that can be
--   associated with the specified DB cluster.
_DBClusterRoleQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB subnet group doesn't cover all Availability Zones after it's
--   created because of users' change.
_InvalidVPCNetworkStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified CIDRIP or Amazon EC2 security group isn't authorized for
--   the specified DB security group.
--   
--   RDS also may not be authorized by using IAM to perform necessary
--   actions on your behalf.
_AuthorizationNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified reserved DB Instance not found.
_ReservedDBInstanceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB subnet groups.
_DBSubnetGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DBSubnetGroup shouldn't be specified while creating read replicas
--   that lie in the same region as the source instance.
_DBSubnetGroupNotAllowedFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the maximum number of event subscriptions.
_EventSubscriptionQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is insufficient storage available for the current action. You
--   might be able to resolve this error by updating your subnet group to
--   use different Availability Zones that have more storage available.
_InsufficientStorageClusterCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The option group isn't in the <i>available</i> state.
_InvalidOptionGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB cluster isn't in a valid state.
_InvalidDBClusterStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The user already has a DB instance with the given identifier.
_DBInstanceAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Cannot restore from VPC backup to non-VPC DB instance.
_InvalidRestoreFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The state of the DB security group doesn't allow deletion.
_InvalidDBSecurityGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource ID was not found.
_ResourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSubnetGroupName</i> doesn't refer to an existing DB subnet group.
_DBSubnetGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB upgrade failed because a resource the DB depends on can't be
--   modified.
_DBUpgradeDependencyFailureFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified DB instance isn't in the <i>available</i> state.
_InvalidDBInstanceStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSnapshotIdentifier</i> is already used by an existing snapshot.
_DBSnapshotAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBInstanceIdentifier</i> doesn't refer to an existing DB instance.
_DBInstanceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed amount of
--   storage available across all DB instances.
_StorageQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The state of the DB snapshot doesn't allow deletion.
_InvalidDBSnapshotStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB subnet group cannot be deleted because it's in use.
_InvalidDBSubnetGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Subnets in the DB subnet group should cover at least two Availability
--   Zones unless there is only one Availability Zone.
_DBSubnetGroupDoesNotCoverEnoughAZs :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB subnet is already in use in the Availability Zone.
_SubnetAlreadyInUse :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified IAM role Amazon Resource Name (ARN) isn't associated
--   with the specified DB cluster.
_DBClusterRoleNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
data ApplyMethod
Immediate :: ApplyMethod
PendingReboot :: ApplyMethod
data SourceType
DBCluster :: SourceType
DBClusterSnapshot :: SourceType
DBInstance :: SourceType
DBParameterGroup :: SourceType
DBSecurityGroup :: SourceType
DBSnapshot :: SourceType

-- | Describes a quota for an AWS account, for example, the number of DB
--   instances allowed.
--   
--   <i>See:</i> <a>accountQuota</a> smart constructor.
data AccountQuota

-- | Creates a value of <a>AccountQuota</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aqMax</a> - The maximum allowed value for the quota.</li>
--   <li><a>aqUsed</a> - The amount currently used toward the quota
--   maximum.</li>
--   <li><a>aqAccountQuotaName</a> - The name of the Amazon RDS quota for
--   this AWS account.</li>
--   </ul>
accountQuota :: AccountQuota

-- | The maximum allowed value for the quota.
aqMax :: Lens' AccountQuota (Maybe Integer)

-- | The amount currently used toward the quota maximum.
aqUsed :: Lens' AccountQuota (Maybe Integer)

-- | The name of the Amazon RDS quota for this AWS account.
aqAccountQuotaName :: Lens' AccountQuota (Maybe Text)

-- | Contains Availability Zone information.
--   
--   This data type is used as an element in the following data type:
--   
--   <ul>
--   <li><a>OrderableDBInstanceOption</a></li>
--   </ul>
--   
--   <i>See:</i> <a>availabilityZone</a> smart constructor.
data AvailabilityZone

-- | Creates a value of <a>AvailabilityZone</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>azName</a> - The name of the availability zone.</li>
--   </ul>
availabilityZone :: AvailabilityZone

-- | The name of the availability zone.
azName :: Lens' AvailabilityZone (Maybe Text)

-- | A CA certificate for an AWS account.
--   
--   <i>See:</i> <a>certificate</a> smart constructor.
data Certificate

-- | Creates a value of <a>Certificate</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cCertificateType</a> - The type of the certificate.</li>
--   <li><a>cCertificateARN</a> - The Amazon Resource Name (ARN) for the
--   certificate.</li>
--   <li><a>cValidTill</a> - The final date that the certificate continues
--   to be valid.</li>
--   <li><a>cCertificateIdentifier</a> - The unique key that identifies a
--   certificate.</li>
--   <li><a>cThumbprint</a> - The thumbprint of the certificate.</li>
--   <li><a>cValidFrom</a> - The starting date from which the certificate
--   is valid.</li>
--   </ul>
certificate :: Certificate

-- | The type of the certificate.
cCertificateType :: Lens' Certificate (Maybe Text)

-- | The Amazon Resource Name (ARN) for the certificate.
cCertificateARN :: Lens' Certificate (Maybe Text)

-- | The final date that the certificate continues to be valid.
cValidTill :: Lens' Certificate (Maybe UTCTime)

-- | The unique key that identifies a certificate.
cCertificateIdentifier :: Lens' Certificate (Maybe Text)

-- | The thumbprint of the certificate.
cThumbprint :: Lens' Certificate (Maybe Text)

-- | The starting date from which the certificate is valid.
cValidFrom :: Lens' Certificate (Maybe UTCTime)

-- | This data type is used as a response element in the action
--   <tt>DescribeDBEngineVersions</tt> .
--   
--   <i>See:</i> <a>characterSet</a> smart constructor.
data CharacterSet

-- | Creates a value of <a>CharacterSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csCharacterSetName</a> - The name of the character set.</li>
--   <li><a>csCharacterSetDescription</a> - The description of the
--   character set.</li>
--   </ul>
characterSet :: CharacterSet

-- | The name of the character set.
csCharacterSetName :: Lens' CharacterSet (Maybe Text)

-- | The description of the character set.
csCharacterSetDescription :: Lens' CharacterSet (Maybe Text)

-- | The configuration setting for the log types to be enabled for export
--   to CloudWatch Logs for a specific DB instance or DB cluster.
--   
--   <i>See:</i> <a>cloudwatchLogsExportConfiguration</a> smart
--   constructor.
data CloudwatchLogsExportConfiguration

-- | Creates a value of <a>CloudwatchLogsExportConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clecDisableLogTypes</a> - The list of log types to
--   disable.</li>
--   <li><a>clecEnableLogTypes</a> - The list of log types to enable.</li>
--   </ul>
cloudwatchLogsExportConfiguration :: CloudwatchLogsExportConfiguration

-- | The list of log types to disable.
clecDisableLogTypes :: Lens' CloudwatchLogsExportConfiguration [Text]

-- | The list of log types to enable.
clecEnableLogTypes :: Lens' CloudwatchLogsExportConfiguration [Text]

-- | Contains the details of an Amazon RDS DB cluster.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBClusters</tt> action.
--   
--   <i>See:</i> <a>dbCluster</a> smart constructor.
data DBCluster

-- | Creates a value of <a>DBCluster</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcBacktrackConsumedChangeRecords</a> - The number of change
--   records stored for Backtrack.</li>
--   <li><a>dcEngineVersion</a> - Indicates the database engine
--   version.</li>
--   <li><a>dcStatus</a> - Specifies the current state of this DB
--   cluster.</li>
--   <li><a>dcStorageEncrypted</a> - Specifies whether the DB cluster is
--   encrypted.</li>
--   <li><a>dcDBClusterIdentifier</a> - Contains a user-supplied DB cluster
--   identifier. This identifier is the unique key that identifies a DB
--   cluster.</li>
--   <li><a>dcDBClusterMembers</a> - Provides the list of instances that
--   make up the DB cluster.</li>
--   <li><a>dcReadReplicaIdentifiers</a> - Contains one or more identifiers
--   of the Read Replicas associated with this DB cluster.</li>
--   <li><a>dcReplicationSourceIdentifier</a> - Contains the identifier of
--   the source DB cluster if this DB cluster is a Read Replica.</li>
--   <li><a>dcHostedZoneId</a> - Specifies the ID that Amazon Route 53
--   assigns when you create a hosted zone.</li>
--   <li><a>dcDBClusterParameterGroup</a> - Specifies the name of the DB
--   cluster parameter group for the DB cluster.</li>
--   <li><a>dcMasterUsername</a> - Contains the master username for the DB
--   cluster.</li>
--   <li><a>dcIAMDatabaseAuthenticationEnabled</a> - True if mapping of AWS
--   Identity and Access Management (IAM) accounts to database accounts is
--   enabled, and otherwise false.</li>
--   <li><a>dcEarliestBacktrackTime</a> - The earliest time to which a DB
--   cluster can be backtracked.</li>
--   <li><a>dcBacktrackWindow</a> - The target backtrack window, in
--   seconds. If this value is set to 0, backtracking is disabled for the
--   DB cluster. Otherwise, backtracking is enabled.</li>
--   <li><a>dcDBClusterResourceId</a> - The AWS Region-unique, immutable
--   identifier for the DB cluster. This identifier is found in AWS
--   CloudTrail log entries whenever the AWS KMS key for the DB cluster is
--   accessed.</li>
--   <li><a>dcEarliestRestorableTime</a> - The earliest time to which a
--   database can be restored with point-in-time restore.</li>
--   <li><a>dcEngine</a> - Provides the name of the database engine to be
--   used for this DB cluster.</li>
--   <li><a>dcDBClusterARN</a> - The Amazon Resource Name (ARN) for the DB
--   cluster.</li>
--   <li><a>dcCloneGroupId</a> - Identifies the clone group to which the DB
--   cluster is associated.</li>
--   <li><a>dcLatestRestorableTime</a> - Specifies the latest time to which
--   a database can be restored with point-in-time restore.</li>
--   <li><a>dcPreferredMaintenanceWindow</a> - Specifies the weekly time
--   range during which system maintenance can occur, in Universal
--   Coordinated Time (UTC).</li>
--   <li><a>dcAvailabilityZones</a> - Provides the list of EC2 Availability
--   Zones that instances in the DB cluster can be created in.</li>
--   <li><a>dcCharacterSetName</a> - If present, specifies the name of the
--   character set that this cluster is associated with.</li>
--   <li><a>dcKMSKeyId</a> - If <tt>StorageEncrypted</tt> is true, the AWS
--   KMS key identifier for the encrypted DB cluster.</li>
--   <li><a>dcPreferredBackupWindow</a> - Specifies the daily time range
--   during which automated backups are created if automated backups are
--   enabled, as determined by the <tt>BackupRetentionPeriod</tt> .</li>
--   <li><a>dcAssociatedRoles</a> - Provides a list of the AWS Identity and
--   Access Management (IAM) roles that are associated with the DB cluster.
--   IAM roles that are associated with a DB cluster grant permission for
--   the DB cluster to access other AWS services on your behalf.</li>
--   <li><a>dcVPCSecurityGroups</a> - Provides a list of VPC security
--   groups that the DB cluster belongs to.</li>
--   <li><a>dcBackupRetentionPeriod</a> - Specifies the number of days for
--   which automatic DB snapshots are retained.</li>
--   <li><a>dcDBSubnetGroup</a> - Specifies information on the subnet group
--   associated with the DB cluster, including the name, description, and
--   subnets in the subnet group.</li>
--   <li><a>dcDatabaseName</a> - Contains the name of the initial database
--   of this DB cluster that was provided at create time, if one was
--   specified when the DB cluster was created. This same name is returned
--   for the life of the DB cluster.</li>
--   <li><a>dcMultiAZ</a> - Specifies whether the DB cluster has instances
--   in multiple Availability Zones.</li>
--   <li><a>dcAllocatedStorage</a> - For all database engines except Amazon
--   Aurora, <tt>AllocatedStorage</tt> specifies the allocated storage size
--   in gibibytes (GiB). For Aurora, <tt>AllocatedStorage</tt> always
--   returns 1, because Aurora DB cluster storage size is not fixed, but
--   instead automatically adjusts as needed.</li>
--   <li><a>dcClusterCreateTime</a> - Specifies the time when the DB
--   cluster was created, in Universal Coordinated Time (UTC).</li>
--   <li><a>dcEndpoint</a> - Specifies the connection endpoint for the
--   primary instance of the DB cluster.</li>
--   <li><a>dcPercentProgress</a> - Specifies the progress of the operation
--   as a percentage.</li>
--   <li><a>dcReaderEndpoint</a> - The reader endpoint for the DB cluster.
--   The reader endpoint for a DB cluster load-balances connections across
--   the Aurora Replicas that are available in a DB cluster. As clients
--   request new connections to the reader endpoint, Aurora distributes the
--   connection requests among the Aurora Replicas in the DB cluster. This
--   functionality can help balance your read workload across multiple
--   Aurora Replicas in your DB cluster. If a failover occurs, and the
--   Aurora Replica that you are connected to is promoted to be the primary
--   instance, your connection is dropped. To continue sending your read
--   workload to other Aurora Replicas in the cluster, you can then
--   reconnect to the reader endpoint.</li>
--   <li><a>dcPort</a> - Specifies the port that the database engine is
--   listening on.</li>
--   <li><a>dcDBClusterOptionGroupMemberships</a> - Provides the list of
--   option group memberships for this DB cluster.</li>
--   </ul>
dbCluster :: DBCluster

-- | The number of change records stored for Backtrack.
dcBacktrackConsumedChangeRecords :: Lens' DBCluster (Maybe Integer)

-- | Indicates the database engine version.
dcEngineVersion :: Lens' DBCluster (Maybe Text)

-- | Specifies the current state of this DB cluster.
dcStatus :: Lens' DBCluster (Maybe Text)

-- | Specifies whether the DB cluster is encrypted.
dcStorageEncrypted :: Lens' DBCluster (Maybe Bool)

-- | Contains a user-supplied DB cluster identifier. This identifier is the
--   unique key that identifies a DB cluster.
dcDBClusterIdentifier :: Lens' DBCluster (Maybe Text)

-- | Provides the list of instances that make up the DB cluster.
dcDBClusterMembers :: Lens' DBCluster [DBClusterMember]

-- | Contains one or more identifiers of the Read Replicas associated with
--   this DB cluster.
dcReadReplicaIdentifiers :: Lens' DBCluster [Text]

-- | Contains the identifier of the source DB cluster if this DB cluster is
--   a Read Replica.
dcReplicationSourceIdentifier :: Lens' DBCluster (Maybe Text)

-- | Specifies the ID that Amazon Route 53 assigns when you create a hosted
--   zone.
dcHostedZoneId :: Lens' DBCluster (Maybe Text)

-- | Specifies the name of the DB cluster parameter group for the DB
--   cluster.
dcDBClusterParameterGroup :: Lens' DBCluster (Maybe Text)

-- | Contains the master username for the DB cluster.
dcMasterUsername :: Lens' DBCluster (Maybe Text)

-- | True if mapping of AWS Identity and Access Management (IAM) accounts
--   to database accounts is enabled, and otherwise false.
dcIAMDatabaseAuthenticationEnabled :: Lens' DBCluster (Maybe Bool)

-- | The earliest time to which a DB cluster can be backtracked.
dcEarliestBacktrackTime :: Lens' DBCluster (Maybe UTCTime)

-- | The target backtrack window, in seconds. If this value is set to 0,
--   backtracking is disabled for the DB cluster. Otherwise, backtracking
--   is enabled.
dcBacktrackWindow :: Lens' DBCluster (Maybe Integer)

-- | The AWS Region-unique, immutable identifier for the DB cluster. This
--   identifier is found in AWS CloudTrail log entries whenever the AWS KMS
--   key for the DB cluster is accessed.
dcDBClusterResourceId :: Lens' DBCluster (Maybe Text)

-- | The earliest time to which a database can be restored with
--   point-in-time restore.
dcEarliestRestorableTime :: Lens' DBCluster (Maybe UTCTime)

-- | Provides the name of the database engine to be used for this DB
--   cluster.
dcEngine :: Lens' DBCluster (Maybe Text)

-- | The Amazon Resource Name (ARN) for the DB cluster.
dcDBClusterARN :: Lens' DBCluster (Maybe Text)

-- | Identifies the clone group to which the DB cluster is associated.
dcCloneGroupId :: Lens' DBCluster (Maybe Text)

-- | Specifies the latest time to which a database can be restored with
--   point-in-time restore.
dcLatestRestorableTime :: Lens' DBCluster (Maybe UTCTime)

-- | Specifies the weekly time range during which system maintenance can
--   occur, in Universal Coordinated Time (UTC).
dcPreferredMaintenanceWindow :: Lens' DBCluster (Maybe Text)

-- | Provides the list of EC2 Availability Zones that instances in the DB
--   cluster can be created in.
dcAvailabilityZones :: Lens' DBCluster [Text]

-- | If present, specifies the name of the character set that this cluster
--   is associated with.
dcCharacterSetName :: Lens' DBCluster (Maybe Text)

-- | If <tt>StorageEncrypted</tt> is true, the AWS KMS key identifier for
--   the encrypted DB cluster.
dcKMSKeyId :: Lens' DBCluster (Maybe Text)

-- | Specifies the daily time range during which automated backups are
--   created if automated backups are enabled, as determined by the
--   <tt>BackupRetentionPeriod</tt> .
dcPreferredBackupWindow :: Lens' DBCluster (Maybe Text)

-- | Provides a list of the AWS Identity and Access Management (IAM) roles
--   that are associated with the DB cluster. IAM roles that are associated
--   with a DB cluster grant permission for the DB cluster to access other
--   AWS services on your behalf.
dcAssociatedRoles :: Lens' DBCluster [DBClusterRole]

-- | Provides a list of VPC security groups that the DB cluster belongs to.
dcVPCSecurityGroups :: Lens' DBCluster [VPCSecurityGroupMembership]

-- | Specifies the number of days for which automatic DB snapshots are
--   retained.
dcBackupRetentionPeriod :: Lens' DBCluster (Maybe Int)

-- | Specifies information on the subnet group associated with the DB
--   cluster, including the name, description, and subnets in the subnet
--   group.
dcDBSubnetGroup :: Lens' DBCluster (Maybe Text)

-- | Contains the name of the initial database of this DB cluster that was
--   provided at create time, if one was specified when the DB cluster was
--   created. This same name is returned for the life of the DB cluster.
dcDatabaseName :: Lens' DBCluster (Maybe Text)

-- | Specifies whether the DB cluster has instances in multiple
--   Availability Zones.
dcMultiAZ :: Lens' DBCluster (Maybe Bool)

-- | For all database engines except Amazon Aurora,
--   <tt>AllocatedStorage</tt> specifies the allocated storage size in
--   gibibytes (GiB). For Aurora, <tt>AllocatedStorage</tt> always returns
--   1, because Aurora DB cluster storage size is not fixed, but instead
--   automatically adjusts as needed.
dcAllocatedStorage :: Lens' DBCluster (Maybe Int)

-- | Specifies the time when the DB cluster was created, in Universal
--   Coordinated Time (UTC).
dcClusterCreateTime :: Lens' DBCluster (Maybe UTCTime)

-- | Specifies the connection endpoint for the primary instance of the DB
--   cluster.
dcEndpoint :: Lens' DBCluster (Maybe Text)

-- | Specifies the progress of the operation as a percentage.
dcPercentProgress :: Lens' DBCluster (Maybe Text)

-- | The reader endpoint for the DB cluster. The reader endpoint for a DB
--   cluster load-balances connections across the Aurora Replicas that are
--   available in a DB cluster. As clients request new connections to the
--   reader endpoint, Aurora distributes the connection requests among the
--   Aurora Replicas in the DB cluster. This functionality can help balance
--   your read workload across multiple Aurora Replicas in your DB cluster.
--   If a failover occurs, and the Aurora Replica that you are connected to
--   is promoted to be the primary instance, your connection is dropped. To
--   continue sending your read workload to other Aurora Replicas in the
--   cluster, you can then reconnect to the reader endpoint.
dcReaderEndpoint :: Lens' DBCluster (Maybe Text)

-- | Specifies the port that the database engine is listening on.
dcPort :: Lens' DBCluster (Maybe Int)

-- | Provides the list of option group memberships for this DB cluster.
dcDBClusterOptionGroupMemberships :: Lens' DBCluster [DBClusterOptionGroupStatus]

-- | This data type is used as a response element in the
--   <tt>DescribeDBClusterBacktracks</tt> action.
--   
--   <i>See:</i> <a>dbClusterBacktrack</a> smart constructor.
data DBClusterBacktrack

-- | Creates a value of <a>DBClusterBacktrack</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbStatus</a> - The status of the backtrack. This property
--   returns one of the following values: * <tt>applying</tt> - The
--   backtrack is currently being applied to or rolled back from the DB
--   cluster. * <tt>completed</tt> - The backtrack has successfully been
--   applied to or rolled back from the DB cluster. * <tt>failed</tt> - An
--   error occurred while the backtrack was applied to or rolled back from
--   the DB cluster. * <tt>pending</tt> - The backtrack is currently
--   pending application to or rollback from the DB cluster.</li>
--   <li><a>dcbBacktrackIdentifier</a> - Contains the backtrack
--   identifier.</li>
--   <li><a>dcbBacktrackTo</a> - The timestamp of the time to which the DB
--   cluster was backtracked.</li>
--   <li><a>dcbDBClusterIdentifier</a> - Contains a user-supplied DB
--   cluster identifier. This identifier is the unique key that identifies
--   a DB cluster.</li>
--   <li><a>dcbBacktrackedFrom</a> - The timestamp of the time from which
--   the DB cluster was backtracked.</li>
--   <li><a>dcbBacktrackRequestCreationTime</a> - The timestamp of the time
--   at which the backtrack was requested.</li>
--   </ul>
dbClusterBacktrack :: DBClusterBacktrack

-- | The status of the backtrack. This property returns one of the
--   following values: * <tt>applying</tt> - The backtrack is currently
--   being applied to or rolled back from the DB cluster. *
--   <tt>completed</tt> - The backtrack has successfully been applied to or
--   rolled back from the DB cluster. * <tt>failed</tt> - An error occurred
--   while the backtrack was applied to or rolled back from the DB cluster.
--   * <tt>pending</tt> - The backtrack is currently pending application to
--   or rollback from the DB cluster.
dcbStatus :: Lens' DBClusterBacktrack (Maybe Text)

-- | Contains the backtrack identifier.
dcbBacktrackIdentifier :: Lens' DBClusterBacktrack (Maybe Text)

-- | The timestamp of the time to which the DB cluster was backtracked.
dcbBacktrackTo :: Lens' DBClusterBacktrack (Maybe UTCTime)

-- | Contains a user-supplied DB cluster identifier. This identifier is the
--   unique key that identifies a DB cluster.
dcbDBClusterIdentifier :: Lens' DBClusterBacktrack (Maybe Text)

-- | The timestamp of the time from which the DB cluster was backtracked.
dcbBacktrackedFrom :: Lens' DBClusterBacktrack (Maybe UTCTime)

-- | The timestamp of the time at which the backtrack was requested.
dcbBacktrackRequestCreationTime :: Lens' DBClusterBacktrack (Maybe UTCTime)

-- | Contains information about an instance that is part of a DB cluster.
--   
--   <i>See:</i> <a>dbClusterMember</a> smart constructor.
data DBClusterMember

-- | Creates a value of <a>DBClusterMember</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcmPromotionTier</a> - A value that specifies the order in
--   which an Aurora Replica is promoted to the primary instance after a
--   failure of the existing primary instance. For more information, see
--   <a>Fault Tolerance for an Aurora DB Cluster</a> .</li>
--   <li><a>dcmDBInstanceIdentifier</a> - Specifies the instance identifier
--   for this member of the DB cluster.</li>
--   <li><a>dcmIsClusterWriter</a> - Value that is <tt>true</tt> if the
--   cluster member is the primary instance for the DB cluster and
--   <tt>false</tt> otherwise.</li>
--   <li><a>dcmDBClusterParameterGroupStatus</a> - Specifies the status of
--   the DB cluster parameter group for this member of the DB cluster.</li>
--   </ul>
dbClusterMember :: DBClusterMember

-- | A value that specifies the order in which an Aurora Replica is
--   promoted to the primary instance after a failure of the existing
--   primary instance. For more information, see <a>Fault Tolerance for an
--   Aurora DB Cluster</a> .
dcmPromotionTier :: Lens' DBClusterMember (Maybe Int)

-- | Specifies the instance identifier for this member of the DB cluster.
dcmDBInstanceIdentifier :: Lens' DBClusterMember (Maybe Text)

-- | Value that is <tt>true</tt> if the cluster member is the primary
--   instance for the DB cluster and <tt>false</tt> otherwise.
dcmIsClusterWriter :: Lens' DBClusterMember (Maybe Bool)

-- | Specifies the status of the DB cluster parameter group for this member
--   of the DB cluster.
dcmDBClusterParameterGroupStatus :: Lens' DBClusterMember (Maybe Text)

-- | Contains status information for a DB cluster option group.
--   
--   <i>See:</i> <a>dbClusterOptionGroupStatus</a> smart constructor.
data DBClusterOptionGroupStatus

-- | Creates a value of <a>DBClusterOptionGroupStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcogsStatus</a> - Specifies the status of the DB cluster option
--   group.</li>
--   <li><a>dcogsDBClusterOptionGroupName</a> - Specifies the name of the
--   DB cluster option group.</li>
--   </ul>
dbClusterOptionGroupStatus :: DBClusterOptionGroupStatus

-- | Specifies the status of the DB cluster option group.
dcogsStatus :: Lens' DBClusterOptionGroupStatus (Maybe Text)

-- | Specifies the name of the DB cluster option group.
dcogsDBClusterOptionGroupName :: Lens' DBClusterOptionGroupStatus (Maybe Text)

-- | Contains the details of an Amazon RDS DB cluster parameter group.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBClusterParameterGroups</tt> action.
--   
--   <i>See:</i> <a>dbClusterParameterGroup</a> smart constructor.
data DBClusterParameterGroup

-- | Creates a value of <a>DBClusterParameterGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcpgDBClusterParameterGroupARN</a> - The Amazon Resource Name
--   (ARN) for the DB cluster parameter group.</li>
--   <li><a>dcpgDBParameterGroupFamily</a> - Provides the name of the DB
--   parameter group family that this DB cluster parameter group is
--   compatible with.</li>
--   <li><a>dcpgDBClusterParameterGroupName</a> - Provides the name of the
--   DB cluster parameter group.</li>
--   <li><a>dcpgDescription</a> - Provides the customer-specified
--   description for this DB cluster parameter group.</li>
--   </ul>
dbClusterParameterGroup :: DBClusterParameterGroup

-- | The Amazon Resource Name (ARN) for the DB cluster parameter group.
dcpgDBClusterParameterGroupARN :: Lens' DBClusterParameterGroup (Maybe Text)

-- | Provides the name of the DB parameter group family that this DB
--   cluster parameter group is compatible with.
dcpgDBParameterGroupFamily :: Lens' DBClusterParameterGroup (Maybe Text)

-- | Provides the name of the DB cluster parameter group.
dcpgDBClusterParameterGroupName :: Lens' DBClusterParameterGroup (Maybe Text)

-- | Provides the customer-specified description for this DB cluster
--   parameter group.
dcpgDescription :: Lens' DBClusterParameterGroup (Maybe Text)

-- | <i>See:</i> <a>dbClusterParameterGroupNameMessage</a> smart
--   constructor.
data DBClusterParameterGroupNameMessage

-- | Creates a value of <a>DBClusterParameterGroupNameMessage</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcpgnmDBClusterParameterGroupName</a> - The name of the DB
--   cluster parameter group. Constraints: * Must be 1 to 255 letters or
--   numbers. * First character must be a letter * Cannot end with a hyphen
--   or contain two consecutive hyphens</li>
--   </ul>
dbClusterParameterGroupNameMessage :: DBClusterParameterGroupNameMessage

-- | The name of the DB cluster parameter group. Constraints: * Must be 1
--   to 255 letters or numbers. * First character must be a letter * Cannot
--   end with a hyphen or contain two consecutive hyphens
dcpgnmDBClusterParameterGroupName :: Lens' DBClusterParameterGroupNameMessage (Maybe Text)

-- | Describes an AWS Identity and Access Management (IAM) role that is
--   associated with a DB cluster.
--   
--   <i>See:</i> <a>dbClusterRole</a> smart constructor.
data DBClusterRole

-- | Creates a value of <a>DBClusterRole</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrStatus</a> - Describes the state of association between the
--   IAM role and the DB cluster. The Status property returns one of the
--   following values: * <tt>ACTIVE</tt> - the IAM role ARN is associated
--   with the DB cluster and can be used to access other AWS services on
--   your behalf. * <tt>PENDING</tt> - the IAM role ARN is being associated
--   with the DB cluster. * <tt>INVALID</tt> - the IAM role ARN is
--   associated with the DB cluster, but the DB cluster is unable to assume
--   the IAM role in order to access other AWS services on your
--   behalf.</li>
--   <li><a>dcrRoleARN</a> - The Amazon Resource Name (ARN) of the IAM role
--   that is associated with the DB cluster.</li>
--   </ul>
dbClusterRole :: DBClusterRole

-- | Describes the state of association between the IAM role and the DB
--   cluster. The Status property returns one of the following values: *
--   <tt>ACTIVE</tt> - the IAM role ARN is associated with the DB cluster
--   and can be used to access other AWS services on your behalf. *
--   <tt>PENDING</tt> - the IAM role ARN is being associated with the DB
--   cluster. * <tt>INVALID</tt> - the IAM role ARN is associated with the
--   DB cluster, but the DB cluster is unable to assume the IAM role in
--   order to access other AWS services on your behalf.
dcrStatus :: Lens' DBClusterRole (Maybe Text)

-- | The Amazon Resource Name (ARN) of the IAM role that is associated with
--   the DB cluster.
dcrRoleARN :: Lens' DBClusterRole (Maybe Text)

-- | Contains the details for an Amazon RDS DB cluster snapshot
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBClusterSnapshots</tt> action.
--   
--   <i>See:</i> <a>dbClusterSnapshot</a> smart constructor.
data DBClusterSnapshot

-- | Creates a value of <a>DBClusterSnapshot</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsEngineVersion</a> - Provides the version of the database
--   engine for this DB cluster snapshot.</li>
--   <li><a>dcsStatus</a> - Specifies the status of this DB cluster
--   snapshot.</li>
--   <li><a>dcsStorageEncrypted</a> - Specifies whether the DB cluster
--   snapshot is encrypted.</li>
--   <li><a>dcsDBClusterIdentifier</a> - Specifies the DB cluster
--   identifier of the DB cluster that this DB cluster snapshot was created
--   from.</li>
--   <li><a>dcsMasterUsername</a> - Provides the master username for the DB
--   cluster snapshot.</li>
--   <li><a>dcsIAMDatabaseAuthenticationEnabled</a> - True if mapping of
--   AWS Identity and Access Management (IAM) accounts to database accounts
--   is enabled, and otherwise false.</li>
--   <li><a>dcsDBClusterSnapshotARN</a> - The Amazon Resource Name (ARN)
--   for the DB cluster snapshot.</li>
--   <li><a>dcsVPCId</a> - Provides the VPC ID associated with the DB
--   cluster snapshot.</li>
--   <li><a>dcsDBClusterSnapshotIdentifier</a> - Specifies the identifier
--   for the DB cluster snapshot.</li>
--   <li><a>dcsEngine</a> - Specifies the name of the database engine.</li>
--   <li><a>dcsLicenseModel</a> - Provides the license model information
--   for this DB cluster snapshot.</li>
--   <li><a>dcsAvailabilityZones</a> - Provides the list of EC2
--   Availability Zones that instances in the DB cluster snapshot can be
--   restored in.</li>
--   <li><a>dcsSnapshotType</a> - Provides the type of the DB cluster
--   snapshot.</li>
--   <li><a>dcsKMSKeyId</a> - If <tt>StorageEncrypted</tt> is true, the AWS
--   KMS key identifier for the encrypted DB cluster snapshot.</li>
--   <li><a>dcsSnapshotCreateTime</a> - Provides the time when the snapshot
--   was taken, in Universal Coordinated Time (UTC).</li>
--   <li><a>dcsAllocatedStorage</a> - Specifies the allocated storage size
--   in gibibytes (GiB).</li>
--   <li><a>dcsSourceDBClusterSnapshotARN</a> - If the DB cluster snapshot
--   was copied from a source DB cluster snapshot, the Amazon Resource Name
--   (ARN) for the source DB cluster snapshot, otherwise, a null
--   value.</li>
--   <li><a>dcsClusterCreateTime</a> - Specifies the time when the DB
--   cluster was created, in Universal Coordinated Time (UTC).</li>
--   <li><a>dcsPercentProgress</a> - Specifies the percentage of the
--   estimated data that has been transferred.</li>
--   <li><a>dcsPort</a> - Specifies the port that the DB cluster was
--   listening on at the time of the snapshot.</li>
--   </ul>
dbClusterSnapshot :: DBClusterSnapshot

-- | Provides the version of the database engine for this DB cluster
--   snapshot.
dcsEngineVersion :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies the status of this DB cluster snapshot.
dcsStatus :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies whether the DB cluster snapshot is encrypted.
dcsStorageEncrypted :: Lens' DBClusterSnapshot (Maybe Bool)

-- | Specifies the DB cluster identifier of the DB cluster that this DB
--   cluster snapshot was created from.
dcsDBClusterIdentifier :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the master username for the DB cluster snapshot.
dcsMasterUsername :: Lens' DBClusterSnapshot (Maybe Text)

-- | True if mapping of AWS Identity and Access Management (IAM) accounts
--   to database accounts is enabled, and otherwise false.
dcsIAMDatabaseAuthenticationEnabled :: Lens' DBClusterSnapshot (Maybe Bool)

-- | The Amazon Resource Name (ARN) for the DB cluster snapshot.
dcsDBClusterSnapshotARN :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the VPC ID associated with the DB cluster snapshot.
dcsVPCId :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies the identifier for the DB cluster snapshot.
dcsDBClusterSnapshotIdentifier :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies the name of the database engine.
dcsEngine :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the license model information for this DB cluster snapshot.
dcsLicenseModel :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the list of EC2 Availability Zones that instances in the DB
--   cluster snapshot can be restored in.
dcsAvailabilityZones :: Lens' DBClusterSnapshot [Text]

-- | Provides the type of the DB cluster snapshot.
dcsSnapshotType :: Lens' DBClusterSnapshot (Maybe Text)

-- | If <tt>StorageEncrypted</tt> is true, the AWS KMS key identifier for
--   the encrypted DB cluster snapshot.
dcsKMSKeyId :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the time when the snapshot was taken, in Universal
--   Coordinated Time (UTC).
dcsSnapshotCreateTime :: Lens' DBClusterSnapshot (Maybe UTCTime)

-- | Specifies the allocated storage size in gibibytes (GiB).
dcsAllocatedStorage :: Lens' DBClusterSnapshot (Maybe Int)

-- | If the DB cluster snapshot was copied from a source DB cluster
--   snapshot, the Amazon Resource Name (ARN) for the source DB cluster
--   snapshot, otherwise, a null value.
dcsSourceDBClusterSnapshotARN :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies the time when the DB cluster was created, in Universal
--   Coordinated Time (UTC).
dcsClusterCreateTime :: Lens' DBClusterSnapshot (Maybe UTCTime)

-- | Specifies the percentage of the estimated data that has been
--   transferred.
dcsPercentProgress :: Lens' DBClusterSnapshot (Maybe Int)

-- | Specifies the port that the DB cluster was listening on at the time of
--   the snapshot.
dcsPort :: Lens' DBClusterSnapshot (Maybe Int)

-- | Contains the name and values of a manual DB cluster snapshot
--   attribute.
--   
--   Manual DB cluster snapshot attributes are used to authorize other AWS
--   accounts to restore a manual DB cluster snapshot. For more
--   information, see the <tt>ModifyDBClusterSnapshotAttribute</tt> API
--   action.
--   
--   <i>See:</i> <a>dbClusterSnapshotAttribute</a> smart constructor.
data DBClusterSnapshotAttribute

-- | Creates a value of <a>DBClusterSnapshotAttribute</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsaAttributeValues</a> - The value(s) for the manual DB
--   cluster snapshot attribute. If the <tt>AttributeName</tt> field is set
--   to <tt>restore</tt> , then this element returns a list of IDs of the
--   AWS accounts that are authorized to copy or restore the manual DB
--   cluster snapshot. If a value of <tt>all</tt> is in the list, then the
--   manual DB cluster snapshot is public and available for any AWS account
--   to copy or restore.</li>
--   <li><a>dcsaAttributeName</a> - The name of the manual DB cluster
--   snapshot attribute. The attribute named <tt>restore</tt> refers to the
--   list of AWS accounts that have permission to copy or restore the
--   manual DB cluster snapshot. For more information, see the
--   <tt>ModifyDBClusterSnapshotAttribute</tt> API action.</li>
--   </ul>
dbClusterSnapshotAttribute :: DBClusterSnapshotAttribute

-- | The value(s) for the manual DB cluster snapshot attribute. If the
--   <tt>AttributeName</tt> field is set to <tt>restore</tt> , then this
--   element returns a list of IDs of the AWS accounts that are authorized
--   to copy or restore the manual DB cluster snapshot. If a value of
--   <tt>all</tt> is in the list, then the manual DB cluster snapshot is
--   public and available for any AWS account to copy or restore.
dcsaAttributeValues :: Lens' DBClusterSnapshotAttribute [Text]

-- | The name of the manual DB cluster snapshot attribute. The attribute
--   named <tt>restore</tt> refers to the list of AWS accounts that have
--   permission to copy or restore the manual DB cluster snapshot. For more
--   information, see the <tt>ModifyDBClusterSnapshotAttribute</tt> API
--   action.
dcsaAttributeName :: Lens' DBClusterSnapshotAttribute (Maybe Text)

-- | Contains the results of a successful call to the
--   <tt>DescribeDBClusterSnapshotAttributes</tt> API action.
--   
--   Manual DB cluster snapshot attributes are used to authorize other AWS
--   accounts to copy or restore a manual DB cluster snapshot. For more
--   information, see the <tt>ModifyDBClusterSnapshotAttribute</tt> API
--   action.
--   
--   <i>See:</i> <a>dbClusterSnapshotAttributesResult</a> smart
--   constructor.
data DBClusterSnapshotAttributesResult

-- | Creates a value of <a>DBClusterSnapshotAttributesResult</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsarDBClusterSnapshotIdentifier</a> - The identifier of the
--   manual DB cluster snapshot that the attributes apply to.</li>
--   <li><a>dcsarDBClusterSnapshotAttributes</a> - The list of attributes
--   and values for the manual DB cluster snapshot.</li>
--   </ul>
dbClusterSnapshotAttributesResult :: DBClusterSnapshotAttributesResult

-- | The identifier of the manual DB cluster snapshot that the attributes
--   apply to.
dcsarDBClusterSnapshotIdentifier :: Lens' DBClusterSnapshotAttributesResult (Maybe Text)

-- | The list of attributes and values for the manual DB cluster snapshot.
dcsarDBClusterSnapshotAttributes :: Lens' DBClusterSnapshotAttributesResult [DBClusterSnapshotAttribute]

-- | This data type is used as a response element in the action
--   <tt>DescribeDBEngineVersions</tt> .
--   
--   <i>See:</i> <a>dbEngineVersion</a> smart constructor.
data DBEngineVersion

-- | Creates a value of <a>DBEngineVersion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>devEngineVersion</a> - The version number of the database
--   engine.</li>
--   <li><a>devDBEngineVersionDescription</a> - The description of the
--   database engine version.</li>
--   <li><a>devDefaultCharacterSet</a> - The default character set for new
--   instances of this engine version, if the <tt>CharacterSetName</tt>
--   parameter of the CreateDBInstance API is not specified.</li>
--   <li><a>devEngine</a> - The name of the database engine.</li>
--   <li><a>devDBParameterGroupFamily</a> - The name of the DB parameter
--   group family for the database engine.</li>
--   <li><a>devSupportedCharacterSets</a> - A list of the character sets
--   supported by this engine for the <tt>CharacterSetName</tt> parameter
--   of the <tt>CreateDBInstance</tt> action.</li>
--   <li><a>devDBEngineDescription</a> - The description of the database
--   engine.</li>
--   <li><a>devValidUpgradeTarget</a> - A list of engine versions that this
--   database engine version can be upgraded to.</li>
--   <li><a>devSupportsLogExportsToCloudwatchLogs</a> - A value that
--   indicates whether the engine version supports exporting the log types
--   specified by ExportableLogTypes to CloudWatch Logs.</li>
--   <li><a>devSupportsReadReplica</a> - Indicates whether the database
--   engine version supports read replicas.</li>
--   <li><a>devSupportedTimezones</a> - A list of the time zones supported
--   by this engine for the <tt>Timezone</tt> parameter of the
--   <tt>CreateDBInstance</tt> action.</li>
--   <li><a>devExportableLogTypes</a> - The types of logs that the database
--   engine has available for export to CloudWatch Logs.</li>
--   </ul>
dbEngineVersion :: DBEngineVersion

-- | The version number of the database engine.
devEngineVersion :: Lens' DBEngineVersion (Maybe Text)

-- | The description of the database engine version.
devDBEngineVersionDescription :: Lens' DBEngineVersion (Maybe Text)

-- | The default character set for new instances of this engine version, if
--   the <tt>CharacterSetName</tt> parameter of the CreateDBInstance API is
--   not specified.
devDefaultCharacterSet :: Lens' DBEngineVersion (Maybe CharacterSet)

-- | The name of the database engine.
devEngine :: Lens' DBEngineVersion (Maybe Text)

-- | The name of the DB parameter group family for the database engine.
devDBParameterGroupFamily :: Lens' DBEngineVersion (Maybe Text)

-- | A list of the character sets supported by this engine for the
--   <tt>CharacterSetName</tt> parameter of the <tt>CreateDBInstance</tt>
--   action.
devSupportedCharacterSets :: Lens' DBEngineVersion [CharacterSet]

-- | The description of the database engine.
devDBEngineDescription :: Lens' DBEngineVersion (Maybe Text)

-- | A list of engine versions that this database engine version can be
--   upgraded to.
devValidUpgradeTarget :: Lens' DBEngineVersion [UpgradeTarget]

-- | A value that indicates whether the engine version supports exporting
--   the log types specified by ExportableLogTypes to CloudWatch Logs.
devSupportsLogExportsToCloudwatchLogs :: Lens' DBEngineVersion (Maybe Bool)

-- | Indicates whether the database engine version supports read replicas.
devSupportsReadReplica :: Lens' DBEngineVersion (Maybe Bool)

-- | A list of the time zones supported by this engine for the
--   <tt>Timezone</tt> parameter of the <tt>CreateDBInstance</tt> action.
devSupportedTimezones :: Lens' DBEngineVersion [Timezone]

-- | The types of logs that the database engine has available for export to
--   CloudWatch Logs.
devExportableLogTypes :: Lens' DBEngineVersion [Text]

-- | Contains the details of an Amazon RDS DB instance.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBInstances</tt> action.
--   
--   <i>See:</i> <a>dbInstance</a> smart constructor.
data DBInstance

-- | Creates a value of <a>DBInstance</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diEngineVersion</a> - Indicates the database engine
--   version.</li>
--   <li><a>diDBSecurityGroups</a> - Provides List of DB security group
--   elements containing only <tt>DBSecurityGroup.Name</tt> and
--   <tt>DBSecurityGroup.Status</tt> subelements.</li>
--   <li><a>diStorageEncrypted</a> - Specifies whether the DB instance is
--   encrypted.</li>
--   <li><a>diDBClusterIdentifier</a> - 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.</li>
--   <li><a>diPubliclyAccessible</a> - 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. Default: The
--   default behavior varies depending on whether a VPC has been requested
--   or not. The following list shows the default behavior in each case. *
--   <b>Default VPC:</b> true * <b>VPC:</b> false If no DB subnet group has
--   been specified as part of the request and the PubliclyAccessible value
--   has not been set, the DB instance is publicly accessible. If a
--   specific DB subnet group has been specified as part of the request and
--   the PubliclyAccessible value has not been set, the DB instance is
--   private.</li>
--   <li><a>diAutoMinorVersionUpgrade</a> - Indicates that minor version
--   patches are applied automatically.</li>
--   <li><a>diDBInstanceARN</a> - The Amazon Resource Name (ARN) for the DB
--   instance.</li>
--   <li><a>diMasterUsername</a> - Contains the master username for the DB
--   instance.</li>
--   <li><a>diReadReplicaDBInstanceIdentifiers</a> - Contains one or more
--   identifiers of the Read Replicas associated with this DB
--   instance.</li>
--   <li><a>diIAMDatabaseAuthenticationEnabled</a> - True if mapping of AWS
--   Identity and Access Management (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. To enable IAM database authentication
--   for Aurora, see DBCluster Type.</li>
--   <li><a>diMonitoringRoleARN</a> - The ARN for the IAM role that permits
--   RDS to send Enhanced Monitoring metrics to Amazon CloudWatch
--   Logs.</li>
--   <li><a>diIOPS</a> - Specifies the Provisioned IOPS (I/O operations per
--   second) value.</li>
--   <li><a>diInstanceCreateTime</a> - Provides the date and time the DB
--   instance was created.</li>
--   <li><a>diReadReplicaSourceDBInstanceIdentifier</a> - Contains the
--   identifier of the source DB instance if this DB instance is a Read
--   Replica.</li>
--   <li><a>diMonitoringInterval</a> - The interval, in seconds, between
--   points when Enhanced Monitoring metrics are collected for the DB
--   instance.</li>
--   <li><a>diEngine</a> - Provides the name of the database engine to be
--   used for this DB instance.</li>
--   <li><a>diLatestRestorableTime</a> - Specifies the latest time to which
--   a database can be restored with point-in-time restore.</li>
--   <li><a>diDBInstanceClass</a> - Contains the name of the compute and
--   memory capacity class of the DB instance.</li>
--   <li><a>diPromotionTier</a> - A value that specifies the order in which
--   an Aurora Replica is promoted to the primary instance after a failure
--   of the existing primary instance. For more information, see <a>Fault
--   Tolerance for an Aurora DB Cluster</a> .</li>
--   <li><a>diLicenseModel</a> - License model information for this DB
--   instance.</li>
--   <li><a>diPreferredMaintenanceWindow</a> - Specifies the weekly time
--   range during which system maintenance can occur, in Universal
--   Coordinated Time (UTC).</li>
--   <li><a>diCACertificateIdentifier</a> - The identifier of the CA
--   certificate for this DB instance.</li>
--   <li><a>diDBInstanceIdentifier</a> - Contains a user-supplied database
--   identifier. This identifier is the unique key that identifies a DB
--   instance.</li>
--   <li><a>diCharacterSetName</a> - If present, specifies the name of the
--   character set that this instance is associated with.</li>
--   <li><a>diKMSKeyId</a> - If <tt>StorageEncrypted</tt> is true, the AWS
--   KMS key identifier for the encrypted DB instance.</li>
--   <li><a>diPreferredBackupWindow</a> - Specifies the daily time range
--   during which automated backups are created if automated backups are
--   enabled, as determined by the <tt>BackupRetentionPeriod</tt> .</li>
--   <li><a>diAvailabilityZone</a> - Specifies the name of the Availability
--   Zone the DB instance is located in.</li>
--   <li><a>diVPCSecurityGroups</a> - Provides a list of VPC security group
--   elements that the DB instance belongs to.</li>
--   <li><a>diBackupRetentionPeriod</a> - Specifies the number of days for
--   which automatic DB snapshots are retained.</li>
--   <li><a>diPerformanceInsightsKMSKeyId</a> - The AWS KMS key identifier
--   for encryption of Performance Insights data. The KMS key ID is the
--   Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias
--   for the KMS encryption key.</li>
--   <li><a>diDBSubnetGroup</a> - Specifies information on the subnet group
--   associated with the DB instance, including the name, description, and
--   subnets in the subnet group.</li>
--   <li><a>diMultiAZ</a> - Specifies if the DB instance is a Multi-AZ
--   deployment.</li>
--   <li><a>diOptionGroupMemberships</a> - Provides the list of option
--   group memberships for this DB instance.</li>
--   <li><a>diEnabledCloudwatchLogsExports</a> - A list of log types that
--   this DB instance is configured to export to CloudWatch Logs.</li>
--   <li><a>diEnhancedMonitoringResourceARN</a> - The Amazon Resource Name
--   (ARN) of the Amazon CloudWatch Logs log stream that receives the
--   Enhanced Monitoring metrics data for the DB instance.</li>
--   <li><a>diSecondaryAvailabilityZone</a> - If present, specifies the
--   name of the secondary Availability Zone for a DB instance with
--   multi-AZ support.</li>
--   <li><a>diPerformanceInsightsEnabled</a> - True if Performance Insights
--   is enabled for the DB instance, and otherwise false.</li>
--   <li><a>diAllocatedStorage</a> - Specifies the allocated storage size
--   specified in gibibytes.</li>
--   <li><a>diDBiResourceId</a> - The AWS Region-unique, immutable
--   identifier for the DB instance. This identifier is found in AWS
--   CloudTrail log entries whenever the AWS KMS key for the DB instance is
--   accessed.</li>
--   <li><a>diDBParameterGroups</a> - Provides the list of DB parameter
--   groups applied to this DB instance.</li>
--   <li><a>diCopyTagsToSnapshot</a> - Specifies whether tags are copied
--   from the DB instance to snapshots of the DB instance.</li>
--   <li><a>diTimezone</a> - The time zone of the DB instance. In most
--   cases, the <tt>Timezone</tt> element is empty. <tt>Timezone</tt>
--   content appears only for Microsoft SQL Server DB instances that were
--   created with a time zone specified.</li>
--   <li><a>diTDECredentialARN</a> - The ARN from the key store with which
--   the instance is associated for TDE encryption.</li>
--   <li><a>diEndpoint</a> - Specifies the connection endpoint.</li>
--   <li><a>diDBInstanceStatus</a> - Specifies the current state of this
--   database.</li>
--   <li><a>diDBInstancePort</a> - 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.</li>
--   <li><a>diPendingModifiedValues</a> - Specifies that changes to the DB
--   instance are pending. This element is only included when changes are
--   pending. Specific changes are identified by subelements.</li>
--   <li><a>diReadReplicaDBClusterIdentifiers</a> - Contains one or more
--   identifiers of Aurora DB clusters that are Read Replicas of this DB
--   instance.</li>
--   <li><a>diStorageType</a> - Specifies the storage type associated with
--   DB instance.</li>
--   <li><a>diStatusInfos</a> - The status of a Read Replica. If the
--   instance is not a Read Replica, this is blank.</li>
--   <li><a>diDomainMemberships</a> - The Active Directory Domain
--   membership records associated with the DB instance.</li>
--   <li><a>diDBName</a> - The meaning of this parameter differs according
--   to the database engine you use. For example, this value returns MySQL,
--   MariaDB, or PostgreSQL information when returning values from
--   CreateDBInstanceReadReplica since Read Replicas are only supported for
--   these engines. <b>MySQL, MariaDB, SQL Server, PostgreSQL</b> 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. Type:
--   String <b>Oracle</b> 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.</li>
--   </ul>
dbInstance :: DBInstance

-- | Indicates the database engine version.
diEngineVersion :: Lens' DBInstance (Maybe Text)

-- | Provides List of DB security group elements containing only
--   <tt>DBSecurityGroup.Name</tt> and <tt>DBSecurityGroup.Status</tt>
--   subelements.
diDBSecurityGroups :: Lens' DBInstance [DBSecurityGroupMembership]

-- | Specifies whether the DB instance is encrypted.
diStorageEncrypted :: Lens' DBInstance (Maybe 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.
diDBClusterIdentifier :: Lens' DBInstance (Maybe 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. Default: The default behavior varies depending on
--   whether a VPC has been requested or not. The following list shows the
--   default behavior in each case. * <b>Default VPC:</b> true *
--   <b>VPC:</b> false If no DB subnet group has been specified as part of
--   the request and the PubliclyAccessible value has not been set, the DB
--   instance is publicly accessible. If a specific DB subnet group has
--   been specified as part of the request and the PubliclyAccessible value
--   has not been set, the DB instance is private.
diPubliclyAccessible :: Lens' DBInstance (Maybe Bool)

-- | Indicates that minor version patches are applied automatically.
diAutoMinorVersionUpgrade :: Lens' DBInstance (Maybe Bool)

-- | The Amazon Resource Name (ARN) for the DB instance.
diDBInstanceARN :: Lens' DBInstance (Maybe Text)

-- | Contains the master username for the DB instance.
diMasterUsername :: Lens' DBInstance (Maybe Text)

-- | Contains one or more identifiers of the Read Replicas associated with
--   this DB instance.
diReadReplicaDBInstanceIdentifiers :: Lens' DBInstance [Text]

-- | True if mapping of AWS Identity and Access Management (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. To enable IAM
--   database authentication for Aurora, see DBCluster Type.
diIAMDatabaseAuthenticationEnabled :: Lens' DBInstance (Maybe Bool)

-- | The ARN for the IAM role that permits RDS to send Enhanced Monitoring
--   metrics to Amazon CloudWatch Logs.
diMonitoringRoleARN :: Lens' DBInstance (Maybe Text)

-- | Specifies the Provisioned IOPS (I/O operations per second) value.
diIOPS :: Lens' DBInstance (Maybe Int)

-- | Provides the date and time the DB instance was created.
diInstanceCreateTime :: Lens' DBInstance (Maybe UTCTime)

-- | Contains the identifier of the source DB instance if this DB instance
--   is a Read Replica.
diReadReplicaSourceDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)

-- | The interval, in seconds, between points when Enhanced Monitoring
--   metrics are collected for the DB instance.
diMonitoringInterval :: Lens' DBInstance (Maybe Int)

-- | Provides the name of the database engine to be used for this DB
--   instance.
diEngine :: Lens' DBInstance (Maybe Text)

-- | Specifies the latest time to which a database can be restored with
--   point-in-time restore.
diLatestRestorableTime :: Lens' DBInstance (Maybe UTCTime)

-- | Contains the name of the compute and memory capacity class of the DB
--   instance.
diDBInstanceClass :: Lens' DBInstance (Maybe Text)

-- | A value that specifies the order in which an Aurora Replica is
--   promoted to the primary instance after a failure of the existing
--   primary instance. For more information, see <a>Fault Tolerance for an
--   Aurora DB Cluster</a> .
diPromotionTier :: Lens' DBInstance (Maybe Int)

-- | License model information for this DB instance.
diLicenseModel :: Lens' DBInstance (Maybe Text)

-- | Specifies the weekly time range during which system maintenance can
--   occur, in Universal Coordinated Time (UTC).
diPreferredMaintenanceWindow :: Lens' DBInstance (Maybe Text)

-- | The identifier of the CA certificate for this DB instance.
diCACertificateIdentifier :: Lens' DBInstance (Maybe Text)

-- | Contains a user-supplied database identifier. This identifier is the
--   unique key that identifies a DB instance.
diDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)

-- | If present, specifies the name of the character set that this instance
--   is associated with.
diCharacterSetName :: Lens' DBInstance (Maybe Text)

-- | If <tt>StorageEncrypted</tt> is true, the AWS KMS key identifier for
--   the encrypted DB instance.
diKMSKeyId :: Lens' DBInstance (Maybe Text)

-- | Specifies the daily time range during which automated backups are
--   created if automated backups are enabled, as determined by the
--   <tt>BackupRetentionPeriod</tt> .
diPreferredBackupWindow :: Lens' DBInstance (Maybe Text)

-- | Specifies the name of the Availability Zone the DB instance is located
--   in.
diAvailabilityZone :: Lens' DBInstance (Maybe Text)

-- | Provides a list of VPC security group elements that the DB instance
--   belongs to.
diVPCSecurityGroups :: Lens' DBInstance [VPCSecurityGroupMembership]

-- | Specifies the number of days for which automatic DB snapshots are
--   retained.
diBackupRetentionPeriod :: Lens' DBInstance (Maybe Int)

-- | The AWS KMS key identifier for encryption of Performance Insights
--   data. The KMS key ID is the Amazon Resource Name (ARN), KMS key
--   identifier, or the KMS key alias for the KMS encryption key.
diPerformanceInsightsKMSKeyId :: Lens' DBInstance (Maybe Text)

-- | Specifies information on the subnet group associated with the DB
--   instance, including the name, description, and subnets in the subnet
--   group.
diDBSubnetGroup :: Lens' DBInstance (Maybe DBSubnetGroup)

-- | Specifies if the DB instance is a Multi-AZ deployment.
diMultiAZ :: Lens' DBInstance (Maybe Bool)

-- | Provides the list of option group memberships for this DB instance.
diOptionGroupMemberships :: Lens' DBInstance [OptionGroupMembership]

-- | A list of log types that this DB instance is configured to export to
--   CloudWatch Logs.
diEnabledCloudwatchLogsExports :: Lens' DBInstance [Text]

-- | The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log
--   stream that receives the Enhanced Monitoring metrics data for the DB
--   instance.
diEnhancedMonitoringResourceARN :: Lens' DBInstance (Maybe Text)

-- | If present, specifies the name of the secondary Availability Zone for
--   a DB instance with multi-AZ support.
diSecondaryAvailabilityZone :: Lens' DBInstance (Maybe Text)

-- | True if Performance Insights is enabled for the DB instance, and
--   otherwise false.
diPerformanceInsightsEnabled :: Lens' DBInstance (Maybe Bool)

-- | Specifies the allocated storage size specified in gibibytes.
diAllocatedStorage :: Lens' DBInstance (Maybe Int)

-- | The AWS Region-unique, immutable identifier for the DB instance. This
--   identifier is found in AWS CloudTrail log entries whenever the AWS KMS
--   key for the DB instance is accessed.
diDBiResourceId :: Lens' DBInstance (Maybe Text)

-- | Provides the list of DB parameter groups applied to this DB instance.
diDBParameterGroups :: Lens' DBInstance [DBParameterGroupStatus]

-- | Specifies whether tags are copied from the DB instance to snapshots of
--   the DB instance.
diCopyTagsToSnapshot :: Lens' DBInstance (Maybe Bool)

-- | The time zone of the DB instance. In most cases, the <tt>Timezone</tt>
--   element is empty. <tt>Timezone</tt> content appears only for Microsoft
--   SQL Server DB instances that were created with a time zone specified.
diTimezone :: Lens' DBInstance (Maybe Text)

-- | The ARN from the key store with which the instance is associated for
--   TDE encryption.
diTDECredentialARN :: Lens' DBInstance (Maybe Text)

-- | Specifies the connection endpoint.
diEndpoint :: Lens' DBInstance (Maybe Endpoint)

-- | Specifies the current state of this database.
diDBInstanceStatus :: Lens' DBInstance (Maybe Text)

-- | 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.
diDBInstancePort :: Lens' DBInstance (Maybe Int)

-- | Specifies that changes to the DB instance are pending. This element is
--   only included when changes are pending. Specific changes are
--   identified by subelements.
diPendingModifiedValues :: Lens' DBInstance (Maybe PendingModifiedValues)

-- | Contains one or more identifiers of Aurora DB clusters that are Read
--   Replicas of this DB instance.
diReadReplicaDBClusterIdentifiers :: Lens' DBInstance [Text]

-- | Specifies the storage type associated with DB instance.
diStorageType :: Lens' DBInstance (Maybe Text)

-- | The status of a Read Replica. If the instance is not a Read Replica,
--   this is blank.
diStatusInfos :: Lens' DBInstance [DBInstanceStatusInfo]

-- | The Active Directory Domain membership records associated with the DB
--   instance.
diDomainMemberships :: Lens' DBInstance [DomainMembership]

-- | The meaning of this parameter differs according to the database engine
--   you use. For example, this value returns MySQL, MariaDB, or PostgreSQL
--   information when returning values from CreateDBInstanceReadReplica
--   since Read Replicas are only supported for these engines. <b>MySQL,
--   MariaDB, SQL Server, PostgreSQL</b> 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. Type: String <b>Oracle</b> 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.
diDBName :: Lens' DBInstance (Maybe Text)

-- | Provides a list of status information for a DB instance.
--   
--   <i>See:</i> <a>dbInstanceStatusInfo</a> smart constructor.
data DBInstanceStatusInfo

-- | Creates a value of <a>DBInstanceStatusInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>disiStatus</a> - Status of the DB instance. For a StatusType of
--   read replica, the values can be replicating, error, stopped, or
--   terminated.</li>
--   <li><a>disiNormal</a> - Boolean value that is true if the instance is
--   operating normally, or false if the instance is in an error
--   state.</li>
--   <li><a>disiStatusType</a> - This value is currently "read
--   replication."</li>
--   <li><a>disiMessage</a> - Details of the error if there is an error for
--   the instance. If the instance is not in an error state, this value is
--   blank.</li>
--   </ul>
dbInstanceStatusInfo :: DBInstanceStatusInfo

-- | Status of the DB instance. For a StatusType of read replica, the
--   values can be replicating, error, stopped, or terminated.
disiStatus :: Lens' DBInstanceStatusInfo (Maybe Text)

-- | Boolean value that is true if the instance is operating normally, or
--   false if the instance is in an error state.
disiNormal :: Lens' DBInstanceStatusInfo (Maybe Bool)

-- | This value is currently "read replication."
disiStatusType :: Lens' DBInstanceStatusInfo (Maybe Text)

-- | Details of the error if there is an error for the instance. If the
--   instance is not in an error state, this value is blank.
disiMessage :: Lens' DBInstanceStatusInfo (Maybe Text)

-- | Contains the details of an Amazon RDS DB parameter group.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBParameterGroups</tt> action.
--   
--   <i>See:</i> <a>dbParameterGroup</a> smart constructor.
data DBParameterGroup

-- | Creates a value of <a>DBParameterGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpgDBParameterGroupARN</a> - The Amazon Resource Name (ARN) for
--   the DB parameter group.</li>
--   <li><a>dpgDBParameterGroupFamily</a> - Provides the name of the DB
--   parameter group family that this DB parameter group is compatible
--   with.</li>
--   <li><a>dpgDBParameterGroupName</a> - Provides the name of the DB
--   parameter group.</li>
--   <li><a>dpgDescription</a> - Provides the customer-specified
--   description for this DB parameter group.</li>
--   </ul>
dbParameterGroup :: DBParameterGroup

-- | The Amazon Resource Name (ARN) for the DB parameter group.
dpgDBParameterGroupARN :: Lens' DBParameterGroup (Maybe Text)

-- | Provides the name of the DB parameter group family that this DB
--   parameter group is compatible with.
dpgDBParameterGroupFamily :: Lens' DBParameterGroup (Maybe Text)

-- | Provides the name of the DB parameter group.
dpgDBParameterGroupName :: Lens' DBParameterGroup (Maybe Text)

-- | Provides the customer-specified description for this DB parameter
--   group.
dpgDescription :: Lens' DBParameterGroup (Maybe Text)

-- | Contains the result of a successful invocation of the
--   <tt>ModifyDBParameterGroup</tt> or <tt>ResetDBParameterGroup</tt>
--   action.
--   
--   <i>See:</i> <a>dbParameterGroupNameMessage</a> smart constructor.
data DBParameterGroupNameMessage

-- | Creates a value of <a>DBParameterGroupNameMessage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpgnmDBParameterGroupName</a> - Provides the name of the DB
--   parameter group.</li>
--   </ul>
dbParameterGroupNameMessage :: DBParameterGroupNameMessage

-- | Provides the name of the DB parameter group.
dpgnmDBParameterGroupName :: Lens' DBParameterGroupNameMessage (Maybe Text)

-- | The status of the DB parameter group.
--   
--   This data type is used as a response element in the following actions:
--   
--   <ul>
--   <li><tt>CreateDBInstance</tt></li>
--   <li><tt>CreateDBInstanceReadReplica</tt></li>
--   <li><tt>DeleteDBInstance</tt></li>
--   <li><tt>ModifyDBInstance</tt></li>
--   <li><tt>RebootDBInstance</tt></li>
--   <li><tt>RestoreDBInstanceFromDBSnapshot</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>dbParameterGroupStatus</a> smart constructor.
data DBParameterGroupStatus

-- | Creates a value of <a>DBParameterGroupStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpgsDBParameterGroupName</a> - The name of the DP parameter
--   group.</li>
--   <li><a>dpgsParameterApplyStatus</a> - The status of parameter
--   updates.</li>
--   </ul>
dbParameterGroupStatus :: DBParameterGroupStatus

-- | The name of the DP parameter group.
dpgsDBParameterGroupName :: Lens' DBParameterGroupStatus (Maybe Text)

-- | The status of parameter updates.
dpgsParameterApplyStatus :: Lens' DBParameterGroupStatus (Maybe Text)

-- | Contains the details for an Amazon RDS DB security group.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBSecurityGroups</tt> action.
--   
--   <i>See:</i> <a>dbSecurityGroup</a> smart constructor.
data DBSecurityGroup

-- | Creates a value of <a>DBSecurityGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dbsgVPCId</a> - Provides the VpcId of the DB security
--   group.</li>
--   <li><a>dbsgOwnerId</a> - Provides the AWS ID of the owner of a
--   specific DB security group.</li>
--   <li><a>dbsgDBSecurityGroupARN</a> - The Amazon Resource Name (ARN) for
--   the DB security group.</li>
--   <li><a>dbsgIPRanges</a> - Contains a list of <a>IPRange</a>
--   elements.</li>
--   <li><a>dbsgDBSecurityGroupName</a> - Specifies the name of the DB
--   security group.</li>
--   <li><a>dbsgEC2SecurityGroups</a> - Contains a list of
--   <a>EC2SecurityGroup</a> elements.</li>
--   <li><a>dbsgDBSecurityGroupDescription</a> - Provides the description
--   of the DB security group.</li>
--   </ul>
dbSecurityGroup :: DBSecurityGroup

-- | Provides the VpcId of the DB security group.
dbsgVPCId :: Lens' DBSecurityGroup (Maybe Text)

-- | Provides the AWS ID of the owner of a specific DB security group.
dbsgOwnerId :: Lens' DBSecurityGroup (Maybe Text)

-- | The Amazon Resource Name (ARN) for the DB security group.
dbsgDBSecurityGroupARN :: Lens' DBSecurityGroup (Maybe Text)

-- | Contains a list of <a>IPRange</a> elements.
dbsgIPRanges :: Lens' DBSecurityGroup [IPRange]

-- | Specifies the name of the DB security group.
dbsgDBSecurityGroupName :: Lens' DBSecurityGroup (Maybe Text)

-- | Contains a list of <a>EC2SecurityGroup</a> elements.
dbsgEC2SecurityGroups :: Lens' DBSecurityGroup [EC2SecurityGroup]

-- | Provides the description of the DB security group.
dbsgDBSecurityGroupDescription :: Lens' DBSecurityGroup (Maybe Text)

-- | This data type is used as a response element in the following actions:
--   
--   <ul>
--   <li><tt>ModifyDBInstance</tt></li>
--   <li><tt>RebootDBInstance</tt></li>
--   <li><tt>RestoreDBInstanceFromDBSnapshot</tt></li>
--   <li><tt>RestoreDBInstanceToPointInTime</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>dbSecurityGroupMembership</a> smart constructor.
data DBSecurityGroupMembership

-- | Creates a value of <a>DBSecurityGroupMembership</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsgmStatus</a> - The status of the DB security group.</li>
--   <li><a>dsgmDBSecurityGroupName</a> - The name of the DB security
--   group.</li>
--   </ul>
dbSecurityGroupMembership :: DBSecurityGroupMembership

-- | The status of the DB security group.
dsgmStatus :: Lens' DBSecurityGroupMembership (Maybe Text)

-- | The name of the DB security group.
dsgmDBSecurityGroupName :: Lens' DBSecurityGroupMembership (Maybe Text)

-- | Contains the details of an Amazon RDS DB snapshot.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBSnapshots</tt> action.
--   
--   <i>See:</i> <a>dbSnapshot</a> smart constructor.
data DBSnapshot

-- | Creates a value of <a>DBSnapshot</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsEngineVersion</a> - Specifies the version of the database
--   engine.</li>
--   <li><a>dsStatus</a> - Specifies the status of this DB snapshot.</li>
--   <li><a>dsDBSnapshotARN</a> - The Amazon Resource Name (ARN) for the DB
--   snapshot.</li>
--   <li><a>dsMasterUsername</a> - Provides the master username for the DB
--   snapshot.</li>
--   <li><a>dsSourceRegion</a> - The AWS Region that the DB snapshot was
--   created in or copied from.</li>
--   <li><a>dsIAMDatabaseAuthenticationEnabled</a> - True if mapping of AWS
--   Identity and Access Management (IAM) accounts to database accounts is
--   enabled, and otherwise false.</li>
--   <li><a>dsIOPS</a> - Specifies the Provisioned IOPS (I/O operations per
--   second) value of the DB instance at the time of the snapshot.</li>
--   <li><a>dsVPCId</a> - Provides the VPC ID associated with the DB
--   snapshot.</li>
--   <li><a>dsInstanceCreateTime</a> - Specifies the time when the snapshot
--   was taken, in Universal Coordinated Time (UTC).</li>
--   <li><a>dsEngine</a> - Specifies the name of the database engine.</li>
--   <li><a>dsEncrypted</a> - Specifies whether the DB snapshot is
--   encrypted.</li>
--   <li><a>dsDBSnapshotIdentifier</a> - Specifies the identifier for the
--   DB snapshot.</li>
--   <li><a>dsLicenseModel</a> - License model information for the restored
--   DB instance.</li>
--   <li><a>dsSourceDBSnapshotIdentifier</a> - The DB snapshot Amazon
--   Resource Name (ARN) that the DB snapshot was copied from. It only has
--   value in case of cross-customer or cross-region copy.</li>
--   <li><a>dsSnapshotType</a> - Provides the type of the DB snapshot.</li>
--   <li><a>dsDBInstanceIdentifier</a> - Specifies the DB instance
--   identifier of the DB instance this DB snapshot was created from.</li>
--   <li><a>dsKMSKeyId</a> - If <tt>Encrypted</tt> is true, the AWS KMS key
--   identifier for the encrypted DB snapshot.</li>
--   <li><a>dsAvailabilityZone</a> - Specifies the name of the Availability
--   Zone the DB instance was located in at the time of the DB
--   snapshot.</li>
--   <li><a>dsSnapshotCreateTime</a> - Provides the time when the snapshot
--   was taken, in Universal Coordinated Time (UTC).</li>
--   <li><a>dsAllocatedStorage</a> - Specifies the allocated storage size
--   in gibibytes (GiB).</li>
--   <li><a>dsOptionGroupName</a> - Provides the option group name for the
--   DB snapshot.</li>
--   <li><a>dsTimezone</a> - The time zone of the DB snapshot. In most
--   cases, the <tt>Timezone</tt> element is empty. <tt>Timezone</tt>
--   content appears only for snapshots taken from Microsoft SQL Server DB
--   instances that were created with a time zone specified.</li>
--   <li><a>dsTDECredentialARN</a> - The ARN from the key store with which
--   to associate the instance for TDE encryption.</li>
--   <li><a>dsPercentProgress</a> - The percentage of the estimated data
--   that has been transferred.</li>
--   <li><a>dsPort</a> - Specifies the port that the database engine was
--   listening on at the time of the snapshot.</li>
--   <li><a>dsStorageType</a> - Specifies the storage type associated with
--   DB snapshot.</li>
--   </ul>
dbSnapshot :: DBSnapshot

-- | Specifies the version of the database engine.
dsEngineVersion :: Lens' DBSnapshot (Maybe Text)

-- | Specifies the status of this DB snapshot.
dsStatus :: Lens' DBSnapshot (Maybe Text)

-- | The Amazon Resource Name (ARN) for the DB snapshot.
dsDBSnapshotARN :: Lens' DBSnapshot (Maybe Text)

-- | Provides the master username for the DB snapshot.
dsMasterUsername :: Lens' DBSnapshot (Maybe Text)

-- | The AWS Region that the DB snapshot was created in or copied from.
dsSourceRegion :: Lens' DBSnapshot (Maybe Text)

-- | True if mapping of AWS Identity and Access Management (IAM) accounts
--   to database accounts is enabled, and otherwise false.
dsIAMDatabaseAuthenticationEnabled :: Lens' DBSnapshot (Maybe Bool)

-- | Specifies the Provisioned IOPS (I/O operations per second) value of
--   the DB instance at the time of the snapshot.
dsIOPS :: Lens' DBSnapshot (Maybe Int)

-- | Provides the VPC ID associated with the DB snapshot.
dsVPCId :: Lens' DBSnapshot (Maybe Text)

-- | Specifies the time when the snapshot was taken, in Universal
--   Coordinated Time (UTC).
dsInstanceCreateTime :: Lens' DBSnapshot (Maybe UTCTime)

-- | Specifies the name of the database engine.
dsEngine :: Lens' DBSnapshot (Maybe Text)

-- | Specifies whether the DB snapshot is encrypted.
dsEncrypted :: Lens' DBSnapshot (Maybe Bool)

-- | Specifies the identifier for the DB snapshot.
dsDBSnapshotIdentifier :: Lens' DBSnapshot (Maybe Text)

-- | License model information for the restored DB instance.
dsLicenseModel :: Lens' DBSnapshot (Maybe Text)

-- | The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was
--   copied from. It only has value in case of cross-customer or
--   cross-region copy.
dsSourceDBSnapshotIdentifier :: Lens' DBSnapshot (Maybe Text)

-- | Provides the type of the DB snapshot.
dsSnapshotType :: Lens' DBSnapshot (Maybe Text)

-- | Specifies the DB instance identifier of the DB instance this DB
--   snapshot was created from.
dsDBInstanceIdentifier :: Lens' DBSnapshot (Maybe Text)

-- | If <tt>Encrypted</tt> is true, the AWS KMS key identifier for the
--   encrypted DB snapshot.
dsKMSKeyId :: Lens' DBSnapshot (Maybe Text)

-- | Specifies the name of the Availability Zone the DB instance was
--   located in at the time of the DB snapshot.
dsAvailabilityZone :: Lens' DBSnapshot (Maybe Text)

-- | Provides the time when the snapshot was taken, in Universal
--   Coordinated Time (UTC).
dsSnapshotCreateTime :: Lens' DBSnapshot (Maybe UTCTime)

-- | Specifies the allocated storage size in gibibytes (GiB).
dsAllocatedStorage :: Lens' DBSnapshot (Maybe Int)

-- | Provides the option group name for the DB snapshot.
dsOptionGroupName :: Lens' DBSnapshot (Maybe Text)

-- | The time zone of the DB snapshot. In most cases, the <tt>Timezone</tt>
--   element is empty. <tt>Timezone</tt> content appears only for snapshots
--   taken from Microsoft SQL Server DB instances that were created with a
--   time zone specified.
dsTimezone :: Lens' DBSnapshot (Maybe Text)

-- | The ARN from the key store with which to associate the instance for
--   TDE encryption.
dsTDECredentialARN :: Lens' DBSnapshot (Maybe Text)

-- | The percentage of the estimated data that has been transferred.
dsPercentProgress :: Lens' DBSnapshot (Maybe Int)

-- | Specifies the port that the database engine was listening on at the
--   time of the snapshot.
dsPort :: Lens' DBSnapshot (Maybe Int)

-- | Specifies the storage type associated with DB snapshot.
dsStorageType :: Lens' DBSnapshot (Maybe Text)

-- | Contains the name and values of a manual DB snapshot attribute
--   
--   Manual DB snapshot attributes are used to authorize other AWS accounts
--   to restore a manual DB snapshot. For more information, see the
--   <tt>ModifyDBSnapshotAttribute</tt> API.
--   
--   <i>See:</i> <a>dbSnapshotAttribute</a> smart constructor.
data DBSnapshotAttribute

-- | Creates a value of <a>DBSnapshotAttribute</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsaAttributeValues</a> - The value or values for the manual DB
--   snapshot attribute. If the <tt>AttributeName</tt> field is set to
--   <tt>restore</tt> , then this element returns a list of IDs of the AWS
--   accounts that are authorized to copy or restore the manual DB
--   snapshot. If a value of <tt>all</tt> is in the list, then the manual
--   DB snapshot is public and available for any AWS account to copy or
--   restore.</li>
--   <li><a>dsaAttributeName</a> - The name of the manual DB snapshot
--   attribute. The attribute named <tt>restore</tt> refers to the list of
--   AWS accounts that have permission to copy or restore the manual DB
--   cluster snapshot. For more information, see the
--   <tt>ModifyDBSnapshotAttribute</tt> API action.</li>
--   </ul>
dbSnapshotAttribute :: DBSnapshotAttribute

-- | The value or values for the manual DB snapshot attribute. If the
--   <tt>AttributeName</tt> field is set to <tt>restore</tt> , then this
--   element returns a list of IDs of the AWS accounts that are authorized
--   to copy or restore the manual DB snapshot. If a value of <tt>all</tt>
--   is in the list, then the manual DB snapshot is public and available
--   for any AWS account to copy or restore.
dsaAttributeValues :: Lens' DBSnapshotAttribute [Text]

-- | The name of the manual DB snapshot attribute. The attribute named
--   <tt>restore</tt> refers to the list of AWS accounts that have
--   permission to copy or restore the manual DB cluster snapshot. For more
--   information, see the <tt>ModifyDBSnapshotAttribute</tt> API action.
dsaAttributeName :: Lens' DBSnapshotAttribute (Maybe Text)

-- | Contains the results of a successful call to the
--   <tt>DescribeDBSnapshotAttributes</tt> API action.
--   
--   Manual DB snapshot attributes are used to authorize other AWS accounts
--   to copy or restore a manual DB snapshot. For more information, see the
--   <tt>ModifyDBSnapshotAttribute</tt> API action.
--   
--   <i>See:</i> <a>dbSnapshotAttributesResult</a> smart constructor.
data DBSnapshotAttributesResult

-- | Creates a value of <a>DBSnapshotAttributesResult</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsarDBSnapshotIdentifier</a> - The identifier of the manual DB
--   snapshot that the attributes apply to.</li>
--   <li><a>dsarDBSnapshotAttributes</a> - The list of attributes and
--   values for the manual DB snapshot.</li>
--   </ul>
dbSnapshotAttributesResult :: DBSnapshotAttributesResult

-- | The identifier of the manual DB snapshot that the attributes apply to.
dsarDBSnapshotIdentifier :: Lens' DBSnapshotAttributesResult (Maybe Text)

-- | The list of attributes and values for the manual DB snapshot.
dsarDBSnapshotAttributes :: Lens' DBSnapshotAttributesResult [DBSnapshotAttribute]

-- | Contains the details of an Amazon RDS DB subnet group.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBSubnetGroups</tt> action.
--   
--   <i>See:</i> <a>dbSubnetGroup</a> smart constructor.
data DBSubnetGroup

-- | Creates a value of <a>DBSubnetGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsgDBSubnetGroupName</a> - The name of the DB subnet
--   group.</li>
--   <li><a>dsgVPCId</a> - Provides the VpcId of the DB subnet group.</li>
--   <li><a>dsgSubnets</a> - Contains a list of <a>Subnet</a>
--   elements.</li>
--   <li><a>dsgDBSubnetGroupDescription</a> - Provides the description of
--   the DB subnet group.</li>
--   <li><a>dsgDBSubnetGroupARN</a> - The Amazon Resource Name (ARN) for
--   the DB subnet group.</li>
--   <li><a>dsgSubnetGroupStatus</a> - Provides the status of the DB subnet
--   group.</li>
--   </ul>
dbSubnetGroup :: DBSubnetGroup

-- | The name of the DB subnet group.
dsgDBSubnetGroupName :: Lens' DBSubnetGroup (Maybe Text)

-- | Provides the VpcId of the DB subnet group.
dsgVPCId :: Lens' DBSubnetGroup (Maybe Text)

-- | Contains a list of <a>Subnet</a> elements.
dsgSubnets :: Lens' DBSubnetGroup [Subnet]

-- | Provides the description of the DB subnet group.
dsgDBSubnetGroupDescription :: Lens' DBSubnetGroup (Maybe Text)

-- | The Amazon Resource Name (ARN) for the DB subnet group.
dsgDBSubnetGroupARN :: Lens' DBSubnetGroup (Maybe Text)

-- | Provides the status of the DB subnet group.
dsgSubnetGroupStatus :: Lens' DBSubnetGroup (Maybe Text)

-- | This data type is used as a response element to
--   <tt>DescribeDBLogFiles</tt> .
--   
--   <i>See:</i> <a>describeDBLogFilesDetails</a> smart constructor.
data DescribeDBLogFilesDetails

-- | Creates a value of <a>DescribeDBLogFilesDetails</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddlfdLastWritten</a> - A POSIX timestamp when the last log
--   entry was written.</li>
--   <li><a>ddlfdSize</a> - The size, in bytes, of the log file for the
--   specified DB instance.</li>
--   <li><a>ddlfdLogFileName</a> - The name of the log file for the
--   specified DB instance.</li>
--   </ul>
describeDBLogFilesDetails :: DescribeDBLogFilesDetails

-- | A POSIX timestamp when the last log entry was written.
ddlfdLastWritten :: Lens' DescribeDBLogFilesDetails (Maybe Integer)

-- | The size, in bytes, of the log file for the specified DB instance.
ddlfdSize :: Lens' DescribeDBLogFilesDetails (Maybe Integer)

-- | The name of the log file for the specified DB instance.
ddlfdLogFileName :: Lens' DescribeDBLogFilesDetails (Maybe Text)

-- | An Active Directory Domain membership record associated with the DB
--   instance.
--   
--   <i>See:</i> <a>domainMembership</a> smart constructor.
data DomainMembership

-- | Creates a value of <a>DomainMembership</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmStatus</a> - The status of the DB instance's Active Directory
--   Domain membership, such as joined, pending-join, failed etc).</li>
--   <li><a>dmFQDN</a> - The fully qualified domain name of the Active
--   Directory Domain.</li>
--   <li><a>dmDomain</a> - The identifier of the Active Directory
--   Domain.</li>
--   <li><a>dmIAMRoleName</a> - The name of the IAM role to be used when
--   making API calls to the Directory Service.</li>
--   </ul>
domainMembership :: DomainMembership

-- | The status of the DB instance's Active Directory Domain membership,
--   such as joined, pending-join, failed etc).
dmStatus :: Lens' DomainMembership (Maybe Text)

-- | The fully qualified domain name of the Active Directory Domain.
dmFQDN :: Lens' DomainMembership (Maybe Text)

-- | The identifier of the Active Directory Domain.
dmDomain :: Lens' DomainMembership (Maybe Text)

-- | The name of the IAM role to be used when making API calls to the
--   Directory Service.
dmIAMRoleName :: Lens' DomainMembership (Maybe Text)

-- | A range of double values.
--   
--   <i>See:</i> <a>doubleRange</a> smart constructor.
data DoubleRange

-- | Creates a value of <a>DoubleRange</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drTo</a> - The maximum value in the range.</li>
--   <li><a>drFrom</a> - The minimum value in the range.</li>
--   </ul>
doubleRange :: DoubleRange

-- | The maximum value in the range.
drTo :: Lens' DoubleRange (Maybe Double)

-- | The minimum value in the range.
drFrom :: Lens' DoubleRange (Maybe Double)

-- | This data type is used as a response element in the following actions:
--   
--   <ul>
--   <li><tt>AuthorizeDBSecurityGroupIngress</tt></li>
--   <li><tt>DescribeDBSecurityGroups</tt></li>
--   <li><tt>RevokeDBSecurityGroupIngress</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>ec2SecurityGroup</a> smart constructor.
data EC2SecurityGroup

-- | Creates a value of <a>EC2SecurityGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esgStatus</a> - Provides the status of the EC2 security group.
--   Status can be "authorizing", "authorized", "revoking", and
--   "revoked".</li>
--   <li><a>esgEC2SecurityGroupOwnerId</a> - Specifies the AWS ID of the
--   owner of the EC2 security group specified in the
--   <tt>EC2SecurityGroupName</tt> field.</li>
--   <li><a>esgEC2SecurityGroupName</a> - Specifies the name of the EC2
--   security group.</li>
--   <li><a>esgEC2SecurityGroupId</a> - Specifies the id of the EC2
--   security group.</li>
--   </ul>
ec2SecurityGroup :: EC2SecurityGroup

-- | Provides the status of the EC2 security group. Status can be
--   "authorizing", "authorized", "revoking", and "revoked".
esgStatus :: Lens' EC2SecurityGroup (Maybe Text)

-- | Specifies the AWS ID of the owner of the EC2 security group specified
--   in the <tt>EC2SecurityGroupName</tt> field.
esgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)

-- | Specifies the name of the EC2 security group.
esgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)

-- | Specifies the id of the EC2 security group.
esgEC2SecurityGroupId :: Lens' EC2SecurityGroup (Maybe Text)

-- | This data type is used as a response element in the following actions:
--   
--   <ul>
--   <li><tt>CreateDBInstance</tt></li>
--   <li><tt>DescribeDBInstances</tt></li>
--   <li><tt>DeleteDBInstance</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>endpoint</a> smart constructor.
data Endpoint

-- | Creates a value of <a>Endpoint</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eHostedZoneId</a> - Specifies the ID that Amazon Route 53
--   assigns when you create a hosted zone.</li>
--   <li><a>eAddress</a> - Specifies the DNS address of the DB
--   instance.</li>
--   <li><a>ePort</a> - Specifies the port that the database engine is
--   listening on.</li>
--   </ul>
endpoint :: Endpoint

-- | Specifies the ID that Amazon Route 53 assigns when you create a hosted
--   zone.
eHostedZoneId :: Lens' Endpoint (Maybe Text)

-- | Specifies the DNS address of the DB instance.
eAddress :: Lens' Endpoint (Maybe Text)

-- | Specifies the port that the database engine is listening on.
ePort :: Lens' Endpoint (Maybe Int)

-- | Contains the result of a successful invocation of the
--   <tt>DescribeEngineDefaultParameters</tt> action.
--   
--   <i>See:</i> <a>engineDefaults</a> smart constructor.
data EngineDefaults

-- | Creates a value of <a>EngineDefaults</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edDBParameterGroupFamily</a> - Specifies the name of the DB
--   parameter group family that the engine default parameters apply
--   to.</li>
--   <li><a>edMarker</a> - An optional pagination token provided by a
--   previous EngineDefaults request. If this parameter is specified, the
--   response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .</li>
--   <li><a>edParameters</a> - Contains a list of engine default
--   parameters.</li>
--   </ul>
engineDefaults :: EngineDefaults

-- | Specifies the name of the DB parameter group family that the engine
--   default parameters apply to.
edDBParameterGroupFamily :: Lens' EngineDefaults (Maybe Text)

-- | An optional pagination token provided by a previous EngineDefaults
--   request. If this parameter is specified, the response includes only
--   records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .
edMarker :: Lens' EngineDefaults (Maybe Text)

-- | Contains a list of engine default parameters.
edParameters :: Lens' EngineDefaults [Parameter]

-- | This data type is used as a response element in the
--   <tt>DescribeEvents</tt> action.
--   
--   <i>See:</i> <a>event</a> smart constructor.
data Event

-- | Creates a value of <a>Event</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eSourceType</a> - Specifies the source type for this
--   event.</li>
--   <li><a>eSourceARN</a> - The Amazon Resource Name (ARN) for the
--   event.</li>
--   <li><a>eSourceIdentifier</a> - Provides the identifier for the source
--   of the event.</li>
--   <li><a>eDate</a> - Specifies the date and time of the event.</li>
--   <li><a>eEventCategories</a> - Specifies the category for the
--   event.</li>
--   <li><a>eMessage</a> - Provides the text of this event.</li>
--   </ul>
event :: Event

-- | Specifies the source type for this event.
eSourceType :: Lens' Event (Maybe SourceType)

-- | The Amazon Resource Name (ARN) for the event.
eSourceARN :: Lens' Event (Maybe Text)

-- | Provides the identifier for the source of the event.
eSourceIdentifier :: Lens' Event (Maybe Text)

-- | Specifies the date and time of the event.
eDate :: Lens' Event (Maybe UTCTime)

-- | Specifies the category for the event.
eEventCategories :: Lens' Event [Text]

-- | Provides the text of this event.
eMessage :: Lens' Event (Maybe Text)

-- | Contains the results of a successful invocation of the
--   <tt>DescribeEventCategories</tt> action.
--   
--   <i>See:</i> <a>eventCategoriesMap</a> smart constructor.
data EventCategoriesMap

-- | Creates a value of <a>EventCategoriesMap</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ecmSourceType</a> - The source type that the returned
--   categories belong to</li>
--   <li><a>ecmEventCategories</a> - The event categories for the specified
--   source type</li>
--   </ul>
eventCategoriesMap :: EventCategoriesMap

-- | The source type that the returned categories belong to
ecmSourceType :: Lens' EventCategoriesMap (Maybe Text)

-- | The event categories for the specified source type
ecmEventCategories :: Lens' EventCategoriesMap [Text]

-- | Contains the results of a successful invocation of the
--   <tt>DescribeEventSubscriptions</tt> action.
--   
--   <i>See:</i> <a>eventSubscription</a> smart constructor.
data EventSubscription

-- | Creates a value of <a>EventSubscription</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esStatus</a> - The status of the RDS event notification
--   subscription. Constraints: Can be one of the following: creating |
--   modifying | deleting | active | no-permission | topic-not-exist The
--   status "no-permission" indicates that RDS no longer has permission to
--   post to the SNS topic. The status "topic-not-exist" indicates that the
--   topic was deleted after the subscription was created.</li>
--   <li><a>esCustomerAWSId</a> - The AWS customer account associated with
--   the RDS event notification subscription.</li>
--   <li><a>esCustSubscriptionId</a> - The RDS event notification
--   subscription Id.</li>
--   <li><a>esSNSTopicARN</a> - The topic ARN of the RDS event notification
--   subscription.</li>
--   <li><a>esEventSubscriptionARN</a> - The Amazon Resource Name (ARN) for
--   the event subscription.</li>
--   <li><a>esEnabled</a> - A Boolean value indicating if the subscription
--   is enabled. True indicates the subscription is enabled.</li>
--   <li><a>esSourceType</a> - The source type for the RDS event
--   notification subscription.</li>
--   <li><a>esSubscriptionCreationTime</a> - The time the RDS event
--   notification subscription was created.</li>
--   <li><a>esEventCategoriesList</a> - A list of event categories for the
--   RDS event notification subscription.</li>
--   <li><a>esSourceIdsList</a> - A list of source IDs for the RDS event
--   notification subscription.</li>
--   </ul>
eventSubscription :: EventSubscription

-- | The status of the RDS event notification subscription. Constraints:
--   Can be one of the following: creating | modifying | deleting | active
--   | no-permission | topic-not-exist The status "no-permission" indicates
--   that RDS no longer has permission to post to the SNS topic. The status
--   "topic-not-exist" indicates that the topic was deleted after the
--   subscription was created.
esStatus :: Lens' EventSubscription (Maybe Text)

-- | The AWS customer account associated with the RDS event notification
--   subscription.
esCustomerAWSId :: Lens' EventSubscription (Maybe Text)

-- | The RDS event notification subscription Id.
esCustSubscriptionId :: Lens' EventSubscription (Maybe Text)

-- | The topic ARN of the RDS event notification subscription.
esSNSTopicARN :: Lens' EventSubscription (Maybe Text)

-- | The Amazon Resource Name (ARN) for the event subscription.
esEventSubscriptionARN :: Lens' EventSubscription (Maybe Text)

-- | A Boolean value indicating if the subscription is enabled. True
--   indicates the subscription is enabled.
esEnabled :: Lens' EventSubscription (Maybe Bool)

-- | The source type for the RDS event notification subscription.
esSourceType :: Lens' EventSubscription (Maybe Text)

-- | The time the RDS event notification subscription was created.
esSubscriptionCreationTime :: Lens' EventSubscription (Maybe Text)

-- | A list of event categories for the RDS event notification
--   subscription.
esEventCategoriesList :: Lens' EventSubscription [Text]

-- | A list of source IDs for the RDS event notification subscription.
esSourceIdsList :: Lens' EventSubscription [Text]

-- | A filter name and value pair that is used to return a more specific
--   list of results from a describe operation. Filters can be used to
--   match a set of resources by specific criteria, such as IDs. The
--   filters supported by a describe operation are documented with the
--   describe operation.
--   
--   The following actions can be filtered:
--   
--   <ul>
--   <li><tt>DescribeDBClusterBacktracks</tt></li>
--   <li><tt>DescribeDBClusters</tt></li>
--   <li><tt>DescribeDBInstances</tt></li>
--   <li><tt>DescribePendingMaintenanceActions</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>filter'</a> smart constructor.
data Filter

-- | Creates a value of <a>Filter</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fName</a> - The name of the filter. Filter names are
--   case-sensitive.</li>
--   <li><a>fValues</a> - One or more filter values. Filter values are
--   case-sensitive.</li>
--   </ul>
filter' :: Text -> Filter

-- | The name of the filter. Filter names are case-sensitive.
fName :: Lens' Filter Text

-- | One or more filter values. Filter values are case-sensitive.
fValues :: Lens' Filter [Text]

-- | This data type is used as a response element in the
--   <tt>DescribeDBSecurityGroups</tt> action.
--   
--   <i>See:</i> <a>ipRange</a> smart constructor.
data IPRange

-- | Creates a value of <a>IPRange</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irStatus</a> - Specifies the status of the IP range. Status can
--   be "authorizing", "authorized", "revoking", and "revoked".</li>
--   <li><a>irCIdRIP</a> - Specifies the IP range.</li>
--   </ul>
ipRange :: IPRange

-- | Specifies the status of the IP range. Status can be "authorizing",
--   "authorized", "revoking", and "revoked".
irStatus :: Lens' IPRange (Maybe Text)

-- | Specifies the IP range.
irCIdRIP :: Lens' IPRange (Maybe Text)

-- | Option details.
--   
--   <i>See:</i> <a>option</a> smart constructor.
data Option

-- | Creates a value of <a>Option</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oOptionName</a> - The name of the option.</li>
--   <li><a>oPermanent</a> - Indicate if this option is permanent.</li>
--   <li><a>oPersistent</a> - Indicate if this option is persistent.</li>
--   <li><a>oOptionDescription</a> - The description of the option.</li>
--   <li><a>oOptionSettings</a> - The option settings for this option.</li>
--   <li><a>oVPCSecurityGroupMemberships</a> - If the option requires
--   access to a port, then this VPC security group allows access to the
--   port.</li>
--   <li><a>oDBSecurityGroupMemberships</a> - If the option requires access
--   to a port, then this DB security group allows access to the port.</li>
--   <li><a>oOptionVersion</a> - The version of the option.</li>
--   <li><a>oPort</a> - If required, the port configured for this option to
--   use.</li>
--   </ul>
option :: Option

-- | The name of the option.
oOptionName :: Lens' Option (Maybe Text)

-- | Indicate if this option is permanent.
oPermanent :: Lens' Option (Maybe Bool)

-- | Indicate if this option is persistent.
oPersistent :: Lens' Option (Maybe Bool)

-- | The description of the option.
oOptionDescription :: Lens' Option (Maybe Text)

-- | The option settings for this option.
oOptionSettings :: Lens' Option [OptionSetting]

-- | If the option requires access to a port, then this VPC security group
--   allows access to the port.
oVPCSecurityGroupMemberships :: Lens' Option [VPCSecurityGroupMembership]

-- | If the option requires access to a port, then this DB security group
--   allows access to the port.
oDBSecurityGroupMemberships :: Lens' Option [DBSecurityGroupMembership]

-- | The version of the option.
oOptionVersion :: Lens' Option (Maybe Text)

-- | If required, the port configured for this option to use.
oPort :: Lens' Option (Maybe Int)

-- | A list of all available options
--   
--   <i>See:</i> <a>optionConfiguration</a> smart constructor.
data OptionConfiguration

-- | Creates a value of <a>OptionConfiguration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocOptionSettings</a> - The option settings to include in an
--   option group.</li>
--   <li><a>ocVPCSecurityGroupMemberships</a> - A list of
--   VpcSecurityGroupMemebrship name strings used for this option.</li>
--   <li><a>ocDBSecurityGroupMemberships</a> - A list of
--   DBSecurityGroupMemebrship name strings used for this option.</li>
--   <li><a>ocOptionVersion</a> - The version for the option.</li>
--   <li><a>ocPort</a> - The optional port for the option.</li>
--   <li><a>ocOptionName</a> - The configuration of options to include in a
--   group.</li>
--   </ul>
optionConfiguration :: Text -> OptionConfiguration

-- | The option settings to include in an option group.
ocOptionSettings :: Lens' OptionConfiguration [OptionSetting]

-- | A list of VpcSecurityGroupMemebrship name strings used for this
--   option.
ocVPCSecurityGroupMemberships :: Lens' OptionConfiguration [Text]

-- | A list of DBSecurityGroupMemebrship name strings used for this option.
ocDBSecurityGroupMemberships :: Lens' OptionConfiguration [Text]

-- | The version for the option.
ocOptionVersion :: Lens' OptionConfiguration (Maybe Text)

-- | The optional port for the option.
ocPort :: Lens' OptionConfiguration (Maybe Int)

-- | The configuration of options to include in a group.
ocOptionName :: Lens' OptionConfiguration Text

-- | <i>See:</i> <a>optionGroup</a> smart constructor.
data OptionGroup

-- | Creates a value of <a>OptionGroup</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogOptionGroupDescription</a> - Provides a description of the
--   option group.</li>
--   <li><a>ogVPCId</a> - If <b>AllowsVpcAndNonVpcInstanceMemberships</b>
--   is <tt>false</tt> , this field is blank. If
--   <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <tt>true</tt> and this
--   field is blank, then this option group can be applied to both VPC and
--   non-VPC instances. If this field contains a value, then this option
--   group can only be applied to instances that are in the VPC indicated
--   by this field.</li>
--   <li><a>ogAllowsVPCAndNonVPCInstanceMemberships</a> - Indicates whether
--   this option group can be applied to both VPC and non-VPC instances.
--   The value <tt>true</tt> indicates the option group can be applied to
--   both VPC and non-VPC instances.</li>
--   <li><a>ogEngineName</a> - Indicates the name of the engine that this
--   option group can be applied to.</li>
--   <li><a>ogOptionGroupARN</a> - The Amazon Resource Name (ARN) for the
--   option group.</li>
--   <li><a>ogMajorEngineVersion</a> - Indicates the major engine version
--   associated with this option group.</li>
--   <li><a>ogOptions</a> - Indicates what options are available in the
--   option group.</li>
--   <li><a>ogOptionGroupName</a> - Specifies the name of the option
--   group.</li>
--   </ul>
optionGroup :: OptionGroup

-- | Provides a description of the option group.
ogOptionGroupDescription :: Lens' OptionGroup (Maybe Text)

-- | If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <tt>false</tt> ,
--   this field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b>
--   is <tt>true</tt> and this field is blank, then this option group can
--   be applied to both VPC and non-VPC instances. If this field contains a
--   value, then this option group can only be applied to instances that
--   are in the VPC indicated by this field.
ogVPCId :: Lens' OptionGroup (Maybe Text)

-- | Indicates whether this option group can be applied to both VPC and
--   non-VPC instances. The value <tt>true</tt> indicates the option group
--   can be applied to both VPC and non-VPC instances.
ogAllowsVPCAndNonVPCInstanceMemberships :: Lens' OptionGroup (Maybe Bool)

-- | Indicates the name of the engine that this option group can be applied
--   to.
ogEngineName :: Lens' OptionGroup (Maybe Text)

-- | The Amazon Resource Name (ARN) for the option group.
ogOptionGroupARN :: Lens' OptionGroup (Maybe Text)

-- | Indicates the major engine version associated with this option group.
ogMajorEngineVersion :: Lens' OptionGroup (Maybe Text)

-- | Indicates what options are available in the option group.
ogOptions :: Lens' OptionGroup [Option]

-- | Specifies the name of the option group.
ogOptionGroupName :: Lens' OptionGroup (Maybe Text)

-- | Provides information on the option groups the DB instance is a member
--   of.
--   
--   <i>See:</i> <a>optionGroupMembership</a> smart constructor.
data OptionGroupMembership

-- | Creates a value of <a>OptionGroupMembership</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogmStatus</a> - The status of the DB instance's option group
--   membership. Valid values are: <tt>in-sync</tt> ,
--   <tt>pending-apply</tt> , <tt>pending-removal</tt> ,
--   <tt>pending-maintenance-apply</tt> ,
--   <tt>pending-maintenance-removal</tt> , <tt>applying</tt> ,
--   <tt>removing</tt> , and <tt>failed</tt> .</li>
--   <li><a>ogmOptionGroupName</a> - The name of the option group that the
--   instance belongs to.</li>
--   </ul>
optionGroupMembership :: OptionGroupMembership

-- | The status of the DB instance's option group membership. Valid values
--   are: <tt>in-sync</tt> , <tt>pending-apply</tt> ,
--   <tt>pending-removal</tt> , <tt>pending-maintenance-apply</tt> ,
--   <tt>pending-maintenance-removal</tt> , <tt>applying</tt> ,
--   <tt>removing</tt> , and <tt>failed</tt> .
ogmStatus :: Lens' OptionGroupMembership (Maybe Text)

-- | The name of the option group that the instance belongs to.
ogmOptionGroupName :: Lens' OptionGroupMembership (Maybe Text)

-- | Available option.
--   
--   <i>See:</i> <a>optionGroupOption</a> smart constructor.
data OptionGroupOption

-- | Creates a value of <a>OptionGroupOption</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogoMinimumRequiredMinorEngineVersion</a> - The minimum required
--   engine version for the option to be applied.</li>
--   <li><a>ogoOptionsConflictsWith</a> - The options that conflict with
--   this option.</li>
--   <li><a>ogoPermanent</a> - Permanent options can never be removed from
--   an option group. An option group containing a permanent option can't
--   be removed from a DB instance.</li>
--   <li><a>ogoPersistent</a> - Persistent options can't be removed from an
--   option group while DB instances are associated with the option group.
--   If you disassociate all DB instances from the option group, your can
--   remove the persistent option from the option group.</li>
--   <li><a>ogoOptionGroupOptionVersions</a> - The versions that are
--   available for the option.</li>
--   <li><a>ogoEngineName</a> - The name of the engine that this option can
--   be applied to.</li>
--   <li><a>ogoMajorEngineVersion</a> - Indicates the major engine version
--   that the option is available for.</li>
--   <li><a>ogoName</a> - The name of the option.</li>
--   <li><a>ogoSupportsOptionVersionDowngrade</a> - If true, you can change
--   the option to an earlier version of the option. This only applies to
--   options that have different versions available.</li>
--   <li><a>ogoDefaultPort</a> - If the option requires a port, specifies
--   the default port for the option.</li>
--   <li><a>ogoOptionGroupOptionSettings</a> - The option settings that are
--   available (and the default value) for each option in an option
--   group.</li>
--   <li><a>ogoRequiresAutoMinorEngineVersionUpgrade</a> - If true, you
--   must enable the Auto Minor Version Upgrade setting for your DB
--   instance before you can use this option. You can enable Auto Minor
--   Version Upgrade when you first create your DB instance, or by
--   modifying your DB instance later.</li>
--   <li><a>ogoPortRequired</a> - Specifies whether the option requires a
--   port.</li>
--   <li><a>ogoDescription</a> - The description of the option.</li>
--   <li><a>ogoOptionsDependedOn</a> - The options that are prerequisites
--   for this option.</li>
--   <li><a>ogoVPCOnly</a> - If true, you can only use this option with a
--   DB instance that is in a VPC.</li>
--   </ul>
optionGroupOption :: OptionGroupOption

-- | The minimum required engine version for the option to be applied.
ogoMinimumRequiredMinorEngineVersion :: Lens' OptionGroupOption (Maybe Text)

-- | The options that conflict with this option.
ogoOptionsConflictsWith :: Lens' OptionGroupOption [Text]

-- | Permanent options can never be removed from an option group. An option
--   group containing a permanent option can't be removed from a DB
--   instance.
ogoPermanent :: Lens' OptionGroupOption (Maybe Bool)

-- | Persistent options can't be removed from an option group while DB
--   instances are associated with the option group. If you disassociate
--   all DB instances from the option group, your can remove the persistent
--   option from the option group.
ogoPersistent :: Lens' OptionGroupOption (Maybe Bool)

-- | The versions that are available for the option.
ogoOptionGroupOptionVersions :: Lens' OptionGroupOption [OptionVersion]

-- | The name of the engine that this option can be applied to.
ogoEngineName :: Lens' OptionGroupOption (Maybe Text)

-- | Indicates the major engine version that the option is available for.
ogoMajorEngineVersion :: Lens' OptionGroupOption (Maybe Text)

-- | The name of the option.
ogoName :: Lens' OptionGroupOption (Maybe Text)

-- | If true, you can change the option to an earlier version of the
--   option. This only applies to options that have different versions
--   available.
ogoSupportsOptionVersionDowngrade :: Lens' OptionGroupOption (Maybe Bool)

-- | If the option requires a port, specifies the default port for the
--   option.
ogoDefaultPort :: Lens' OptionGroupOption (Maybe Int)

-- | The option settings that are available (and the default value) for
--   each option in an option group.
ogoOptionGroupOptionSettings :: Lens' OptionGroupOption [OptionGroupOptionSetting]

-- | If true, you must enable the Auto Minor Version Upgrade setting for
--   your DB instance before you can use this option. You can enable Auto
--   Minor Version Upgrade when you first create your DB instance, or by
--   modifying your DB instance later.
ogoRequiresAutoMinorEngineVersionUpgrade :: Lens' OptionGroupOption (Maybe Bool)

-- | Specifies whether the option requires a port.
ogoPortRequired :: Lens' OptionGroupOption (Maybe Bool)

-- | The description of the option.
ogoDescription :: Lens' OptionGroupOption (Maybe Text)

-- | The options that are prerequisites for this option.
ogoOptionsDependedOn :: Lens' OptionGroupOption [Text]

-- | If true, you can only use this option with a DB instance that is in a
--   VPC.
ogoVPCOnly :: Lens' OptionGroupOption (Maybe Bool)

-- | Option group option settings are used to display settings available
--   for each option with their default values and other information. These
--   values are used with the DescribeOptionGroupOptions action.
--   
--   <i>See:</i> <a>optionGroupOptionSetting</a> smart constructor.
data OptionGroupOptionSetting

-- | Creates a value of <a>OptionGroupOptionSetting</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogosApplyType</a> - The DB engine specific parameter type for
--   the option group option.</li>
--   <li><a>ogosSettingName</a> - The name of the option group option.</li>
--   <li><a>ogosDefaultValue</a> - The default value for the option group
--   option.</li>
--   <li><a>ogosIsModifiable</a> - Boolean value where true indicates that
--   this option group option can be changed from the default value.</li>
--   <li><a>ogosSettingDescription</a> - The description of the option
--   group option.</li>
--   <li><a>ogosAllowedValues</a> - Indicates the acceptable values for the
--   option group option.</li>
--   </ul>
optionGroupOptionSetting :: OptionGroupOptionSetting

-- | The DB engine specific parameter type for the option group option.
ogosApplyType :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | The name of the option group option.
ogosSettingName :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | The default value for the option group option.
ogosDefaultValue :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | Boolean value where true indicates that this option group option can
--   be changed from the default value.
ogosIsModifiable :: Lens' OptionGroupOptionSetting (Maybe Bool)

-- | The description of the option group option.
ogosSettingDescription :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | Indicates the acceptable values for the option group option.
ogosAllowedValues :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | Option settings are the actual settings being applied or configured
--   for that option. It is used when you modify an option group or
--   describe option groups. For example, the NATIVE_NETWORK_ENCRYPTION
--   option has a setting called SQLNET.ENCRYPTION_SERVER that can have
--   several different values.
--   
--   <i>See:</i> <a>optionSetting</a> smart constructor.
data OptionSetting

-- | Creates a value of <a>OptionSetting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osIsCollection</a> - Indicates if the option setting is part of
--   a collection.</li>
--   <li><a>osApplyType</a> - The DB engine specific parameter type.</li>
--   <li><a>osValue</a> - The current value of the option setting.</li>
--   <li><a>osName</a> - The name of the option that has settings that you
--   can set.</li>
--   <li><a>osDefaultValue</a> - The default value of the option
--   setting.</li>
--   <li><a>osIsModifiable</a> - A Boolean value that, when true, indicates
--   the option setting can be modified from the default.</li>
--   <li><a>osDataType</a> - The data type of the option setting.</li>
--   <li><a>osAllowedValues</a> - The allowed values of the option
--   setting.</li>
--   <li><a>osDescription</a> - The description of the option setting.</li>
--   </ul>
optionSetting :: OptionSetting

-- | Indicates if the option setting is part of a collection.
osIsCollection :: Lens' OptionSetting (Maybe Bool)

-- | The DB engine specific parameter type.
osApplyType :: Lens' OptionSetting (Maybe Text)

-- | The current value of the option setting.
osValue :: Lens' OptionSetting (Maybe Text)

-- | The name of the option that has settings that you can set.
osName :: Lens' OptionSetting (Maybe Text)

-- | The default value of the option setting.
osDefaultValue :: Lens' OptionSetting (Maybe Text)

-- | A Boolean value that, when true, indicates the option setting can be
--   modified from the default.
osIsModifiable :: Lens' OptionSetting (Maybe Bool)

-- | The data type of the option setting.
osDataType :: Lens' OptionSetting (Maybe Text)

-- | The allowed values of the option setting.
osAllowedValues :: Lens' OptionSetting (Maybe Text)

-- | The description of the option setting.
osDescription :: Lens' OptionSetting (Maybe Text)

-- | The version for an option. Option group option versions are returned
--   by the <tt>DescribeOptionGroupOptions</tt> action.
--   
--   <i>See:</i> <a>optionVersion</a> smart constructor.
data OptionVersion

-- | Creates a value of <a>OptionVersion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ovVersion</a> - The version of the option.</li>
--   <li><a>ovIsDefault</a> - True if the version is the default version of
--   the option, and otherwise false.</li>
--   </ul>
optionVersion :: OptionVersion

-- | The version of the option.
ovVersion :: Lens' OptionVersion (Maybe Text)

-- | True if the version is the default version of the option, and
--   otherwise false.
ovIsDefault :: Lens' OptionVersion (Maybe Bool)

-- | Contains a list of available options for a DB instance.
--   
--   This data type is used as a response element in the
--   <tt>DescribeOrderableDBInstanceOptions</tt> action.
--   
--   <i>See:</i> <a>orderableDBInstanceOption</a> smart constructor.
data OrderableDBInstanceOption

-- | Creates a value of <a>OrderableDBInstanceOption</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>odioEngineVersion</a> - The engine version of a DB
--   instance.</li>
--   <li><a>odioMinIOPSPerGib</a> - Minimum provisioned IOPS per GiB for a
--   DB instance.</li>
--   <li><a>odioSupportsIAMDatabaseAuthentication</a> - Indicates whether a
--   DB instance supports IAM database authentication.</li>
--   <li><a>odioMinIOPSPerDBInstance</a> - Minimum total provisioned IOPS
--   for a DB instance.</li>
--   <li><a>odioMultiAZCapable</a> - Indicates whether a DB instance is
--   Multi-AZ capable.</li>
--   <li><a>odioMaxStorageSize</a> - Maximum storage size for a DB
--   instance.</li>
--   <li><a>odioEngine</a> - The engine type of a DB instance.</li>
--   <li><a>odioMinStorageSize</a> - Minimum storage size for a DB
--   instance.</li>
--   <li><a>odioSupportsIOPS</a> - Indicates whether a DB instance supports
--   provisioned IOPS.</li>
--   <li><a>odioSupportsPerformanceInsights</a> - True if a DB instance
--   supports Performance Insights, otherwise false.</li>
--   <li><a>odioDBInstanceClass</a> - The DB instance class for a DB
--   instance.</li>
--   <li><a>odioLicenseModel</a> - The license model for a DB
--   instance.</li>
--   <li><a>odioAvailabilityZones</a> - A list of Availability Zones for a
--   DB instance.</li>
--   <li><a>odioSupportsStorageEncryption</a> - Indicates whether a DB
--   instance supports encrypted storage.</li>
--   <li><a>odioReadReplicaCapable</a> - Indicates whether a DB instance
--   can have a Read Replica.</li>
--   <li><a>odioMaxIOPSPerGib</a> - Maximum provisioned IOPS per GiB for a
--   DB instance.</li>
--   <li><a>odioVPC</a> - Indicates whether a DB instance is in a VPC.</li>
--   <li><a>odioSupportsEnhancedMonitoring</a> - Indicates whether a DB
--   instance supports Enhanced Monitoring at intervals from 1 to 60
--   seconds.</li>
--   <li><a>odioMaxIOPSPerDBInstance</a> - Maximum total provisioned IOPS
--   for a DB instance.</li>
--   <li><a>odioStorageType</a> - Indicates the storage type for a DB
--   instance.</li>
--   </ul>
orderableDBInstanceOption :: OrderableDBInstanceOption

-- | The engine version of a DB instance.
odioEngineVersion :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | Minimum provisioned IOPS per GiB for a DB instance.
odioMinIOPSPerGib :: Lens' OrderableDBInstanceOption (Maybe Double)

-- | Indicates whether a DB instance supports IAM database authentication.
odioSupportsIAMDatabaseAuthentication :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Minimum total provisioned IOPS for a DB instance.
odioMinIOPSPerDBInstance :: Lens' OrderableDBInstanceOption (Maybe Int)

-- | Indicates whether a DB instance is Multi-AZ capable.
odioMultiAZCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Maximum storage size for a DB instance.
odioMaxStorageSize :: Lens' OrderableDBInstanceOption (Maybe Int)

-- | The engine type of a DB instance.
odioEngine :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | Minimum storage size for a DB instance.
odioMinStorageSize :: Lens' OrderableDBInstanceOption (Maybe Int)

-- | Indicates whether a DB instance supports provisioned IOPS.
odioSupportsIOPS :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | True if a DB instance supports Performance Insights, otherwise false.
odioSupportsPerformanceInsights :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | The DB instance class for a DB instance.
odioDBInstanceClass :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | The license model for a DB instance.
odioLicenseModel :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | A list of Availability Zones for a DB instance.
odioAvailabilityZones :: Lens' OrderableDBInstanceOption [AvailabilityZone]

-- | Indicates whether a DB instance supports encrypted storage.
odioSupportsStorageEncryption :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Indicates whether a DB instance can have a Read Replica.
odioReadReplicaCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Maximum provisioned IOPS per GiB for a DB instance.
odioMaxIOPSPerGib :: Lens' OrderableDBInstanceOption (Maybe Double)

-- | Indicates whether a DB instance is in a VPC.
odioVPC :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Indicates whether a DB instance supports Enhanced Monitoring at
--   intervals from 1 to 60 seconds.
odioSupportsEnhancedMonitoring :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Maximum total provisioned IOPS for a DB instance.
odioMaxIOPSPerDBInstance :: Lens' OrderableDBInstanceOption (Maybe Int)

-- | Indicates the storage type for a DB instance.
odioStorageType :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | This data type is used as a request parameter in the
--   <tt>ModifyDBParameterGroup</tt> and <tt>ResetDBParameterGroup</tt>
--   actions.
--   
--   This data type is used as a response element in the
--   <tt>DescribeEngineDefaultParameters</tt> and
--   <tt>DescribeDBParameters</tt> actions.
--   
--   <i>See:</i> <a>parameter</a> smart constructor.
data Parameter

-- | Creates a value of <a>Parameter</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pApplyType</a> - Specifies the engine specific parameters
--   type.</li>
--   <li><a>pParameterValue</a> - Specifies the value of the
--   parameter.</li>
--   <li><a>pApplyMethod</a> - Indicates when to apply parameter
--   updates.</li>
--   <li><a>pMinimumEngineVersion</a> - The earliest engine version to
--   which the parameter can apply.</li>
--   <li><a>pSource</a> - Indicates the source of the parameter value.</li>
--   <li><a>pIsModifiable</a> - Indicates whether (<tt>true</tt> ) or not
--   (<tt>false</tt> ) the parameter can be modified. Some parameters have
--   security or operational implications that prevent them from being
--   changed.</li>
--   <li><a>pDataType</a> - Specifies the valid data type for the
--   parameter.</li>
--   <li><a>pAllowedValues</a> - Specifies the valid range of values for
--   the parameter.</li>
--   <li><a>pParameterName</a> - Specifies the name of the parameter.</li>
--   <li><a>pDescription</a> - Provides a description of the
--   parameter.</li>
--   </ul>
parameter :: Parameter

-- | Specifies the engine specific parameters type.
pApplyType :: Lens' Parameter (Maybe Text)

-- | Specifies the value of the parameter.
pParameterValue :: Lens' Parameter (Maybe Text)

-- | Indicates when to apply parameter updates.
pApplyMethod :: Lens' Parameter (Maybe ApplyMethod)

-- | The earliest engine version to which the parameter can apply.
pMinimumEngineVersion :: Lens' Parameter (Maybe Text)

-- | Indicates the source of the parameter value.
pSource :: Lens' Parameter (Maybe Text)

-- | Indicates whether (<tt>true</tt> ) or not (<tt>false</tt> ) the
--   parameter can be modified. Some parameters have security or
--   operational implications that prevent them from being changed.
pIsModifiable :: Lens' Parameter (Maybe Bool)

-- | Specifies the valid data type for the parameter.
pDataType :: Lens' Parameter (Maybe Text)

-- | Specifies the valid range of values for the parameter.
pAllowedValues :: Lens' Parameter (Maybe Text)

-- | Specifies the name of the parameter.
pParameterName :: Lens' Parameter (Maybe Text)

-- | Provides a description of the parameter.
pDescription :: Lens' Parameter (Maybe Text)

-- | A list of the log types whose configuration is still pending. In other
--   words, these log types are in the process of being activated or
--   deactivated.
--   
--   <i>See:</i> <a>pendingCloudwatchLogsExports</a> smart constructor.
data PendingCloudwatchLogsExports

-- | Creates a value of <a>PendingCloudwatchLogsExports</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcleLogTypesToEnable</a> - Log types that are in the process of
--   being deactivated. After they are deactivated, these log types aren't
--   exported to CloudWatch Logs.</li>
--   <li><a>pcleLogTypesToDisable</a> - Log types that are in the process
--   of being enabled. After they are enabled, these log types are exported
--   to CloudWatch Logs.</li>
--   </ul>
pendingCloudwatchLogsExports :: PendingCloudwatchLogsExports

-- | Log types that are in the process of being deactivated. After they are
--   deactivated, these log types aren't exported to CloudWatch Logs.
pcleLogTypesToEnable :: Lens' PendingCloudwatchLogsExports [Text]

-- | Log types that are in the process of being enabled. After they are
--   enabled, these log types are exported to CloudWatch Logs.
pcleLogTypesToDisable :: Lens' PendingCloudwatchLogsExports [Text]

-- | Provides information about a pending maintenance action for a
--   resource.
--   
--   <i>See:</i> <a>pendingMaintenanceAction</a> smart constructor.
data PendingMaintenanceAction

-- | Creates a value of <a>PendingMaintenanceAction</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pmaAutoAppliedAfterDate</a> - The date of the maintenance
--   window when the action is applied. The maintenance action is applied
--   to the resource during its first maintenance window after this date.
--   If this date is specified, any <tt>next-maintenance</tt> opt-in
--   requests are ignored.</li>
--   <li><a>pmaAction</a> - The type of pending maintenance action that is
--   available for the resource.</li>
--   <li><a>pmaOptInStatus</a> - Indicates the type of opt-in request that
--   has been received for the resource.</li>
--   <li><a>pmaDescription</a> - A description providing more detail about
--   the maintenance action.</li>
--   <li><a>pmaForcedApplyDate</a> - The date when the maintenance action
--   is automatically applied. The maintenance action is applied to the
--   resource on this date regardless of the maintenance window for the
--   resource. If this date is specified, any <tt>immediate</tt> opt-in
--   requests are ignored.</li>
--   <li><a>pmaCurrentApplyDate</a> - The effective date when the pending
--   maintenance action is applied to the resource. This date takes into
--   account opt-in requests received from the
--   <tt>ApplyPendingMaintenanceAction</tt> API, the
--   <tt>AutoAppliedAfterDate</tt> , and the <tt>ForcedApplyDate</tt> .
--   This value is blank if an opt-in request has not been received and
--   nothing has been specified as <tt>AutoAppliedAfterDate</tt> or
--   <tt>ForcedApplyDate</tt> .</li>
--   </ul>
pendingMaintenanceAction :: PendingMaintenanceAction

-- | The date of the maintenance window when the action is applied. The
--   maintenance action is applied to the resource during its first
--   maintenance window after this date. If this date is specified, any
--   <tt>next-maintenance</tt> opt-in requests are ignored.
pmaAutoAppliedAfterDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)

-- | The type of pending maintenance action that is available for the
--   resource.
pmaAction :: Lens' PendingMaintenanceAction (Maybe Text)

-- | Indicates the type of opt-in request that has been received for the
--   resource.
pmaOptInStatus :: Lens' PendingMaintenanceAction (Maybe Text)

-- | A description providing more detail about the maintenance action.
pmaDescription :: Lens' PendingMaintenanceAction (Maybe Text)

-- | The date when the maintenance action is automatically applied. The
--   maintenance action is applied to the resource on this date regardless
--   of the maintenance window for the resource. If this date is specified,
--   any <tt>immediate</tt> opt-in requests are ignored.
pmaForcedApplyDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)

-- | The effective date when the pending maintenance action is applied to
--   the resource. This date takes into account opt-in requests received
--   from the <tt>ApplyPendingMaintenanceAction</tt> API, the
--   <tt>AutoAppliedAfterDate</tt> , and the <tt>ForcedApplyDate</tt> .
--   This value is blank if an opt-in request has not been received and
--   nothing has been specified as <tt>AutoAppliedAfterDate</tt> or
--   <tt>ForcedApplyDate</tt> .
pmaCurrentApplyDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)

-- | This data type is used as a response element in the
--   <tt>ModifyDBInstance</tt> action.
--   
--   <i>See:</i> <a>pendingModifiedValues</a> smart constructor.
data PendingModifiedValues

-- | Creates a value of <a>PendingModifiedValues</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pmvEngineVersion</a> - Indicates the database engine
--   version.</li>
--   <li><a>pmvMasterUserPassword</a> - Contains the pending or
--   currently-in-progress change of the master credentials for the DB
--   instance.</li>
--   <li><a>pmvDBSubnetGroupName</a> - The new DB subnet group for the DB
--   instance.</li>
--   <li><a>pmvIOPS</a> - Specifies the new Provisioned IOPS value for the
--   DB instance that will be applied or is currently being applied.</li>
--   <li><a>pmvDBInstanceClass</a> - Contains the new
--   <tt>DBInstanceClass</tt> for the DB instance that will be applied or
--   is currently being applied.</li>
--   <li><a>pmvLicenseModel</a> - The license model for the DB instance.
--   Valid values: <tt>license-included</tt> |
--   <tt>bring-your-own-license</tt> | <tt>general-public-license</tt></li>
--   <li><a>pmvCACertificateIdentifier</a> - Specifies the identifier of
--   the CA certificate for the DB instance.</li>
--   <li><a>pmvDBInstanceIdentifier</a> - Contains the new
--   <tt>DBInstanceIdentifier</tt> for the DB instance that will be applied
--   or is currently being applied.</li>
--   <li><a>pmvPendingCloudwatchLogsExports</a> - Undocumented member.</li>
--   <li><a>pmvBackupRetentionPeriod</a> - Specifies the pending number of
--   days for which automated backups are retained.</li>
--   <li><a>pmvMultiAZ</a> - Indicates that the Single-AZ DB instance is to
--   change to a Multi-AZ deployment.</li>
--   <li><a>pmvAllocatedStorage</a> - Contains the new
--   <tt>AllocatedStorage</tt> size for the DB instance that will be
--   applied or is currently being applied.</li>
--   <li><a>pmvPort</a> - Specifies the pending port for the DB
--   instance.</li>
--   <li><a>pmvStorageType</a> - Specifies the storage type to be
--   associated with the DB instance.</li>
--   </ul>
pendingModifiedValues :: PendingModifiedValues

-- | Indicates the database engine version.
pmvEngineVersion :: Lens' PendingModifiedValues (Maybe Text)

-- | Contains the pending or currently-in-progress change of the master
--   credentials for the DB instance.
pmvMasterUserPassword :: Lens' PendingModifiedValues (Maybe Text)

-- | The new DB subnet group for the DB instance.
pmvDBSubnetGroupName :: Lens' PendingModifiedValues (Maybe Text)

-- | Specifies the new Provisioned IOPS value for the DB instance that will
--   be applied or is currently being applied.
pmvIOPS :: Lens' PendingModifiedValues (Maybe Int)

-- | Contains the new <tt>DBInstanceClass</tt> for the DB instance that
--   will be applied or is currently being applied.
pmvDBInstanceClass :: Lens' PendingModifiedValues (Maybe Text)

-- | The license model for the DB instance. Valid values:
--   <tt>license-included</tt> | <tt>bring-your-own-license</tt> |
--   <tt>general-public-license</tt>
pmvLicenseModel :: Lens' PendingModifiedValues (Maybe Text)

-- | Specifies the identifier of the CA certificate for the DB instance.
pmvCACertificateIdentifier :: Lens' PendingModifiedValues (Maybe Text)

-- | Contains the new <tt>DBInstanceIdentifier</tt> for the DB instance
--   that will be applied or is currently being applied.
pmvDBInstanceIdentifier :: Lens' PendingModifiedValues (Maybe Text)

-- | Undocumented member.
pmvPendingCloudwatchLogsExports :: Lens' PendingModifiedValues (Maybe PendingCloudwatchLogsExports)

-- | Specifies the pending number of days for which automated backups are
--   retained.
pmvBackupRetentionPeriod :: Lens' PendingModifiedValues (Maybe Int)

-- | Indicates that the Single-AZ DB instance is to change to a Multi-AZ
--   deployment.
pmvMultiAZ :: Lens' PendingModifiedValues (Maybe Bool)

-- | Contains the new <tt>AllocatedStorage</tt> size for the DB instance
--   that will be applied or is currently being applied.
pmvAllocatedStorage :: Lens' PendingModifiedValues (Maybe Int)

-- | Specifies the pending port for the DB instance.
pmvPort :: Lens' PendingModifiedValues (Maybe Int)

-- | Specifies the storage type to be associated with the DB instance.
pmvStorageType :: Lens' PendingModifiedValues (Maybe Text)

-- | A range of integer values.
--   
--   <i>See:</i> <a>range</a> smart constructor.
data Range

-- | Creates a value of <a>Range</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rTo</a> - The maximum value in the range.</li>
--   <li><a>rFrom</a> - The minimum value in the range.</li>
--   <li><a>rStep</a> - The step value for the range. For example, if you
--   have a range of 5,000 to 10,000, with a step value of 1,000, the valid
--   values start at 5,000 and step up by 1,000. Even though 7,500 is
--   within the range, it isn't a valid value for the range. The valid
--   values are 5,000, 6,000, 7,000, 8,000...</li>
--   </ul>
range :: Range

-- | The maximum value in the range.
rTo :: Lens' Range (Maybe Int)

-- | The minimum value in the range.
rFrom :: Lens' Range (Maybe Int)

-- | The step value for the range. For example, if you have a range of
--   5,000 to 10,000, with a step value of 1,000, the valid values start at
--   5,000 and step up by 1,000. Even though 7,500 is within the range, it
--   isn't a valid value for the range. The valid values are 5,000, 6,000,
--   7,000, 8,000...
rStep :: Lens' Range (Maybe Int)

-- | This data type is used as a response element in the
--   <tt>DescribeReservedDBInstances</tt> and
--   <tt>DescribeReservedDBInstancesOfferings</tt> actions.
--   
--   <i>See:</i> <a>recurringCharge</a> smart constructor.
data RecurringCharge

-- | Creates a value of <a>RecurringCharge</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcRecurringChargeFrequency</a> - The frequency of the recurring
--   charge.</li>
--   <li><a>rcRecurringChargeAmount</a> - The amount of the recurring
--   charge.</li>
--   </ul>
recurringCharge :: RecurringCharge

-- | The frequency of the recurring charge.
rcRecurringChargeFrequency :: Lens' RecurringCharge (Maybe Text)

-- | The amount of the recurring charge.
rcRecurringChargeAmount :: Lens' RecurringCharge (Maybe Double)

-- | This data type is used as a response element in the
--   <tt>DescribeReservedDBInstances</tt> and
--   <tt>PurchaseReservedDBInstancesOffering</tt> actions.
--   
--   <i>See:</i> <a>reservedDBInstance</a> smart constructor.
data ReservedDBInstance

-- | Creates a value of <a>ReservedDBInstance</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdiDBInstanceCount</a> - The number of reserved DB
--   instances.</li>
--   <li><a>rdiState</a> - The state of the reserved DB instance.</li>
--   <li><a>rdiCurrencyCode</a> - The currency code for the reserved DB
--   instance.</li>
--   <li><a>rdiStartTime</a> - The time the reservation started.</li>
--   <li><a>rdiProductDescription</a> - The description of the reserved DB
--   instance.</li>
--   <li><a>rdiReservedDBInstanceId</a> - The unique identifier for the
--   reservation.</li>
--   <li><a>rdiReservedDBInstanceARN</a> - The Amazon Resource Name (ARN)
--   for the reserved DB instance.</li>
--   <li><a>rdiDBInstanceClass</a> - The DB instance class for the reserved
--   DB instance.</li>
--   <li><a>rdiMultiAZ</a> - Indicates if the reservation applies to
--   Multi-AZ deployments.</li>
--   <li><a>rdiReservedDBInstancesOfferingId</a> - The offering
--   identifier.</li>
--   <li><a>rdiRecurringCharges</a> - The recurring price charged to run
--   this reserved DB instance.</li>
--   <li><a>rdiOfferingType</a> - The offering type of this reserved DB
--   instance.</li>
--   <li><a>rdiUsagePrice</a> - The hourly price charged for this reserved
--   DB instance.</li>
--   <li><a>rdiFixedPrice</a> - The fixed price charged for this reserved
--   DB instance.</li>
--   <li><a>rdiDuration</a> - The duration of the reservation in
--   seconds.</li>
--   </ul>
reservedDBInstance :: ReservedDBInstance

-- | The number of reserved DB instances.
rdiDBInstanceCount :: Lens' ReservedDBInstance (Maybe Int)

-- | The state of the reserved DB instance.
rdiState :: Lens' ReservedDBInstance (Maybe Text)

-- | The currency code for the reserved DB instance.
rdiCurrencyCode :: Lens' ReservedDBInstance (Maybe Text)

-- | The time the reservation started.
rdiStartTime :: Lens' ReservedDBInstance (Maybe UTCTime)

-- | The description of the reserved DB instance.
rdiProductDescription :: Lens' ReservedDBInstance (Maybe Text)

-- | The unique identifier for the reservation.
rdiReservedDBInstanceId :: Lens' ReservedDBInstance (Maybe Text)

-- | The Amazon Resource Name (ARN) for the reserved DB instance.
rdiReservedDBInstanceARN :: Lens' ReservedDBInstance (Maybe Text)

-- | The DB instance class for the reserved DB instance.
rdiDBInstanceClass :: Lens' ReservedDBInstance (Maybe Text)

-- | Indicates if the reservation applies to Multi-AZ deployments.
rdiMultiAZ :: Lens' ReservedDBInstance (Maybe Bool)

-- | The offering identifier.
rdiReservedDBInstancesOfferingId :: Lens' ReservedDBInstance (Maybe Text)

-- | The recurring price charged to run this reserved DB instance.
rdiRecurringCharges :: Lens' ReservedDBInstance [RecurringCharge]

-- | The offering type of this reserved DB instance.
rdiOfferingType :: Lens' ReservedDBInstance (Maybe Text)

-- | The hourly price charged for this reserved DB instance.
rdiUsagePrice :: Lens' ReservedDBInstance (Maybe Double)

-- | The fixed price charged for this reserved DB instance.
rdiFixedPrice :: Lens' ReservedDBInstance (Maybe Double)

-- | The duration of the reservation in seconds.
rdiDuration :: Lens' ReservedDBInstance (Maybe Int)

-- | This data type is used as a response element in the
--   <tt>DescribeReservedDBInstancesOfferings</tt> action.
--   
--   <i>See:</i> <a>reservedDBInstancesOffering</a> smart constructor.
data ReservedDBInstancesOffering

-- | Creates a value of <a>ReservedDBInstancesOffering</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdioCurrencyCode</a> - The currency code for the reserved DB
--   instance offering.</li>
--   <li><a>rdioProductDescription</a> - The database engine used by the
--   offering.</li>
--   <li><a>rdioDBInstanceClass</a> - The DB instance class for the
--   reserved DB instance.</li>
--   <li><a>rdioMultiAZ</a> - Indicates if the offering applies to Multi-AZ
--   deployments.</li>
--   <li><a>rdioReservedDBInstancesOfferingId</a> - The offering
--   identifier.</li>
--   <li><a>rdioRecurringCharges</a> - The recurring price charged to run
--   this reserved DB instance.</li>
--   <li><a>rdioOfferingType</a> - The offering type.</li>
--   <li><a>rdioUsagePrice</a> - The hourly price charged for this
--   offering.</li>
--   <li><a>rdioFixedPrice</a> - The fixed price charged for this
--   offering.</li>
--   <li><a>rdioDuration</a> - The duration of the offering in
--   seconds.</li>
--   </ul>
reservedDBInstancesOffering :: ReservedDBInstancesOffering

-- | The currency code for the reserved DB instance offering.
rdioCurrencyCode :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | The database engine used by the offering.
rdioProductDescription :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | The DB instance class for the reserved DB instance.
rdioDBInstanceClass :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | Indicates if the offering applies to Multi-AZ deployments.
rdioMultiAZ :: Lens' ReservedDBInstancesOffering (Maybe Bool)

-- | The offering identifier.
rdioReservedDBInstancesOfferingId :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | The recurring price charged to run this reserved DB instance.
rdioRecurringCharges :: Lens' ReservedDBInstancesOffering [RecurringCharge]

-- | The offering type.
rdioOfferingType :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | The hourly price charged for this offering.
rdioUsagePrice :: Lens' ReservedDBInstancesOffering (Maybe Double)

-- | The fixed price charged for this offering.
rdioFixedPrice :: Lens' ReservedDBInstancesOffering (Maybe Double)

-- | The duration of the offering in seconds.
rdioDuration :: Lens' ReservedDBInstancesOffering (Maybe Int)

-- | Describes the pending maintenance actions for a resource.
--   
--   <i>See:</i> <a>resourcePendingMaintenanceActions</a> smart
--   constructor.
data ResourcePendingMaintenanceActions

-- | Creates a value of <a>ResourcePendingMaintenanceActions</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpmaPendingMaintenanceActionDetails</a> - A list that provides
--   details about the pending maintenance actions for the resource.</li>
--   <li><a>rpmaResourceIdentifier</a> - The ARN of the resource that has
--   pending maintenance actions.</li>
--   </ul>
resourcePendingMaintenanceActions :: ResourcePendingMaintenanceActions

-- | A list that provides details about the pending maintenance actions for
--   the resource.
rpmaPendingMaintenanceActionDetails :: Lens' ResourcePendingMaintenanceActions [PendingMaintenanceAction]

-- | The ARN of the resource that has pending maintenance actions.
rpmaResourceIdentifier :: Lens' ResourcePendingMaintenanceActions (Maybe Text)

-- | Contains an AWS Region name as the result of a successful call to the
--   <tt>DescribeSourceRegions</tt> action.
--   
--   <i>See:</i> <a>sourceRegion</a> smart constructor.
data SourceRegion

-- | Creates a value of <a>SourceRegion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srStatus</a> - The status of the source AWS Region.</li>
--   <li><a>srRegionName</a> - The name of the source AWS Region.</li>
--   <li><a>srEndpoint</a> - The endpoint for the source AWS Region
--   endpoint.</li>
--   </ul>
sourceRegion :: SourceRegion

-- | The status of the source AWS Region.
srStatus :: Lens' SourceRegion (Maybe Text)

-- | The name of the source AWS Region.
srRegionName :: Lens' SourceRegion (Maybe Text)

-- | The endpoint for the source AWS Region endpoint.
srEndpoint :: Lens' SourceRegion (Maybe Text)

-- | This data type is used as a response element in the
--   <tt>DescribeDBSubnetGroups</tt> action.
--   
--   <i>See:</i> <a>subnet</a> smart constructor.
data Subnet

-- | Creates a value of <a>Subnet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sSubnetStatus</a> - Specifies the status of the subnet.</li>
--   <li><a>sSubnetIdentifier</a> - Specifies the identifier of the
--   subnet.</li>
--   <li><a>sSubnetAvailabilityZone</a> - Undocumented member.</li>
--   </ul>
subnet :: Subnet

-- | Specifies the status of the subnet.
sSubnetStatus :: Lens' Subnet (Maybe Text)

-- | Specifies the identifier of the subnet.
sSubnetIdentifier :: Lens' Subnet (Maybe Text)

-- | Undocumented member.
sSubnetAvailabilityZone :: Lens' Subnet (Maybe AvailabilityZone)

-- | Metadata assigned to an Amazon RDS resource consisting of a key-value
--   pair.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagValue</a> - A value is the optional value of the tag. The
--   string value can be from 1 to 256 Unicode characters in length and
--   can't be prefixed with "aws:" or "rds:". The string can only contain
--   only the set of Unicode letters, digits, white-space, '_', <a>.</a>,
--   <a>/</a>, '=', <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").</li>
--   <li><a>tagKey</a> - A key is the required name of the tag. The string
--   value can be from 1 to 128 Unicode characters in length and can't be
--   prefixed with "aws:" or "rds:". The string can only contain only the
--   set of Unicode letters, digits, white-space, '_', <a>.</a>, <a>/</a>,
--   '=', <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").</li>
--   </ul>
tag :: Tag

-- | A value is the optional value of the tag. The string value can be from
--   1 to 256 Unicode characters in length and can't be prefixed with
--   "aws:" or "rds:". The string can only contain only the set of Unicode
--   letters, digits, white-space, '_', <a>.</a>, <a>/</a>, '=', <a>+</a>,
--   <a>-</a> (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
tagValue :: Lens' Tag (Maybe Text)

-- | A key is the required name of the tag. The string value can be from 1
--   to 128 Unicode characters in length and can't be prefixed with "aws:"
--   or "rds:". The string can only contain only the set of Unicode
--   letters, digits, white-space, '_', <a>.</a>, <a>/</a>, '=', <a>+</a>,
--   <a>-</a> (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
tagKey :: Lens' Tag (Maybe Text)

-- | A time zone associated with a <a>DBInstance</a> or a <a>DBSnapshot</a>
--   . This data type is an element in the response to the
--   <tt>DescribeDBInstances</tt> , the <tt>DescribeDBSnapshots</tt> , and
--   the <tt>DescribeDBEngineVersions</tt> actions.
--   
--   <i>See:</i> <a>timezone</a> smart constructor.
data Timezone

-- | Creates a value of <a>Timezone</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tTimezoneName</a> - The name of the time zone.</li>
--   </ul>
timezone :: Timezone

-- | The name of the time zone.
tTimezoneName :: Lens' Timezone (Maybe Text)

-- | The version of the database engine that a DB instance can be upgraded
--   to.
--   
--   <i>See:</i> <a>upgradeTarget</a> smart constructor.
data UpgradeTarget

-- | Creates a value of <a>UpgradeTarget</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>utEngineVersion</a> - The version number of the upgrade target
--   database engine.</li>
--   <li><a>utIsMajorVersionUpgrade</a> - A value that indicates whether a
--   database engine is upgraded to a major version.</li>
--   <li><a>utEngine</a> - The name of the upgrade target database
--   engine.</li>
--   <li><a>utAutoUpgrade</a> - A value that indicates whether the target
--   version is applied to any source DB instances that have
--   AutoMinorVersionUpgrade set to true.</li>
--   <li><a>utDescription</a> - The version of the database engine that a
--   DB instance can be upgraded to.</li>
--   </ul>
upgradeTarget :: UpgradeTarget

-- | The version number of the upgrade target database engine.
utEngineVersion :: Lens' UpgradeTarget (Maybe Text)

-- | A value that indicates whether a database engine is upgraded to a
--   major version.
utIsMajorVersionUpgrade :: Lens' UpgradeTarget (Maybe Bool)

-- | The name of the upgrade target database engine.
utEngine :: Lens' UpgradeTarget (Maybe Text)

-- | A value that indicates whether the target version is applied to any
--   source DB instances that have AutoMinorVersionUpgrade set to true.
utAutoUpgrade :: Lens' UpgradeTarget (Maybe Bool)

-- | The version of the database engine that a DB instance can be upgraded
--   to.
utDescription :: Lens' UpgradeTarget (Maybe Text)

-- | This data type is used as a response element for queries on VPC
--   security group membership.
--   
--   <i>See:</i> <a>vpcSecurityGroupMembership</a> smart constructor.
data VPCSecurityGroupMembership

-- | Creates a value of <a>VPCSecurityGroupMembership</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsgmStatus</a> - The status of the VPC security group.</li>
--   <li><a>vsgmVPCSecurityGroupId</a> - The name of the VPC security
--   group.</li>
--   </ul>
vpcSecurityGroupMembership :: VPCSecurityGroupMembership

-- | The status of the VPC security group.
vsgmStatus :: Lens' VPCSecurityGroupMembership (Maybe Text)

-- | The name of the VPC security group.
vsgmVPCSecurityGroupId :: Lens' VPCSecurityGroupMembership (Maybe Text)

-- | Information about valid modifications that you can make to your DB
--   instance. Contains the result of a successful call to the
--   <tt>DescribeValidDBInstanceModifications</tt> action. You can use this
--   information when you call <tt>ModifyDBInstance</tt> .
--   
--   <i>See:</i> <a>validDBInstanceModificationsMessage</a> smart
--   constructor.
data ValidDBInstanceModificationsMessage

-- | Creates a value of <a>ValidDBInstanceModificationsMessage</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vdimmStorage</a> - Valid storage options for your DB
--   instance.</li>
--   </ul>
validDBInstanceModificationsMessage :: ValidDBInstanceModificationsMessage

-- | Valid storage options for your DB instance.
vdimmStorage :: Lens' ValidDBInstanceModificationsMessage [ValidStorageOptions]

-- | Information about valid modifications that you can make to your DB
--   instance. Contains the result of a successful call to the
--   <tt>DescribeValidDBInstanceModifications</tt> action.
--   
--   <i>See:</i> <a>validStorageOptions</a> smart constructor.
data ValidStorageOptions

-- | Creates a value of <a>ValidStorageOptions</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsoStorageSize</a> - The valid range of storage in gibibytes.
--   For example, 100 to 16384.</li>
--   <li><a>vsoProvisionedIOPS</a> - The valid range of provisioned IOPS.
--   For example, 1000-20000.</li>
--   <li><a>vsoIOPSToStorageRatio</a> - The valid range of Provisioned IOPS
--   to gibibytes of storage multiplier. For example, 3-10, which means
--   that provisioned IOPS can be between 3 and 10 times storage.</li>
--   <li><a>vsoStorageType</a> - The valid storage types for your DB
--   instance. For example, gp2, io1.</li>
--   </ul>
validStorageOptions :: ValidStorageOptions

-- | The valid range of storage in gibibytes. For example, 100 to 16384.
vsoStorageSize :: Lens' ValidStorageOptions [Range]

-- | The valid range of provisioned IOPS. For example, 1000-20000.
vsoProvisionedIOPS :: Lens' ValidStorageOptions [Range]

-- | The valid range of Provisioned IOPS to gibibytes of storage
--   multiplier. For example, 3-10, which means that provisioned IOPS can
--   be between 3 and 10 times storage.
vsoIOPSToStorageRatio :: Lens' ValidStorageOptions [DoubleRange]

-- | The valid storage types for your DB instance. For example, gp2, io1.
vsoStorageType :: Lens' ValidStorageOptions (Maybe Text)


-- | Stops a DB instance. When you stop a DB instance, Amazon RDS retains
--   the DB instance's metadata, including its endpoint, DB parameter
--   group, and option group membership. Amazon RDS also retains the
--   transaction logs so you can do a point-in-time restore if necessary.
--   For more information, see Stopping and Starting a DB instance in the
--   AWS RDS user guide.
module Network.AWS.RDS.StopDBInstance

-- | Creates a value of <a>StopDBInstance</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdiDBSnapshotIdentifier</a> - The user-supplied instance
--   identifier of the DB Snapshot created immediately before the DB
--   instance is stopped.</li>
--   <li><a>sdiDBInstanceIdentifier</a> - The user-supplied instance
--   identifier.</li>
--   </ul>
stopDBInstance :: Text -> StopDBInstance

-- | <i>See:</i> <a>stopDBInstance</a> smart constructor.
data StopDBInstance

-- | The user-supplied instance identifier of the DB Snapshot created
--   immediately before the DB instance is stopped.
sdiDBSnapshotIdentifier :: Lens' StopDBInstance (Maybe Text)

-- | The user-supplied instance identifier.
sdiDBInstanceIdentifier :: Lens' StopDBInstance Text

-- | Creates a value of <a>StopDBInstanceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdirsDBInstance</a> - Undocumented member.</li>
--   <li><a>sdirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
stopDBInstanceResponse :: Int -> StopDBInstanceResponse

-- | <i>See:</i> <a>stopDBInstanceResponse</a> smart constructor.
data StopDBInstanceResponse

-- | Undocumented member.
sdirsDBInstance :: Lens' StopDBInstanceResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
sdirsResponseStatus :: Lens' StopDBInstanceResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.StopDBInstance.StopDBInstanceResponse
instance Data.Data.Data Network.AWS.RDS.StopDBInstance.StopDBInstanceResponse
instance GHC.Show.Show Network.AWS.RDS.StopDBInstance.StopDBInstanceResponse
instance GHC.Read.Read Network.AWS.RDS.StopDBInstance.StopDBInstanceResponse
instance GHC.Classes.Eq Network.AWS.RDS.StopDBInstance.StopDBInstanceResponse
instance GHC.Generics.Generic Network.AWS.RDS.StopDBInstance.StopDBInstance
instance Data.Data.Data Network.AWS.RDS.StopDBInstance.StopDBInstance
instance GHC.Show.Show Network.AWS.RDS.StopDBInstance.StopDBInstance
instance GHC.Read.Read Network.AWS.RDS.StopDBInstance.StopDBInstance
instance GHC.Classes.Eq Network.AWS.RDS.StopDBInstance.StopDBInstance
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.StopDBInstance.StopDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.StopDBInstance.StopDBInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.StopDBInstance.StopDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.StopDBInstance.StopDBInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.StopDBInstance.StopDBInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.StopDBInstance.StopDBInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.StopDBInstance.StopDBInstance


-- | Starts a DB instance that was stopped using the AWS console, the
--   stop-db-instance AWS CLI command, or the StopDBInstance action. For
--   more information, see Stopping and Starting a DB instance in the AWS
--   RDS user guide.
module Network.AWS.RDS.StartDBInstance

-- | Creates a value of <a>StartDBInstance</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdbiDBInstanceIdentifier</a> - The user-supplied instance
--   identifier.</li>
--   </ul>
startDBInstance :: Text -> StartDBInstance

-- | <i>See:</i> <a>startDBInstance</a> smart constructor.
data StartDBInstance

-- | The user-supplied instance identifier.
sdbiDBInstanceIdentifier :: Lens' StartDBInstance Text

-- | Creates a value of <a>StartDBInstanceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdbirsDBInstance</a> - Undocumented member.</li>
--   <li><a>sdbirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startDBInstanceResponse :: Int -> StartDBInstanceResponse

-- | <i>See:</i> <a>startDBInstanceResponse</a> smart constructor.
data StartDBInstanceResponse

-- | Undocumented member.
sdbirsDBInstance :: Lens' StartDBInstanceResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
sdbirsResponseStatus :: Lens' StartDBInstanceResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.StartDBInstance.StartDBInstanceResponse
instance Data.Data.Data Network.AWS.RDS.StartDBInstance.StartDBInstanceResponse
instance GHC.Show.Show Network.AWS.RDS.StartDBInstance.StartDBInstanceResponse
instance GHC.Read.Read Network.AWS.RDS.StartDBInstance.StartDBInstanceResponse
instance GHC.Classes.Eq Network.AWS.RDS.StartDBInstance.StartDBInstanceResponse
instance GHC.Generics.Generic Network.AWS.RDS.StartDBInstance.StartDBInstance
instance Data.Data.Data Network.AWS.RDS.StartDBInstance.StartDBInstance
instance GHC.Show.Show Network.AWS.RDS.StartDBInstance.StartDBInstance
instance GHC.Read.Read Network.AWS.RDS.StartDBInstance.StartDBInstance
instance GHC.Classes.Eq Network.AWS.RDS.StartDBInstance.StartDBInstance
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.StartDBInstance.StartDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.StartDBInstance.StartDBInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.StartDBInstance.StartDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.StartDBInstance.StartDBInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.StartDBInstance.StartDBInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.StartDBInstance.StartDBInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.StartDBInstance.StartDBInstance


-- | Revokes ingress from a DBSecurityGroup for previously authorized IP
--   ranges or EC2 or VPC Security Groups. Required parameters for this API
--   are one of CIDRIP, EC2SecurityGroupId for VPC, or
--   (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or
--   EC2SecurityGroupId).
module Network.AWS.RDS.RevokeDBSecurityGroupIngress

-- | Creates a value of <a>RevokeDBSecurityGroupIngress</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdsgiEC2SecurityGroupOwnerId</a> - The AWS Account Number of
--   the owner of the EC2 security group specified in the
--   <tt>EC2SecurityGroupName</tt> parameter. The AWS Access Key ID is not
--   an acceptable value. For VPC DB security groups,
--   <tt>EC2SecurityGroupId</tt> must be provided. Otherwise,
--   EC2SecurityGroupOwnerId and either <tt>EC2SecurityGroupName</tt> or
--   <tt>EC2SecurityGroupId</tt> must be provided.</li>
--   <li><a>rdsgiEC2SecurityGroupName</a> - The name of the EC2 security
--   group to revoke access from. For VPC DB security groups,
--   <tt>EC2SecurityGroupId</tt> must be provided. Otherwise,
--   EC2SecurityGroupOwnerId and either <tt>EC2SecurityGroupName</tt> or
--   <tt>EC2SecurityGroupId</tt> must be provided.</li>
--   <li><a>rdsgiCIdRIP</a> - The IP range to revoke access from. Must be a
--   valid CIDR range. If <tt>CIDRIP</tt> is specified,
--   <tt>EC2SecurityGroupName</tt> , <tt>EC2SecurityGroupId</tt> and
--   <tt>EC2SecurityGroupOwnerId</tt> can't be provided.</li>
--   <li><a>rdsgiEC2SecurityGroupId</a> - The id of the EC2 security group
--   to revoke access from. For VPC DB security groups,
--   <tt>EC2SecurityGroupId</tt> must be provided. Otherwise,
--   EC2SecurityGroupOwnerId and either <tt>EC2SecurityGroupName</tt> or
--   <tt>EC2SecurityGroupId</tt> must be provided.</li>
--   <li><a>rdsgiDBSecurityGroupName</a> - The name of the DB security
--   group to revoke ingress from.</li>
--   </ul>
revokeDBSecurityGroupIngress :: Text -> RevokeDBSecurityGroupIngress

-- | <i>See:</i> <a>revokeDBSecurityGroupIngress</a> smart constructor.
data RevokeDBSecurityGroupIngress

-- | The AWS Account Number of the owner of the EC2 security group
--   specified in the <tt>EC2SecurityGroupName</tt> parameter. The AWS
--   Access Key ID is not an acceptable value. For VPC DB security groups,
--   <tt>EC2SecurityGroupId</tt> must be provided. Otherwise,
--   EC2SecurityGroupOwnerId and either <tt>EC2SecurityGroupName</tt> or
--   <tt>EC2SecurityGroupId</tt> must be provided.
rdsgiEC2SecurityGroupOwnerId :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)

-- | The name of the EC2 security group to revoke access from. For VPC DB
--   security groups, <tt>EC2SecurityGroupId</tt> must be provided.
--   Otherwise, EC2SecurityGroupOwnerId and either
--   <tt>EC2SecurityGroupName</tt> or <tt>EC2SecurityGroupId</tt> must be
--   provided.
rdsgiEC2SecurityGroupName :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)

-- | The IP range to revoke access from. Must be a valid CIDR range. If
--   <tt>CIDRIP</tt> is specified, <tt>EC2SecurityGroupName</tt> ,
--   <tt>EC2SecurityGroupId</tt> and <tt>EC2SecurityGroupOwnerId</tt> can't
--   be provided.
rdsgiCIdRIP :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)

-- | The id of the EC2 security group to revoke access from. For VPC DB
--   security groups, <tt>EC2SecurityGroupId</tt> must be provided.
--   Otherwise, EC2SecurityGroupOwnerId and either
--   <tt>EC2SecurityGroupName</tt> or <tt>EC2SecurityGroupId</tt> must be
--   provided.
rdsgiEC2SecurityGroupId :: Lens' RevokeDBSecurityGroupIngress (Maybe Text)

-- | The name of the DB security group to revoke ingress from.
rdsgiDBSecurityGroupName :: Lens' RevokeDBSecurityGroupIngress Text

-- | Creates a value of <a>RevokeDBSecurityGroupIngressResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdsgirsDBSecurityGroup</a> - Undocumented member.</li>
--   <li><a>rdsgirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
revokeDBSecurityGroupIngressResponse :: Int -> RevokeDBSecurityGroupIngressResponse

-- | <i>See:</i> <a>revokeDBSecurityGroupIngressResponse</a> smart
--   constructor.
data RevokeDBSecurityGroupIngressResponse

-- | Undocumented member.
rdsgirsDBSecurityGroup :: Lens' RevokeDBSecurityGroupIngressResponse (Maybe DBSecurityGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdsgirsResponseStatus :: Lens' RevokeDBSecurityGroupIngressResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngressResponse
instance Data.Data.Data Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngressResponse
instance GHC.Show.Show Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngressResponse
instance GHC.Read.Read Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngressResponse
instance GHC.Classes.Eq Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngressResponse
instance GHC.Generics.Generic Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance Data.Data.Data Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance GHC.Show.Show Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance GHC.Read.Read Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance GHC.Classes.Eq Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance Control.DeepSeq.NFData Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngressResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance Control.DeepSeq.NFData Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RevokeDBSecurityGroupIngress.RevokeDBSecurityGroupIngress


-- | Restores a DB instance to an arbitrary point in time. You can restore
--   to any point in time before the time identified by the
--   LatestRestorableTime property. You can restore to a point up to the
--   number of days specified by the BackupRetentionPeriod property.
--   
--   The target database is created with most of the original
--   configuration, but in a system-selected availability zone, with the
--   default security group, the default subnet group, and the default DB
--   parameter group. By default, the new DB instance is created as a
--   single-AZ deployment except when the instance is a SQL Server instance
--   that has an option group that is associated with mirroring; in this
--   case, the instance becomes a mirrored deployment and not a single-AZ
--   deployment.
module Network.AWS.RDS.RestoreDBInstanceToPointInTime

-- | Creates a value of <a>RestoreDBInstanceToPointInTime</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rditpitUseLatestRestorableTime</a> - Specifies whether
--   (<tt>true</tt> ) or not (<tt>false</tt> ) the DB instance is restored
--   from the latest backup time. Default: <tt>false</tt> Constraints:
--   Cannot be specified if RestoreTime parameter is provided.</li>
--   <li><a>rditpitPubliclyAccessible</a> - 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. Default: The default behavior varies depending on whether a
--   VPC has been requested or not. The following list shows the default
--   behavior in each case. * <b>Default VPC:</b> true * <b>VPC:</b> false
--   If no DB subnet group has been specified as part of the request and
--   the PubliclyAccessible value has not been set, the DB instance is
--   publicly accessible. If a specific DB subnet group has been specified
--   as part of the request and the PubliclyAccessible value has not been
--   set, the DB instance is private.</li>
--   <li><a>rditpitAutoMinorVersionUpgrade</a> - Indicates that minor
--   version upgrades are applied automatically to the DB instance during
--   the maintenance window.</li>
--   <li><a>rditpitDBSubnetGroupName</a> - The DB subnet group name to use
--   for the new instance. Constraints: If supplied, must match the name of
--   an existing DBSubnetGroup. Example: <tt>mySubnetgroup</tt></li>
--   <li><a>rditpitRestoreTime</a> - The date and time to restore from.
--   Valid Values: Value must be a time in Universal Coordinated Time (UTC)
--   format Constraints: * Must be before the latest restorable time for
--   the DB instance * Cannot be specified if UseLatestRestorableTime
--   parameter is true Example: <tt>2009-09-07T23:45:00Z</tt></li>
--   <li><a>rditpitIOPS</a> - The amount of Provisioned IOPS (input/output
--   operations per second) to be initially allocated for the DB instance.
--   Constraints: Must be an integer greater than 1000. <b>SQL Server</b>
--   Setting the IOPS value for the SQL Server database engine is not
--   supported.</li>
--   <li><a>rditpitDomain</a> - Specify the Active Directory Domain to
--   restore the instance in.</li>
--   <li><a>rditpitEngine</a> - The database engine to use for the new
--   instance. Default: The same as source Constraint: Must be compatible
--   with the engine of the source Valid Values: * <tt>mariadb</tt> *
--   <tt>mysql</tt> * <tt>oracle-ee</tt> * <tt>oracle-se2</tt> *
--   <tt>oracle-se1</tt> * <tt>oracle-se</tt> * <tt>postgres</tt> *
--   <tt>sqlserver-ee</tt> * <tt>sqlserver-se</tt> * <tt>sqlserver-ex</tt>
--   * <tt>sqlserver-web</tt></li>
--   <li><a>rditpitTDECredentialPassword</a> - The password for the given
--   ARN from the key store in order to access the device.</li>
--   <li><a>rditpitDBInstanceClass</a> - The compute and memory capacity of
--   the Amazon RDS DB instance, for example, <tt>db.m4.large</tt> . Not
--   all DB instance classes are available in all AWS Regions, or for all
--   database engines. For the full list of DB instance classes, and
--   availability for your engine, see <a>DB Instance Class</a> in the
--   Amazon RDS User Guide. Default: The same DBInstanceClass as the
--   original DB instance.</li>
--   <li><a>rditpitLicenseModel</a> - License model information for the
--   restored DB instance. Default: Same as source. Valid values:
--   <tt>license-included</tt> | <tt>bring-your-own-license</tt> |
--   <tt>general-public-license</tt></li>
--   <li><a>rditpitAvailabilityZone</a> - The EC2 Availability Zone that
--   the DB instance is created in. Default: A random, system-chosen
--   Availability Zone. Constraint: You can't specify the AvailabilityZone
--   parameter if the MultiAZ parameter is set to true. Example:
--   <tt>us-east-1a</tt></li>
--   <li><a>rditpitMultiAZ</a> - Specifies if the DB instance is a Multi-AZ
--   deployment. Constraint: You can't specify the AvailabilityZone
--   parameter if the MultiAZ parameter is set to <tt>true</tt> .</li>
--   <li><a>rditpitOptionGroupName</a> - The name of the option group to be
--   used for the restored DB instance. Permanent options, such as the TDE
--   option for Oracle Advanced Security TDE, can't be removed from an
--   option group, and that option group can't be removed from a DB
--   instance once it is associated with a DB instance</li>
--   <li><a>rditpitCopyTagsToSnapshot</a> - True to copy all tags from the
--   restored DB instance to snapshots of the DB instance, and otherwise
--   false. The default is false.</li>
--   <li><a>rditpitTDECredentialARN</a> - The ARN from the key store with
--   which to associate the instance for TDE encryption.</li>
--   <li><a>rditpitDomainIAMRoleName</a> - Specify the name of the IAM role
--   to be used when making API calls to the Directory Service.</li>
--   <li><a>rditpitTags</a> - Undocumented member.</li>
--   <li><a>rditpitPort</a> - The port number on which the database accepts
--   connections. Constraints: Value must be <tt>1150-65535</tt> Default:
--   The same port as the original DB instance.</li>
--   <li><a>rditpitEnableIAMDatabaseAuthentication</a> - True to enable
--   mapping of AWS Identity and Access Management (IAM) accounts to
--   database accounts, and otherwise false. You can enable IAM database
--   authentication 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 Default: <tt>false</tt></li>
--   <li><a>rditpitStorageType</a> - Specifies the storage type to be
--   associated with the DB instance. Valid values: <tt>standard | gp2 |
--   io1</tt> If you specify <tt>io1</tt> , you must also include a value
--   for the <tt>Iops</tt> parameter. Default: <tt>io1</tt> if the
--   <tt>Iops</tt> parameter is specified, otherwise <tt>standard</tt></li>
--   <li><a>rditpitEnableCloudwatchLogsExports</a> - The list of logs that
--   the restored DB instance is to export to CloudWatch Logs.</li>
--   <li><a>rditpitDBName</a> - The database name for the restored DB
--   instance.</li>
--   <li><a>rditpitSourceDBInstanceIdentifier</a> - The identifier of the
--   source DB instance from which to restore. Constraints: * Must match
--   the identifier of an existing DB instance.</li>
--   <li><a>rditpitTargetDBInstanceIdentifier</a> - The name of the new DB
--   instance to be created. Constraints: * Must contain from 1 to 63
--   letters, numbers, or hyphens * First character must be a letter *
--   Cannot end with a hyphen or contain two consecutive hyphens</li>
--   </ul>
restoreDBInstanceToPointInTime :: Text -> Text -> RestoreDBInstanceToPointInTime

-- | <i>See:</i> <a>restoreDBInstanceToPointInTime</a> smart constructor.
data RestoreDBInstanceToPointInTime

-- | Specifies whether (<tt>true</tt> ) or not (<tt>false</tt> ) the DB
--   instance is restored from the latest backup time. Default:
--   <tt>false</tt> Constraints: Cannot be specified if RestoreTime
--   parameter is provided.
rditpitUseLatestRestorableTime :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)

-- | 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. Default: The default behavior varies depending on
--   whether a VPC has been requested or not. The following list shows the
--   default behavior in each case. * <b>Default VPC:</b> true *
--   <b>VPC:</b> false If no DB subnet group has been specified as part of
--   the request and the PubliclyAccessible value has not been set, the DB
--   instance is publicly accessible. If a specific DB subnet group has
--   been specified as part of the request and the PubliclyAccessible value
--   has not been set, the DB instance is private.
rditpitPubliclyAccessible :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)

-- | Indicates that minor version upgrades are applied automatically to the
--   DB instance during the maintenance window.
rditpitAutoMinorVersionUpgrade :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)

-- | The DB subnet group name to use for the new instance. Constraints: If
--   supplied, must match the name of an existing DBSubnetGroup. Example:
--   <tt>mySubnetgroup</tt>
rditpitDBSubnetGroupName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | The date and time to restore from. Valid Values: Value must be a time
--   in Universal Coordinated Time (UTC) format Constraints: * Must be
--   before the latest restorable time for the DB instance * Cannot be
--   specified if UseLatestRestorableTime parameter is true Example:
--   <tt>2009-09-07T23:45:00Z</tt>
rditpitRestoreTime :: Lens' RestoreDBInstanceToPointInTime (Maybe UTCTime)

-- | The amount of Provisioned IOPS (input/output operations per second) to
--   be initially allocated for the DB instance. Constraints: Must be an
--   integer greater than 1000. <b>SQL Server</b> Setting the IOPS value
--   for the SQL Server database engine is not supported.
rditpitIOPS :: Lens' RestoreDBInstanceToPointInTime (Maybe Int)

-- | Specify the Active Directory Domain to restore the instance in.
rditpitDomain :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | The database engine to use for the new instance. Default: The same as
--   source Constraint: Must be compatible with the engine of the source
--   Valid Values: * <tt>mariadb</tt> * <tt>mysql</tt> * <tt>oracle-ee</tt>
--   * <tt>oracle-se2</tt> * <tt>oracle-se1</tt> * <tt>oracle-se</tt> *
--   <tt>postgres</tt> * <tt>sqlserver-ee</tt> * <tt>sqlserver-se</tt> *
--   <tt>sqlserver-ex</tt> * <tt>sqlserver-web</tt>
rditpitEngine :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | The password for the given ARN from the key store in order to access
--   the device.
rditpitTDECredentialPassword :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | The compute and memory capacity of the Amazon RDS DB instance, for
--   example, <tt>db.m4.large</tt> . Not all DB instance classes are
--   available in all AWS Regions, or for all database engines. For the
--   full list of DB instance classes, and availability for your engine,
--   see <a>DB Instance Class</a> in the Amazon RDS User Guide. Default:
--   The same DBInstanceClass as the original DB instance.
rditpitDBInstanceClass :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | License model information for the restored DB instance. Default: Same
--   as source. Valid values: <tt>license-included</tt> |
--   <tt>bring-your-own-license</tt> | <tt>general-public-license</tt>
rditpitLicenseModel :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | The EC2 Availability Zone that the DB instance is created in. Default:
--   A random, system-chosen Availability Zone. Constraint: You can't
--   specify the AvailabilityZone parameter if the MultiAZ parameter is set
--   to true. Example: <tt>us-east-1a</tt>
rditpitAvailabilityZone :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | Specifies if the DB instance is a Multi-AZ deployment. Constraint: You
--   can't specify the AvailabilityZone parameter if the MultiAZ parameter
--   is set to <tt>true</tt> .
rditpitMultiAZ :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)

-- | The name of the option group to be used for the restored DB instance.
--   Permanent options, such as the TDE option for Oracle Advanced Security
--   TDE, can't be removed from an option group, and that option group
--   can't be removed from a DB instance once it is associated with a DB
--   instance
rditpitOptionGroupName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | True to copy all tags from the restored DB instance to snapshots of
--   the DB instance, and otherwise false. The default is false.
rditpitCopyTagsToSnapshot :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)

-- | The ARN from the key store with which to associate the instance for
--   TDE encryption.
rditpitTDECredentialARN :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | Specify the name of the IAM role to be used when making API calls to
--   the Directory Service.
rditpitDomainIAMRoleName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | Undocumented member.
rditpitTags :: Lens' RestoreDBInstanceToPointInTime [Tag]

-- | The port number on which the database accepts connections.
--   Constraints: Value must be <tt>1150-65535</tt> Default: The same port
--   as the original DB instance.
rditpitPort :: Lens' RestoreDBInstanceToPointInTime (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. You can enable IAM
--   database authentication 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 Default: <tt>false</tt>
rditpitEnableIAMDatabaseAuthentication :: Lens' RestoreDBInstanceToPointInTime (Maybe Bool)

-- | Specifies the storage type to be associated with the DB instance.
--   Valid values: <tt>standard | gp2 | io1</tt> If you specify
--   <tt>io1</tt> , you must also include a value for the <tt>Iops</tt>
--   parameter. Default: <tt>io1</tt> if the <tt>Iops</tt> parameter is
--   specified, otherwise <tt>standard</tt>
rditpitStorageType :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | The list of logs that the restored DB instance is to export to
--   CloudWatch Logs.
rditpitEnableCloudwatchLogsExports :: Lens' RestoreDBInstanceToPointInTime [Text]

-- | The database name for the restored DB instance.
rditpitDBName :: Lens' RestoreDBInstanceToPointInTime (Maybe Text)

-- | The identifier of the source DB instance from which to restore.
--   Constraints: * Must match the identifier of an existing DB instance.
rditpitSourceDBInstanceIdentifier :: Lens' RestoreDBInstanceToPointInTime Text

-- | The name of the new DB instance to be created. Constraints: * Must
--   contain from 1 to 63 letters, numbers, or hyphens * First character
--   must be a letter * Cannot end with a hyphen or contain two consecutive
--   hyphens
rditpitTargetDBInstanceIdentifier :: Lens' RestoreDBInstanceToPointInTime Text

-- | Creates a value of <a>RestoreDBInstanceToPointInTimeResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rditpitrsDBInstance</a> - Undocumented member.</li>
--   <li><a>rditpitrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
restoreDBInstanceToPointInTimeResponse :: Int -> RestoreDBInstanceToPointInTimeResponse

-- | <i>See:</i> <a>restoreDBInstanceToPointInTimeResponse</a> smart
--   constructor.
data RestoreDBInstanceToPointInTimeResponse

-- | Undocumented member.
rditpitrsDBInstance :: Lens' RestoreDBInstanceToPointInTimeResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rditpitrsResponseStatus :: Lens' RestoreDBInstanceToPointInTimeResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTimeResponse
instance Data.Data.Data Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTimeResponse
instance GHC.Show.Show Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTimeResponse
instance GHC.Read.Read Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTimeResponse
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTimeResponse
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance Data.Data.Data Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance GHC.Show.Show Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance GHC.Read.Read Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTimeResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RestoreDBInstanceToPointInTime.RestoreDBInstanceToPointInTime


-- | Amazon Relational Database Service (Amazon RDS) supports importing
--   MySQL databases by using backup files. You can create a backup of your
--   on-premises database, store it on Amazon Simple Storage Service
--   (Amazon S3), and then restore the backup file onto a new Amazon RDS DB
--   instance running MySQL. For more information, see <a>Importing Data
--   into an Amazon RDS MySQL DB Instance</a> .
module Network.AWS.RDS.RestoreDBInstanceFromS3

-- | Creates a value of <a>RestoreDBInstanceFromS3</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdifsEngineVersion</a> - The version number of the database
--   engine to use. Choose the latest minor version of your database engine
--   as specified in <tt>CreateDBInstance</tt> .</li>
--   <li><a>rdifsDBSecurityGroups</a> - A list of DB security groups to
--   associate with this DB instance. Default: The default DB security
--   group for the database engine.</li>
--   <li><a>rdifsStorageEncrypted</a> - Specifies whether the new DB
--   instance is encrypted or not.</li>
--   <li><a>rdifsMasterUserPassword</a> - The password for the master user.
--   The password can include any printable ASCII character except "/",
--   """, or "@". Constraints: Must contain from 8 to 41 characters.</li>
--   <li><a>rdifsPubliclyAccessible</a> - Specifies whether the DB instance
--   is publicly accessible or not. For more information, see
--   <tt>CreateDBInstance</tt> .</li>
--   <li><a>rdifsAutoMinorVersionUpgrade</a> - True to indicate that minor
--   engine upgrades are applied automatically to the DB instance during
--   the maintenance window, and otherwise false. Default:
--   <tt>true</tt></li>
--   <li><a>rdifsMasterUsername</a> - The name for the master user.
--   Constraints: * Must be 1 to 16 letters or numbers. * First character
--   must be a letter. * Cannot be a reserved word for the chosen database
--   engine.</li>
--   <li><a>rdifsDBSubnetGroupName</a> - A DB subnet group to associate
--   with this DB instance.</li>
--   <li><a>rdifsMonitoringRoleARN</a> - The ARN for the IAM role that
--   permits RDS to send enhanced monitoring metrics to Amazon CloudWatch
--   Logs. For example, <tt>arn:aws:iam:123456789012:role/emaccess</tt> .
--   For information on creating a monitoring role, see <a>Setting Up and
--   Enabling Enhanced Monitoring</a> . If <tt>MonitoringInterval</tt> is
--   set to a value other than 0, then you must supply a
--   <tt>MonitoringRoleArn</tt> value.</li>
--   <li><a>rdifsIOPS</a> - The amount of Provisioned IOPS (input<i>output
--   operations per second) to allocate initially for the DB instance. For
--   information about valid Iops values, see see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AmazonRDS<i>latest</i>UserGuide/CHAP_Storage.html#USER_PIOPS
--   Amazon RDS Provisioned IOPS Storage to Improve Performance&gt; .</li>
--   <li><a>rdifsMonitoringInterval</a> - The interval, in seconds, between
--   points when Enhanced Monitoring metrics are collected for the DB
--   instance. To disable collecting Enhanced Monitoring metrics, specify
--   0. If <tt>MonitoringRoleArn</tt> is specified, then you must also set
--   <tt>MonitoringInterval</tt> to a value other than 0. Valid Values: 0,
--   1, 5, 10, 15, 30, 60 Default: <tt>0</tt></li>
--   <li><a>rdifsLicenseModel</a> - The license model for this DB instance.
--   Use <tt>general-public-license</tt> .</li>
--   <li><a>rdifsPreferredMaintenanceWindow</a> - The time range each week
--   during which system maintenance can occur, in Universal Coordinated
--   Time (UTC). For more information, see <a>Amazon RDS Maintenance
--   Window</a> . Constraints: * Must be in the format
--   <tt>ddd:hh24:mi-ddd:hh24:mi</tt> . * Valid Days: Mon, Tue, Wed, Thu,
--   Fri, Sat, Sun. * Must be in Universal Coordinated Time (UTC). * Must
--   not conflict with the preferred backup window. * Must be at least 30
--   minutes.</li>
--   <li><a>rdifsEnablePerformanceInsights</a> - True to enable Performance
--   Insights for the DB instance, and otherwise false.</li>
--   <li><a>rdifsKMSKeyId</a> - The AWS KMS key identifier for an encrypted
--   DB instance. The KMS key identifier is the Amazon Resource Name (ARN)
--   for the KMS encryption key. If you are creating a DB instance with the
--   same AWS account that owns the KMS encryption key used to encrypt the
--   new DB instance, then you can use the KMS key alias instead of the ARN
--   for the KM encryption key. If the <tt>StorageEncrypted</tt> parameter
--   is true, and you do not specify a value for the <tt>KmsKeyId</tt>
--   parameter, then Amazon RDS will use your default encryption key. AWS
--   KMS creates the default encryption key for your AWS account. Your AWS
--   account has a different default encryption key for each AWS
--   Region.</li>
--   <li><a>rdifsDBParameterGroupName</a> - The name of the DB parameter
--   group to associate with this DB instance. If this argument is omitted,
--   the default parameter group for the specified engine is used.</li>
--   <li><a>rdifsPreferredBackupWindow</a> - The time range each day during
--   which automated backups are created if automated backups are enabled.
--   For more information, see <a>The Backup Window</a> . Constraints: *
--   Must be in the format <tt>hh24:mi-hh24:mi</tt> . * Must be in
--   Universal Coordinated Time (UTC). * Must not conflict with the
--   preferred maintenance window. * Must be at least 30 minutes.</li>
--   <li><a>rdifsAvailabilityZone</a> - The Availability Zone that the DB
--   instance is created in. For information about AWS Regions and
--   Availability Zones, see <a>Regions and Availability Zones</a> .
--   Default: A random, system-chosen Availability Zone in the endpoint's
--   AWS Region. Example: <tt>us-east-1d</tt> Constraint: The
--   AvailabilityZone parameter can't be specified if the MultiAZ parameter
--   is set to <tt>true</tt> . The specified Availability Zone must be in
--   the same AWS Region as the current endpoint.</li>
--   <li><a>rdifsBackupRetentionPeriod</a> - The number of days for which
--   automated backups are retained. Setting this parameter to a positive
--   number enables backups. For more information, see
--   <tt>CreateDBInstance</tt> .</li>
--   <li><a>rdifsPerformanceInsightsKMSKeyId</a> - The AWS KMS key
--   identifier for encryption of Performance Insights data. The KMS key ID
--   is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS
--   key alias for the KMS encryption key.</li>
--   <li><a>rdifsVPCSecurityGroupIds</a> - A list of VPC security groups to
--   associate with this DB instance.</li>
--   <li><a>rdifsMultiAZ</a> - Specifies whether the DB instance is a
--   Multi-AZ deployment. If MultiAZ is set to <tt>true</tt> , you can't
--   set the AvailabilityZone parameter.</li>
--   <li><a>rdifsS3Prefix</a> - The prefix of your Amazon S3 bucket.</li>
--   <li><a>rdifsAllocatedStorage</a> - The amount of storage (in
--   gigabytes) to allocate initially for the DB instance. Follow the
--   allocation rules specified in <tt>CreateDBInstance</tt> .</li>
--   <li><a>rdifsOptionGroupName</a> - The name of the option group to
--   associate with this DB instance. If this argument is omitted, the
--   default option group for the specified engine is used.</li>
--   <li><a>rdifsCopyTagsToSnapshot</a> - True to copy all tags from the DB
--   instance to snapshots of the DB instance, and otherwise false.
--   Default: false.</li>
--   <li><a>rdifsTags</a> - A list of tags to associate with this DB
--   instance. For more information, see <a>Tagging Amazon RDS
--   Resources</a> .</li>
--   <li><a>rdifsPort</a> - The port number on which the database accepts
--   connections. Type: Integer Valid Values: <tt>1150</tt> -<tt>65535</tt>
--   Default: <tt>3306</tt></li>
--   <li><a>rdifsEnableIAMDatabaseAuthentication</a> - True to enable
--   mapping of AWS Identity and Access Management (IAM) accounts to
--   database accounts, and otherwise false. Default: <tt>false</tt></li>
--   <li><a>rdifsStorageType</a> - Specifies the storage type to be
--   associated with the DB instance. Valid values: <tt>standard</tt> |
--   <tt>gp2</tt> | <tt>io1</tt> If you specify <tt>io1</tt> , you must
--   also include a value for the <tt>Iops</tt> parameter. Default:
--   <tt>io1</tt> if the <tt>Iops</tt> parameter is specified; otherwise
--   <tt>standard</tt></li>
--   <li><a>rdifsEnableCloudwatchLogsExports</a> - The list of logs that
--   the restored DB instance is to export to CloudWatch Logs.</li>
--   <li><a>rdifsDBName</a> - The name of the database to create when the
--   DB instance is created. Follow the naming rules specified in
--   <tt>CreateDBInstance</tt> .</li>
--   <li><a>rdifsDBInstanceIdentifier</a> - The DB instance identifier.
--   This parameter is stored as a lowercase string. Constraints: * Must
--   contain from 1 to 63 letters, numbers, or hyphens. * First character
--   must be a letter. * Cannot end with a hyphen or contain two
--   consecutive hyphens. Example: <tt>mydbinstance</tt></li>
--   <li><a>rdifsDBInstanceClass</a> - The compute and memory capacity of
--   the DB instance, for example, <tt>db.m4.large</tt> . Not all DB
--   instance classes are available in all AWS Regions, or for all database
--   engines. For the full list of DB instance classes, and availability
--   for your engine, see <a>DB Instance Class</a> in the Amazon RDS User
--   Guide. Importing from Amazon S3 is not supported on the db.t2.micro DB
--   instance class.</li>
--   <li><a>rdifsEngine</a> - The name of the database engine to be used
--   for this instance. Valid Values: <tt>mysql</tt></li>
--   <li><a>rdifsSourceEngine</a> - The name of the engine of your source
--   database. Valid Values: <tt>mysql</tt></li>
--   <li><a>rdifsSourceEngineVersion</a> - The engine version of your
--   source database. Valid Values: <tt>5.6</tt></li>
--   <li><a>rdifsS3BucketName</a> - The name of your Amazon S3 bucket that
--   contains your database backup file.</li>
--   <li><a>rdifsS3IngestionRoleARN</a> - An AWS Identity and Access
--   Management (IAM) role to allow Amazon RDS to access your Amazon S3
--   bucket.</li>
--   </ul>
restoreDBInstanceFromS3 :: Text -> Text -> Text -> Text -> Text -> Text -> Text -> RestoreDBInstanceFromS3

-- | <i>See:</i> <a>restoreDBInstanceFromS3</a> smart constructor.
data RestoreDBInstanceFromS3

-- | The version number of the database engine to use. Choose the latest
--   minor version of your database engine as specified in
--   <tt>CreateDBInstance</tt> .
rdifsEngineVersion :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | A list of DB security groups to associate with this DB instance.
--   Default: The default DB security group for the database engine.
rdifsDBSecurityGroups :: Lens' RestoreDBInstanceFromS3 [Text]

-- | Specifies whether the new DB instance is encrypted or not.
rdifsStorageEncrypted :: Lens' RestoreDBInstanceFromS3 (Maybe Bool)

-- | The password for the master user. The password can include any
--   printable ASCII character except "/", """, or "@". Constraints: Must
--   contain from 8 to 41 characters.
rdifsMasterUserPassword :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | Specifies whether the DB instance is publicly accessible or not. For
--   more information, see <tt>CreateDBInstance</tt> .
rdifsPubliclyAccessible :: Lens' RestoreDBInstanceFromS3 (Maybe Bool)

-- | True to indicate that minor engine upgrades are applied automatically
--   to the DB instance during the maintenance window, and otherwise false.
--   Default: <tt>true</tt>
rdifsAutoMinorVersionUpgrade :: Lens' RestoreDBInstanceFromS3 (Maybe Bool)

-- | The name for the master user. Constraints: * Must be 1 to 16 letters
--   or numbers. * First character must be a letter. * Cannot be a reserved
--   word for the chosen database engine.
rdifsMasterUsername :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | A DB subnet group to associate with this DB instance.
rdifsDBSubnetGroupName :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The ARN for the IAM role that permits RDS to send enhanced monitoring
--   metrics to Amazon CloudWatch Logs. For example,
--   <tt>arn:aws:iam:123456789012:role/emaccess</tt> . For information on
--   creating a monitoring role, see <a>Setting Up and Enabling Enhanced
--   Monitoring</a> . If <tt>MonitoringInterval</tt> is set to a value
--   other than 0, then you must supply a <tt>MonitoringRoleArn</tt> value.
rdifsMonitoringRoleARN :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The amount of Provisioned IOPS (input<i>output operations per second)
--   to allocate initially for the DB instance. For information about valid
--   Iops values, see see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AmazonRDS<i>latest</i>UserGuide/CHAP_Storage.html#USER_PIOPS
--   Amazon RDS Provisioned IOPS Storage to Improve Performance&gt; .
rdifsIOPS :: Lens' RestoreDBInstanceFromS3 (Maybe Int)

-- | The interval, in seconds, between points when Enhanced Monitoring
--   metrics are collected for the DB instance. To disable collecting
--   Enhanced Monitoring metrics, specify 0. If <tt>MonitoringRoleArn</tt>
--   is specified, then you must also set <tt>MonitoringInterval</tt> to a
--   value other than 0. Valid Values: 0, 1, 5, 10, 15, 30, 60 Default:
--   <tt>0</tt>
rdifsMonitoringInterval :: Lens' RestoreDBInstanceFromS3 (Maybe Int)

-- | The license model for this DB instance. Use
--   <tt>general-public-license</tt> .
rdifsLicenseModel :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The time range each week during which system maintenance can occur, in
--   Universal Coordinated Time (UTC). For more information, see <a>Amazon
--   RDS Maintenance Window</a> . Constraints: * Must be in the format
--   <tt>ddd:hh24:mi-ddd:hh24:mi</tt> . * Valid Days: Mon, Tue, Wed, Thu,
--   Fri, Sat, Sun. * Must be in Universal Coordinated Time (UTC). * Must
--   not conflict with the preferred backup window. * Must be at least 30
--   minutes.
rdifsPreferredMaintenanceWindow :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | True to enable Performance Insights for the DB instance, and otherwise
--   false.
rdifsEnablePerformanceInsights :: Lens' RestoreDBInstanceFromS3 (Maybe Bool)

-- | The AWS KMS key identifier for an encrypted DB instance. The KMS key
--   identifier is the Amazon Resource Name (ARN) for the KMS encryption
--   key. If you are creating a DB instance with the same AWS account that
--   owns the KMS encryption key used to encrypt the new DB instance, then
--   you can use the KMS key alias instead of the ARN for the KM encryption
--   key. If the <tt>StorageEncrypted</tt> parameter is true, and you do
--   not specify a value for the <tt>KmsKeyId</tt> parameter, then Amazon
--   RDS will use your default encryption key. AWS KMS creates the default
--   encryption key for your AWS account. Your AWS account has a different
--   default encryption key for each AWS Region.
rdifsKMSKeyId :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The name of the DB parameter group to associate with this DB instance.
--   If this argument is omitted, the default parameter group for the
--   specified engine is used.
rdifsDBParameterGroupName :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The time range each day during which automated backups are created if
--   automated backups are enabled. For more information, see <a>The Backup
--   Window</a> . Constraints: * Must be in the format
--   <tt>hh24:mi-hh24:mi</tt> . * Must be in Universal Coordinated Time
--   (UTC). * Must not conflict with the preferred maintenance window. *
--   Must be at least 30 minutes.
rdifsPreferredBackupWindow :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The Availability Zone that the DB instance is created in. For
--   information about AWS Regions and Availability Zones, see <a>Regions
--   and Availability Zones</a> . Default: A random, system-chosen
--   Availability Zone in the endpoint's AWS Region. Example:
--   <tt>us-east-1d</tt> Constraint: The AvailabilityZone parameter can't
--   be specified if the MultiAZ parameter is set to <tt>true</tt> . The
--   specified Availability Zone must be in the same AWS Region as the
--   current endpoint.
rdifsAvailabilityZone :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The number of days for which automated backups are retained. Setting
--   this parameter to a positive number enables backups. For more
--   information, see <tt>CreateDBInstance</tt> .
rdifsBackupRetentionPeriod :: Lens' RestoreDBInstanceFromS3 (Maybe Int)

-- | The AWS KMS key identifier for encryption of Performance Insights
--   data. The KMS key ID is the Amazon Resource Name (ARN), the KMS key
--   identifier, or the KMS key alias for the KMS encryption key.
rdifsPerformanceInsightsKMSKeyId :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | A list of VPC security groups to associate with this DB instance.
rdifsVPCSecurityGroupIds :: Lens' RestoreDBInstanceFromS3 [Text]

-- | Specifies whether the DB instance is a Multi-AZ deployment. If MultiAZ
--   is set to <tt>true</tt> , you can't set the AvailabilityZone
--   parameter.
rdifsMultiAZ :: Lens' RestoreDBInstanceFromS3 (Maybe Bool)

-- | The prefix of your Amazon S3 bucket.
rdifsS3Prefix :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The amount of storage (in gigabytes) to allocate initially for the DB
--   instance. Follow the allocation rules specified in
--   <tt>CreateDBInstance</tt> .
rdifsAllocatedStorage :: Lens' RestoreDBInstanceFromS3 (Maybe Int)

-- | The name of the option group to associate with this DB instance. If
--   this argument is omitted, the default option group for the specified
--   engine is used.
rdifsOptionGroupName :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | True to copy all tags from the DB instance to snapshots of the DB
--   instance, and otherwise false. Default: false.
rdifsCopyTagsToSnapshot :: Lens' RestoreDBInstanceFromS3 (Maybe Bool)

-- | A list of tags to associate with this DB instance. For more
--   information, see <a>Tagging Amazon RDS Resources</a> .
rdifsTags :: Lens' RestoreDBInstanceFromS3 [Tag]

-- | The port number on which the database accepts connections. Type:
--   Integer Valid Values: <tt>1150</tt> -<tt>65535</tt> Default:
--   <tt>3306</tt>
rdifsPort :: Lens' RestoreDBInstanceFromS3 (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. Default:
--   <tt>false</tt>
rdifsEnableIAMDatabaseAuthentication :: Lens' RestoreDBInstanceFromS3 (Maybe Bool)

-- | Specifies the storage type to be associated with the DB instance.
--   Valid values: <tt>standard</tt> | <tt>gp2</tt> | <tt>io1</tt> If you
--   specify <tt>io1</tt> , you must also include a value for the
--   <tt>Iops</tt> parameter. Default: <tt>io1</tt> if the <tt>Iops</tt>
--   parameter is specified; otherwise <tt>standard</tt>
rdifsStorageType :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The list of logs that the restored DB instance is to export to
--   CloudWatch Logs.
rdifsEnableCloudwatchLogsExports :: Lens' RestoreDBInstanceFromS3 [Text]

-- | The name of the database to create when the DB instance is created.
--   Follow the naming rules specified in <tt>CreateDBInstance</tt> .
rdifsDBName :: Lens' RestoreDBInstanceFromS3 (Maybe Text)

-- | The DB instance identifier. This parameter is stored as a lowercase
--   string. Constraints: * Must contain from 1 to 63 letters, numbers, or
--   hyphens. * First character must be a letter. * Cannot end with a
--   hyphen or contain two consecutive hyphens. Example:
--   <tt>mydbinstance</tt>
rdifsDBInstanceIdentifier :: Lens' RestoreDBInstanceFromS3 Text

-- | The compute and memory capacity of the DB instance, for example,
--   <tt>db.m4.large</tt> . Not all DB instance classes are available in
--   all AWS Regions, or for all database engines. For the full list of DB
--   instance classes, and availability for your engine, see <a>DB Instance
--   Class</a> in the Amazon RDS User Guide. Importing from Amazon S3 is
--   not supported on the db.t2.micro DB instance class.
rdifsDBInstanceClass :: Lens' RestoreDBInstanceFromS3 Text

-- | The name of the database engine to be used for this instance. Valid
--   Values: <tt>mysql</tt>
rdifsEngine :: Lens' RestoreDBInstanceFromS3 Text

-- | The name of the engine of your source database. Valid Values:
--   <tt>mysql</tt>
rdifsSourceEngine :: Lens' RestoreDBInstanceFromS3 Text

-- | The engine version of your source database. Valid Values: <tt>5.6</tt>
rdifsSourceEngineVersion :: Lens' RestoreDBInstanceFromS3 Text

-- | The name of your Amazon S3 bucket that contains your database backup
--   file.
rdifsS3BucketName :: Lens' RestoreDBInstanceFromS3 Text

-- | An AWS Identity and Access Management (IAM) role to allow Amazon RDS
--   to access your Amazon S3 bucket.
rdifsS3IngestionRoleARN :: Lens' RestoreDBInstanceFromS3 Text

-- | Creates a value of <a>RestoreDBInstanceFromS3Response</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdifsrsDBInstance</a> - Undocumented member.</li>
--   <li><a>rdifsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
restoreDBInstanceFromS3Response :: Int -> RestoreDBInstanceFromS3Response

-- | <i>See:</i> <a>restoreDBInstanceFromS3Response</a> smart constructor.
data RestoreDBInstanceFromS3Response

-- | Undocumented member.
rdifsrsDBInstance :: Lens' RestoreDBInstanceFromS3Response (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdifsrsResponseStatus :: Lens' RestoreDBInstanceFromS3Response Int
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3Response
instance Data.Data.Data Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3Response
instance GHC.Show.Show Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3Response
instance GHC.Read.Read Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3Response
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3Response
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance Data.Data.Data Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance GHC.Show.Show Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance GHC.Read.Read Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3Response
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RestoreDBInstanceFromS3.RestoreDBInstanceFromS3


-- | Creates a new DB instance from a DB snapshot. The target database is
--   created from the source database restore point with the most of
--   original configuration with the default security group and the default
--   DB parameter group. By default, the new DB instance is created as a
--   single-AZ deployment except when the instance is a SQL Server instance
--   that has an option group that is associated with mirroring; in this
--   case, the instance becomes a mirrored AZ deployment and not a
--   single-AZ deployment.
--   
--   If your intent is to replace your original DB instance with the new,
--   restored DB instance, then rename your original DB instance before you
--   call the RestoreDBInstanceFromDBSnapshot action. RDS doesn't allow two
--   DB instances with the same name. Once you have renamed your original
--   DB instance with a different identifier, then you can pass the
--   original name of the DB instance as the DBInstanceIdentifier in the
--   call to the RestoreDBInstanceFromDBSnapshot action. The result is that
--   you will replace the original DB instance with the DB instance created
--   from the snapshot.
--   
--   If you are restoring from a shared manual DB snapshot, the
--   <tt>DBSnapshotIdentifier</tt> must be the ARN of the shared DB
--   snapshot.
module Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot

-- | Creates a value of <a>RestoreDBInstanceFromDBSnapshot</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdifdsPubliclyAccessible</a> - 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. Default: The default behavior varies depending on whether a
--   VPC has been requested or not. The following list shows the default
--   behavior in each case. * <b>Default VPC:</b> true * <b>VPC:</b> false
--   If no DB subnet group has been specified as part of the request and
--   the PubliclyAccessible value has not been set, the DB instance is
--   publicly accessible. If a specific DB subnet group has been specified
--   as part of the request and the PubliclyAccessible value has not been
--   set, the DB instance is private.</li>
--   <li><a>rdifdsAutoMinorVersionUpgrade</a> - Indicates that minor
--   version upgrades are applied automatically to the DB instance during
--   the maintenance window.</li>
--   <li><a>rdifdsDBSubnetGroupName</a> - The DB subnet group name to use
--   for the new instance. Constraints: If supplied, must match the name of
--   an existing DBSubnetGroup. Example: <tt>mySubnetgroup</tt></li>
--   <li><a>rdifdsIOPS</a> - Specifies the amount of provisioned IOPS for
--   the DB instance, expressed in I<i>O operations per second. If this
--   parameter is not specified, the IOPS value is taken from the backup.
--   If this parameter is set to 0, the new instance is converted to a
--   non-PIOPS instance. The conversion takes additional time, though your
--   DB instance is available for connections before the conversion starts.
--   The provisioned IOPS value must follow the requirements for your
--   database engine. For more information, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AmazonRDS<i>latest</i>UserGuide/CHAP_Storage.html#USER_PIOPS
--   Amazon RDS Provisioned IOPS Storage to Improve Performance&gt; .
--   Constraints: Must be an integer greater than 1000.</li>
--   <li><a>rdifdsDomain</a> - Specify the Active Directory Domain to
--   restore the instance in.</li>
--   <li><a>rdifdsEngine</a> - The database engine to use for the new
--   instance. Default: The same as source Constraint: Must be compatible
--   with the engine of the source. For example, you can restore a MariaDB
--   10.1 DB instance from a MySQL 5.6 snapshot. Valid Values: *
--   <tt>mariadb</tt> * <tt>mysql</tt> * <tt>oracle-ee</tt> *
--   <tt>oracle-se2</tt> * <tt>oracle-se1</tt> * <tt>oracle-se</tt> *
--   <tt>postgres</tt> * <tt>sqlserver-ee</tt> * <tt>sqlserver-se</tt> *
--   <tt>sqlserver-ex</tt> * <tt>sqlserver-web</tt></li>
--   <li><a>rdifdsTDECredentialPassword</a> - The password for the given
--   ARN from the key store in order to access the device.</li>
--   <li><a>rdifdsDBInstanceClass</a> - The compute and memory capacity of
--   the Amazon RDS DB instance, for example, <tt>db.m4.large</tt> . Not
--   all DB instance classes are available in all AWS Regions, or for all
--   database engines. For the full list of DB instance classes, and
--   availability for your engine, see <a>DB Instance Class</a> in the
--   Amazon RDS User Guide. Default: The same DBInstanceClass as the
--   original DB instance.</li>
--   <li><a>rdifdsLicenseModel</a> - License model information for the
--   restored DB instance. Default: Same as source. Valid values:
--   <tt>license-included</tt> | <tt>bring-your-own-license</tt> |
--   <tt>general-public-license</tt></li>
--   <li><a>rdifdsAvailabilityZone</a> - The EC2 Availability Zone that the
--   DB instance is created in. Default: A random, system-chosen
--   Availability Zone. Constraint: You can't specify the AvailabilityZone
--   parameter if the MultiAZ parameter is set to <tt>true</tt> . Example:
--   <tt>us-east-1a</tt></li>
--   <li><a>rdifdsMultiAZ</a> - Specifies if the DB instance is a Multi-AZ
--   deployment. Constraint: You can't specify the AvailabilityZone
--   parameter if the MultiAZ parameter is set to <tt>true</tt> .</li>
--   <li><a>rdifdsOptionGroupName</a> - The name of the option group to be
--   used for the restored DB instance. Permanent options, such as the TDE
--   option for Oracle Advanced Security TDE, can't be removed from an
--   option group, and that option group can't be removed from a DB
--   instance once it is associated with a DB instance</li>
--   <li><a>rdifdsCopyTagsToSnapshot</a> - True to copy all tags from the
--   restored DB instance to snapshots of the DB instance, and otherwise
--   false. The default is false.</li>
--   <li><a>rdifdsTDECredentialARN</a> - The ARN from the key store with
--   which to associate the instance for TDE encryption.</li>
--   <li><a>rdifdsDomainIAMRoleName</a> - Specify the name of the IAM role
--   to be used when making API calls to the Directory Service.</li>
--   <li><a>rdifdsTags</a> - Undocumented member.</li>
--   <li><a>rdifdsPort</a> - The port number on which the database accepts
--   connections. Default: The same port as the original DB instance
--   Constraints: Value must be <tt>1150-65535</tt></li>
--   <li><a>rdifdsEnableIAMDatabaseAuthentication</a> - True to enable
--   mapping of AWS Identity and Access Management (IAM) accounts to
--   database accounts, and otherwise false. You can enable IAM database
--   authentication 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 Default: <tt>false</tt></li>
--   <li><a>rdifdsStorageType</a> - Specifies the storage type to be
--   associated with the DB instance. Valid values: <tt>standard | gp2 |
--   io1</tt> If you specify <tt>io1</tt> , you must also include a value
--   for the <tt>Iops</tt> parameter. Default: <tt>io1</tt> if the
--   <tt>Iops</tt> parameter is specified, otherwise <tt>standard</tt></li>
--   <li><a>rdifdsEnableCloudwatchLogsExports</a> - The list of logs that
--   the restored DB instance is to export to CloudWatch Logs.</li>
--   <li><a>rdifdsDBName</a> - The database name for the restored DB
--   instance.</li>
--   <li><a>rdifdsDBInstanceIdentifier</a> - Name of the DB instance to
--   create from the DB snapshot. This parameter isn't case-sensitive.
--   Constraints: * Must contain from 1 to 63 numbers, letters, or hyphens
--   * First character must be a letter * Cannot end with a hyphen or
--   contain two consecutive hyphens Example: <tt>my-snapshot-id</tt></li>
--   <li><a>rdifdsDBSnapshotIdentifier</a> - The identifier for the DB
--   snapshot to restore from. Constraints: * Must match the identifier of
--   an existing DBSnapshot. * If you are restoring from a shared manual DB
--   snapshot, the <tt>DBSnapshotIdentifier</tt> must be the ARN of the
--   shared DB snapshot.</li>
--   </ul>
restoreDBInstanceFromDBSnapshot :: Text -> Text -> RestoreDBInstanceFromDBSnapshot

-- | <i>See:</i> <a>restoreDBInstanceFromDBSnapshot</a> smart constructor.
data RestoreDBInstanceFromDBSnapshot

-- | 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. Default: The default behavior varies depending on
--   whether a VPC has been requested or not. The following list shows the
--   default behavior in each case. * <b>Default VPC:</b> true *
--   <b>VPC:</b> false If no DB subnet group has been specified as part of
--   the request and the PubliclyAccessible value has not been set, the DB
--   instance is publicly accessible. If a specific DB subnet group has
--   been specified as part of the request and the PubliclyAccessible value
--   has not been set, the DB instance is private.
rdifdsPubliclyAccessible :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)

-- | Indicates that minor version upgrades are applied automatically to the
--   DB instance during the maintenance window.
rdifdsAutoMinorVersionUpgrade :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)

-- | The DB subnet group name to use for the new instance. Constraints: If
--   supplied, must match the name of an existing DBSubnetGroup. Example:
--   <tt>mySubnetgroup</tt>
rdifdsDBSubnetGroupName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | Specifies the amount of provisioned IOPS for the DB instance,
--   expressed in I<i>O operations per second. If this parameter is not
--   specified, the IOPS value is taken from the backup. If this parameter
--   is set to 0, the new instance is converted to a non-PIOPS instance.
--   The conversion takes additional time, though your DB instance is
--   available for connections before the conversion starts. The
--   provisioned IOPS value must follow the requirements for your database
--   engine. For more information, see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AmazonRDS<i>latest</i>UserGuide/CHAP_Storage.html#USER_PIOPS
--   Amazon RDS Provisioned IOPS Storage to Improve Performance&gt; .
--   Constraints: Must be an integer greater than 1000.
rdifdsIOPS :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Int)

-- | Specify the Active Directory Domain to restore the instance in.
rdifdsDomain :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | The database engine to use for the new instance. Default: The same as
--   source Constraint: Must be compatible with the engine of the source.
--   For example, you can restore a MariaDB 10.1 DB instance from a MySQL
--   5.6 snapshot. Valid Values: * <tt>mariadb</tt> * <tt>mysql</tt> *
--   <tt>oracle-ee</tt> * <tt>oracle-se2</tt> * <tt>oracle-se1</tt> *
--   <tt>oracle-se</tt> * <tt>postgres</tt> * <tt>sqlserver-ee</tt> *
--   <tt>sqlserver-se</tt> * <tt>sqlserver-ex</tt> * <tt>sqlserver-web</tt>
rdifdsEngine :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | The password for the given ARN from the key store in order to access
--   the device.
rdifdsTDECredentialPassword :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | The compute and memory capacity of the Amazon RDS DB instance, for
--   example, <tt>db.m4.large</tt> . Not all DB instance classes are
--   available in all AWS Regions, or for all database engines. For the
--   full list of DB instance classes, and availability for your engine,
--   see <a>DB Instance Class</a> in the Amazon RDS User Guide. Default:
--   The same DBInstanceClass as the original DB instance.
rdifdsDBInstanceClass :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | License model information for the restored DB instance. Default: Same
--   as source. Valid values: <tt>license-included</tt> |
--   <tt>bring-your-own-license</tt> | <tt>general-public-license</tt>
rdifdsLicenseModel :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | The EC2 Availability Zone that the DB instance is created in. Default:
--   A random, system-chosen Availability Zone. Constraint: You can't
--   specify the AvailabilityZone parameter if the MultiAZ parameter is set
--   to <tt>true</tt> . Example: <tt>us-east-1a</tt>
rdifdsAvailabilityZone :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | Specifies if the DB instance is a Multi-AZ deployment. Constraint: You
--   can't specify the AvailabilityZone parameter if the MultiAZ parameter
--   is set to <tt>true</tt> .
rdifdsMultiAZ :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)

-- | The name of the option group to be used for the restored DB instance.
--   Permanent options, such as the TDE option for Oracle Advanced Security
--   TDE, can't be removed from an option group, and that option group
--   can't be removed from a DB instance once it is associated with a DB
--   instance
rdifdsOptionGroupName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | True to copy all tags from the restored DB instance to snapshots of
--   the DB instance, and otherwise false. The default is false.
rdifdsCopyTagsToSnapshot :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)

-- | The ARN from the key store with which to associate the instance for
--   TDE encryption.
rdifdsTDECredentialARN :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | Specify the name of the IAM role to be used when making API calls to
--   the Directory Service.
rdifdsDomainIAMRoleName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | Undocumented member.
rdifdsTags :: Lens' RestoreDBInstanceFromDBSnapshot [Tag]

-- | The port number on which the database accepts connections. Default:
--   The same port as the original DB instance Constraints: Value must be
--   <tt>1150-65535</tt>
rdifdsPort :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. You can enable IAM
--   database authentication 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 Default: <tt>false</tt>
rdifdsEnableIAMDatabaseAuthentication :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Bool)

-- | Specifies the storage type to be associated with the DB instance.
--   Valid values: <tt>standard | gp2 | io1</tt> If you specify
--   <tt>io1</tt> , you must also include a value for the <tt>Iops</tt>
--   parameter. Default: <tt>io1</tt> if the <tt>Iops</tt> parameter is
--   specified, otherwise <tt>standard</tt>
rdifdsStorageType :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | The list of logs that the restored DB instance is to export to
--   CloudWatch Logs.
rdifdsEnableCloudwatchLogsExports :: Lens' RestoreDBInstanceFromDBSnapshot [Text]

-- | The database name for the restored DB instance.
rdifdsDBName :: Lens' RestoreDBInstanceFromDBSnapshot (Maybe Text)

-- | Name of the DB instance to create from the DB snapshot. This parameter
--   isn't case-sensitive. Constraints: * Must contain from 1 to 63
--   numbers, letters, or hyphens * First character must be a letter *
--   Cannot end with a hyphen or contain two consecutive hyphens Example:
--   <tt>my-snapshot-id</tt>
rdifdsDBInstanceIdentifier :: Lens' RestoreDBInstanceFromDBSnapshot Text

-- | The identifier for the DB snapshot to restore from. Constraints: *
--   Must match the identifier of an existing DBSnapshot. * If you are
--   restoring from a shared manual DB snapshot, the
--   <tt>DBSnapshotIdentifier</tt> must be the ARN of the shared DB
--   snapshot.
rdifdsDBSnapshotIdentifier :: Lens' RestoreDBInstanceFromDBSnapshot Text

-- | Creates a value of <a>RestoreDBInstanceFromDBSnapshotResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdifdsrsDBInstance</a> - Undocumented member.</li>
--   <li><a>rdifdsrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
restoreDBInstanceFromDBSnapshotResponse :: Int -> RestoreDBInstanceFromDBSnapshotResponse

-- | <i>See:</i> <a>restoreDBInstanceFromDBSnapshotResponse</a> smart
--   constructor.
data RestoreDBInstanceFromDBSnapshotResponse

-- | Undocumented member.
rdifdsrsDBInstance :: Lens' RestoreDBInstanceFromDBSnapshotResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdifdsrsResponseStatus :: Lens' RestoreDBInstanceFromDBSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshotResponse
instance Data.Data.Data Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshotResponse
instance GHC.Show.Show Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshotResponse
instance GHC.Read.Read Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshotResponse
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshotResponse
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance Data.Data.Data Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance GHC.Show.Show Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance GHC.Read.Read Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RestoreDBInstanceFromDBSnapshot.RestoreDBInstanceFromDBSnapshot


-- | Restores a DB cluster to an arbitrary point in time. Users can restore
--   to any point in time before <tt>LatestRestorableTime</tt> for up to
--   <tt>BackupRetentionPeriod</tt> days. The target DB cluster is created
--   from the source DB cluster with the same configuration as the original
--   DB cluster, except that the new DB cluster is created with the default
--   DB security group.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.RestoreDBClusterToPointInTime

-- | Creates a value of <a>RestoreDBClusterToPointInTime</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdctpitUseLatestRestorableTime</a> - A value that is set to
--   <tt>true</tt> to restore the DB cluster to the latest restorable
--   backup time, and <tt>false</tt> otherwise. Default: <tt>false</tt>
--   Constraints: Cannot be specified if <tt>RestoreToTime</tt> parameter
--   is provided.</li>
--   <li><a>rdctpitDBSubnetGroupName</a> - The DB subnet group name to use
--   for the new DB cluster. Constraints: If supplied, must match the name
--   of an existing DBSubnetGroup. Example: <tt>mySubnetgroup</tt></li>
--   <li><a>rdctpitBacktrackWindow</a> - The target backtrack window, in
--   seconds. To disable backtracking, set this value to 0. Default: 0
--   Constraints: * If specified, this value must be set to a number from 0
--   to 259,200 (72 hours).</li>
--   <li><a>rdctpitKMSKeyId</a> - The AWS KMS key identifier to use when
--   restoring an encrypted DB cluster from an encrypted DB cluster. The
--   KMS key identifier is the Amazon Resource Name (ARN) for the KMS
--   encryption key. If you are restoring a DB cluster with the same AWS
--   account that owns the KMS encryption key used to encrypt the new DB
--   cluster, then you can use the KMS key alias instead of the ARN for the
--   KMS encryption key. You can restore to a new DB cluster and encrypt
--   the new DB cluster with a KMS key that is different than the KMS key
--   used to encrypt the source DB cluster. The new DB cluster is encrypted
--   with the KMS key identified by the <tt>KmsKeyId</tt> parameter. If you
--   do not specify a value for the <tt>KmsKeyId</tt> parameter, then the
--   following will occur: * If the DB cluster is encrypted, then the
--   restored DB cluster is encrypted using the KMS key that was used to
--   encrypt the source DB cluster. * If the DB cluster is not encrypted,
--   then the restored DB cluster is not encrypted. If
--   <tt>DBClusterIdentifier</tt> refers to a DB cluster that is not
--   encrypted, then the restore request is rejected.</li>
--   <li><a>rdctpitVPCSecurityGroupIds</a> - A list of VPC security groups
--   that the new DB cluster belongs to.</li>
--   <li><a>rdctpitRestoreType</a> - The type of restore to be performed.
--   You can specify one of the following values: * <tt>full-copy</tt> -
--   The new DB cluster is restored as a full copy of the source DB
--   cluster. * <tt>copy-on-write</tt> - The new DB cluster is restored as
--   a clone of the source DB cluster. Constraints: You can't specify
--   <tt>copy-on-write</tt> if the engine version of the source DB cluster
--   is earlier than 1.11. If you don't specify a <tt>RestoreType</tt>
--   value, then the new DB cluster is restored as a full copy of the
--   source DB cluster.</li>
--   <li><a>rdctpitOptionGroupName</a> - The name of the option group for
--   the new DB cluster.</li>
--   <li><a>rdctpitRestoreToTime</a> - The date and time to restore the DB
--   cluster to. Valid Values: Value must be a time in Universal
--   Coordinated Time (UTC) format Constraints: * Must be before the latest
--   restorable time for the DB instance * Must be specified if
--   <tt>UseLatestRestorableTime</tt> parameter is not provided * Cannot be
--   specified if <tt>UseLatestRestorableTime</tt> parameter is true *
--   Cannot be specified if <tt>RestoreType</tt> parameter is
--   <tt>copy-on-write</tt> Example: <tt>2015-03-07T23:45:00Z</tt></li>
--   <li><a>rdctpitTags</a> - Undocumented member.</li>
--   <li><a>rdctpitPort</a> - The port number on which the new DB cluster
--   accepts connections. Constraints: Value must be <tt>1150-65535</tt>
--   Default: The same port as the original DB cluster.</li>
--   <li><a>rdctpitEnableIAMDatabaseAuthentication</a> - True to enable
--   mapping of AWS Identity and Access Management (IAM) accounts to
--   database accounts, and otherwise false. Default: <tt>false</tt></li>
--   <li><a>rdctpitDBClusterIdentifier</a> - The name of the new DB cluster
--   to be created. Constraints: * Must contain from 1 to 63 letters,
--   numbers, or hyphens * First character must be a letter * Cannot end
--   with a hyphen or contain two consecutive hyphens</li>
--   <li><a>rdctpitSourceDBClusterIdentifier</a> - The identifier of the
--   source DB cluster from which to restore. Constraints: * Must match the
--   identifier of an existing DBCluster.</li>
--   </ul>
restoreDBClusterToPointInTime :: Text -> Text -> RestoreDBClusterToPointInTime

-- | <i>See:</i> <a>restoreDBClusterToPointInTime</a> smart constructor.
data RestoreDBClusterToPointInTime

-- | A value that is set to <tt>true</tt> to restore the DB cluster to the
--   latest restorable backup time, and <tt>false</tt> otherwise. Default:
--   <tt>false</tt> Constraints: Cannot be specified if
--   <tt>RestoreToTime</tt> parameter is provided.
rdctpitUseLatestRestorableTime :: Lens' RestoreDBClusterToPointInTime (Maybe Bool)

-- | The DB subnet group name to use for the new DB cluster. Constraints:
--   If supplied, must match the name of an existing DBSubnetGroup.
--   Example: <tt>mySubnetgroup</tt>
rdctpitDBSubnetGroupName :: Lens' RestoreDBClusterToPointInTime (Maybe Text)

-- | The target backtrack window, in seconds. To disable backtracking, set
--   this value to 0. Default: 0 Constraints: * If specified, this value
--   must be set to a number from 0 to 259,200 (72 hours).
rdctpitBacktrackWindow :: Lens' RestoreDBClusterToPointInTime (Maybe Integer)

-- | The AWS KMS key identifier to use when restoring an encrypted DB
--   cluster from an encrypted DB cluster. The KMS key identifier is the
--   Amazon Resource Name (ARN) for the KMS encryption key. If you are
--   restoring a DB cluster with the same AWS account that owns the KMS
--   encryption key used to encrypt the new DB cluster, then you can use
--   the KMS key alias instead of the ARN for the KMS encryption key. You
--   can restore to a new DB cluster and encrypt the new DB cluster with a
--   KMS key that is different than the KMS key used to encrypt the source
--   DB cluster. The new DB cluster is encrypted with the KMS key
--   identified by the <tt>KmsKeyId</tt> parameter. If you do not specify a
--   value for the <tt>KmsKeyId</tt> parameter, then the following will
--   occur: * If the DB cluster is encrypted, then the restored DB cluster
--   is encrypted using the KMS key that was used to encrypt the source DB
--   cluster. * If the DB cluster is not encrypted, then the restored DB
--   cluster is not encrypted. If <tt>DBClusterIdentifier</tt> refers to a
--   DB cluster that is not encrypted, then the restore request is
--   rejected.
rdctpitKMSKeyId :: Lens' RestoreDBClusterToPointInTime (Maybe Text)

-- | A list of VPC security groups that the new DB cluster belongs to.
rdctpitVPCSecurityGroupIds :: Lens' RestoreDBClusterToPointInTime [Text]

-- | The type of restore to be performed. You can specify one of the
--   following values: * <tt>full-copy</tt> - The new DB cluster is
--   restored as a full copy of the source DB cluster. *
--   <tt>copy-on-write</tt> - The new DB cluster is restored as a clone of
--   the source DB cluster. Constraints: You can't specify
--   <tt>copy-on-write</tt> if the engine version of the source DB cluster
--   is earlier than 1.11. If you don't specify a <tt>RestoreType</tt>
--   value, then the new DB cluster is restored as a full copy of the
--   source DB cluster.
rdctpitRestoreType :: Lens' RestoreDBClusterToPointInTime (Maybe Text)

-- | The name of the option group for the new DB cluster.
rdctpitOptionGroupName :: Lens' RestoreDBClusterToPointInTime (Maybe Text)

-- | The date and time to restore the DB cluster to. Valid Values: Value
--   must be a time in Universal Coordinated Time (UTC) format Constraints:
--   * Must be before the latest restorable time for the DB instance * Must
--   be specified if <tt>UseLatestRestorableTime</tt> parameter is not
--   provided * Cannot be specified if <tt>UseLatestRestorableTime</tt>
--   parameter is true * Cannot be specified if <tt>RestoreType</tt>
--   parameter is <tt>copy-on-write</tt> Example:
--   <tt>2015-03-07T23:45:00Z</tt>
rdctpitRestoreToTime :: Lens' RestoreDBClusterToPointInTime (Maybe UTCTime)

-- | Undocumented member.
rdctpitTags :: Lens' RestoreDBClusterToPointInTime [Tag]

-- | The port number on which the new DB cluster accepts connections.
--   Constraints: Value must be <tt>1150-65535</tt> Default: The same port
--   as the original DB cluster.
rdctpitPort :: Lens' RestoreDBClusterToPointInTime (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. Default:
--   <tt>false</tt>
rdctpitEnableIAMDatabaseAuthentication :: Lens' RestoreDBClusterToPointInTime (Maybe Bool)

-- | The name of the new DB cluster to be created. Constraints: * Must
--   contain from 1 to 63 letters, numbers, or hyphens * First character
--   must be a letter * Cannot end with a hyphen or contain two consecutive
--   hyphens
rdctpitDBClusterIdentifier :: Lens' RestoreDBClusterToPointInTime Text

-- | The identifier of the source DB cluster from which to restore.
--   Constraints: * Must match the identifier of an existing DBCluster.
rdctpitSourceDBClusterIdentifier :: Lens' RestoreDBClusterToPointInTime Text

-- | Creates a value of <a>RestoreDBClusterToPointInTimeResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdctpitrsDBCluster</a> - Undocumented member.</li>
--   <li><a>rdctpitrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
restoreDBClusterToPointInTimeResponse :: Int -> RestoreDBClusterToPointInTimeResponse

-- | <i>See:</i> <a>restoreDBClusterToPointInTimeResponse</a> smart
--   constructor.
data RestoreDBClusterToPointInTimeResponse

-- | Undocumented member.
rdctpitrsDBCluster :: Lens' RestoreDBClusterToPointInTimeResponse (Maybe DBCluster)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdctpitrsResponseStatus :: Lens' RestoreDBClusterToPointInTimeResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTimeResponse
instance Data.Data.Data Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTimeResponse
instance GHC.Show.Show Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTimeResponse
instance GHC.Read.Read Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTimeResponse
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTimeResponse
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance Data.Data.Data Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance GHC.Show.Show Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance GHC.Read.Read Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTimeResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RestoreDBClusterToPointInTime.RestoreDBClusterToPointInTime


-- | Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
--   
--   If a DB snapshot is specified, the target DB cluster is created from
--   the source DB snapshot with a default configuration and default
--   security group.
--   
--   If a DB cluster snapshot is specified, the target DB cluster is
--   created from the source DB cluster restore point with the same
--   configuration as the original source DB cluster, except that the new
--   DB cluster is created with the default security group.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.RestoreDBClusterFromSnapshot

-- | Creates a value of <a>RestoreDBClusterFromSnapshot</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdbcfsEngineVersion</a> - The version of the database engine to
--   use for the new DB cluster.</li>
--   <li><a>rdbcfsDBSubnetGroupName</a> - The name of the DB subnet group
--   to use for the new DB cluster. Constraints: If supplied, must match
--   the name of an existing DBSubnetGroup. Example:
--   <tt>mySubnetgroup</tt></li>
--   <li><a>rdbcfsBacktrackWindow</a> - The target backtrack window, in
--   seconds. To disable backtracking, set this value to 0. Default: 0
--   Constraints: * If specified, this value must be set to a number from 0
--   to 259,200 (72 hours).</li>
--   <li><a>rdbcfsAvailabilityZones</a> - Provides the list of EC2
--   Availability Zones that instances in the restored DB cluster can be
--   created in.</li>
--   <li><a>rdbcfsKMSKeyId</a> - The AWS KMS key identifier to use when
--   restoring an encrypted DB cluster from a DB snapshot or DB cluster
--   snapshot. The KMS key identifier is the Amazon Resource Name (ARN) for
--   the KMS encryption key. If you are restoring a DB cluster with the
--   same AWS account that owns the KMS encryption key used to encrypt the
--   new DB cluster, then you can use the KMS key alias instead of the ARN
--   for the KMS encryption key. If you do not specify a value for the
--   <tt>KmsKeyId</tt> parameter, then the following will occur: * If the
--   DB snapshot or DB cluster snapshot in <tt>SnapshotIdentifier</tt> is
--   encrypted, then the restored DB cluster is encrypted using the KMS key
--   that was used to encrypt the DB snapshot or DB cluster snapshot. * If
--   the DB snapshot or DB cluster snapshot in <tt>SnapshotIdentifier</tt>
--   is not encrypted, then the restored DB cluster is not encrypted.</li>
--   <li><a>rdbcfsVPCSecurityGroupIds</a> - A list of VPC security groups
--   that the new DB cluster will belong to.</li>
--   <li><a>rdbcfsDatabaseName</a> - The database name for the restored DB
--   cluster.</li>
--   <li><a>rdbcfsOptionGroupName</a> - The name of the option group to use
--   for the restored DB cluster.</li>
--   <li><a>rdbcfsTags</a> - The tags to be assigned to the restored DB
--   cluster.</li>
--   <li><a>rdbcfsPort</a> - The port number on which the new DB cluster
--   accepts connections. Constraints: Value must be <tt>1150-65535</tt>
--   Default: The same port as the original DB cluster.</li>
--   <li><a>rdbcfsEnableIAMDatabaseAuthentication</a> - True to enable
--   mapping of AWS Identity and Access Management (IAM) accounts to
--   database accounts, and otherwise false. Default: <tt>false</tt></li>
--   <li><a>rdbcfsDBClusterIdentifier</a> - The name of the DB cluster to
--   create from the DB snapshot or DB cluster snapshot. This parameter
--   isn't case-sensitive. Constraints: * Must contain from 1 to 63
--   letters, numbers, or hyphens * First character must be a letter *
--   Cannot end with a hyphen or contain two consecutive hyphens Example:
--   <tt>my-snapshot-id</tt></li>
--   <li><a>rdbcfsSnapshotIdentifier</a> - The identifier for the DB
--   snapshot or DB cluster snapshot to restore from. You can use either
--   the name or the Amazon Resource Name (ARN) to specify a DB cluster
--   snapshot. However, you can use only the ARN to specify a DB snapshot.
--   Constraints: * Must match the identifier of an existing Snapshot.</li>
--   <li><a>rdbcfsEngine</a> - The database engine to use for the new DB
--   cluster. Default: The same as source Constraint: Must be compatible
--   with the engine of the source</li>
--   </ul>
restoreDBClusterFromSnapshot :: Text -> Text -> Text -> RestoreDBClusterFromSnapshot

-- | <i>See:</i> <a>restoreDBClusterFromSnapshot</a> smart constructor.
data RestoreDBClusterFromSnapshot

-- | The version of the database engine to use for the new DB cluster.
rdbcfsEngineVersion :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)

-- | The name of the DB subnet group to use for the new DB cluster.
--   Constraints: If supplied, must match the name of an existing
--   DBSubnetGroup. Example: <tt>mySubnetgroup</tt>
rdbcfsDBSubnetGroupName :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)

-- | The target backtrack window, in seconds. To disable backtracking, set
--   this value to 0. Default: 0 Constraints: * If specified, this value
--   must be set to a number from 0 to 259,200 (72 hours).
rdbcfsBacktrackWindow :: Lens' RestoreDBClusterFromSnapshot (Maybe Integer)

-- | Provides the list of EC2 Availability Zones that instances in the
--   restored DB cluster can be created in.
rdbcfsAvailabilityZones :: Lens' RestoreDBClusterFromSnapshot [Text]

-- | The AWS KMS key identifier to use when restoring an encrypted DB
--   cluster from a DB snapshot or DB cluster snapshot. The KMS key
--   identifier is the Amazon Resource Name (ARN) for the KMS encryption
--   key. If you are restoring a DB cluster with the same AWS account that
--   owns the KMS encryption key used to encrypt the new DB cluster, then
--   you can use the KMS key alias instead of the ARN for the KMS
--   encryption key. If you do not specify a value for the
--   <tt>KmsKeyId</tt> parameter, then the following will occur: * If the
--   DB snapshot or DB cluster snapshot in <tt>SnapshotIdentifier</tt> is
--   encrypted, then the restored DB cluster is encrypted using the KMS key
--   that was used to encrypt the DB snapshot or DB cluster snapshot. * If
--   the DB snapshot or DB cluster snapshot in <tt>SnapshotIdentifier</tt>
--   is not encrypted, then the restored DB cluster is not encrypted.
rdbcfsKMSKeyId :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)

-- | A list of VPC security groups that the new DB cluster will belong to.
rdbcfsVPCSecurityGroupIds :: Lens' RestoreDBClusterFromSnapshot [Text]

-- | The database name for the restored DB cluster.
rdbcfsDatabaseName :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)

-- | The name of the option group to use for the restored DB cluster.
rdbcfsOptionGroupName :: Lens' RestoreDBClusterFromSnapshot (Maybe Text)

-- | The tags to be assigned to the restored DB cluster.
rdbcfsTags :: Lens' RestoreDBClusterFromSnapshot [Tag]

-- | The port number on which the new DB cluster accepts connections.
--   Constraints: Value must be <tt>1150-65535</tt> Default: The same port
--   as the original DB cluster.
rdbcfsPort :: Lens' RestoreDBClusterFromSnapshot (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. Default:
--   <tt>false</tt>
rdbcfsEnableIAMDatabaseAuthentication :: Lens' RestoreDBClusterFromSnapshot (Maybe Bool)

-- | The name of the DB cluster to create from the DB snapshot or DB
--   cluster snapshot. This parameter isn't case-sensitive. Constraints: *
--   Must contain from 1 to 63 letters, numbers, or hyphens * First
--   character must be a letter * Cannot end with a hyphen or contain two
--   consecutive hyphens Example: <tt>my-snapshot-id</tt>
rdbcfsDBClusterIdentifier :: Lens' RestoreDBClusterFromSnapshot Text

-- | The identifier for the DB snapshot or DB cluster snapshot to restore
--   from. You can use either the name or the Amazon Resource Name (ARN) to
--   specify a DB cluster snapshot. However, you can use only the ARN to
--   specify a DB snapshot. Constraints: * Must match the identifier of an
--   existing Snapshot.
rdbcfsSnapshotIdentifier :: Lens' RestoreDBClusterFromSnapshot Text

-- | The database engine to use for the new DB cluster. Default: The same
--   as source Constraint: Must be compatible with the engine of the source
rdbcfsEngine :: Lens' RestoreDBClusterFromSnapshot Text

-- | Creates a value of <a>RestoreDBClusterFromSnapshotResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdbcfsrsDBCluster</a> - Undocumented member.</li>
--   <li><a>rdbcfsrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
restoreDBClusterFromSnapshotResponse :: Int -> RestoreDBClusterFromSnapshotResponse

-- | <i>See:</i> <a>restoreDBClusterFromSnapshotResponse</a> smart
--   constructor.
data RestoreDBClusterFromSnapshotResponse

-- | Undocumented member.
rdbcfsrsDBCluster :: Lens' RestoreDBClusterFromSnapshotResponse (Maybe DBCluster)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdbcfsrsResponseStatus :: Lens' RestoreDBClusterFromSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshotResponse
instance Data.Data.Data Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshotResponse
instance GHC.Show.Show Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshotResponse
instance GHC.Read.Read Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshotResponse
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshotResponse
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance Data.Data.Data Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance GHC.Show.Show Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance GHC.Read.Read Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RestoreDBClusterFromSnapshot.RestoreDBClusterFromSnapshot


-- | Creates an Amazon Aurora DB cluster from data stored in an Amazon S3
--   bucket. Amazon RDS must be authorized to access the Amazon S3 bucket
--   and the data must be created using the Percona XtraBackup utility as
--   described in <a>Migrating Data from MySQL by Using an Amazon S3
--   Bucket</a> .
module Network.AWS.RDS.RestoreDBClusterFromS3

-- | Creates a value of <a>RestoreDBClusterFromS3</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdcfsEngineVersion</a> - The version number of the database
--   engine to use. <b>Aurora MySQL</b> Example: <tt>5.6.10a</tt> <b>Aurora
--   PostgreSQL</b> Example: <tt>9.6.3</tt></li>
--   <li><a>rdcfsStorageEncrypted</a> - Specifies whether the restored DB
--   cluster is encrypted.</li>
--   <li><a>rdcfsDBSubnetGroupName</a> - A DB subnet group to associate
--   with the restored DB cluster. Constraints: If supplied, must match the
--   name of an existing DBSubnetGroup. Example:
--   <tt>mySubnetgroup</tt></li>
--   <li><a>rdcfsBacktrackWindow</a> - The target backtrack window, in
--   seconds. To disable backtracking, set this value to 0. Default: 0
--   Constraints: * If specified, this value must be set to a number from 0
--   to 259,200 (72 hours).</li>
--   <li><a>rdcfsPreferredMaintenanceWindow</a> - The weekly time range
--   during which system maintenance can occur, in Universal Coordinated
--   Time (UTC). Format: <tt>ddd:hh24:mi-ddd:hh24:mi</tt> The default is a
--   30-minute window selected at random from an 8-hour block of time for
--   each AWS Region, occurring on a random day of the week. To see the
--   time blocks available, see <a>Adjusting the Preferred Maintenance
--   Window</a> in the <i>Amazon RDS User Guide.</i> Valid Days: Mon, Tue,
--   Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.</li>
--   <li><a>rdcfsAvailabilityZones</a> - A list of EC2 Availability Zones
--   that instances in the restored DB cluster can be created in.</li>
--   <li><a>rdcfsCharacterSetName</a> - A value that indicates that the
--   restored DB cluster should be associated with the specified
--   CharacterSet.</li>
--   <li><a>rdcfsKMSKeyId</a> - The AWS KMS key identifier for an encrypted
--   DB cluster. The KMS key identifier is the Amazon Resource Name (ARN)
--   for the KMS encryption key. If you are creating a DB cluster with the
--   same AWS account that owns the KMS encryption key used to encrypt the
--   new DB cluster, then you can use the KMS key alias instead of the ARN
--   for the KM encryption key. If the <tt>StorageEncrypted</tt> parameter
--   is true, and you do not specify a value for the <tt>KmsKeyId</tt>
--   parameter, then Amazon RDS will use your default encryption key. AWS
--   KMS creates the default encryption key for your AWS account. Your AWS
--   account has a different default encryption key for each AWS
--   Region.</li>
--   <li><a>rdcfsPreferredBackupWindow</a> - The daily time range during
--   which automated backups are created if automated backups are enabled
--   using the <tt>BackupRetentionPeriod</tt> parameter. The default is a
--   30-minute window selected at random from an 8-hour block of time for
--   each AWS Region. To see the time blocks available, see <a>Adjusting
--   the Preferred Maintenance Window</a> in the <i>Amazon RDS User
--   Guide.</i> Constraints: * Must be in the format
--   <tt>hh24:mi-hh24:mi</tt> . * Must be in Universal Coordinated Time
--   (UTC). * Must not conflict with the preferred maintenance window. *
--   Must be at least 30 minutes.</li>
--   <li><a>rdcfsBackupRetentionPeriod</a> - The number of days for which
--   automated backups of the restored DB cluster are retained. You must
--   specify a minimum value of 1. Default: 1 Constraints: * Must be a
--   value from 1 to 35</li>
--   <li><a>rdcfsVPCSecurityGroupIds</a> - A list of EC2 VPC security
--   groups to associate with the restored DB cluster.</li>
--   <li><a>rdcfsDatabaseName</a> - The database name for the restored DB
--   cluster.</li>
--   <li><a>rdcfsDBClusterParameterGroupName</a> - The name of the DB
--   cluster parameter group to associate with the restored DB cluster. If
--   this argument is omitted, <tt>default.aurora5.6</tt> is used.
--   Constraints: * If supplied, must match the name of an existing
--   DBClusterParameterGroup.</li>
--   <li><a>rdcfsS3Prefix</a> - The prefix for all of the file names that
--   contain the data used to create the Amazon Aurora DB cluster. If you
--   do not specify a <b>SourceS3Prefix</b> value, then the Amazon Aurora
--   DB cluster is created by using all of the files in the Amazon S3
--   bucket.</li>
--   <li><a>rdcfsOptionGroupName</a> - A value that indicates that the
--   restored DB cluster should be associated with the specified option
--   group. Permanent options can't be removed from an option group. An
--   option group can't be removed from a DB cluster once it is associated
--   with a DB cluster.</li>
--   <li><a>rdcfsTags</a> - Undocumented member.</li>
--   <li><a>rdcfsPort</a> - The port number on which the instances in the
--   restored DB cluster accept connections. Default: <tt>3306</tt></li>
--   <li><a>rdcfsEnableIAMDatabaseAuthentication</a> - True to enable
--   mapping of AWS Identity and Access Management (IAM) accounts to
--   database accounts, and otherwise false. Default: <tt>false</tt></li>
--   <li><a>rdcfsDBClusterIdentifier</a> - The name of the DB cluster to
--   create from the source data in the Amazon S3 bucket. This parameter is
--   isn't case-sensitive. Constraints: * Must contain from 1 to 63
--   letters, numbers, or hyphens. * First character must be a letter. *
--   Cannot end with a hyphen or contain two consecutive hyphens. Example:
--   <tt>my-cluster1</tt></li>
--   <li><a>rdcfsEngine</a> - The name of the database engine to be used
--   for the restored DB cluster. Valid Values: <tt>aurora</tt> ,
--   <tt>aurora-postgresql</tt></li>
--   <li><a>rdcfsMasterUsername</a> - The name of the master user for the
--   restored DB cluster. Constraints: * Must be 1 to 16 letters or
--   numbers. * First character must be a letter. * Cannot be a reserved
--   word for the chosen database engine.</li>
--   <li><a>rdcfsMasterUserPassword</a> - The password for the master
--   database user. This password can contain any printable ASCII character
--   except "/", """, or "@". Constraints: Must contain from 8 to 41
--   characters.</li>
--   <li><a>rdcfsSourceEngine</a> - The identifier for the database engine
--   that was backed up to create the files stored in the Amazon S3 bucket.
--   Valid values: <tt>mysql</tt></li>
--   <li><a>rdcfsSourceEngineVersion</a> - The version of the database that
--   the backup files were created from. MySQL version 5.5 and 5.6 are
--   supported. Example: <tt>5.6.22</tt></li>
--   <li><a>rdcfsS3BucketName</a> - The name of the Amazon S3 bucket that
--   contains the data used to create the Amazon Aurora DB cluster.</li>
--   <li><a>rdcfsS3IngestionRoleARN</a> - The Amazon Resource Name (ARN) of
--   the AWS Identity and Access Management (IAM) role that authorizes
--   Amazon RDS to access the Amazon S3 bucket on your behalf.</li>
--   </ul>
restoreDBClusterFromS3 :: Text -> Text -> Text -> Text -> Text -> Text -> Text -> Text -> RestoreDBClusterFromS3

-- | <i>See:</i> <a>restoreDBClusterFromS3</a> smart constructor.
data RestoreDBClusterFromS3

-- | The version number of the database engine to use. <b>Aurora MySQL</b>
--   Example: <tt>5.6.10a</tt> <b>Aurora PostgreSQL</b> Example:
--   <tt>9.6.3</tt>
rdcfsEngineVersion :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | Specifies whether the restored DB cluster is encrypted.
rdcfsStorageEncrypted :: Lens' RestoreDBClusterFromS3 (Maybe Bool)

-- | A DB subnet group to associate with the restored DB cluster.
--   Constraints: If supplied, must match the name of an existing
--   DBSubnetGroup. Example: <tt>mySubnetgroup</tt>
rdcfsDBSubnetGroupName :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | The target backtrack window, in seconds. To disable backtracking, set
--   this value to 0. Default: 0 Constraints: * If specified, this value
--   must be set to a number from 0 to 259,200 (72 hours).
rdcfsBacktrackWindow :: Lens' RestoreDBClusterFromS3 (Maybe Integer)

-- | The weekly time range during which system maintenance can occur, in
--   Universal Coordinated Time (UTC). Format:
--   <tt>ddd:hh24:mi-ddd:hh24:mi</tt> The default is a 30-minute window
--   selected at random from an 8-hour block of time for each AWS Region,
--   occurring on a random day of the week. To see the time blocks
--   available, see <a>Adjusting the Preferred Maintenance Window</a> in
--   the <i>Amazon RDS User Guide.</i> Valid Days: Mon, Tue, Wed, Thu, Fri,
--   Sat, Sun. Constraints: Minimum 30-minute window.
rdcfsPreferredMaintenanceWindow :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | A list of EC2 Availability Zones that instances in the restored DB
--   cluster can be created in.
rdcfsAvailabilityZones :: Lens' RestoreDBClusterFromS3 [Text]

-- | A value that indicates that the restored DB cluster should be
--   associated with the specified CharacterSet.
rdcfsCharacterSetName :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | The AWS KMS key identifier for an encrypted DB cluster. The KMS key
--   identifier is the Amazon Resource Name (ARN) for the KMS encryption
--   key. If you are creating a DB cluster with the same AWS account that
--   owns the KMS encryption key used to encrypt the new DB cluster, then
--   you can use the KMS key alias instead of the ARN for the KM encryption
--   key. If the <tt>StorageEncrypted</tt> parameter is true, and you do
--   not specify a value for the <tt>KmsKeyId</tt> parameter, then Amazon
--   RDS will use your default encryption key. AWS KMS creates the default
--   encryption key for your AWS account. Your AWS account has a different
--   default encryption key for each AWS Region.
rdcfsKMSKeyId :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | The daily time range during which automated backups are created if
--   automated backups are enabled using the <tt>BackupRetentionPeriod</tt>
--   parameter. The default is a 30-minute window selected at random from
--   an 8-hour block of time for each AWS Region. To see the time blocks
--   available, see <a>Adjusting the Preferred Maintenance Window</a> in
--   the <i>Amazon RDS User Guide.</i> Constraints: * Must be in the format
--   <tt>hh24:mi-hh24:mi</tt> . * Must be in Universal Coordinated Time
--   (UTC). * Must not conflict with the preferred maintenance window. *
--   Must be at least 30 minutes.
rdcfsPreferredBackupWindow :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | The number of days for which automated backups of the restored DB
--   cluster are retained. You must specify a minimum value of 1. Default:
--   1 Constraints: * Must be a value from 1 to 35
rdcfsBackupRetentionPeriod :: Lens' RestoreDBClusterFromS3 (Maybe Int)

-- | A list of EC2 VPC security groups to associate with the restored DB
--   cluster.
rdcfsVPCSecurityGroupIds :: Lens' RestoreDBClusterFromS3 [Text]

-- | The database name for the restored DB cluster.
rdcfsDatabaseName :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | The name of the DB cluster parameter group to associate with the
--   restored DB cluster. If this argument is omitted,
--   <tt>default.aurora5.6</tt> is used. Constraints: * If supplied, must
--   match the name of an existing DBClusterParameterGroup.
rdcfsDBClusterParameterGroupName :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | The prefix for all of the file names that contain the data used to
--   create the Amazon Aurora DB cluster. If you do not specify a
--   <b>SourceS3Prefix</b> value, then the Amazon Aurora DB cluster is
--   created by using all of the files in the Amazon S3 bucket.
rdcfsS3Prefix :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | A value that indicates that the restored DB cluster should be
--   associated with the specified option group. Permanent options can't be
--   removed from an option group. An option group can't be removed from a
--   DB cluster once it is associated with a DB cluster.
rdcfsOptionGroupName :: Lens' RestoreDBClusterFromS3 (Maybe Text)

-- | Undocumented member.
rdcfsTags :: Lens' RestoreDBClusterFromS3 [Tag]

-- | The port number on which the instances in the restored DB cluster
--   accept connections. Default: <tt>3306</tt>
rdcfsPort :: Lens' RestoreDBClusterFromS3 (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. Default:
--   <tt>false</tt>
rdcfsEnableIAMDatabaseAuthentication :: Lens' RestoreDBClusterFromS3 (Maybe Bool)

-- | The name of the DB cluster to create from the source data in the
--   Amazon S3 bucket. This parameter is isn't case-sensitive. Constraints:
--   * Must contain from 1 to 63 letters, numbers, or hyphens. * First
--   character must be a letter. * Cannot end with a hyphen or contain two
--   consecutive hyphens. Example: <tt>my-cluster1</tt>
rdcfsDBClusterIdentifier :: Lens' RestoreDBClusterFromS3 Text

-- | The name of the database engine to be used for the restored DB
--   cluster. Valid Values: <tt>aurora</tt> , <tt>aurora-postgresql</tt>
rdcfsEngine :: Lens' RestoreDBClusterFromS3 Text

-- | The name of the master user for the restored DB cluster. Constraints:
--   * Must be 1 to 16 letters or numbers. * First character must be a
--   letter. * Cannot be a reserved word for the chosen database engine.
rdcfsMasterUsername :: Lens' RestoreDBClusterFromS3 Text

-- | The password for the master database user. This password can contain
--   any printable ASCII character except "/", """, or "@". Constraints:
--   Must contain from 8 to 41 characters.
rdcfsMasterUserPassword :: Lens' RestoreDBClusterFromS3 Text

-- | The identifier for the database engine that was backed up to create
--   the files stored in the Amazon S3 bucket. Valid values: <tt>mysql</tt>
rdcfsSourceEngine :: Lens' RestoreDBClusterFromS3 Text

-- | The version of the database that the backup files were created from.
--   MySQL version 5.5 and 5.6 are supported. Example: <tt>5.6.22</tt>
rdcfsSourceEngineVersion :: Lens' RestoreDBClusterFromS3 Text

-- | The name of the Amazon S3 bucket that contains the data used to create
--   the Amazon Aurora DB cluster.
rdcfsS3BucketName :: Lens' RestoreDBClusterFromS3 Text

-- | The Amazon Resource Name (ARN) of the AWS Identity and Access
--   Management (IAM) role that authorizes Amazon RDS to access the Amazon
--   S3 bucket on your behalf.
rdcfsS3IngestionRoleARN :: Lens' RestoreDBClusterFromS3 Text

-- | Creates a value of <a>RestoreDBClusterFromS3Response</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdcfsrsDBCluster</a> - Undocumented member.</li>
--   <li><a>rdcfsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
restoreDBClusterFromS3Response :: Int -> RestoreDBClusterFromS3Response

-- | <i>See:</i> <a>restoreDBClusterFromS3Response</a> smart constructor.
data RestoreDBClusterFromS3Response

-- | Undocumented member.
rdcfsrsDBCluster :: Lens' RestoreDBClusterFromS3Response (Maybe DBCluster)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdcfsrsResponseStatus :: Lens' RestoreDBClusterFromS3Response Int
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3Response
instance Data.Data.Data Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3Response
instance GHC.Show.Show Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3Response
instance GHC.Read.Read Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3Response
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3Response
instance GHC.Generics.Generic Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance Data.Data.Data Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance GHC.Show.Show Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance GHC.Read.Read Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance GHC.Classes.Eq Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3Response
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance Control.DeepSeq.NFData Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RestoreDBClusterFromS3.RestoreDBClusterFromS3


-- | Modifies the parameters of a DB parameter group to the engine/system
--   default value. To reset specific parameters, provide a list of the
--   following: <tt>ParameterName</tt> and <tt>ApplyMethod</tt> . To reset
--   the entire DB parameter group, specify the <tt>DBParameterGroup</tt>
--   name and <tt>ResetAllParameters</tt> parameters. When resetting the
--   entire group, dynamic parameters are updated immediately and static
--   parameters are set to <tt>pending-reboot</tt> to take effect on the
--   next DB instance restart or <tt>RebootDBInstance</tt> request.
module Network.AWS.RDS.ResetDBParameterGroup

-- | Creates a value of <a>ResetDBParameterGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdpgResetAllParameters</a> - Specifies whether (<tt>true</tt> )
--   or not (<tt>false</tt> ) to reset all parameters in the DB parameter
--   group to default values. Default: <tt>true</tt></li>
--   <li><a>rdpgParameters</a> - To reset the entire DB parameter group,
--   specify the <tt>DBParameterGroup</tt> name and
--   <tt>ResetAllParameters</tt> parameters. To reset specific parameters,
--   provide a list of the following: <tt>ParameterName</tt> and
--   <tt>ApplyMethod</tt> . A maximum of 20 parameters can be modified in a
--   single request. <b>MySQL</b> Valid Values (for Apply method):
--   <tt>immediate</tt> | <tt>pending-reboot</tt> You can use the immediate
--   value with dynamic parameters only. You can use the
--   <tt>pending-reboot</tt> value for both dynamic and static parameters,
--   and changes are applied when DB instance reboots. <b>MariaDB</b> Valid
--   Values (for Apply method): <tt>immediate</tt> |
--   <tt>pending-reboot</tt> You can use the immediate value with dynamic
--   parameters only. You can use the <tt>pending-reboot</tt> value for
--   both dynamic and static parameters, and changes are applied when DB
--   instance reboots. <b>Oracle</b> Valid Values (for Apply method):
--   <tt>pending-reboot</tt></li>
--   <li><a>rdpgDBParameterGroupName</a> - The name of the DB parameter
--   group. Constraints: * Must match the name of an existing
--   DBParameterGroup.</li>
--   </ul>
resetDBParameterGroup :: Text -> ResetDBParameterGroup

-- | <i>See:</i> <a>resetDBParameterGroup</a> smart constructor.
data ResetDBParameterGroup

-- | Specifies whether (<tt>true</tt> ) or not (<tt>false</tt> ) to reset
--   all parameters in the DB parameter group to default values. Default:
--   <tt>true</tt>
rdpgResetAllParameters :: Lens' ResetDBParameterGroup (Maybe Bool)

-- | To reset the entire DB parameter group, specify the
--   <tt>DBParameterGroup</tt> name and <tt>ResetAllParameters</tt>
--   parameters. To reset specific parameters, provide a list of the
--   following: <tt>ParameterName</tt> and <tt>ApplyMethod</tt> . A maximum
--   of 20 parameters can be modified in a single request. <b>MySQL</b>
--   Valid Values (for Apply method): <tt>immediate</tt> |
--   <tt>pending-reboot</tt> You can use the immediate value with dynamic
--   parameters only. You can use the <tt>pending-reboot</tt> value for
--   both dynamic and static parameters, and changes are applied when DB
--   instance reboots. <b>MariaDB</b> Valid Values (for Apply method):
--   <tt>immediate</tt> | <tt>pending-reboot</tt> You can use the immediate
--   value with dynamic parameters only. You can use the
--   <tt>pending-reboot</tt> value for both dynamic and static parameters,
--   and changes are applied when DB instance reboots. <b>Oracle</b> Valid
--   Values (for Apply method): <tt>pending-reboot</tt>
rdpgParameters :: Lens' ResetDBParameterGroup [Parameter]

-- | The name of the DB parameter group. Constraints: * Must match the name
--   of an existing DBParameterGroup.
rdpgDBParameterGroupName :: Lens' ResetDBParameterGroup Text

-- | Creates a value of <a>DBParameterGroupNameMessage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpgnmDBParameterGroupName</a> - Provides the name of the DB
--   parameter group.</li>
--   </ul>
dbParameterGroupNameMessage :: DBParameterGroupNameMessage

-- | Contains the result of a successful invocation of the
--   <tt>ModifyDBParameterGroup</tt> or <tt>ResetDBParameterGroup</tt>
--   action.
--   
--   <i>See:</i> <a>dbParameterGroupNameMessage</a> smart constructor.
data DBParameterGroupNameMessage

-- | Provides the name of the DB parameter group.
dpgnmDBParameterGroupName :: Lens' DBParameterGroupNameMessage (Maybe Text)
instance GHC.Generics.Generic Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance Data.Data.Data Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance GHC.Show.Show Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance GHC.Read.Read Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ResetDBParameterGroup.ResetDBParameterGroup


-- | Modifies the parameters of a DB cluster parameter group to the default
--   value. To reset specific parameters submit a list of the following:
--   <tt>ParameterName</tt> and <tt>ApplyMethod</tt> . To reset the entire
--   DB cluster parameter group, specify the
--   <tt>DBClusterParameterGroupName</tt> and <tt>ResetAllParameters</tt>
--   parameters.
--   
--   When resetting the entire group, dynamic parameters are updated
--   immediately and static parameters are set to <tt>pending-reboot</tt>
--   to take effect on the next DB instance restart or
--   <tt>RebootDBInstance</tt> request. You must call
--   <tt>RebootDBInstance</tt> for every DB instance in your DB cluster
--   that you want the updated static parameter to apply to.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.ResetDBClusterParameterGroup

-- | Creates a value of <a>ResetDBClusterParameterGroup</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdcpgResetAllParameters</a> - A value that is set to
--   <tt>true</tt> to reset all parameters in the DB cluster parameter
--   group to their default values, and <tt>false</tt> otherwise. You can't
--   use this parameter if there is a list of parameter names specified for
--   the <tt>Parameters</tt> parameter.</li>
--   <li><a>rdcpgParameters</a> - A list of parameter names in the DB
--   cluster parameter group to reset to the default values. You can't use
--   this parameter if the <tt>ResetAllParameters</tt> parameter is set to
--   <tt>true</tt> .</li>
--   <li><a>rdcpgDBClusterParameterGroupName</a> - The name of the DB
--   cluster parameter group to reset.</li>
--   </ul>
resetDBClusterParameterGroup :: Text -> ResetDBClusterParameterGroup

-- | <i>See:</i> <a>resetDBClusterParameterGroup</a> smart constructor.
data ResetDBClusterParameterGroup

-- | A value that is set to <tt>true</tt> to reset all parameters in the DB
--   cluster parameter group to their default values, and <tt>false</tt>
--   otherwise. You can't use this parameter if there is a list of
--   parameter names specified for the <tt>Parameters</tt> parameter.
rdcpgResetAllParameters :: Lens' ResetDBClusterParameterGroup (Maybe Bool)

-- | A list of parameter names in the DB cluster parameter group to reset
--   to the default values. You can't use this parameter if the
--   <tt>ResetAllParameters</tt> parameter is set to <tt>true</tt> .
rdcpgParameters :: Lens' ResetDBClusterParameterGroup [Parameter]

-- | The name of the DB cluster parameter group to reset.
rdcpgDBClusterParameterGroupName :: Lens' ResetDBClusterParameterGroup Text

-- | Creates a value of <a>DBClusterParameterGroupNameMessage</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcpgnmDBClusterParameterGroupName</a> - The name of the DB
--   cluster parameter group. Constraints: * Must be 1 to 255 letters or
--   numbers. * First character must be a letter * Cannot end with a hyphen
--   or contain two consecutive hyphens</li>
--   </ul>
dbClusterParameterGroupNameMessage :: DBClusterParameterGroupNameMessage

-- | <i>See:</i> <a>dbClusterParameterGroupNameMessage</a> smart
--   constructor.
data DBClusterParameterGroupNameMessage

-- | The name of the DB cluster parameter group. Constraints: * Must be 1
--   to 255 letters or numbers. * First character must be a letter * Cannot
--   end with a hyphen or contain two consecutive hyphens
dcpgnmDBClusterParameterGroupName :: Lens' DBClusterParameterGroupNameMessage (Maybe Text)
instance GHC.Generics.Generic Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance Data.Data.Data Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance GHC.Show.Show Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance GHC.Read.Read Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ResetDBClusterParameterGroup.ResetDBClusterParameterGroup


-- | Removes metadata tags from an Amazon RDS resource.
--   
--   For an overview on tagging an Amazon RDS resource, see <a>Tagging
--   Amazon RDS Resources</a> .
module Network.AWS.RDS.RemoveTagsFromResource

-- | Creates a value of <a>RemoveTagsFromResource</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtfrResourceName</a> - The Amazon RDS resource that the tags
--   are removed from. This value is an Amazon Resource Name (ARN). For
--   information about creating an ARN, see <a>Constructing an RDS Amazon
--   Resource Name (ARN)</a> .</li>
--   <li><a>rtfrTagKeys</a> - The tag key (name) of the tag to be
--   removed.</li>
--   </ul>
removeTagsFromResource :: Text -> RemoveTagsFromResource

-- | <i>See:</i> <a>removeTagsFromResource</a> smart constructor.
data RemoveTagsFromResource

-- | The Amazon RDS resource that the tags are removed from. This value is
--   an Amazon Resource Name (ARN). For information about creating an ARN,
--   see <a>Constructing an RDS Amazon Resource Name (ARN)</a> .
rtfrResourceName :: Lens' RemoveTagsFromResource Text

-- | The tag key (name) of the tag to be removed.
rtfrTagKeys :: Lens' RemoveTagsFromResource [Text]

-- | Creates a value of <a>RemoveTagsFromResourceResponse</a> with the
--   minimum fields required to make a request.
removeTagsFromResourceResponse :: RemoveTagsFromResourceResponse

-- | <i>See:</i> <a>removeTagsFromResourceResponse</a> smart constructor.
data RemoveTagsFromResourceResponse
instance GHC.Generics.Generic Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance Data.Data.Data Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Show.Show Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Read.Read Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Classes.Eq Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Generics.Generic Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance Data.Data.Data Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Show.Show Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Read.Read Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Classes.Eq Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance Control.DeepSeq.NFData Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance Control.DeepSeq.NFData Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RemoveTagsFromResource.RemoveTagsFromResource


-- | Removes a source identifier from an existing RDS event notification
--   subscription.
module Network.AWS.RDS.RemoveSourceIdentifierFromSubscription

-- | Creates a value of <a>RemoveSourceIdentifierFromSubscription</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsifsSubscriptionName</a> - The name of the RDS event
--   notification subscription you want to remove a source identifier
--   from.</li>
--   <li><a>rsifsSourceIdentifier</a> - The source identifier to be removed
--   from the subscription, such as the <b>DB instance identifier</b> for a
--   DB instance or the name of a security group.</li>
--   </ul>
removeSourceIdentifierFromSubscription :: Text -> Text -> RemoveSourceIdentifierFromSubscription

-- | <i>See:</i> <a>removeSourceIdentifierFromSubscription</a> smart
--   constructor.
data RemoveSourceIdentifierFromSubscription

-- | The name of the RDS event notification subscription you want to remove
--   a source identifier from.
rsifsSubscriptionName :: Lens' RemoveSourceIdentifierFromSubscription Text

-- | The source identifier to be removed from the subscription, such as the
--   <b>DB instance identifier</b> for a DB instance or the name of a
--   security group.
rsifsSourceIdentifier :: Lens' RemoveSourceIdentifierFromSubscription Text

-- | Creates a value of
--   <a>RemoveSourceIdentifierFromSubscriptionResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsifsrsEventSubscription</a> - Undocumented member.</li>
--   <li><a>rsifsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
removeSourceIdentifierFromSubscriptionResponse :: Int -> RemoveSourceIdentifierFromSubscriptionResponse

-- | <i>See:</i> <a>removeSourceIdentifierFromSubscriptionResponse</a>
--   smart constructor.
data RemoveSourceIdentifierFromSubscriptionResponse

-- | Undocumented member.
rsifsrsEventSubscription :: Lens' RemoveSourceIdentifierFromSubscriptionResponse (Maybe EventSubscription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rsifsrsResponseStatus :: Lens' RemoveSourceIdentifierFromSubscriptionResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscriptionResponse
instance Data.Data.Data Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscriptionResponse
instance GHC.Show.Show Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscriptionResponse
instance GHC.Read.Read Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscriptionResponse
instance GHC.Classes.Eq Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscriptionResponse
instance GHC.Generics.Generic Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance Data.Data.Data Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance GHC.Show.Show Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance GHC.Read.Read Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance GHC.Classes.Eq Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscriptionResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RemoveSourceIdentifierFromSubscription.RemoveSourceIdentifierFromSubscription


-- | Disassociates an Identity and Access Management (IAM) role from an
--   Aurora DB cluster. For more information, see <a>Authorizing Amazon
--   Aurora to Access Other AWS Services On Your Behalf</a> .
module Network.AWS.RDS.RemoveRoleFromDBCluster

-- | Creates a value of <a>RemoveRoleFromDBCluster</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrfdcDBClusterIdentifier</a> - The name of the DB cluster to
--   disassociate the IAM role from.</li>
--   <li><a>rrfdcRoleARN</a> - The Amazon Resource Name (ARN) of the IAM
--   role to disassociate from the Aurora DB cluster, for example
--   <tt>arn:aws:iam::123456789012:role/AuroraAccessRole</tt> .</li>
--   </ul>
removeRoleFromDBCluster :: Text -> Text -> RemoveRoleFromDBCluster

-- | <i>See:</i> <a>removeRoleFromDBCluster</a> smart constructor.
data RemoveRoleFromDBCluster

-- | The name of the DB cluster to disassociate the IAM role from.
rrfdcDBClusterIdentifier :: Lens' RemoveRoleFromDBCluster Text

-- | The Amazon Resource Name (ARN) of the IAM role to disassociate from
--   the Aurora DB cluster, for example
--   <tt>arn:aws:iam::123456789012:role/AuroraAccessRole</tt> .
rrfdcRoleARN :: Lens' RemoveRoleFromDBCluster Text

-- | Creates a value of <a>RemoveRoleFromDBClusterResponse</a> with the
--   minimum fields required to make a request.
removeRoleFromDBClusterResponse :: RemoveRoleFromDBClusterResponse

-- | <i>See:</i> <a>removeRoleFromDBClusterResponse</a> smart constructor.
data RemoveRoleFromDBClusterResponse
instance GHC.Generics.Generic Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBClusterResponse
instance Data.Data.Data Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBClusterResponse
instance GHC.Show.Show Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBClusterResponse
instance GHC.Read.Read Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBClusterResponse
instance GHC.Classes.Eq Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBClusterResponse
instance GHC.Generics.Generic Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance Data.Data.Data Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance GHC.Show.Show Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance GHC.Read.Read Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance GHC.Classes.Eq Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBClusterResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RemoveRoleFromDBCluster.RemoveRoleFromDBCluster


-- | You might need to reboot your DB instance, usually for maintenance
--   reasons. For example, if you make certain modifications, or if you
--   change the DB parameter group associated with the DB instance, you
--   must reboot the instance for the changes to take effect.
--   
--   Rebooting a DB instance restarts the database engine service.
--   Rebooting a DB instance results in a momentary outage, during which
--   the DB instance status is set to rebooting.
--   
--   For more information about rebooting, see <a>Rebooting a DB
--   Instance</a> .
module Network.AWS.RDS.RebootDBInstance

-- | Creates a value of <a>RebootDBInstance</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdiForceFailover</a> - When <tt>true</tt> , the reboot is
--   conducted through a MultiAZ failover. Constraint: You can't specify
--   <tt>true</tt> if the instance is not configured for MultiAZ.</li>
--   <li><a>rdiDBInstanceIdentifier</a> - The DB instance identifier. This
--   parameter is stored as a lowercase string. Constraints: * Must match
--   the identifier of an existing DBInstance.</li>
--   </ul>
rebootDBInstance :: Text -> RebootDBInstance

-- | <i>See:</i> <a>rebootDBInstance</a> smart constructor.
data RebootDBInstance

-- | When <tt>true</tt> , the reboot is conducted through a MultiAZ
--   failover. Constraint: You can't specify <tt>true</tt> if the instance
--   is not configured for MultiAZ.
rdiForceFailover :: Lens' RebootDBInstance (Maybe Bool)

-- | The DB instance identifier. This parameter is stored as a lowercase
--   string. Constraints: * Must match the identifier of an existing
--   DBInstance.
rdiDBInstanceIdentifier :: Lens' RebootDBInstance Text

-- | Creates a value of <a>RebootDBInstanceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdirsDBInstance</a> - Undocumented member.</li>
--   <li><a>rdirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
rebootDBInstanceResponse :: Int -> RebootDBInstanceResponse

-- | <i>See:</i> <a>rebootDBInstanceResponse</a> smart constructor.
data RebootDBInstanceResponse

-- | Undocumented member.
rdirsDBInstance :: Lens' RebootDBInstanceResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rdirsResponseStatus :: Lens' RebootDBInstanceResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.RebootDBInstance.RebootDBInstanceResponse
instance Data.Data.Data Network.AWS.RDS.RebootDBInstance.RebootDBInstanceResponse
instance GHC.Show.Show Network.AWS.RDS.RebootDBInstance.RebootDBInstanceResponse
instance GHC.Read.Read Network.AWS.RDS.RebootDBInstance.RebootDBInstanceResponse
instance GHC.Classes.Eq Network.AWS.RDS.RebootDBInstance.RebootDBInstanceResponse
instance GHC.Generics.Generic Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance Data.Data.Data Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance GHC.Show.Show Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance GHC.Read.Read Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance GHC.Classes.Eq Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.RebootDBInstance.RebootDBInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.RebootDBInstance.RebootDBInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.RebootDBInstance.RebootDBInstance


-- | Purchases a reserved DB instance offering.
module Network.AWS.RDS.PurchaseReservedDBInstancesOffering

-- | Creates a value of <a>PurchaseReservedDBInstancesOffering</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prdioDBInstanceCount</a> - The number of instances to reserve.
--   Default: <tt>1</tt></li>
--   <li><a>prdioReservedDBInstanceId</a> - Customer-specified identifier
--   to track this reservation. Example: myreservationID</li>
--   <li><a>prdioTags</a> - Undocumented member.</li>
--   <li><a>prdioReservedDBInstancesOfferingId</a> - The ID of the Reserved
--   DB instance offering to purchase. Example:
--   438012d3-4052-4cc7-b2e3-8d3372e0e706</li>
--   </ul>
purchaseReservedDBInstancesOffering :: Text -> PurchaseReservedDBInstancesOffering

-- | <i>See:</i> <a>purchaseReservedDBInstancesOffering</a> smart
--   constructor.
data PurchaseReservedDBInstancesOffering

-- | The number of instances to reserve. Default: <tt>1</tt>
prdioDBInstanceCount :: Lens' PurchaseReservedDBInstancesOffering (Maybe Int)

-- | Customer-specified identifier to track this reservation. Example:
--   myreservationID
prdioReservedDBInstanceId :: Lens' PurchaseReservedDBInstancesOffering (Maybe Text)

-- | Undocumented member.
prdioTags :: Lens' PurchaseReservedDBInstancesOffering [Tag]

-- | The ID of the Reserved DB instance offering to purchase. Example:
--   438012d3-4052-4cc7-b2e3-8d3372e0e706
prdioReservedDBInstancesOfferingId :: Lens' PurchaseReservedDBInstancesOffering Text

-- | Creates a value of <a>PurchaseReservedDBInstancesOfferingResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prdiorsReservedDBInstance</a> - Undocumented member.</li>
--   <li><a>prdiorsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
purchaseReservedDBInstancesOfferingResponse :: Int -> PurchaseReservedDBInstancesOfferingResponse

-- | <i>See:</i> <a>purchaseReservedDBInstancesOfferingResponse</a> smart
--   constructor.
data PurchaseReservedDBInstancesOfferingResponse

-- | Undocumented member.
prdiorsReservedDBInstance :: Lens' PurchaseReservedDBInstancesOfferingResponse (Maybe ReservedDBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
prdiorsResponseStatus :: Lens' PurchaseReservedDBInstancesOfferingResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOfferingResponse
instance Data.Data.Data Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOfferingResponse
instance GHC.Show.Show Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOfferingResponse
instance GHC.Read.Read Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOfferingResponse
instance GHC.Classes.Eq Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOfferingResponse
instance GHC.Generics.Generic Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance Data.Data.Data Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance GHC.Show.Show Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance GHC.Read.Read Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance GHC.Classes.Eq Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance Control.DeepSeq.NFData Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOfferingResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance Control.DeepSeq.NFData Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.PurchaseReservedDBInstancesOffering.PurchaseReservedDBInstancesOffering


-- | Promotes a Read Replica DB cluster to a standalone DB cluster.
module Network.AWS.RDS.PromoteReadReplicaDBCluster

-- | Creates a value of <a>PromoteReadReplicaDBCluster</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prrdcDBClusterIdentifier</a> - The identifier of the DB cluster
--   Read Replica to promote. This parameter is not case-sensitive.
--   Constraints: * Must match the identifier of an existing DBCluster Read
--   Replica. Example: <tt>my-cluster-replica1</tt></li>
--   </ul>
promoteReadReplicaDBCluster :: Text -> PromoteReadReplicaDBCluster

-- | <i>See:</i> <a>promoteReadReplicaDBCluster</a> smart constructor.
data PromoteReadReplicaDBCluster

-- | The identifier of the DB cluster Read Replica to promote. This
--   parameter is not case-sensitive. Constraints: * Must match the
--   identifier of an existing DBCluster Read Replica. Example:
--   <tt>my-cluster-replica1</tt>
prrdcDBClusterIdentifier :: Lens' PromoteReadReplicaDBCluster Text

-- | Creates a value of <a>PromoteReadReplicaDBClusterResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prrdcrsDBCluster</a> - Undocumented member.</li>
--   <li><a>prrdcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
promoteReadReplicaDBClusterResponse :: Int -> PromoteReadReplicaDBClusterResponse

-- | <i>See:</i> <a>promoteReadReplicaDBClusterResponse</a> smart
--   constructor.
data PromoteReadReplicaDBClusterResponse

-- | Undocumented member.
prrdcrsDBCluster :: Lens' PromoteReadReplicaDBClusterResponse (Maybe DBCluster)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
prrdcrsResponseStatus :: Lens' PromoteReadReplicaDBClusterResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBClusterResponse
instance Data.Data.Data Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBClusterResponse
instance GHC.Show.Show Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBClusterResponse
instance GHC.Read.Read Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBClusterResponse
instance GHC.Classes.Eq Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBClusterResponse
instance GHC.Generics.Generic Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance Data.Data.Data Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance GHC.Show.Show Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance GHC.Read.Read Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance GHC.Classes.Eq Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBClusterResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.PromoteReadReplicaDBCluster.PromoteReadReplicaDBCluster


-- | Promotes a Read Replica DB instance to a standalone DB instance.
module Network.AWS.RDS.PromoteReadReplica

-- | Creates a value of <a>PromoteReadReplica</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prrPreferredBackupWindow</a> - The daily time range during
--   which automated backups are created if automated backups are enabled,
--   using the <tt>BackupRetentionPeriod</tt> parameter. The default is a
--   30-minute window selected at random from an 8-hour block of time for
--   each AWS Region. To see the time blocks available, see <a>Adjusting
--   the Preferred Maintenance Window</a> in the <i>Amazon RDS User
--   Guide.</i> Constraints: * Must be in the format
--   <tt>hh24:mi-hh24:mi</tt> . * Must be in Universal Coordinated Time
--   (UTC). * Must not conflict with the preferred maintenance window. *
--   Must be at least 30 minutes.</li>
--   <li><a>prrBackupRetentionPeriod</a> - The number of days to retain
--   automated backups. Setting this parameter to a positive number enables
--   backups. Setting this parameter to 0 disables automated backups.
--   Default: 1 Constraints: * Must be a value from 0 to 8</li>
--   <li><a>prrDBInstanceIdentifier</a> - The DB instance identifier. This
--   value is stored as a lowercase string. Constraints: * Must match the
--   identifier of an existing Read Replica DB instance. Example:
--   <tt>mydbinstance</tt></li>
--   </ul>
promoteReadReplica :: Text -> PromoteReadReplica

-- | <i>See:</i> <a>promoteReadReplica</a> smart constructor.
data PromoteReadReplica

-- | The daily time range during which automated backups are created if
--   automated backups are enabled, using the
--   <tt>BackupRetentionPeriod</tt> parameter. The default is a 30-minute
--   window selected at random from an 8-hour block of time for each AWS
--   Region. To see the time blocks available, see <a>Adjusting the
--   Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i>
--   Constraints: * Must be in the format <tt>hh24:mi-hh24:mi</tt> . * Must
--   be in Universal Coordinated Time (UTC). * Must not conflict with the
--   preferred maintenance window. * Must be at least 30 minutes.
prrPreferredBackupWindow :: Lens' PromoteReadReplica (Maybe Text)

-- | The number of days to retain automated backups. Setting this parameter
--   to a positive number enables backups. Setting this parameter to 0
--   disables automated backups. Default: 1 Constraints: * Must be a value
--   from 0 to 8
prrBackupRetentionPeriod :: Lens' PromoteReadReplica (Maybe Int)

-- | The DB instance identifier. This value is stored as a lowercase
--   string. Constraints: * Must match the identifier of an existing Read
--   Replica DB instance. Example: <tt>mydbinstance</tt>
prrDBInstanceIdentifier :: Lens' PromoteReadReplica Text

-- | Creates a value of <a>PromoteReadReplicaResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prrrsDBInstance</a> - Undocumented member.</li>
--   <li><a>prrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
promoteReadReplicaResponse :: Int -> PromoteReadReplicaResponse

-- | <i>See:</i> <a>promoteReadReplicaResponse</a> smart constructor.
data PromoteReadReplicaResponse

-- | Undocumented member.
prrrsDBInstance :: Lens' PromoteReadReplicaResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
prrrsResponseStatus :: Lens' PromoteReadReplicaResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.PromoteReadReplica.PromoteReadReplicaResponse
instance Data.Data.Data Network.AWS.RDS.PromoteReadReplica.PromoteReadReplicaResponse
instance GHC.Show.Show Network.AWS.RDS.PromoteReadReplica.PromoteReadReplicaResponse
instance GHC.Read.Read Network.AWS.RDS.PromoteReadReplica.PromoteReadReplicaResponse
instance GHC.Classes.Eq Network.AWS.RDS.PromoteReadReplica.PromoteReadReplicaResponse
instance GHC.Generics.Generic Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance Data.Data.Data Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance GHC.Show.Show Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance GHC.Read.Read Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance GHC.Classes.Eq Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance Control.DeepSeq.NFData Network.AWS.RDS.PromoteReadReplica.PromoteReadReplicaResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance Control.DeepSeq.NFData Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.PromoteReadReplica.PromoteReadReplica


-- | Modifies an existing option group.
module Network.AWS.RDS.ModifyOptionGroup

-- | Creates a value of <a>ModifyOptionGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mogOptionsToInclude</a> - Options in this list are added to the
--   option group or, if already present, the specified configuration is
--   used to update the existing configuration.</li>
--   <li><a>mogOptionsToRemove</a> - Options in this list are removed from
--   the option group.</li>
--   <li><a>mogApplyImmediately</a> - Indicates whether the changes should
--   be applied immediately, or during the next maintenance window for each
--   instance associated with the option group.</li>
--   <li><a>mogOptionGroupName</a> - The name of the option group to be
--   modified. Permanent options, such as the TDE option for Oracle
--   Advanced Security TDE, can't be removed from an option group, and that
--   option group can't be removed from a DB instance once it is associated
--   with a DB instance</li>
--   </ul>
modifyOptionGroup :: Text -> ModifyOptionGroup

-- | <i>See:</i> <a>modifyOptionGroup</a> smart constructor.
data ModifyOptionGroup

-- | Options in this list are added to the option group or, if already
--   present, the specified configuration is used to update the existing
--   configuration.
mogOptionsToInclude :: Lens' ModifyOptionGroup [OptionConfiguration]

-- | Options in this list are removed from the option group.
mogOptionsToRemove :: Lens' ModifyOptionGroup [Text]

-- | Indicates whether the changes should be applied immediately, or during
--   the next maintenance window for each instance associated with the
--   option group.
mogApplyImmediately :: Lens' ModifyOptionGroup (Maybe Bool)

-- | The name of the option group to be modified. Permanent options, such
--   as the TDE option for Oracle Advanced Security TDE, can't be removed
--   from an option group, and that option group can't be removed from a DB
--   instance once it is associated with a DB instance
mogOptionGroupName :: Lens' ModifyOptionGroup Text

-- | Creates a value of <a>ModifyOptionGroupResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mogrsOptionGroup</a> - Undocumented member.</li>
--   <li><a>mogrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyOptionGroupResponse :: Int -> ModifyOptionGroupResponse

-- | <i>See:</i> <a>modifyOptionGroupResponse</a> smart constructor.
data ModifyOptionGroupResponse

-- | Undocumented member.
mogrsOptionGroup :: Lens' ModifyOptionGroupResponse (Maybe OptionGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
mogrsResponseStatus :: Lens' ModifyOptionGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroupResponse
instance Data.Data.Data Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroupResponse
instance GHC.Show.Show Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroupResponse
instance GHC.Read.Read Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance Data.Data.Data Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance GHC.Show.Show Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance GHC.Read.Read Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance GHC.Classes.Eq Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyOptionGroup.ModifyOptionGroup


-- | Modifies an existing RDS event notification subscription. Note that
--   you can't modify the source identifiers using this call; to change
--   source identifiers for a subscription, use the
--   <tt>AddSourceIdentifierToSubscription</tt> and
--   <tt>RemoveSourceIdentifierFromSubscription</tt> calls.
--   
--   You can see a list of the event categories for a given SourceType in
--   the <a>Events</a> topic in the Amazon RDS User Guide or by using the
--   <b>DescribeEventCategories</b> action.
module Network.AWS.RDS.ModifyEventSubscription

-- | Creates a value of <a>ModifyEventSubscription</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mesSNSTopicARN</a> - The Amazon Resource Name (ARN) of the SNS
--   topic created for event notification. The ARN is created by Amazon SNS
--   when you create a topic and subscribe to it.</li>
--   <li><a>mesEnabled</a> - A Boolean value; set to <b>true</b> to
--   activate the subscription.</li>
--   <li><a>mesSourceType</a> - The type of source that is generating the
--   events. For example, if you want to be notified of events generated by
--   a DB instance, you would set this parameter to db-instance. if this
--   value is not specified, all events are returned. Valid values:
--   db-instance | db-parameter-group | db-security-group |
--   db-snapshot</li>
--   <li><a>mesEventCategories</a> - A list of event categories for a
--   SourceType that you want to subscribe to. You can see a list of the
--   categories for a given SourceType in the <a>Events</a> topic in the
--   Amazon RDS User Guide or by using the <b>DescribeEventCategories</b>
--   action.</li>
--   <li><a>mesSubscriptionName</a> - The name of the RDS event
--   notification subscription.</li>
--   </ul>
modifyEventSubscription :: Text -> ModifyEventSubscription

-- | <i>See:</i> <a>modifyEventSubscription</a> smart constructor.
data ModifyEventSubscription

-- | The Amazon Resource Name (ARN) of the SNS topic created for event
--   notification. The ARN is created by Amazon SNS when you create a topic
--   and subscribe to it.
mesSNSTopicARN :: Lens' ModifyEventSubscription (Maybe Text)

-- | A Boolean value; set to <b>true</b> to activate the subscription.
mesEnabled :: Lens' ModifyEventSubscription (Maybe Bool)

-- | The type of source that is generating the events. For example, if you
--   want to be notified of events generated by a DB instance, you would
--   set this parameter to db-instance. if this value is not specified, all
--   events are returned. Valid values: db-instance | db-parameter-group |
--   db-security-group | db-snapshot
mesSourceType :: Lens' ModifyEventSubscription (Maybe Text)

-- | A list of event categories for a SourceType that you want to subscribe
--   to. You can see a list of the categories for a given SourceType in the
--   <a>Events</a> topic in the Amazon RDS User Guide or by using the
--   <b>DescribeEventCategories</b> action.
mesEventCategories :: Lens' ModifyEventSubscription [Text]

-- | The name of the RDS event notification subscription.
mesSubscriptionName :: Lens' ModifyEventSubscription Text

-- | Creates a value of <a>ModifyEventSubscriptionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mesrsEventSubscription</a> - Undocumented member.</li>
--   <li><a>mesrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyEventSubscriptionResponse :: Int -> ModifyEventSubscriptionResponse

-- | <i>See:</i> <a>modifyEventSubscriptionResponse</a> smart constructor.
data ModifyEventSubscriptionResponse

-- | Undocumented member.
mesrsEventSubscription :: Lens' ModifyEventSubscriptionResponse (Maybe EventSubscription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
mesrsResponseStatus :: Lens' ModifyEventSubscriptionResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscriptionResponse
instance Data.Data.Data Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscriptionResponse
instance GHC.Show.Show Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscriptionResponse
instance GHC.Read.Read Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscriptionResponse
instance GHC.Classes.Eq Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscriptionResponse
instance GHC.Generics.Generic Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance Data.Data.Data Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance GHC.Show.Show Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance GHC.Read.Read Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance GHC.Classes.Eq Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscriptionResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyEventSubscription.ModifyEventSubscription


-- | Modifies an existing DB subnet group. DB subnet groups must contain at
--   least one subnet in at least two AZs in the AWS Region.
module Network.AWS.RDS.ModifyDBSubnetGroup

-- | Creates a value of <a>ModifyDBSubnetGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdsgDBSubnetGroupDescription</a> - The description for the DB
--   subnet group.</li>
--   <li><a>mdsgDBSubnetGroupName</a> - The name for the DB subnet group.
--   This value is stored as a lowercase string. You can't modify the
--   default subnet group. Constraints: Must match the name of an existing
--   DBSubnetGroup. Must not be default. Example:
--   <tt>mySubnetgroup</tt></li>
--   <li><a>mdsgSubnetIds</a> - The EC2 subnet IDs for the DB subnet
--   group.</li>
--   </ul>
modifyDBSubnetGroup :: Text -> ModifyDBSubnetGroup

-- | <i>See:</i> <a>modifyDBSubnetGroup</a> smart constructor.
data ModifyDBSubnetGroup

-- | The description for the DB subnet group.
mdsgDBSubnetGroupDescription :: Lens' ModifyDBSubnetGroup (Maybe Text)

-- | The name for the DB subnet group. This value is stored as a lowercase
--   string. You can't modify the default subnet group. Constraints: Must
--   match the name of an existing DBSubnetGroup. Must not be default.
--   Example: <tt>mySubnetgroup</tt>
mdsgDBSubnetGroupName :: Lens' ModifyDBSubnetGroup Text

-- | The EC2 subnet IDs for the DB subnet group.
mdsgSubnetIds :: Lens' ModifyDBSubnetGroup [Text]

-- | Creates a value of <a>ModifyDBSubnetGroupResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdsgrsDBSubnetGroup</a> - Undocumented member.</li>
--   <li><a>mdsgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyDBSubnetGroupResponse :: Int -> ModifyDBSubnetGroupResponse

-- | <i>See:</i> <a>modifyDBSubnetGroupResponse</a> smart constructor.
data ModifyDBSubnetGroupResponse

-- | Undocumented member.
mdsgrsDBSubnetGroup :: Lens' ModifyDBSubnetGroupResponse (Maybe DBSubnetGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
mdsgrsResponseStatus :: Lens' ModifyDBSubnetGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroupResponse
instance Data.Data.Data Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroupResponse
instance GHC.Show.Show Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroupResponse
instance GHC.Read.Read Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance Data.Data.Data Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance GHC.Show.Show Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance GHC.Read.Read Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyDBSubnetGroup.ModifyDBSubnetGroup


-- | Adds an attribute and values to, or removes an attribute and values
--   from, a manual DB snapshot.
--   
--   To share a manual DB snapshot with other AWS accounts, specify
--   <tt>restore</tt> as the <tt>AttributeName</tt> and use the
--   <tt>ValuesToAdd</tt> parameter to add a list of IDs of the AWS
--   accounts that are authorized to restore the manual DB snapshot. Uses
--   the value <tt>all</tt> to make the manual DB snapshot public, which
--   means it can be copied or restored by all AWS accounts. Do not add the
--   <tt>all</tt> value for any manual DB snapshots that contain private
--   information that you don't want available to all AWS accounts. If the
--   manual DB snapshot is encrypted, it can be shared, but only by
--   specifying a list of authorized AWS account IDs for the
--   <tt>ValuesToAdd</tt> parameter. You can't use <tt>all</tt> as a value
--   for that parameter in this case.
--   
--   To view which AWS accounts have access to copy or restore a manual DB
--   snapshot, or whether a manual DB snapshot public or private, use the
--   <tt>DescribeDBSnapshotAttributes</tt> API action.
module Network.AWS.RDS.ModifyDBSnapshotAttribute

-- | Creates a value of <a>ModifyDBSnapshotAttribute</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdsaValuesToAdd</a> - A list of DB snapshot attributes to add
--   to the attribute specified by <tt>AttributeName</tt> . To authorize
--   other AWS accounts to copy or restore a manual snapshot, set this list
--   to include one or more AWS account IDs, or <tt>all</tt> to make the
--   manual DB snapshot restorable by any AWS account. Do not add the
--   <tt>all</tt> value for any manual DB snapshots that contain private
--   information that you don't want available to all AWS accounts.</li>
--   <li><a>mdsaValuesToRemove</a> - A list of DB snapshot attributes to
--   remove from the attribute specified by <tt>AttributeName</tt> . To
--   remove authorization for other AWS accounts to copy or restore a
--   manual snapshot, set this list to include one or more AWS account
--   identifiers, or <tt>all</tt> to remove authorization for any AWS
--   account to copy or restore the DB snapshot. If you specify
--   <tt>all</tt> , an AWS account whose account ID is explicitly added to
--   the <tt>restore</tt> attribute can still copy or restore the manual DB
--   snapshot.</li>
--   <li><a>mdsaDBSnapshotIdentifier</a> - The identifier for the DB
--   snapshot to modify the attributes for.</li>
--   <li><a>mdsaAttributeName</a> - The name of the DB snapshot attribute
--   to modify. To manage authorization for other AWS accounts to copy or
--   restore a manual DB snapshot, set this value to <tt>restore</tt>
--   .</li>
--   </ul>
modifyDBSnapshotAttribute :: Text -> Text -> ModifyDBSnapshotAttribute

-- | <i>See:</i> <a>modifyDBSnapshotAttribute</a> smart constructor.
data ModifyDBSnapshotAttribute

-- | A list of DB snapshot attributes to add to the attribute specified by
--   <tt>AttributeName</tt> . To authorize other AWS accounts to copy or
--   restore a manual snapshot, set this list to include one or more AWS
--   account IDs, or <tt>all</tt> to make the manual DB snapshot restorable
--   by any AWS account. Do not add the <tt>all</tt> value for any manual
--   DB snapshots that contain private information that you don't want
--   available to all AWS accounts.
mdsaValuesToAdd :: Lens' ModifyDBSnapshotAttribute [Text]

-- | A list of DB snapshot attributes to remove from the attribute
--   specified by <tt>AttributeName</tt> . To remove authorization for
--   other AWS accounts to copy or restore a manual snapshot, set this list
--   to include one or more AWS account identifiers, or <tt>all</tt> to
--   remove authorization for any AWS account to copy or restore the DB
--   snapshot. If you specify <tt>all</tt> , an AWS account whose account
--   ID is explicitly added to the <tt>restore</tt> attribute can still
--   copy or restore the manual DB snapshot.
mdsaValuesToRemove :: Lens' ModifyDBSnapshotAttribute [Text]

-- | The identifier for the DB snapshot to modify the attributes for.
mdsaDBSnapshotIdentifier :: Lens' ModifyDBSnapshotAttribute Text

-- | The name of the DB snapshot attribute to modify. To manage
--   authorization for other AWS accounts to copy or restore a manual DB
--   snapshot, set this value to <tt>restore</tt> .
mdsaAttributeName :: Lens' ModifyDBSnapshotAttribute Text

-- | Creates a value of <a>ModifyDBSnapshotAttributeResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdsarsDBSnapshotAttributesResult</a> - Undocumented
--   member.</li>
--   <li><a>mdsarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyDBSnapshotAttributeResponse :: Int -> ModifyDBSnapshotAttributeResponse

-- | <i>See:</i> <a>modifyDBSnapshotAttributeResponse</a> smart
--   constructor.
data ModifyDBSnapshotAttributeResponse

-- | Undocumented member.
mdsarsDBSnapshotAttributesResult :: Lens' ModifyDBSnapshotAttributeResponse (Maybe DBSnapshotAttributesResult)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
mdsarsResponseStatus :: Lens' ModifyDBSnapshotAttributeResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttributeResponse
instance Data.Data.Data Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttributeResponse
instance GHC.Show.Show Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttributeResponse
instance GHC.Read.Read Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttributeResponse
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttributeResponse
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance Data.Data.Data Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance GHC.Show.Show Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance GHC.Read.Read Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttributeResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyDBSnapshotAttribute.ModifyDBSnapshotAttribute


-- | Updates a manual DB snapshot, which can be encrypted or not encrypted,
--   with a new engine version.
--   
--   Amazon RDS supports upgrading DB snapshots for MySQL and Oracle.
module Network.AWS.RDS.ModifyDBSnapshot

-- | Creates a value of <a>ModifyDBSnapshot</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdsEngineVersion</a> - The engine version to upgrade the DB
--   snapshot to. The following are the database engines and engine
--   versions that are available when you upgrade a DB snapshot.
--   <b>MySQL</b> * <tt>5.5.46</tt> (supported for 5.1 DB snapshots)
--   <b>Oracle</b> * <tt>12.1.0.2.v8</tt> (supported for 12.1.0.1 DB
--   snapshots) * <tt>11.2.0.4.v12</tt> (supported for 11.2.0.2 DB
--   snapshots) * <tt>11.2.0.4.v11</tt> (supported for 11.2.0.3 DB
--   snapshots)</li>
--   <li><a>mdsOptionGroupName</a> - The option group to identify with the
--   upgraded DB snapshot. You can specify this parameter when you upgrade
--   an Oracle DB snapshot. The same option group considerations apply when
--   upgrading a DB snapshot as when upgrading a DB instance. For more
--   information, see <a>Option Group Considerations</a> .</li>
--   <li><a>mdsDBSnapshotIdentifier</a> - The identifier of the DB snapshot
--   to modify.</li>
--   </ul>
modifyDBSnapshot :: Text -> ModifyDBSnapshot

-- | <i>See:</i> <a>modifyDBSnapshot</a> smart constructor.
data ModifyDBSnapshot

-- | The engine version to upgrade the DB snapshot to. The following are
--   the database engines and engine versions that are available when you
--   upgrade a DB snapshot. <b>MySQL</b> * <tt>5.5.46</tt> (supported for
--   5.1 DB snapshots) <b>Oracle</b> * <tt>12.1.0.2.v8</tt> (supported for
--   12.1.0.1 DB snapshots) * <tt>11.2.0.4.v12</tt> (supported for 11.2.0.2
--   DB snapshots) * <tt>11.2.0.4.v11</tt> (supported for 11.2.0.3 DB
--   snapshots)
mdsEngineVersion :: Lens' ModifyDBSnapshot (Maybe Text)

-- | The option group to identify with the upgraded DB snapshot. You can
--   specify this parameter when you upgrade an Oracle DB snapshot. The
--   same option group considerations apply when upgrading a DB snapshot as
--   when upgrading a DB instance. For more information, see <a>Option
--   Group Considerations</a> .
mdsOptionGroupName :: Lens' ModifyDBSnapshot (Maybe Text)

-- | The identifier of the DB snapshot to modify.
mdsDBSnapshotIdentifier :: Lens' ModifyDBSnapshot Text

-- | Creates a value of <a>ModifyDBSnapshotResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdsrsDBSnapshot</a> - Undocumented member.</li>
--   <li><a>mdsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyDBSnapshotResponse :: Int -> ModifyDBSnapshotResponse

-- | <i>See:</i> <a>modifyDBSnapshotResponse</a> smart constructor.
data ModifyDBSnapshotResponse

-- | Undocumented member.
mdsrsDBSnapshot :: Lens' ModifyDBSnapshotResponse (Maybe DBSnapshot)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
mdsrsResponseStatus :: Lens' ModifyDBSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshotResponse
instance Data.Data.Data Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshotResponse
instance GHC.Show.Show Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshotResponse
instance GHC.Read.Read Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshotResponse
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshotResponse
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance Data.Data.Data Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance GHC.Show.Show Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance GHC.Read.Read Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyDBSnapshot.ModifyDBSnapshot


-- | Modifies the parameters of a DB parameter group. To modify more than
--   one parameter, submit a list of the following: <tt>ParameterName</tt>
--   , <tt>ParameterValue</tt> , and <tt>ApplyMethod</tt> . A maximum of 20
--   parameters can be modified in a single request.
--   
--   <i>Important:</i> After you modify a DB parameter group, you should
--   wait at least 5 minutes before creating your first DB instance that
--   uses that DB parameter group as the default parameter group. This
--   allows Amazon RDS to fully complete the modify action before the
--   parameter group is used as the default for a new DB instance. This is
--   especially important for parameters that are critical when creating
--   the default database for a DB instance, such as the character set for
--   the default database defined by the <tt>character_set_database</tt>
--   parameter. You can use the <i>Parameter Groups</i> option of the
--   <a>Amazon RDS console</a> or the <i>DescribeDBParameters</i> command
--   to verify that your DB parameter group has been created or modified.
module Network.AWS.RDS.ModifyDBParameterGroup

-- | Creates a value of <a>ModifyDBParameterGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdpgDBParameterGroupName</a> - The name of the DB parameter
--   group. Constraints: * If supplied, must match the name of an existing
--   DBParameterGroup.</li>
--   <li><a>mdpgParameters</a> - An array of parameter names, values, and
--   the apply method for the parameter update. At least one parameter
--   name, value, and apply method must be supplied; subsequent arguments
--   are optional. A maximum of 20 parameters can be modified in a single
--   request. Valid Values (for the application method): <tt>immediate |
--   pending-reboot</tt></li>
--   </ul>
modifyDBParameterGroup :: Text -> ModifyDBParameterGroup

-- | <i>See:</i> <a>modifyDBParameterGroup</a> smart constructor.
data ModifyDBParameterGroup

-- | The name of the DB parameter group. Constraints: * If supplied, must
--   match the name of an existing DBParameterGroup.
mdpgDBParameterGroupName :: Lens' ModifyDBParameterGroup Text

-- | An array of parameter names, values, and the apply method for the
--   parameter update. At least one parameter name, value, and apply method
--   must be supplied; subsequent arguments are optional. A maximum of 20
--   parameters can be modified in a single request. Valid Values (for the
--   application method): <tt>immediate | pending-reboot</tt>
mdpgParameters :: Lens' ModifyDBParameterGroup [Parameter]

-- | Creates a value of <a>DBParameterGroupNameMessage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpgnmDBParameterGroupName</a> - Provides the name of the DB
--   parameter group.</li>
--   </ul>
dbParameterGroupNameMessage :: DBParameterGroupNameMessage

-- | Contains the result of a successful invocation of the
--   <tt>ModifyDBParameterGroup</tt> or <tt>ResetDBParameterGroup</tt>
--   action.
--   
--   <i>See:</i> <a>dbParameterGroupNameMessage</a> smart constructor.
data DBParameterGroupNameMessage

-- | Provides the name of the DB parameter group.
dpgnmDBParameterGroupName :: Lens' DBParameterGroupNameMessage (Maybe Text)
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance Data.Data.Data Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance GHC.Show.Show Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance GHC.Read.Read Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyDBParameterGroup.ModifyDBParameterGroup


-- | Modifies settings for a DB instance. You can change one or more
--   database configuration parameters by specifying these parameters and
--   the new values in the request. To learn what modifications you can
--   make to your DB instance, call
--   <tt>DescribeValidDBInstanceModifications</tt> before you call
--   <a>ModifyDBInstance</a> .
module Network.AWS.RDS.ModifyDBInstance

-- | Creates a value of <a>ModifyDBInstance</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdiEngineVersion</a> - The version number of the database
--   engine to upgrade to. Changing this parameter results in an outage and
--   the change is applied during the next maintenance window unless the
--   <tt>ApplyImmediately</tt> parameter is set to <tt>true</tt> for this
--   request. For major version upgrades, if a nondefault DB parameter
--   group is currently in use, a new DB parameter group in the DB
--   parameter group family for the new engine version must be specified.
--   The new DB parameter group can be the default for that DB parameter
--   group family. For a list of valid engine versions, see
--   <tt>CreateDBInstance</tt> .</li>
--   <li><a>mdiDBSecurityGroups</a> - A list of DB security groups to
--   authorize on this DB instance. Changing this setting doesn't result in
--   an outage and the change is asynchronously applied as soon as
--   possible. Constraints: * If supplied, must match existing
--   DBSecurityGroups.</li>
--   <li><a>mdiDBPortNumber</a> - The port number on which the database
--   accepts connections. The value of the <tt>DBPortNumber</tt> parameter
--   must not match any of the port values specified for options in the
--   option group for the DB instance. Your database will restart when you
--   change the <tt>DBPortNumber</tt> value regardless of the value of the
--   <tt>ApplyImmediately</tt> parameter. <b>MySQL</b> Default:
--   <tt>3306</tt> Valid Values: <tt>1150-65535</tt> <b>MariaDB</b>
--   Default: <tt>3306</tt> Valid Values: <tt>1150-65535</tt>
--   <b>PostgreSQL</b> Default: <tt>5432</tt> Valid Values:
--   <tt>1150-65535</tt> Type: Integer <b>Oracle</b> Default: <tt>1521</tt>
--   Valid Values: <tt>1150-65535</tt> <b>SQL Server</b> Default:
--   <tt>1433</tt> Valid Values: <tt>1150-65535</tt> except for
--   <tt>1434</tt> , <tt>3389</tt> , <tt>47001</tt> , <tt>49152</tt> , and
--   <tt>49152</tt> through <tt>49156</tt> . <b>Amazon Aurora</b> Default:
--   <tt>3306</tt> Valid Values: <tt>1150-65535</tt></li>
--   <li><a>mdiMasterUserPassword</a> - The new password for the master
--   user. The password can include any printable ASCII character except
--   "/", """, or "<tt>". Changing this parameter doesn't result in an
--   outage and the change is asynchronously applied as soon as possible.
--   Between the time of the request and the completion of the request, the
--   </tt>MasterUserPassword<tt> element exists in the
--   </tt>PendingModifiedValues@ element of the operation response.
--   <b>Amazon Aurora</b> Not applicable. The password for the master user
--   is managed by the DB cluster. For more information, see
--   <tt>ModifyDBCluster</tt> . Default: Uses existing setting
--   <b>MariaDB</b> Constraints: Must contain from 8 to 41 characters.
--   <b>Microsoft SQL Server</b> Constraints: Must contain from 8 to 128
--   characters. <b>MySQL</b> Constraints: Must contain from 8 to 41
--   characters. <b>Oracle</b> Constraints: Must contain from 8 to 30
--   characters. <b>PostgreSQL</b> Constraints: Must contain from 8 to 128
--   characters.</li>
--   <li><a>mdiPubliclyAccessible</a> - Boolean value that indicates if the
--   DB instance has a publicly resolvable DNS name. Set to <tt>True</tt>
--   to make the DB instance Internet-facing with a publicly resolvable DNS
--   name, which resolves to a public IP address. Set to <tt>False</tt> to
--   make the DB instance internal with a DNS name that resolves to a
--   private IP address. <tt>PubliclyAccessible</tt> only applies to DB
--   instances in a VPC. The DB instance must be part of a public subnet
--   and <tt>PubliclyAccessible</tt> must be true in order for it to be
--   publicly accessible. Changes to the <tt>PubliclyAccessible</tt>
--   parameter are applied immediately regardless of the value of the
--   <tt>ApplyImmediately</tt> parameter. Default: false</li>
--   <li><a>mdiAutoMinorVersionUpgrade</a> - Indicates that minor version
--   upgrades are applied automatically to the DB instance during the
--   maintenance window. Changing this parameter doesn't result in an
--   outage except in the following case and the change is asynchronously
--   applied as soon as possible. An outage will result if this parameter
--   is set to <tt>true</tt> during the maintenance window, and a newer
--   minor version is available, and RDS has enabled auto patching for that
--   engine version.</li>
--   <li><a>mdiDBSubnetGroupName</a> - The new DB subnet group for the DB
--   instance. You can use this parameter to move your DB instance to a
--   different VPC. If your DB instance is not in a VPC, you can also use
--   this parameter to move your DB instance into a VPC. For more
--   information, see <a>Updating the VPC for a DB Instance</a> . Changing
--   the subnet group causes an outage during the change. The change is
--   applied during the next maintenance window, unless you specify
--   <tt>true</tt> for the <tt>ApplyImmediately</tt> parameter.
--   Constraints: If supplied, must match the name of an existing
--   DBSubnetGroup. Example: <tt>mySubnetGroup</tt></li>
--   <li><a>mdiMonitoringRoleARN</a> - The ARN for the IAM role that
--   permits RDS to send enhanced monitoring metrics to Amazon CloudWatch
--   Logs. For example, <tt>arn:aws:iam:123456789012:role/emaccess</tt> .
--   For information on creating a monitoring role, go to <a>To create an
--   IAM role for Amazon RDS Enhanced Monitoring</a> . If
--   <tt>MonitoringInterval</tt> is set to a value other than 0, then you
--   must supply a <tt>MonitoringRoleArn</tt> value.</li>
--   <li><a>mdiIOPS</a> - The new Provisioned IOPS (I/O operations per
--   second) value for the RDS instance. Changing this setting doesn't
--   result in an outage and the change is applied during the next
--   maintenance window unless the <tt>ApplyImmediately</tt> parameter is
--   set to <tt>true</tt> for this request. If you are migrating from
--   Provisioned IOPS to standard storage, set this value to 0. The DB
--   instance will require a reboot for the change in storage type to take
--   effect. If you choose to migrate your DB instance from using standard
--   storage to using Provisioned IOPS, or from using Provisioned IOPS to
--   using standard storage, the process can take time. The duration of the
--   migration depends on several factors such as database load, storage
--   size, storage type (standard or Provisioned IOPS), amount of IOPS
--   provisioned (if any), and the number of prior scale storage
--   operations. Typical migration times are under 24 hours, but the
--   process can take up to several days in some cases. During the
--   migration, the DB instance is available for use, but might experience
--   performance degradation. While the migration takes place, nightly
--   backups for the instance are suspended. No other Amazon RDS operations
--   can take place for the instance, including modifying the instance,
--   rebooting the instance, deleting the instance, creating a Read Replica
--   for the instance, and creating a DB snapshot of the instance.
--   Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value
--   supplied must be at least 10% greater than the current value. Values
--   that are not at least 10% greater than the existing value are rounded
--   up so that they are 10% greater than the current value. Default: Uses
--   existing setting</li>
--   <li><a>mdiAllowMajorVersionUpgrade</a> - Indicates that major version
--   upgrades are allowed. Changing this parameter doesn't result in an
--   outage and the change is asynchronously applied as soon as possible.
--   Constraints: This parameter must be set to true when specifying a
--   value for the EngineVersion parameter that is a different major
--   version than the DB instance's current version.</li>
--   <li><a>mdiNewDBInstanceIdentifier</a> - The new DB instance identifier
--   for the DB instance when renaming a DB instance. When you change the
--   DB instance identifier, an instance reboot will occur immediately if
--   you set <tt>Apply Immediately</tt> to true, or will occur during the
--   next maintenance window if <tt>Apply Immediately</tt> to false. This
--   value is stored as a lowercase string. Constraints: * Must contain
--   from 1 to 63 letters, numbers, or hyphens. * The first character must
--   be a letter. * Cannot end with a hyphen or contain two consecutive
--   hyphens. Example: <tt>mydbinstance</tt></li>
--   <li><a>mdiDomain</a> - The Active Directory Domain to move the
--   instance to. Specify <tt>none</tt> to remove the instance from its
--   current domain. The domain must be created prior to this operation.
--   Currently only a Microsoft SQL Server instance can be created in a
--   Active Directory Domain.</li>
--   <li><a>mdiMonitoringInterval</a> - The interval, in seconds, between
--   points when Enhanced Monitoring metrics are collected for the DB
--   instance. To disable collecting Enhanced Monitoring metrics, specify
--   0. The default is 0. If <tt>MonitoringRoleArn</tt> is specified, then
--   you must also set <tt>MonitoringInterval</tt> to a value other than 0.
--   Valid Values: <tt>0, 1, 5, 10, 15, 30, 60</tt></li>
--   <li><a>mdiCloudwatchLogsExportConfiguration</a> - The configuration
--   setting for the log types to be enabled for export to CloudWatch Logs
--   for a specific DB instance or DB cluster.</li>
--   <li><a>mdiTDECredentialPassword</a> - The password for the given ARN
--   from the key store in order to access the device.</li>
--   <li><a>mdiDBInstanceClass</a> - The new compute and memory capacity of
--   the DB instance, for example, <tt>db.m4.large</tt> . Not all DB
--   instance classes are available in all AWS Regions, or for all database
--   engines. For the full list of DB instance classes, and availability
--   for your engine, see <a>DB Instance Class</a> in the Amazon RDS User
--   Guide. If you modify the DB instance class, an outage occurs during
--   the change. The change is applied during the next maintenance window,
--   unless <tt>ApplyImmediately</tt> is specified as <tt>true</tt> for
--   this request. Default: Uses existing setting</li>
--   <li><a>mdiPromotionTier</a> - A value that specifies the order in
--   which an Aurora Replica is promoted to the primary instance after a
--   failure of the existing primary instance. For more information, see
--   <a>Fault Tolerance for an Aurora DB Cluster</a> . Default: 1 Valid
--   Values: 0 - 15</li>
--   <li><a>mdiLicenseModel</a> - The license model for the DB instance.
--   Valid values: <tt>license-included</tt> |
--   <tt>bring-your-own-license</tt> | <tt>general-public-license</tt></li>
--   <li><a>mdiPreferredMaintenanceWindow</a> - The weekly time range (in
--   UTC) during which system maintenance can occur, which might result in
--   an outage. Changing this parameter doesn't result in an outage, except
--   in the following situation, and the change is asynchronously applied
--   as soon as possible. If there are pending actions that cause a reboot,
--   and the maintenance window is changed to include the current time,
--   then changing this parameter will cause a reboot of the DB instance.
--   If moving this window to the current time, there must be at least 30
--   minutes between the current time and end of the window to ensure
--   pending changes are applied. Default: Uses existing setting Format:
--   ddd:hh24:mi-ddd:hh24:mi Valid Days: Mon | Tue | Wed | Thu | Fri | Sat
--   | Sun Constraints: Must be at least 30 minutes</li>
--   <li><a>mdiCACertificateIdentifier</a> - Indicates the certificate that
--   needs to be associated with the instance.</li>
--   <li><a>mdiEnablePerformanceInsights</a> - True to enable Performance
--   Insights for the DB instance, and otherwise false.</li>
--   <li><a>mdiDBParameterGroupName</a> - The name of the DB parameter
--   group to apply to the DB instance. Changing this setting doesn't
--   result in an outage. The parameter group name itself is changed
--   immediately, but the actual parameter changes are not applied until
--   you reboot the instance without failover. The db instance will NOT be
--   rebooted automatically and the parameter changes will NOT be applied
--   during the next maintenance window. Default: Uses existing setting
--   Constraints: The DB parameter group must be in the same DB parameter
--   group family as this DB instance.</li>
--   <li><a>mdiPreferredBackupWindow</a> - The daily time range during
--   which automated backups are created if automated backups are enabled,
--   as determined by the <tt>BackupRetentionPeriod</tt> parameter.
--   Changing this parameter doesn't result in an outage and the change is
--   asynchronously applied as soon as possible. <b>Amazon Aurora</b> Not
--   applicable. The daily time range for creating automated backups is
--   managed by the DB cluster. For more information, see
--   <tt>ModifyDBCluster</tt> . Constraints: * Must be in the format
--   hh24:mi-hh24:mi * Must be in Universal Time Coordinated (UTC) * Must
--   not conflict with the preferred maintenance window * Must be at least
--   30 minutes</li>
--   <li><a>mdiBackupRetentionPeriod</a> - The number of days to retain
--   automated backups. Setting this parameter to a positive number enables
--   backups. Setting this parameter to 0 disables automated backups.
--   Changing this parameter can result in an outage if you change from 0
--   to a non-zero value or from a non-zero value to 0. These changes are
--   applied during the next maintenance window unless the
--   <tt>ApplyImmediately</tt> parameter is set to <tt>true</tt> for this
--   request. If you change the parameter from one non-zero value to
--   another non-zero value, the change is asynchronously applied as soon
--   as possible. <b>Amazon Aurora</b> Not applicable. The retention period
--   for automated backups is managed by the DB cluster. For more
--   information, see <tt>ModifyDBCluster</tt> . Default: Uses existing
--   setting Constraints: * Must be a value from 0 to 35 * Can be specified
--   for a MySQL Read Replica only if the source is running MySQL 5.6 * Can
--   be specified for a PostgreSQL Read Replica only if the source is
--   running PostgreSQL 9.3.5 * Cannot be set to 0 if the DB instance is a
--   source to Read Replicas</li>
--   <li><a>mdiPerformanceInsightsKMSKeyId</a> - The AWS KMS key identifier
--   for encryption of Performance Insights data. The KMS key ID is the
--   Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias
--   for the KMS encryption key.</li>
--   <li><a>mdiVPCSecurityGroupIds</a> - A list of EC2 VPC security groups
--   to authorize on this DB instance. This change is asynchronously
--   applied as soon as possible. <b>Amazon Aurora</b> Not applicable. The
--   associated list of EC2 VPC security groups is managed by the DB
--   cluster. For more information, see <tt>ModifyDBCluster</tt> .
--   Constraints: * If supplied, must match existing
--   VpcSecurityGroupIds.</li>
--   <li><a>mdiMultiAZ</a> - Specifies if the DB instance is a Multi-AZ
--   deployment. Changing this parameter doesn't result in an outage and
--   the change is applied during the next maintenance window unless the
--   <tt>ApplyImmediately</tt> parameter is set to <tt>true</tt> for this
--   request.</li>
--   <li><a>mdiAllocatedStorage</a> - The new amount of storage (in
--   gibibytes) to allocate for the DB instance. For MariaDB, MySQL,
--   Oracle, and PostgreSQL, the value supplied must be at least 10%
--   greater than the current value. Values that are not at least 10%
--   greater than the existing value are rounded up so that they are 10%
--   greater than the current value. For the valid values for allocated
--   storage for each engine, see <tt>CreateDBInstance</tt> .</li>
--   <li><a>mdiApplyImmediately</a> - Specifies whether the modifications
--   in this request and any pending modifications are asynchronously
--   applied as soon as possible, regardless of the
--   <tt>PreferredMaintenanceWindow</tt> setting for the DB instance. If
--   this parameter is set to <tt>false</tt> , changes to the DB instance
--   are applied during the next maintenance window. Some parameter changes
--   can cause an outage and are applied on the next call to
--   <tt>RebootDBInstance</tt> , or the next failure reboot. Review the
--   table of parameters in <a>Modifying a DB Instance and Using the Apply
--   Immediately Parameter</a> to see the impact that setting
--   <tt>ApplyImmediately</tt> to <tt>true</tt> or <tt>false</tt> has for
--   each modified parameter and to determine when the changes are applied.
--   Default: <tt>false</tt></li>
--   <li><a>mdiOptionGroupName</a> - Indicates that the DB instance should
--   be associated with the specified option group. Changing this parameter
--   doesn't result in an outage except in the following case and the
--   change is applied during the next maintenance window unless the
--   <tt>ApplyImmediately</tt> parameter is set to <tt>true</tt> for this
--   request. If the parameter change results in an option group that
--   enables OEM, this change can cause a brief (sub-second) period during
--   which new connections are rejected but existing connections are not
--   interrupted. Permanent options, such as the TDE option for Oracle
--   Advanced Security TDE, can't be removed from an option group, and that
--   option group can't be removed from a DB instance once it is associated
--   with a DB instance</li>
--   <li><a>mdiCopyTagsToSnapshot</a> - True to copy all tags from the DB
--   instance to snapshots of the DB instance, and otherwise false. The
--   default is false.</li>
--   <li><a>mdiTDECredentialARN</a> - The ARN from the key store with which
--   to associate the instance for TDE encryption.</li>
--   <li><a>mdiDomainIAMRoleName</a> - The name of the IAM role to use when
--   making API calls to the Directory Service.</li>
--   <li><a>mdiEnableIAMDatabaseAuthentication</a> - True to enable mapping
--   of AWS Identity and Access Management (IAM) accounts to database
--   accounts, and otherwise false. You can enable IAM database
--   authentication for the following database engines <b>Amazon Aurora</b>
--   Not applicable. Mapping AWS IAM accounts to database accounts is
--   managed by the DB cluster. For more information, see
--   <tt>ModifyDBCluster</tt> . <b>MySQL</b> * For MySQL 5.6, minor version
--   5.6.34 or higher * For MySQL 5.7, minor version 5.7.16 or higher
--   Default: <tt>false</tt></li>
--   <li><a>mdiStorageType</a> - Specifies the storage type to be
--   associated with the DB instance. If you specify Provisioned IOPS
--   (<tt>io1</tt> ), you must also include a value for the <tt>Iops</tt>
--   parameter. If you choose to migrate your DB instance from using
--   standard storage to using Provisioned IOPS, or from using Provisioned
--   IOPS to using standard storage, the process can take time. The
--   duration of the migration depends on several factors such as database
--   load, storage size, storage type (standard or Provisioned IOPS),
--   amount of IOPS provisioned (if any), and the number of prior scale
--   storage operations. Typical migration times are under 24 hours, but
--   the process can take up to several days in some cases. During the
--   migration, the DB instance is available for use, but might experience
--   performance degradation. While the migration takes place, nightly
--   backups for the instance are suspended. No other Amazon RDS operations
--   can take place for the instance, including modifying the instance,
--   rebooting the instance, deleting the instance, creating a Read Replica
--   for the instance, and creating a DB snapshot of the instance. Valid
--   values: <tt>standard | gp2 | io1</tt> Default: <tt>io1</tt> if the
--   <tt>Iops</tt> parameter is specified, otherwise <tt>standard</tt></li>
--   <li><a>mdiDBInstanceIdentifier</a> - The DB instance identifier. This
--   value is stored as a lowercase string. Constraints: * Must match the
--   identifier of an existing DBInstance.</li>
--   </ul>
modifyDBInstance :: Text -> ModifyDBInstance

-- | <i>See:</i> <a>modifyDBInstance</a> smart constructor.
data ModifyDBInstance

-- | The version number of the database engine to upgrade to. Changing this
--   parameter results in an outage and the change is applied during the
--   next maintenance window unless the <tt>ApplyImmediately</tt> parameter
--   is set to <tt>true</tt> for this request. For major version upgrades,
--   if a nondefault DB parameter group is currently in use, a new DB
--   parameter group in the DB parameter group family for the new engine
--   version must be specified. The new DB parameter group can be the
--   default for that DB parameter group family. For a list of valid engine
--   versions, see <tt>CreateDBInstance</tt> .
mdiEngineVersion :: Lens' ModifyDBInstance (Maybe Text)

-- | A list of DB security groups to authorize on this DB instance.
--   Changing this setting doesn't result in an outage and the change is
--   asynchronously applied as soon as possible. Constraints: * If
--   supplied, must match existing DBSecurityGroups.
mdiDBSecurityGroups :: Lens' ModifyDBInstance [Text]

-- | The port number on which the database accepts connections. The value
--   of the <tt>DBPortNumber</tt> parameter must not match any of the port
--   values specified for options in the option group for the DB instance.
--   Your database will restart when you change the <tt>DBPortNumber</tt>
--   value regardless of the value of the <tt>ApplyImmediately</tt>
--   parameter. <b>MySQL</b> Default: <tt>3306</tt> Valid Values:
--   <tt>1150-65535</tt> <b>MariaDB</b> Default: <tt>3306</tt> Valid
--   Values: <tt>1150-65535</tt> <b>PostgreSQL</b> Default: <tt>5432</tt>
--   Valid Values: <tt>1150-65535</tt> Type: Integer <b>Oracle</b> Default:
--   <tt>1521</tt> Valid Values: <tt>1150-65535</tt> <b>SQL Server</b>
--   Default: <tt>1433</tt> Valid Values: <tt>1150-65535</tt> except for
--   <tt>1434</tt> , <tt>3389</tt> , <tt>47001</tt> , <tt>49152</tt> , and
--   <tt>49152</tt> through <tt>49156</tt> . <b>Amazon Aurora</b> Default:
--   <tt>3306</tt> Valid Values: <tt>1150-65535</tt>
mdiDBPortNumber :: Lens' ModifyDBInstance (Maybe Int)

-- | The new password for the master user. The password can include any
--   printable ASCII character except "/", """, or "<tt>". Changing this
--   parameter doesn't result in an outage and the change is asynchronously
--   applied as soon as possible. Between the time of the request and the
--   completion of the request, the </tt>MasterUserPassword<tt> element
--   exists in the </tt>PendingModifiedValues@ element of the operation
--   response. <b>Amazon Aurora</b> Not applicable. The password for the
--   master user is managed by the DB cluster. For more information, see
--   <tt>ModifyDBCluster</tt> . Default: Uses existing setting
--   <b>MariaDB</b> Constraints: Must contain from 8 to 41 characters.
--   <b>Microsoft SQL Server</b> Constraints: Must contain from 8 to 128
--   characters. <b>MySQL</b> Constraints: Must contain from 8 to 41
--   characters. <b>Oracle</b> Constraints: Must contain from 8 to 30
--   characters. <b>PostgreSQL</b> Constraints: Must contain from 8 to 128
--   characters.
mdiMasterUserPassword :: Lens' ModifyDBInstance (Maybe Text)

-- | Boolean value that indicates if the DB instance has a publicly
--   resolvable DNS name. Set to <tt>True</tt> to make the DB instance
--   Internet-facing with a publicly resolvable DNS name, which resolves to
--   a public IP address. Set to <tt>False</tt> to make the DB instance
--   internal with a DNS name that resolves to a private IP address.
--   <tt>PubliclyAccessible</tt> only applies to DB instances in a VPC. The
--   DB instance must be part of a public subnet and
--   <tt>PubliclyAccessible</tt> must be true in order for it to be
--   publicly accessible. Changes to the <tt>PubliclyAccessible</tt>
--   parameter are applied immediately regardless of the value of the
--   <tt>ApplyImmediately</tt> parameter. Default: false
mdiPubliclyAccessible :: Lens' ModifyDBInstance (Maybe Bool)

-- | Indicates that minor version upgrades are applied automatically to the
--   DB instance during the maintenance window. Changing this parameter
--   doesn't result in an outage except in the following case and the
--   change is asynchronously applied as soon as possible. An outage will
--   result if this parameter is set to <tt>true</tt> during the
--   maintenance window, and a newer minor version is available, and RDS
--   has enabled auto patching for that engine version.
mdiAutoMinorVersionUpgrade :: Lens' ModifyDBInstance (Maybe Bool)

-- | The new DB subnet group for the DB instance. You can use this
--   parameter to move your DB instance to a different VPC. If your DB
--   instance is not in a VPC, you can also use this parameter to move your
--   DB instance into a VPC. For more information, see <a>Updating the VPC
--   for a DB Instance</a> . Changing the subnet group causes an outage
--   during the change. The change is applied during the next maintenance
--   window, unless you specify <tt>true</tt> for the
--   <tt>ApplyImmediately</tt> parameter. Constraints: If supplied, must
--   match the name of an existing DBSubnetGroup. Example:
--   <tt>mySubnetGroup</tt>
mdiDBSubnetGroupName :: Lens' ModifyDBInstance (Maybe Text)

-- | The ARN for the IAM role that permits RDS to send enhanced monitoring
--   metrics to Amazon CloudWatch Logs. For example,
--   <tt>arn:aws:iam:123456789012:role/emaccess</tt> . For information on
--   creating a monitoring role, go to <a>To create an IAM role for Amazon
--   RDS Enhanced Monitoring</a> . If <tt>MonitoringInterval</tt> is set to
--   a value other than 0, then you must supply a
--   <tt>MonitoringRoleArn</tt> value.
mdiMonitoringRoleARN :: Lens' ModifyDBInstance (Maybe Text)

-- | The new Provisioned IOPS (I/O operations per second) value for the RDS
--   instance. Changing this setting doesn't result in an outage and the
--   change is applied during the next maintenance window unless the
--   <tt>ApplyImmediately</tt> parameter is set to <tt>true</tt> for this
--   request. If you are migrating from Provisioned IOPS to standard
--   storage, set this value to 0. The DB instance will require a reboot
--   for the change in storage type to take effect. If you choose to
--   migrate your DB instance from using standard storage to using
--   Provisioned IOPS, or from using Provisioned IOPS to using standard
--   storage, the process can take time. The duration of the migration
--   depends on several factors such as database load, storage size,
--   storage type (standard or Provisioned IOPS), amount of IOPS
--   provisioned (if any), and the number of prior scale storage
--   operations. Typical migration times are under 24 hours, but the
--   process can take up to several days in some cases. During the
--   migration, the DB instance is available for use, but might experience
--   performance degradation. While the migration takes place, nightly
--   backups for the instance are suspended. No other Amazon RDS operations
--   can take place for the instance, including modifying the instance,
--   rebooting the instance, deleting the instance, creating a Read Replica
--   for the instance, and creating a DB snapshot of the instance.
--   Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value
--   supplied must be at least 10% greater than the current value. Values
--   that are not at least 10% greater than the existing value are rounded
--   up so that they are 10% greater than the current value. Default: Uses
--   existing setting
mdiIOPS :: Lens' ModifyDBInstance (Maybe Int)

-- | Indicates that major version upgrades are allowed. Changing this
--   parameter doesn't result in an outage and the change is asynchronously
--   applied as soon as possible. Constraints: This parameter must be set
--   to true when specifying a value for the EngineVersion parameter that
--   is a different major version than the DB instance's current version.
mdiAllowMajorVersionUpgrade :: Lens' ModifyDBInstance (Maybe Bool)

-- | The new DB instance identifier for the DB instance when renaming a DB
--   instance. When you change the DB instance identifier, an instance
--   reboot will occur immediately if you set <tt>Apply Immediately</tt> to
--   true, or will occur during the next maintenance window if <tt>Apply
--   Immediately</tt> to false. This value is stored as a lowercase string.
--   Constraints: * Must contain from 1 to 63 letters, numbers, or hyphens.
--   * The first character must be a letter. * Cannot end with a hyphen or
--   contain two consecutive hyphens. Example: <tt>mydbinstance</tt>
mdiNewDBInstanceIdentifier :: Lens' ModifyDBInstance (Maybe Text)

-- | The Active Directory Domain to move the instance to. Specify
--   <tt>none</tt> to remove the instance from its current domain. The
--   domain must be created prior to this operation. Currently only a
--   Microsoft SQL Server instance can be created in a Active Directory
--   Domain.
mdiDomain :: Lens' ModifyDBInstance (Maybe Text)

-- | The interval, in seconds, between points when Enhanced Monitoring
--   metrics are collected for the DB instance. To disable collecting
--   Enhanced Monitoring metrics, specify 0. The default is 0. If
--   <tt>MonitoringRoleArn</tt> is specified, then you must also set
--   <tt>MonitoringInterval</tt> to a value other than 0. Valid Values:
--   <tt>0, 1, 5, 10, 15, 30, 60</tt>
mdiMonitoringInterval :: Lens' ModifyDBInstance (Maybe Int)

-- | The configuration setting for the log types to be enabled for export
--   to CloudWatch Logs for a specific DB instance or DB cluster.
mdiCloudwatchLogsExportConfiguration :: Lens' ModifyDBInstance (Maybe CloudwatchLogsExportConfiguration)

-- | The password for the given ARN from the key store in order to access
--   the device.
mdiTDECredentialPassword :: Lens' ModifyDBInstance (Maybe Text)

-- | The new compute and memory capacity of the DB instance, for example,
--   <tt>db.m4.large</tt> . Not all DB instance classes are available in
--   all AWS Regions, or for all database engines. For the full list of DB
--   instance classes, and availability for your engine, see <a>DB Instance
--   Class</a> in the Amazon RDS User Guide. If you modify the DB instance
--   class, an outage occurs during the change. The change is applied
--   during the next maintenance window, unless <tt>ApplyImmediately</tt>
--   is specified as <tt>true</tt> for this request. Default: Uses existing
--   setting
mdiDBInstanceClass :: Lens' ModifyDBInstance (Maybe Text)

-- | A value that specifies the order in which an Aurora Replica is
--   promoted to the primary instance after a failure of the existing
--   primary instance. For more information, see <a>Fault Tolerance for an
--   Aurora DB Cluster</a> . Default: 1 Valid Values: 0 - 15
mdiPromotionTier :: Lens' ModifyDBInstance (Maybe Int)

-- | The license model for the DB instance. Valid values:
--   <tt>license-included</tt> | <tt>bring-your-own-license</tt> |
--   <tt>general-public-license</tt>
mdiLicenseModel :: Lens' ModifyDBInstance (Maybe Text)

-- | The weekly time range (in UTC) during which system maintenance can
--   occur, which might result in an outage. Changing this parameter
--   doesn't result in an outage, except in the following situation, and
--   the change is asynchronously applied as soon as possible. If there are
--   pending actions that cause a reboot, and the maintenance window is
--   changed to include the current time, then changing this parameter will
--   cause a reboot of the DB instance. If moving this window to the
--   current time, there must be at least 30 minutes between the current
--   time and end of the window to ensure pending changes are applied.
--   Default: Uses existing setting Format: ddd:hh24:mi-ddd:hh24:mi Valid
--   Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Must be at
--   least 30 minutes
mdiPreferredMaintenanceWindow :: Lens' ModifyDBInstance (Maybe Text)

-- | Indicates the certificate that needs to be associated with the
--   instance.
mdiCACertificateIdentifier :: Lens' ModifyDBInstance (Maybe Text)

-- | True to enable Performance Insights for the DB instance, and otherwise
--   false.
mdiEnablePerformanceInsights :: Lens' ModifyDBInstance (Maybe Bool)

-- | The name of the DB parameter group to apply to the DB instance.
--   Changing this setting doesn't result in an outage. The parameter group
--   name itself is changed immediately, but the actual parameter changes
--   are not applied until you reboot the instance without failover. The db
--   instance will NOT be rebooted automatically and the parameter changes
--   will NOT be applied during the next maintenance window. Default: Uses
--   existing setting Constraints: The DB parameter group must be in the
--   same DB parameter group family as this DB instance.
mdiDBParameterGroupName :: Lens' ModifyDBInstance (Maybe Text)

-- | The daily time range during which automated backups are created if
--   automated backups are enabled, as determined by the
--   <tt>BackupRetentionPeriod</tt> parameter. Changing this parameter
--   doesn't result in an outage and the change is asynchronously applied
--   as soon as possible. <b>Amazon Aurora</b> Not applicable. The daily
--   time range for creating automated backups is managed by the DB
--   cluster. For more information, see <tt>ModifyDBCluster</tt> .
--   Constraints: * Must be in the format hh24:mi-hh24:mi * Must be in
--   Universal Time Coordinated (UTC) * Must not conflict with the
--   preferred maintenance window * Must be at least 30 minutes
mdiPreferredBackupWindow :: Lens' ModifyDBInstance (Maybe Text)

-- | The number of days to retain automated backups. Setting this parameter
--   to a positive number enables backups. Setting this parameter to 0
--   disables automated backups. Changing this parameter can result in an
--   outage if you change from 0 to a non-zero value or from a non-zero
--   value to 0. These changes are applied during the next maintenance
--   window unless the <tt>ApplyImmediately</tt> parameter is set to
--   <tt>true</tt> for this request. If you change the parameter from one
--   non-zero value to another non-zero value, the change is asynchronously
--   applied as soon as possible. <b>Amazon Aurora</b> Not applicable. The
--   retention period for automated backups is managed by the DB cluster.
--   For more information, see <tt>ModifyDBCluster</tt> . Default: Uses
--   existing setting Constraints: * Must be a value from 0 to 35 * Can be
--   specified for a MySQL Read Replica only if the source is running MySQL
--   5.6 * Can be specified for a PostgreSQL Read Replica only if the
--   source is running PostgreSQL 9.3.5 * Cannot be set to 0 if the DB
--   instance is a source to Read Replicas
mdiBackupRetentionPeriod :: Lens' ModifyDBInstance (Maybe Int)

-- | The AWS KMS key identifier for encryption of Performance Insights
--   data. The KMS key ID is the Amazon Resource Name (ARN), KMS key
--   identifier, or the KMS key alias for the KMS encryption key.
mdiPerformanceInsightsKMSKeyId :: Lens' ModifyDBInstance (Maybe Text)

-- | A list of EC2 VPC security groups to authorize on this DB instance.
--   This change is asynchronously applied as soon as possible. <b>Amazon
--   Aurora</b> Not applicable. The associated list of EC2 VPC security
--   groups is managed by the DB cluster. For more information, see
--   <tt>ModifyDBCluster</tt> . Constraints: * If supplied, must match
--   existing VpcSecurityGroupIds.
mdiVPCSecurityGroupIds :: Lens' ModifyDBInstance [Text]

-- | Specifies if the DB instance is a Multi-AZ deployment. Changing this
--   parameter doesn't result in an outage and the change is applied during
--   the next maintenance window unless the <tt>ApplyImmediately</tt>
--   parameter is set to <tt>true</tt> for this request.
mdiMultiAZ :: Lens' ModifyDBInstance (Maybe Bool)

-- | The new amount of storage (in gibibytes) to allocate for the DB
--   instance. For MariaDB, MySQL, Oracle, and PostgreSQL, the value
--   supplied must be at least 10% greater than the current value. Values
--   that are not at least 10% greater than the existing value are rounded
--   up so that they are 10% greater than the current value. For the valid
--   values for allocated storage for each engine, see
--   <tt>CreateDBInstance</tt> .
mdiAllocatedStorage :: Lens' ModifyDBInstance (Maybe Int)

-- | Specifies whether the modifications in this request and any pending
--   modifications are asynchronously applied as soon as possible,
--   regardless of the <tt>PreferredMaintenanceWindow</tt> setting for the
--   DB instance. If this parameter is set to <tt>false</tt> , changes to
--   the DB instance are applied during the next maintenance window. Some
--   parameter changes can cause an outage and are applied on the next call
--   to <tt>RebootDBInstance</tt> , or the next failure reboot. Review the
--   table of parameters in <a>Modifying a DB Instance and Using the Apply
--   Immediately Parameter</a> to see the impact that setting
--   <tt>ApplyImmediately</tt> to <tt>true</tt> or <tt>false</tt> has for
--   each modified parameter and to determine when the changes are applied.
--   Default: <tt>false</tt>
mdiApplyImmediately :: Lens' ModifyDBInstance (Maybe Bool)

-- | Indicates that the DB instance should be associated with the specified
--   option group. Changing this parameter doesn't result in an outage
--   except in the following case and the change is applied during the next
--   maintenance window unless the <tt>ApplyImmediately</tt> parameter is
--   set to <tt>true</tt> for this request. If the parameter change results
--   in an option group that enables OEM, this change can cause a brief
--   (sub-second) period during which new connections are rejected but
--   existing connections are not interrupted. Permanent options, such as
--   the TDE option for Oracle Advanced Security TDE, can't be removed from
--   an option group, and that option group can't be removed from a DB
--   instance once it is associated with a DB instance
mdiOptionGroupName :: Lens' ModifyDBInstance (Maybe Text)

-- | True to copy all tags from the DB instance to snapshots of the DB
--   instance, and otherwise false. The default is false.
mdiCopyTagsToSnapshot :: Lens' ModifyDBInstance (Maybe Bool)

-- | The ARN from the key store with which to associate the instance for
--   TDE encryption.
mdiTDECredentialARN :: Lens' ModifyDBInstance (Maybe Text)

-- | The name of the IAM role to use when making API calls to the Directory
--   Service.
mdiDomainIAMRoleName :: Lens' ModifyDBInstance (Maybe Text)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. You can enable IAM
--   database authentication for the following database engines <b>Amazon
--   Aurora</b> Not applicable. Mapping AWS IAM accounts to database
--   accounts is managed by the DB cluster. For more information, see
--   <tt>ModifyDBCluster</tt> . <b>MySQL</b> * For MySQL 5.6, minor version
--   5.6.34 or higher * For MySQL 5.7, minor version 5.7.16 or higher
--   Default: <tt>false</tt>
mdiEnableIAMDatabaseAuthentication :: Lens' ModifyDBInstance (Maybe Bool)

-- | Specifies the storage type to be associated with the DB instance. If
--   you specify Provisioned IOPS (<tt>io1</tt> ), you must also include a
--   value for the <tt>Iops</tt> parameter. If you choose to migrate your
--   DB instance from using standard storage to using Provisioned IOPS, or
--   from using Provisioned IOPS to using standard storage, the process can
--   take time. The duration of the migration depends on several factors
--   such as database load, storage size, storage type (standard or
--   Provisioned IOPS), amount of IOPS provisioned (if any), and the number
--   of prior scale storage operations. Typical migration times are under
--   24 hours, but the process can take up to several days in some cases.
--   During the migration, the DB instance is available for use, but might
--   experience performance degradation. While the migration takes place,
--   nightly backups for the instance are suspended. No other Amazon RDS
--   operations can take place for the instance, including modifying the
--   instance, rebooting the instance, deleting the instance, creating a
--   Read Replica for the instance, and creating a DB snapshot of the
--   instance. Valid values: <tt>standard | gp2 | io1</tt> Default:
--   <tt>io1</tt> if the <tt>Iops</tt> parameter is specified, otherwise
--   <tt>standard</tt>
mdiStorageType :: Lens' ModifyDBInstance (Maybe Text)

-- | The DB instance identifier. This value is stored as a lowercase
--   string. Constraints: * Must match the identifier of an existing
--   DBInstance.
mdiDBInstanceIdentifier :: Lens' ModifyDBInstance Text

-- | Creates a value of <a>ModifyDBInstanceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdirsDBInstance</a> - Undocumented member.</li>
--   <li><a>mdirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyDBInstanceResponse :: Int -> ModifyDBInstanceResponse

-- | <i>See:</i> <a>modifyDBInstanceResponse</a> smart constructor.
data ModifyDBInstanceResponse

-- | Undocumented member.
mdirsDBInstance :: Lens' ModifyDBInstanceResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
mdirsResponseStatus :: Lens' ModifyDBInstanceResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBInstance.ModifyDBInstanceResponse
instance Data.Data.Data Network.AWS.RDS.ModifyDBInstance.ModifyDBInstanceResponse
instance GHC.Show.Show Network.AWS.RDS.ModifyDBInstance.ModifyDBInstanceResponse
instance GHC.Read.Read Network.AWS.RDS.ModifyDBInstance.ModifyDBInstanceResponse
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBInstance.ModifyDBInstanceResponse
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance Data.Data.Data Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance GHC.Show.Show Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance GHC.Read.Read Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBInstance.ModifyDBInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyDBInstance.ModifyDBInstance


-- | Adds an attribute and values to, or removes an attribute and values
--   from, a manual DB cluster snapshot.
--   
--   To share a manual DB cluster snapshot with other AWS accounts, specify
--   <tt>restore</tt> as the <tt>AttributeName</tt> and use the
--   <tt>ValuesToAdd</tt> parameter to add a list of IDs of the AWS
--   accounts that are authorized to restore the manual DB cluster
--   snapshot. Use the value <tt>all</tt> to make the manual DB cluster
--   snapshot public, which means that it can be copied or restored by all
--   AWS accounts. Do not add the <tt>all</tt> value for any manual DB
--   cluster snapshots that contain private information that you don't want
--   available to all AWS accounts. If a manual DB cluster snapshot is
--   encrypted, it can be shared, but only by specifying a list of
--   authorized AWS account IDs for the <tt>ValuesToAdd</tt> parameter. You
--   can't use <tt>all</tt> as a value for that parameter in this case.
--   
--   To view which AWS accounts have access to copy or restore a manual DB
--   cluster snapshot, or whether a manual DB cluster snapshot public or
--   private, use the <tt>DescribeDBClusterSnapshotAttributes</tt> API
--   action.
module Network.AWS.RDS.ModifyDBClusterSnapshotAttribute

-- | Creates a value of <a>ModifyDBClusterSnapshotAttribute</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdcsaValuesToAdd</a> - A list of DB cluster snapshot attributes
--   to add to the attribute specified by <tt>AttributeName</tt> . To
--   authorize other AWS accounts to copy or restore a manual DB cluster
--   snapshot, set this list to include one or more AWS account IDs, or
--   <tt>all</tt> to make the manual DB cluster snapshot restorable by any
--   AWS account. Do not add the <tt>all</tt> value for any manual DB
--   cluster snapshots that contain private information that you don't want
--   available to all AWS accounts.</li>
--   <li><a>mdcsaValuesToRemove</a> - A list of DB cluster snapshot
--   attributes to remove from the attribute specified by
--   <tt>AttributeName</tt> . To remove authorization for other AWS
--   accounts to copy or restore a manual DB cluster snapshot, set this
--   list to include one or more AWS account identifiers, or <tt>all</tt>
--   to remove authorization for any AWS account to copy or restore the DB
--   cluster snapshot. If you specify <tt>all</tt> , an AWS account whose
--   account ID is explicitly added to the <tt>restore</tt> attribute can
--   still copy or restore a manual DB cluster snapshot.</li>
--   <li><a>mdcsaDBClusterSnapshotIdentifier</a> - The identifier for the
--   DB cluster snapshot to modify the attributes for.</li>
--   <li><a>mdcsaAttributeName</a> - The name of the DB cluster snapshot
--   attribute to modify. To manage authorization for other AWS accounts to
--   copy or restore a manual DB cluster snapshot, set this value to
--   <tt>restore</tt> .</li>
--   </ul>
modifyDBClusterSnapshotAttribute :: Text -> Text -> ModifyDBClusterSnapshotAttribute

-- | <i>See:</i> <a>modifyDBClusterSnapshotAttribute</a> smart constructor.
data ModifyDBClusterSnapshotAttribute

-- | A list of DB cluster snapshot attributes to add to the attribute
--   specified by <tt>AttributeName</tt> . To authorize other AWS accounts
--   to copy or restore a manual DB cluster snapshot, set this list to
--   include one or more AWS account IDs, or <tt>all</tt> to make the
--   manual DB cluster snapshot restorable by any AWS account. Do not add
--   the <tt>all</tt> value for any manual DB cluster snapshots that
--   contain private information that you don't want available to all AWS
--   accounts.
mdcsaValuesToAdd :: Lens' ModifyDBClusterSnapshotAttribute [Text]

-- | A list of DB cluster snapshot attributes to remove from the attribute
--   specified by <tt>AttributeName</tt> . To remove authorization for
--   other AWS accounts to copy or restore a manual DB cluster snapshot,
--   set this list to include one or more AWS account identifiers, or
--   <tt>all</tt> to remove authorization for any AWS account to copy or
--   restore the DB cluster snapshot. If you specify <tt>all</tt> , an AWS
--   account whose account ID is explicitly added to the <tt>restore</tt>
--   attribute can still copy or restore a manual DB cluster snapshot.
mdcsaValuesToRemove :: Lens' ModifyDBClusterSnapshotAttribute [Text]

-- | The identifier for the DB cluster snapshot to modify the attributes
--   for.
mdcsaDBClusterSnapshotIdentifier :: Lens' ModifyDBClusterSnapshotAttribute Text

-- | The name of the DB cluster snapshot attribute to modify. To manage
--   authorization for other AWS accounts to copy or restore a manual DB
--   cluster snapshot, set this value to <tt>restore</tt> .
mdcsaAttributeName :: Lens' ModifyDBClusterSnapshotAttribute Text

-- | Creates a value of <a>ModifyDBClusterSnapshotAttributeResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdcsarsDBClusterSnapshotAttributesResult</a> - Undocumented
--   member.</li>
--   <li><a>mdcsarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyDBClusterSnapshotAttributeResponse :: Int -> ModifyDBClusterSnapshotAttributeResponse

-- | <i>See:</i> <a>modifyDBClusterSnapshotAttributeResponse</a> smart
--   constructor.
data ModifyDBClusterSnapshotAttributeResponse

-- | Undocumented member.
mdcsarsDBClusterSnapshotAttributesResult :: Lens' ModifyDBClusterSnapshotAttributeResponse (Maybe DBClusterSnapshotAttributesResult)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
mdcsarsResponseStatus :: Lens' ModifyDBClusterSnapshotAttributeResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttributeResponse
instance Data.Data.Data Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttributeResponse
instance GHC.Show.Show Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttributeResponse
instance GHC.Read.Read Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttributeResponse
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttributeResponse
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance Data.Data.Data Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance GHC.Show.Show Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance GHC.Read.Read Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttributeResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyDBClusterSnapshotAttribute.ModifyDBClusterSnapshotAttribute


-- | Modifies the parameters of a DB cluster parameter group. To modify
--   more than one parameter, submit a list of the following:
--   <tt>ParameterName</tt> , <tt>ParameterValue</tt> , and
--   <tt>ApplyMethod</tt> . A maximum of 20 parameters can be modified in a
--   single request.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
--   
--   <i>Important:</i> After you create a DB cluster parameter group, you
--   should wait at least 5 minutes before creating your first DB cluster
--   that uses that DB cluster parameter group as the default parameter
--   group. This allows Amazon RDS to fully complete the create action
--   before the parameter group is used as the default for a new DB
--   cluster. This is especially important for parameters that are critical
--   when creating the default database for a DB cluster, such as the
--   character set for the default database defined by the
--   <tt>character_set_database</tt> parameter. You can use the
--   <i>Parameter Groups</i> option of the <a>Amazon RDS console</a> or the
--   <tt>DescribeDBClusterParameters</tt> command to verify that your DB
--   cluster parameter group has been created or modified.
module Network.AWS.RDS.ModifyDBClusterParameterGroup

-- | Creates a value of <a>ModifyDBClusterParameterGroup</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdcpgDBClusterParameterGroupName</a> - The name of the DB
--   cluster parameter group to modify.</li>
--   <li><a>mdcpgParameters</a> - A list of parameters in the DB cluster
--   parameter group to modify.</li>
--   </ul>
modifyDBClusterParameterGroup :: Text -> ModifyDBClusterParameterGroup

-- | <i>See:</i> <a>modifyDBClusterParameterGroup</a> smart constructor.
data ModifyDBClusterParameterGroup

-- | The name of the DB cluster parameter group to modify.
mdcpgDBClusterParameterGroupName :: Lens' ModifyDBClusterParameterGroup Text

-- | A list of parameters in the DB cluster parameter group to modify.
mdcpgParameters :: Lens' ModifyDBClusterParameterGroup [Parameter]

-- | Creates a value of <a>DBClusterParameterGroupNameMessage</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcpgnmDBClusterParameterGroupName</a> - The name of the DB
--   cluster parameter group. Constraints: * Must be 1 to 255 letters or
--   numbers. * First character must be a letter * Cannot end with a hyphen
--   or contain two consecutive hyphens</li>
--   </ul>
dbClusterParameterGroupNameMessage :: DBClusterParameterGroupNameMessage

-- | <i>See:</i> <a>dbClusterParameterGroupNameMessage</a> smart
--   constructor.
data DBClusterParameterGroupNameMessage

-- | The name of the DB cluster parameter group. Constraints: * Must be 1
--   to 255 letters or numbers. * First character must be a letter * Cannot
--   end with a hyphen or contain two consecutive hyphens
dcpgnmDBClusterParameterGroupName :: Lens' DBClusterParameterGroupNameMessage (Maybe Text)
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance Data.Data.Data Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance GHC.Show.Show Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance GHC.Read.Read Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyDBClusterParameterGroup.ModifyDBClusterParameterGroup


-- | Modify a setting for an Amazon Aurora DB cluster. You can change one
--   or more database configuration parameters by specifying these
--   parameters and the new values in the request. For more information on
--   Amazon Aurora, see <a>Aurora on Amazon RDS</a> in the <i>Amazon RDS
--   User Guide.</i>
module Network.AWS.RDS.ModifyDBCluster

-- | Creates a value of <a>ModifyDBCluster</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdcEngineVersion</a> - The version number of the database
--   engine to which you want to upgrade. Changing this parameter results
--   in an outage. The change is applied during the next maintenance window
--   unless the ApplyImmediately parameter is set to true. For a list of
--   valid engine versions, see <tt>CreateDBInstance</tt> , or call
--   <tt>DescribeDBEngineVersions</tt> .</li>
--   <li><a>mdcMasterUserPassword</a> - The new password for the master
--   database user. This password can contain any printable ASCII character
--   except "/", """, or "@". Constraints: Must contain from 8 to 41
--   characters.</li>
--   <li><a>mdcBacktrackWindow</a> - The target backtrack window, in
--   seconds. To disable backtracking, set this value to 0. Default: 0
--   Constraints: * If specified, this value must be set to a number from 0
--   to 259,200 (72 hours).</li>
--   <li><a>mdcPreferredMaintenanceWindow</a> - The weekly time range
--   during which system maintenance can occur, in Universal Coordinated
--   Time (UTC). Format: <tt>ddd:hh24:mi-ddd:hh24:mi</tt> The default is a
--   30-minute window selected at random from an 8-hour block of time for
--   each AWS Region, occurring on a random day of the week. To see the
--   time blocks available, see <a>Adjusting the Preferred Maintenance
--   Window</a> in the <i>Amazon RDS User Guide.</i> Valid Days: Mon, Tue,
--   Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.</li>
--   <li><a>mdcPreferredBackupWindow</a> - The daily time range during
--   which automated backups are created if automated backups are enabled,
--   using the <tt>BackupRetentionPeriod</tt> parameter. The default is a
--   30-minute window selected at random from an 8-hour block of time for
--   each AWS Region. To see the time blocks available, see <a>Adjusting
--   the Preferred Maintenance Window</a> in the <i>Amazon RDS User
--   Guide.</i> Constraints: * Must be in the format
--   <tt>hh24:mi-hh24:mi</tt> . * Must be in Universal Coordinated Time
--   (UTC). * Must not conflict with the preferred maintenance window. *
--   Must be at least 30 minutes.</li>
--   <li><a>mdcBackupRetentionPeriod</a> - The number of days for which
--   automated backups are retained. You must specify a minimum value of 1.
--   Default: 1 Constraints: * Must be a value from 1 to 35</li>
--   <li><a>mdcVPCSecurityGroupIds</a> - A list of VPC security groups that
--   the DB cluster will belong to.</li>
--   <li><a>mdcDBClusterParameterGroupName</a> - The name of the DB cluster
--   parameter group to use for the DB cluster.</li>
--   <li><a>mdcApplyImmediately</a> - A value that specifies whether the
--   modifications in this request and any pending modifications are
--   asynchronously applied as soon as possible, regardless of the
--   <tt>PreferredMaintenanceWindow</tt> setting for the DB cluster. If
--   this parameter is set to <tt>false</tt> , changes to the DB cluster
--   are applied during the next maintenance window. The
--   <tt>ApplyImmediately</tt> parameter only affects the
--   <tt>NewDBClusterIdentifier</tt> and <tt>MasterUserPassword</tt>
--   values. If you set the <tt>ApplyImmediately</tt> parameter value to
--   false, then changes to the <tt>NewDBClusterIdentifier</tt> and
--   <tt>MasterUserPassword</tt> values are applied during the next
--   maintenance window. All other changes are applied immediately,
--   regardless of the value of the <tt>ApplyImmediately</tt> parameter.
--   Default: <tt>false</tt></li>
--   <li><a>mdcOptionGroupName</a> - A value that indicates that the DB
--   cluster should be associated with the specified option group. Changing
--   this parameter doesn't result in an outage except in the following
--   case, and the change is applied during the next maintenance window
--   unless the <tt>ApplyImmediately</tt> parameter is set to <tt>true</tt>
--   for this request. If the parameter change results in an option group
--   that enables OEM, this change can cause a brief (sub-second) period
--   during which new connections are rejected but existing connections are
--   not interrupted. Permanent options can't be removed from an option
--   group. The option group can't be removed from a DB cluster once it is
--   associated with a DB cluster.</li>
--   <li><a>mdcNewDBClusterIdentifier</a> - The new DB cluster identifier
--   for the DB cluster when renaming a DB cluster. This value is stored as
--   a lowercase string. Constraints: * Must contain from 1 to 63 letters,
--   numbers, or hyphens * The first character must be a letter * Cannot
--   end with a hyphen or contain two consecutive hyphens Example:
--   <tt>my-cluster2</tt></li>
--   <li><a>mdcPort</a> - The port number on which the DB cluster accepts
--   connections. Constraints: Value must be <tt>1150-65535</tt> Default:
--   The same port as the original DB cluster.</li>
--   <li><a>mdcEnableIAMDatabaseAuthentication</a> - True to enable mapping
--   of AWS Identity and Access Management (IAM) accounts to database
--   accounts, and otherwise false. Default: <tt>false</tt></li>
--   <li><a>mdcDBClusterIdentifier</a> - The DB cluster identifier for the
--   cluster being modified. This parameter is not case-sensitive.
--   Constraints: * Must match the identifier of an existing
--   DBCluster.</li>
--   </ul>
modifyDBCluster :: Text -> ModifyDBCluster

-- | <i>See:</i> <a>modifyDBCluster</a> smart constructor.
data ModifyDBCluster

-- | The version number of the database engine to which you want to
--   upgrade. Changing this parameter results in an outage. The change is
--   applied during the next maintenance window unless the ApplyImmediately
--   parameter is set to true. For a list of valid engine versions, see
--   <tt>CreateDBInstance</tt> , or call <tt>DescribeDBEngineVersions</tt>
--   .
mdcEngineVersion :: Lens' ModifyDBCluster (Maybe Text)

-- | The new password for the master database user. This password can
--   contain any printable ASCII character except "/", """, or "@".
--   Constraints: Must contain from 8 to 41 characters.
mdcMasterUserPassword :: Lens' ModifyDBCluster (Maybe Text)

-- | The target backtrack window, in seconds. To disable backtracking, set
--   this value to 0. Default: 0 Constraints: * If specified, this value
--   must be set to a number from 0 to 259,200 (72 hours).
mdcBacktrackWindow :: Lens' ModifyDBCluster (Maybe Integer)

-- | The weekly time range during which system maintenance can occur, in
--   Universal Coordinated Time (UTC). Format:
--   <tt>ddd:hh24:mi-ddd:hh24:mi</tt> The default is a 30-minute window
--   selected at random from an 8-hour block of time for each AWS Region,
--   occurring on a random day of the week. To see the time blocks
--   available, see <a>Adjusting the Preferred Maintenance Window</a> in
--   the <i>Amazon RDS User Guide.</i> Valid Days: Mon, Tue, Wed, Thu, Fri,
--   Sat, Sun. Constraints: Minimum 30-minute window.
mdcPreferredMaintenanceWindow :: Lens' ModifyDBCluster (Maybe Text)

-- | The daily time range during which automated backups are created if
--   automated backups are enabled, using the
--   <tt>BackupRetentionPeriod</tt> parameter. The default is a 30-minute
--   window selected at random from an 8-hour block of time for each AWS
--   Region. To see the time blocks available, see <a>Adjusting the
--   Preferred Maintenance Window</a> in the <i>Amazon RDS User Guide.</i>
--   Constraints: * Must be in the format <tt>hh24:mi-hh24:mi</tt> . * Must
--   be in Universal Coordinated Time (UTC). * Must not conflict with the
--   preferred maintenance window. * Must be at least 30 minutes.
mdcPreferredBackupWindow :: Lens' ModifyDBCluster (Maybe Text)

-- | The number of days for which automated backups are retained. You must
--   specify a minimum value of 1. Default: 1 Constraints: * Must be a
--   value from 1 to 35
mdcBackupRetentionPeriod :: Lens' ModifyDBCluster (Maybe Int)

-- | A list of VPC security groups that the DB cluster will belong to.
mdcVPCSecurityGroupIds :: Lens' ModifyDBCluster [Text]

-- | The name of the DB cluster parameter group to use for the DB cluster.
mdcDBClusterParameterGroupName :: Lens' ModifyDBCluster (Maybe Text)

-- | A value that specifies whether the modifications in this request and
--   any pending modifications are asynchronously applied as soon as
--   possible, regardless of the <tt>PreferredMaintenanceWindow</tt>
--   setting for the DB cluster. If this parameter is set to <tt>false</tt>
--   , changes to the DB cluster are applied during the next maintenance
--   window. The <tt>ApplyImmediately</tt> parameter only affects the
--   <tt>NewDBClusterIdentifier</tt> and <tt>MasterUserPassword</tt>
--   values. If you set the <tt>ApplyImmediately</tt> parameter value to
--   false, then changes to the <tt>NewDBClusterIdentifier</tt> and
--   <tt>MasterUserPassword</tt> values are applied during the next
--   maintenance window. All other changes are applied immediately,
--   regardless of the value of the <tt>ApplyImmediately</tt> parameter.
--   Default: <tt>false</tt>
mdcApplyImmediately :: Lens' ModifyDBCluster (Maybe Bool)

-- | A value that indicates that the DB cluster should be associated with
--   the specified option group. Changing this parameter doesn't result in
--   an outage except in the following case, and the change is applied
--   during the next maintenance window unless the
--   <tt>ApplyImmediately</tt> parameter is set to <tt>true</tt> for this
--   request. If the parameter change results in an option group that
--   enables OEM, this change can cause a brief (sub-second) period during
--   which new connections are rejected but existing connections are not
--   interrupted. Permanent options can't be removed from an option group.
--   The option group can't be removed from a DB cluster once it is
--   associated with a DB cluster.
mdcOptionGroupName :: Lens' ModifyDBCluster (Maybe Text)

-- | The new DB cluster identifier for the DB cluster when renaming a DB
--   cluster. This value is stored as a lowercase string. Constraints: *
--   Must contain from 1 to 63 letters, numbers, or hyphens * The first
--   character must be a letter * Cannot end with a hyphen or contain two
--   consecutive hyphens Example: <tt>my-cluster2</tt>
mdcNewDBClusterIdentifier :: Lens' ModifyDBCluster (Maybe Text)

-- | The port number on which the DB cluster accepts connections.
--   Constraints: Value must be <tt>1150-65535</tt> Default: The same port
--   as the original DB cluster.
mdcPort :: Lens' ModifyDBCluster (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. Default:
--   <tt>false</tt>
mdcEnableIAMDatabaseAuthentication :: Lens' ModifyDBCluster (Maybe Bool)

-- | The DB cluster identifier for the cluster being modified. This
--   parameter is not case-sensitive. Constraints: * Must match the
--   identifier of an existing DBCluster.
mdcDBClusterIdentifier :: Lens' ModifyDBCluster Text

-- | Creates a value of <a>ModifyDBClusterResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdcrsDBCluster</a> - Undocumented member.</li>
--   <li><a>mdcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyDBClusterResponse :: Int -> ModifyDBClusterResponse

-- | <i>See:</i> <a>modifyDBClusterResponse</a> smart constructor.
data ModifyDBClusterResponse

-- | Undocumented member.
mdcrsDBCluster :: Lens' ModifyDBClusterResponse (Maybe DBCluster)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
mdcrsResponseStatus :: Lens' ModifyDBClusterResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBCluster.ModifyDBClusterResponse
instance Data.Data.Data Network.AWS.RDS.ModifyDBCluster.ModifyDBClusterResponse
instance GHC.Show.Show Network.AWS.RDS.ModifyDBCluster.ModifyDBClusterResponse
instance GHC.Read.Read Network.AWS.RDS.ModifyDBCluster.ModifyDBClusterResponse
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBCluster.ModifyDBClusterResponse
instance GHC.Generics.Generic Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance Data.Data.Data Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance GHC.Show.Show Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance GHC.Read.Read Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance GHC.Classes.Eq Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBCluster.ModifyDBClusterResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ModifyDBCluster.ModifyDBCluster


-- | Lists all tags on an Amazon RDS resource.
--   
--   For an overview on tagging an Amazon RDS resource, see <a>Tagging
--   Amazon RDS Resources</a> .
module Network.AWS.RDS.ListTagsForResource

-- | Creates a value of <a>ListTagsForResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltfrFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ltfrResourceName</a> - The Amazon RDS resource with tags to be
--   listed. This value is an Amazon Resource Name (ARN). For information
--   about creating an ARN, see <a>Constructing an RDS Amazon Resource Name
--   (ARN)</a> .</li>
--   </ul>
listTagsForResource :: Text -> ListTagsForResource

-- | <i>See:</i> <a>listTagsForResource</a> smart constructor.
data ListTagsForResource

-- | This parameter is not currently supported.
ltfrFilters :: Lens' ListTagsForResource [Filter]

-- | The Amazon RDS resource with tags to be listed. This value is an
--   Amazon Resource Name (ARN). For information about creating an ARN, see
--   <a>Constructing an RDS Amazon Resource Name (ARN)</a> .
ltfrResourceName :: Lens' ListTagsForResource Text

-- | Creates a value of <a>ListTagsForResourceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltfrrsTagList</a> - List of tags returned by the
--   ListTagsForResource operation.</li>
--   <li><a>ltfrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listTagsForResourceResponse :: Int -> ListTagsForResourceResponse

-- | <i>See:</i> <a>listTagsForResourceResponse</a> smart constructor.
data ListTagsForResourceResponse

-- | List of tags returned by the ListTagsForResource operation.
ltfrrsTagList :: Lens' ListTagsForResourceResponse [Tag]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ltfrrsResponseStatus :: Lens' ListTagsForResourceResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ListTagsForResource.ListTagsForResourceResponse
instance Data.Data.Data Network.AWS.RDS.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Show.Show Network.AWS.RDS.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Read.Read Network.AWS.RDS.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Classes.Eq Network.AWS.RDS.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Generics.Generic Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance Data.Data.Data Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance GHC.Show.Show Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance GHC.Read.Read Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance GHC.Classes.Eq Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.RDS.ListTagsForResource.ListTagsForResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ListTagsForResource.ListTagsForResource


-- | Forces a failover for a DB cluster.
--   
--   A failover for a DB cluster promotes one of the Aurora Replicas
--   (read-only instances) in the DB cluster to be the primary instance
--   (the cluster writer).
--   
--   Amazon Aurora will automatically fail over to an Aurora Replica, if
--   one exists, when the primary instance fails. You can force a failover
--   when you want to simulate a failure of a primary instance for testing.
--   Because each instance in a DB cluster has its own endpoint address,
--   you will need to clean up and re-establish any existing connections
--   that use those endpoint addresses when the failover is complete.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.FailoverDBCluster

-- | Creates a value of <a>FailoverDBCluster</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fdcDBClusterIdentifier</a> - A DB cluster identifier to force a
--   failover for. This parameter is not case-sensitive. Constraints: *
--   Must match the identifier of an existing DBCluster.</li>
--   <li><a>fdcTargetDBInstanceIdentifier</a> - The name of the instance to
--   promote to the primary instance. You must specify the instance
--   identifier for an Aurora Replica in the DB cluster. For example,
--   <tt>mydbcluster-replica1</tt> .</li>
--   </ul>
failoverDBCluster :: FailoverDBCluster

-- | <i>See:</i> <a>failoverDBCluster</a> smart constructor.
data FailoverDBCluster

-- | A DB cluster identifier to force a failover for. This parameter is not
--   case-sensitive. Constraints: * Must match the identifier of an
--   existing DBCluster.
fdcDBClusterIdentifier :: Lens' FailoverDBCluster (Maybe Text)

-- | The name of the instance to promote to the primary instance. You must
--   specify the instance identifier for an Aurora Replica in the DB
--   cluster. For example, <tt>mydbcluster-replica1</tt> .
fdcTargetDBInstanceIdentifier :: Lens' FailoverDBCluster (Maybe Text)

-- | Creates a value of <a>FailoverDBClusterResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fdcrsDBCluster</a> - Undocumented member.</li>
--   <li><a>fdcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
failoverDBClusterResponse :: Int -> FailoverDBClusterResponse

-- | <i>See:</i> <a>failoverDBClusterResponse</a> smart constructor.
data FailoverDBClusterResponse

-- | Undocumented member.
fdcrsDBCluster :: Lens' FailoverDBClusterResponse (Maybe DBCluster)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
fdcrsResponseStatus :: Lens' FailoverDBClusterResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.FailoverDBCluster.FailoverDBClusterResponse
instance Data.Data.Data Network.AWS.RDS.FailoverDBCluster.FailoverDBClusterResponse
instance GHC.Show.Show Network.AWS.RDS.FailoverDBCluster.FailoverDBClusterResponse
instance GHC.Read.Read Network.AWS.RDS.FailoverDBCluster.FailoverDBClusterResponse
instance GHC.Classes.Eq Network.AWS.RDS.FailoverDBCluster.FailoverDBClusterResponse
instance GHC.Generics.Generic Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance Data.Data.Data Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance GHC.Show.Show Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance GHC.Read.Read Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance GHC.Classes.Eq Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.FailoverDBCluster.FailoverDBClusterResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.FailoverDBCluster.FailoverDBCluster


-- | Downloads all or a portion of the specified log file, up to 1 MB in
--   size.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DownloadDBLogFilePortion

-- | Creates a value of <a>DownloadDBLogFilePortion</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddlfpNumberOfLines</a> - The number of lines to download. If
--   the number of lines specified results in a file over 1 MB in size, the
--   file is truncated at 1 MB in size. If the NumberOfLines parameter is
--   specified, then the block of lines returned can be from the beginning
--   or the end of the log file, depending on the value of the Marker
--   parameter. * If neither Marker or NumberOfLines are specified, the
--   entire log file is returned up to a maximum of 10000 lines, starting
--   with the most recent log entries first. * If NumberOfLines is
--   specified and Marker is not specified, then the most recent lines from
--   the end of the log file are returned. * If Marker is specified as "0",
--   then the specified number of lines from the beginning of the log file
--   are returned. * You can download the log file in blocks of lines by
--   specifying the size of the block using the NumberOfLines parameter,
--   and by specifying a value of "0" for the Marker parameter in your
--   first request. Include the Marker value returned in the response as
--   the Marker value for the next request, continuing until the
--   AdditionalDataPending response element returns false.</li>
--   <li><a>ddlfpMarker</a> - The pagination token provided in the previous
--   request or "0". If the Marker parameter is specified the response
--   includes only records beyond the marker until the end of the file or
--   up to NumberOfLines.</li>
--   <li><a>ddlfpDBInstanceIdentifier</a> - The customer-assigned name of
--   the DB instance that contains the log files you want to list.
--   Constraints: * Must match the identifier of an existing
--   DBInstance.</li>
--   <li><a>ddlfpLogFileName</a> - The name of the log file to be
--   downloaded.</li>
--   </ul>
downloadDBLogFilePortion :: Text -> Text -> DownloadDBLogFilePortion

-- | <i>See:</i> <a>downloadDBLogFilePortion</a> smart constructor.
data DownloadDBLogFilePortion

-- | The number of lines to download. If the number of lines specified
--   results in a file over 1 MB in size, the file is truncated at 1 MB in
--   size. If the NumberOfLines parameter is specified, then the block of
--   lines returned can be from the beginning or the end of the log file,
--   depending on the value of the Marker parameter. * If neither Marker or
--   NumberOfLines are specified, the entire log file is returned up to a
--   maximum of 10000 lines, starting with the most recent log entries
--   first. * If NumberOfLines is specified and Marker is not specified,
--   then the most recent lines from the end of the log file are returned.
--   * If Marker is specified as "0", then the specified number of lines
--   from the beginning of the log file are returned. * You can download
--   the log file in blocks of lines by specifying the size of the block
--   using the NumberOfLines parameter, and by specifying a value of "0"
--   for the Marker parameter in your first request. Include the Marker
--   value returned in the response as the Marker value for the next
--   request, continuing until the AdditionalDataPending response element
--   returns false.
ddlfpNumberOfLines :: Lens' DownloadDBLogFilePortion (Maybe Int)

-- | The pagination token provided in the previous request or "0". If the
--   Marker parameter is specified the response includes only records
--   beyond the marker until the end of the file or up to NumberOfLines.
ddlfpMarker :: Lens' DownloadDBLogFilePortion (Maybe Text)

-- | The customer-assigned name of the DB instance that contains the log
--   files you want to list. Constraints: * Must match the identifier of an
--   existing DBInstance.
ddlfpDBInstanceIdentifier :: Lens' DownloadDBLogFilePortion Text

-- | The name of the log file to be downloaded.
ddlfpLogFileName :: Lens' DownloadDBLogFilePortion Text

-- | Creates a value of <a>DownloadDBLogFilePortionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddlfprsLogFileData</a> - Entries from the specified log
--   file.</li>
--   <li><a>ddlfprsAdditionalDataPending</a> - Boolean value that if true,
--   indicates there is more data to be downloaded.</li>
--   <li><a>ddlfprsMarker</a> - A pagination token that can be used in a
--   subsequent DownloadDBLogFilePortion request.</li>
--   <li><a>ddlfprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
downloadDBLogFilePortionResponse :: Int -> DownloadDBLogFilePortionResponse

-- | This data type is used as a response element to
--   <a>DownloadDBLogFilePortion</a> .
--   
--   <i>See:</i> <a>downloadDBLogFilePortionResponse</a> smart constructor.
data DownloadDBLogFilePortionResponse

-- | Entries from the specified log file.
ddlfprsLogFileData :: Lens' DownloadDBLogFilePortionResponse (Maybe Text)

-- | Boolean value that if true, indicates there is more data to be
--   downloaded.
ddlfprsAdditionalDataPending :: Lens' DownloadDBLogFilePortionResponse (Maybe Bool)

-- | A pagination token that can be used in a subsequent
--   DownloadDBLogFilePortion request.
ddlfprsMarker :: Lens' DownloadDBLogFilePortionResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddlfprsResponseStatus :: Lens' DownloadDBLogFilePortionResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortionResponse
instance Data.Data.Data Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortionResponse
instance GHC.Show.Show Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortionResponse
instance GHC.Read.Read Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortionResponse
instance GHC.Classes.Eq Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortionResponse
instance GHC.Generics.Generic Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance Data.Data.Data Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance GHC.Show.Show Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance GHC.Read.Read Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance GHC.Classes.Eq Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance Control.DeepSeq.NFData Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortionResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance Control.DeepSeq.NFData Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DownloadDBLogFilePortion.DownloadDBLogFilePortion


-- | You can call <a>DescribeValidDBInstanceModifications</a> to learn what
--   modifications you can make to your DB instance. You can use this
--   information when you call <tt>ModifyDBInstance</tt> .
module Network.AWS.RDS.DescribeValidDBInstanceModifications

-- | Creates a value of <a>DescribeValidDBInstanceModifications</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvdimDBInstanceIdentifier</a> - The customer identifier or the
--   ARN of your DB instance.</li>
--   </ul>
describeValidDBInstanceModifications :: Text -> DescribeValidDBInstanceModifications

-- | <i>See:</i> <a>describeValidDBInstanceModifications</a> smart
--   constructor.
data DescribeValidDBInstanceModifications

-- | The customer identifier or the ARN of your DB instance.
dvdimDBInstanceIdentifier :: Lens' DescribeValidDBInstanceModifications Text

-- | Creates a value of <a>DescribeValidDBInstanceModificationsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvdimrsValidDBInstanceModificationsMessage</a> - Undocumented
--   member.</li>
--   <li><a>dvdimrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeValidDBInstanceModificationsResponse :: Int -> DescribeValidDBInstanceModificationsResponse

-- | <i>See:</i> <a>describeValidDBInstanceModificationsResponse</a> smart
--   constructor.
data DescribeValidDBInstanceModificationsResponse

-- | Undocumented member.
dvdimrsValidDBInstanceModificationsMessage :: Lens' DescribeValidDBInstanceModificationsResponse (Maybe ValidDBInstanceModificationsMessage)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dvdimrsResponseStatus :: Lens' DescribeValidDBInstanceModificationsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModificationsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModificationsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModificationsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModificationsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModificationsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance Data.Data.Data Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance GHC.Show.Show Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance GHC.Read.Read Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance GHC.Classes.Eq Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModificationsResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeValidDBInstanceModifications.DescribeValidDBInstanceModifications


-- | Returns a list of the source AWS Regions where the current AWS Region
--   can create a Read Replica or copy a DB snapshot from. This API action
--   supports pagination.
module Network.AWS.RDS.DescribeSourceRegions

-- | Creates a value of <a>DescribeSourceRegions</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsrRegionName</a> - The source AWS Region name. For example,
--   <tt>us-east-1</tt> . Constraints: * Must specify a valid AWS Region
--   name.</li>
--   <li><a>dsrFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>dsrMarker</a> - An optional pagination token provided by a
--   previous <a>DescribeSourceRegions</a> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>dsrMaxRecords</a> - The maximum number of records to include in
--   the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   </ul>
describeSourceRegions :: DescribeSourceRegions

-- | <i>See:</i> <a>describeSourceRegions</a> smart constructor.
data DescribeSourceRegions

-- | The source AWS Region name. For example, <tt>us-east-1</tt> .
--   Constraints: * Must specify a valid AWS Region name.
dsrRegionName :: Lens' DescribeSourceRegions (Maybe Text)

-- | This parameter is not currently supported.
dsrFilters :: Lens' DescribeSourceRegions [Filter]

-- | An optional pagination token provided by a previous
--   <a>DescribeSourceRegions</a> request. If this parameter is specified,
--   the response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
dsrMarker :: Lens' DescribeSourceRegions (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
dsrMaxRecords :: Lens' DescribeSourceRegions (Maybe Int)

-- | Creates a value of <a>DescribeSourceRegionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsrrsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>dsrrsSourceRegions</a> - A list of SourceRegion instances that
--   contains each source AWS Region that the current AWS Region can get a
--   Read Replica or a DB snapshot from.</li>
--   <li><a>dsrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeSourceRegionsResponse :: Int -> DescribeSourceRegionsResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeSourceRegions</a> action.
--   
--   <i>See:</i> <a>describeSourceRegionsResponse</a> smart constructor.
data DescribeSourceRegionsResponse

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
dsrrsMarker :: Lens' DescribeSourceRegionsResponse (Maybe Text)

-- | A list of SourceRegion instances that contains each source AWS Region
--   that the current AWS Region can get a Read Replica or a DB snapshot
--   from.
dsrrsSourceRegions :: Lens' DescribeSourceRegionsResponse [SourceRegion]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dsrrsResponseStatus :: Lens' DescribeSourceRegionsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegionsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegionsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegionsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegionsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegionsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance Data.Data.Data Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance GHC.Show.Show Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance GHC.Read.Read Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance GHC.Classes.Eq Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegionsResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeSourceRegions.DescribeSourceRegions


-- | Lists available reserved DB instance offerings.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeReservedDBInstancesOfferings

-- | Creates a value of <a>DescribeReservedDBInstancesOfferings</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drdioProductDescription</a> - Product description filter value.
--   Specify this parameter to show only the available offerings matching
--   the specified product description.</li>
--   <li><a>drdioFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>drdioDBInstanceClass</a> - The DB instance class filter value.
--   Specify this parameter to show only the available offerings matching
--   the specified DB instance class.</li>
--   <li><a>drdioMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>drdioMaxRecords</a> - The maximum number of records to include
--   in the response. If more than the <tt>MaxRecords</tt> value is
--   available, a pagination token called a marker is included in the
--   response so that the following results can be retrieved. Default: 100
--   Constraints: Minimum 20, maximum 100.</li>
--   <li><a>drdioMultiAZ</a> - The Multi-AZ filter value. Specify this
--   parameter to show only the available offerings matching the specified
--   Multi-AZ parameter.</li>
--   <li><a>drdioReservedDBInstancesOfferingId</a> - The offering
--   identifier filter value. Specify this parameter to show only the
--   available offering that matches the specified reservation identifier.
--   Example: <tt>438012d3-4052-4cc7-b2e3-8d3372e0e706</tt></li>
--   <li><a>drdioOfferingType</a> - The offering type filter value. Specify
--   this parameter to show only the available offerings matching the
--   specified offering type. Valid Values: <tt>"Partial Upfront" | "All
--   Upfront" | "No Upfront" </tt></li>
--   <li><a>drdioDuration</a> - Duration filter value, specified in years
--   or seconds. Specify this parameter to show only reservations for this
--   duration. Valid Values: <tt>1 | 3 | 31536000 | 94608000</tt></li>
--   </ul>
describeReservedDBInstancesOfferings :: DescribeReservedDBInstancesOfferings

-- | <i>See:</i> <a>describeReservedDBInstancesOfferings</a> smart
--   constructor.
data DescribeReservedDBInstancesOfferings

-- | Product description filter value. Specify this parameter to show only
--   the available offerings matching the specified product description.
drdioProductDescription :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)

-- | This parameter is not currently supported.
drdioFilters :: Lens' DescribeReservedDBInstancesOfferings [Filter]

-- | The DB instance class filter value. Specify this parameter to show
--   only the available offerings matching the specified DB instance class.
drdioDBInstanceClass :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
drdioMarker :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)

-- | The maximum number of records to include in the response. If more than
--   the <tt>MaxRecords</tt> value is available, a pagination token called
--   a marker is included in the response so that the following results can
--   be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.
drdioMaxRecords :: Lens' DescribeReservedDBInstancesOfferings (Maybe Int)

-- | The Multi-AZ filter value. Specify this parameter to show only the
--   available offerings matching the specified Multi-AZ parameter.
drdioMultiAZ :: Lens' DescribeReservedDBInstancesOfferings (Maybe Bool)

-- | The offering identifier filter value. Specify this parameter to show
--   only the available offering that matches the specified reservation
--   identifier. Example: <tt>438012d3-4052-4cc7-b2e3-8d3372e0e706</tt>
drdioReservedDBInstancesOfferingId :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)

-- | The offering type filter value. Specify this parameter to show only
--   the available offerings matching the specified offering type. Valid
--   Values: <tt>"Partial Upfront" | "All Upfront" | "No Upfront" </tt>
drdioOfferingType :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)

-- | Duration filter value, specified in years or seconds. Specify this
--   parameter to show only reservations for this duration. Valid Values:
--   <tt>1 | 3 | 31536000 | 94608000</tt>
drdioDuration :: Lens' DescribeReservedDBInstancesOfferings (Maybe Text)

-- | Creates a value of <a>DescribeReservedDBInstancesOfferingsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drdiorsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>drdiorsReservedDBInstancesOfferings</a> - A list of reserved DB
--   instance offerings.</li>
--   <li><a>drdiorsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeReservedDBInstancesOfferingsResponse :: Int -> DescribeReservedDBInstancesOfferingsResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeReservedDBInstancesOfferings</a> action.
--   
--   <i>See:</i> <a>describeReservedDBInstancesOfferingsResponse</a> smart
--   constructor.
data DescribeReservedDBInstancesOfferingsResponse

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
drdiorsMarker :: Lens' DescribeReservedDBInstancesOfferingsResponse (Maybe Text)

-- | A list of reserved DB instance offerings.
drdiorsReservedDBInstancesOfferings :: Lens' DescribeReservedDBInstancesOfferingsResponse [ReservedDBInstancesOffering]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drdiorsResponseStatus :: Lens' DescribeReservedDBInstancesOfferingsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferingsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferingsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferingsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferingsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferingsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance Data.Data.Data Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance GHC.Show.Show Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance GHC.Read.Read Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance GHC.Classes.Eq Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferingsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeReservedDBInstancesOfferings.DescribeReservedDBInstancesOfferings


-- | Returns information about reserved DB instances for this account, or
--   about a specified reserved DB instance.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeReservedDBInstances

-- | Creates a value of <a>DescribeReservedDBInstances</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drdiProductDescription</a> - The product description filter
--   value. Specify this parameter to show only those reservations matching
--   the specified product description.</li>
--   <li><a>drdiFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>drdiReservedDBInstanceId</a> - The reserved DB instance
--   identifier filter value. Specify this parameter to show only the
--   reservation that matches the specified reservation ID.</li>
--   <li><a>drdiDBInstanceClass</a> - The DB instance class filter value.
--   Specify this parameter to show only those reservations matching the
--   specified DB instances class.</li>
--   <li><a>drdiMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>drdiMaxRecords</a> - The maximum number of records to include
--   in the response. If more than the <tt>MaxRecords</tt> value is
--   available, a pagination token called a marker is included in the
--   response so that the following results can be retrieved. Default: 100
--   Constraints: Minimum 20, maximum 100.</li>
--   <li><a>drdiMultiAZ</a> - The Multi-AZ filter value. Specify this
--   parameter to show only those reservations matching the specified
--   Multi-AZ parameter.</li>
--   <li><a>drdiReservedDBInstancesOfferingId</a> - The offering identifier
--   filter value. Specify this parameter to show only purchased
--   reservations matching the specified offering identifier.</li>
--   <li><a>drdiOfferingType</a> - The offering type filter value. Specify
--   this parameter to show only the available offerings matching the
--   specified offering type. Valid Values: <tt>"Partial Upfront" | "All
--   Upfront" | "No Upfront" </tt></li>
--   <li><a>drdiDuration</a> - The duration filter value, specified in
--   years or seconds. Specify this parameter to show only reservations for
--   this duration. Valid Values: <tt>1 | 3 | 31536000 | 94608000</tt></li>
--   </ul>
describeReservedDBInstances :: DescribeReservedDBInstances

-- | <i>See:</i> <a>describeReservedDBInstances</a> smart constructor.
data DescribeReservedDBInstances

-- | The product description filter value. Specify this parameter to show
--   only those reservations matching the specified product description.
drdiProductDescription :: Lens' DescribeReservedDBInstances (Maybe Text)

-- | This parameter is not currently supported.
drdiFilters :: Lens' DescribeReservedDBInstances [Filter]

-- | The reserved DB instance identifier filter value. Specify this
--   parameter to show only the reservation that matches the specified
--   reservation ID.
drdiReservedDBInstanceId :: Lens' DescribeReservedDBInstances (Maybe Text)

-- | The DB instance class filter value. Specify this parameter to show
--   only those reservations matching the specified DB instances class.
drdiDBInstanceClass :: Lens' DescribeReservedDBInstances (Maybe Text)

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
drdiMarker :: Lens' DescribeReservedDBInstances (Maybe Text)

-- | The maximum number of records to include in the response. If more than
--   the <tt>MaxRecords</tt> value is available, a pagination token called
--   a marker is included in the response so that the following results can
--   be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.
drdiMaxRecords :: Lens' DescribeReservedDBInstances (Maybe Int)

-- | The Multi-AZ filter value. Specify this parameter to show only those
--   reservations matching the specified Multi-AZ parameter.
drdiMultiAZ :: Lens' DescribeReservedDBInstances (Maybe Bool)

-- | The offering identifier filter value. Specify this parameter to show
--   only purchased reservations matching the specified offering
--   identifier.
drdiReservedDBInstancesOfferingId :: Lens' DescribeReservedDBInstances (Maybe Text)

-- | The offering type filter value. Specify this parameter to show only
--   the available offerings matching the specified offering type. Valid
--   Values: <tt>"Partial Upfront" | "All Upfront" | "No Upfront" </tt>
drdiOfferingType :: Lens' DescribeReservedDBInstances (Maybe Text)

-- | The duration filter value, specified in years or seconds. Specify this
--   parameter to show only reservations for this duration. Valid Values:
--   <tt>1 | 3 | 31536000 | 94608000</tt>
drdiDuration :: Lens' DescribeReservedDBInstances (Maybe Text)

-- | Creates a value of <a>DescribeReservedDBInstancesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drdirsReservedDBInstances</a> - A list of reserved DB
--   instances.</li>
--   <li><a>drdirsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>drdirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeReservedDBInstancesResponse :: Int -> DescribeReservedDBInstancesResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeReservedDBInstances</a> action.
--   
--   <i>See:</i> <a>describeReservedDBInstancesResponse</a> smart
--   constructor.
data DescribeReservedDBInstancesResponse

-- | A list of reserved DB instances.
drdirsReservedDBInstances :: Lens' DescribeReservedDBInstancesResponse [ReservedDBInstance]

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
drdirsMarker :: Lens' DescribeReservedDBInstancesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drdirsResponseStatus :: Lens' DescribeReservedDBInstancesResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstancesResponse
instance Data.Data.Data Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstancesResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstancesResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstancesResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstancesResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance Data.Data.Data Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance GHC.Show.Show Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance GHC.Read.Read Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance GHC.Classes.Eq Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstancesResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeReservedDBInstances.DescribeReservedDBInstances


-- | Returns a list of resources (for example, DB instances) that have at
--   least one pending maintenance action.
module Network.AWS.RDS.DescribePendingMaintenanceActions

-- | Creates a value of <a>DescribePendingMaintenanceActions</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpmaFilters</a> - A filter that specifies one or more resources
--   to return pending maintenance actions for. Supported filters: *
--   <tt>db-cluster-id</tt> - Accepts DB cluster identifiers and DB cluster
--   Amazon Resource Names (ARNs). The results list will only include
--   pending maintenance actions for the DB clusters identified by these
--   ARNs. * <tt>db-instance-id</tt> - Accepts DB instance identifiers and
--   DB instance ARNs. The results list will only include pending
--   maintenance actions for the DB instances identified by these
--   ARNs.</li>
--   <li><a>dpmaMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribePendingMaintenanceActions</tt> request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to a number of records specified by <tt>MaxRecords</tt>
--   .</li>
--   <li><a>dpmaMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>dpmaResourceIdentifier</a> - The ARN of a resource to return
--   pending maintenance actions for.</li>
--   </ul>
describePendingMaintenanceActions :: DescribePendingMaintenanceActions

-- | <i>See:</i> <a>describePendingMaintenanceActions</a> smart
--   constructor.
data DescribePendingMaintenanceActions

-- | A filter that specifies one or more resources to return pending
--   maintenance actions for. Supported filters: * <tt>db-cluster-id</tt> -
--   Accepts DB cluster identifiers and DB cluster Amazon Resource Names
--   (ARNs). The results list will only include pending maintenance actions
--   for the DB clusters identified by these ARNs. *
--   <tt>db-instance-id</tt> - Accepts DB instance identifiers and DB
--   instance ARNs. The results list will only include pending maintenance
--   actions for the DB instances identified by these ARNs.
dpmaFilters :: Lens' DescribePendingMaintenanceActions [Filter]

-- | An optional pagination token provided by a previous
--   <tt>DescribePendingMaintenanceActions</tt> request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to a number of records specified by <tt>MaxRecords</tt> .
dpmaMarker :: Lens' DescribePendingMaintenanceActions (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
dpmaMaxRecords :: Lens' DescribePendingMaintenanceActions (Maybe Int)

-- | The ARN of a resource to return pending maintenance actions for.
dpmaResourceIdentifier :: Lens' DescribePendingMaintenanceActions (Maybe Text)

-- | Creates a value of <a>DescribePendingMaintenanceActionsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpmarsPendingMaintenanceActions</a> - A list of the pending
--   maintenance actions for the resource.</li>
--   <li><a>dpmarsMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribePendingMaintenanceActions</tt> request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to a number of records specified by <tt>MaxRecords</tt>
--   .</li>
--   <li><a>dpmarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describePendingMaintenanceActionsResponse :: Int -> DescribePendingMaintenanceActionsResponse

-- | Data returned from the <b>DescribePendingMaintenanceActions</b>
--   action.
--   
--   <i>See:</i> <a>describePendingMaintenanceActionsResponse</a> smart
--   constructor.
data DescribePendingMaintenanceActionsResponse

-- | A list of the pending maintenance actions for the resource.
dpmarsPendingMaintenanceActions :: Lens' DescribePendingMaintenanceActionsResponse [ResourcePendingMaintenanceActions]

-- | An optional pagination token provided by a previous
--   <tt>DescribePendingMaintenanceActions</tt> request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to a number of records specified by <tt>MaxRecords</tt> .
dpmarsMarker :: Lens' DescribePendingMaintenanceActionsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dpmarsResponseStatus :: Lens' DescribePendingMaintenanceActionsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActionsResponse
instance Data.Data.Data Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActionsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActionsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActionsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActionsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance Data.Data.Data Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance GHC.Show.Show Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance GHC.Read.Read Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance GHC.Classes.Eq Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActionsResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribePendingMaintenanceActions.DescribePendingMaintenanceActions


-- | Returns a list of orderable DB instance options for the specified
--   engine.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeOrderableDBInstanceOptions

-- | Creates a value of <a>DescribeOrderableDBInstanceOptions</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dodioEngineVersion</a> - The engine version filter value.
--   Specify this parameter to show only the available offerings matching
--   the specified engine version.</li>
--   <li><a>dodioFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>dodioDBInstanceClass</a> - The DB instance class filter value.
--   Specify this parameter to show only the available offerings matching
--   the specified DB instance class.</li>
--   <li><a>dodioLicenseModel</a> - The license model filter value. Specify
--   this parameter to show only the available offerings matching the
--   specified license model.</li>
--   <li><a>dodioMarker</a> - An optional pagination token provided by a
--   previous DescribeOrderableDBInstanceOptions request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>dodioMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>dodioVPC</a> - The VPC filter value. Specify this parameter to
--   show only the available VPC or non-VPC offerings.</li>
--   <li><a>dodioEngine</a> - The name of the engine to retrieve DB
--   instance options for.</li>
--   </ul>
describeOrderableDBInstanceOptions :: Text -> DescribeOrderableDBInstanceOptions

-- | <i>See:</i> <a>describeOrderableDBInstanceOptions</a> smart
--   constructor.
data DescribeOrderableDBInstanceOptions

-- | The engine version filter value. Specify this parameter to show only
--   the available offerings matching the specified engine version.
dodioEngineVersion :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)

-- | This parameter is not currently supported.
dodioFilters :: Lens' DescribeOrderableDBInstanceOptions [Filter]

-- | The DB instance class filter value. Specify this parameter to show
--   only the available offerings matching the specified DB instance class.
dodioDBInstanceClass :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)

-- | The license model filter value. Specify this parameter to show only
--   the available offerings matching the specified license model.
dodioLicenseModel :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)

-- | An optional pagination token provided by a previous
--   DescribeOrderableDBInstanceOptions request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
dodioMarker :: Lens' DescribeOrderableDBInstanceOptions (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
dodioMaxRecords :: Lens' DescribeOrderableDBInstanceOptions (Maybe Int)

-- | The VPC filter value. Specify this parameter to show only the
--   available VPC or non-VPC offerings.
dodioVPC :: Lens' DescribeOrderableDBInstanceOptions (Maybe Bool)

-- | The name of the engine to retrieve DB instance options for.
dodioEngine :: Lens' DescribeOrderableDBInstanceOptions Text

-- | Creates a value of <a>DescribeOrderableDBInstanceOptionsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dodiorsOrderableDBInstanceOptions</a> - An
--   <a>OrderableDBInstanceOption</a> structure containing information
--   about orderable options for the DB instance.</li>
--   <li><a>dodiorsMarker</a> - An optional pagination token provided by a
--   previous OrderableDBInstanceOptions request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>dodiorsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeOrderableDBInstanceOptionsResponse :: Int -> DescribeOrderableDBInstanceOptionsResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeOrderableDBInstanceOptions</a> action.
--   
--   <i>See:</i> <a>describeOrderableDBInstanceOptionsResponse</a> smart
--   constructor.
data DescribeOrderableDBInstanceOptionsResponse

-- | An <a>OrderableDBInstanceOption</a> structure containing information
--   about orderable options for the DB instance.
dodiorsOrderableDBInstanceOptions :: Lens' DescribeOrderableDBInstanceOptionsResponse [OrderableDBInstanceOption]

-- | An optional pagination token provided by a previous
--   OrderableDBInstanceOptions request. If this parameter is specified,
--   the response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
dodiorsMarker :: Lens' DescribeOrderableDBInstanceOptionsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dodiorsResponseStatus :: Lens' DescribeOrderableDBInstanceOptionsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptionsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptionsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptionsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptionsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptionsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance Data.Data.Data Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance GHC.Show.Show Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance GHC.Read.Read Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance GHC.Classes.Eq Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptionsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeOrderableDBInstanceOptions.DescribeOrderableDBInstanceOptions


-- | Describes the available option groups.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeOptionGroups

-- | Creates a value of <a>DescribeOptionGroups</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dogFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>dogEngineName</a> - Filters the list of option groups to only
--   include groups associated with a specific database engine.</li>
--   <li><a>dogMajorEngineVersion</a> - Filters the list of option groups
--   to only include groups associated with a specific database engine
--   version. If specified, then EngineName must also be specified.</li>
--   <li><a>dogMarker</a> - An optional pagination token provided by a
--   previous DescribeOptionGroups request. If this parameter is specified,
--   the response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .</li>
--   <li><a>dogMaxRecords</a> - The maximum number of records to include in
--   the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>dogOptionGroupName</a> - The name of the option group to
--   describe. Cannot be supplied together with EngineName or
--   MajorEngineVersion.</li>
--   </ul>
describeOptionGroups :: DescribeOptionGroups

-- | <i>See:</i> <a>describeOptionGroups</a> smart constructor.
data DescribeOptionGroups

-- | This parameter is not currently supported.
dogFilters :: Lens' DescribeOptionGroups [Filter]

-- | Filters the list of option groups to only include groups associated
--   with a specific database engine.
dogEngineName :: Lens' DescribeOptionGroups (Maybe Text)

-- | Filters the list of option groups to only include groups associated
--   with a specific database engine version. If specified, then EngineName
--   must also be specified.
dogMajorEngineVersion :: Lens' DescribeOptionGroups (Maybe Text)

-- | An optional pagination token provided by a previous
--   DescribeOptionGroups request. If this parameter is specified, the
--   response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
dogMarker :: Lens' DescribeOptionGroups (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
dogMaxRecords :: Lens' DescribeOptionGroups (Maybe Int)

-- | The name of the option group to describe. Cannot be supplied together
--   with EngineName or MajorEngineVersion.
dogOptionGroupName :: Lens' DescribeOptionGroups (Maybe Text)

-- | Creates a value of <a>DescribeOptionGroupsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dogrsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>dogrsOptionGroupsList</a> - List of option groups.</li>
--   <li><a>dogrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeOptionGroupsResponse :: Int -> DescribeOptionGroupsResponse

-- | List of option groups.
--   
--   <i>See:</i> <a>describeOptionGroupsResponse</a> smart constructor.
data DescribeOptionGroupsResponse

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
dogrsMarker :: Lens' DescribeOptionGroupsResponse (Maybe Text)

-- | List of option groups.
dogrsOptionGroupsList :: Lens' DescribeOptionGroupsResponse [OptionGroup]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dogrsResponseStatus :: Lens' DescribeOptionGroupsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroupsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroupsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroupsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroupsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroupsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance Data.Data.Data Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance GHC.Show.Show Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance GHC.Read.Read Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance GHC.Classes.Eq Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroupsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeOptionGroups.DescribeOptionGroups


-- | Describes all available options.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeOptionGroupOptions

-- | Creates a value of <a>DescribeOptionGroupOptions</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dogoFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>dogoMajorEngineVersion</a> - If specified, filters the results
--   to include only options for the specified major engine version.</li>
--   <li><a>dogoMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>dogoMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>dogoEngineName</a> - A required parameter. Options available
--   for the given engine name are described.</li>
--   </ul>
describeOptionGroupOptions :: Text -> DescribeOptionGroupOptions

-- | <i>See:</i> <a>describeOptionGroupOptions</a> smart constructor.
data DescribeOptionGroupOptions

-- | This parameter is not currently supported.
dogoFilters :: Lens' DescribeOptionGroupOptions [Filter]

-- | If specified, filters the results to include only options for the
--   specified major engine version.
dogoMajorEngineVersion :: Lens' DescribeOptionGroupOptions (Maybe Text)

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
dogoMarker :: Lens' DescribeOptionGroupOptions (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
dogoMaxRecords :: Lens' DescribeOptionGroupOptions (Maybe Int)

-- | A required parameter. Options available for the given engine name are
--   described.
dogoEngineName :: Lens' DescribeOptionGroupOptions Text

-- | Creates a value of <a>DescribeOptionGroupOptionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dogorsOptionGroupOptions</a> - Undocumented member.</li>
--   <li><a>dogorsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>dogorsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeOptionGroupOptionsResponse :: Int -> DescribeOptionGroupOptionsResponse

-- | <i>See:</i> <a>describeOptionGroupOptionsResponse</a> smart
--   constructor.
data DescribeOptionGroupOptionsResponse

-- | Undocumented member.
dogorsOptionGroupOptions :: Lens' DescribeOptionGroupOptionsResponse [OptionGroupOption]

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
dogorsMarker :: Lens' DescribeOptionGroupOptionsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dogorsResponseStatus :: Lens' DescribeOptionGroupOptionsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptionsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptionsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptionsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptionsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptionsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance Data.Data.Data Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance GHC.Show.Show Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance GHC.Read.Read Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance GHC.Classes.Eq Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptionsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeOptionGroupOptions.DescribeOptionGroupOptions


-- | Returns events related to DB instances, DB security groups, DB
--   snapshots, and DB parameter groups for the past 14 days. Events
--   specific to a particular DB instance, DB security group, database
--   snapshot, or DB parameter group can be obtained by providing the name
--   as a parameter. By default, the past hour of events are returned.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeEvents

-- | Creates a value of <a>DescribeEvents</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>deStartTime</a> - The beginning of the time interval to
--   retrieve events for, specified in ISO 8601 format. For more
--   information about ISO 8601, go to the <a>ISO8601 Wikipedia page.</a>
--   Example: 2009-07-08T18:00Z</li>
--   <li><a>deSourceType</a> - The event source to retrieve events for. If
--   no value is specified, all events are returned.</li>
--   <li><a>deFilters</a> - This parameter is not currently supported.</li>
--   <li><a>deSourceIdentifier</a> - The identifier of the event source for
--   which events are returned. If not specified, then all sources are
--   included in the response. Constraints: * If SourceIdentifier is
--   supplied, SourceType must also be provided. * If the source type is
--   <tt>DBInstance</tt> , then a <tt>DBInstanceIdentifier</tt> must be
--   supplied. * If the source type is <tt>DBSecurityGroup</tt> , a
--   <tt>DBSecurityGroupName</tt> must be supplied. * If the source type is
--   <tt>DBParameterGroup</tt> , a <tt>DBParameterGroupName</tt> must be
--   supplied. * If the source type is <tt>DBSnapshot</tt> , a
--   <tt>DBSnapshotIdentifier</tt> must be supplied. * Cannot end with a
--   hyphen or contain two consecutive hyphens.</li>
--   <li><a>deEventCategories</a> - A list of event categories that trigger
--   notifications for a event notification subscription.</li>
--   <li><a>deMarker</a> - An optional pagination token provided by a
--   previous DescribeEvents request. If this parameter is specified, the
--   response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .</li>
--   <li><a>deMaxRecords</a> - The maximum number of records to include in
--   the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>deEndTime</a> - The end of the time interval for which to
--   retrieve events, specified in ISO 8601 format. For more information
--   about ISO 8601, go to the <a>ISO8601 Wikipedia page.</a> Example:
--   2009-07-08T18:00Z</li>
--   <li><a>deDuration</a> - The number of minutes to retrieve events for.
--   Default: 60</li>
--   </ul>
describeEvents :: DescribeEvents

-- | <i>See:</i> <a>describeEvents</a> smart constructor.
data DescribeEvents

-- | The beginning of the time interval to retrieve events for, specified
--   in ISO 8601 format. For more information about ISO 8601, go to the
--   <a>ISO8601 Wikipedia page.</a> Example: 2009-07-08T18:00Z
deStartTime :: Lens' DescribeEvents (Maybe UTCTime)

-- | The event source to retrieve events for. If no value is specified, all
--   events are returned.
deSourceType :: Lens' DescribeEvents (Maybe SourceType)

-- | This parameter is not currently supported.
deFilters :: Lens' DescribeEvents [Filter]

-- | The identifier of the event source for which events are returned. If
--   not specified, then all sources are included in the response.
--   Constraints: * If SourceIdentifier is supplied, SourceType must also
--   be provided. * If the source type is <tt>DBInstance</tt> , then a
--   <tt>DBInstanceIdentifier</tt> must be supplied. * If the source type
--   is <tt>DBSecurityGroup</tt> , a <tt>DBSecurityGroupName</tt> must be
--   supplied. * If the source type is <tt>DBParameterGroup</tt> , a
--   <tt>DBParameterGroupName</tt> must be supplied. * If the source type
--   is <tt>DBSnapshot</tt> , a <tt>DBSnapshotIdentifier</tt> must be
--   supplied. * Cannot end with a hyphen or contain two consecutive
--   hyphens.
deSourceIdentifier :: Lens' DescribeEvents (Maybe Text)

-- | A list of event categories that trigger notifications for a event
--   notification subscription.
deEventCategories :: Lens' DescribeEvents [Text]

-- | An optional pagination token provided by a previous DescribeEvents
--   request. If this parameter is specified, the response includes only
--   records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .
deMarker :: Lens' DescribeEvents (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
deMaxRecords :: Lens' DescribeEvents (Maybe Int)

-- | The end of the time interval for which to retrieve events, specified
--   in ISO 8601 format. For more information about ISO 8601, go to the
--   <a>ISO8601 Wikipedia page.</a> Example: 2009-07-08T18:00Z
deEndTime :: Lens' DescribeEvents (Maybe UTCTime)

-- | The number of minutes to retrieve events for. Default: 60
deDuration :: Lens' DescribeEvents (Maybe Int)

-- | Creates a value of <a>DescribeEventsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dersEvents</a> - A list of <a>Event</a> instances.</li>
--   <li><a>dersMarker</a> - An optional pagination token provided by a
--   previous Events request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>dersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeEventsResponse :: Int -> DescribeEventsResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeEvents</a> action.
--   
--   <i>See:</i> <a>describeEventsResponse</a> smart constructor.
data DescribeEventsResponse

-- | A list of <a>Event</a> instances.
dersEvents :: Lens' DescribeEventsResponse [Event]

-- | An optional pagination token provided by a previous Events request. If
--   this parameter is specified, the response includes only records beyond
--   the marker, up to the value specified by <tt>MaxRecords</tt> .
dersMarker :: Lens' DescribeEventsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dersResponseStatus :: Lens' DescribeEventsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEvents.DescribeEventsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeEvents.DescribeEventsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeEvents.DescribeEventsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeEvents.DescribeEventsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEvents.DescribeEventsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEvents.DescribeEvents
instance Data.Data.Data Network.AWS.RDS.DescribeEvents.DescribeEvents
instance GHC.Show.Show Network.AWS.RDS.DescribeEvents.DescribeEvents
instance GHC.Read.Read Network.AWS.RDS.DescribeEvents.DescribeEvents
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEvents.DescribeEvents
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeEvents.DescribeEvents
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEvents.DescribeEventsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeEvents.DescribeEvents
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeEvents.DescribeEvents
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEvents.DescribeEvents
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeEvents.DescribeEvents
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeEvents.DescribeEvents
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeEvents.DescribeEvents


-- | Lists all the subscription descriptions for a customer account. The
--   description for a subscription includes SubscriptionName, SNSTopicARN,
--   CustomerID, SourceType, SourceID, CreationTime, and Status.
--   
--   If you specify a SubscriptionName, lists the description for that
--   subscription.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeEventSubscriptions

-- | Creates a value of <a>DescribeEventSubscriptions</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dSubscriptionName</a> - The name of the RDS event notification
--   subscription you want to describe.</li>
--   <li><a>dFilters</a> - This parameter is not currently supported.</li>
--   <li><a>dMarker</a> - An optional pagination token provided by a
--   previous DescribeOrderableDBInstanceOptions request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>dMaxRecords</a> - The maximum number of records to include in
--   the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   </ul>
describeEventSubscriptions :: DescribeEventSubscriptions

-- | <i>See:</i> <a>describeEventSubscriptions</a> smart constructor.
data DescribeEventSubscriptions

-- | The name of the RDS event notification subscription you want to
--   describe.
dSubscriptionName :: Lens' DescribeEventSubscriptions (Maybe Text)

-- | This parameter is not currently supported.
dFilters :: Lens' DescribeEventSubscriptions [Filter]

-- | An optional pagination token provided by a previous
--   DescribeOrderableDBInstanceOptions request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
dMarker :: Lens' DescribeEventSubscriptions (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
dMaxRecords :: Lens' DescribeEventSubscriptions (Maybe Int)

-- | Creates a value of <a>DescribeEventSubscriptionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>desrsEventSubscriptionsList</a> - A list of EventSubscriptions
--   data types.</li>
--   <li><a>desrsMarker</a> - An optional pagination token provided by a
--   previous DescribeOrderableDBInstanceOptions request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>desrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeEventSubscriptionsResponse :: Int -> DescribeEventSubscriptionsResponse

-- | Data returned by the <b>DescribeEventSubscriptions</b> action.
--   
--   <i>See:</i> <a>describeEventSubscriptionsResponse</a> smart
--   constructor.
data DescribeEventSubscriptionsResponse

-- | A list of EventSubscriptions data types.
desrsEventSubscriptionsList :: Lens' DescribeEventSubscriptionsResponse [EventSubscription]

-- | An optional pagination token provided by a previous
--   DescribeOrderableDBInstanceOptions request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
desrsMarker :: Lens' DescribeEventSubscriptionsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
desrsResponseStatus :: Lens' DescribeEventSubscriptionsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptionsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptionsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptionsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptionsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptionsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance Data.Data.Data Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance GHC.Show.Show Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance GHC.Read.Read Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptionsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeEventSubscriptions.DescribeEventSubscriptions


-- | Displays a list of categories for all event source types, or, if
--   specified, for a specified source type. You can see a list of the
--   event categories and source types in the <a>Events</a> topic in the
--   <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.DescribeEventCategories

-- | Creates a value of <a>DescribeEventCategories</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>decSourceType</a> - The type of source that is generating the
--   events. Valid values: db-instance | db-parameter-group |
--   db-security-group | db-snapshot</li>
--   <li><a>decFilters</a> - This parameter is not currently
--   supported.</li>
--   </ul>
describeEventCategories :: DescribeEventCategories

-- | <i>See:</i> <a>describeEventCategories</a> smart constructor.
data DescribeEventCategories

-- | The type of source that is generating the events. Valid values:
--   db-instance | db-parameter-group | db-security-group | db-snapshot
decSourceType :: Lens' DescribeEventCategories (Maybe Text)

-- | This parameter is not currently supported.
decFilters :: Lens' DescribeEventCategories [Filter]

-- | Creates a value of <a>DescribeEventCategoriesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>decrsEventCategoriesMapList</a> - A list of EventCategoriesMap
--   data types.</li>
--   <li><a>decrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeEventCategoriesResponse :: Int -> DescribeEventCategoriesResponse

-- | Data returned from the <b>DescribeEventCategories</b> action.
--   
--   <i>See:</i> <a>describeEventCategoriesResponse</a> smart constructor.
data DescribeEventCategoriesResponse

-- | A list of EventCategoriesMap data types.
decrsEventCategoriesMapList :: Lens' DescribeEventCategoriesResponse [EventCategoriesMap]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
decrsResponseStatus :: Lens' DescribeEventCategoriesResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEventCategories.DescribeEventCategoriesResponse
instance Data.Data.Data Network.AWS.RDS.DescribeEventCategories.DescribeEventCategoriesResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeEventCategories.DescribeEventCategoriesResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeEventCategories.DescribeEventCategoriesResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEventCategories.DescribeEventCategoriesResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance Data.Data.Data Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance GHC.Show.Show Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance GHC.Read.Read Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEventCategories.DescribeEventCategoriesResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeEventCategories.DescribeEventCategories


-- | Returns the default engine and system parameter information for the
--   specified database engine.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeEngineDefaultParameters

-- | Creates a value of <a>DescribeEngineDefaultParameters</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dedpFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>dedpMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeEngineDefaultParameters</tt> request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>dedpMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>dedpDBParameterGroupFamily</a> - The name of the DB parameter
--   group family.</li>
--   </ul>
describeEngineDefaultParameters :: Text -> DescribeEngineDefaultParameters

-- | <i>See:</i> <a>describeEngineDefaultParameters</a> smart constructor.
data DescribeEngineDefaultParameters

-- | This parameter is not currently supported.
dedpFilters :: Lens' DescribeEngineDefaultParameters [Filter]

-- | An optional pagination token provided by a previous
--   <tt>DescribeEngineDefaultParameters</tt> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
dedpMarker :: Lens' DescribeEngineDefaultParameters (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
dedpMaxRecords :: Lens' DescribeEngineDefaultParameters (Maybe Int)

-- | The name of the DB parameter group family.
dedpDBParameterGroupFamily :: Lens' DescribeEngineDefaultParameters Text

-- | Creates a value of <a>DescribeEngineDefaultParametersResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dedprsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>dedprsEngineDefaults</a> - Undocumented member.</li>
--   </ul>
describeEngineDefaultParametersResponse :: Int -> EngineDefaults -> DescribeEngineDefaultParametersResponse

-- | <i>See:</i> <a>describeEngineDefaultParametersResponse</a> smart
--   constructor.
data DescribeEngineDefaultParametersResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dedprsResponseStatus :: Lens' DescribeEngineDefaultParametersResponse Int

-- | Undocumented member.
dedprsEngineDefaults :: Lens' DescribeEngineDefaultParametersResponse EngineDefaults
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParametersResponse
instance Data.Data.Data Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParametersResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParametersResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParametersResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParametersResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance Data.Data.Data Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance GHC.Show.Show Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance GHC.Read.Read Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParametersResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeEngineDefaultParameters.DescribeEngineDefaultParameters


-- | Returns the default engine and system parameter information for the
--   cluster database engine.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.DescribeEngineDefaultClusterParameters

-- | Creates a value of <a>DescribeEngineDefaultClusterParameters</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dedcpFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>dedcpMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeEngineDefaultClusterParameters</tt> request. If
--   this parameter is specified, the response includes only records beyond
--   the marker, up to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>dedcpMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>dedcpDBParameterGroupFamily</a> - The name of the DB cluster
--   parameter group family to return engine parameter information
--   for.</li>
--   </ul>
describeEngineDefaultClusterParameters :: Text -> DescribeEngineDefaultClusterParameters

-- | <i>See:</i> <a>describeEngineDefaultClusterParameters</a> smart
--   constructor.
data DescribeEngineDefaultClusterParameters

-- | This parameter is not currently supported.
dedcpFilters :: Lens' DescribeEngineDefaultClusterParameters [Filter]

-- | An optional pagination token provided by a previous
--   <tt>DescribeEngineDefaultClusterParameters</tt> request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
dedcpMarker :: Lens' DescribeEngineDefaultClusterParameters (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
dedcpMaxRecords :: Lens' DescribeEngineDefaultClusterParameters (Maybe Int)

-- | The name of the DB cluster parameter group family to return engine
--   parameter information for.
dedcpDBParameterGroupFamily :: Lens' DescribeEngineDefaultClusterParameters Text

-- | Creates a value of
--   <a>DescribeEngineDefaultClusterParametersResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dedcprsEngineDefaults</a> - Undocumented member.</li>
--   <li><a>dedcprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeEngineDefaultClusterParametersResponse :: Int -> DescribeEngineDefaultClusterParametersResponse

-- | <i>See:</i> <a>describeEngineDefaultClusterParametersResponse</a>
--   smart constructor.
data DescribeEngineDefaultClusterParametersResponse

-- | Undocumented member.
dedcprsEngineDefaults :: Lens' DescribeEngineDefaultClusterParametersResponse (Maybe EngineDefaults)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dedcprsResponseStatus :: Lens' DescribeEngineDefaultClusterParametersResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParametersResponse
instance Data.Data.Data Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParametersResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParametersResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParametersResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParametersResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance Data.Data.Data Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance GHC.Show.Show Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance GHC.Read.Read Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance GHC.Classes.Eq Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParametersResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeEngineDefaultClusterParameters.DescribeEngineDefaultClusterParameters


-- | Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName
--   is specified, the list will contain only the descriptions of the
--   specified DBSubnetGroup.
--   
--   For an overview of CIDR ranges, go to the <a>Wikipedia Tutorial</a> .
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeDBSubnetGroups

-- | Creates a value of <a>DescribeDBSubnetGroups</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddsgDBSubnetGroupName</a> - The name of the DB subnet group to
--   return details for.</li>
--   <li><a>ddsgFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddsgMarker</a> - An optional pagination token provided by a
--   previous DescribeDBSubnetGroups request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddsgMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   </ul>
describeDBSubnetGroups :: DescribeDBSubnetGroups

-- | <i>See:</i> <a>describeDBSubnetGroups</a> smart constructor.
data DescribeDBSubnetGroups

-- | The name of the DB subnet group to return details for.
ddsgDBSubnetGroupName :: Lens' DescribeDBSubnetGroups (Maybe Text)

-- | This parameter is not currently supported.
ddsgFilters :: Lens' DescribeDBSubnetGroups [Filter]

-- | An optional pagination token provided by a previous
--   DescribeDBSubnetGroups request. If this parameter is specified, the
--   response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
ddsgMarker :: Lens' DescribeDBSubnetGroups (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddsgMaxRecords :: Lens' DescribeDBSubnetGroups (Maybe Int)

-- | Creates a value of <a>DescribeDBSubnetGroupsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddsgrsDBSubnetGroups</a> - A list of <a>DBSubnetGroup</a>
--   instances.</li>
--   <li><a>ddsgrsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>ddsgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBSubnetGroupsResponse :: Int -> DescribeDBSubnetGroupsResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeDBSubnetGroups</a> action.
--   
--   <i>See:</i> <a>describeDBSubnetGroupsResponse</a> smart constructor.
data DescribeDBSubnetGroupsResponse

-- | A list of <a>DBSubnetGroup</a> instances.
ddsgrsDBSubnetGroups :: Lens' DescribeDBSubnetGroupsResponse [DBSubnetGroup]

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
ddsgrsMarker :: Lens' DescribeDBSubnetGroupsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddsgrsResponseStatus :: Lens' DescribeDBSubnetGroupsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroupsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroupsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroupsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroupsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroupsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance Data.Data.Data Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance GHC.Show.Show Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance GHC.Read.Read Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroupsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBSubnetGroups.DescribeDBSubnetGroups


-- | Returns information about DB snapshots. This API action supports
--   pagination.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeDBSnapshots

-- | Creates a value of <a>DescribeDBSnapshots</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddsIncludeShared</a> - True to include shared manual DB
--   snapshots from other AWS accounts that this AWS account has been given
--   permission to copy or restore, and otherwise false. The default is
--   <tt>false</tt> . You can give an AWS account permission to restore a
--   manual DB snapshot from another AWS account by using the
--   <tt>ModifyDBSnapshotAttribute</tt> API action.</li>
--   <li><a>ddsFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddsDBSnapshotIdentifier</a> - A specific DB snapshot identifier
--   to describe. This parameter can't be used in conjunction with
--   <tt>DBInstanceIdentifier</tt> . This value is stored as a lowercase
--   string. Constraints: * If supplied, must match the identifier of an
--   existing DBSnapshot. * If this identifier is for an automated
--   snapshot, the <tt>SnapshotType</tt> parameter must also be
--   specified.</li>
--   <li><a>ddsSnapshotType</a> - The type of snapshots to be returned. You
--   can specify one of the following values: * <tt>automated</tt> - Return
--   all DB snapshots that have been automatically taken by Amazon RDS for
--   my AWS account. * <tt>manual</tt> - Return all DB snapshots that have
--   been taken by my AWS account. * <tt>shared</tt> - Return all manual DB
--   snapshots that have been shared to my AWS account. * <tt>public</tt> -
--   Return all DB snapshots that have been marked as public. If you don't
--   specify a <tt>SnapshotType</tt> value, then both automated and manual
--   snapshots are returned. Shared and public DB snapshots are not
--   included in the returned results by default. You can include shared
--   snapshots with these results by setting the <tt>IncludeShared</tt>
--   parameter to <tt>true</tt> . You can include public snapshots with
--   these results by setting the <tt>IncludePublic</tt> parameter to
--   <tt>true</tt> . The <tt>IncludeShared</tt> and <tt>IncludePublic</tt>
--   parameters don't apply for <tt>SnapshotType</tt> values of
--   <tt>manual</tt> or <tt>automated</tt> . The <tt>IncludePublic</tt>
--   parameter doesn't apply when <tt>SnapshotType</tt> is set to
--   <tt>shared</tt> . The <tt>IncludeShared</tt> parameter doesn't apply
--   when <tt>SnapshotType</tt> is set to <tt>public</tt> .</li>
--   <li><a>ddsDBInstanceIdentifier</a> - The ID of the DB instance to
--   retrieve the list of DB snapshots for. This parameter can't be used in
--   conjunction with <tt>DBSnapshotIdentifier</tt> . This parameter is not
--   case-sensitive. Constraints: * If supplied, must match the identifier
--   of an existing DBInstance.</li>
--   <li><a>ddsMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeDBSnapshots</tt> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddsMaxRecords</a> - The maximum number of records to include in
--   the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>ddsIncludePublic</a> - True to include manual DB snapshots that
--   are public and can be copied or restored by any AWS account, and
--   otherwise false. The default is false. You can share a manual DB
--   snapshot as public by using the <tt>ModifyDBSnapshotAttribute</tt>
--   API.</li>
--   </ul>
describeDBSnapshots :: DescribeDBSnapshots

-- | <i>See:</i> <a>describeDBSnapshots</a> smart constructor.
data DescribeDBSnapshots

-- | True to include shared manual DB snapshots from other AWS accounts
--   that this AWS account has been given permission to copy or restore,
--   and otherwise false. The default is <tt>false</tt> . You can give an
--   AWS account permission to restore a manual DB snapshot from another
--   AWS account by using the <tt>ModifyDBSnapshotAttribute</tt> API
--   action.
ddsIncludeShared :: Lens' DescribeDBSnapshots (Maybe Bool)

-- | This parameter is not currently supported.
ddsFilters :: Lens' DescribeDBSnapshots [Filter]

-- | A specific DB snapshot identifier to describe. This parameter can't be
--   used in conjunction with <tt>DBInstanceIdentifier</tt> . This value is
--   stored as a lowercase string. Constraints: * If supplied, must match
--   the identifier of an existing DBSnapshot. * If this identifier is for
--   an automated snapshot, the <tt>SnapshotType</tt> parameter must also
--   be specified.
ddsDBSnapshotIdentifier :: Lens' DescribeDBSnapshots (Maybe Text)

-- | The type of snapshots to be returned. You can specify one of the
--   following values: * <tt>automated</tt> - Return all DB snapshots that
--   have been automatically taken by Amazon RDS for my AWS account. *
--   <tt>manual</tt> - Return all DB snapshots that have been taken by my
--   AWS account. * <tt>shared</tt> - Return all manual DB snapshots that
--   have been shared to my AWS account. * <tt>public</tt> - Return all DB
--   snapshots that have been marked as public. If you don't specify a
--   <tt>SnapshotType</tt> value, then both automated and manual snapshots
--   are returned. Shared and public DB snapshots are not included in the
--   returned results by default. You can include shared snapshots with
--   these results by setting the <tt>IncludeShared</tt> parameter to
--   <tt>true</tt> . You can include public snapshots with these results by
--   setting the <tt>IncludePublic</tt> parameter to <tt>true</tt> . The
--   <tt>IncludeShared</tt> and <tt>IncludePublic</tt> parameters don't
--   apply for <tt>SnapshotType</tt> values of <tt>manual</tt> or
--   <tt>automated</tt> . The <tt>IncludePublic</tt> parameter doesn't
--   apply when <tt>SnapshotType</tt> is set to <tt>shared</tt> . The
--   <tt>IncludeShared</tt> parameter doesn't apply when
--   <tt>SnapshotType</tt> is set to <tt>public</tt> .
ddsSnapshotType :: Lens' DescribeDBSnapshots (Maybe Text)

-- | The ID of the DB instance to retrieve the list of DB snapshots for.
--   This parameter can't be used in conjunction with
--   <tt>DBSnapshotIdentifier</tt> . This parameter is not case-sensitive.
--   Constraints: * If supplied, must match the identifier of an existing
--   DBInstance.
ddsDBInstanceIdentifier :: Lens' DescribeDBSnapshots (Maybe Text)

-- | An optional pagination token provided by a previous
--   <tt>DescribeDBSnapshots</tt> request. If this parameter is specified,
--   the response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
ddsMarker :: Lens' DescribeDBSnapshots (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddsMaxRecords :: Lens' DescribeDBSnapshots (Maybe Int)

-- | True to include manual DB snapshots that are public and can be copied
--   or restored by any AWS account, and otherwise false. The default is
--   false. You can share a manual DB snapshot as public by using the
--   <tt>ModifyDBSnapshotAttribute</tt> API.
ddsIncludePublic :: Lens' DescribeDBSnapshots (Maybe Bool)

-- | Creates a value of <a>DescribeDBSnapshotsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddsrsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>ddsrsDBSnapshots</a> - A list of <a>DBSnapshot</a>
--   instances.</li>
--   <li><a>ddsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBSnapshotsResponse :: Int -> DescribeDBSnapshotsResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeDBSnapshots</a> action.
--   
--   <i>See:</i> <a>describeDBSnapshotsResponse</a> smart constructor.
data DescribeDBSnapshotsResponse

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
ddsrsMarker :: Lens' DescribeDBSnapshotsResponse (Maybe Text)

-- | A list of <a>DBSnapshot</a> instances.
ddsrsDBSnapshots :: Lens' DescribeDBSnapshotsResponse [DBSnapshot]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddsrsResponseStatus :: Lens' DescribeDBSnapshotsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshotsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshotsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshotsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshotsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshotsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance Data.Data.Data Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance GHC.Show.Show Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance GHC.Read.Read Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshotsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBSnapshots.DescribeDBSnapshots


-- | Returns a list of DB snapshot attribute names and values for a manual
--   DB snapshot.
--   
--   When sharing snapshots with other AWS accounts,
--   <tt>DescribeDBSnapshotAttributes</tt> returns the <tt>restore</tt>
--   attribute and a list of IDs for the AWS accounts that are authorized
--   to copy or restore the manual DB snapshot. If <tt>all</tt> is included
--   in the list of values for the <tt>restore</tt> attribute, then the
--   manual DB snapshot is public and can be copied or restored by all AWS
--   accounts.
--   
--   To add or remove access for an AWS account to copy or restore a manual
--   DB snapshot, or to make the manual DB snapshot public or private, use
--   the <tt>ModifyDBSnapshotAttribute</tt> API action.
module Network.AWS.RDS.DescribeDBSnapshotAttributes

-- | Creates a value of <a>DescribeDBSnapshotAttributes</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddsaDBSnapshotIdentifier</a> - The identifier for the DB
--   snapshot to describe the attributes for.</li>
--   </ul>
describeDBSnapshotAttributes :: Text -> DescribeDBSnapshotAttributes

-- | <i>See:</i> <a>describeDBSnapshotAttributes</a> smart constructor.
data DescribeDBSnapshotAttributes

-- | The identifier for the DB snapshot to describe the attributes for.
ddsaDBSnapshotIdentifier :: Lens' DescribeDBSnapshotAttributes Text

-- | Creates a value of <a>DescribeDBSnapshotAttributesResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddsarsDBSnapshotAttributesResult</a> - Undocumented
--   member.</li>
--   <li><a>ddsarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBSnapshotAttributesResponse :: Int -> DescribeDBSnapshotAttributesResponse

-- | <i>See:</i> <a>describeDBSnapshotAttributesResponse</a> smart
--   constructor.
data DescribeDBSnapshotAttributesResponse

-- | Undocumented member.
ddsarsDBSnapshotAttributesResult :: Lens' DescribeDBSnapshotAttributesResponse (Maybe DBSnapshotAttributesResult)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddsarsResponseStatus :: Lens' DescribeDBSnapshotAttributesResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributesResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributesResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributesResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributesResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributesResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance Data.Data.Data Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance GHC.Show.Show Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance GHC.Read.Read Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributesResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBSnapshotAttributes.DescribeDBSnapshotAttributes


-- | Returns a list of <tt>DBSecurityGroup</tt> descriptions. If a
--   <tt>DBSecurityGroupName</tt> is specified, the list will contain only
--   the descriptions of the specified DB security group.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeDBSecurityGroups

-- | Creates a value of <a>DescribeDBSecurityGroups</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbsgFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddbsgMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeDBSecurityGroups</tt> request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddbsgMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>ddbsgDBSecurityGroupName</a> - The name of the DB security
--   group to return details for.</li>
--   </ul>
describeDBSecurityGroups :: DescribeDBSecurityGroups

-- | <i>See:</i> <a>describeDBSecurityGroups</a> smart constructor.
data DescribeDBSecurityGroups

-- | This parameter is not currently supported.
ddbsgFilters :: Lens' DescribeDBSecurityGroups [Filter]

-- | An optional pagination token provided by a previous
--   <tt>DescribeDBSecurityGroups</tt> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
ddbsgMarker :: Lens' DescribeDBSecurityGroups (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddbsgMaxRecords :: Lens' DescribeDBSecurityGroups (Maybe Int)

-- | The name of the DB security group to return details for.
ddbsgDBSecurityGroupName :: Lens' DescribeDBSecurityGroups (Maybe Text)

-- | Creates a value of <a>DescribeDBSecurityGroupsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbsgrsDBSecurityGroups</a> - A list of <a>DBSecurityGroup</a>
--   instances.</li>
--   <li><a>ddbsgrsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>ddbsgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBSecurityGroupsResponse :: Int -> DescribeDBSecurityGroupsResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeDBSecurityGroups</a> action.
--   
--   <i>See:</i> <a>describeDBSecurityGroupsResponse</a> smart constructor.
data DescribeDBSecurityGroupsResponse

-- | A list of <a>DBSecurityGroup</a> instances.
ddbsgrsDBSecurityGroups :: Lens' DescribeDBSecurityGroupsResponse [DBSecurityGroup]

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
ddbsgrsMarker :: Lens' DescribeDBSecurityGroupsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddbsgrsResponseStatus :: Lens' DescribeDBSecurityGroupsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroupsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroupsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroupsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroupsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroupsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance Data.Data.Data Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance GHC.Show.Show Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance GHC.Read.Read Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroupsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBSecurityGroups.DescribeDBSecurityGroups


-- | Returns the detailed parameter list for a particular DB parameter
--   group.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeDBParameters

-- | Creates a value of <a>DescribeDBParameters</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddpFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddpMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeDBParameters</tt> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddpMaxRecords</a> - The maximum number of records to include in
--   the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>ddpSource</a> - The parameter types to return. Default: All
--   parameter types returned Valid Values: <tt>user | system |
--   engine-default</tt></li>
--   <li><a>ddpDBParameterGroupName</a> - The name of a specific DB
--   parameter group to return details for. Constraints: * If supplied,
--   must match the name of an existing DBParameterGroup.</li>
--   </ul>
describeDBParameters :: Text -> DescribeDBParameters

-- | <i>See:</i> <a>describeDBParameters</a> smart constructor.
data DescribeDBParameters

-- | This parameter is not currently supported.
ddpFilters :: Lens' DescribeDBParameters [Filter]

-- | An optional pagination token provided by a previous
--   <tt>DescribeDBParameters</tt> request. If this parameter is specified,
--   the response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
ddpMarker :: Lens' DescribeDBParameters (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddpMaxRecords :: Lens' DescribeDBParameters (Maybe Int)

-- | The parameter types to return. Default: All parameter types returned
--   Valid Values: <tt>user | system | engine-default</tt>
ddpSource :: Lens' DescribeDBParameters (Maybe Text)

-- | The name of a specific DB parameter group to return details for.
--   Constraints: * If supplied, must match the name of an existing
--   DBParameterGroup.
ddpDBParameterGroupName :: Lens' DescribeDBParameters Text

-- | Creates a value of <a>DescribeDBParametersResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddprsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>ddprsParameters</a> - A list of <a>Parameter</a> values.</li>
--   <li><a>ddprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBParametersResponse :: Int -> DescribeDBParametersResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeDBParameters</a> action.
--   
--   <i>See:</i> <a>describeDBParametersResponse</a> smart constructor.
data DescribeDBParametersResponse

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
ddprsMarker :: Lens' DescribeDBParametersResponse (Maybe Text)

-- | A list of <a>Parameter</a> values.
ddprsParameters :: Lens' DescribeDBParametersResponse [Parameter]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddprsResponseStatus :: Lens' DescribeDBParametersResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBParameters.DescribeDBParametersResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBParameters.DescribeDBParametersResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBParameters.DescribeDBParametersResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBParameters.DescribeDBParametersResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBParameters.DescribeDBParametersResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance Data.Data.Data Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance GHC.Show.Show Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance GHC.Read.Read Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBParameters.DescribeDBParametersResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBParameters.DescribeDBParameters


-- | Returns a list of <tt>DBParameterGroup</tt> descriptions. If a
--   <tt>DBParameterGroupName</tt> is specified, the list will contain only
--   the description of the specified DB parameter group.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeDBParameterGroups

-- | Creates a value of <a>DescribeDBParameterGroups</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddpgFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddpgDBParameterGroupName</a> - The name of a specific DB
--   parameter group to return details for. Constraints: * If supplied,
--   must match the name of an existing DBClusterParameterGroup.</li>
--   <li><a>ddpgMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeDBParameterGroups</tt> request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddpgMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   </ul>
describeDBParameterGroups :: DescribeDBParameterGroups

-- | <i>See:</i> <a>describeDBParameterGroups</a> smart constructor.
data DescribeDBParameterGroups

-- | This parameter is not currently supported.
ddpgFilters :: Lens' DescribeDBParameterGroups [Filter]

-- | The name of a specific DB parameter group to return details for.
--   Constraints: * If supplied, must match the name of an existing
--   DBClusterParameterGroup.
ddpgDBParameterGroupName :: Lens' DescribeDBParameterGroups (Maybe Text)

-- | An optional pagination token provided by a previous
--   <tt>DescribeDBParameterGroups</tt> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
ddpgMarker :: Lens' DescribeDBParameterGroups (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddpgMaxRecords :: Lens' DescribeDBParameterGroups (Maybe Int)

-- | Creates a value of <a>DescribeDBParameterGroupsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddpgrsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>ddpgrsDBParameterGroups</a> - A list of <a>DBParameterGroup</a>
--   instances.</li>
--   <li><a>ddpgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBParameterGroupsResponse :: Int -> DescribeDBParameterGroupsResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeDBParameterGroups</a> action.
--   
--   <i>See:</i> <a>describeDBParameterGroupsResponse</a> smart
--   constructor.
data DescribeDBParameterGroupsResponse

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
ddpgrsMarker :: Lens' DescribeDBParameterGroupsResponse (Maybe Text)

-- | A list of <a>DBParameterGroup</a> instances.
ddpgrsDBParameterGroups :: Lens' DescribeDBParameterGroupsResponse [DBParameterGroup]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddpgrsResponseStatus :: Lens' DescribeDBParameterGroupsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroupsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroupsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroupsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroupsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroupsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance Data.Data.Data Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance GHC.Show.Show Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance GHC.Read.Read Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroupsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBParameterGroups.DescribeDBParameterGroups


-- | Returns a list of DB log files for the DB instance.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeDBLogFiles

-- | Creates a value of <a>DescribeDBLogFiles</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddlfFilenameContains</a> - Filters the available log files for
--   log file names that contain the specified string.</li>
--   <li><a>ddlfFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddlfFileSize</a> - Filters the available log files for files
--   larger than the specified size.</li>
--   <li><a>ddlfFileLastWritten</a> - Filters the available log files for
--   files written since the specified date, in POSIX timestamp format with
--   milliseconds.</li>
--   <li><a>ddlfMarker</a> - The pagination token provided in the previous
--   request. If this parameter is specified the response includes only
--   records beyond the marker, up to MaxRecords.</li>
--   <li><a>ddlfMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified MaxRecords
--   value, a pagination token called a marker is included in the response
--   so that the remaining results can be retrieved.</li>
--   <li><a>ddlfDBInstanceIdentifier</a> - The customer-assigned name of
--   the DB instance that contains the log files you want to list.
--   Constraints: * Must match the identifier of an existing
--   DBInstance.</li>
--   </ul>
describeDBLogFiles :: Text -> DescribeDBLogFiles

-- | <i>See:</i> <a>describeDBLogFiles</a> smart constructor.
data DescribeDBLogFiles

-- | Filters the available log files for log file names that contain the
--   specified string.
ddlfFilenameContains :: Lens' DescribeDBLogFiles (Maybe Text)

-- | This parameter is not currently supported.
ddlfFilters :: Lens' DescribeDBLogFiles [Filter]

-- | Filters the available log files for files larger than the specified
--   size.
ddlfFileSize :: Lens' DescribeDBLogFiles (Maybe Integer)

-- | Filters the available log files for files written since the specified
--   date, in POSIX timestamp format with milliseconds.
ddlfFileLastWritten :: Lens' DescribeDBLogFiles (Maybe Integer)

-- | The pagination token provided in the previous request. If this
--   parameter is specified the response includes only records beyond the
--   marker, up to MaxRecords.
ddlfMarker :: Lens' DescribeDBLogFiles (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified MaxRecords value, a pagination token
--   called a marker is included in the response so that the remaining
--   results can be retrieved.
ddlfMaxRecords :: Lens' DescribeDBLogFiles (Maybe Int)

-- | The customer-assigned name of the DB instance that contains the log
--   files you want to list. Constraints: * Must match the identifier of an
--   existing DBInstance.
ddlfDBInstanceIdentifier :: Lens' DescribeDBLogFiles Text

-- | Creates a value of <a>DescribeDBLogFilesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddlfrsDescribeDBLogFiles</a> - The DB log files returned.</li>
--   <li><a>ddlfrsMarker</a> - A pagination token that can be used in a
--   subsequent DescribeDBLogFiles request.</li>
--   <li><a>ddlfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBLogFilesResponse :: Int -> DescribeDBLogFilesResponse

-- | The response from a call to <a>DescribeDBLogFiles</a> .
--   
--   <i>See:</i> <a>describeDBLogFilesResponse</a> smart constructor.
data DescribeDBLogFilesResponse

-- | The DB log files returned.
ddlfrsDescribeDBLogFiles :: Lens' DescribeDBLogFilesResponse [DescribeDBLogFilesDetails]

-- | A pagination token that can be used in a subsequent DescribeDBLogFiles
--   request.
ddlfrsMarker :: Lens' DescribeDBLogFilesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddlfrsResponseStatus :: Lens' DescribeDBLogFilesResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFilesResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFilesResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFilesResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFilesResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFilesResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance Data.Data.Data Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance GHC.Show.Show Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance GHC.Read.Read Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFilesResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBLogFiles.DescribeDBLogFiles


-- | Returns information about provisioned RDS instances. This API supports
--   pagination.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeDBInstances

-- | Creates a value of <a>DescribeDBInstances</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbiFilters</a> - A filter that specifies one or more DB
--   instances to describe. Supported filters: * <tt>db-cluster-id</tt> -
--   Accepts DB cluster identifiers and DB cluster Amazon Resource Names
--   (ARNs). The results list will only include information about the DB
--   instances associated with the DB clusters identified by these ARNs. *
--   <tt>db-instance-id</tt> - Accepts DB instance identifiers and DB
--   instance Amazon Resource Names (ARNs). The results list will only
--   include information about the DB instances identified by these
--   ARNs.</li>
--   <li><a>ddbiDBInstanceIdentifier</a> - The user-supplied instance
--   identifier. If this parameter is specified, information from only the
--   specific DB instance is returned. This parameter isn't case-sensitive.
--   Constraints: * If supplied, must match the identifier of an existing
--   DBInstance.</li>
--   <li><a>ddbiMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeDBInstances</tt> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddbiMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   </ul>
describeDBInstances :: DescribeDBInstances

-- | <i>See:</i> <a>describeDBInstances</a> smart constructor.
data DescribeDBInstances

-- | A filter that specifies one or more DB instances to describe.
--   Supported filters: * <tt>db-cluster-id</tt> - Accepts DB cluster
--   identifiers and DB cluster Amazon Resource Names (ARNs). The results
--   list will only include information about the DB instances associated
--   with the DB clusters identified by these ARNs. *
--   <tt>db-instance-id</tt> - Accepts DB instance identifiers and DB
--   instance Amazon Resource Names (ARNs). The results list will only
--   include information about the DB instances identified by these ARNs.
ddbiFilters :: Lens' DescribeDBInstances [Filter]

-- | The user-supplied instance identifier. If this parameter is specified,
--   information from only the specific DB instance is returned. This
--   parameter isn't case-sensitive. Constraints: * If supplied, must match
--   the identifier of an existing DBInstance.
ddbiDBInstanceIdentifier :: Lens' DescribeDBInstances (Maybe Text)

-- | An optional pagination token provided by a previous
--   <tt>DescribeDBInstances</tt> request. If this parameter is specified,
--   the response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
ddbiMarker :: Lens' DescribeDBInstances (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddbiMaxRecords :: Lens' DescribeDBInstances (Maybe Int)

-- | Creates a value of <a>DescribeDBInstancesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbirsDBInstances</a> - A list of <a>DBInstance</a>
--   instances.</li>
--   <li><a>ddbirsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>ddbirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBInstancesResponse :: Int -> DescribeDBInstancesResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeDBInstances</a> action.
--   
--   <i>See:</i> <a>describeDBInstancesResponse</a> smart constructor.
data DescribeDBInstancesResponse

-- | A list of <a>DBInstance</a> instances.
ddbirsDBInstances :: Lens' DescribeDBInstancesResponse [DBInstance]

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
ddbirsMarker :: Lens' DescribeDBInstancesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddbirsResponseStatus :: Lens' DescribeDBInstancesResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBInstances.DescribeDBInstancesResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBInstances.DescribeDBInstancesResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBInstances.DescribeDBInstancesResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBInstances.DescribeDBInstancesResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBInstances.DescribeDBInstancesResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance Data.Data.Data Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance GHC.Show.Show Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance GHC.Read.Read Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBInstances.DescribeDBInstancesResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBInstances.DescribeDBInstances


-- | Returns a list of the available DB engines.
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeDBEngineVersions

-- | Creates a value of <a>DescribeDBEngineVersions</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddevEngineVersion</a> - The database engine version to return.
--   Example: <tt>5.1.49</tt></li>
--   <li><a>ddevListSupportedTimezones</a> - If this parameter is specified
--   and the requested engine supports the <tt>TimeZone</tt> parameter for
--   <tt>CreateDBInstance</tt> , the response includes a list of supported
--   time zones for each engine version.</li>
--   <li><a>ddevDefaultOnly</a> - Indicates that only the default version
--   of the specified engine or engine and major version combination is
--   returned.</li>
--   <li><a>ddevFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddevEngine</a> - The database engine to return.</li>
--   <li><a>ddevDBParameterGroupFamily</a> - The name of a specific DB
--   parameter group family to return details for. Constraints: * If
--   supplied, must match an existing DBParameterGroupFamily.</li>
--   <li><a>ddevListSupportedCharacterSets</a> - If this parameter is
--   specified and the requested engine supports the
--   <tt>CharacterSetName</tt> parameter for <tt>CreateDBInstance</tt> ,
--   the response includes a list of supported character sets for each
--   engine version.</li>
--   <li><a>ddevMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>ddevMaxRecords</a> - The maximum number of records to include
--   in the response. If more than the <tt>MaxRecords</tt> value is
--   available, a pagination token called a marker is included in the
--   response so that the following results can be retrieved. Default: 100
--   Constraints: Minimum 20, maximum 100.</li>
--   </ul>
describeDBEngineVersions :: DescribeDBEngineVersions

-- | <i>See:</i> <a>describeDBEngineVersions</a> smart constructor.
data DescribeDBEngineVersions

-- | The database engine version to return. Example: <tt>5.1.49</tt>
ddevEngineVersion :: Lens' DescribeDBEngineVersions (Maybe Text)

-- | If this parameter is specified and the requested engine supports the
--   <tt>TimeZone</tt> parameter for <tt>CreateDBInstance</tt> , the
--   response includes a list of supported time zones for each engine
--   version.
ddevListSupportedTimezones :: Lens' DescribeDBEngineVersions (Maybe Bool)

-- | Indicates that only the default version of the specified engine or
--   engine and major version combination is returned.
ddevDefaultOnly :: Lens' DescribeDBEngineVersions (Maybe Bool)

-- | This parameter is not currently supported.
ddevFilters :: Lens' DescribeDBEngineVersions [Filter]

-- | The database engine to return.
ddevEngine :: Lens' DescribeDBEngineVersions (Maybe Text)

-- | The name of a specific DB parameter group family to return details
--   for. Constraints: * If supplied, must match an existing
--   DBParameterGroupFamily.
ddevDBParameterGroupFamily :: Lens' DescribeDBEngineVersions (Maybe Text)

-- | If this parameter is specified and the requested engine supports the
--   <tt>CharacterSetName</tt> parameter for <tt>CreateDBInstance</tt> ,
--   the response includes a list of supported character sets for each
--   engine version.
ddevListSupportedCharacterSets :: Lens' DescribeDBEngineVersions (Maybe Bool)

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
ddevMarker :: Lens' DescribeDBEngineVersions (Maybe Text)

-- | The maximum number of records to include in the response. If more than
--   the <tt>MaxRecords</tt> value is available, a pagination token called
--   a marker is included in the response so that the following results can
--   be retrieved. Default: 100 Constraints: Minimum 20, maximum 100.
ddevMaxRecords :: Lens' DescribeDBEngineVersions (Maybe Int)

-- | Creates a value of <a>DescribeDBEngineVersionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddevrsMarker</a> - An optional pagination token provided by a
--   previous request. If this parameter is specified, the response
--   includes only records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .</li>
--   <li><a>ddevrsDBEngineVersions</a> - A list of <tt>DBEngineVersion</tt>
--   elements.</li>
--   <li><a>ddevrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBEngineVersionsResponse :: Int -> DescribeDBEngineVersionsResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeDBEngineVersions</a> action.
--   
--   <i>See:</i> <a>describeDBEngineVersionsResponse</a> smart constructor.
data DescribeDBEngineVersionsResponse

-- | An optional pagination token provided by a previous request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .
ddevrsMarker :: Lens' DescribeDBEngineVersionsResponse (Maybe Text)

-- | A list of <tt>DBEngineVersion</tt> elements.
ddevrsDBEngineVersions :: Lens' DescribeDBEngineVersionsResponse [DBEngineVersion]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddevrsResponseStatus :: Lens' DescribeDBEngineVersionsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersionsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersionsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersionsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersionsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersionsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance Data.Data.Data Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance GHC.Show.Show Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance GHC.Read.Read Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersionsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBEngineVersions.DescribeDBEngineVersions


-- | Returns information about provisioned Aurora DB clusters. This API
--   supports pagination.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.DescribeDBClusters

-- | Creates a value of <a>DescribeDBClusters</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcDBClusterIdentifier</a> - The user-supplied DB cluster
--   identifier. If this parameter is specified, information from only the
--   specific DB cluster is returned. This parameter isn't case-sensitive.
--   Constraints: * If supplied, must match an existing
--   DBClusterIdentifier.</li>
--   <li><a>ddcFilters</a> - A filter that specifies one or more DB
--   clusters to describe. Supported filters: * <tt>db-cluster-id</tt> -
--   Accepts DB cluster identifiers and DB cluster Amazon Resource Names
--   (ARNs). The results list will only include information about the DB
--   clusters identified by these ARNs.</li>
--   <li><a>ddcMarker</a> - An optional pagination token provided by a
--   previous <a>DescribeDBClusters</a> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddcMaxRecords</a> - The maximum number of records to include in
--   the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   </ul>
describeDBClusters :: DescribeDBClusters

-- | <i>See:</i> <a>describeDBClusters</a> smart constructor.
data DescribeDBClusters

-- | The user-supplied DB cluster identifier. If this parameter is
--   specified, information from only the specific DB cluster is returned.
--   This parameter isn't case-sensitive. Constraints: * If supplied, must
--   match an existing DBClusterIdentifier.
ddcDBClusterIdentifier :: Lens' DescribeDBClusters (Maybe Text)

-- | A filter that specifies one or more DB clusters to describe. Supported
--   filters: * <tt>db-cluster-id</tt> - Accepts DB cluster identifiers and
--   DB cluster Amazon Resource Names (ARNs). The results list will only
--   include information about the DB clusters identified by these ARNs.
ddcFilters :: Lens' DescribeDBClusters [Filter]

-- | An optional pagination token provided by a previous
--   <a>DescribeDBClusters</a> request. If this parameter is specified, the
--   response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
ddcMarker :: Lens' DescribeDBClusters (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddcMaxRecords :: Lens' DescribeDBClusters (Maybe Int)

-- | Creates a value of <a>DescribeDBClustersResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcrsDBClusters</a> - Contains a list of DB clusters for the
--   user.</li>
--   <li><a>ddcrsMarker</a> - A pagination token that can be used in a
--   subsequent DescribeDBClusters request.</li>
--   <li><a>ddcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBClustersResponse :: Int -> DescribeDBClustersResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeDBClusters</a> action.
--   
--   <i>See:</i> <a>describeDBClustersResponse</a> smart constructor.
data DescribeDBClustersResponse

-- | Contains a list of DB clusters for the user.
ddcrsDBClusters :: Lens' DescribeDBClustersResponse [DBCluster]

-- | A pagination token that can be used in a subsequent DescribeDBClusters
--   request.
ddcrsMarker :: Lens' DescribeDBClustersResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcrsResponseStatus :: Lens' DescribeDBClustersResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusters.DescribeDBClustersResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusters.DescribeDBClustersResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusters.DescribeDBClustersResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusters.DescribeDBClustersResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusters.DescribeDBClustersResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusters.DescribeDBClustersResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBClusters.DescribeDBClusters


-- | Returns information about DB cluster snapshots. This API action
--   supports pagination.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
--   
--   This operation returns paginated results.
module Network.AWS.RDS.DescribeDBClusterSnapshots

-- | Creates a value of <a>DescribeDBClusterSnapshots</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbcsDBClusterIdentifier</a> - The ID of the DB cluster to
--   retrieve the list of DB cluster snapshots for. This parameter can't be
--   used in conjunction with the <tt>DBClusterSnapshotIdentifier</tt>
--   parameter. This parameter is not case-sensitive. Constraints: * If
--   supplied, must match the identifier of an existing DBCluster.</li>
--   <li><a>ddbcsIncludeShared</a> - True to include shared manual DB
--   cluster snapshots from other AWS accounts that this AWS account has
--   been given permission to copy or restore, and otherwise false. The
--   default is <tt>false</tt> . You can give an AWS account permission to
--   restore a manual DB cluster snapshot from another AWS account by the
--   <tt>ModifyDBClusterSnapshotAttribute</tt> API action.</li>
--   <li><a>ddbcsDBClusterSnapshotIdentifier</a> - A specific DB cluster
--   snapshot identifier to describe. This parameter can't be used in
--   conjunction with the <tt>DBClusterIdentifier</tt> parameter. This
--   value is stored as a lowercase string. Constraints: * If supplied,
--   must match the identifier of an existing DBClusterSnapshot. * If this
--   identifier is for an automated snapshot, the <tt>SnapshotType</tt>
--   parameter must also be specified.</li>
--   <li><a>ddbcsFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddbcsSnapshotType</a> - The type of DB cluster snapshots to be
--   returned. You can specify one of the following values: *
--   <tt>automated</tt> - Return all DB cluster snapshots that have been
--   automatically taken by Amazon RDS for my AWS account. *
--   <tt>manual</tt> - Return all DB cluster snapshots that have been taken
--   by my AWS account. * <tt>shared</tt> - Return all manual DB cluster
--   snapshots that have been shared to my AWS account. * <tt>public</tt> -
--   Return all DB cluster snapshots that have been marked as public. If
--   you don't specify a <tt>SnapshotType</tt> value, then both automated
--   and manual DB cluster snapshots are returned. You can include shared
--   DB cluster snapshots with these results by setting the
--   <tt>IncludeShared</tt> parameter to <tt>true</tt> . You can include
--   public DB cluster snapshots with these results by setting the
--   <tt>IncludePublic</tt> parameter to <tt>true</tt> . The
--   <tt>IncludeShared</tt> and <tt>IncludePublic</tt> parameters don't
--   apply for <tt>SnapshotType</tt> values of <tt>manual</tt> or
--   <tt>automated</tt> . The <tt>IncludePublic</tt> parameter doesn't
--   apply when <tt>SnapshotType</tt> is set to <tt>shared</tt> . The
--   <tt>IncludeShared</tt> parameter doesn't apply when
--   <tt>SnapshotType</tt> is set to <tt>public</tt> .</li>
--   <li><a>ddbcsMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeDBClusterSnapshots</tt> request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddbcsMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>ddbcsIncludePublic</a> - True to include manual DB cluster
--   snapshots that are public and can be copied or restored by any AWS
--   account, and otherwise false. The default is <tt>false</tt> . The
--   default is false. You can share a manual DB cluster snapshot as public
--   by using the <tt>ModifyDBClusterSnapshotAttribute</tt> API
--   action.</li>
--   </ul>
describeDBClusterSnapshots :: DescribeDBClusterSnapshots

-- | <i>See:</i> <a>describeDBClusterSnapshots</a> smart constructor.
data DescribeDBClusterSnapshots

-- | The ID of the DB cluster to retrieve the list of DB cluster snapshots
--   for. This parameter can't be used in conjunction with the
--   <tt>DBClusterSnapshotIdentifier</tt> parameter. This parameter is not
--   case-sensitive. Constraints: * If supplied, must match the identifier
--   of an existing DBCluster.
ddbcsDBClusterIdentifier :: Lens' DescribeDBClusterSnapshots (Maybe Text)

-- | True to include shared manual DB cluster snapshots from other AWS
--   accounts that this AWS account has been given permission to copy or
--   restore, and otherwise false. The default is <tt>false</tt> . You can
--   give an AWS account permission to restore a manual DB cluster snapshot
--   from another AWS account by the
--   <tt>ModifyDBClusterSnapshotAttribute</tt> API action.
ddbcsIncludeShared :: Lens' DescribeDBClusterSnapshots (Maybe Bool)

-- | A specific DB cluster snapshot identifier to describe. This parameter
--   can't be used in conjunction with the <tt>DBClusterIdentifier</tt>
--   parameter. This value is stored as a lowercase string. Constraints: *
--   If supplied, must match the identifier of an existing
--   DBClusterSnapshot. * If this identifier is for an automated snapshot,
--   the <tt>SnapshotType</tt> parameter must also be specified.
ddbcsDBClusterSnapshotIdentifier :: Lens' DescribeDBClusterSnapshots (Maybe Text)

-- | This parameter is not currently supported.
ddbcsFilters :: Lens' DescribeDBClusterSnapshots [Filter]

-- | The type of DB cluster snapshots to be returned. You can specify one
--   of the following values: * <tt>automated</tt> - Return all DB cluster
--   snapshots that have been automatically taken by Amazon RDS for my AWS
--   account. * <tt>manual</tt> - Return all DB cluster snapshots that have
--   been taken by my AWS account. * <tt>shared</tt> - Return all manual DB
--   cluster snapshots that have been shared to my AWS account. *
--   <tt>public</tt> - Return all DB cluster snapshots that have been
--   marked as public. If you don't specify a <tt>SnapshotType</tt> value,
--   then both automated and manual DB cluster snapshots are returned. You
--   can include shared DB cluster snapshots with these results by setting
--   the <tt>IncludeShared</tt> parameter to <tt>true</tt> . You can
--   include public DB cluster snapshots with these results by setting the
--   <tt>IncludePublic</tt> parameter to <tt>true</tt> . The
--   <tt>IncludeShared</tt> and <tt>IncludePublic</tt> parameters don't
--   apply for <tt>SnapshotType</tt> values of <tt>manual</tt> or
--   <tt>automated</tt> . The <tt>IncludePublic</tt> parameter doesn't
--   apply when <tt>SnapshotType</tt> is set to <tt>shared</tt> . The
--   <tt>IncludeShared</tt> parameter doesn't apply when
--   <tt>SnapshotType</tt> is set to <tt>public</tt> .
ddbcsSnapshotType :: Lens' DescribeDBClusterSnapshots (Maybe Text)

-- | An optional pagination token provided by a previous
--   <tt>DescribeDBClusterSnapshots</tt> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
ddbcsMarker :: Lens' DescribeDBClusterSnapshots (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddbcsMaxRecords :: Lens' DescribeDBClusterSnapshots (Maybe Int)

-- | True to include manual DB cluster snapshots that are public and can be
--   copied or restored by any AWS account, and otherwise false. The
--   default is <tt>false</tt> . The default is false. You can share a
--   manual DB cluster snapshot as public by using the
--   <tt>ModifyDBClusterSnapshotAttribute</tt> API action.
ddbcsIncludePublic :: Lens' DescribeDBClusterSnapshots (Maybe Bool)

-- | Creates a value of <a>DescribeDBClusterSnapshotsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbcsrsMarker</a> - An optional pagination token provided by a
--   previous <a>DescribeDBClusterSnapshots</a> request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddbcsrsDBClusterSnapshots</a> - Provides a list of DB cluster
--   snapshots for the user.</li>
--   <li><a>ddbcsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBClusterSnapshotsResponse :: Int -> DescribeDBClusterSnapshotsResponse

-- | Provides a list of DB cluster snapshots for the user as the result of
--   a call to the <a>DescribeDBClusterSnapshots</a> action.
--   
--   <i>See:</i> <a>describeDBClusterSnapshotsResponse</a> smart
--   constructor.
data DescribeDBClusterSnapshotsResponse

-- | An optional pagination token provided by a previous
--   <a>DescribeDBClusterSnapshots</a> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
ddbcsrsMarker :: Lens' DescribeDBClusterSnapshotsResponse (Maybe Text)

-- | Provides a list of DB cluster snapshots for the user.
ddbcsrsDBClusterSnapshots :: Lens' DescribeDBClusterSnapshotsResponse [DBClusterSnapshot]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddbcsrsResponseStatus :: Lens' DescribeDBClusterSnapshotsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshotsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshotsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshotsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshotsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshotsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshotsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBClusterSnapshots.DescribeDBClusterSnapshots


-- | Returns a list of DB cluster snapshot attribute names and values for a
--   manual DB cluster snapshot.
--   
--   When sharing snapshots with other AWS accounts,
--   <tt>DescribeDBClusterSnapshotAttributes</tt> returns the
--   <tt>restore</tt> attribute and a list of IDs for the AWS accounts that
--   are authorized to copy or restore the manual DB cluster snapshot. If
--   <tt>all</tt> is included in the list of values for the
--   <tt>restore</tt> attribute, then the manual DB cluster snapshot is
--   public and can be copied or restored by all AWS accounts.
--   
--   To add or remove access for an AWS account to copy or restore a manual
--   DB cluster snapshot, or to make the manual DB cluster snapshot public
--   or private, use the <tt>ModifyDBClusterSnapshotAttribute</tt> API
--   action.
module Network.AWS.RDS.DescribeDBClusterSnapshotAttributes

-- | Creates a value of <a>DescribeDBClusterSnapshotAttributes</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcsaDBClusterSnapshotIdentifier</a> - The identifier for the
--   DB cluster snapshot to describe the attributes for.</li>
--   </ul>
describeDBClusterSnapshotAttributes :: Text -> DescribeDBClusterSnapshotAttributes

-- | <i>See:</i> <a>describeDBClusterSnapshotAttributes</a> smart
--   constructor.
data DescribeDBClusterSnapshotAttributes

-- | The identifier for the DB cluster snapshot to describe the attributes
--   for.
ddcsaDBClusterSnapshotIdentifier :: Lens' DescribeDBClusterSnapshotAttributes Text

-- | Creates a value of <a>DescribeDBClusterSnapshotAttributesResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcsarsDBClusterSnapshotAttributesResult</a> - Undocumented
--   member.</li>
--   <li><a>ddcsarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBClusterSnapshotAttributesResponse :: Int -> DescribeDBClusterSnapshotAttributesResponse

-- | <i>See:</i> <a>describeDBClusterSnapshotAttributesResponse</a> smart
--   constructor.
data DescribeDBClusterSnapshotAttributesResponse

-- | Undocumented member.
ddcsarsDBClusterSnapshotAttributesResult :: Lens' DescribeDBClusterSnapshotAttributesResponse (Maybe DBClusterSnapshotAttributesResult)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcsarsResponseStatus :: Lens' DescribeDBClusterSnapshotAttributesResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributesResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributesResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributesResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributesResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributesResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributesResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBClusterSnapshotAttributes.DescribeDBClusterSnapshotAttributes


-- | Returns the detailed parameter list for a particular DB cluster
--   parameter group.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.DescribeDBClusterParameters

-- | Creates a value of <a>DescribeDBClusterParameters</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcpFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddcpMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeDBClusterParameters</tt> request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddcpMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>ddcpSource</a> - A value that indicates to return only
--   parameters for a specific source. Parameter sources can be
--   <tt>engine</tt> , <tt>service</tt> , or <tt>customer</tt> .</li>
--   <li><a>ddcpDBClusterParameterGroupName</a> - The name of a specific DB
--   cluster parameter group to return parameter details for. Constraints:
--   * If supplied, must match the name of an existing
--   DBClusterParameterGroup.</li>
--   </ul>
describeDBClusterParameters :: Text -> DescribeDBClusterParameters

-- | <i>See:</i> <a>describeDBClusterParameters</a> smart constructor.
data DescribeDBClusterParameters

-- | This parameter is not currently supported.
ddcpFilters :: Lens' DescribeDBClusterParameters [Filter]

-- | An optional pagination token provided by a previous
--   <tt>DescribeDBClusterParameters</tt> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
ddcpMarker :: Lens' DescribeDBClusterParameters (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddcpMaxRecords :: Lens' DescribeDBClusterParameters (Maybe Int)

-- | A value that indicates to return only parameters for a specific
--   source. Parameter sources can be <tt>engine</tt> , <tt>service</tt> ,
--   or <tt>customer</tt> .
ddcpSource :: Lens' DescribeDBClusterParameters (Maybe Text)

-- | The name of a specific DB cluster parameter group to return parameter
--   details for. Constraints: * If supplied, must match the name of an
--   existing DBClusterParameterGroup.
ddcpDBClusterParameterGroupName :: Lens' DescribeDBClusterParameters Text

-- | Creates a value of <a>DescribeDBClusterParametersResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcprsMarker</a> - An optional pagination token provided by a
--   previous DescribeDBClusterParameters request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddcprsParameters</a> - Provides a list of parameters for the DB
--   cluster parameter group.</li>
--   <li><a>ddcprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBClusterParametersResponse :: Int -> DescribeDBClusterParametersResponse

-- | Provides details about a DB cluster parameter group including the
--   parameters in the DB cluster parameter group.
--   
--   <i>See:</i> <a>describeDBClusterParametersResponse</a> smart
--   constructor.
data DescribeDBClusterParametersResponse

-- | An optional pagination token provided by a previous
--   DescribeDBClusterParameters request. If this parameter is specified,
--   the response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
ddcprsMarker :: Lens' DescribeDBClusterParametersResponse (Maybe Text)

-- | Provides a list of parameters for the DB cluster parameter group.
ddcprsParameters :: Lens' DescribeDBClusterParametersResponse [Parameter]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcprsResponseStatus :: Lens' DescribeDBClusterParametersResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParametersResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParametersResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParametersResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParametersResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParametersResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParametersResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBClusterParameters.DescribeDBClusterParameters


-- | Returns a list of <tt>DBClusterParameterGroup</tt> descriptions. If a
--   <tt>DBClusterParameterGroupName</tt> parameter is specified, the list
--   will contain only the description of the specified DB cluster
--   parameter group.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.DescribeDBClusterParameterGroups

-- | Creates a value of <a>DescribeDBClusterParameterGroups</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcpgFilters</a> - This parameter is not currently
--   supported.</li>
--   <li><a>ddcpgMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeDBClusterParameterGroups</tt> request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddcpgMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>ddcpgDBClusterParameterGroupName</a> - The name of a specific
--   DB cluster parameter group to return details for. Constraints: * If
--   supplied, must match the name of an existing
--   DBClusterParameterGroup.</li>
--   </ul>
describeDBClusterParameterGroups :: DescribeDBClusterParameterGroups

-- | <i>See:</i> <a>describeDBClusterParameterGroups</a> smart constructor.
data DescribeDBClusterParameterGroups

-- | This parameter is not currently supported.
ddcpgFilters :: Lens' DescribeDBClusterParameterGroups [Filter]

-- | An optional pagination token provided by a previous
--   <tt>DescribeDBClusterParameterGroups</tt> request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to the value specified by <tt>MaxRecords</tt> .
ddcpgMarker :: Lens' DescribeDBClusterParameterGroups (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddcpgMaxRecords :: Lens' DescribeDBClusterParameterGroups (Maybe Int)

-- | The name of a specific DB cluster parameter group to return details
--   for. Constraints: * If supplied, must match the name of an existing
--   DBClusterParameterGroup.
ddcpgDBClusterParameterGroupName :: Lens' DescribeDBClusterParameterGroups (Maybe Text)

-- | Creates a value of <a>DescribeDBClusterParameterGroupsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcpgrsMarker</a> - An optional pagination token provided by a
--   previous <tt>DescribeDBClusterParameterGroups</tt> request. If this
--   parameter is specified, the response includes only records beyond the
--   marker, up to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddcpgrsDBClusterParameterGroups</a> - A list of DB cluster
--   parameter groups.</li>
--   <li><a>ddcpgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBClusterParameterGroupsResponse :: Int -> DescribeDBClusterParameterGroupsResponse

-- | <i>See:</i> <a>describeDBClusterParameterGroupsResponse</a> smart
--   constructor.
data DescribeDBClusterParameterGroupsResponse

-- | An optional pagination token provided by a previous
--   <tt>DescribeDBClusterParameterGroups</tt> request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to the value specified by <tt>MaxRecords</tt> .
ddcpgrsMarker :: Lens' DescribeDBClusterParameterGroupsResponse (Maybe Text)

-- | A list of DB cluster parameter groups.
ddcpgrsDBClusterParameterGroups :: Lens' DescribeDBClusterParameterGroupsResponse [DBClusterParameterGroup]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcpgrsResponseStatus :: Lens' DescribeDBClusterParameterGroupsResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroupsResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroupsResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroupsResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroupsResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroupsResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroupsResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBClusterParameterGroups.DescribeDBClusterParameterGroups


-- | Returns information about backtracks for a DB cluster.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.DescribeDBClusterBacktracks

-- | Creates a value of <a>DescribeDBClusterBacktracks</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcbBacktrackIdentifier</a> - If specified, this value is the
--   backtrack identifier of the backtrack to be described. Constraints: *
--   Must contain a valid universally unique identifier (UUID). For more
--   information about UUIDs, see <a>A Universally Unique Identifier (UUID)
--   URN Namespace</a> . Example:
--   <tt>123e4567-e89b-12d3-a456-426655440000</tt></li>
--   <li><a>ddcbFilters</a> - A filter that specifies one or more DB
--   clusters to describe. Supported filters include the following: *
--   <tt>db-cluster-backtrack-id</tt> - Accepts backtrack identifiers. The
--   results list includes information about only the backtracks identified
--   by these identifiers. * <tt>db-cluster-backtrack-status</tt> - Accepts
--   any of the following backtrack status values: * <tt>applying</tt> *
--   <tt>completed</tt> * <tt>failed</tt> * <tt>pending</tt> The results
--   list includes information about only the backtracks identified by
--   these values. For more information about backtrack status values, see
--   <a>DBClusterBacktrack</a> .</li>
--   <li><a>ddcbMarker</a> - An optional pagination token provided by a
--   previous <a>DescribeDBClusterBacktracks</a> request. If this parameter
--   is specified, the response includes only records beyond the marker, up
--   to the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>ddcbMaxRecords</a> - The maximum number of records to include
--   in the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   <li><a>ddcbDBClusterIdentifier</a> - The DB cluster identifier of the
--   DB cluster to be described. This parameter is stored as a lowercase
--   string. Constraints: * Must contain from 1 to 63 alphanumeric
--   characters or hyphens. * First character must be a letter. * Cannot
--   end with a hyphen or contain two consecutive hyphens. Example:
--   <tt>my-cluster1</tt></li>
--   </ul>
describeDBClusterBacktracks :: Text -> DescribeDBClusterBacktracks

-- | <i>See:</i> <a>describeDBClusterBacktracks</a> smart constructor.
data DescribeDBClusterBacktracks

-- | If specified, this value is the backtrack identifier of the backtrack
--   to be described. Constraints: * Must contain a valid universally
--   unique identifier (UUID). For more information about UUIDs, see <a>A
--   Universally Unique Identifier (UUID) URN Namespace</a> . Example:
--   <tt>123e4567-e89b-12d3-a456-426655440000</tt>
ddcbBacktrackIdentifier :: Lens' DescribeDBClusterBacktracks (Maybe Text)

-- | A filter that specifies one or more DB clusters to describe. Supported
--   filters include the following: * <tt>db-cluster-backtrack-id</tt> -
--   Accepts backtrack identifiers. The results list includes information
--   about only the backtracks identified by these identifiers. *
--   <tt>db-cluster-backtrack-status</tt> - Accepts any of the following
--   backtrack status values: * <tt>applying</tt> * <tt>completed</tt> *
--   <tt>failed</tt> * <tt>pending</tt> The results list includes
--   information about only the backtracks identified by these values. For
--   more information about backtrack status values, see
--   <a>DBClusterBacktrack</a> .
ddcbFilters :: Lens' DescribeDBClusterBacktracks [Filter]

-- | An optional pagination token provided by a previous
--   <a>DescribeDBClusterBacktracks</a> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .
ddcbMarker :: Lens' DescribeDBClusterBacktracks (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
ddcbMaxRecords :: Lens' DescribeDBClusterBacktracks (Maybe Int)

-- | The DB cluster identifier of the DB cluster to be described. This
--   parameter is stored as a lowercase string. Constraints: * Must contain
--   from 1 to 63 alphanumeric characters or hyphens. * First character
--   must be a letter. * Cannot end with a hyphen or contain two
--   consecutive hyphens. Example: <tt>my-cluster1</tt>
ddcbDBClusterIdentifier :: Lens' DescribeDBClusterBacktracks Text

-- | Creates a value of <a>DescribeDBClusterBacktracksResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcbrsMarker</a> - A pagination token that can be used in a
--   subsequent <a>DescribeDBClusterBacktracks</a> request.</li>
--   <li><a>ddcbrsDBClusterBacktracks</a> - Contains a list of backtracks
--   for the user.</li>
--   <li><a>ddcbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDBClusterBacktracksResponse :: Int -> DescribeDBClusterBacktracksResponse

-- | Contains the result of a successful invocation of the
--   <a>DescribeDBClusterBacktracks</a> action.
--   
--   <i>See:</i> <a>describeDBClusterBacktracksResponse</a> smart
--   constructor.
data DescribeDBClusterBacktracksResponse

-- | A pagination token that can be used in a subsequent
--   <a>DescribeDBClusterBacktracks</a> request.
ddcbrsMarker :: Lens' DescribeDBClusterBacktracksResponse (Maybe Text)

-- | Contains a list of backtracks for the user.
ddcbrsDBClusterBacktracks :: Lens' DescribeDBClusterBacktracksResponse [DBClusterBacktrack]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcbrsResponseStatus :: Lens' DescribeDBClusterBacktracksResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracksResponse
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracksResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracksResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracksResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracksResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance Data.Data.Data Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance GHC.Show.Show Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance GHC.Read.Read Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance GHC.Classes.Eq Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracksResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeDBClusterBacktracks.DescribeDBClusterBacktracks


-- | Lists the set of CA certificates provided by Amazon RDS for this AWS
--   account.
module Network.AWS.RDS.DescribeCertificates

-- | Creates a value of <a>DescribeCertificates</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcFilters</a> - This parameter is not currently supported.</li>
--   <li><a>dcCertificateIdentifier</a> - The user-supplied certificate
--   identifier. If this parameter is specified, information for only the
--   identified certificate is returned. This parameter isn't
--   case-sensitive. Constraints: * Must match an existing
--   CertificateIdentifier.</li>
--   <li><a>dcMarker</a> - An optional pagination token provided by a
--   previous <a>DescribeCertificates</a> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>dcMaxRecords</a> - The maximum number of records to include in
--   the response. If more records exist than the specified
--   <tt>MaxRecords</tt> value, a pagination token called a marker is
--   included in the response so that the remaining results can be
--   retrieved. Default: 100 Constraints: Minimum 20, maximum 100.</li>
--   </ul>
describeCertificates :: DescribeCertificates

-- | <i>See:</i> <a>describeCertificates</a> smart constructor.
data DescribeCertificates

-- | This parameter is not currently supported.
dcFilters :: Lens' DescribeCertificates [Filter]

-- | The user-supplied certificate identifier. If this parameter is
--   specified, information for only the identified certificate is
--   returned. This parameter isn't case-sensitive. Constraints: * Must
--   match an existing CertificateIdentifier.
dcCertificateIdentifier :: Lens' DescribeCertificates (Maybe Text)

-- | An optional pagination token provided by a previous
--   <a>DescribeCertificates</a> request. If this parameter is specified,
--   the response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
dcMarker :: Lens' DescribeCertificates (Maybe Text)

-- | The maximum number of records to include in the response. If more
--   records exist than the specified <tt>MaxRecords</tt> value, a
--   pagination token called a marker is included in the response so that
--   the remaining results can be retrieved. Default: 100 Constraints:
--   Minimum 20, maximum 100.
dcMaxRecords :: Lens' DescribeCertificates (Maybe Int)

-- | Creates a value of <a>DescribeCertificatesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrsCertificates</a> - The list of <a>Certificate</a> objects
--   for the AWS account.</li>
--   <li><a>dcrsMarker</a> - An optional pagination token provided by a
--   previous <a>DescribeCertificates</a> request. If this parameter is
--   specified, the response includes only records beyond the marker, up to
--   the value specified by <tt>MaxRecords</tt> .</li>
--   <li><a>dcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeCertificatesResponse :: Int -> DescribeCertificatesResponse

-- | Data returned by the <b>DescribeCertificates</b> action.
--   
--   <i>See:</i> <a>describeCertificatesResponse</a> smart constructor.
data DescribeCertificatesResponse

-- | The list of <a>Certificate</a> objects for the AWS account.
dcrsCertificates :: Lens' DescribeCertificatesResponse [Certificate]

-- | An optional pagination token provided by a previous
--   <a>DescribeCertificates</a> request. If this parameter is specified,
--   the response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .
dcrsMarker :: Lens' DescribeCertificatesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcrsResponseStatus :: Lens' DescribeCertificatesResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeCertificates.DescribeCertificatesResponse
instance Data.Data.Data Network.AWS.RDS.DescribeCertificates.DescribeCertificatesResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeCertificates.DescribeCertificatesResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeCertificates.DescribeCertificatesResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeCertificates.DescribeCertificatesResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance Data.Data.Data Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance GHC.Show.Show Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance GHC.Read.Read Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance GHC.Classes.Eq Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeCertificates.DescribeCertificatesResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeCertificates.DescribeCertificates
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeCertificates.DescribeCertificates


-- | Lists all of the attributes for a customer account. The attributes
--   include Amazon RDS quotas for the account, such as the number of DB
--   instances allowed. The description for a quota includes the quota
--   name, current usage toward that quota, and the quota's maximum value.
--   
--   This command doesn't take any parameters.
module Network.AWS.RDS.DescribeAccountAttributes

-- | Creates a value of <a>DescribeAccountAttributes</a> with the minimum
--   fields required to make a request.
describeAccountAttributes :: DescribeAccountAttributes

-- | <i>See:</i> <a>describeAccountAttributes</a> smart constructor.
data DescribeAccountAttributes

-- | Creates a value of <a>DescribeAccountAttributesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daarsAccountQuotas</a> - A list of <a>AccountQuota</a> objects.
--   Within this list, each quota has a name, a count of usage toward the
--   quota maximum, and a maximum value for the quota.</li>
--   <li><a>daarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAccountAttributesResponse :: Int -> DescribeAccountAttributesResponse

-- | Data returned by the <b>DescribeAccountAttributes</b> action.
--   
--   <i>See:</i> <a>describeAccountAttributesResponse</a> smart
--   constructor.
data DescribeAccountAttributesResponse

-- | A list of <a>AccountQuota</a> objects. Within this list, each quota
--   has a name, a count of usage toward the quota maximum, and a maximum
--   value for the quota.
daarsAccountQuotas :: Lens' DescribeAccountAttributesResponse [AccountQuota]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
daarsResponseStatus :: Lens' DescribeAccountAttributesResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance Data.Data.Data Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance GHC.Show.Show Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance GHC.Read.Read Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance GHC.Classes.Eq Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance GHC.Generics.Generic Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance Data.Data.Data Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance GHC.Show.Show Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance GHC.Read.Read Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance GHC.Classes.Eq Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance Control.DeepSeq.NFData Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DescribeAccountAttributes.DescribeAccountAttributes


-- | Deletes an existing option group.
module Network.AWS.RDS.DeleteOptionGroup

-- | Creates a value of <a>DeleteOptionGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dOptionGroupName</a> - The name of the option group to be
--   deleted.</li>
--   </ul>
deleteOptionGroup :: Text -> DeleteOptionGroup

-- | <i>See:</i> <a>deleteOptionGroup</a> smart constructor.
data DeleteOptionGroup

-- | The name of the option group to be deleted.
dOptionGroupName :: Lens' DeleteOptionGroup Text

-- | Creates a value of <a>DeleteOptionGroupResponse</a> with the minimum
--   fields required to make a request.
deleteOptionGroupResponse :: DeleteOptionGroupResponse

-- | <i>See:</i> <a>deleteOptionGroupResponse</a> smart constructor.
data DeleteOptionGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroupResponse
instance Data.Data.Data Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroupResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroupResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance Data.Data.Data Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance GHC.Show.Show Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance GHC.Read.Read Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance GHC.Classes.Eq Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteOptionGroup.DeleteOptionGroup


-- | Deletes an RDS event notification subscription.
module Network.AWS.RDS.DeleteEventSubscription

-- | Creates a value of <a>DeleteEventSubscription</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>desSubscriptionName</a> - The name of the RDS event
--   notification subscription you want to delete.</li>
--   </ul>
deleteEventSubscription :: Text -> DeleteEventSubscription

-- | <i>See:</i> <a>deleteEventSubscription</a> smart constructor.
data DeleteEventSubscription

-- | The name of the RDS event notification subscription you want to
--   delete.
desSubscriptionName :: Lens' DeleteEventSubscription Text

-- | Creates a value of <a>DeleteEventSubscriptionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drsEventSubscription</a> - Undocumented member.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteEventSubscriptionResponse :: Int -> DeleteEventSubscriptionResponse

-- | <i>See:</i> <a>deleteEventSubscriptionResponse</a> smart constructor.
data DeleteEventSubscriptionResponse

-- | Undocumented member.
drsEventSubscription :: Lens' DeleteEventSubscriptionResponse (Maybe EventSubscription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drsResponseStatus :: Lens' DeleteEventSubscriptionResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscriptionResponse
instance Data.Data.Data Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscriptionResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscriptionResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscriptionResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscriptionResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance Data.Data.Data Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance GHC.Show.Show Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance GHC.Read.Read Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance GHC.Classes.Eq Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscriptionResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteEventSubscription.DeleteEventSubscription


-- | Deletes a DB subnet group.
module Network.AWS.RDS.DeleteDBSubnetGroup

-- | Creates a value of <a>DeleteDBSubnetGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbsgDBSubnetGroupName</a> - The name of the database subnet
--   group to delete. Constraints: Constraints: Must match the name of an
--   existing DBSubnetGroup. Must not be default. Example:
--   <tt>mySubnetgroup</tt></li>
--   </ul>
deleteDBSubnetGroup :: Text -> DeleteDBSubnetGroup

-- | <i>See:</i> <a>deleteDBSubnetGroup</a> smart constructor.
data DeleteDBSubnetGroup

-- | The name of the database subnet group to delete. Constraints:
--   Constraints: Must match the name of an existing DBSubnetGroup. Must
--   not be default. Example: <tt>mySubnetgroup</tt>
ddbsgDBSubnetGroupName :: Lens' DeleteDBSubnetGroup Text

-- | Creates a value of <a>DeleteDBSubnetGroupResponse</a> with the minimum
--   fields required to make a request.
deleteDBSubnetGroupResponse :: DeleteDBSubnetGroupResponse

-- | <i>See:</i> <a>deleteDBSubnetGroupResponse</a> smart constructor.
data DeleteDBSubnetGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroupResponse
instance Data.Data.Data Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroupResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroupResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance Data.Data.Data Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance GHC.Show.Show Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance GHC.Read.Read Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteDBSubnetGroup.DeleteDBSubnetGroup


-- | Deletes a DBSnapshot. If the snapshot is being copied, the copy
--   operation is terminated.
module Network.AWS.RDS.DeleteDBSnapshot

-- | Creates a value of <a>DeleteDBSnapshot</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbsDBSnapshotIdentifier</a> - The DBSnapshot identifier.
--   Constraints: Must be the name of an existing DB snapshot in the
--   <tt>available</tt> state.</li>
--   </ul>
deleteDBSnapshot :: Text -> DeleteDBSnapshot

-- | <i>See:</i> <a>deleteDBSnapshot</a> smart constructor.
data DeleteDBSnapshot

-- | The DBSnapshot identifier. Constraints: Must be the name of an
--   existing DB snapshot in the <tt>available</tt> state.
ddbsDBSnapshotIdentifier :: Lens' DeleteDBSnapshot Text

-- | Creates a value of <a>DeleteDBSnapshotResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbsrsDBSnapshot</a> - Undocumented member.</li>
--   <li><a>ddbsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDBSnapshotResponse :: Int -> DeleteDBSnapshotResponse

-- | <i>See:</i> <a>deleteDBSnapshotResponse</a> smart constructor.
data DeleteDBSnapshotResponse

-- | Undocumented member.
ddbsrsDBSnapshot :: Lens' DeleteDBSnapshotResponse (Maybe DBSnapshot)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddbsrsResponseStatus :: Lens' DeleteDBSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshotResponse
instance Data.Data.Data Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshotResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshotResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshotResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshotResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance Data.Data.Data Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance GHC.Show.Show Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance GHC.Read.Read Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteDBSnapshot.DeleteDBSnapshot


-- | Deletes a DB security group.
module Network.AWS.RDS.DeleteDBSecurityGroup

-- | Creates a value of <a>DeleteDBSecurityGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddsgDBSecurityGroupName</a> - The name of the DB security group
--   to delete. Constraints: * Must be 1 to 255 letters, numbers, or
--   hyphens. * First character must be a letter * Cannot end with a hyphen
--   or contain two consecutive hyphens * Must not be <a>Default</a></li>
--   </ul>
deleteDBSecurityGroup :: Text -> DeleteDBSecurityGroup

-- | <i>See:</i> <a>deleteDBSecurityGroup</a> smart constructor.
data DeleteDBSecurityGroup

-- | The name of the DB security group to delete. Constraints: * Must be 1
--   to 255 letters, numbers, or hyphens. * First character must be a
--   letter * Cannot end with a hyphen or contain two consecutive hyphens *
--   Must not be <a>Default</a>
ddsgDBSecurityGroupName :: Lens' DeleteDBSecurityGroup Text

-- | Creates a value of <a>DeleteDBSecurityGroupResponse</a> with the
--   minimum fields required to make a request.
deleteDBSecurityGroupResponse :: DeleteDBSecurityGroupResponse

-- | <i>See:</i> <a>deleteDBSecurityGroupResponse</a> smart constructor.
data DeleteDBSecurityGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroupResponse
instance Data.Data.Data Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroupResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroupResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance Data.Data.Data Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance GHC.Show.Show Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance GHC.Read.Read Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteDBSecurityGroup.DeleteDBSecurityGroup


-- | Deletes a specified DBParameterGroup. The DBParameterGroup to be
--   deleted can't be associated with any DB instances.
module Network.AWS.RDS.DeleteDBParameterGroup

-- | Creates a value of <a>DeleteDBParameterGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbpgDBParameterGroupName</a> - The name of the DB parameter
--   group. Constraints: * Must be the name of an existing DB parameter
--   group * You can't delete a default DB parameter group * Cannot be
--   associated with any DB instances</li>
--   </ul>
deleteDBParameterGroup :: Text -> DeleteDBParameterGroup

-- | <i>See:</i> <a>deleteDBParameterGroup</a> smart constructor.
data DeleteDBParameterGroup

-- | The name of the DB parameter group. Constraints: * Must be the name of
--   an existing DB parameter group * You can't delete a default DB
--   parameter group * Cannot be associated with any DB instances
ddbpgDBParameterGroupName :: Lens' DeleteDBParameterGroup Text

-- | Creates a value of <a>DeleteDBParameterGroupResponse</a> with the
--   minimum fields required to make a request.
deleteDBParameterGroupResponse :: DeleteDBParameterGroupResponse

-- | <i>See:</i> <a>deleteDBParameterGroupResponse</a> smart constructor.
data DeleteDBParameterGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroupResponse
instance Data.Data.Data Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroupResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroupResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance Data.Data.Data Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance GHC.Show.Show Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance GHC.Read.Read Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteDBParameterGroup.DeleteDBParameterGroup


-- | The DeleteDBInstance action deletes a previously provisioned DB
--   instance. When you delete a DB instance, all automated backups for
--   that instance are deleted and can't be recovered. Manual DB snapshots
--   of the DB instance to be deleted by <tt>DeleteDBInstance</tt> are not
--   deleted.
--   
--   If you request a final DB snapshot the status of the Amazon RDS DB
--   instance is <tt>deleting</tt> until the DB snapshot is created. The
--   API action <tt>DescribeDBInstance</tt> is used to monitor the status
--   of this operation. The action can't be canceled or reverted once
--   submitted.
--   
--   Note that when a DB instance is in a failure state and has a status of
--   <tt>failed</tt> , <tt>incompatible-restore</tt> , or
--   <tt>incompatible-network</tt> , you can only delete it when the
--   <tt>SkipFinalSnapshot</tt> parameter is set to <tt>true</tt> .
--   
--   If the specified DB instance is part of an Amazon Aurora DB cluster,
--   you can't delete the DB instance if both of the following conditions
--   are true:
--   
--   <ul>
--   <li>The DB cluster is a Read Replica of another Amazon Aurora DB
--   cluster.</li>
--   <li>The DB instance is the only instance in the DB cluster.</li>
--   </ul>
--   
--   To delete a DB instance in this case, first call the
--   <tt>PromoteReadReplicaDBCluster</tt> API action to promote the DB
--   cluster so it's no longer a Read Replica. After the promotion
--   completes, then call the <tt>DeleteDBInstance</tt> API action to
--   delete the final instance in the DB cluster.
module Network.AWS.RDS.DeleteDBInstance

-- | Creates a value of <a>DeleteDBInstance</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddiFinalDBSnapshotIdentifier</a> - The DBSnapshotIdentifier of
--   the new DBSnapshot created when SkipFinalSnapshot is set to
--   <tt>false</tt> . Constraints: * Must be 1 to 255 letters or numbers. *
--   First character must be a letter * Cannot end with a hyphen or contain
--   two consecutive hyphens * Cannot be specified when deleting a Read
--   Replica.</li>
--   <li><a>ddiSkipFinalSnapshot</a> - Determines whether a final DB
--   snapshot is created before the DB instance is deleted. If
--   <tt>true</tt> is specified, no DBSnapshot is created. If
--   <tt>false</tt> is specified, a DB snapshot is created before the DB
--   instance is deleted. Note that when a DB instance is in a failure
--   state and has a status of <tt>failed</tt>, 'incompatible-restore', or
--   'incompatible-network', it can only be deleted when the
--   SkipFinalSnapshot parameter is set to "true". Specify <tt>true</tt>
--   when deleting a Read Replica. Default: <tt>false</tt></li>
--   <li><a>ddiDBInstanceIdentifier</a> - The DB instance identifier for
--   the DB instance to be deleted. This parameter isn't case-sensitive.
--   Constraints: * Must match the name of an existing DB instance.</li>
--   </ul>
deleteDBInstance :: Text -> DeleteDBInstance

-- | <i>See:</i> <a>deleteDBInstance</a> smart constructor.
data DeleteDBInstance

-- | The DBSnapshotIdentifier of the new DBSnapshot created when
--   SkipFinalSnapshot is set to <tt>false</tt> . Constraints: * Must be 1
--   to 255 letters or numbers. * First character must be a letter * Cannot
--   end with a hyphen or contain two consecutive hyphens * Cannot be
--   specified when deleting a Read Replica.
ddiFinalDBSnapshotIdentifier :: Lens' DeleteDBInstance (Maybe Text)

-- | Determines whether a final DB snapshot is created before the DB
--   instance is deleted. If <tt>true</tt> is specified, no DBSnapshot is
--   created. If <tt>false</tt> is specified, a DB snapshot is created
--   before the DB instance is deleted. Note that when a DB instance is in
--   a failure state and has a status of <tt>failed</tt>,
--   'incompatible-restore', or 'incompatible-network', it can only be
--   deleted when the SkipFinalSnapshot parameter is set to "true". Specify
--   <tt>true</tt> when deleting a Read Replica. Default: <tt>false</tt>
ddiSkipFinalSnapshot :: Lens' DeleteDBInstance (Maybe Bool)

-- | The DB instance identifier for the DB instance to be deleted. This
--   parameter isn't case-sensitive. Constraints: * Must match the name of
--   an existing DB instance.
ddiDBInstanceIdentifier :: Lens' DeleteDBInstance Text

-- | Creates a value of <a>DeleteDBInstanceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddirsDBInstance</a> - Undocumented member.</li>
--   <li><a>ddirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDBInstanceResponse :: Int -> DeleteDBInstanceResponse

-- | <i>See:</i> <a>deleteDBInstanceResponse</a> smart constructor.
data DeleteDBInstanceResponse

-- | Undocumented member.
ddirsDBInstance :: Lens' DeleteDBInstanceResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddirsResponseStatus :: Lens' DeleteDBInstanceResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBInstance.DeleteDBInstanceResponse
instance Data.Data.Data Network.AWS.RDS.DeleteDBInstance.DeleteDBInstanceResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteDBInstance.DeleteDBInstanceResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteDBInstance.DeleteDBInstanceResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBInstance.DeleteDBInstanceResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance Data.Data.Data Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance GHC.Show.Show Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance GHC.Read.Read Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBInstance.DeleteDBInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteDBInstance.DeleteDBInstance


-- | Deletes a DB cluster snapshot. If the snapshot is being copied, the
--   copy operation is terminated.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.DeleteDBClusterSnapshot

-- | Creates a value of <a>DeleteDBClusterSnapshot</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcsDBClusterSnapshotIdentifier</a> - The identifier of the DB
--   cluster snapshot to delete. Constraints: Must be the name of an
--   existing DB cluster snapshot in the <tt>available</tt> state.</li>
--   </ul>
deleteDBClusterSnapshot :: Text -> DeleteDBClusterSnapshot

-- | <i>See:</i> <a>deleteDBClusterSnapshot</a> smart constructor.
data DeleteDBClusterSnapshot

-- | The identifier of the DB cluster snapshot to delete. Constraints: Must
--   be the name of an existing DB cluster snapshot in the
--   <tt>available</tt> state.
ddcsDBClusterSnapshotIdentifier :: Lens' DeleteDBClusterSnapshot Text

-- | Creates a value of <a>DeleteDBClusterSnapshotResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcsrsDBClusterSnapshot</a> - Undocumented member.</li>
--   <li><a>ddcsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDBClusterSnapshotResponse :: Int -> DeleteDBClusterSnapshotResponse

-- | <i>See:</i> <a>deleteDBClusterSnapshotResponse</a> smart constructor.
data DeleteDBClusterSnapshotResponse

-- | Undocumented member.
ddcsrsDBClusterSnapshot :: Lens' DeleteDBClusterSnapshotResponse (Maybe DBClusterSnapshot)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcsrsResponseStatus :: Lens' DeleteDBClusterSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshotResponse
instance Data.Data.Data Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshotResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshotResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshotResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshotResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance Data.Data.Data Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance GHC.Show.Show Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance GHC.Read.Read Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteDBClusterSnapshot.DeleteDBClusterSnapshot


-- | Deletes a specified DB cluster parameter group. The DB cluster
--   parameter group to be deleted can't be associated with any DB
--   clusters.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.DeleteDBClusterParameterGroup

-- | Creates a value of <a>DeleteDBClusterParameterGroup</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbcpgDBClusterParameterGroupName</a> - The name of the DB
--   cluster parameter group. Constraints: * Must be the name of an
--   existing DB cluster parameter group. * You can't delete a default DB
--   cluster parameter group. * Cannot be associated with any DB
--   clusters.</li>
--   </ul>
deleteDBClusterParameterGroup :: Text -> DeleteDBClusterParameterGroup

-- | <i>See:</i> <a>deleteDBClusterParameterGroup</a> smart constructor.
data DeleteDBClusterParameterGroup

-- | The name of the DB cluster parameter group. Constraints: * Must be the
--   name of an existing DB cluster parameter group. * You can't delete a
--   default DB cluster parameter group. * Cannot be associated with any DB
--   clusters.
ddbcpgDBClusterParameterGroupName :: Lens' DeleteDBClusterParameterGroup Text

-- | Creates a value of <a>DeleteDBClusterParameterGroupResponse</a> with
--   the minimum fields required to make a request.
deleteDBClusterParameterGroupResponse :: DeleteDBClusterParameterGroupResponse

-- | <i>See:</i> <a>deleteDBClusterParameterGroupResponse</a> smart
--   constructor.
data DeleteDBClusterParameterGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroupResponse
instance Data.Data.Data Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroupResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroupResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance Data.Data.Data Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance GHC.Show.Show Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance GHC.Read.Read Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteDBClusterParameterGroup.DeleteDBClusterParameterGroup


-- | The DeleteDBCluster action deletes a previously provisioned DB
--   cluster. When you delete a DB cluster, all automated backups for that
--   DB cluster are deleted and can't be recovered. Manual DB cluster
--   snapshots of the specified DB cluster are not deleted.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.DeleteDBCluster

-- | Creates a value of <a>DeleteDBCluster</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbcFinalDBSnapshotIdentifier</a> - The DB cluster snapshot
--   identifier of the new DB cluster snapshot created when
--   <tt>SkipFinalSnapshot</tt> is set to <tt>false</tt> . Constraints: *
--   Must be 1 to 255 letters, numbers, or hyphens. * First character must
--   be a letter * Cannot end with a hyphen or contain two consecutive
--   hyphens</li>
--   <li><a>ddbcSkipFinalSnapshot</a> - Determines whether a final DB
--   cluster snapshot is created before the DB cluster is deleted. If
--   <tt>true</tt> is specified, no DB cluster snapshot is created. If
--   <tt>false</tt> is specified, a DB cluster snapshot is created before
--   the DB cluster is deleted. Default: <tt>false</tt></li>
--   <li><a>ddbcDBClusterIdentifier</a> - The DB cluster identifier for the
--   DB cluster to be deleted. This parameter isn't case-sensitive.
--   Constraints: * Must match an existing DBClusterIdentifier.</li>
--   </ul>
deleteDBCluster :: Text -> DeleteDBCluster

-- | <i>See:</i> <a>deleteDBCluster</a> smart constructor.
data DeleteDBCluster

-- | The DB cluster snapshot identifier of the new DB cluster snapshot
--   created when <tt>SkipFinalSnapshot</tt> is set to <tt>false</tt> .
--   Constraints: * Must be 1 to 255 letters, numbers, or hyphens. * First
--   character must be a letter * Cannot end with a hyphen or contain two
--   consecutive hyphens
ddbcFinalDBSnapshotIdentifier :: Lens' DeleteDBCluster (Maybe Text)

-- | Determines whether a final DB cluster snapshot is created before the
--   DB cluster is deleted. If <tt>true</tt> is specified, no DB cluster
--   snapshot is created. If <tt>false</tt> is specified, a DB cluster
--   snapshot is created before the DB cluster is deleted. Default:
--   <tt>false</tt>
ddbcSkipFinalSnapshot :: Lens' DeleteDBCluster (Maybe Bool)

-- | The DB cluster identifier for the DB cluster to be deleted. This
--   parameter isn't case-sensitive. Constraints: * Must match an existing
--   DBClusterIdentifier.
ddbcDBClusterIdentifier :: Lens' DeleteDBCluster Text

-- | Creates a value of <a>DeleteDBClusterResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddbcrsDBCluster</a> - Undocumented member.</li>
--   <li><a>ddbcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDBClusterResponse :: Int -> DeleteDBClusterResponse

-- | <i>See:</i> <a>deleteDBClusterResponse</a> smart constructor.
data DeleteDBClusterResponse

-- | Undocumented member.
ddbcrsDBCluster :: Lens' DeleteDBClusterResponse (Maybe DBCluster)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddbcrsResponseStatus :: Lens' DeleteDBClusterResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBCluster.DeleteDBClusterResponse
instance Data.Data.Data Network.AWS.RDS.DeleteDBCluster.DeleteDBClusterResponse
instance GHC.Show.Show Network.AWS.RDS.DeleteDBCluster.DeleteDBClusterResponse
instance GHC.Read.Read Network.AWS.RDS.DeleteDBCluster.DeleteDBClusterResponse
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBCluster.DeleteDBClusterResponse
instance GHC.Generics.Generic Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance Data.Data.Data Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance GHC.Show.Show Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance GHC.Read.Read Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance GHC.Classes.Eq Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBCluster.DeleteDBClusterResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.DeleteDBCluster.DeleteDBCluster


-- | Creates a new option group. You can create up to 20 option groups.
module Network.AWS.RDS.CreateOptionGroup

-- | Creates a value of <a>CreateOptionGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cogTags</a> - Undocumented member.</li>
--   <li><a>cogOptionGroupName</a> - Specifies the name of the option group
--   to be created. Constraints: * Must be 1 to 255 letters, numbers, or
--   hyphens * First character must be a letter * Cannot end with a hyphen
--   or contain two consecutive hyphens Example:
--   <tt>myoptiongroup</tt></li>
--   <li><a>cogEngineName</a> - Specifies the name of the engine that this
--   option group should be associated with.</li>
--   <li><a>cogMajorEngineVersion</a> - Specifies the major version of the
--   engine that this option group should be associated with.</li>
--   <li><a>cogOptionGroupDescription</a> - The description of the option
--   group.</li>
--   </ul>
createOptionGroup :: Text -> Text -> Text -> Text -> CreateOptionGroup

-- | <i>See:</i> <a>createOptionGroup</a> smart constructor.
data CreateOptionGroup

-- | Undocumented member.
cogTags :: Lens' CreateOptionGroup [Tag]

-- | Specifies the name of the option group to be created. Constraints: *
--   Must be 1 to 255 letters, numbers, or hyphens * First character must
--   be a letter * Cannot end with a hyphen or contain two consecutive
--   hyphens Example: <tt>myoptiongroup</tt>
cogOptionGroupName :: Lens' CreateOptionGroup Text

-- | Specifies the name of the engine that this option group should be
--   associated with.
cogEngineName :: Lens' CreateOptionGroup Text

-- | Specifies the major version of the engine that this option group
--   should be associated with.
cogMajorEngineVersion :: Lens' CreateOptionGroup Text

-- | The description of the option group.
cogOptionGroupDescription :: Lens' CreateOptionGroup Text

-- | Creates a value of <a>CreateOptionGroupResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crsOptionGroup</a> - Undocumented member.</li>
--   <li><a>crsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createOptionGroupResponse :: Int -> CreateOptionGroupResponse

-- | <i>See:</i> <a>createOptionGroupResponse</a> smart constructor.
data CreateOptionGroupResponse

-- | Undocumented member.
crsOptionGroup :: Lens' CreateOptionGroupResponse (Maybe OptionGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
crsResponseStatus :: Lens' CreateOptionGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateOptionGroup.CreateOptionGroupResponse
instance Data.Data.Data Network.AWS.RDS.CreateOptionGroup.CreateOptionGroupResponse
instance GHC.Show.Show Network.AWS.RDS.CreateOptionGroup.CreateOptionGroupResponse
instance GHC.Read.Read Network.AWS.RDS.CreateOptionGroup.CreateOptionGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateOptionGroup.CreateOptionGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance Data.Data.Data Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance GHC.Show.Show Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance GHC.Read.Read Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance GHC.Classes.Eq Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateOptionGroup.CreateOptionGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateOptionGroup.CreateOptionGroup


-- | Creates an RDS event notification subscription. This action requires a
--   topic ARN (Amazon Resource Name) created by either the RDS console,
--   the SNS console, or the SNS API. To obtain an ARN with SNS, you must
--   create a topic in Amazon SNS and subscribe to the topic. The ARN is
--   displayed in the SNS console.
--   
--   You can specify the type of source (SourceType) you want to be
--   notified of, provide a list of RDS sources (SourceIds) that triggers
--   the events, and provide a list of event categories (EventCategories)
--   for events you want to be notified of. For example, you can specify
--   SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and
--   EventCategories = Availability, Backup.
--   
--   If you specify both the SourceType and SourceIds, such as SourceType =
--   db-instance and SourceIdentifier = myDBInstance1, you are notified of
--   all the db-instance events for the specified source. If you specify a
--   SourceType but do not specify a SourceIdentifier, you receive notice
--   of the events for that source type for all your RDS sources. If you do
--   not specify either the SourceType nor the SourceIdentifier, you are
--   notified of events generated from all RDS sources belonging to your
--   customer account.
module Network.AWS.RDS.CreateEventSubscription

-- | Creates a value of <a>CreateEventSubscription</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cesEnabled</a> - A Boolean value; set to <b>true</b> to
--   activate the subscription, set to <b>false</b> to create the
--   subscription but not active it.</li>
--   <li><a>cesSourceType</a> - The type of source that is generating the
--   events. For example, if you want to be notified of events generated by
--   a DB instance, you would set this parameter to db-instance. if this
--   value is not specified, all events are returned. Valid values:
--   <tt>db-instance</tt> | <tt>db-cluster</tt> |
--   <tt>db-parameter-group</tt> | <tt>db-security-group</tt> |
--   <tt>db-snapshot</tt> | <tt>db-cluster-snapshot</tt></li>
--   <li><a>cesEventCategories</a> - A list of event categories for a
--   SourceType that you want to subscribe to. You can see a list of the
--   categories for a given SourceType in the <a>Events</a> topic in the
--   Amazon RDS User Guide or by using the <b>DescribeEventCategories</b>
--   action.</li>
--   <li><a>cesSourceIds</a> - The list of identifiers of the event sources
--   for which events are returned. If not specified, then all sources are
--   included in the response. An identifier must begin with a letter and
--   must contain only ASCII letters, digits, and hyphens; it can't end
--   with a hyphen or contain two consecutive hyphens. Constraints: * If
--   SourceIds are supplied, SourceType must also be provided. * If the
--   source type is a DB instance, then a <tt>DBInstanceIdentifier</tt>
--   must be supplied. * If the source type is a DB security group, a
--   <tt>DBSecurityGroupName</tt> must be supplied. * If the source type is
--   a DB parameter group, a <tt>DBParameterGroupName</tt> must be
--   supplied. * If the source type is a DB snapshot, a
--   <tt>DBSnapshotIdentifier</tt> must be supplied.</li>
--   <li><a>cesTags</a> - Undocumented member.</li>
--   <li><a>cesSubscriptionName</a> - The name of the subscription.
--   Constraints: The name must be less than 255 characters.</li>
--   <li><a>cesSNSTopicARN</a> - The Amazon Resource Name (ARN) of the SNS
--   topic created for event notification. The ARN is created by Amazon SNS
--   when you create a topic and subscribe to it.</li>
--   </ul>
createEventSubscription :: Text -> Text -> CreateEventSubscription

-- | <i>See:</i> <a>createEventSubscription</a> smart constructor.
data CreateEventSubscription

-- | A Boolean value; set to <b>true</b> to activate the subscription, set
--   to <b>false</b> to create the subscription but not active it.
cesEnabled :: Lens' CreateEventSubscription (Maybe Bool)

-- | The type of source that is generating the events. For example, if you
--   want to be notified of events generated by a DB instance, you would
--   set this parameter to db-instance. if this value is not specified, all
--   events are returned. Valid values: <tt>db-instance</tt> |
--   <tt>db-cluster</tt> | <tt>db-parameter-group</tt> |
--   <tt>db-security-group</tt> | <tt>db-snapshot</tt> |
--   <tt>db-cluster-snapshot</tt>
cesSourceType :: Lens' CreateEventSubscription (Maybe Text)

-- | A list of event categories for a SourceType that you want to subscribe
--   to. You can see a list of the categories for a given SourceType in the
--   <a>Events</a> topic in the Amazon RDS User Guide or by using the
--   <b>DescribeEventCategories</b> action.
cesEventCategories :: Lens' CreateEventSubscription [Text]

-- | The list of identifiers of the event sources for which events are
--   returned. If not specified, then all sources are included in the
--   response. An identifier must begin with a letter and must contain only
--   ASCII letters, digits, and hyphens; it can't end with a hyphen or
--   contain two consecutive hyphens. Constraints: * If SourceIds are
--   supplied, SourceType must also be provided. * If the source type is a
--   DB instance, then a <tt>DBInstanceIdentifier</tt> must be supplied. *
--   If the source type is a DB security group, a
--   <tt>DBSecurityGroupName</tt> must be supplied. * If the source type is
--   a DB parameter group, a <tt>DBParameterGroupName</tt> must be
--   supplied. * If the source type is a DB snapshot, a
--   <tt>DBSnapshotIdentifier</tt> must be supplied.
cesSourceIds :: Lens' CreateEventSubscription [Text]

-- | Undocumented member.
cesTags :: Lens' CreateEventSubscription [Tag]

-- | The name of the subscription. Constraints: The name must be less than
--   255 characters.
cesSubscriptionName :: Lens' CreateEventSubscription Text

-- | The Amazon Resource Name (ARN) of the SNS topic created for event
--   notification. The ARN is created by Amazon SNS when you create a topic
--   and subscribe to it.
cesSNSTopicARN :: Lens' CreateEventSubscription Text

-- | Creates a value of <a>CreateEventSubscriptionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cesrsEventSubscription</a> - Undocumented member.</li>
--   <li><a>cesrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createEventSubscriptionResponse :: Int -> CreateEventSubscriptionResponse

-- | <i>See:</i> <a>createEventSubscriptionResponse</a> smart constructor.
data CreateEventSubscriptionResponse

-- | Undocumented member.
cesrsEventSubscription :: Lens' CreateEventSubscriptionResponse (Maybe EventSubscription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cesrsResponseStatus :: Lens' CreateEventSubscriptionResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateEventSubscription.CreateEventSubscriptionResponse
instance Data.Data.Data Network.AWS.RDS.CreateEventSubscription.CreateEventSubscriptionResponse
instance GHC.Show.Show Network.AWS.RDS.CreateEventSubscription.CreateEventSubscriptionResponse
instance GHC.Read.Read Network.AWS.RDS.CreateEventSubscription.CreateEventSubscriptionResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateEventSubscription.CreateEventSubscriptionResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance Data.Data.Data Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance GHC.Show.Show Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance GHC.Read.Read Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance GHC.Classes.Eq Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateEventSubscription.CreateEventSubscriptionResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateEventSubscription.CreateEventSubscription


-- | Creates a new DB subnet group. DB subnet groups must contain at least
--   one subnet in at least two AZs in the AWS Region.
module Network.AWS.RDS.CreateDBSubnetGroup

-- | Creates a value of <a>CreateDBSubnetGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbsgTags</a> - Undocumented member.</li>
--   <li><a>cdbsgDBSubnetGroupName</a> - The name for the DB subnet group.
--   This value is stored as a lowercase string. Constraints: Must contain
--   no more than 255 letters, numbers, periods, underscores, spaces, or
--   hyphens. Must not be default. Example: <tt>mySubnetgroup</tt></li>
--   <li><a>cdbsgDBSubnetGroupDescription</a> - The description for the DB
--   subnet group.</li>
--   <li><a>cdbsgSubnetIds</a> - The EC2 Subnet IDs for the DB subnet
--   group.</li>
--   </ul>
createDBSubnetGroup :: Text -> Text -> CreateDBSubnetGroup

-- | <i>See:</i> <a>createDBSubnetGroup</a> smart constructor.
data CreateDBSubnetGroup

-- | Undocumented member.
cdbsgTags :: Lens' CreateDBSubnetGroup [Tag]

-- | The name for the DB subnet group. This value is stored as a lowercase
--   string. Constraints: Must contain no more than 255 letters, numbers,
--   periods, underscores, spaces, or hyphens. Must not be default.
--   Example: <tt>mySubnetgroup</tt>
cdbsgDBSubnetGroupName :: Lens' CreateDBSubnetGroup Text

-- | The description for the DB subnet group.
cdbsgDBSubnetGroupDescription :: Lens' CreateDBSubnetGroup Text

-- | The EC2 Subnet IDs for the DB subnet group.
cdbsgSubnetIds :: Lens' CreateDBSubnetGroup [Text]

-- | Creates a value of <a>CreateDBSubnetGroupResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdsgrsDBSubnetGroup</a> - Undocumented member.</li>
--   <li><a>cdsgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDBSubnetGroupResponse :: Int -> CreateDBSubnetGroupResponse

-- | <i>See:</i> <a>createDBSubnetGroupResponse</a> smart constructor.
data CreateDBSubnetGroupResponse

-- | Undocumented member.
cdsgrsDBSubnetGroup :: Lens' CreateDBSubnetGroupResponse (Maybe DBSubnetGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdsgrsResponseStatus :: Lens' CreateDBSubnetGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroupResponse
instance Data.Data.Data Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroupResponse
instance GHC.Show.Show Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroupResponse
instance GHC.Read.Read Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance Data.Data.Data Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance GHC.Show.Show Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance GHC.Read.Read Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateDBSubnetGroup.CreateDBSubnetGroup


-- | Creates a DBSnapshot. The source DBInstance must be in "available"
--   state.
module Network.AWS.RDS.CreateDBSnapshot

-- | Creates a value of <a>CreateDBSnapshot</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbsTags</a> - Undocumented member.</li>
--   <li><a>cdbsDBSnapshotIdentifier</a> - The identifier for the DB
--   snapshot. Constraints: * Cannot be null, empty, or blank * Must
--   contain from 1 to 255 letters, numbers, or hyphens * First character
--   must be a letter * Cannot end with a hyphen or contain two consecutive
--   hyphens Example: <tt>my-snapshot-id</tt></li>
--   <li><a>cdbsDBInstanceIdentifier</a> - The identifier of the DB
--   instance that you want to create the snapshot of. Constraints: * Must
--   match the identifier of an existing DBInstance.</li>
--   </ul>
createDBSnapshot :: Text -> Text -> CreateDBSnapshot

-- | <i>See:</i> <a>createDBSnapshot</a> smart constructor.
data CreateDBSnapshot

-- | Undocumented member.
cdbsTags :: Lens' CreateDBSnapshot [Tag]

-- | The identifier for the DB snapshot. Constraints: * Cannot be null,
--   empty, or blank * Must contain from 1 to 255 letters, numbers, or
--   hyphens * First character must be a letter * Cannot end with a hyphen
--   or contain two consecutive hyphens Example: <tt>my-snapshot-id</tt>
cdbsDBSnapshotIdentifier :: Lens' CreateDBSnapshot Text

-- | The identifier of the DB instance that you want to create the snapshot
--   of. Constraints: * Must match the identifier of an existing
--   DBInstance.
cdbsDBInstanceIdentifier :: Lens' CreateDBSnapshot Text

-- | Creates a value of <a>CreateDBSnapshotResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbsrsDBSnapshot</a> - Undocumented member.</li>
--   <li><a>cdbsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDBSnapshotResponse :: Int -> CreateDBSnapshotResponse

-- | <i>See:</i> <a>createDBSnapshotResponse</a> smart constructor.
data CreateDBSnapshotResponse

-- | Undocumented member.
cdbsrsDBSnapshot :: Lens' CreateDBSnapshotResponse (Maybe DBSnapshot)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdbsrsResponseStatus :: Lens' CreateDBSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshotResponse
instance Data.Data.Data Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshotResponse
instance GHC.Show.Show Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshotResponse
instance GHC.Read.Read Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshotResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshotResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance Data.Data.Data Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance GHC.Show.Show Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance GHC.Read.Read Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateDBSnapshot.CreateDBSnapshot


-- | Creates a new DB security group. DB security groups control access to
--   a DB instance.
module Network.AWS.RDS.CreateDBSecurityGroup

-- | Creates a value of <a>CreateDBSecurityGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdsgTags</a> - Undocumented member.</li>
--   <li><a>cdsgDBSecurityGroupName</a> - The name for the DB security
--   group. This value is stored as a lowercase string. Constraints: * Must
--   be 1 to 255 letters, numbers, or hyphens. * First character must be a
--   letter * Cannot end with a hyphen or contain two consecutive hyphens *
--   Must not be <a>Default</a> Example: <tt>mysecuritygroup</tt></li>
--   <li><a>cdsgDBSecurityGroupDescription</a> - The description for the DB
--   security group.</li>
--   </ul>
createDBSecurityGroup :: Text -> Text -> CreateDBSecurityGroup

-- | <i>See:</i> <a>createDBSecurityGroup</a> smart constructor.
data CreateDBSecurityGroup

-- | Undocumented member.
cdsgTags :: Lens' CreateDBSecurityGroup [Tag]

-- | The name for the DB security group. This value is stored as a
--   lowercase string. Constraints: * Must be 1 to 255 letters, numbers, or
--   hyphens. * First character must be a letter * Cannot end with a hyphen
--   or contain two consecutive hyphens * Must not be <a>Default</a>
--   Example: <tt>mysecuritygroup</tt>
cdsgDBSecurityGroupName :: Lens' CreateDBSecurityGroup Text

-- | The description for the DB security group.
cdsgDBSecurityGroupDescription :: Lens' CreateDBSecurityGroup Text

-- | Creates a value of <a>CreateDBSecurityGroupResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbsgrsDBSecurityGroup</a> - Undocumented member.</li>
--   <li><a>cdbsgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDBSecurityGroupResponse :: Int -> CreateDBSecurityGroupResponse

-- | <i>See:</i> <a>createDBSecurityGroupResponse</a> smart constructor.
data CreateDBSecurityGroupResponse

-- | Undocumented member.
cdbsgrsDBSecurityGroup :: Lens' CreateDBSecurityGroupResponse (Maybe DBSecurityGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdbsgrsResponseStatus :: Lens' CreateDBSecurityGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroupResponse
instance Data.Data.Data Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroupResponse
instance GHC.Show.Show Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroupResponse
instance GHC.Read.Read Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance Data.Data.Data Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance GHC.Show.Show Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance GHC.Read.Read Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateDBSecurityGroup.CreateDBSecurityGroup


-- | Creates a new DB parameter group.
--   
--   A DB parameter group is initially created with the default parameters
--   for the database engine used by the DB instance. To provide custom
--   values for any of the parameters, you must modify the group after
--   creating it using <i>ModifyDBParameterGroup</i> . Once you've created
--   a DB parameter group, you need to associate it with your DB instance
--   using <i>ModifyDBInstance</i> . When you associate a new DB parameter
--   group with a running DB instance, you need to reboot the DB instance
--   without failover for the new DB parameter group and associated
--   settings to take effect.
--   
--   <i>Important:</i> After you create a DB parameter group, you should
--   wait at least 5 minutes before creating your first DB instance that
--   uses that DB parameter group as the default parameter group. This
--   allows Amazon RDS to fully complete the create action before the
--   parameter group is used as the default for a new DB instance. This is
--   especially important for parameters that are critical when creating
--   the default database for a DB instance, such as the character set for
--   the default database defined by the <tt>character_set_database</tt>
--   parameter. You can use the <i>Parameter Groups</i> option of the
--   <a>Amazon RDS console</a> or the <i>DescribeDBParameters</i> command
--   to verify that your DB parameter group has been created or modified.
module Network.AWS.RDS.CreateDBParameterGroup

-- | Creates a value of <a>CreateDBParameterGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbpgTags</a> - Undocumented member.</li>
--   <li><a>cdbpgDBParameterGroupName</a> - The name of the DB parameter
--   group. Constraints: * Must be 1 to 255 letters, numbers, or hyphens. *
--   First character must be a letter * Cannot end with a hyphen or contain
--   two consecutive hyphens</li>
--   <li><a>cdbpgDBParameterGroupFamily</a> - The DB parameter group family
--   name. A DB parameter group can be associated with one and only one DB
--   parameter group family, and can be applied only to a DB instance
--   running a database engine and engine version compatible with that DB
--   parameter group family.</li>
--   <li><a>cdbpgDescription</a> - The description for the DB parameter
--   group.</li>
--   </ul>
createDBParameterGroup :: Text -> Text -> Text -> CreateDBParameterGroup

-- | <i>See:</i> <a>createDBParameterGroup</a> smart constructor.
data CreateDBParameterGroup

-- | Undocumented member.
cdbpgTags :: Lens' CreateDBParameterGroup [Tag]

-- | The name of the DB parameter group. Constraints: * Must be 1 to 255
--   letters, numbers, or hyphens. * First character must be a letter *
--   Cannot end with a hyphen or contain two consecutive hyphens
cdbpgDBParameterGroupName :: Lens' CreateDBParameterGroup Text

-- | The DB parameter group family name. A DB parameter group can be
--   associated with one and only one DB parameter group family, and can be
--   applied only to a DB instance running a database engine and engine
--   version compatible with that DB parameter group family.
cdbpgDBParameterGroupFamily :: Lens' CreateDBParameterGroup Text

-- | The description for the DB parameter group.
cdbpgDescription :: Lens' CreateDBParameterGroup Text

-- | Creates a value of <a>CreateDBParameterGroupResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdpgrsDBParameterGroup</a> - Undocumented member.</li>
--   <li><a>cdpgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDBParameterGroupResponse :: Int -> CreateDBParameterGroupResponse

-- | <i>See:</i> <a>createDBParameterGroupResponse</a> smart constructor.
data CreateDBParameterGroupResponse

-- | Undocumented member.
cdpgrsDBParameterGroup :: Lens' CreateDBParameterGroupResponse (Maybe DBParameterGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdpgrsResponseStatus :: Lens' CreateDBParameterGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroupResponse
instance Data.Data.Data Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroupResponse
instance GHC.Show.Show Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroupResponse
instance GHC.Read.Read Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance Data.Data.Data Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance GHC.Show.Show Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance GHC.Read.Read Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateDBParameterGroup.CreateDBParameterGroup


-- | Creates a new DB instance that acts as a Read Replica for an existing
--   source DB instance. You can create a Read Replica for a DB instance
--   running MySQL, MariaDB, or PostgreSQL. For more information, see
--   <a>Working with PostgreSQL, MySQL, and MariaDB Read Replicas</a> .
--   
--   Amazon Aurora doesn't support this action. You must call the
--   <tt>CreateDBInstance</tt> action to create a DB instance for an Aurora
--   DB cluster.
--   
--   All Read Replica DB instances are created with backups disabled. All
--   other DB instance attributes (including DB security groups and DB
--   parameter groups) are inherited from the source DB instance, except as
--   specified following.
--   
--   <i>Important:</i> Your source DB instance must have backup retention
--   enabled.
module Network.AWS.RDS.CreateDBInstanceReadReplica

-- | Creates a value of <a>CreateDBInstanceReadReplica</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdirrPubliclyAccessible</a> - 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. Default: The default behavior varies depending on whether a
--   VPC has been requested or not. The following list shows the default
--   behavior in each case. * <b>Default VPC:</b> true * <b>VPC:</b> false
--   If no DB subnet group has been specified as part of the request and
--   the PubliclyAccessible value has not been set, the DB instance is
--   publicly accessible. If a specific DB subnet group has been specified
--   as part of the request and the PubliclyAccessible value has not been
--   set, the DB instance is private.</li>
--   <li><a>cdirrAutoMinorVersionUpgrade</a> - Indicates that minor engine
--   upgrades are applied automatically to the Read Replica during the
--   maintenance window. Default: Inherits from the source DB instance</li>
--   <li><a>cdirrDBSubnetGroupName</a> - Specifies a DB subnet group for
--   the DB instance. The new DB instance is created in the VPC associated
--   with the DB subnet group. If no DB subnet group is specified, then the
--   new DB instance is not created in a VPC. Constraints: * Can only be
--   specified if the source DB instance identifier specifies a DB instance
--   in another AWS Region. * If supplied, must match the name of an
--   existing DBSubnetGroup. * The specified DB subnet group must be in the
--   same AWS Region in which the operation is running. * All Read Replicas
--   in one AWS Region that are created from the same source DB instance
--   must either:&gt; * Specify DB subnet groups from the same VPC. All
--   these Read Replicas are created in the same VPC. * Not specify a DB
--   subnet group. All these Read Replicas are created outside of any VPC.
--   Example: <tt>mySubnetgroup</tt></li>
--   <li><a>cdirrMonitoringRoleARN</a> - The ARN for the IAM role that
--   permits RDS to send enhanced monitoring metrics to Amazon CloudWatch
--   Logs. For example, <tt>arn:aws:iam:123456789012:role/emaccess</tt> .
--   For information on creating a monitoring role, go to <a>To create an
--   IAM role for Amazon RDS Enhanced Monitoring</a> . If
--   <tt>MonitoringInterval</tt> is set to a value other than 0, then you
--   must supply a <tt>MonitoringRoleArn</tt> value.</li>
--   <li><a>cdirrIOPS</a> - The amount of Provisioned IOPS (input/output
--   operations per second) to be initially allocated for the DB
--   instance.</li>
--   <li><a>cdirrMonitoringInterval</a> - The interval, in seconds, between
--   points when Enhanced Monitoring metrics are collected for the Read
--   Replica. To disable collecting Enhanced Monitoring metrics, specify 0.
--   The default is 0. If <tt>MonitoringRoleArn</tt> is specified, then you
--   must also set <tt>MonitoringInterval</tt> to a value other than 0.
--   Valid Values: <tt>0, 1, 5, 10, 15, 30, 60</tt></li>
--   <li><a>cdirrPreSignedURL</a> - The URL that contains a Signature
--   Version 4 signed request for the <tt>CreateDBInstanceReadReplica</tt>
--   API action in the source AWS Region that contains the source DB
--   instance. You must specify this parameter when you create an encrypted
--   Read Replica from another AWS Region by using the Amazon RDS API. You
--   can specify the <tt>--source-region</tt> option instead of this
--   parameter when you create an encrypted Read Replica from another AWS
--   Region by using the AWS CLI. The presigned URL must be a valid request
--   for the <tt>CreateDBInstanceReadReplica</tt> API action that can be
--   executed in the source AWS Region that contains the encrypted source
--   DB instance. The presigned URL request must contain the following
--   parameter values: * <tt>DestinationRegion</tt> - The AWS Region that
--   the encrypted Read Replica is created in. This AWS Region is the same
--   one where the <tt>CreateDBInstanceReadReplica</tt> action is called
--   that contains this presigned URL. For example, if you create an
--   encrypted DB instance in the us-west-1 AWS Region, from a source DB
--   instance in the us-east-2 AWS Region, then you call the
--   <tt>CreateDBInstanceReadReplica</tt> action in the us-east-1 AWS
--   Region and provide a presigned URL that contains a call to the
--   <tt>CreateDBInstanceReadReplica</tt> action in the us-west-2 AWS
--   Region. For this example, the <tt>DestinationRegion</tt> in the
--   presigned URL must be set to the us-east-1 AWS Region. *
--   <tt>KmsKeyId</tt> - The AWS KMS key identifier for the key to use to
--   encrypt the Read Replica in the destination AWS Region. This is the
--   same identifier for both the <tt>CreateDBInstanceReadReplica</tt>
--   action that is called in the destination AWS Region, and the action
--   contained in the presigned URL. * <tt>SourceDBInstanceIdentifier</tt>
--   - The DB instance identifier for the encrypted DB instance to be
--   replicated. This identifier must be in the Amazon Resource Name (ARN)
--   format for the source AWS Region. For example, if you are creating an
--   encrypted Read Replica from a DB instance in the us-west-2 AWS Region,
--   then your <tt>SourceDBInstanceIdentifier</tt> looks like the following
--   example:
--   <tt>arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115</tt>
--   . To learn how to generate a Signature Version 4 signed request, see
--   <a>Authenticating Requests: Using Query Parameters (AWS Signature
--   Version 4)</a> and <a>Signature Version 4 Signing Process</a> .</li>
--   <li><a>cdirrDBInstanceClass</a> - The compute and memory capacity of
--   the Read Replica, for example, <tt>db.m4.large</tt> . Not all DB
--   instance classes are available in all AWS Regions, or for all database
--   engines. For the full list of DB instance classes, and availability
--   for your engine, see <a>DB Instance Class</a> in the Amazon RDS User
--   Guide. Default: Inherits from the source DB instance.</li>
--   <li><a>cdirrEnablePerformanceInsights</a> - True to enable Performance
--   Insights for the read replica, and otherwise false.</li>
--   <li><a>cdirrKMSKeyId</a> - The AWS KMS key ID for an encrypted Read
--   Replica. The KMS key ID is the Amazon Resource Name (ARN), KMS key
--   identifier, or the KMS key alias for the KMS encryption key. If you
--   specify this parameter when you create a Read Replica from an
--   unencrypted DB instance, the Read Replica is encrypted. If you create
--   an encrypted Read Replica in the same AWS Region as the source DB
--   instance, then you do not have to specify a value for this parameter.
--   The Read Replica is encrypted with the same KMS key as the source DB
--   instance. If you create an encrypted Read Replica in a different AWS
--   Region, then you must specify a KMS key for the destination AWS
--   Region. KMS encryption keys are specific to the AWS Region that they
--   are created in, and you can't use encryption keys from one AWS Region
--   in another AWS Region.</li>
--   <li><a>cdirrAvailabilityZone</a> - The Amazon EC2 Availability Zone
--   that the Read Replica is created in. Default: A random, system-chosen
--   Availability Zone in the endpoint's AWS Region. Example:
--   <tt>us-east-1d</tt></li>
--   <li><a>cdirrPerformanceInsightsKMSKeyId</a> - The AWS KMS key
--   identifier for encryption of Performance Insights data. The KMS key ID
--   is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key
--   alias for the KMS encryption key.</li>
--   <li><a>cdirrMultiAZ</a> - Specifies whether the Read Replica is in a
--   Multi-AZ deployment. You can create a Read Replica as a Multi-AZ DB
--   instance. RDS creates a standby of your replica in another
--   Availability Zone for failover support for the replica. Creating your
--   Read Replica as a Multi-AZ DB instance is independent of whether the
--   source database is a Multi-AZ DB instance.</li>
--   <li><a>cdirrOptionGroupName</a> - The option group the DB instance is
--   associated with. If omitted, the default option group for the engine
--   specified is used.</li>
--   <li><a>cdirrCopyTagsToSnapshot</a> - True to copy all tags from the
--   Read Replica to snapshots of the Read Replica, and otherwise false.
--   The default is false.</li>
--   <li><a>cdirrTags</a> - Undocumented member.</li>
--   <li><a>cdirrPort</a> - The port number that the DB instance uses for
--   connections. Default: Inherits from the source DB instance Valid
--   Values: <tt>1150-65535</tt></li>
--   <li><a>cdirrEnableIAMDatabaseAuthentication</a> - True to enable
--   mapping of AWS Identity and Access Management (IAM) accounts to
--   database accounts, and otherwise false. You can enable IAM database
--   authentication 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. Default: <tt>false</tt></li>
--   <li><a>cdirrStorageType</a> - Specifies the storage type to be
--   associated with the Read Replica. Valid values: <tt>standard | gp2 |
--   io1</tt> If you specify <tt>io1</tt> , you must also include a value
--   for the <tt>Iops</tt> parameter. Default: <tt>io1</tt> if the
--   <tt>Iops</tt> parameter is specified, otherwise <tt>standard</tt></li>
--   <li><a>cdirrEnableCloudwatchLogsExports</a> - The list of logs that
--   the new DB instance is to export to CloudWatch Logs.</li>
--   <li><a>cdirrDBInstanceIdentifier</a> - The DB instance identifier of
--   the Read Replica. This identifier is the unique key that identifies a
--   DB instance. This parameter is stored as a lowercase string.</li>
--   <li><a>cdirrSourceDBInstanceIdentifier</a> - The identifier of the DB
--   instance that will act as the source for the Read Replica. Each DB
--   instance can have up to five Read Replicas. Constraints: * Must be the
--   identifier of an existing MySQL, MariaDB, or PostgreSQL DB instance. *
--   Can specify a DB instance that is a MySQL Read Replica only if the
--   source is running MySQL 5.6. * Can specify a DB instance that is a
--   PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5
--   or later (9.4.7 and higher for cross-region replication). * The
--   specified DB instance must have automatic backups enabled, its backup
--   retention period must be greater than 0. * If the source DB instance
--   is in the same AWS Region as the Read Replica, specify a valid DB
--   instance identifier. * If the source DB instance is in a different AWS
--   Region than the Read Replica, specify a valid DB instance ARN. For
--   more information, go to <a>Constructing a Amazon RDS Amazon Resource
--   Name (ARN)</a> .</li>
--   </ul>
createDBInstanceReadReplica :: Text -> Text -> CreateDBInstanceReadReplica

-- | <i>See:</i> <a>createDBInstanceReadReplica</a> smart constructor.
data CreateDBInstanceReadReplica

-- | 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. Default: The default behavior varies depending on
--   whether a VPC has been requested or not. The following list shows the
--   default behavior in each case. * <b>Default VPC:</b> true *
--   <b>VPC:</b> false If no DB subnet group has been specified as part of
--   the request and the PubliclyAccessible value has not been set, the DB
--   instance is publicly accessible. If a specific DB subnet group has
--   been specified as part of the request and the PubliclyAccessible value
--   has not been set, the DB instance is private.
cdirrPubliclyAccessible :: Lens' CreateDBInstanceReadReplica (Maybe Bool)

-- | Indicates that minor engine upgrades are applied automatically to the
--   Read Replica during the maintenance window. Default: Inherits from the
--   source DB instance
cdirrAutoMinorVersionUpgrade :: Lens' CreateDBInstanceReadReplica (Maybe Bool)

-- | Specifies a DB subnet group for the DB instance. The new DB instance
--   is created in the VPC associated with the DB subnet group. If no DB
--   subnet group is specified, then the new DB instance is not created in
--   a VPC. Constraints: * Can only be specified if the source DB instance
--   identifier specifies a DB instance in another AWS Region. * If
--   supplied, must match the name of an existing DBSubnetGroup. * The
--   specified DB subnet group must be in the same AWS Region in which the
--   operation is running. * All Read Replicas in one AWS Region that are
--   created from the same source DB instance must either:&gt; * Specify DB
--   subnet groups from the same VPC. All these Read Replicas are created
--   in the same VPC. * Not specify a DB subnet group. All these Read
--   Replicas are created outside of any VPC. Example:
--   <tt>mySubnetgroup</tt>
cdirrDBSubnetGroupName :: Lens' CreateDBInstanceReadReplica (Maybe Text)

-- | The ARN for the IAM role that permits RDS to send enhanced monitoring
--   metrics to Amazon CloudWatch Logs. For example,
--   <tt>arn:aws:iam:123456789012:role/emaccess</tt> . For information on
--   creating a monitoring role, go to <a>To create an IAM role for Amazon
--   RDS Enhanced Monitoring</a> . If <tt>MonitoringInterval</tt> is set to
--   a value other than 0, then you must supply a
--   <tt>MonitoringRoleArn</tt> value.
cdirrMonitoringRoleARN :: Lens' CreateDBInstanceReadReplica (Maybe Text)

-- | The amount of Provisioned IOPS (input/output operations per second) to
--   be initially allocated for the DB instance.
cdirrIOPS :: Lens' CreateDBInstanceReadReplica (Maybe Int)

-- | The interval, in seconds, between points when Enhanced Monitoring
--   metrics are collected for the Read Replica. To disable collecting
--   Enhanced Monitoring metrics, specify 0. The default is 0. If
--   <tt>MonitoringRoleArn</tt> is specified, then you must also set
--   <tt>MonitoringInterval</tt> to a value other than 0. Valid Values:
--   <tt>0, 1, 5, 10, 15, 30, 60</tt>
cdirrMonitoringInterval :: Lens' CreateDBInstanceReadReplica (Maybe Int)

-- | The URL that contains a Signature Version 4 signed request for the
--   <tt>CreateDBInstanceReadReplica</tt> API action in the source AWS
--   Region that contains the source DB instance. You must specify this
--   parameter when you create an encrypted Read Replica from another AWS
--   Region by using the Amazon RDS API. You can specify the
--   <tt>--source-region</tt> option instead of this parameter when you
--   create an encrypted Read Replica from another AWS Region by using the
--   AWS CLI. The presigned URL must be a valid request for the
--   <tt>CreateDBInstanceReadReplica</tt> API action that can be executed
--   in the source AWS Region that contains the encrypted source DB
--   instance. The presigned URL request must contain the following
--   parameter values: * <tt>DestinationRegion</tt> - The AWS Region that
--   the encrypted Read Replica is created in. This AWS Region is the same
--   one where the <tt>CreateDBInstanceReadReplica</tt> action is called
--   that contains this presigned URL. For example, if you create an
--   encrypted DB instance in the us-west-1 AWS Region, from a source DB
--   instance in the us-east-2 AWS Region, then you call the
--   <tt>CreateDBInstanceReadReplica</tt> action in the us-east-1 AWS
--   Region and provide a presigned URL that contains a call to the
--   <tt>CreateDBInstanceReadReplica</tt> action in the us-west-2 AWS
--   Region. For this example, the <tt>DestinationRegion</tt> in the
--   presigned URL must be set to the us-east-1 AWS Region. *
--   <tt>KmsKeyId</tt> - The AWS KMS key identifier for the key to use to
--   encrypt the Read Replica in the destination AWS Region. This is the
--   same identifier for both the <tt>CreateDBInstanceReadReplica</tt>
--   action that is called in the destination AWS Region, and the action
--   contained in the presigned URL. * <tt>SourceDBInstanceIdentifier</tt>
--   - The DB instance identifier for the encrypted DB instance to be
--   replicated. This identifier must be in the Amazon Resource Name (ARN)
--   format for the source AWS Region. For example, if you are creating an
--   encrypted Read Replica from a DB instance in the us-west-2 AWS Region,
--   then your <tt>SourceDBInstanceIdentifier</tt> looks like the following
--   example:
--   <tt>arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115</tt>
--   . To learn how to generate a Signature Version 4 signed request, see
--   <a>Authenticating Requests: Using Query Parameters (AWS Signature
--   Version 4)</a> and <a>Signature Version 4 Signing Process</a> .
cdirrPreSignedURL :: Lens' CreateDBInstanceReadReplica (Maybe Text)

-- | The compute and memory capacity of the Read Replica, for example,
--   <tt>db.m4.large</tt> . Not all DB instance classes are available in
--   all AWS Regions, or for all database engines. For the full list of DB
--   instance classes, and availability for your engine, see <a>DB Instance
--   Class</a> in the Amazon RDS User Guide. Default: Inherits from the
--   source DB instance.
cdirrDBInstanceClass :: Lens' CreateDBInstanceReadReplica (Maybe Text)

-- | True to enable Performance Insights for the read replica, and
--   otherwise false.
cdirrEnablePerformanceInsights :: Lens' CreateDBInstanceReadReplica (Maybe Bool)

-- | The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is
--   the Amazon Resource Name (ARN), KMS key identifier, or the KMS key
--   alias for the KMS encryption key. If you specify this parameter when
--   you create a Read Replica from an unencrypted DB instance, the Read
--   Replica is encrypted. If you create an encrypted Read Replica in the
--   same AWS Region as the source DB instance, then you do not have to
--   specify a value for this parameter. The Read Replica is encrypted with
--   the same KMS key as the source DB instance. If you create an encrypted
--   Read Replica in a different AWS Region, then you must specify a KMS
--   key for the destination AWS Region. KMS encryption keys are specific
--   to the AWS Region that they are created in, and you can't use
--   encryption keys from one AWS Region in another AWS Region.
cdirrKMSKeyId :: Lens' CreateDBInstanceReadReplica (Maybe Text)

-- | The Amazon EC2 Availability Zone that the Read Replica is created in.
--   Default: A random, system-chosen Availability Zone in the endpoint's
--   AWS Region. Example: <tt>us-east-1d</tt>
cdirrAvailabilityZone :: Lens' CreateDBInstanceReadReplica (Maybe Text)

-- | The AWS KMS key identifier for encryption of Performance Insights
--   data. The KMS key ID is the Amazon Resource Name (ARN), KMS key
--   identifier, or the KMS key alias for the KMS encryption key.
cdirrPerformanceInsightsKMSKeyId :: Lens' CreateDBInstanceReadReplica (Maybe Text)

-- | Specifies whether the Read Replica is in a Multi-AZ deployment. You
--   can create a Read Replica as a Multi-AZ DB instance. RDS creates a
--   standby of your replica in another Availability Zone for failover
--   support for the replica. Creating your Read Replica as a Multi-AZ DB
--   instance is independent of whether the source database is a Multi-AZ
--   DB instance.
cdirrMultiAZ :: Lens' CreateDBInstanceReadReplica (Maybe Bool)

-- | The option group the DB instance is associated with. If omitted, the
--   default option group for the engine specified is used.
cdirrOptionGroupName :: Lens' CreateDBInstanceReadReplica (Maybe Text)

-- | True to copy all tags from the Read Replica to snapshots of the Read
--   Replica, and otherwise false. The default is false.
cdirrCopyTagsToSnapshot :: Lens' CreateDBInstanceReadReplica (Maybe Bool)

-- | Undocumented member.
cdirrTags :: Lens' CreateDBInstanceReadReplica [Tag]

-- | The port number that the DB instance uses for connections. Default:
--   Inherits from the source DB instance Valid Values: <tt>1150-65535</tt>
cdirrPort :: Lens' CreateDBInstanceReadReplica (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. You can enable IAM
--   database authentication 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. Default: <tt>false</tt>
cdirrEnableIAMDatabaseAuthentication :: Lens' CreateDBInstanceReadReplica (Maybe Bool)

-- | Specifies the storage type to be associated with the Read Replica.
--   Valid values: <tt>standard | gp2 | io1</tt> If you specify
--   <tt>io1</tt> , you must also include a value for the <tt>Iops</tt>
--   parameter. Default: <tt>io1</tt> if the <tt>Iops</tt> parameter is
--   specified, otherwise <tt>standard</tt>
cdirrStorageType :: Lens' CreateDBInstanceReadReplica (Maybe Text)

-- | The list of logs that the new DB instance is to export to CloudWatch
--   Logs.
cdirrEnableCloudwatchLogsExports :: Lens' CreateDBInstanceReadReplica [Text]

-- | The DB instance identifier of the Read Replica. This identifier is the
--   unique key that identifies a DB instance. This parameter is stored as
--   a lowercase string.
cdirrDBInstanceIdentifier :: Lens' CreateDBInstanceReadReplica Text

-- | The identifier of the DB instance that will act as the source for the
--   Read Replica. Each DB instance can have up to five Read Replicas.
--   Constraints: * Must be the identifier of an existing MySQL, MariaDB,
--   or PostgreSQL DB instance. * Can specify a DB instance that is a MySQL
--   Read Replica only if the source is running MySQL 5.6. * Can specify a
--   DB instance that is a PostgreSQL DB instance only if the source is
--   running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region
--   replication). * The specified DB instance must have automatic backups
--   enabled, its backup retention period must be greater than 0. * If the
--   source DB instance is in the same AWS Region as the Read Replica,
--   specify a valid DB instance identifier. * If the source DB instance is
--   in a different AWS Region than the Read Replica, specify a valid DB
--   instance ARN. For more information, go to <a>Constructing a Amazon RDS
--   Amazon Resource Name (ARN)</a> .
cdirrSourceDBInstanceIdentifier :: Lens' CreateDBInstanceReadReplica Text

-- | Creates a value of <a>CreateDBInstanceReadReplicaResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdirrrsDBInstance</a> - Undocumented member.</li>
--   <li><a>cdirrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDBInstanceReadReplicaResponse :: Int -> CreateDBInstanceReadReplicaResponse

-- | <i>See:</i> <a>createDBInstanceReadReplicaResponse</a> smart
--   constructor.
data CreateDBInstanceReadReplicaResponse

-- | Undocumented member.
cdirrrsDBInstance :: Lens' CreateDBInstanceReadReplicaResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdirrrsResponseStatus :: Lens' CreateDBInstanceReadReplicaResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplicaResponse
instance Data.Data.Data Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplicaResponse
instance GHC.Show.Show Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplicaResponse
instance GHC.Read.Read Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplicaResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplicaResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance Data.Data.Data Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance GHC.Show.Show Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance GHC.Read.Read Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplicaResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateDBInstanceReadReplica.CreateDBInstanceReadReplica


-- | Creates a new DB instance.
module Network.AWS.RDS.CreateDBInstance

-- | Creates a value of <a>CreateDBInstance</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdiEngineVersion</a> - The version number of the database
--   engine to use. The following are the database engines and major and
--   minor versions that are available with Amazon RDS. Not every database
--   engine is available for every AWS Region. <b>Amazon Aurora</b> Not
--   applicable. The version number of the database engine to be used by
--   the DB instance is managed by the DB cluster. For more information,
--   see <tt>CreateDBCluster</tt> . <b>MariaDB</b> * <tt>10.2.12</tt>
--   (supported in all AWS Regions) * <tt>10.2.11</tt> (supported in all
--   AWS Regions) * <tt>10.1.31</tt> (supported in all AWS Regions) *
--   <tt>10.1.26</tt> (supported in all AWS Regions) * <tt>10.1.23</tt>
--   (supported in all AWS Regions) * <tt>10.1.19</tt> (supported in all
--   AWS Regions) * <tt>10.1.14</tt> (supported in all AWS Regions except
--   us-east-2) * <tt>10.0.34</tt> (supported in all AWS Regions) *
--   <tt>10.0.32</tt> (supported in all AWS Regions) * <tt>10.0.31</tt>
--   (supported in all AWS Regions) * <tt>10.0.28</tt> (supported in all
--   AWS Regions) * <tt>10.0.24</tt> (supported in all AWS Regions) *
--   <tt>10.0.17</tt> (supported in all AWS Regions except us-east-2,
--   ca-central-1, eu-west-2) <b>Microsoft SQL Server 2017</b> *
--   <tt>14.00.1000.169.v1</tt> (supported for all editions, and all AWS
--   Regions) <b>Microsoft SQL Server 2016</b> * <tt>13.00.4451.0.v1</tt>
--   (supported for all editions, and all AWS Regions) *
--   <tt>13.00.4422.0.v1</tt> (supported for all editions, and all AWS
--   Regions) * <tt>13.00.2164.0.v1</tt> (supported for all editions, and
--   all AWS Regions) <b>Microsoft SQL Server 2014</b> *
--   <tt>12.00.5546.0.v1</tt> (supported for all editions, and all AWS
--   Regions) * <tt>12.00.5000.0.v1</tt> (supported for all editions, and
--   all AWS Regions) * <tt>12.00.4422.0.v1</tt> (supported for all
--   editions except Enterprise Edition, and all AWS Regions except
--   ca-central-1 and eu-west-2) <b>Microsoft SQL Server 2012</b> *
--   <tt>11.00.6594.0.v1</tt> (supported for all editions, and all AWS
--   Regions) * <tt>11.00.6020.0.v1</tt> (supported for all editions, and
--   all AWS Regions) * <tt>11.00.5058.0.v1</tt> (supported for all
--   editions, and all AWS Regions except us-east-2, ca-central-1, and
--   eu-west-2) * <tt>11.00.2100.60.v1</tt> (supported for all editions,
--   and all AWS Regions except us-east-2, ca-central-1, and eu-west-2)
--   <b>Microsoft SQL Server 2008 R2</b> * <tt>10.50.6529.0.v1</tt>
--   (supported for all editions, and all AWS Regions except us-east-2,
--   ca-central-1, and eu-west-2) * <tt>10.50.6000.34.v1</tt> (supported
--   for all editions, and all AWS Regions except us-east-2, ca-central-1,
--   and eu-west-2) * <tt>10.50.2789.0.v1</tt> (supported for all editions,
--   and all AWS Regions except us-east-2, ca-central-1, and eu-west-2)
--   <b>MySQL</b> * <tt>5.7.21</tt> (supported in all AWS regions) *
--   <tt>5.7.19</tt> (supported in all AWS regions) * <tt>5.7.17</tt>
--   (supported in all AWS regions) * <tt>5.7.16</tt> (supported in all AWS
--   regions) * <tt>5.6.39</tt> (supported in all AWS Regions) *
--   <tt>5.6.37</tt> (supported in all AWS Regions) * <tt>5.6.35</tt>
--   (supported in all AWS Regions) * <tt>5.6.34</tt> (supported in all AWS
--   Regions) * <tt>5.6.29</tt> (supported in all AWS Regions) *
--   <tt>5.6.27</tt> (supported in all AWS Regions except us-east-2,
--   ca-central-1, eu-west-2) * <tt>5.5.59</tt> (supported in all AWS
--   Regions) * <tt>5.5.57</tt> (supported in all AWS Regions) *
--   <tt>5.5.54</tt> (supported in all AWS Regions) * <tt>5.5.53</tt>
--   (supported in all AWS Regions) * <tt>5.5.46</tt> (supported in all AWS
--   Regions) <b>Oracle 12c</b> * <tt>12.1.0.2.v9</tt> (supported for EE in
--   all AWS regions, and SE2 in all AWS regions except us-gov-west-1) *
--   <tt>12.1.0.2.v8</tt> (supported for EE in all AWS regions, and SE2 in
--   all AWS regions except us-gov-west-1) * <tt>12.1.0.2.v7</tt>
--   (supported for EE in all AWS regions, and SE2 in all AWS regions
--   except us-gov-west-1) * <tt>12.1.0.2.v6</tt> (supported for EE in all
--   AWS regions, and SE2 in all AWS regions except us-gov-west-1) *
--   <tt>12.1.0.2.v5</tt> (supported for EE in all AWS regions, and SE2 in
--   all AWS regions except us-gov-west-1) * <tt>12.1.0.2.v4</tt>
--   (supported for EE in all AWS regions, and SE2 in all AWS regions
--   except us-gov-west-1) * <tt>12.1.0.2.v3</tt> (supported for EE in all
--   AWS regions, and SE2 in all AWS regions except us-gov-west-1) *
--   <tt>12.1.0.2.v2</tt> (supported for EE in all AWS regions, and SE2 in
--   all AWS regions except us-gov-west-1) * <tt>12.1.0.2.v1</tt>
--   (supported for EE in all AWS regions, and SE2 in all AWS regions
--   except us-gov-west-1) <b>Oracle 11g</b> * <tt>11.2.0.4.v13</tt>
--   (supported for EE, SE1, and SE, in all AWS regions) *
--   <tt>11.2.0.4.v12</tt> (supported for EE, SE1, and SE, in all AWS
--   regions) * <tt>11.2.0.4.v11</tt> (supported for EE, SE1, and SE, in
--   all AWS regions) * <tt>11.2.0.4.v10</tt> (supported for EE, SE1, and
--   SE, in all AWS regions) * <tt>11.2.0.4.v9</tt> (supported for EE, SE1,
--   and SE, in all AWS regions) * <tt>11.2.0.4.v8</tt> (supported for EE,
--   SE1, and SE, in all AWS regions) * <tt>11.2.0.4.v7</tt> (supported for
--   EE, SE1, and SE, in all AWS regions) * <tt>11.2.0.4.v6</tt> (supported
--   for EE, SE1, and SE, in all AWS regions) * <tt>11.2.0.4.v5</tt>
--   (supported for EE, SE1, and SE, in all AWS regions) *
--   <tt>11.2.0.4.v4</tt> (supported for EE, SE1, and SE, in all AWS
--   regions) * <tt>11.2.0.4.v3</tt> (supported for EE, SE1, and SE, in all
--   AWS regions) * <tt>11.2.0.4.v1</tt> (supported for EE, SE1, and SE, in
--   all AWS regions) <b>PostgreSQL</b> * <b>Version 10.1</b> * <b>Version
--   9.6.x:</b> <tt>9.6.6 | 9.6.5 | 9.6.3 | 9.6.2 | 9.6.1</tt> * <b>Version
--   9.5.x:</b> <tt>9.5.9 | 9.5.7 | 9.5.6 | 9.5.4 | 9.5.2</tt> * <b>Version
--   9.4.x:</b> <tt>9.4.14 | 9.4.12 | 9.4.11 | 9.4.9 | 9.4.7</tt> *
--   <b>Version 9.3.x:</b> <tt>9.3.19 | 9.3.17 | 9.3.16 | 9.3.14 |
--   9.3.12</tt></li>
--   <li><a>cdiDBSecurityGroups</a> - A list of DB security groups to
--   associate with this DB instance. Default: The default DB security
--   group for the database engine.</li>
--   <li><a>cdiStorageEncrypted</a> - Specifies whether the DB instance is
--   encrypted. <b>Amazon Aurora</b> Not applicable. The encryption for DB
--   instances is managed by the DB cluster. For more information, see
--   <tt>CreateDBCluster</tt> . Default: false</li>
--   <li><a>cdiDBClusterIdentifier</a> - The identifier of the DB cluster
--   that the instance will belong to. For information on creating a DB
--   cluster, see <tt>CreateDBCluster</tt> . Type: String</li>
--   <li><a>cdiMasterUserPassword</a> - The password for the master user.
--   The password can include any printable ASCII character except "/",
--   """, or "@". <b>Amazon Aurora</b> Not applicable. The password for the
--   master user is managed by the DB cluster. For more information, see
--   <tt>CreateDBCluster</tt> . <b>MariaDB</b> Constraints: Must contain
--   from 8 to 41 characters. <b>Microsoft SQL Server</b> Constraints: Must
--   contain from 8 to 128 characters. <b>MySQL</b> Constraints: Must
--   contain from 8 to 41 characters. <b>Oracle</b> Constraints: Must
--   contain from 8 to 30 characters. <b>PostgreSQL</b> Constraints: Must
--   contain from 8 to 128 characters.</li>
--   <li><a>cdiPubliclyAccessible</a> - 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. Default: The
--   default behavior varies depending on whether a VPC has been requested
--   or not. The following list shows the default behavior in each case. *
--   <b>Default VPC:</b> true * <b>VPC:</b> false If no DB subnet group has
--   been specified as part of the request and the PubliclyAccessible value
--   has not been set, the DB instance is publicly accessible. If a
--   specific DB subnet group has been specified as part of the request and
--   the PubliclyAccessible value has not been set, the DB instance is
--   private.</li>
--   <li><a>cdiAutoMinorVersionUpgrade</a> - Indicates that minor engine
--   upgrades are applied automatically to the DB instance during the
--   maintenance window. Default: <tt>true</tt></li>
--   <li><a>cdiMasterUsername</a> - The name for the master user. <b>Amazon
--   Aurora</b> Not applicable. The name for the master user is managed by
--   the DB cluster. For more information, see <tt>CreateDBCluster</tt> .
--   <b>MariaDB</b> Constraints: * Required for MariaDB. * Must be 1 to 16
--   letters or numbers. * Cannot be a reserved word for the chosen
--   database engine. <b>Microsoft SQL Server</b> Constraints: * Required
--   for SQL Server. * Must be 1 to 128 letters or numbers. * The first
--   character must be a letter. * Cannot be a reserved word for the chosen
--   database engine. <b>MySQL</b> Constraints: * Required for MySQL. *
--   Must be 1 to 16 letters or numbers. * First character must be a
--   letter. * Cannot be a reserved word for the chosen database engine.
--   <b>Oracle</b> Constraints: * Required for Oracle. * Must be 1 to 30
--   letters or numbers. * First character must be a letter. * Cannot be a
--   reserved word for the chosen database engine. <b>PostgreSQL</b>
--   Constraints: * Required for PostgreSQL. * Must be 1 to 63 letters or
--   numbers. * First character must be a letter. * Cannot be a reserved
--   word for the chosen database engine.</li>
--   <li><a>cdiDBSubnetGroupName</a> - A DB subnet group to associate with
--   this DB instance. If there is no DB subnet group, then it is a non-VPC
--   DB instance.</li>
--   <li><a>cdiMonitoringRoleARN</a> - The ARN for the IAM role that
--   permits RDS to send enhanced monitoring metrics to Amazon CloudWatch
--   Logs. For example, <tt>arn:aws:iam:123456789012:role/emaccess</tt> .
--   For information on creating a monitoring role, go to <a>Setting Up and
--   Enabling Enhanced Monitoring</a> . If <tt>MonitoringInterval</tt> is
--   set to a value other than 0, then you must supply a
--   <tt>MonitoringRoleArn</tt> value.</li>
--   <li><a>cdiIOPS</a> - The amount of Provisioned IOPS (input<i>output
--   operations per second) to be initially allocated for the DB instance.
--   For information about valid Iops values, see see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AmazonRDS<i>latest</i>UserGuide/CHAP_Storage.html#USER_PIOPS
--   Amazon RDS Provisioned IOPS Storage to Improve Performance&gt; .
--   Constraints: Must be a multiple between 1 and 50 of the storage amount
--   for the DB instance. Must also be an integer multiple of 1000. For
--   example, if the size of your DB instance is 500 GiB, then your
--   <tt>Iops</tt> value can be 2000, 3000, 4000, or 5000.</li>
--   <li><a>cdiDomain</a> - Specify the Active Directory Domain to create
--   the instance in.</li>
--   <li><a>cdiMonitoringInterval</a> - The interval, in seconds, between
--   points when Enhanced Monitoring metrics are collected for the DB
--   instance. To disable collecting Enhanced Monitoring metrics, specify
--   0. The default is 0. If <tt>MonitoringRoleArn</tt> is specified, then
--   you must also set <tt>MonitoringInterval</tt> to a value other than 0.
--   Valid Values: <tt>0, 1, 5, 10, 15, 30, 60</tt></li>
--   <li><a>cdiTDECredentialPassword</a> - The password for the given ARN
--   from the key store in order to access the device.</li>
--   <li><a>cdiPromotionTier</a> - A value that specifies the order in
--   which an Aurora Replica is promoted to the primary instance after a
--   failure of the existing primary instance. For more information, see
--   <a>Fault Tolerance for an Aurora DB Cluster</a> . Default: 1 Valid
--   Values: 0 - 15</li>
--   <li><a>cdiLicenseModel</a> - License model information for this DB
--   instance. Valid values: <tt>license-included</tt> |
--   <tt>bring-your-own-license</tt> | <tt>general-public-license</tt></li>
--   <li><a>cdiPreferredMaintenanceWindow</a> - The time range each week
--   during which system maintenance can occur, in Universal Coordinated
--   Time (UTC). For more information, see <a>Amazon RDS Maintenance
--   Window</a> . Format: <tt>ddd:hh24:mi-ddd:hh24:mi</tt> The default is a
--   30-minute window selected at random from an 8-hour block of time for
--   each AWS Region, occurring on a random day of the week. Valid Days:
--   Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute
--   window.</li>
--   <li><a>cdiCharacterSetName</a> - For supported engines, indicates that
--   the DB instance should be associated with the specified CharacterSet.
--   <b>Amazon Aurora</b> Not applicable. The character set is managed by
--   the DB cluster. For more information, see <tt>CreateDBCluster</tt>
--   .</li>
--   <li><a>cdiEnablePerformanceInsights</a> - True to enable Performance
--   Insights for the DB instance, and otherwise false.</li>
--   <li><a>cdiKMSKeyId</a> - The AWS KMS key identifier for an encrypted
--   DB instance. The KMS key identifier is the Amazon Resource Name (ARN)
--   for the KMS encryption key. If you are creating a DB instance with the
--   same AWS account that owns the KMS encryption key used to encrypt the
--   new DB instance, then you can use the KMS key alias instead of the ARN
--   for the KM encryption key. <b>Amazon Aurora</b> Not applicable. The
--   KMS key identifier is managed by the DB cluster. For more information,
--   see <tt>CreateDBCluster</tt> . If the <tt>StorageEncrypted</tt>
--   parameter is true, and you do not specify a value for the
--   <tt>KmsKeyId</tt> parameter, then Amazon RDS will use your default
--   encryption key. AWS KMS creates the default encryption key for your
--   AWS account. Your AWS account has a different default encryption key
--   for each AWS Region.</li>
--   <li><a>cdiDBParameterGroupName</a> - The name of the DB parameter
--   group to associate with this DB instance. If this argument is omitted,
--   the default DBParameterGroup for the specified engine is used.
--   Constraints: * Must be 1 to 255 letters, numbers, or hyphens. * First
--   character must be a letter * Cannot end with a hyphen or contain two
--   consecutive hyphens</li>
--   <li><a>cdiPreferredBackupWindow</a> - The daily time range during
--   which automated backups are created if automated backups are enabled,
--   using the <tt>BackupRetentionPeriod</tt> parameter. For more
--   information, see <a>The Backup Window</a> . <b>Amazon Aurora</b> Not
--   applicable. The daily time range for creating automated backups is
--   managed by the DB cluster. For more information, see
--   <tt>CreateDBCluster</tt> . The default is a 30-minute window selected
--   at random from an 8-hour block of time for each AWS Region. To see the
--   time blocks available, see <a>Adjusting the Preferred DB Instance
--   Maintenance Window</a> . Constraints: * Must be in the format
--   <tt>hh24:mi-hh24:mi</tt> . * Must be in Universal Coordinated Time
--   (UTC). * Must not conflict with the preferred maintenance window. *
--   Must be at least 30 minutes.</li>
--   <li><a>cdiAvailabilityZone</a> - The EC2 Availability Zone that the DB
--   instance is created in. For information on AWS Regions and
--   Availability Zones, see <a>Regions and Availability Zones</a> .
--   Default: A random, system-chosen Availability Zone in the endpoint's
--   AWS Region. Example: <tt>us-east-1d</tt> Constraint: The
--   AvailabilityZone parameter can't be specified if the MultiAZ parameter
--   is set to <tt>true</tt> . The specified Availability Zone must be in
--   the same AWS Region as the current endpoint.</li>
--   <li><a>cdiBackupRetentionPeriod</a> - The number of days for which
--   automated backups are retained. Setting this parameter to a positive
--   number enables backups. Setting this parameter to 0 disables automated
--   backups. <b>Amazon Aurora</b> Not applicable. The retention period for
--   automated backups is managed by the DB cluster. For more information,
--   see <tt>CreateDBCluster</tt> . Default: 1 Constraints: * Must be a
--   value from 0 to 35 * Cannot be set to 0 if the DB instance is a source
--   to Read Replicas</li>
--   <li><a>cdiPerformanceInsightsKMSKeyId</a> - The AWS KMS key identifier
--   for encryption of Performance Insights data. The KMS key ID is the
--   Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias
--   for the KMS encryption key.</li>
--   <li><a>cdiVPCSecurityGroupIds</a> - A list of EC2 VPC security groups
--   to associate with this DB instance. <b>Amazon Aurora</b> Not
--   applicable. The associated list of EC2 VPC security groups is managed
--   by the DB cluster. For more information, see <tt>CreateDBCluster</tt>
--   . Default: The default EC2 VPC security group for the DB subnet
--   group's VPC.</li>
--   <li><a>cdiMultiAZ</a> - Specifies if the DB instance is a Multi-AZ
--   deployment. You can't set the AvailabilityZone parameter if the
--   MultiAZ parameter is set to true.</li>
--   <li><a>cdiAllocatedStorage</a> - The amount of storage (in gibibytes)
--   to allocate for the DB instance. Type: Integer <b>Amazon Aurora</b>
--   Not applicable. Aurora cluster volumes automatically grow as the
--   amount of data in your database increases, though you are only charged
--   for the space that you use in an Aurora cluster volume. <b>MySQL</b>
--   Constraints to the amount of storage for each storage type are the
--   following: * General Purpose (SSD) storage (gp2): Must be an integer
--   from 20 to 16384. * Provisioned IOPS storage (io1): Must be an integer
--   from 100 to 16384. * Magnetic storage (standard): Must be an integer
--   from 5 to 3072. <b>MariaDB</b> Constraints to the amount of storage
--   for each storage type are the following: * General Purpose (SSD)
--   storage (gp2): Must be an integer from 20 to 16384. * Provisioned IOPS
--   storage (io1): Must be an integer from 100 to 16384. * Magnetic
--   storage (standard): Must be an integer from 5 to 3072.
--   <b>PostgreSQL</b> Constraints to the amount of storage for each
--   storage type are the following: * General Purpose (SSD) storage (gp2):
--   Must be an integer from 20 to 16384. * Provisioned IOPS storage (io1):
--   Must be an integer from 100 to 16384. * Magnetic storage (standard):
--   Must be an integer from 5 to 3072. <b>Oracle</b> Constraints to the
--   amount of storage for each storage type are the following: * General
--   Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384. *
--   Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
--   * Magnetic storage (standard): Must be an integer from 10 to 3072.
--   <b>SQL Server</b> Constraints to the amount of storage for each
--   storage type are the following: * General Purpose (SSD) storage (gp2):
--   * Enterprise and Standard editions: Must be an integer from 200 to
--   16384. * Web and Express editions: Must be an integer from 20 to
--   16384. * Provisioned IOPS storage (io1): * Enterprise and Standard
--   editions: Must be an integer from 200 to 16384. * Web and Express
--   editions: Must be an integer from 100 to 16384. * Magnetic storage
--   (standard): * Enterprise and Standard editions: Must be an integer
--   from 200 to 1024. * Web and Express editions: Must be an integer from
--   20 to 1024.</li>
--   <li><a>cdiOptionGroupName</a> - Indicates that the DB instance should
--   be associated with the specified option group. Permanent options, such
--   as the TDE option for Oracle Advanced Security TDE, can't be removed
--   from an option group, and that option group can't be removed from a DB
--   instance once it is associated with a DB instance</li>
--   <li><a>cdiCopyTagsToSnapshot</a> - True to copy all tags from the DB
--   instance to snapshots of the DB instance, and otherwise false. The
--   default is false.</li>
--   <li><a>cdiTimezone</a> - The time zone of the DB instance. The time
--   zone parameter is currently supported only by <a>Microsoft SQL
--   Server</a> .</li>
--   <li><a>cdiTDECredentialARN</a> - The ARN from the key store with which
--   to associate the instance for TDE encryption.</li>
--   <li><a>cdiDomainIAMRoleName</a> - Specify the name of the IAM role to
--   be used when making API calls to the Directory Service.</li>
--   <li><a>cdiTags</a> - Undocumented member.</li>
--   <li><a>cdiPort</a> - The port number on which the database accepts
--   connections. <b>MySQL</b> Default: <tt>3306</tt> Valid Values:
--   <tt>1150-65535</tt> Type: Integer <b>MariaDB</b> Default:
--   <tt>3306</tt> Valid Values: <tt>1150-65535</tt> Type: Integer
--   <b>PostgreSQL</b> Default: <tt>5432</tt> Valid Values:
--   <tt>1150-65535</tt> Type: Integer <b>Oracle</b> Default: <tt>1521</tt>
--   Valid Values: <tt>1150-65535</tt> <b>SQL Server</b> Default:
--   <tt>1433</tt> Valid Values: <tt>1150-65535</tt> except for
--   <tt>1434</tt> , <tt>3389</tt> , <tt>47001</tt> , <tt>49152</tt> , and
--   <tt>49152</tt> through <tt>49156</tt> . <b>Amazon Aurora</b> Default:
--   <tt>3306</tt> Valid Values: <tt>1150-65535</tt> Type: Integer</li>
--   <li><a>cdiEnableIAMDatabaseAuthentication</a> - True to enable mapping
--   of AWS Identity and Access Management (IAM) accounts to database
--   accounts, and otherwise false. You can enable IAM database
--   authentication for the following database engines: <b>Amazon
--   Aurora</b> Not applicable. Mapping AWS IAM accounts to database
--   accounts is managed by the DB cluster. For more information, see
--   <tt>CreateDBCluster</tt> . <b>MySQL</b> * For MySQL 5.6, minor version
--   5.6.34 or higher * For MySQL 5.7, minor version 5.7.16 or higher
--   Default: <tt>false</tt></li>
--   <li><a>cdiStorageType</a> - Specifies the storage type to be
--   associated with the DB instance. Valid values: <tt>standard | gp2 |
--   io1</tt> If you specify <tt>io1</tt> , you must also include a value
--   for the <tt>Iops</tt> parameter. Default: <tt>io1</tt> if the
--   <tt>Iops</tt> parameter is specified, otherwise <tt>standard</tt></li>
--   <li><a>cdiEnableCloudwatchLogsExports</a> - The list of log types that
--   need to be enabled for exporting to CloudWatch Logs.</li>
--   <li><a>cdiDBName</a> - The meaning of this parameter differs according
--   to the database engine you use. Type: String <b>MySQL</b> The name of
--   the database to create when the DB instance is created. If this
--   parameter is not specified, no database is created in the DB instance.
--   Constraints: * Must contain 1 to 64 letters or numbers. * Cannot be a
--   word reserved by the specified database engine <b>MariaDB</b> The name
--   of the database to create when the DB instance is created. If this
--   parameter is not specified, no database is created in the DB instance.
--   Constraints: * Must contain 1 to 64 letters or numbers. * Cannot be a
--   word reserved by the specified database engine <b>PostgreSQL</b> The
--   name of the database to create when the DB instance is created. If
--   this parameter is not specified, the default "postgres" database is
--   created in the DB instance. Constraints: * Must contain 1 to 63
--   letters, numbers, or underscores. * Must begin with a letter or an
--   underscore. Subsequent characters can be letters, underscores, or
--   digits (0-9). * Cannot be a word reserved by the specified database
--   engine <b>Oracle</b> The Oracle System ID (SID) of the created DB
--   instance. If you specify <tt>null</tt> , the default value
--   <tt>ORCL</tt> is used. You can't specify the string NULL, or any other
--   reserved word, for <tt>DBName</tt> . Default: <tt>ORCL</tt>
--   Constraints: * Cannot be longer than 8 characters <b>SQL Server</b>
--   Not applicable. Must be null. <b>Amazon Aurora</b> The name of the
--   database to create when the primary instance of the DB cluster is
--   created. If this parameter is not specified, no database is created in
--   the DB instance. Constraints: * Must contain 1 to 64 letters or
--   numbers. * Cannot be a word reserved by the specified database
--   engine</li>
--   <li><a>cdiDBInstanceIdentifier</a> - The DB instance identifier. This
--   parameter is stored as a lowercase string. Constraints: * Must contain
--   from 1 to 63 letters, numbers, or hyphens. * First character must be a
--   letter. * Cannot end with a hyphen or contain two consecutive hyphens.
--   Example: <tt>mydbinstance</tt></li>
--   <li><a>cdiDBInstanceClass</a> - The compute and memory capacity of the
--   DB instance, for example, <tt>db.m4.large</tt> . Not all DB instance
--   classes are available in all AWS Regions, or for all database engines.
--   For the full list of DB instance classes, and availability for your
--   engine, see <a>DB Instance Class</a> in the Amazon RDS User
--   Guide.</li>
--   <li><a>cdiEngine</a> - The name of the database engine to be used for
--   this instance. Not every database engine is available for every AWS
--   Region. Valid Values: * <tt>aurora</tt> (for MySQL 5.6-compatible
--   Aurora) * <tt>aurora-mysql</tt> (for MySQL 5.7-compatible Aurora) *
--   <tt>aurora-postgresql</tt> * <tt>mariadb</tt> * <tt>mysql</tt> *
--   <tt>oracle-ee</tt> * <tt>oracle-se2</tt> * <tt>oracle-se1</tt> *
--   <tt>oracle-se</tt> * <tt>postgres</tt> * <tt>sqlserver-ee</tt> *
--   <tt>sqlserver-se</tt> * <tt>sqlserver-ex</tt> *
--   <tt>sqlserver-web</tt></li>
--   </ul>
createDBInstance :: Text -> Text -> Text -> CreateDBInstance

-- | <i>See:</i> <a>createDBInstance</a> smart constructor.
data CreateDBInstance

-- | The version number of the database engine to use. The following are
--   the database engines and major and minor versions that are available
--   with Amazon RDS. Not every database engine is available for every AWS
--   Region. <b>Amazon Aurora</b> Not applicable. The version number of the
--   database engine to be used by the DB instance is managed by the DB
--   cluster. For more information, see <tt>CreateDBCluster</tt> .
--   <b>MariaDB</b> * <tt>10.2.12</tt> (supported in all AWS Regions) *
--   <tt>10.2.11</tt> (supported in all AWS Regions) * <tt>10.1.31</tt>
--   (supported in all AWS Regions) * <tt>10.1.26</tt> (supported in all
--   AWS Regions) * <tt>10.1.23</tt> (supported in all AWS Regions) *
--   <tt>10.1.19</tt> (supported in all AWS Regions) * <tt>10.1.14</tt>
--   (supported in all AWS Regions except us-east-2) * <tt>10.0.34</tt>
--   (supported in all AWS Regions) * <tt>10.0.32</tt> (supported in all
--   AWS Regions) * <tt>10.0.31</tt> (supported in all AWS Regions) *
--   <tt>10.0.28</tt> (supported in all AWS Regions) * <tt>10.0.24</tt>
--   (supported in all AWS Regions) * <tt>10.0.17</tt> (supported in all
--   AWS Regions except us-east-2, ca-central-1, eu-west-2) <b>Microsoft
--   SQL Server 2017</b> * <tt>14.00.1000.169.v1</tt> (supported for all
--   editions, and all AWS Regions) <b>Microsoft SQL Server 2016</b> *
--   <tt>13.00.4451.0.v1</tt> (supported for all editions, and all AWS
--   Regions) * <tt>13.00.4422.0.v1</tt> (supported for all editions, and
--   all AWS Regions) * <tt>13.00.2164.0.v1</tt> (supported for all
--   editions, and all AWS Regions) <b>Microsoft SQL Server 2014</b> *
--   <tt>12.00.5546.0.v1</tt> (supported for all editions, and all AWS
--   Regions) * <tt>12.00.5000.0.v1</tt> (supported for all editions, and
--   all AWS Regions) * <tt>12.00.4422.0.v1</tt> (supported for all
--   editions except Enterprise Edition, and all AWS Regions except
--   ca-central-1 and eu-west-2) <b>Microsoft SQL Server 2012</b> *
--   <tt>11.00.6594.0.v1</tt> (supported for all editions, and all AWS
--   Regions) * <tt>11.00.6020.0.v1</tt> (supported for all editions, and
--   all AWS Regions) * <tt>11.00.5058.0.v1</tt> (supported for all
--   editions, and all AWS Regions except us-east-2, ca-central-1, and
--   eu-west-2) * <tt>11.00.2100.60.v1</tt> (supported for all editions,
--   and all AWS Regions except us-east-2, ca-central-1, and eu-west-2)
--   <b>Microsoft SQL Server 2008 R2</b> * <tt>10.50.6529.0.v1</tt>
--   (supported for all editions, and all AWS Regions except us-east-2,
--   ca-central-1, and eu-west-2) * <tt>10.50.6000.34.v1</tt> (supported
--   for all editions, and all AWS Regions except us-east-2, ca-central-1,
--   and eu-west-2) * <tt>10.50.2789.0.v1</tt> (supported for all editions,
--   and all AWS Regions except us-east-2, ca-central-1, and eu-west-2)
--   <b>MySQL</b> * <tt>5.7.21</tt> (supported in all AWS regions) *
--   <tt>5.7.19</tt> (supported in all AWS regions) * <tt>5.7.17</tt>
--   (supported in all AWS regions) * <tt>5.7.16</tt> (supported in all AWS
--   regions) * <tt>5.6.39</tt> (supported in all AWS Regions) *
--   <tt>5.6.37</tt> (supported in all AWS Regions) * <tt>5.6.35</tt>
--   (supported in all AWS Regions) * <tt>5.6.34</tt> (supported in all AWS
--   Regions) * <tt>5.6.29</tt> (supported in all AWS Regions) *
--   <tt>5.6.27</tt> (supported in all AWS Regions except us-east-2,
--   ca-central-1, eu-west-2) * <tt>5.5.59</tt> (supported in all AWS
--   Regions) * <tt>5.5.57</tt> (supported in all AWS Regions) *
--   <tt>5.5.54</tt> (supported in all AWS Regions) * <tt>5.5.53</tt>
--   (supported in all AWS Regions) * <tt>5.5.46</tt> (supported in all AWS
--   Regions) <b>Oracle 12c</b> * <tt>12.1.0.2.v9</tt> (supported for EE in
--   all AWS regions, and SE2 in all AWS regions except us-gov-west-1) *
--   <tt>12.1.0.2.v8</tt> (supported for EE in all AWS regions, and SE2 in
--   all AWS regions except us-gov-west-1) * <tt>12.1.0.2.v7</tt>
--   (supported for EE in all AWS regions, and SE2 in all AWS regions
--   except us-gov-west-1) * <tt>12.1.0.2.v6</tt> (supported for EE in all
--   AWS regions, and SE2 in all AWS regions except us-gov-west-1) *
--   <tt>12.1.0.2.v5</tt> (supported for EE in all AWS regions, and SE2 in
--   all AWS regions except us-gov-west-1) * <tt>12.1.0.2.v4</tt>
--   (supported for EE in all AWS regions, and SE2 in all AWS regions
--   except us-gov-west-1) * <tt>12.1.0.2.v3</tt> (supported for EE in all
--   AWS regions, and SE2 in all AWS regions except us-gov-west-1) *
--   <tt>12.1.0.2.v2</tt> (supported for EE in all AWS regions, and SE2 in
--   all AWS regions except us-gov-west-1) * <tt>12.1.0.2.v1</tt>
--   (supported for EE in all AWS regions, and SE2 in all AWS regions
--   except us-gov-west-1) <b>Oracle 11g</b> * <tt>11.2.0.4.v13</tt>
--   (supported for EE, SE1, and SE, in all AWS regions) *
--   <tt>11.2.0.4.v12</tt> (supported for EE, SE1, and SE, in all AWS
--   regions) * <tt>11.2.0.4.v11</tt> (supported for EE, SE1, and SE, in
--   all AWS regions) * <tt>11.2.0.4.v10</tt> (supported for EE, SE1, and
--   SE, in all AWS regions) * <tt>11.2.0.4.v9</tt> (supported for EE, SE1,
--   and SE, in all AWS regions) * <tt>11.2.0.4.v8</tt> (supported for EE,
--   SE1, and SE, in all AWS regions) * <tt>11.2.0.4.v7</tt> (supported for
--   EE, SE1, and SE, in all AWS regions) * <tt>11.2.0.4.v6</tt> (supported
--   for EE, SE1, and SE, in all AWS regions) * <tt>11.2.0.4.v5</tt>
--   (supported for EE, SE1, and SE, in all AWS regions) *
--   <tt>11.2.0.4.v4</tt> (supported for EE, SE1, and SE, in all AWS
--   regions) * <tt>11.2.0.4.v3</tt> (supported for EE, SE1, and SE, in all
--   AWS regions) * <tt>11.2.0.4.v1</tt> (supported for EE, SE1, and SE, in
--   all AWS regions) <b>PostgreSQL</b> * <b>Version 10.1</b> * <b>Version
--   9.6.x:</b> <tt>9.6.6 | 9.6.5 | 9.6.3 | 9.6.2 | 9.6.1</tt> * <b>Version
--   9.5.x:</b> <tt>9.5.9 | 9.5.7 | 9.5.6 | 9.5.4 | 9.5.2</tt> * <b>Version
--   9.4.x:</b> <tt>9.4.14 | 9.4.12 | 9.4.11 | 9.4.9 | 9.4.7</tt> *
--   <b>Version 9.3.x:</b> <tt>9.3.19 | 9.3.17 | 9.3.16 | 9.3.14 |
--   9.3.12</tt>
cdiEngineVersion :: Lens' CreateDBInstance (Maybe Text)

-- | A list of DB security groups to associate with this DB instance.
--   Default: The default DB security group for the database engine.
cdiDBSecurityGroups :: Lens' CreateDBInstance [Text]

-- | Specifies whether the DB instance is encrypted. <b>Amazon Aurora</b>
--   Not applicable. The encryption for DB instances is managed by the DB
--   cluster. For more information, see <tt>CreateDBCluster</tt> . Default:
--   false
cdiStorageEncrypted :: Lens' CreateDBInstance (Maybe Bool)

-- | The identifier of the DB cluster that the instance will belong to. For
--   information on creating a DB cluster, see <tt>CreateDBCluster</tt> .
--   Type: String
cdiDBClusterIdentifier :: Lens' CreateDBInstance (Maybe Text)

-- | The password for the master user. The password can include any
--   printable ASCII character except "/", """, or "@". <b>Amazon
--   Aurora</b> Not applicable. The password for the master user is managed
--   by the DB cluster. For more information, see <tt>CreateDBCluster</tt>
--   . <b>MariaDB</b> Constraints: Must contain from 8 to 41 characters.
--   <b>Microsoft SQL Server</b> Constraints: Must contain from 8 to 128
--   characters. <b>MySQL</b> Constraints: Must contain from 8 to 41
--   characters. <b>Oracle</b> Constraints: Must contain from 8 to 30
--   characters. <b>PostgreSQL</b> Constraints: Must contain from 8 to 128
--   characters.
cdiMasterUserPassword :: Lens' CreateDBInstance (Maybe 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. Default: The default behavior varies depending on
--   whether a VPC has been requested or not. The following list shows the
--   default behavior in each case. * <b>Default VPC:</b> true *
--   <b>VPC:</b> false If no DB subnet group has been specified as part of
--   the request and the PubliclyAccessible value has not been set, the DB
--   instance is publicly accessible. If a specific DB subnet group has
--   been specified as part of the request and the PubliclyAccessible value
--   has not been set, the DB instance is private.
cdiPubliclyAccessible :: Lens' CreateDBInstance (Maybe Bool)

-- | Indicates that minor engine upgrades are applied automatically to the
--   DB instance during the maintenance window. Default: <tt>true</tt>
cdiAutoMinorVersionUpgrade :: Lens' CreateDBInstance (Maybe Bool)

-- | The name for the master user. <b>Amazon Aurora</b> Not applicable. The
--   name for the master user is managed by the DB cluster. For more
--   information, see <tt>CreateDBCluster</tt> . <b>MariaDB</b>
--   Constraints: * Required for MariaDB. * Must be 1 to 16 letters or
--   numbers. * Cannot be a reserved word for the chosen database engine.
--   <b>Microsoft SQL Server</b> Constraints: * Required for SQL Server. *
--   Must be 1 to 128 letters or numbers. * The first character must be a
--   letter. * Cannot be a reserved word for the chosen database engine.
--   <b>MySQL</b> Constraints: * Required for MySQL. * Must be 1 to 16
--   letters or numbers. * First character must be a letter. * Cannot be a
--   reserved word for the chosen database engine. <b>Oracle</b>
--   Constraints: * Required for Oracle. * Must be 1 to 30 letters or
--   numbers. * First character must be a letter. * Cannot be a reserved
--   word for the chosen database engine. <b>PostgreSQL</b> Constraints: *
--   Required for PostgreSQL. * Must be 1 to 63 letters or numbers. * First
--   character must be a letter. * Cannot be a reserved word for the chosen
--   database engine.
cdiMasterUsername :: Lens' CreateDBInstance (Maybe Text)

-- | A DB subnet group to associate with this DB instance. If there is no
--   DB subnet group, then it is a non-VPC DB instance.
cdiDBSubnetGroupName :: Lens' CreateDBInstance (Maybe Text)

-- | The ARN for the IAM role that permits RDS to send enhanced monitoring
--   metrics to Amazon CloudWatch Logs. For example,
--   <tt>arn:aws:iam:123456789012:role/emaccess</tt> . For information on
--   creating a monitoring role, go to <a>Setting Up and Enabling Enhanced
--   Monitoring</a> . If <tt>MonitoringInterval</tt> is set to a value
--   other than 0, then you must supply a <tt>MonitoringRoleArn</tt> value.
cdiMonitoringRoleARN :: Lens' CreateDBInstance (Maybe Text)

-- | The amount of Provisioned IOPS (input<i>output operations per second)
--   to be initially allocated for the DB instance. For information about
--   valid Iops values, see see
--   &lt;http:</i><i>docs.aws.amazon.com</i>AmazonRDS<i>latest</i>UserGuide/CHAP_Storage.html#USER_PIOPS
--   Amazon RDS Provisioned IOPS Storage to Improve Performance&gt; .
--   Constraints: Must be a multiple between 1 and 50 of the storage amount
--   for the DB instance. Must also be an integer multiple of 1000. For
--   example, if the size of your DB instance is 500 GiB, then your
--   <tt>Iops</tt> value can be 2000, 3000, 4000, or 5000.
cdiIOPS :: Lens' CreateDBInstance (Maybe Int)

-- | Specify the Active Directory Domain to create the instance in.
cdiDomain :: Lens' CreateDBInstance (Maybe Text)

-- | The interval, in seconds, between points when Enhanced Monitoring
--   metrics are collected for the DB instance. To disable collecting
--   Enhanced Monitoring metrics, specify 0. The default is 0. If
--   <tt>MonitoringRoleArn</tt> is specified, then you must also set
--   <tt>MonitoringInterval</tt> to a value other than 0. Valid Values:
--   <tt>0, 1, 5, 10, 15, 30, 60</tt>
cdiMonitoringInterval :: Lens' CreateDBInstance (Maybe Int)

-- | The password for the given ARN from the key store in order to access
--   the device.
cdiTDECredentialPassword :: Lens' CreateDBInstance (Maybe Text)

-- | A value that specifies the order in which an Aurora Replica is
--   promoted to the primary instance after a failure of the existing
--   primary instance. For more information, see <a>Fault Tolerance for an
--   Aurora DB Cluster</a> . Default: 1 Valid Values: 0 - 15
cdiPromotionTier :: Lens' CreateDBInstance (Maybe Int)

-- | License model information for this DB instance. Valid values:
--   <tt>license-included</tt> | <tt>bring-your-own-license</tt> |
--   <tt>general-public-license</tt>
cdiLicenseModel :: Lens' CreateDBInstance (Maybe Text)

-- | The time range each week during which system maintenance can occur, in
--   Universal Coordinated Time (UTC). For more information, see <a>Amazon
--   RDS Maintenance Window</a> . Format: <tt>ddd:hh24:mi-ddd:hh24:mi</tt>
--   The default is a 30-minute window selected at random from an 8-hour
--   block of time for each AWS Region, occurring on a random day of the
--   week. Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Constraints:
--   Minimum 30-minute window.
cdiPreferredMaintenanceWindow :: Lens' CreateDBInstance (Maybe Text)

-- | For supported engines, indicates that the DB instance should be
--   associated with the specified CharacterSet. <b>Amazon Aurora</b> Not
--   applicable. The character set is managed by the DB cluster. For more
--   information, see <tt>CreateDBCluster</tt> .
cdiCharacterSetName :: Lens' CreateDBInstance (Maybe Text)

-- | True to enable Performance Insights for the DB instance, and otherwise
--   false.
cdiEnablePerformanceInsights :: Lens' CreateDBInstance (Maybe Bool)

-- | The AWS KMS key identifier for an encrypted DB instance. The KMS key
--   identifier is the Amazon Resource Name (ARN) for the KMS encryption
--   key. If you are creating a DB instance with the same AWS account that
--   owns the KMS encryption key used to encrypt the new DB instance, then
--   you can use the KMS key alias instead of the ARN for the KM encryption
--   key. <b>Amazon Aurora</b> Not applicable. The KMS key identifier is
--   managed by the DB cluster. For more information, see
--   <tt>CreateDBCluster</tt> . If the <tt>StorageEncrypted</tt> parameter
--   is true, and you do not specify a value for the <tt>KmsKeyId</tt>
--   parameter, then Amazon RDS will use your default encryption key. AWS
--   KMS creates the default encryption key for your AWS account. Your AWS
--   account has a different default encryption key for each AWS Region.
cdiKMSKeyId :: Lens' CreateDBInstance (Maybe Text)

-- | The name of the DB parameter group to associate with this DB instance.
--   If this argument is omitted, the default DBParameterGroup for the
--   specified engine is used. Constraints: * Must be 1 to 255 letters,
--   numbers, or hyphens. * First character must be a letter * Cannot end
--   with a hyphen or contain two consecutive hyphens
cdiDBParameterGroupName :: Lens' CreateDBInstance (Maybe Text)

-- | The daily time range during which automated backups are created if
--   automated backups are enabled, using the
--   <tt>BackupRetentionPeriod</tt> parameter. For more information, see
--   <a>The Backup Window</a> . <b>Amazon Aurora</b> Not applicable. The
--   daily time range for creating automated backups is managed by the DB
--   cluster. For more information, see <tt>CreateDBCluster</tt> . The
--   default is a 30-minute window selected at random from an 8-hour block
--   of time for each AWS Region. To see the time blocks available, see
--   <a>Adjusting the Preferred DB Instance Maintenance Window</a> .
--   Constraints: * Must be in the format <tt>hh24:mi-hh24:mi</tt> . * Must
--   be in Universal Coordinated Time (UTC). * Must not conflict with the
--   preferred maintenance window. * Must be at least 30 minutes.
cdiPreferredBackupWindow :: Lens' CreateDBInstance (Maybe Text)

-- | The EC2 Availability Zone that the DB instance is created in. For
--   information on AWS Regions and Availability Zones, see <a>Regions and
--   Availability Zones</a> . Default: A random, system-chosen Availability
--   Zone in the endpoint's AWS Region. Example: <tt>us-east-1d</tt>
--   Constraint: The AvailabilityZone parameter can't be specified if the
--   MultiAZ parameter is set to <tt>true</tt> . The specified Availability
--   Zone must be in the same AWS Region as the current endpoint.
cdiAvailabilityZone :: Lens' CreateDBInstance (Maybe Text)

-- | The number of days for which automated backups are retained. Setting
--   this parameter to a positive number enables backups. Setting this
--   parameter to 0 disables automated backups. <b>Amazon Aurora</b> Not
--   applicable. The retention period for automated backups is managed by
--   the DB cluster. For more information, see <tt>CreateDBCluster</tt> .
--   Default: 1 Constraints: * Must be a value from 0 to 35 * Cannot be set
--   to 0 if the DB instance is a source to Read Replicas
cdiBackupRetentionPeriod :: Lens' CreateDBInstance (Maybe Int)

-- | The AWS KMS key identifier for encryption of Performance Insights
--   data. The KMS key ID is the Amazon Resource Name (ARN), KMS key
--   identifier, or the KMS key alias for the KMS encryption key.
cdiPerformanceInsightsKMSKeyId :: Lens' CreateDBInstance (Maybe Text)

-- | A list of EC2 VPC security groups to associate with this DB instance.
--   <b>Amazon Aurora</b> Not applicable. The associated list of EC2 VPC
--   security groups is managed by the DB cluster. For more information,
--   see <tt>CreateDBCluster</tt> . Default: The default EC2 VPC security
--   group for the DB subnet group's VPC.
cdiVPCSecurityGroupIds :: Lens' CreateDBInstance [Text]

-- | Specifies if the DB instance is a Multi-AZ deployment. You can't set
--   the AvailabilityZone parameter if the MultiAZ parameter is set to
--   true.
cdiMultiAZ :: Lens' CreateDBInstance (Maybe Bool)

-- | The amount of storage (in gibibytes) to allocate for the DB instance.
--   Type: Integer <b>Amazon Aurora</b> Not applicable. Aurora cluster
--   volumes automatically grow as the amount of data in your database
--   increases, though you are only charged for the space that you use in
--   an Aurora cluster volume. <b>MySQL</b> Constraints to the amount of
--   storage for each storage type are the following: * General Purpose
--   (SSD) storage (gp2): Must be an integer from 20 to 16384. *
--   Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
--   * Magnetic storage (standard): Must be an integer from 5 to 3072.
--   <b>MariaDB</b> Constraints to the amount of storage for each storage
--   type are the following: * General Purpose (SSD) storage (gp2): Must be
--   an integer from 20 to 16384. * Provisioned IOPS storage (io1): Must be
--   an integer from 100 to 16384. * Magnetic storage (standard): Must be
--   an integer from 5 to 3072. <b>PostgreSQL</b> Constraints to the amount
--   of storage for each storage type are the following: * General Purpose
--   (SSD) storage (gp2): Must be an integer from 20 to 16384. *
--   Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.
--   * Magnetic storage (standard): Must be an integer from 5 to 3072.
--   <b>Oracle</b> Constraints to the amount of storage for each storage
--   type are the following: * General Purpose (SSD) storage (gp2): Must be
--   an integer from 20 to 16384. * Provisioned IOPS storage (io1): Must be
--   an integer from 100 to 16384. * Magnetic storage (standard): Must be
--   an integer from 10 to 3072. <b>SQL Server</b> Constraints to the
--   amount of storage for each storage type are the following: * General
--   Purpose (SSD) storage (gp2): * Enterprise and Standard editions: Must
--   be an integer from 200 to 16384. * Web and Express editions: Must be
--   an integer from 20 to 16384. * Provisioned IOPS storage (io1): *
--   Enterprise and Standard editions: Must be an integer from 200 to
--   16384. * Web and Express editions: Must be an integer from 100 to
--   16384. * Magnetic storage (standard): * Enterprise and Standard
--   editions: Must be an integer from 200 to 1024. * Web and Express
--   editions: Must be an integer from 20 to 1024.
cdiAllocatedStorage :: Lens' CreateDBInstance (Maybe Int)

-- | Indicates that the DB instance should be associated with the specified
--   option group. Permanent options, such as the TDE option for Oracle
--   Advanced Security TDE, can't be removed from an option group, and that
--   option group can't be removed from a DB instance once it is associated
--   with a DB instance
cdiOptionGroupName :: Lens' CreateDBInstance (Maybe Text)

-- | True to copy all tags from the DB instance to snapshots of the DB
--   instance, and otherwise false. The default is false.
cdiCopyTagsToSnapshot :: Lens' CreateDBInstance (Maybe Bool)

-- | The time zone of the DB instance. The time zone parameter is currently
--   supported only by <a>Microsoft SQL Server</a> .
cdiTimezone :: Lens' CreateDBInstance (Maybe Text)

-- | The ARN from the key store with which to associate the instance for
--   TDE encryption.
cdiTDECredentialARN :: Lens' CreateDBInstance (Maybe Text)

-- | Specify the name of the IAM role to be used when making API calls to
--   the Directory Service.
cdiDomainIAMRoleName :: Lens' CreateDBInstance (Maybe Text)

-- | Undocumented member.
cdiTags :: Lens' CreateDBInstance [Tag]

-- | The port number on which the database accepts connections.
--   <b>MySQL</b> Default: <tt>3306</tt> Valid Values: <tt>1150-65535</tt>
--   Type: Integer <b>MariaDB</b> Default: <tt>3306</tt> Valid Values:
--   <tt>1150-65535</tt> Type: Integer <b>PostgreSQL</b> Default:
--   <tt>5432</tt> Valid Values: <tt>1150-65535</tt> Type: Integer
--   <b>Oracle</b> Default: <tt>1521</tt> Valid Values: <tt>1150-65535</tt>
--   <b>SQL Server</b> Default: <tt>1433</tt> Valid Values:
--   <tt>1150-65535</tt> except for <tt>1434</tt> , <tt>3389</tt> ,
--   <tt>47001</tt> , <tt>49152</tt> , and <tt>49152</tt> through
--   <tt>49156</tt> . <b>Amazon Aurora</b> Default: <tt>3306</tt> Valid
--   Values: <tt>1150-65535</tt> Type: Integer
cdiPort :: Lens' CreateDBInstance (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. You can enable IAM
--   database authentication for the following database engines: <b>Amazon
--   Aurora</b> Not applicable. Mapping AWS IAM accounts to database
--   accounts is managed by the DB cluster. For more information, see
--   <tt>CreateDBCluster</tt> . <b>MySQL</b> * For MySQL 5.6, minor version
--   5.6.34 or higher * For MySQL 5.7, minor version 5.7.16 or higher
--   Default: <tt>false</tt>
cdiEnableIAMDatabaseAuthentication :: Lens' CreateDBInstance (Maybe Bool)

-- | Specifies the storage type to be associated with the DB instance.
--   Valid values: <tt>standard | gp2 | io1</tt> If you specify
--   <tt>io1</tt> , you must also include a value for the <tt>Iops</tt>
--   parameter. Default: <tt>io1</tt> if the <tt>Iops</tt> parameter is
--   specified, otherwise <tt>standard</tt>
cdiStorageType :: Lens' CreateDBInstance (Maybe Text)

-- | The list of log types that need to be enabled for exporting to
--   CloudWatch Logs.
cdiEnableCloudwatchLogsExports :: Lens' CreateDBInstance [Text]

-- | The meaning of this parameter differs according to the database engine
--   you use. Type: String <b>MySQL</b> The name of the database to create
--   when the DB instance is created. If this parameter is not specified,
--   no database is created in the DB instance. Constraints: * Must contain
--   1 to 64 letters or numbers. * Cannot be a word reserved by the
--   specified database engine <b>MariaDB</b> The name of the database to
--   create when the DB instance is created. If this parameter is not
--   specified, no database is created in the DB instance. Constraints: *
--   Must contain 1 to 64 letters or numbers. * Cannot be a word reserved
--   by the specified database engine <b>PostgreSQL</b> The name of the
--   database to create when the DB instance is created. If this parameter
--   is not specified, the default "postgres" database is created in the DB
--   instance. Constraints: * Must contain 1 to 63 letters, numbers, or
--   underscores. * Must begin with a letter or an underscore. Subsequent
--   characters can be letters, underscores, or digits (0-9). * Cannot be a
--   word reserved by the specified database engine <b>Oracle</b> The
--   Oracle System ID (SID) of the created DB instance. If you specify
--   <tt>null</tt> , the default value <tt>ORCL</tt> is used. You can't
--   specify the string NULL, or any other reserved word, for
--   <tt>DBName</tt> . Default: <tt>ORCL</tt> Constraints: * Cannot be
--   longer than 8 characters <b>SQL Server</b> Not applicable. Must be
--   null. <b>Amazon Aurora</b> The name of the database to create when the
--   primary instance of the DB cluster is created. If this parameter is
--   not specified, no database is created in the DB instance. Constraints:
--   * Must contain 1 to 64 letters or numbers. * Cannot be a word reserved
--   by the specified database engine
cdiDBName :: Lens' CreateDBInstance (Maybe Text)

-- | The DB instance identifier. This parameter is stored as a lowercase
--   string. Constraints: * Must contain from 1 to 63 letters, numbers, or
--   hyphens. * First character must be a letter. * Cannot end with a
--   hyphen or contain two consecutive hyphens. Example:
--   <tt>mydbinstance</tt>
cdiDBInstanceIdentifier :: Lens' CreateDBInstance Text

-- | The compute and memory capacity of the DB instance, for example,
--   <tt>db.m4.large</tt> . Not all DB instance classes are available in
--   all AWS Regions, or for all database engines. For the full list of DB
--   instance classes, and availability for your engine, see <a>DB Instance
--   Class</a> in the Amazon RDS User Guide.
cdiDBInstanceClass :: Lens' CreateDBInstance Text

-- | The name of the database engine to be used for this instance. Not
--   every database engine is available for every AWS Region. Valid Values:
--   * <tt>aurora</tt> (for MySQL 5.6-compatible Aurora) *
--   <tt>aurora-mysql</tt> (for MySQL 5.7-compatible Aurora) *
--   <tt>aurora-postgresql</tt> * <tt>mariadb</tt> * <tt>mysql</tt> *
--   <tt>oracle-ee</tt> * <tt>oracle-se2</tt> * <tt>oracle-se1</tt> *
--   <tt>oracle-se</tt> * <tt>postgres</tt> * <tt>sqlserver-ee</tt> *
--   <tt>sqlserver-se</tt> * <tt>sqlserver-ex</tt> * <tt>sqlserver-web</tt>
cdiEngine :: Lens' CreateDBInstance Text

-- | Creates a value of <a>CreateDBInstanceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdirsDBInstance</a> - Undocumented member.</li>
--   <li><a>cdirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDBInstanceResponse :: Int -> CreateDBInstanceResponse

-- | <i>See:</i> <a>createDBInstanceResponse</a> smart constructor.
data CreateDBInstanceResponse

-- | Undocumented member.
cdirsDBInstance :: Lens' CreateDBInstanceResponse (Maybe DBInstance)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdirsResponseStatus :: Lens' CreateDBInstanceResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBInstance.CreateDBInstanceResponse
instance Data.Data.Data Network.AWS.RDS.CreateDBInstance.CreateDBInstanceResponse
instance GHC.Show.Show Network.AWS.RDS.CreateDBInstance.CreateDBInstanceResponse
instance GHC.Read.Read Network.AWS.RDS.CreateDBInstance.CreateDBInstanceResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBInstance.CreateDBInstanceResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance Data.Data.Data Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance GHC.Show.Show Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance GHC.Read.Read Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBInstance.CreateDBInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateDBInstance.CreateDBInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateDBInstance.CreateDBInstance


-- | Creates a snapshot of a DB cluster. For more information on Amazon
--   Aurora, see <a>Aurora on Amazon RDS</a> in the <i>Amazon RDS User
--   Guide.</i>
module Network.AWS.RDS.CreateDBClusterSnapshot

-- | Creates a value of <a>CreateDBClusterSnapshot</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcsTags</a> - The tags to be assigned to the DB cluster
--   snapshot.</li>
--   <li><a>cdcsDBClusterSnapshotIdentifier</a> - The identifier of the DB
--   cluster snapshot. This parameter is stored as a lowercase string.
--   Constraints: * Must contain from 1 to 63 letters, numbers, or hyphens.
--   * First character must be a letter. * Cannot end with a hyphen or
--   contain two consecutive hyphens. Example:
--   <tt>my-cluster1-snapshot1</tt></li>
--   <li><a>cdcsDBClusterIdentifier</a> - The identifier of the DB cluster
--   to create a snapshot for. This parameter is not case-sensitive.
--   Constraints: * Must match the identifier of an existing DBCluster.
--   Example: <tt>my-cluster1</tt></li>
--   </ul>
createDBClusterSnapshot :: Text -> Text -> CreateDBClusterSnapshot

-- | <i>See:</i> <a>createDBClusterSnapshot</a> smart constructor.
data CreateDBClusterSnapshot

-- | The tags to be assigned to the DB cluster snapshot.
cdcsTags :: Lens' CreateDBClusterSnapshot [Tag]

-- | The identifier of the DB cluster snapshot. This parameter is stored as
--   a lowercase string. Constraints: * Must contain from 1 to 63 letters,
--   numbers, or hyphens. * First character must be a letter. * Cannot end
--   with a hyphen or contain two consecutive hyphens. Example:
--   <tt>my-cluster1-snapshot1</tt>
cdcsDBClusterSnapshotIdentifier :: Lens' CreateDBClusterSnapshot Text

-- | The identifier of the DB cluster to create a snapshot for. This
--   parameter is not case-sensitive. Constraints: * Must match the
--   identifier of an existing DBCluster. Example: <tt>my-cluster1</tt>
cdcsDBClusterIdentifier :: Lens' CreateDBClusterSnapshot Text

-- | Creates a value of <a>CreateDBClusterSnapshotResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbcsrsDBClusterSnapshot</a> - Undocumented member.</li>
--   <li><a>cdbcsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDBClusterSnapshotResponse :: Int -> CreateDBClusterSnapshotResponse

-- | <i>See:</i> <a>createDBClusterSnapshotResponse</a> smart constructor.
data CreateDBClusterSnapshotResponse

-- | Undocumented member.
cdbcsrsDBClusterSnapshot :: Lens' CreateDBClusterSnapshotResponse (Maybe DBClusterSnapshot)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdbcsrsResponseStatus :: Lens' CreateDBClusterSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshotResponse
instance Data.Data.Data Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshotResponse
instance GHC.Show.Show Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshotResponse
instance GHC.Read.Read Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshotResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshotResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance Data.Data.Data Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance GHC.Show.Show Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance GHC.Read.Read Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateDBClusterSnapshot.CreateDBClusterSnapshot


-- | Creates a new DB cluster parameter group.
--   
--   Parameters in a DB cluster parameter group apply to all of the
--   instances in a DB cluster.
--   
--   A DB cluster parameter group is initially created with the default
--   parameters for the database engine used by instances in the DB
--   cluster. To provide custom values for any of the parameters, you must
--   modify the group after creating it using
--   <tt>ModifyDBClusterParameterGroup</tt> . Once you've created a DB
--   cluster parameter group, you need to associate it with your DB cluster
--   using <tt>ModifyDBCluster</tt> . When you associate a new DB cluster
--   parameter group with a running DB cluster, you need to reboot the DB
--   instances in the DB cluster without failover for the new DB cluster
--   parameter group and associated settings to take effect.
--   
--   <i>Important:</i> After you create a DB cluster parameter group, you
--   should wait at least 5 minutes before creating your first DB cluster
--   that uses that DB cluster parameter group as the default parameter
--   group. This allows Amazon RDS to fully complete the create action
--   before the DB cluster parameter group is used as the default for a new
--   DB cluster. This is especially important for parameters that are
--   critical when creating the default database for a DB cluster, such as
--   the character set for the default database defined by the
--   <tt>character_set_database</tt> parameter. You can use the
--   <i>Parameter Groups</i> option of the <a>Amazon RDS console</a> or the
--   <tt>DescribeDBClusterParameters</tt> command to verify that your DB
--   cluster parameter group has been created or modified.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.CreateDBClusterParameterGroup

-- | Creates a value of <a>CreateDBClusterParameterGroup</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcpgTags</a> - Undocumented member.</li>
--   <li><a>cdcpgDBClusterParameterGroupName</a> - The name of the DB
--   cluster parameter group. Constraints: * Must match the name of an
--   existing DBClusterParameterGroup.</li>
--   <li><a>cdcpgDBParameterGroupFamily</a> - The DB cluster parameter
--   group family name. A DB cluster parameter group can be associated with
--   one and only one DB cluster parameter group family, and can be applied
--   only to a DB cluster running a database engine and engine version
--   compatible with that DB cluster parameter group family. <b>Aurora
--   MySQL</b> Example: <tt>aurora5.6</tt> , <tt>aurora-mysql5.7</tt>
--   <b>Aurora PostgreSQL</b> Example: <tt>aurora-postgresql9.6</tt></li>
--   <li><a>cdcpgDescription</a> - The description for the DB cluster
--   parameter group.</li>
--   </ul>
createDBClusterParameterGroup :: Text -> Text -> Text -> CreateDBClusterParameterGroup

-- | <i>See:</i> <a>createDBClusterParameterGroup</a> smart constructor.
data CreateDBClusterParameterGroup

-- | Undocumented member.
cdcpgTags :: Lens' CreateDBClusterParameterGroup [Tag]

-- | The name of the DB cluster parameter group. Constraints: * Must match
--   the name of an existing DBClusterParameterGroup.
cdcpgDBClusterParameterGroupName :: Lens' CreateDBClusterParameterGroup Text

-- | The DB cluster parameter group family name. A DB cluster parameter
--   group can be associated with one and only one DB cluster parameter
--   group family, and can be applied only to a DB cluster running a
--   database engine and engine version compatible with that DB cluster
--   parameter group family. <b>Aurora MySQL</b> Example:
--   <tt>aurora5.6</tt> , <tt>aurora-mysql5.7</tt> <b>Aurora PostgreSQL</b>
--   Example: <tt>aurora-postgresql9.6</tt>
cdcpgDBParameterGroupFamily :: Lens' CreateDBClusterParameterGroup Text

-- | The description for the DB cluster parameter group.
cdcpgDescription :: Lens' CreateDBClusterParameterGroup Text

-- | Creates a value of <a>CreateDBClusterParameterGroupResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbcpgrsDBClusterParameterGroup</a> - Undocumented member.</li>
--   <li><a>cdbcpgrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
createDBClusterParameterGroupResponse :: Int -> CreateDBClusterParameterGroupResponse

-- | <i>See:</i> <a>createDBClusterParameterGroupResponse</a> smart
--   constructor.
data CreateDBClusterParameterGroupResponse

-- | Undocumented member.
cdbcpgrsDBClusterParameterGroup :: Lens' CreateDBClusterParameterGroupResponse (Maybe DBClusterParameterGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdbcpgrsResponseStatus :: Lens' CreateDBClusterParameterGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroupResponse
instance Data.Data.Data Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroupResponse
instance GHC.Show.Show Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroupResponse
instance GHC.Read.Read Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance Data.Data.Data Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance GHC.Show.Show Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance GHC.Read.Read Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateDBClusterParameterGroup.CreateDBClusterParameterGroup


-- | Creates a new Amazon Aurora DB cluster.
--   
--   You can use the <tt>ReplicationSourceIdentifier</tt> parameter to
--   create the DB cluster as a Read Replica of another DB cluster or
--   Amazon RDS MySQL DB instance. For cross-region replication where the
--   DB cluster identified by <tt>ReplicationSourceIdentifier</tt> is
--   encrypted, you must also specify the <tt>PreSignedUrl</tt> parameter.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.CreateDBCluster

-- | Creates a value of <a>CreateDBCluster</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcEngineVersion</a> - The version number of the database
--   engine to use. <b>Aurora MySQL</b> Example: <tt>5.6.10a</tt> ,
--   <tt>5.7.12</tt> <b>Aurora PostgreSQL</b> Example: <tt>9.6.3</tt></li>
--   <li><a>cdcStorageEncrypted</a> - Specifies whether the DB cluster is
--   encrypted.</li>
--   <li><a>cdcMasterUserPassword</a> - The password for the master
--   database user. This password can contain any printable ASCII character
--   except "/", """, or "@". Constraints: Must contain from 8 to 41
--   characters.</li>
--   <li><a>cdcReplicationSourceIdentifier</a> - The Amazon Resource Name
--   (ARN) of the source DB instance or DB cluster if this DB cluster is
--   created as a Read Replica.</li>
--   <li><a>cdcMasterUsername</a> - The name of the master user for the DB
--   cluster. Constraints: * Must be 1 to 16 letters or numbers. * First
--   character must be a letter. * Cannot be a reserved word for the chosen
--   database engine.</li>
--   <li><a>cdcDBSubnetGroupName</a> - A DB subnet group to associate with
--   this DB cluster. Constraints: Must match the name of an existing
--   DBSubnetGroup. Must not be default. Example:
--   <tt>mySubnetgroup</tt></li>
--   <li><a>cdcBacktrackWindow</a> - The target backtrack window, in
--   seconds. To disable backtracking, set this value to 0. Default: 0
--   Constraints: * If specified, this value must be set to a number from 0
--   to 259,200 (72 hours).</li>
--   <li><a>cdcPreSignedURL</a> - A URL that contains a Signature Version 4
--   signed request for the <tt>CreateDBCluster</tt> action to be called in
--   the source AWS Region where the DB cluster is replicated from. You
--   only need to specify <tt>PreSignedUrl</tt> when you are performing
--   cross-region replication from an encrypted DB cluster. The pre-signed
--   URL must be a valid request for the <tt>CreateDBCluster</tt> API
--   action that can be executed in the source AWS Region that contains the
--   encrypted DB cluster to be copied. The pre-signed URL request must
--   contain the following parameter values: * <tt>KmsKeyId</tt> - The AWS
--   KMS key identifier for the key to use to encrypt the copy of the DB
--   cluster in the destination AWS Region. This should refer to the same
--   KMS key for both the <tt>CreateDBCluster</tt> action that is called in
--   the destination AWS Region, and the action contained in the pre-signed
--   URL. * <tt>DestinationRegion</tt> - The name of the AWS Region that
--   Aurora Read Replica will be created in. *
--   <tt>ReplicationSourceIdentifier</tt> - The DB cluster identifier for
--   the encrypted DB cluster to be copied. This identifier must be in the
--   Amazon Resource Name (ARN) format for the source AWS Region. For
--   example, if you are copying an encrypted DB cluster from the us-west-2
--   AWS Region, then your <tt>ReplicationSourceIdentifier</tt> would look
--   like Example:
--   <tt>arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1</tt> .
--   To learn how to generate a Signature Version 4 signed request, see
--   <a>Authenticating Requests: Using Query Parameters (AWS Signature
--   Version 4)</a> and <a>Signature Version 4 Signing Process</a> .</li>
--   <li><a>cdcPreferredMaintenanceWindow</a> - The weekly time range
--   during which system maintenance can occur, in Universal Coordinated
--   Time (UTC). Format: <tt>ddd:hh24:mi-ddd:hh24:mi</tt> The default is a
--   30-minute window selected at random from an 8-hour block of time for
--   each AWS Region, occurring on a random day of the week. To see the
--   time blocks available, see <a>Adjusting the Preferred Maintenance
--   Window</a> in the <i>Amazon RDS User Guide.</i> Valid Days: Mon, Tue,
--   Wed, Thu, Fri, Sat, Sun. Constraints: Minimum 30-minute window.</li>
--   <li><a>cdcAvailabilityZones</a> - A list of EC2 Availability Zones
--   that instances in the DB cluster can be created in. For information on
--   AWS Regions and Availability Zones, see <a>Regions and Availability
--   Zones</a> .</li>
--   <li><a>cdcCharacterSetName</a> - A value that indicates that the DB
--   cluster should be associated with the specified CharacterSet.</li>
--   <li><a>cdcKMSKeyId</a> - The AWS KMS key identifier for an encrypted
--   DB cluster. The KMS key identifier is the Amazon Resource Name (ARN)
--   for the KMS encryption key. If you are creating a DB cluster with the
--   same AWS account that owns the KMS encryption key used to encrypt the
--   new DB cluster, then you can use the KMS key alias instead of the ARN
--   for the KMS encryption key. If an encryption key is not specified in
--   <tt>KmsKeyId</tt> : * If <tt>ReplicationSourceIdentifier</tt>
--   identifies an encrypted source, then Amazon RDS will use the
--   encryption key used to encrypt the source. Otherwise, Amazon RDS will
--   use your default encryption key. * If the <tt>StorageEncrypted</tt>
--   parameter is true and <tt>ReplicationSourceIdentifier</tt> is not
--   specified, then Amazon RDS will use your default encryption key. AWS
--   KMS creates the default encryption key for your AWS account. Your AWS
--   account has a different default encryption key for each AWS Region. If
--   you create a Read Replica of an encrypted DB cluster in another AWS
--   Region, you must set <tt>KmsKeyId</tt> to a KMS key ID that is valid
--   in the destination AWS Region. This key is used to encrypt the Read
--   Replica in that AWS Region.</li>
--   <li><a>cdcPreferredBackupWindow</a> - The daily time range during
--   which automated backups are created if automated backups are enabled
--   using the <tt>BackupRetentionPeriod</tt> parameter. The default is a
--   30-minute window selected at random from an 8-hour block of time for
--   each AWS Region. To see the time blocks available, see <a>Adjusting
--   the Preferred Maintenance Window</a> in the <i>Amazon RDS User
--   Guide.</i> Constraints: * Must be in the format
--   <tt>hh24:mi-hh24:mi</tt> . * Must be in Universal Coordinated Time
--   (UTC). * Must not conflict with the preferred maintenance window. *
--   Must be at least 30 minutes.</li>
--   <li><a>cdcBackupRetentionPeriod</a> - The number of days for which
--   automated backups are retained. You must specify a minimum value of 1.
--   Default: 1 Constraints: * Must be a value from 1 to 35</li>
--   <li><a>cdcVPCSecurityGroupIds</a> - A list of EC2 VPC security groups
--   to associate with this DB cluster.</li>
--   <li><a>cdcDatabaseName</a> - The name for your database of up to 64
--   alpha-numeric characters. If you do not provide a name, Amazon RDS
--   will not create a database in the DB cluster you are creating.</li>
--   <li><a>cdcDBClusterParameterGroupName</a> - The name of the DB cluster
--   parameter group to associate with this DB cluster. If this argument is
--   omitted, <tt>default.aurora5.6</tt> is used. Constraints: * If
--   supplied, must match the name of an existing
--   DBClusterParameterGroup.</li>
--   <li><a>cdcOptionGroupName</a> - A value that indicates that the DB
--   cluster should be associated with the specified option group.
--   Permanent options can't be removed from an option group. The option
--   group can't be removed from a DB cluster once it is associated with a
--   DB cluster.</li>
--   <li><a>cdcTags</a> - Undocumented member.</li>
--   <li><a>cdcPort</a> - The port number on which the instances in the DB
--   cluster accept connections. Default: <tt>3306</tt> if engine is set as
--   aurora or <tt>5432</tt> if set to aurora-postgresql.</li>
--   <li><a>cdcEnableIAMDatabaseAuthentication</a> - True to enable mapping
--   of AWS Identity and Access Management (IAM) accounts to database
--   accounts, and otherwise false. Default: <tt>false</tt></li>
--   <li><a>cdcDBClusterIdentifier</a> - The DB cluster identifier. This
--   parameter is stored as a lowercase string. Constraints: * Must contain
--   from 1 to 63 letters, numbers, or hyphens. * First character must be a
--   letter. * Cannot end with a hyphen or contain two consecutive hyphens.
--   Example: <tt>my-cluster1</tt></li>
--   <li><a>cdcEngine</a> - The name of the database engine to be used for
--   this DB cluster. Valid Values: <tt>aurora</tt> (for MySQL
--   5.6-compatible Aurora), <tt>aurora-mysql</tt> (for MySQL
--   5.7-compatible Aurora), and <tt>aurora-postgresql</tt></li>
--   </ul>
createDBCluster :: Text -> Text -> CreateDBCluster

-- | <i>See:</i> <a>createDBCluster</a> smart constructor.
data CreateDBCluster

-- | The version number of the database engine to use. <b>Aurora MySQL</b>
--   Example: <tt>5.6.10a</tt> , <tt>5.7.12</tt> <b>Aurora PostgreSQL</b>
--   Example: <tt>9.6.3</tt>
cdcEngineVersion :: Lens' CreateDBCluster (Maybe Text)

-- | Specifies whether the DB cluster is encrypted.
cdcStorageEncrypted :: Lens' CreateDBCluster (Maybe Bool)

-- | The password for the master database user. This password can contain
--   any printable ASCII character except "/", """, or "@". Constraints:
--   Must contain from 8 to 41 characters.
cdcMasterUserPassword :: Lens' CreateDBCluster (Maybe Text)

-- | The Amazon Resource Name (ARN) of the source DB instance or DB cluster
--   if this DB cluster is created as a Read Replica.
cdcReplicationSourceIdentifier :: Lens' CreateDBCluster (Maybe Text)

-- | The name of the master user for the DB cluster. Constraints: * Must be
--   1 to 16 letters or numbers. * First character must be a letter. *
--   Cannot be a reserved word for the chosen database engine.
cdcMasterUsername :: Lens' CreateDBCluster (Maybe Text)

-- | A DB subnet group to associate with this DB cluster. Constraints: Must
--   match the name of an existing DBSubnetGroup. Must not be default.
--   Example: <tt>mySubnetgroup</tt>
cdcDBSubnetGroupName :: Lens' CreateDBCluster (Maybe Text)

-- | The target backtrack window, in seconds. To disable backtracking, set
--   this value to 0. Default: 0 Constraints: * If specified, this value
--   must be set to a number from 0 to 259,200 (72 hours).
cdcBacktrackWindow :: Lens' CreateDBCluster (Maybe Integer)

-- | A URL that contains a Signature Version 4 signed request for the
--   <tt>CreateDBCluster</tt> action to be called in the source AWS Region
--   where the DB cluster is replicated from. You only need to specify
--   <tt>PreSignedUrl</tt> when you are performing cross-region replication
--   from an encrypted DB cluster. The pre-signed URL must be a valid
--   request for the <tt>CreateDBCluster</tt> API action that can be
--   executed in the source AWS Region that contains the encrypted DB
--   cluster to be copied. The pre-signed URL request must contain the
--   following parameter values: * <tt>KmsKeyId</tt> - The AWS KMS key
--   identifier for the key to use to encrypt the copy of the DB cluster in
--   the destination AWS Region. This should refer to the same KMS key for
--   both the <tt>CreateDBCluster</tt> action that is called in the
--   destination AWS Region, and the action contained in the pre-signed
--   URL. * <tt>DestinationRegion</tt> - The name of the AWS Region that
--   Aurora Read Replica will be created in. *
--   <tt>ReplicationSourceIdentifier</tt> - The DB cluster identifier for
--   the encrypted DB cluster to be copied. This identifier must be in the
--   Amazon Resource Name (ARN) format for the source AWS Region. For
--   example, if you are copying an encrypted DB cluster from the us-west-2
--   AWS Region, then your <tt>ReplicationSourceIdentifier</tt> would look
--   like Example:
--   <tt>arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1</tt> .
--   To learn how to generate a Signature Version 4 signed request, see
--   <a>Authenticating Requests: Using Query Parameters (AWS Signature
--   Version 4)</a> and <a>Signature Version 4 Signing Process</a> .
cdcPreSignedURL :: Lens' CreateDBCluster (Maybe Text)

-- | The weekly time range during which system maintenance can occur, in
--   Universal Coordinated Time (UTC). Format:
--   <tt>ddd:hh24:mi-ddd:hh24:mi</tt> The default is a 30-minute window
--   selected at random from an 8-hour block of time for each AWS Region,
--   occurring on a random day of the week. To see the time blocks
--   available, see <a>Adjusting the Preferred Maintenance Window</a> in
--   the <i>Amazon RDS User Guide.</i> Valid Days: Mon, Tue, Wed, Thu, Fri,
--   Sat, Sun. Constraints: Minimum 30-minute window.
cdcPreferredMaintenanceWindow :: Lens' CreateDBCluster (Maybe Text)

-- | A list of EC2 Availability Zones that instances in the DB cluster can
--   be created in. For information on AWS Regions and Availability Zones,
--   see <a>Regions and Availability Zones</a> .
cdcAvailabilityZones :: Lens' CreateDBCluster [Text]

-- | A value that indicates that the DB cluster should be associated with
--   the specified CharacterSet.
cdcCharacterSetName :: Lens' CreateDBCluster (Maybe Text)

-- | The AWS KMS key identifier for an encrypted DB cluster. The KMS key
--   identifier is the Amazon Resource Name (ARN) for the KMS encryption
--   key. If you are creating a DB cluster with the same AWS account that
--   owns the KMS encryption key used to encrypt the new DB cluster, then
--   you can use the KMS key alias instead of the ARN for the KMS
--   encryption key. If an encryption key is not specified in
--   <tt>KmsKeyId</tt> : * If <tt>ReplicationSourceIdentifier</tt>
--   identifies an encrypted source, then Amazon RDS will use the
--   encryption key used to encrypt the source. Otherwise, Amazon RDS will
--   use your default encryption key. * If the <tt>StorageEncrypted</tt>
--   parameter is true and <tt>ReplicationSourceIdentifier</tt> is not
--   specified, then Amazon RDS will use your default encryption key. AWS
--   KMS creates the default encryption key for your AWS account. Your AWS
--   account has a different default encryption key for each AWS Region. If
--   you create a Read Replica of an encrypted DB cluster in another AWS
--   Region, you must set <tt>KmsKeyId</tt> to a KMS key ID that is valid
--   in the destination AWS Region. This key is used to encrypt the Read
--   Replica in that AWS Region.
cdcKMSKeyId :: Lens' CreateDBCluster (Maybe Text)

-- | The daily time range during which automated backups are created if
--   automated backups are enabled using the <tt>BackupRetentionPeriod</tt>
--   parameter. The default is a 30-minute window selected at random from
--   an 8-hour block of time for each AWS Region. To see the time blocks
--   available, see <a>Adjusting the Preferred Maintenance Window</a> in
--   the <i>Amazon RDS User Guide.</i> Constraints: * Must be in the format
--   <tt>hh24:mi-hh24:mi</tt> . * Must be in Universal Coordinated Time
--   (UTC). * Must not conflict with the preferred maintenance window. *
--   Must be at least 30 minutes.
cdcPreferredBackupWindow :: Lens' CreateDBCluster (Maybe Text)

-- | The number of days for which automated backups are retained. You must
--   specify a minimum value of 1. Default: 1 Constraints: * Must be a
--   value from 1 to 35
cdcBackupRetentionPeriod :: Lens' CreateDBCluster (Maybe Int)

-- | A list of EC2 VPC security groups to associate with this DB cluster.
cdcVPCSecurityGroupIds :: Lens' CreateDBCluster [Text]

-- | The name for your database of up to 64 alpha-numeric characters. If
--   you do not provide a name, Amazon RDS will not create a database in
--   the DB cluster you are creating.
cdcDatabaseName :: Lens' CreateDBCluster (Maybe Text)

-- | The name of the DB cluster parameter group to associate with this DB
--   cluster. If this argument is omitted, <tt>default.aurora5.6</tt> is
--   used. Constraints: * If supplied, must match the name of an existing
--   DBClusterParameterGroup.
cdcDBClusterParameterGroupName :: Lens' CreateDBCluster (Maybe Text)

-- | A value that indicates that the DB cluster should be associated with
--   the specified option group. Permanent options can't be removed from an
--   option group. The option group can't be removed from a DB cluster once
--   it is associated with a DB cluster.
cdcOptionGroupName :: Lens' CreateDBCluster (Maybe Text)

-- | Undocumented member.
cdcTags :: Lens' CreateDBCluster [Tag]

-- | The port number on which the instances in the DB cluster accept
--   connections. Default: <tt>3306</tt> if engine is set as aurora or
--   <tt>5432</tt> if set to aurora-postgresql.
cdcPort :: Lens' CreateDBCluster (Maybe Int)

-- | True to enable mapping of AWS Identity and Access Management (IAM)
--   accounts to database accounts, and otherwise false. Default:
--   <tt>false</tt>
cdcEnableIAMDatabaseAuthentication :: Lens' CreateDBCluster (Maybe Bool)

-- | The DB cluster identifier. This parameter is stored as a lowercase
--   string. Constraints: * Must contain from 1 to 63 letters, numbers, or
--   hyphens. * First character must be a letter. * Cannot end with a
--   hyphen or contain two consecutive hyphens. Example:
--   <tt>my-cluster1</tt>
cdcDBClusterIdentifier :: Lens' CreateDBCluster Text

-- | The name of the database engine to be used for this DB cluster. Valid
--   Values: <tt>aurora</tt> (for MySQL 5.6-compatible Aurora),
--   <tt>aurora-mysql</tt> (for MySQL 5.7-compatible Aurora), and
--   <tt>aurora-postgresql</tt>
cdcEngine :: Lens' CreateDBCluster Text

-- | Creates a value of <a>CreateDBClusterResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcrsDBCluster</a> - Undocumented member.</li>
--   <li><a>cdcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDBClusterResponse :: Int -> CreateDBClusterResponse

-- | <i>See:</i> <a>createDBClusterResponse</a> smart constructor.
data CreateDBClusterResponse

-- | Undocumented member.
cdcrsDBCluster :: Lens' CreateDBClusterResponse (Maybe DBCluster)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdcrsResponseStatus :: Lens' CreateDBClusterResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBCluster.CreateDBClusterResponse
instance Data.Data.Data Network.AWS.RDS.CreateDBCluster.CreateDBClusterResponse
instance GHC.Show.Show Network.AWS.RDS.CreateDBCluster.CreateDBClusterResponse
instance GHC.Read.Read Network.AWS.RDS.CreateDBCluster.CreateDBClusterResponse
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBCluster.CreateDBClusterResponse
instance GHC.Generics.Generic Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance Data.Data.Data Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance GHC.Show.Show Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance GHC.Read.Read Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance GHC.Classes.Eq Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBCluster.CreateDBClusterResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CreateDBCluster.CreateDBCluster
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CreateDBCluster.CreateDBCluster


-- | Copies the specified option group.
module Network.AWS.RDS.CopyOptionGroup

-- | Creates a value of <a>CopyOptionGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cTags</a> - Undocumented member.</li>
--   <li><a>cSourceOptionGroupIdentifier</a> - The identifier or ARN for
--   the source option group. For information about creating an ARN, see
--   <a>Constructing an RDS Amazon Resource Name (ARN)</a> . Constraints: *
--   Must specify a valid option group. * If the source option group is in
--   the same AWS Region as the copy, specify a valid option group
--   identifier, for example <tt>my-option-group</tt> , or a valid ARN. *
--   If the source option group is in a different AWS Region than the copy,
--   specify a valid option group ARN, for example
--   <tt>arn:aws:rds:us-west-2:123456789012:og:special-options</tt> .</li>
--   <li><a>cTargetOptionGroupIdentifier</a> - The identifier for the
--   copied option group. Constraints: * Cannot be null, empty, or blank *
--   Must contain from 1 to 255 letters, numbers, or hyphens * First
--   character must be a letter * Cannot end with a hyphen or contain two
--   consecutive hyphens Example: <tt>my-option-group</tt></li>
--   <li><a>cTargetOptionGroupDescription</a> - The description for the
--   copied option group.</li>
--   </ul>
copyOptionGroup :: Text -> Text -> Text -> CopyOptionGroup

-- | <i>See:</i> <a>copyOptionGroup</a> smart constructor.
data CopyOptionGroup

-- | Undocumented member.
cTags :: Lens' CopyOptionGroup [Tag]

-- | The identifier or ARN for the source option group. For information
--   about creating an ARN, see <a>Constructing an RDS Amazon Resource Name
--   (ARN)</a> . Constraints: * Must specify a valid option group. * If the
--   source option group is in the same AWS Region as the copy, specify a
--   valid option group identifier, for example <tt>my-option-group</tt> ,
--   or a valid ARN. * If the source option group is in a different AWS
--   Region than the copy, specify a valid option group ARN, for example
--   <tt>arn:aws:rds:us-west-2:123456789012:og:special-options</tt> .
cSourceOptionGroupIdentifier :: Lens' CopyOptionGroup Text

-- | The identifier for the copied option group. Constraints: * Cannot be
--   null, empty, or blank * Must contain from 1 to 255 letters, numbers,
--   or hyphens * First character must be a letter * Cannot end with a
--   hyphen or contain two consecutive hyphens Example:
--   <tt>my-option-group</tt>
cTargetOptionGroupIdentifier :: Lens' CopyOptionGroup Text

-- | The description for the copied option group.
cTargetOptionGroupDescription :: Lens' CopyOptionGroup Text

-- | Creates a value of <a>CopyOptionGroupResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cogrsOptionGroup</a> - Undocumented member.</li>
--   <li><a>cogrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
copyOptionGroupResponse :: Int -> CopyOptionGroupResponse

-- | <i>See:</i> <a>copyOptionGroupResponse</a> smart constructor.
data CopyOptionGroupResponse

-- | Undocumented member.
cogrsOptionGroup :: Lens' CopyOptionGroupResponse (Maybe OptionGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cogrsResponseStatus :: Lens' CopyOptionGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CopyOptionGroup.CopyOptionGroupResponse
instance Data.Data.Data Network.AWS.RDS.CopyOptionGroup.CopyOptionGroupResponse
instance GHC.Show.Show Network.AWS.RDS.CopyOptionGroup.CopyOptionGroupResponse
instance GHC.Read.Read Network.AWS.RDS.CopyOptionGroup.CopyOptionGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.CopyOptionGroup.CopyOptionGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance Data.Data.Data Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance GHC.Show.Show Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance GHC.Read.Read Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance GHC.Classes.Eq Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyOptionGroup.CopyOptionGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CopyOptionGroup.CopyOptionGroup


-- | Copies the specified DB snapshot. The source DB snapshot must be in
--   the "available" state.
--   
--   You can copy a snapshot from one AWS Region to another. In that case,
--   the AWS Region where you call the <tt>CopyDBSnapshot</tt> action is
--   the destination AWS Region for the DB snapshot copy.
--   
--   For more information about copying snapshots, see <a>Copying a DB
--   Snapshot</a> in the Amazon RDS User Guide.
module Network.AWS.RDS.CopyDBSnapshot

-- | Creates a value of <a>CopyDBSnapshot</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdsPreSignedURL</a> - The URL that contains a Signature Version
--   4 signed request for the <tt>CopyDBSnapshot</tt> API action in the
--   source AWS Region that contains the source DB snapshot to copy. You
--   must specify this parameter when you copy an encrypted DB snapshot
--   from another AWS Region by using the Amazon RDS API. You can specify
--   the <tt>--source-region</tt> option instead of this parameter when you
--   copy an encrypted DB snapshot from another AWS Region by using the AWS
--   CLI. The presigned URL must be a valid request for the
--   <tt>CopyDBSnapshot</tt> API action that can be executed in the source
--   AWS Region that contains the encrypted DB snapshot to be copied. The
--   presigned URL request must contain the following parameter values: *
--   <tt>DestinationRegion</tt> - The AWS Region that the encrypted DB
--   snapshot is copied to. This AWS Region is the same one where the
--   <tt>CopyDBSnapshot</tt> action is called that contains this presigned
--   URL. For example, if you copy an encrypted DB snapshot from the
--   us-west-2 AWS Region to the us-east-1 AWS Region, then you call the
--   <tt>CopyDBSnapshot</tt> action in the us-east-1 AWS Region and provide
--   a presigned URL that contains a call to the <tt>CopyDBSnapshot</tt>
--   action in the us-west-2 AWS Region. For this example, the
--   <tt>DestinationRegion</tt> in the presigned URL must be set to the
--   us-east-1 AWS Region. * <tt>KmsKeyId</tt> - The AWS KMS key identifier
--   for the key to use to encrypt the copy of the DB snapshot in the
--   destination AWS Region. This is the same identifier for both the
--   <tt>CopyDBSnapshot</tt> action that is called in the destination AWS
--   Region, and the action contained in the presigned URL. *
--   <tt>SourceDBSnapshotIdentifier</tt> - The DB snapshot identifier for
--   the encrypted snapshot to be copied. This identifier must be in the
--   Amazon Resource Name (ARN) format for the source AWS Region. For
--   example, if you are copying an encrypted DB snapshot from the
--   us-west-2 AWS Region, then your <tt>SourceDBSnapshotIdentifier</tt>
--   looks like the following example:
--   <tt>arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115</tt>
--   . To learn how to generate a Signature Version 4 signed request, see
--   <a>Authenticating Requests: Using Query Parameters (AWS Signature
--   Version 4)</a> and <a>Signature Version 4 Signing Process</a> .</li>
--   <li><a>cdsCopyTags</a> - True to copy all tags from the source DB
--   snapshot to the target DB snapshot, and otherwise false. The default
--   is false.</li>
--   <li><a>cdsKMSKeyId</a> - The AWS KMS key ID for an encrypted DB
--   snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key
--   identifier, or the KMS key alias for the KMS encryption key. If you
--   copy an encrypted DB snapshot from your AWS account, you can specify a
--   value for this parameter to encrypt the copy with a new KMS encryption
--   key. If you don't specify a value for this parameter, then the copy of
--   the DB snapshot is encrypted with the same KMS key as the source DB
--   snapshot. If you copy an encrypted DB snapshot that is shared from
--   another AWS account, then you must specify a value for this parameter.
--   If you specify this parameter when you copy an unencrypted snapshot,
--   the copy is encrypted. If you copy an encrypted snapshot to a
--   different AWS Region, then you must specify a KMS key for the
--   destination AWS Region. KMS encryption keys are specific to the AWS
--   Region that they are created in, and you can't use encryption keys
--   from one AWS Region in another AWS Region.</li>
--   <li><a>cdsOptionGroupName</a> - The name of an option group to
--   associate with the copy of the snapshot. Specify this option if you
--   are copying a snapshot from one AWS Region to another, and your DB
--   instance uses a nondefault option group. If your source DB instance
--   uses Transparent Data Encryption for Oracle or Microsoft SQL Server,
--   you must specify this option when copying across AWS Regions. For more
--   information, see <a>Option Group Considerations</a> .</li>
--   <li><a>cdsTags</a> - Undocumented member.</li>
--   <li><a>cdsSourceDBSnapshotIdentifier</a> - The identifier for the
--   source DB snapshot. If the source snapshot is in the same AWS Region
--   as the copy, specify a valid DB snapshot identifier. For example, you
--   might specify <tt>rds:mysql-instance1-snapshot-20130805</tt> . If the
--   source snapshot is in a different AWS Region than the copy, specify a
--   valid DB snapshot ARN. For example, you might specify
--   <tt>arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805</tt>
--   . If you are copying from a shared manual DB snapshot, this parameter
--   must be the Amazon Resource Name (ARN) of the shared DB snapshot. If
--   you are copying an encrypted snapshot this parameter must be in the
--   ARN format for the source AWS Region, and must match the
--   <tt>SourceDBSnapshotIdentifier</tt> in the <tt>PreSignedUrl</tt>
--   parameter. Constraints: * Must specify a valid system snapshot in the
--   "available" state. Example: <tt>rds:mydb-2012-04-02-00-01</tt>
--   Example:
--   <tt>arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805</tt></li>
--   <li><a>cdsTargetDBSnapshotIdentifier</a> - The identifier for the copy
--   of the snapshot. Constraints: * Cannot be null, empty, or blank * Must
--   contain from 1 to 255 letters, numbers, or hyphens * First character
--   must be a letter * Cannot end with a hyphen or contain two consecutive
--   hyphens Example: <tt>my-db-snapshot</tt></li>
--   </ul>
copyDBSnapshot :: Text -> Text -> CopyDBSnapshot

-- | <i>See:</i> <a>copyDBSnapshot</a> smart constructor.
data CopyDBSnapshot

-- | The URL that contains a Signature Version 4 signed request for the
--   <tt>CopyDBSnapshot</tt> API action in the source AWS Region that
--   contains the source DB snapshot to copy. You must specify this
--   parameter when you copy an encrypted DB snapshot from another AWS
--   Region by using the Amazon RDS API. You can specify the
--   <tt>--source-region</tt> option instead of this parameter when you
--   copy an encrypted DB snapshot from another AWS Region by using the AWS
--   CLI. The presigned URL must be a valid request for the
--   <tt>CopyDBSnapshot</tt> API action that can be executed in the source
--   AWS Region that contains the encrypted DB snapshot to be copied. The
--   presigned URL request must contain the following parameter values: *
--   <tt>DestinationRegion</tt> - The AWS Region that the encrypted DB
--   snapshot is copied to. This AWS Region is the same one where the
--   <tt>CopyDBSnapshot</tt> action is called that contains this presigned
--   URL. For example, if you copy an encrypted DB snapshot from the
--   us-west-2 AWS Region to the us-east-1 AWS Region, then you call the
--   <tt>CopyDBSnapshot</tt> action in the us-east-1 AWS Region and provide
--   a presigned URL that contains a call to the <tt>CopyDBSnapshot</tt>
--   action in the us-west-2 AWS Region. For this example, the
--   <tt>DestinationRegion</tt> in the presigned URL must be set to the
--   us-east-1 AWS Region. * <tt>KmsKeyId</tt> - The AWS KMS key identifier
--   for the key to use to encrypt the copy of the DB snapshot in the
--   destination AWS Region. This is the same identifier for both the
--   <tt>CopyDBSnapshot</tt> action that is called in the destination AWS
--   Region, and the action contained in the presigned URL. *
--   <tt>SourceDBSnapshotIdentifier</tt> - The DB snapshot identifier for
--   the encrypted snapshot to be copied. This identifier must be in the
--   Amazon Resource Name (ARN) format for the source AWS Region. For
--   example, if you are copying an encrypted DB snapshot from the
--   us-west-2 AWS Region, then your <tt>SourceDBSnapshotIdentifier</tt>
--   looks like the following example:
--   <tt>arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115</tt>
--   . To learn how to generate a Signature Version 4 signed request, see
--   <a>Authenticating Requests: Using Query Parameters (AWS Signature
--   Version 4)</a> and <a>Signature Version 4 Signing Process</a> .
cdsPreSignedURL :: Lens' CopyDBSnapshot (Maybe Text)

-- | True to copy all tags from the source DB snapshot to the target DB
--   snapshot, and otherwise false. The default is false.
cdsCopyTags :: Lens' CopyDBSnapshot (Maybe Bool)

-- | The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the
--   Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias
--   for the KMS encryption key. If you copy an encrypted DB snapshot from
--   your AWS account, you can specify a value for this parameter to
--   encrypt the copy with a new KMS encryption key. If you don't specify a
--   value for this parameter, then the copy of the DB snapshot is
--   encrypted with the same KMS key as the source DB snapshot. If you copy
--   an encrypted DB snapshot that is shared from another AWS account, then
--   you must specify a value for this parameter. If you specify this
--   parameter when you copy an unencrypted snapshot, the copy is
--   encrypted. If you copy an encrypted snapshot to a different AWS
--   Region, then you must specify a KMS key for the destination AWS
--   Region. KMS encryption keys are specific to the AWS Region that they
--   are created in, and you can't use encryption keys from one AWS Region
--   in another AWS Region.
cdsKMSKeyId :: Lens' CopyDBSnapshot (Maybe Text)

-- | The name of an option group to associate with the copy of the
--   snapshot. Specify this option if you are copying a snapshot from one
--   AWS Region to another, and your DB instance uses a nondefault option
--   group. If your source DB instance uses Transparent Data Encryption for
--   Oracle or Microsoft SQL Server, you must specify this option when
--   copying across AWS Regions. For more information, see <a>Option Group
--   Considerations</a> .
cdsOptionGroupName :: Lens' CopyDBSnapshot (Maybe Text)

-- | Undocumented member.
cdsTags :: Lens' CopyDBSnapshot [Tag]

-- | The identifier for the source DB snapshot. If the source snapshot is
--   in the same AWS Region as the copy, specify a valid DB snapshot
--   identifier. For example, you might specify
--   <tt>rds:mysql-instance1-snapshot-20130805</tt> . If the source
--   snapshot is in a different AWS Region than the copy, specify a valid
--   DB snapshot ARN. For example, you might specify
--   <tt>arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805</tt>
--   . If you are copying from a shared manual DB snapshot, this parameter
--   must be the Amazon Resource Name (ARN) of the shared DB snapshot. If
--   you are copying an encrypted snapshot this parameter must be in the
--   ARN format for the source AWS Region, and must match the
--   <tt>SourceDBSnapshotIdentifier</tt> in the <tt>PreSignedUrl</tt>
--   parameter. Constraints: * Must specify a valid system snapshot in the
--   "available" state. Example: <tt>rds:mydb-2012-04-02-00-01</tt>
--   Example:
--   <tt>arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805</tt>
cdsSourceDBSnapshotIdentifier :: Lens' CopyDBSnapshot Text

-- | The identifier for the copy of the snapshot. Constraints: * Cannot be
--   null, empty, or blank * Must contain from 1 to 255 letters, numbers,
--   or hyphens * First character must be a letter * Cannot end with a
--   hyphen or contain two consecutive hyphens Example:
--   <tt>my-db-snapshot</tt>
cdsTargetDBSnapshotIdentifier :: Lens' CopyDBSnapshot Text

-- | Creates a value of <a>CopyDBSnapshotResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdsrsDBSnapshot</a> - Undocumented member.</li>
--   <li><a>cdsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
copyDBSnapshotResponse :: Int -> CopyDBSnapshotResponse

-- | <i>See:</i> <a>copyDBSnapshotResponse</a> smart constructor.
data CopyDBSnapshotResponse

-- | Undocumented member.
cdsrsDBSnapshot :: Lens' CopyDBSnapshotResponse (Maybe DBSnapshot)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdsrsResponseStatus :: Lens' CopyDBSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshotResponse
instance Data.Data.Data Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshotResponse
instance GHC.Show.Show Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshotResponse
instance GHC.Read.Read Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshotResponse
instance GHC.Classes.Eq Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshotResponse
instance GHC.Generics.Generic Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance Data.Data.Data Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance GHC.Show.Show Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance GHC.Read.Read Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance GHC.Classes.Eq Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CopyDBSnapshot.CopyDBSnapshot


-- | Copies the specified DB parameter group.
module Network.AWS.RDS.CopyDBParameterGroup

-- | Creates a value of <a>CopyDBParameterGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdpgTags</a> - Undocumented member.</li>
--   <li><a>cdpgSourceDBParameterGroupIdentifier</a> - The identifier or
--   ARN for the source DB parameter group. For information about creating
--   an ARN, see <a>Constructing an RDS Amazon Resource Name (ARN)</a> .
--   Constraints: * Must specify a valid DB parameter group. * Must specify
--   a valid DB parameter group identifier, for example
--   <tt>my-db-param-group</tt> , or a valid ARN.</li>
--   <li><a>cdpgTargetDBParameterGroupIdentifier</a> - The identifier for
--   the copied DB parameter group. Constraints: * Cannot be null, empty,
--   or blank * Must contain from 1 to 255 letters, numbers, or hyphens *
--   First character must be a letter * Cannot end with a hyphen or contain
--   two consecutive hyphens Example: <tt>my-db-parameter-group</tt></li>
--   <li><a>cdpgTargetDBParameterGroupDescription</a> - A description for
--   the copied DB parameter group.</li>
--   </ul>
copyDBParameterGroup :: Text -> Text -> Text -> CopyDBParameterGroup

-- | <i>See:</i> <a>copyDBParameterGroup</a> smart constructor.
data CopyDBParameterGroup

-- | Undocumented member.
cdpgTags :: Lens' CopyDBParameterGroup [Tag]

-- | The identifier or ARN for the source DB parameter group. For
--   information about creating an ARN, see <a>Constructing an RDS Amazon
--   Resource Name (ARN)</a> . Constraints: * Must specify a valid DB
--   parameter group. * Must specify a valid DB parameter group identifier,
--   for example <tt>my-db-param-group</tt> , or a valid ARN.
cdpgSourceDBParameterGroupIdentifier :: Lens' CopyDBParameterGroup Text

-- | The identifier for the copied DB parameter group. Constraints: *
--   Cannot be null, empty, or blank * Must contain from 1 to 255 letters,
--   numbers, or hyphens * First character must be a letter * Cannot end
--   with a hyphen or contain two consecutive hyphens Example:
--   <tt>my-db-parameter-group</tt>
cdpgTargetDBParameterGroupIdentifier :: Lens' CopyDBParameterGroup Text

-- | A description for the copied DB parameter group.
cdpgTargetDBParameterGroupDescription :: Lens' CopyDBParameterGroup Text

-- | Creates a value of <a>CopyDBParameterGroupResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbpgrsDBParameterGroup</a> - Undocumented member.</li>
--   <li><a>cdbpgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
copyDBParameterGroupResponse :: Int -> CopyDBParameterGroupResponse

-- | <i>See:</i> <a>copyDBParameterGroupResponse</a> smart constructor.
data CopyDBParameterGroupResponse

-- | Undocumented member.
cdbpgrsDBParameterGroup :: Lens' CopyDBParameterGroupResponse (Maybe DBParameterGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdbpgrsResponseStatus :: Lens' CopyDBParameterGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroupResponse
instance Data.Data.Data Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroupResponse
instance GHC.Show.Show Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroupResponse
instance GHC.Read.Read Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance Data.Data.Data Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance GHC.Show.Show Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance GHC.Read.Read Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CopyDBParameterGroup.CopyDBParameterGroup


-- | Copies a snapshot of a DB cluster.
--   
--   To copy a DB cluster snapshot from a shared manual DB cluster
--   snapshot, <tt>SourceDBClusterSnapshotIdentifier</tt> must be the
--   Amazon Resource Name (ARN) of the shared DB cluster snapshot.
--   
--   You can copy an encrypted DB cluster snapshot from another AWS Region.
--   In that case, the AWS Region where you call the
--   <tt>CopyDBClusterSnapshot</tt> action is the destination AWS Region
--   for the encrypted DB cluster snapshot to be copied to. To copy an
--   encrypted DB cluster snapshot from another AWS Region, you must
--   provide the following values:
--   
--   <ul>
--   <li><tt>KmsKeyId</tt> - The AWS Key Management System (AWS KMS) key
--   identifier for the key to use to encrypt the copy of the DB cluster
--   snapshot in the destination AWS Region.</li>
--   <li><tt>PreSignedUrl</tt> - A URL that contains a Signature Version 4
--   signed request for the <tt>CopyDBClusterSnapshot</tt> action to be
--   called in the source AWS Region where the DB cluster snapshot is
--   copied from. The pre-signed URL must be a valid request for the
--   <tt>CopyDBClusterSnapshot</tt> API action that can be executed in the
--   source AWS Region that contains the encrypted DB cluster snapshot to
--   be copied.</li>
--   </ul>
--   
--   The pre-signed URL request must contain the following parameter
--   values:
--   
--   <ul>
--   <li><tt>KmsKeyId</tt> - The KMS key identifier for the key to use to
--   encrypt the copy of the DB cluster snapshot in the destination AWS
--   Region. This is the same identifier for both the
--   <tt>CopyDBClusterSnapshot</tt> action that is called in the
--   destination AWS Region, and the action contained in the pre-signed
--   URL.</li>
--   <li><tt>DestinationRegion</tt> - The name of the AWS Region that the
--   DB cluster snapshot will be created in.</li>
--   <li><tt>SourceDBClusterSnapshotIdentifier</tt> - The DB cluster
--   snapshot identifier for the encrypted DB cluster snapshot to be
--   copied. This identifier must be in the Amazon Resource Name (ARN)
--   format for the source AWS Region. For example, if you are copying an
--   encrypted DB cluster snapshot from the us-west-2 AWS Region, then your
--   <tt>SourceDBClusterSnapshotIdentifier</tt> looks like the following
--   example:
--   <tt>arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115</tt>
--   .</li>
--   </ul>
--   
--   To learn how to generate a Signature Version 4 signed request, see
--   <a>Authenticating Requests: Using Query Parameters (AWS Signature
--   Version 4)</a> and <a>Signature Version 4 Signing Process</a> .
--   
--   <ul>
--   <li><tt>TargetDBClusterSnapshotIdentifier</tt> - The identifier for
--   the new copy of the DB cluster snapshot in the destination AWS
--   Region.</li>
--   <li><tt>SourceDBClusterSnapshotIdentifier</tt> - The DB cluster
--   snapshot identifier for the encrypted DB cluster snapshot to be
--   copied. This identifier must be in the ARN format for the source AWS
--   Region and is the same value as the
--   <tt>SourceDBClusterSnapshotIdentifier</tt> in the pre-signed URL.</li>
--   </ul>
--   
--   To cancel the copy operation once it is in progress, delete the target
--   DB cluster snapshot identified by
--   <tt>TargetDBClusterSnapshotIdentifier</tt> while that DB cluster
--   snapshot is in "copying" status.
--   
--   For more information on copying encrypted DB cluster snapshots from
--   one AWS Region to another, see <a>Copying a DB Cluster Snapshot in the
--   Same Account, Either in the Same Region or Across Regions</a> in the
--   Amazon RDS User Guide.
--   
--   For more information on Amazon Aurora, see <a>Aurora on Amazon RDS</a>
--   in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.CopyDBClusterSnapshot

-- | Creates a value of <a>CopyDBClusterSnapshot</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbcsPreSignedURL</a> - The URL that contains a Signature
--   Version 4 signed request for the <tt>CopyDBClusterSnapshot</tt> API
--   action in the AWS Region that contains the source DB cluster snapshot
--   to copy. The <tt>PreSignedUrl</tt> parameter must be used when copying
--   an encrypted DB cluster snapshot from another AWS Region. The
--   pre-signed URL must be a valid request for the
--   <tt>CopyDBSClusterSnapshot</tt> API action that can be executed in the
--   source AWS Region that contains the encrypted DB cluster snapshot to
--   be copied. The pre-signed URL request must contain the following
--   parameter values: * <tt>KmsKeyId</tt> - The AWS KMS key identifier for
--   the key to use to encrypt the copy of the DB cluster snapshot in the
--   destination AWS Region. This is the same identifier for both the
--   <tt>CopyDBClusterSnapshot</tt> action that is called in the
--   destination AWS Region, and the action contained in the pre-signed
--   URL. * <tt>DestinationRegion</tt> - The name of the AWS Region that
--   the DB cluster snapshot will be created in. *
--   <tt>SourceDBClusterSnapshotIdentifier</tt> - The DB cluster snapshot
--   identifier for the encrypted DB cluster snapshot to be copied. This
--   identifier must be in the Amazon Resource Name (ARN) format for the
--   source AWS Region. For example, if you are copying an encrypted DB
--   cluster snapshot from the us-west-2 AWS Region, then your
--   <tt>SourceDBClusterSnapshotIdentifier</tt> looks like the following
--   example:
--   <tt>arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115</tt>
--   . To learn how to generate a Signature Version 4 signed request, see
--   <a>Authenticating Requests: Using Query Parameters (AWS Signature
--   Version 4)</a> and <a>Signature Version 4 Signing Process</a> .</li>
--   <li><a>cdbcsCopyTags</a> - True to copy all tags from the source DB
--   cluster snapshot to the target DB cluster snapshot, and otherwise
--   false. The default is false.</li>
--   <li><a>cdbcsKMSKeyId</a> - The AWS AWS KMS key ID for an encrypted DB
--   cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN),
--   KMS key identifier, or the KMS key alias for the KMS encryption key.
--   If you copy an encrypted DB cluster snapshot from your AWS account,
--   you can specify a value for <tt>KmsKeyId</tt> to encrypt the copy with
--   a new KMS encryption key. If you don't specify a value for
--   <tt>KmsKeyId</tt> , then the copy of the DB cluster snapshot is
--   encrypted with the same KMS key as the source DB cluster snapshot. If
--   you copy an encrypted DB cluster snapshot that is shared from another
--   AWS account, then you must specify a value for <tt>KmsKeyId</tt> . To
--   copy an encrypted DB cluster snapshot to another AWS Region, you must
--   set <tt>KmsKeyId</tt> to the KMS key ID you want to use to encrypt the
--   copy of the DB cluster snapshot in the destination AWS Region. KMS
--   encryption keys are specific to the AWS Region that they are created
--   in, and you can't use encryption keys from one AWS Region in another
--   AWS Region. If you copy an unencrypted DB cluster snapshot and specify
--   a value for the <tt>KmsKeyId</tt> parameter, an error is
--   returned.</li>
--   <li><a>cdbcsTags</a> - Undocumented member.</li>
--   <li><a>cdbcsSourceDBClusterSnapshotIdentifier</a> - The identifier of
--   the DB cluster snapshot to copy. This parameter is not case-sensitive.
--   You can't copy an encrypted, shared DB cluster snapshot from one AWS
--   Region to another. Constraints: * Must specify a valid system snapshot
--   in the "available" state. * If the source snapshot is in the same AWS
--   Region as the copy, specify a valid DB snapshot identifier. * If the
--   source snapshot is in a different AWS Region than the copy, specify a
--   valid DB cluster snapshot ARN. For more information, go to <a>Copying
--   a DB Snapshot or DB Cluster Snapshot</a> . Example:
--   <tt>my-cluster-snapshot1</tt></li>
--   <li><a>cdbcsTargetDBClusterSnapshotIdentifier</a> - The identifier of
--   the new DB cluster snapshot to create from the source DB cluster
--   snapshot. This parameter is not case-sensitive. Constraints: * Must
--   contain from 1 to 63 letters, numbers, or hyphens. * First character
--   must be a letter. * Cannot end with a hyphen or contain two
--   consecutive hyphens. Example: <tt>my-cluster-snapshot2</tt></li>
--   </ul>
copyDBClusterSnapshot :: Text -> Text -> CopyDBClusterSnapshot

-- | <i>See:</i> <a>copyDBClusterSnapshot</a> smart constructor.
data CopyDBClusterSnapshot

-- | The URL that contains a Signature Version 4 signed request for the
--   <tt>CopyDBClusterSnapshot</tt> API action in the AWS Region that
--   contains the source DB cluster snapshot to copy. The
--   <tt>PreSignedUrl</tt> parameter must be used when copying an encrypted
--   DB cluster snapshot from another AWS Region. The pre-signed URL must
--   be a valid request for the <tt>CopyDBSClusterSnapshot</tt> API action
--   that can be executed in the source AWS Region that contains the
--   encrypted DB cluster snapshot to be copied. The pre-signed URL request
--   must contain the following parameter values: * <tt>KmsKeyId</tt> - The
--   AWS KMS key identifier for the key to use to encrypt the copy of the
--   DB cluster snapshot in the destination AWS Region. This is the same
--   identifier for both the <tt>CopyDBClusterSnapshot</tt> action that is
--   called in the destination AWS Region, and the action contained in the
--   pre-signed URL. * <tt>DestinationRegion</tt> - The name of the AWS
--   Region that the DB cluster snapshot will be created in. *
--   <tt>SourceDBClusterSnapshotIdentifier</tt> - The DB cluster snapshot
--   identifier for the encrypted DB cluster snapshot to be copied. This
--   identifier must be in the Amazon Resource Name (ARN) format for the
--   source AWS Region. For example, if you are copying an encrypted DB
--   cluster snapshot from the us-west-2 AWS Region, then your
--   <tt>SourceDBClusterSnapshotIdentifier</tt> looks like the following
--   example:
--   <tt>arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115</tt>
--   . To learn how to generate a Signature Version 4 signed request, see
--   <a>Authenticating Requests: Using Query Parameters (AWS Signature
--   Version 4)</a> and <a>Signature Version 4 Signing Process</a> .
cdbcsPreSignedURL :: Lens' CopyDBClusterSnapshot (Maybe Text)

-- | True to copy all tags from the source DB cluster snapshot to the
--   target DB cluster snapshot, and otherwise false. The default is false.
cdbcsCopyTags :: Lens' CopyDBClusterSnapshot (Maybe Bool)

-- | The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS
--   key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
--   KMS key alias for the KMS encryption key. If you copy an encrypted DB
--   cluster snapshot from your AWS account, you can specify a value for
--   <tt>KmsKeyId</tt> to encrypt the copy with a new KMS encryption key.
--   If you don't specify a value for <tt>KmsKeyId</tt> , then the copy of
--   the DB cluster snapshot is encrypted with the same KMS key as the
--   source DB cluster snapshot. If you copy an encrypted DB cluster
--   snapshot that is shared from another AWS account, then you must
--   specify a value for <tt>KmsKeyId</tt> . To copy an encrypted DB
--   cluster snapshot to another AWS Region, you must set <tt>KmsKeyId</tt>
--   to the KMS key ID you want to use to encrypt the copy of the DB
--   cluster snapshot in the destination AWS Region. KMS encryption keys
--   are specific to the AWS Region that they are created in, and you can't
--   use encryption keys from one AWS Region in another AWS Region. If you
--   copy an unencrypted DB cluster snapshot and specify a value for the
--   <tt>KmsKeyId</tt> parameter, an error is returned.
cdbcsKMSKeyId :: Lens' CopyDBClusterSnapshot (Maybe Text)

-- | Undocumented member.
cdbcsTags :: Lens' CopyDBClusterSnapshot [Tag]

-- | The identifier of the DB cluster snapshot to copy. This parameter is
--   not case-sensitive. You can't copy an encrypted, shared DB cluster
--   snapshot from one AWS Region to another. Constraints: * Must specify a
--   valid system snapshot in the "available" state. * If the source
--   snapshot is in the same AWS Region as the copy, specify a valid DB
--   snapshot identifier. * If the source snapshot is in a different AWS
--   Region than the copy, specify a valid DB cluster snapshot ARN. For
--   more information, go to <a>Copying a DB Snapshot or DB Cluster
--   Snapshot</a> . Example: <tt>my-cluster-snapshot1</tt>
cdbcsSourceDBClusterSnapshotIdentifier :: Lens' CopyDBClusterSnapshot Text

-- | The identifier of the new DB cluster snapshot to create from the
--   source DB cluster snapshot. This parameter is not case-sensitive.
--   Constraints: * Must contain from 1 to 63 letters, numbers, or hyphens.
--   * First character must be a letter. * Cannot end with a hyphen or
--   contain two consecutive hyphens. Example:
--   <tt>my-cluster-snapshot2</tt>
cdbcsTargetDBClusterSnapshotIdentifier :: Lens' CopyDBClusterSnapshot Text

-- | Creates a value of <a>CopyDBClusterSnapshotResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcsrsDBClusterSnapshot</a> - Undocumented member.</li>
--   <li><a>cdcsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
copyDBClusterSnapshotResponse :: Int -> CopyDBClusterSnapshotResponse

-- | <i>See:</i> <a>copyDBClusterSnapshotResponse</a> smart constructor.
data CopyDBClusterSnapshotResponse

-- | Undocumented member.
cdcsrsDBClusterSnapshot :: Lens' CopyDBClusterSnapshotResponse (Maybe DBClusterSnapshot)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdcsrsResponseStatus :: Lens' CopyDBClusterSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshotResponse
instance Data.Data.Data Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshotResponse
instance GHC.Show.Show Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshotResponse
instance GHC.Read.Read Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshotResponse
instance GHC.Classes.Eq Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshotResponse
instance GHC.Generics.Generic Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance Data.Data.Data Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance GHC.Show.Show Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance GHC.Read.Read Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance GHC.Classes.Eq Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CopyDBClusterSnapshot.CopyDBClusterSnapshot


-- | Copies the specified DB cluster parameter group.
module Network.AWS.RDS.CopyDBClusterParameterGroup

-- | Creates a value of <a>CopyDBClusterParameterGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdbcpgTags</a> - Undocumented member.</li>
--   <li><a>cdbcpgSourceDBClusterParameterGroupIdentifier</a> - The
--   identifier or Amazon Resource Name (ARN) for the source DB cluster
--   parameter group. For information about creating an ARN, see
--   <a>Constructing an RDS Amazon Resource Name (ARN)</a> . Constraints: *
--   Must specify a valid DB cluster parameter group. * If the source DB
--   cluster parameter group is in the same AWS Region as the copy, specify
--   a valid DB parameter group identifier, for example
--   <tt>my-db-cluster-param-group</tt> , or a valid ARN. * If the source
--   DB parameter group is in a different AWS Region than the copy, specify
--   a valid DB cluster parameter group ARN, for example
--   <tt>arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1</tt>
--   .</li>
--   <li><a>cdbcpgTargetDBClusterParameterGroupIdentifier</a> - The
--   identifier for the copied DB cluster parameter group. Constraints: *
--   Cannot be null, empty, or blank * Must contain from 1 to 255 letters,
--   numbers, or hyphens * First character must be a letter * Cannot end
--   with a hyphen or contain two consecutive hyphens Example:
--   <tt>my-cluster-param-group1</tt></li>
--   <li><a>cdbcpgTargetDBClusterParameterGroupDescription</a> - A
--   description for the copied DB cluster parameter group.</li>
--   </ul>
copyDBClusterParameterGroup :: Text -> Text -> Text -> CopyDBClusterParameterGroup

-- | <i>See:</i> <a>copyDBClusterParameterGroup</a> smart constructor.
data CopyDBClusterParameterGroup

-- | Undocumented member.
cdbcpgTags :: Lens' CopyDBClusterParameterGroup [Tag]

-- | The identifier or Amazon Resource Name (ARN) for the source DB cluster
--   parameter group. For information about creating an ARN, see
--   <a>Constructing an RDS Amazon Resource Name (ARN)</a> . Constraints: *
--   Must specify a valid DB cluster parameter group. * If the source DB
--   cluster parameter group is in the same AWS Region as the copy, specify
--   a valid DB parameter group identifier, for example
--   <tt>my-db-cluster-param-group</tt> , or a valid ARN. * If the source
--   DB parameter group is in a different AWS Region than the copy, specify
--   a valid DB cluster parameter group ARN, for example
--   <tt>arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1</tt>
--   .
cdbcpgSourceDBClusterParameterGroupIdentifier :: Lens' CopyDBClusterParameterGroup Text

-- | The identifier for the copied DB cluster parameter group. Constraints:
--   * Cannot be null, empty, or blank * Must contain from 1 to 255
--   letters, numbers, or hyphens * First character must be a letter *
--   Cannot end with a hyphen or contain two consecutive hyphens Example:
--   <tt>my-cluster-param-group1</tt>
cdbcpgTargetDBClusterParameterGroupIdentifier :: Lens' CopyDBClusterParameterGroup Text

-- | A description for the copied DB cluster parameter group.
cdbcpgTargetDBClusterParameterGroupDescription :: Lens' CopyDBClusterParameterGroup Text

-- | Creates a value of <a>CopyDBClusterParameterGroupResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcpgrsDBClusterParameterGroup</a> - Undocumented member.</li>
--   <li><a>cdcpgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
copyDBClusterParameterGroupResponse :: Int -> CopyDBClusterParameterGroupResponse

-- | <i>See:</i> <a>copyDBClusterParameterGroupResponse</a> smart
--   constructor.
data CopyDBClusterParameterGroupResponse

-- | Undocumented member.
cdcpgrsDBClusterParameterGroup :: Lens' CopyDBClusterParameterGroupResponse (Maybe DBClusterParameterGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdcpgrsResponseStatus :: Lens' CopyDBClusterParameterGroupResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroupResponse
instance Data.Data.Data Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroupResponse
instance GHC.Show.Show Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroupResponse
instance GHC.Read.Read Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroupResponse
instance GHC.Classes.Eq Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroupResponse
instance GHC.Generics.Generic Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance Data.Data.Data Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance GHC.Show.Show Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance GHC.Read.Read Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance GHC.Classes.Eq Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance Control.DeepSeq.NFData Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.CopyDBClusterParameterGroup.CopyDBClusterParameterGroup


-- | Backtracks a DB cluster to a specific time, without creating a new DB
--   cluster.
--   
--   For more information on backtracking, see <a>Backtracking an Aurora DB
--   Cluster</a> in the <i>Amazon RDS User Guide.</i>
module Network.AWS.RDS.BacktrackDBCluster

-- | Creates a value of <a>BacktrackDBCluster</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bdcForce</a> - A value that, if specified, forces the DB
--   cluster to backtrack when binary logging is enabled. Otherwise, an
--   error occurs when binary logging is enabled.</li>
--   <li><a>bdcUseEarliestTimeOnPointInTimeUnavailable</a> - If
--   <i>BacktrackTo</i> is set to a timestamp earlier than the earliest
--   backtrack time, this value backtracks the DB cluster to the earliest
--   possible backtrack time. Otherwise, an error occurs.</li>
--   <li><a>bdcDBClusterIdentifier</a> - The DB cluster identifier of the
--   DB cluster to be backtracked. This parameter is stored as a lowercase
--   string. Constraints: * Must contain from 1 to 63 alphanumeric
--   characters or hyphens. * First character must be a letter. * Cannot
--   end with a hyphen or contain two consecutive hyphens. Example:
--   <tt>my-cluster1</tt></li>
--   <li><a>bdcBacktrackTo</a> - The timestamp of the time to backtrack the
--   DB cluster to, specified in ISO 8601 format. For more information
--   about ISO 8601, see the <a>ISO8601 Wikipedia page.</a> Constraints: *
--   Must contain a valid ISO 8601 timestamp. * Cannot contain a timestamp
--   set in the future. Example: <tt>2017-07-08T18:00Z</tt></li>
--   </ul>
backtrackDBCluster :: Text -> UTCTime -> BacktrackDBCluster

-- | <i>See:</i> <a>backtrackDBCluster</a> smart constructor.
data BacktrackDBCluster

-- | A value that, if specified, forces the DB cluster to backtrack when
--   binary logging is enabled. Otherwise, an error occurs when binary
--   logging is enabled.
bdcForce :: Lens' BacktrackDBCluster (Maybe Bool)

-- | If <i>BacktrackTo</i> is set to a timestamp earlier than the earliest
--   backtrack time, this value backtracks the DB cluster to the earliest
--   possible backtrack time. Otherwise, an error occurs.
bdcUseEarliestTimeOnPointInTimeUnavailable :: Lens' BacktrackDBCluster (Maybe Bool)

-- | The DB cluster identifier of the DB cluster to be backtracked. This
--   parameter is stored as a lowercase string. Constraints: * Must contain
--   from 1 to 63 alphanumeric characters or hyphens. * First character
--   must be a letter. * Cannot end with a hyphen or contain two
--   consecutive hyphens. Example: <tt>my-cluster1</tt>
bdcDBClusterIdentifier :: Lens' BacktrackDBCluster Text

-- | The timestamp of the time to backtrack the DB cluster to, specified in
--   ISO 8601 format. For more information about ISO 8601, see the
--   <a>ISO8601 Wikipedia page.</a> Constraints: * Must contain a valid ISO
--   8601 timestamp. * Cannot contain a timestamp set in the future.
--   Example: <tt>2017-07-08T18:00Z</tt>
bdcBacktrackTo :: Lens' BacktrackDBCluster UTCTime

-- | Creates a value of <a>DBClusterBacktrack</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbStatus</a> - The status of the backtrack. This property
--   returns one of the following values: * <tt>applying</tt> - The
--   backtrack is currently being applied to or rolled back from the DB
--   cluster. * <tt>completed</tt> - The backtrack has successfully been
--   applied to or rolled back from the DB cluster. * <tt>failed</tt> - An
--   error occurred while the backtrack was applied to or rolled back from
--   the DB cluster. * <tt>pending</tt> - The backtrack is currently
--   pending application to or rollback from the DB cluster.</li>
--   <li><a>dcbBacktrackIdentifier</a> - Contains the backtrack
--   identifier.</li>
--   <li><a>dcbBacktrackTo</a> - The timestamp of the time to which the DB
--   cluster was backtracked.</li>
--   <li><a>dcbDBClusterIdentifier</a> - Contains a user-supplied DB
--   cluster identifier. This identifier is the unique key that identifies
--   a DB cluster.</li>
--   <li><a>dcbBacktrackedFrom</a> - The timestamp of the time from which
--   the DB cluster was backtracked.</li>
--   <li><a>dcbBacktrackRequestCreationTime</a> - The timestamp of the time
--   at which the backtrack was requested.</li>
--   </ul>
dbClusterBacktrack :: DBClusterBacktrack

-- | This data type is used as a response element in the
--   <tt>DescribeDBClusterBacktracks</tt> action.
--   
--   <i>See:</i> <a>dbClusterBacktrack</a> smart constructor.
data DBClusterBacktrack

-- | The status of the backtrack. This property returns one of the
--   following values: * <tt>applying</tt> - The backtrack is currently
--   being applied to or rolled back from the DB cluster. *
--   <tt>completed</tt> - The backtrack has successfully been applied to or
--   rolled back from the DB cluster. * <tt>failed</tt> - An error occurred
--   while the backtrack was applied to or rolled back from the DB cluster.
--   * <tt>pending</tt> - The backtrack is currently pending application to
--   or rollback from the DB cluster.
dcbStatus :: Lens' DBClusterBacktrack (Maybe Text)

-- | Contains the backtrack identifier.
dcbBacktrackIdentifier :: Lens' DBClusterBacktrack (Maybe Text)

-- | The timestamp of the time to which the DB cluster was backtracked.
dcbBacktrackTo :: Lens' DBClusterBacktrack (Maybe UTCTime)

-- | Contains a user-supplied DB cluster identifier. This identifier is the
--   unique key that identifies a DB cluster.
dcbDBClusterIdentifier :: Lens' DBClusterBacktrack (Maybe Text)

-- | The timestamp of the time from which the DB cluster was backtracked.
dcbBacktrackedFrom :: Lens' DBClusterBacktrack (Maybe UTCTime)

-- | The timestamp of the time at which the backtrack was requested.
dcbBacktrackRequestCreationTime :: Lens' DBClusterBacktrack (Maybe UTCTime)
instance GHC.Generics.Generic Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance Data.Data.Data Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance GHC.Show.Show Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance GHC.Read.Read Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance GHC.Classes.Eq Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance Data.Hashable.Class.Hashable Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.BacktrackDBCluster.BacktrackDBCluster


-- | Enables ingress to a DBSecurityGroup using one of two forms of
--   authorization. First, EC2 or VPC security groups can be added to the
--   DBSecurityGroup if the application using the database is running on
--   EC2 or VPC instances. Second, IP ranges are available if the
--   application accessing your database is running on the Internet.
--   Required parameters for this API are one of CIDR range,
--   EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either
--   EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).
--   
--   For an overview of CIDR ranges, go to the <a>Wikipedia Tutorial</a> .
module Network.AWS.RDS.AuthorizeDBSecurityGroupIngress

-- | Creates a value of <a>AuthorizeDBSecurityGroupIngress</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adsgiEC2SecurityGroupOwnerId</a> - AWS account number of the
--   owner of the EC2 security group specified in the
--   <tt>EC2SecurityGroupName</tt> parameter. The AWS Access Key ID is not
--   an acceptable value. For VPC DB security groups,
--   <tt>EC2SecurityGroupId</tt> must be provided. Otherwise,
--   <tt>EC2SecurityGroupOwnerId</tt> and either
--   <tt>EC2SecurityGroupName</tt> or <tt>EC2SecurityGroupId</tt> must be
--   provided.</li>
--   <li><a>adsgiEC2SecurityGroupName</a> - Name of the EC2 security group
--   to authorize. For VPC DB security groups, <tt>EC2SecurityGroupId</tt>
--   must be provided. Otherwise, <tt>EC2SecurityGroupOwnerId</tt> and
--   either <tt>EC2SecurityGroupName</tt> or <tt>EC2SecurityGroupId</tt>
--   must be provided.</li>
--   <li><a>adsgiCIdRIP</a> - The IP range to authorize.</li>
--   <li><a>adsgiEC2SecurityGroupId</a> - Id of the EC2 security group to
--   authorize. For VPC DB security groups, <tt>EC2SecurityGroupId</tt>
--   must be provided. Otherwise, <tt>EC2SecurityGroupOwnerId</tt> and
--   either <tt>EC2SecurityGroupName</tt> or <tt>EC2SecurityGroupId</tt>
--   must be provided.</li>
--   <li><a>adsgiDBSecurityGroupName</a> - The name of the DB security
--   group to add authorization to.</li>
--   </ul>
authorizeDBSecurityGroupIngress :: Text -> AuthorizeDBSecurityGroupIngress

-- | <i>See:</i> <a>authorizeDBSecurityGroupIngress</a> smart constructor.
data AuthorizeDBSecurityGroupIngress

-- | AWS account number of the owner of the EC2 security group specified in
--   the <tt>EC2SecurityGroupName</tt> parameter. The AWS Access Key ID is
--   not an acceptable value. For VPC DB security groups,
--   <tt>EC2SecurityGroupId</tt> must be provided. Otherwise,
--   <tt>EC2SecurityGroupOwnerId</tt> and either
--   <tt>EC2SecurityGroupName</tt> or <tt>EC2SecurityGroupId</tt> must be
--   provided.
adsgiEC2SecurityGroupOwnerId :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)

-- | Name of the EC2 security group to authorize. For VPC DB security
--   groups, <tt>EC2SecurityGroupId</tt> must be provided. Otherwise,
--   <tt>EC2SecurityGroupOwnerId</tt> and either
--   <tt>EC2SecurityGroupName</tt> or <tt>EC2SecurityGroupId</tt> must be
--   provided.
adsgiEC2SecurityGroupName :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)

-- | The IP range to authorize.
adsgiCIdRIP :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)

-- | Id of the EC2 security group to authorize. For VPC DB security groups,
--   <tt>EC2SecurityGroupId</tt> must be provided. Otherwise,
--   <tt>EC2SecurityGroupOwnerId</tt> and either
--   <tt>EC2SecurityGroupName</tt> or <tt>EC2SecurityGroupId</tt> must be
--   provided.
adsgiEC2SecurityGroupId :: Lens' AuthorizeDBSecurityGroupIngress (Maybe Text)

-- | The name of the DB security group to add authorization to.
adsgiDBSecurityGroupName :: Lens' AuthorizeDBSecurityGroupIngress Text

-- | Creates a value of <a>AuthorizeDBSecurityGroupIngressResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adsgirsDBSecurityGroup</a> - Undocumented member.</li>
--   <li><a>adsgirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
authorizeDBSecurityGroupIngressResponse :: Int -> AuthorizeDBSecurityGroupIngressResponse

-- | <i>See:</i> <a>authorizeDBSecurityGroupIngressResponse</a> smart
--   constructor.
data AuthorizeDBSecurityGroupIngressResponse

-- | Undocumented member.
adsgirsDBSecurityGroup :: Lens' AuthorizeDBSecurityGroupIngressResponse (Maybe DBSecurityGroup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
adsgirsResponseStatus :: Lens' AuthorizeDBSecurityGroupIngressResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngressResponse
instance Data.Data.Data Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngressResponse
instance GHC.Show.Show Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngressResponse
instance GHC.Read.Read Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngressResponse
instance GHC.Classes.Eq Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngressResponse
instance GHC.Generics.Generic Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance Data.Data.Data Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance GHC.Show.Show Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance GHC.Read.Read Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance GHC.Classes.Eq Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance Control.DeepSeq.NFData Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngressResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance Control.DeepSeq.NFData Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.AuthorizeDBSecurityGroupIngress.AuthorizeDBSecurityGroupIngress


-- | Applies a pending maintenance action to a resource (for example, to a
--   DB instance).
module Network.AWS.RDS.ApplyPendingMaintenanceAction

-- | Creates a value of <a>ApplyPendingMaintenanceAction</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apmaResourceIdentifier</a> - The RDS Amazon Resource Name (ARN)
--   of the resource that the pending maintenance action applies to. For
--   information about creating an ARN, see <a>Constructing an RDS Amazon
--   Resource Name (ARN)</a> .</li>
--   <li><a>apmaApplyAction</a> - The pending maintenance action to apply
--   to this resource. Valid values: <tt>system-update</tt> ,
--   <tt>db-upgrade</tt></li>
--   <li><a>apmaOptInType</a> - A value that specifies the type of opt-in
--   request, or undoes an opt-in request. An opt-in request of type
--   <tt>immediate</tt> can't be undone. Valid values: * <tt>immediate</tt>
--   - Apply the maintenance action immediately. *
--   <tt>next-maintenance</tt> - Apply the maintenance action during the
--   next maintenance window for the resource. * <tt>undo-opt-in</tt> -
--   Cancel any existing <tt>next-maintenance</tt> opt-in requests.</li>
--   </ul>
applyPendingMaintenanceAction :: Text -> Text -> Text -> ApplyPendingMaintenanceAction

-- | <i>See:</i> <a>applyPendingMaintenanceAction</a> smart constructor.
data ApplyPendingMaintenanceAction

-- | The RDS Amazon Resource Name (ARN) of the resource that the pending
--   maintenance action applies to. For information about creating an ARN,
--   see <a>Constructing an RDS Amazon Resource Name (ARN)</a> .
apmaResourceIdentifier :: Lens' ApplyPendingMaintenanceAction Text

-- | The pending maintenance action to apply to this resource. Valid
--   values: <tt>system-update</tt> , <tt>db-upgrade</tt>
apmaApplyAction :: Lens' ApplyPendingMaintenanceAction Text

-- | A value that specifies the type of opt-in request, or undoes an opt-in
--   request. An opt-in request of type <tt>immediate</tt> can't be undone.
--   Valid values: * <tt>immediate</tt> - Apply the maintenance action
--   immediately. * <tt>next-maintenance</tt> - Apply the maintenance
--   action during the next maintenance window for the resource. *
--   <tt>undo-opt-in</tt> - Cancel any existing <tt>next-maintenance</tt>
--   opt-in requests.
apmaOptInType :: Lens' ApplyPendingMaintenanceAction Text

-- | Creates a value of <a>ApplyPendingMaintenanceActionResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apmarsResourcePendingMaintenanceActions</a> - Undocumented
--   member.</li>
--   <li><a>apmarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
applyPendingMaintenanceActionResponse :: Int -> ApplyPendingMaintenanceActionResponse

-- | <i>See:</i> <a>applyPendingMaintenanceActionResponse</a> smart
--   constructor.
data ApplyPendingMaintenanceActionResponse

-- | Undocumented member.
apmarsResourcePendingMaintenanceActions :: Lens' ApplyPendingMaintenanceActionResponse (Maybe ResourcePendingMaintenanceActions)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
apmarsResponseStatus :: Lens' ApplyPendingMaintenanceActionResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceActionResponse
instance Data.Data.Data Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceActionResponse
instance GHC.Show.Show Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceActionResponse
instance GHC.Read.Read Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceActionResponse
instance GHC.Classes.Eq Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceActionResponse
instance GHC.Generics.Generic Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance Data.Data.Data Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance GHC.Show.Show Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance GHC.Read.Read Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance GHC.Classes.Eq Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance Control.DeepSeq.NFData Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceActionResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance Control.DeepSeq.NFData Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.ApplyPendingMaintenanceAction.ApplyPendingMaintenanceAction


-- | Adds metadata tags to an Amazon RDS resource. These tags can also be
--   used with cost allocation reporting to track cost associated with
--   Amazon RDS resources, or used in a Condition statement in an IAM
--   policy for Amazon RDS.
--   
--   For an overview on tagging Amazon RDS resources, see <a>Tagging Amazon
--   RDS Resources</a> .
module Network.AWS.RDS.AddTagsToResource

-- | Creates a value of <a>AddTagsToResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>attrResourceName</a> - The Amazon RDS resource that the tags
--   are added to. This value is an Amazon Resource Name (ARN). For
--   information about creating an ARN, see <a>Constructing an RDS Amazon
--   Resource Name (ARN)</a> .</li>
--   <li><a>attrTags</a> - The tags to be assigned to the Amazon RDS
--   resource.</li>
--   </ul>
addTagsToResource :: Text -> AddTagsToResource

-- | <i>See:</i> <a>addTagsToResource</a> smart constructor.
data AddTagsToResource

-- | The Amazon RDS resource that the tags are added to. This value is an
--   Amazon Resource Name (ARN). For information about creating an ARN, see
--   <a>Constructing an RDS Amazon Resource Name (ARN)</a> .
attrResourceName :: Lens' AddTagsToResource Text

-- | The tags to be assigned to the Amazon RDS resource.
attrTags :: Lens' AddTagsToResource [Tag]

-- | Creates a value of <a>AddTagsToResourceResponse</a> with the minimum
--   fields required to make a request.
addTagsToResourceResponse :: AddTagsToResourceResponse

-- | <i>See:</i> <a>addTagsToResourceResponse</a> smart constructor.
data AddTagsToResourceResponse
instance GHC.Generics.Generic Network.AWS.RDS.AddTagsToResource.AddTagsToResourceResponse
instance Data.Data.Data Network.AWS.RDS.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Show.Show Network.AWS.RDS.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Read.Read Network.AWS.RDS.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Classes.Eq Network.AWS.RDS.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Generics.Generic Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance Data.Data.Data Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance GHC.Show.Show Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance GHC.Read.Read Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance GHC.Classes.Eq Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance Control.DeepSeq.NFData Network.AWS.RDS.AddTagsToResource.AddTagsToResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance Control.DeepSeq.NFData Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.AddTagsToResource.AddTagsToResource


-- | Adds a source identifier to an existing RDS event notification
--   subscription.
module Network.AWS.RDS.AddSourceIdentifierToSubscription

-- | Creates a value of <a>AddSourceIdentifierToSubscription</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asitsSubscriptionName</a> - The name of the RDS event
--   notification subscription you want to add a source identifier to.</li>
--   <li><a>asitsSourceIdentifier</a> - The identifier of the event source
--   to be added. Constraints: * If the source type is a DB instance, then
--   a <tt>DBInstanceIdentifier</tt> must be supplied. * If the source type
--   is a DB security group, a <tt>DBSecurityGroupName</tt> must be
--   supplied. * If the source type is a DB parameter group, a
--   <tt>DBParameterGroupName</tt> must be supplied. * If the source type
--   is a DB snapshot, a <tt>DBSnapshotIdentifier</tt> must be
--   supplied.</li>
--   </ul>
addSourceIdentifierToSubscription :: Text -> Text -> AddSourceIdentifierToSubscription

-- | <i>See:</i> <a>addSourceIdentifierToSubscription</a> smart
--   constructor.
data AddSourceIdentifierToSubscription

-- | The name of the RDS event notification subscription you want to add a
--   source identifier to.
asitsSubscriptionName :: Lens' AddSourceIdentifierToSubscription Text

-- | The identifier of the event source to be added. Constraints: * If the
--   source type is a DB instance, then a <tt>DBInstanceIdentifier</tt>
--   must be supplied. * If the source type is a DB security group, a
--   <tt>DBSecurityGroupName</tt> must be supplied. * If the source type is
--   a DB parameter group, a <tt>DBParameterGroupName</tt> must be
--   supplied. * If the source type is a DB snapshot, a
--   <tt>DBSnapshotIdentifier</tt> must be supplied.
asitsSourceIdentifier :: Lens' AddSourceIdentifierToSubscription Text

-- | Creates a value of <a>AddSourceIdentifierToSubscriptionResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asitsrsEventSubscription</a> - Undocumented member.</li>
--   <li><a>asitsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
addSourceIdentifierToSubscriptionResponse :: Int -> AddSourceIdentifierToSubscriptionResponse

-- | <i>See:</i> <a>addSourceIdentifierToSubscriptionResponse</a> smart
--   constructor.
data AddSourceIdentifierToSubscriptionResponse

-- | Undocumented member.
asitsrsEventSubscription :: Lens' AddSourceIdentifierToSubscriptionResponse (Maybe EventSubscription)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
asitsrsResponseStatus :: Lens' AddSourceIdentifierToSubscriptionResponse Int
instance GHC.Generics.Generic Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscriptionResponse
instance Data.Data.Data Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscriptionResponse
instance GHC.Show.Show Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscriptionResponse
instance GHC.Read.Read Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscriptionResponse
instance GHC.Classes.Eq Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscriptionResponse
instance GHC.Generics.Generic Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance Data.Data.Data Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance GHC.Show.Show Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance GHC.Read.Read Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance GHC.Classes.Eq Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscriptionResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance Control.DeepSeq.NFData Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.AddSourceIdentifierToSubscription.AddSourceIdentifierToSubscription


-- | Associates an Identity and Access Management (IAM) role from an Aurora
--   DB cluster. For more information, see <a>Authorizing Amazon Aurora to
--   Access Other AWS Services On Your Behalf</a> .
module Network.AWS.RDS.AddRoleToDBCluster

-- | Creates a value of <a>AddRoleToDBCluster</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>artdcDBClusterIdentifier</a> - The name of the DB cluster to
--   associate the IAM role with.</li>
--   <li><a>artdcRoleARN</a> - The Amazon Resource Name (ARN) of the IAM
--   role to associate with the Aurora DB cluster, for example
--   <tt>arn:aws:iam::123456789012:role/AuroraAccessRole</tt> .</li>
--   </ul>
addRoleToDBCluster :: Text -> Text -> AddRoleToDBCluster

-- | <i>See:</i> <a>addRoleToDBCluster</a> smart constructor.
data AddRoleToDBCluster

-- | The name of the DB cluster to associate the IAM role with.
artdcDBClusterIdentifier :: Lens' AddRoleToDBCluster Text

-- | The Amazon Resource Name (ARN) of the IAM role to associate with the
--   Aurora DB cluster, for example
--   <tt>arn:aws:iam::123456789012:role/AuroraAccessRole</tt> .
artdcRoleARN :: Lens' AddRoleToDBCluster Text

-- | Creates a value of <a>AddRoleToDBClusterResponse</a> with the minimum
--   fields required to make a request.
addRoleToDBClusterResponse :: AddRoleToDBClusterResponse

-- | <i>See:</i> <a>addRoleToDBClusterResponse</a> smart constructor.
data AddRoleToDBClusterResponse
instance GHC.Generics.Generic Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBClusterResponse
instance Data.Data.Data Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBClusterResponse
instance GHC.Show.Show Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBClusterResponse
instance GHC.Read.Read Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBClusterResponse
instance GHC.Classes.Eq Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBClusterResponse
instance GHC.Generics.Generic Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance Data.Data.Data Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance GHC.Show.Show Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance GHC.Read.Read Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance GHC.Classes.Eq Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance Network.AWS.Types.AWSRequest Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBClusterResponse
instance Data.Hashable.Class.Hashable Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance Control.DeepSeq.NFData Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance Network.AWS.Data.Path.ToPath Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster
instance Network.AWS.Data.Query.ToQuery Network.AWS.RDS.AddRoleToDBCluster.AddRoleToDBCluster


module Network.AWS.RDS.Waiters

-- | Polls <a>DescribeDBInstances</a> every 30 seconds until a successful
--   state is reached. An error is returned after 60 failed checks.
dbInstanceAvailable :: Wait DescribeDBInstances

-- | Polls <a>DescribeDBSnapshots</a> every 15 seconds until a successful
--   state is reached. An error is returned after 40 failed checks.
dbSnapshotCompleted :: Wait DescribeDBSnapshots

-- | Polls <a>DescribeDBSnapshots</a> every 30 seconds until a successful
--   state is reached. An error is returned after 60 failed checks.
dbSnapshotDeleted :: Wait DescribeDBSnapshots

-- | Polls <a>DescribeDBInstances</a> every 30 seconds until a successful
--   state is reached. An error is returned after 60 failed checks.
dbInstanceDeleted :: Wait DescribeDBInstances

-- | Polls <a>DescribeDBSnapshots</a> every 30 seconds until a successful
--   state is reached. An error is returned after 60 failed checks.
dbSnapshotAvailable :: Wait DescribeDBSnapshots


-- | <b>Amazon Relational Database Service</b>
--   
--   Amazon Relational Database Service (Amazon RDS) is a web service that
--   makes it easier to set up, operate, and scale a relational database in
--   the cloud. It provides cost-efficient, resizable capacity for an
--   industry-standard relational database and manages common database
--   administration tasks, freeing up developers to focus on what makes
--   their applications and businesses unique.
--   
--   Amazon RDS gives you access to the capabilities of a MySQL, MariaDB,
--   PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database
--   server. These capabilities mean that the code, applications, and tools
--   you already use today with your existing databases work with Amazon
--   RDS without modification. Amazon RDS automatically backs up your
--   database and maintains the database software that powers your DB
--   instance. Amazon RDS is flexible: you can scale your DB instance's
--   compute resources and storage capacity to meet your application's
--   demand. As with all Amazon Web Services, there are no up-front
--   investments, and you pay only for the resources you use.
--   
--   This interface reference for Amazon RDS contains documentation for a
--   programming or command line interface you can use to manage Amazon
--   RDS. Note that Amazon RDS is asynchronous, which means that some
--   interfaces might require techniques such as polling or callback
--   functions to determine when a command has been applied. In this
--   reference, the parameter descriptions indicate whether a command is
--   applied immediately, on the next instance reboot, or during the
--   maintenance window. The reference structure is as follows, and we list
--   following some related topics from the user guide.
--   
--   <b>Amazon RDS API Reference</b>
--   
--   <ul>
--   <li>For the alphabetical list of API actions, see <a>API Actions</a>
--   .</li>
--   <li>For the alphabetical list of data types, see <a>Data Types</a>
--   .</li>
--   <li>For a list of common query parameters, see <a>Common
--   Parameters</a> .</li>
--   <li>For descriptions of the error codes, see <a>Common Errors</a>
--   .</li>
--   </ul>
--   
--   <b>Amazon RDS User Guide</b>
--   
--   <ul>
--   <li>For a summary of the Amazon RDS interfaces, see <a>Available RDS
--   Interfaces</a> .</li>
--   <li>For more information about how to use the Query API, see <a>Using
--   the Query API</a> .</li>
--   </ul>
module Network.AWS.RDS

-- | API version <tt>2014-10-31</tt> of the Amazon Relational Database
--   Service SDK configuration.
rds :: Service

-- | <i>SourceDBInstanceIdentifier</i> refers to a DB instance with
--   <i>BackupRetentionPeriod</i> equal to 0.
_PointInTimeRestoreNotEnabledFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB parameter group is in use or is in an invalid state. If you are
--   attempting to delete the parameter group, you can't delete it when the
--   parameter group is in this state.
_InvalidDBParameterGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Request would exceed the user's DB Instance quota.
_ReservedDBInstanceQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested source could not be found.
_SourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>CertificateIdentifier</i> doesn't refer to an existing certificate.
_CertificateNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB security group authorization quota has been reached.
_AuthorizationQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The user already has a DB cluster snapshot with the given identifier.
_DBClusterSnapshotAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | A DB parameter group with the same name exists.
_DBParameterGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB parameter groups.
_DBParameterGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB cluster doesn't have enough capacity for the current operation.
_InsufficientDBClusterCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | User already has a reservation with the given identifier.
_ReservedDBInstanceAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Provisioned IOPS not available in the specified Availability Zone.
_ProvisionedIOPSNotAvailableInAZFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified CIDRIP or Amazon EC2 security group is already
--   authorized for the specified DB security group.
_AuthorizationAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The supplied category does not exist.
_SubscriptionCategoryNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The subscription name does not exist.
_SubscriptionNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested subnet is invalid, or multiple subnets were requested
--   that are not all in a common VPC.
_InvalidSubnet :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the maximum number of accounts that you can share a
--   manual DB snapshot with.
_SharedSnapshotQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   subnets in a DB subnet groups.
_DBSubnetQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified option group could not be found.
_OptionGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBClusterIdentifier</i> doesn't refer to an existing DB cluster.
_DBClusterNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>LogFileName</i> doesn't refer to an existing DB log file.
_DBLogFileNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Amazon S3 bucket name can't be found or Amazon RDS isn't
--   authorized to access the specified Amazon S3 bucket. Verify the
--   <b>SourceS3BucketName</b> and <b>S3IngestionRoleArn</b> values and try
--   again.
_InvalidS3BucketFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The user already has a DB cluster with the given identifier.
_DBClusterAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Storage of the <i>StorageType</i> specified can't be associated with
--   the DB instance.
_StorageTypeNotSupportedFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB security groups.
_DBSecurityGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The option group you are trying to create already exists.
_OptionGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The quota of 20 option groups was exceeded for this AWS account.
_OptionGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | A DB security group with the name specified in
--   <i>DBSecurityGroupName</i> already exists.
_DBSecurityGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The SNS topic ARN does not exist.
_SNSTopicARNNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | This error can occur if someone else is modifying a subscription. You
--   should retry the action.
_InvalidEventSubscriptionStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | An error occurred accessing an AWS KMS key.
_KMSKeyNotAccessibleFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSnapshotIdentifier</i> doesn't refer to an existing DB snapshot.
_DBSnapshotNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBClusterParameterGroupName</i> doesn't refer to an existing DB
--   cluster parameter group.
_DBClusterParameterGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The user attempted to create a new DB cluster and the user has already
--   reached the maximum allowed DB cluster quota.
_DBClusterQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB snapshots.
_SnapshotQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSubnetGroupName</i> is already used by an existing DB subnet
--   group.
_DBSubnetGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | You do not have permission to publish to the SNS topic ARN.
_SNSNoAuthorizationFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSecurityGroupName</i> doesn't refer to an existing DB security
--   group.
_DBSecurityGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | A DB security group isn't allowed for this action.
_DBSecurityGroupNotSupportedFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB instances.
_InstanceQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>BacktrackIdentifier</i> doesn't refer to an existing backtrack.
_DBClusterBacktrackNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>Domain</i> doesn't refer to an existing Active Directory domain.
_DomainNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBParameterGroupName</i> doesn't refer to an existing DB parameter
--   group.
_DBParameterGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DBSubnetGroup doesn't belong to the same VPC as that of an
--   existing cross-region read replica of the same source instance.
_InvalidDBSubnetGroupFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Specified offering does not exist.
_ReservedDBInstancesOfferingNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB subnet isn't in the <i>available</i> state.
_InvalidDBSubnetStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBClusterSnapshotIdentifier</i> doesn't refer to an existing DB
--   cluster snapshot.
_DBClusterSnapshotNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | SNS has responded that there is a problem with the SND topic
--   specified.
_SNSInvalidTopicFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified DB instance class isn't available in the specified
--   Availability Zone.
_InsufficientDBInstanceCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The supplied value isn't a valid DB cluster snapshot state.
_InvalidDBClusterSnapshotStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The supplied subscription name already exists.
_SubscriptionAlreadyExistFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified IAM role Amazon Resource Name (ARN) is already
--   associated with the specified DB cluster.
_DBClusterRoleAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have exceeded the maximum number of IAM roles that can be
--   associated with the specified DB cluster.
_DBClusterRoleQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB subnet group doesn't cover all Availability Zones after it's
--   created because of users' change.
_InvalidVPCNetworkStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified CIDRIP or Amazon EC2 security group isn't authorized for
--   the specified DB security group.
--   
--   RDS also may not be authorized by using IAM to perform necessary
--   actions on your behalf.
_AuthorizationNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified reserved DB Instance not found.
_ReservedDBInstanceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed number of
--   DB subnet groups.
_DBSubnetGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DBSubnetGroup shouldn't be specified while creating read replicas
--   that lie in the same region as the source instance.
_DBSubnetGroupNotAllowedFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the maximum number of event subscriptions.
_EventSubscriptionQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is insufficient storage available for the current action. You
--   might be able to resolve this error by updating your subnet group to
--   use different Availability Zones that have more storage available.
_InsufficientStorageClusterCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The option group isn't in the <i>available</i> state.
_InvalidOptionGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB cluster isn't in a valid state.
_InvalidDBClusterStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The user already has a DB instance with the given identifier.
_DBInstanceAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Cannot restore from VPC backup to non-VPC DB instance.
_InvalidRestoreFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The state of the DB security group doesn't allow deletion.
_InvalidDBSecurityGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource ID was not found.
_ResourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSubnetGroupName</i> doesn't refer to an existing DB subnet group.
_DBSubnetGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB upgrade failed because a resource the DB depends on can't be
--   modified.
_DBUpgradeDependencyFailureFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified DB instance isn't in the <i>available</i> state.
_InvalidDBInstanceStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBSnapshotIdentifier</i> is already used by an existing snapshot.
_DBSnapshotAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | <i>DBInstanceIdentifier</i> doesn't refer to an existing DB instance.
_DBInstanceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request would result in the user exceeding the allowed amount of
--   storage available across all DB instances.
_StorageQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The state of the DB snapshot doesn't allow deletion.
_InvalidDBSnapshotStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB subnet group cannot be deleted because it's in use.
_InvalidDBSubnetGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Subnets in the DB subnet group should cover at least two Availability
--   Zones unless there is only one Availability Zone.
_DBSubnetGroupDoesNotCoverEnoughAZs :: AsError a => Getting (First ServiceError) a ServiceError

-- | The DB subnet is already in use in the Availability Zone.
_SubnetAlreadyInUse :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified IAM role Amazon Resource Name (ARN) isn't associated
--   with the specified DB cluster.
_DBClusterRoleNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError

-- | Polls <a>DescribeDBInstances</a> every 30 seconds until a successful
--   state is reached. An error is returned after 60 failed checks.
dbInstanceAvailable :: Wait DescribeDBInstances

-- | Polls <a>DescribeDBSnapshots</a> every 15 seconds until a successful
--   state is reached. An error is returned after 40 failed checks.
dbSnapshotCompleted :: Wait DescribeDBSnapshots

-- | Polls <a>DescribeDBSnapshots</a> every 30 seconds until a successful
--   state is reached. An error is returned after 60 failed checks.
dbSnapshotDeleted :: Wait DescribeDBSnapshots

-- | Polls <a>DescribeDBInstances</a> every 30 seconds until a successful
--   state is reached. An error is returned after 60 failed checks.
dbInstanceDeleted :: Wait DescribeDBInstances

-- | Polls <a>DescribeDBSnapshots</a> every 30 seconds until a successful
--   state is reached. An error is returned after 60 failed checks.
dbSnapshotAvailable :: Wait DescribeDBSnapshots
data ApplyMethod
Immediate :: ApplyMethod
PendingReboot :: ApplyMethod
data SourceType
DBCluster :: SourceType
DBClusterSnapshot :: SourceType
DBInstance :: SourceType
DBParameterGroup :: SourceType
DBSecurityGroup :: SourceType
DBSnapshot :: SourceType

-- | Describes a quota for an AWS account, for example, the number of DB
--   instances allowed.
--   
--   <i>See:</i> <a>accountQuota</a> smart constructor.
data AccountQuota

-- | Creates a value of <a>AccountQuota</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aqMax</a> - The maximum allowed value for the quota.</li>
--   <li><a>aqUsed</a> - The amount currently used toward the quota
--   maximum.</li>
--   <li><a>aqAccountQuotaName</a> - The name of the Amazon RDS quota for
--   this AWS account.</li>
--   </ul>
accountQuota :: AccountQuota

-- | The maximum allowed value for the quota.
aqMax :: Lens' AccountQuota (Maybe Integer)

-- | The amount currently used toward the quota maximum.
aqUsed :: Lens' AccountQuota (Maybe Integer)

-- | The name of the Amazon RDS quota for this AWS account.
aqAccountQuotaName :: Lens' AccountQuota (Maybe Text)

-- | Contains Availability Zone information.
--   
--   This data type is used as an element in the following data type:
--   
--   <ul>
--   <li><a>OrderableDBInstanceOption</a></li>
--   </ul>
--   
--   <i>See:</i> <a>availabilityZone</a> smart constructor.
data AvailabilityZone

-- | Creates a value of <a>AvailabilityZone</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>azName</a> - The name of the availability zone.</li>
--   </ul>
availabilityZone :: AvailabilityZone

-- | The name of the availability zone.
azName :: Lens' AvailabilityZone (Maybe Text)

-- | A CA certificate for an AWS account.
--   
--   <i>See:</i> <a>certificate</a> smart constructor.
data Certificate

-- | Creates a value of <a>Certificate</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cCertificateType</a> - The type of the certificate.</li>
--   <li><a>cCertificateARN</a> - The Amazon Resource Name (ARN) for the
--   certificate.</li>
--   <li><a>cValidTill</a> - The final date that the certificate continues
--   to be valid.</li>
--   <li><a>cCertificateIdentifier</a> - The unique key that identifies a
--   certificate.</li>
--   <li><a>cThumbprint</a> - The thumbprint of the certificate.</li>
--   <li><a>cValidFrom</a> - The starting date from which the certificate
--   is valid.</li>
--   </ul>
certificate :: Certificate

-- | The type of the certificate.
cCertificateType :: Lens' Certificate (Maybe Text)

-- | The Amazon Resource Name (ARN) for the certificate.
cCertificateARN :: Lens' Certificate (Maybe Text)

-- | The final date that the certificate continues to be valid.
cValidTill :: Lens' Certificate (Maybe UTCTime)

-- | The unique key that identifies a certificate.
cCertificateIdentifier :: Lens' Certificate (Maybe Text)

-- | The thumbprint of the certificate.
cThumbprint :: Lens' Certificate (Maybe Text)

-- | The starting date from which the certificate is valid.
cValidFrom :: Lens' Certificate (Maybe UTCTime)

-- | This data type is used as a response element in the action
--   <tt>DescribeDBEngineVersions</tt> .
--   
--   <i>See:</i> <a>characterSet</a> smart constructor.
data CharacterSet

-- | Creates a value of <a>CharacterSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csCharacterSetName</a> - The name of the character set.</li>
--   <li><a>csCharacterSetDescription</a> - The description of the
--   character set.</li>
--   </ul>
characterSet :: CharacterSet

-- | The name of the character set.
csCharacterSetName :: Lens' CharacterSet (Maybe Text)

-- | The description of the character set.
csCharacterSetDescription :: Lens' CharacterSet (Maybe Text)

-- | The configuration setting for the log types to be enabled for export
--   to CloudWatch Logs for a specific DB instance or DB cluster.
--   
--   <i>See:</i> <a>cloudwatchLogsExportConfiguration</a> smart
--   constructor.
data CloudwatchLogsExportConfiguration

-- | Creates a value of <a>CloudwatchLogsExportConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clecDisableLogTypes</a> - The list of log types to
--   disable.</li>
--   <li><a>clecEnableLogTypes</a> - The list of log types to enable.</li>
--   </ul>
cloudwatchLogsExportConfiguration :: CloudwatchLogsExportConfiguration

-- | The list of log types to disable.
clecDisableLogTypes :: Lens' CloudwatchLogsExportConfiguration [Text]

-- | The list of log types to enable.
clecEnableLogTypes :: Lens' CloudwatchLogsExportConfiguration [Text]

-- | Contains the details of an Amazon RDS DB cluster.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBClusters</tt> action.
--   
--   <i>See:</i> <a>dbCluster</a> smart constructor.
data DBCluster

-- | Creates a value of <a>DBCluster</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcBacktrackConsumedChangeRecords</a> - The number of change
--   records stored for Backtrack.</li>
--   <li><a>dcEngineVersion</a> - Indicates the database engine
--   version.</li>
--   <li><a>dcStatus</a> - Specifies the current state of this DB
--   cluster.</li>
--   <li><a>dcStorageEncrypted</a> - Specifies whether the DB cluster is
--   encrypted.</li>
--   <li><a>dcDBClusterIdentifier</a> - Contains a user-supplied DB cluster
--   identifier. This identifier is the unique key that identifies a DB
--   cluster.</li>
--   <li><a>dcDBClusterMembers</a> - Provides the list of instances that
--   make up the DB cluster.</li>
--   <li><a>dcReadReplicaIdentifiers</a> - Contains one or more identifiers
--   of the Read Replicas associated with this DB cluster.</li>
--   <li><a>dcReplicationSourceIdentifier</a> - Contains the identifier of
--   the source DB cluster if this DB cluster is a Read Replica.</li>
--   <li><a>dcHostedZoneId</a> - Specifies the ID that Amazon Route 53
--   assigns when you create a hosted zone.</li>
--   <li><a>dcDBClusterParameterGroup</a> - Specifies the name of the DB
--   cluster parameter group for the DB cluster.</li>
--   <li><a>dcMasterUsername</a> - Contains the master username for the DB
--   cluster.</li>
--   <li><a>dcIAMDatabaseAuthenticationEnabled</a> - True if mapping of AWS
--   Identity and Access Management (IAM) accounts to database accounts is
--   enabled, and otherwise false.</li>
--   <li><a>dcEarliestBacktrackTime</a> - The earliest time to which a DB
--   cluster can be backtracked.</li>
--   <li><a>dcBacktrackWindow</a> - The target backtrack window, in
--   seconds. If this value is set to 0, backtracking is disabled for the
--   DB cluster. Otherwise, backtracking is enabled.</li>
--   <li><a>dcDBClusterResourceId</a> - The AWS Region-unique, immutable
--   identifier for the DB cluster. This identifier is found in AWS
--   CloudTrail log entries whenever the AWS KMS key for the DB cluster is
--   accessed.</li>
--   <li><a>dcEarliestRestorableTime</a> - The earliest time to which a
--   database can be restored with point-in-time restore.</li>
--   <li><a>dcEngine</a> - Provides the name of the database engine to be
--   used for this DB cluster.</li>
--   <li><a>dcDBClusterARN</a> - The Amazon Resource Name (ARN) for the DB
--   cluster.</li>
--   <li><a>dcCloneGroupId</a> - Identifies the clone group to which the DB
--   cluster is associated.</li>
--   <li><a>dcLatestRestorableTime</a> - Specifies the latest time to which
--   a database can be restored with point-in-time restore.</li>
--   <li><a>dcPreferredMaintenanceWindow</a> - Specifies the weekly time
--   range during which system maintenance can occur, in Universal
--   Coordinated Time (UTC).</li>
--   <li><a>dcAvailabilityZones</a> - Provides the list of EC2 Availability
--   Zones that instances in the DB cluster can be created in.</li>
--   <li><a>dcCharacterSetName</a> - If present, specifies the name of the
--   character set that this cluster is associated with.</li>
--   <li><a>dcKMSKeyId</a> - If <tt>StorageEncrypted</tt> is true, the AWS
--   KMS key identifier for the encrypted DB cluster.</li>
--   <li><a>dcPreferredBackupWindow</a> - Specifies the daily time range
--   during which automated backups are created if automated backups are
--   enabled, as determined by the <tt>BackupRetentionPeriod</tt> .</li>
--   <li><a>dcAssociatedRoles</a> - Provides a list of the AWS Identity and
--   Access Management (IAM) roles that are associated with the DB cluster.
--   IAM roles that are associated with a DB cluster grant permission for
--   the DB cluster to access other AWS services on your behalf.</li>
--   <li><a>dcVPCSecurityGroups</a> - Provides a list of VPC security
--   groups that the DB cluster belongs to.</li>
--   <li><a>dcBackupRetentionPeriod</a> - Specifies the number of days for
--   which automatic DB snapshots are retained.</li>
--   <li><a>dcDBSubnetGroup</a> - Specifies information on the subnet group
--   associated with the DB cluster, including the name, description, and
--   subnets in the subnet group.</li>
--   <li><a>dcDatabaseName</a> - Contains the name of the initial database
--   of this DB cluster that was provided at create time, if one was
--   specified when the DB cluster was created. This same name is returned
--   for the life of the DB cluster.</li>
--   <li><a>dcMultiAZ</a> - Specifies whether the DB cluster has instances
--   in multiple Availability Zones.</li>
--   <li><a>dcAllocatedStorage</a> - For all database engines except Amazon
--   Aurora, <tt>AllocatedStorage</tt> specifies the allocated storage size
--   in gibibytes (GiB). For Aurora, <tt>AllocatedStorage</tt> always
--   returns 1, because Aurora DB cluster storage size is not fixed, but
--   instead automatically adjusts as needed.</li>
--   <li><a>dcClusterCreateTime</a> - Specifies the time when the DB
--   cluster was created, in Universal Coordinated Time (UTC).</li>
--   <li><a>dcEndpoint</a> - Specifies the connection endpoint for the
--   primary instance of the DB cluster.</li>
--   <li><a>dcPercentProgress</a> - Specifies the progress of the operation
--   as a percentage.</li>
--   <li><a>dcReaderEndpoint</a> - The reader endpoint for the DB cluster.
--   The reader endpoint for a DB cluster load-balances connections across
--   the Aurora Replicas that are available in a DB cluster. As clients
--   request new connections to the reader endpoint, Aurora distributes the
--   connection requests among the Aurora Replicas in the DB cluster. This
--   functionality can help balance your read workload across multiple
--   Aurora Replicas in your DB cluster. If a failover occurs, and the
--   Aurora Replica that you are connected to is promoted to be the primary
--   instance, your connection is dropped. To continue sending your read
--   workload to other Aurora Replicas in the cluster, you can then
--   reconnect to the reader endpoint.</li>
--   <li><a>dcPort</a> - Specifies the port that the database engine is
--   listening on.</li>
--   <li><a>dcDBClusterOptionGroupMemberships</a> - Provides the list of
--   option group memberships for this DB cluster.</li>
--   </ul>
dbCluster :: DBCluster

-- | The number of change records stored for Backtrack.
dcBacktrackConsumedChangeRecords :: Lens' DBCluster (Maybe Integer)

-- | Indicates the database engine version.
dcEngineVersion :: Lens' DBCluster (Maybe Text)

-- | Specifies the current state of this DB cluster.
dcStatus :: Lens' DBCluster (Maybe Text)

-- | Specifies whether the DB cluster is encrypted.
dcStorageEncrypted :: Lens' DBCluster (Maybe Bool)

-- | Contains a user-supplied DB cluster identifier. This identifier is the
--   unique key that identifies a DB cluster.
dcDBClusterIdentifier :: Lens' DBCluster (Maybe Text)

-- | Provides the list of instances that make up the DB cluster.
dcDBClusterMembers :: Lens' DBCluster [DBClusterMember]

-- | Contains one or more identifiers of the Read Replicas associated with
--   this DB cluster.
dcReadReplicaIdentifiers :: Lens' DBCluster [Text]

-- | Contains the identifier of the source DB cluster if this DB cluster is
--   a Read Replica.
dcReplicationSourceIdentifier :: Lens' DBCluster (Maybe Text)

-- | Specifies the ID that Amazon Route 53 assigns when you create a hosted
--   zone.
dcHostedZoneId :: Lens' DBCluster (Maybe Text)

-- | Specifies the name of the DB cluster parameter group for the DB
--   cluster.
dcDBClusterParameterGroup :: Lens' DBCluster (Maybe Text)

-- | Contains the master username for the DB cluster.
dcMasterUsername :: Lens' DBCluster (Maybe Text)

-- | True if mapping of AWS Identity and Access Management (IAM) accounts
--   to database accounts is enabled, and otherwise false.
dcIAMDatabaseAuthenticationEnabled :: Lens' DBCluster (Maybe Bool)

-- | The earliest time to which a DB cluster can be backtracked.
dcEarliestBacktrackTime :: Lens' DBCluster (Maybe UTCTime)

-- | The target backtrack window, in seconds. If this value is set to 0,
--   backtracking is disabled for the DB cluster. Otherwise, backtracking
--   is enabled.
dcBacktrackWindow :: Lens' DBCluster (Maybe Integer)

-- | The AWS Region-unique, immutable identifier for the DB cluster. This
--   identifier is found in AWS CloudTrail log entries whenever the AWS KMS
--   key for the DB cluster is accessed.
dcDBClusterResourceId :: Lens' DBCluster (Maybe Text)

-- | The earliest time to which a database can be restored with
--   point-in-time restore.
dcEarliestRestorableTime :: Lens' DBCluster (Maybe UTCTime)

-- | Provides the name of the database engine to be used for this DB
--   cluster.
dcEngine :: Lens' DBCluster (Maybe Text)

-- | The Amazon Resource Name (ARN) for the DB cluster.
dcDBClusterARN :: Lens' DBCluster (Maybe Text)

-- | Identifies the clone group to which the DB cluster is associated.
dcCloneGroupId :: Lens' DBCluster (Maybe Text)

-- | Specifies the latest time to which a database can be restored with
--   point-in-time restore.
dcLatestRestorableTime :: Lens' DBCluster (Maybe UTCTime)

-- | Specifies the weekly time range during which system maintenance can
--   occur, in Universal Coordinated Time (UTC).
dcPreferredMaintenanceWindow :: Lens' DBCluster (Maybe Text)

-- | Provides the list of EC2 Availability Zones that instances in the DB
--   cluster can be created in.
dcAvailabilityZones :: Lens' DBCluster [Text]

-- | If present, specifies the name of the character set that this cluster
--   is associated with.
dcCharacterSetName :: Lens' DBCluster (Maybe Text)

-- | If <tt>StorageEncrypted</tt> is true, the AWS KMS key identifier for
--   the encrypted DB cluster.
dcKMSKeyId :: Lens' DBCluster (Maybe Text)

-- | Specifies the daily time range during which automated backups are
--   created if automated backups are enabled, as determined by the
--   <tt>BackupRetentionPeriod</tt> .
dcPreferredBackupWindow :: Lens' DBCluster (Maybe Text)

-- | Provides a list of the AWS Identity and Access Management (IAM) roles
--   that are associated with the DB cluster. IAM roles that are associated
--   with a DB cluster grant permission for the DB cluster to access other
--   AWS services on your behalf.
dcAssociatedRoles :: Lens' DBCluster [DBClusterRole]

-- | Provides a list of VPC security groups that the DB cluster belongs to.
dcVPCSecurityGroups :: Lens' DBCluster [VPCSecurityGroupMembership]

-- | Specifies the number of days for which automatic DB snapshots are
--   retained.
dcBackupRetentionPeriod :: Lens' DBCluster (Maybe Int)

-- | Specifies information on the subnet group associated with the DB
--   cluster, including the name, description, and subnets in the subnet
--   group.
dcDBSubnetGroup :: Lens' DBCluster (Maybe Text)

-- | Contains the name of the initial database of this DB cluster that was
--   provided at create time, if one was specified when the DB cluster was
--   created. This same name is returned for the life of the DB cluster.
dcDatabaseName :: Lens' DBCluster (Maybe Text)

-- | Specifies whether the DB cluster has instances in multiple
--   Availability Zones.
dcMultiAZ :: Lens' DBCluster (Maybe Bool)

-- | For all database engines except Amazon Aurora,
--   <tt>AllocatedStorage</tt> specifies the allocated storage size in
--   gibibytes (GiB). For Aurora, <tt>AllocatedStorage</tt> always returns
--   1, because Aurora DB cluster storage size is not fixed, but instead
--   automatically adjusts as needed.
dcAllocatedStorage :: Lens' DBCluster (Maybe Int)

-- | Specifies the time when the DB cluster was created, in Universal
--   Coordinated Time (UTC).
dcClusterCreateTime :: Lens' DBCluster (Maybe UTCTime)

-- | Specifies the connection endpoint for the primary instance of the DB
--   cluster.
dcEndpoint :: Lens' DBCluster (Maybe Text)

-- | Specifies the progress of the operation as a percentage.
dcPercentProgress :: Lens' DBCluster (Maybe Text)

-- | The reader endpoint for the DB cluster. The reader endpoint for a DB
--   cluster load-balances connections across the Aurora Replicas that are
--   available in a DB cluster. As clients request new connections to the
--   reader endpoint, Aurora distributes the connection requests among the
--   Aurora Replicas in the DB cluster. This functionality can help balance
--   your read workload across multiple Aurora Replicas in your DB cluster.
--   If a failover occurs, and the Aurora Replica that you are connected to
--   is promoted to be the primary instance, your connection is dropped. To
--   continue sending your read workload to other Aurora Replicas in the
--   cluster, you can then reconnect to the reader endpoint.
dcReaderEndpoint :: Lens' DBCluster (Maybe Text)

-- | Specifies the port that the database engine is listening on.
dcPort :: Lens' DBCluster (Maybe Int)

-- | Provides the list of option group memberships for this DB cluster.
dcDBClusterOptionGroupMemberships :: Lens' DBCluster [DBClusterOptionGroupStatus]

-- | This data type is used as a response element in the
--   <tt>DescribeDBClusterBacktracks</tt> action.
--   
--   <i>See:</i> <a>dbClusterBacktrack</a> smart constructor.
data DBClusterBacktrack

-- | Creates a value of <a>DBClusterBacktrack</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbStatus</a> - The status of the backtrack. This property
--   returns one of the following values: * <tt>applying</tt> - The
--   backtrack is currently being applied to or rolled back from the DB
--   cluster. * <tt>completed</tt> - The backtrack has successfully been
--   applied to or rolled back from the DB cluster. * <tt>failed</tt> - An
--   error occurred while the backtrack was applied to or rolled back from
--   the DB cluster. * <tt>pending</tt> - The backtrack is currently
--   pending application to or rollback from the DB cluster.</li>
--   <li><a>dcbBacktrackIdentifier</a> - Contains the backtrack
--   identifier.</li>
--   <li><a>dcbBacktrackTo</a> - The timestamp of the time to which the DB
--   cluster was backtracked.</li>
--   <li><a>dcbDBClusterIdentifier</a> - Contains a user-supplied DB
--   cluster identifier. This identifier is the unique key that identifies
--   a DB cluster.</li>
--   <li><a>dcbBacktrackedFrom</a> - The timestamp of the time from which
--   the DB cluster was backtracked.</li>
--   <li><a>dcbBacktrackRequestCreationTime</a> - The timestamp of the time
--   at which the backtrack was requested.</li>
--   </ul>
dbClusterBacktrack :: DBClusterBacktrack

-- | The status of the backtrack. This property returns one of the
--   following values: * <tt>applying</tt> - The backtrack is currently
--   being applied to or rolled back from the DB cluster. *
--   <tt>completed</tt> - The backtrack has successfully been applied to or
--   rolled back from the DB cluster. * <tt>failed</tt> - An error occurred
--   while the backtrack was applied to or rolled back from the DB cluster.
--   * <tt>pending</tt> - The backtrack is currently pending application to
--   or rollback from the DB cluster.
dcbStatus :: Lens' DBClusterBacktrack (Maybe Text)

-- | Contains the backtrack identifier.
dcbBacktrackIdentifier :: Lens' DBClusterBacktrack (Maybe Text)

-- | The timestamp of the time to which the DB cluster was backtracked.
dcbBacktrackTo :: Lens' DBClusterBacktrack (Maybe UTCTime)

-- | Contains a user-supplied DB cluster identifier. This identifier is the
--   unique key that identifies a DB cluster.
dcbDBClusterIdentifier :: Lens' DBClusterBacktrack (Maybe Text)

-- | The timestamp of the time from which the DB cluster was backtracked.
dcbBacktrackedFrom :: Lens' DBClusterBacktrack (Maybe UTCTime)

-- | The timestamp of the time at which the backtrack was requested.
dcbBacktrackRequestCreationTime :: Lens' DBClusterBacktrack (Maybe UTCTime)

-- | Contains information about an instance that is part of a DB cluster.
--   
--   <i>See:</i> <a>dbClusterMember</a> smart constructor.
data DBClusterMember

-- | Creates a value of <a>DBClusterMember</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcmPromotionTier</a> - A value that specifies the order in
--   which an Aurora Replica is promoted to the primary instance after a
--   failure of the existing primary instance. For more information, see
--   <a>Fault Tolerance for an Aurora DB Cluster</a> .</li>
--   <li><a>dcmDBInstanceIdentifier</a> - Specifies the instance identifier
--   for this member of the DB cluster.</li>
--   <li><a>dcmIsClusterWriter</a> - Value that is <tt>true</tt> if the
--   cluster member is the primary instance for the DB cluster and
--   <tt>false</tt> otherwise.</li>
--   <li><a>dcmDBClusterParameterGroupStatus</a> - Specifies the status of
--   the DB cluster parameter group for this member of the DB cluster.</li>
--   </ul>
dbClusterMember :: DBClusterMember

-- | A value that specifies the order in which an Aurora Replica is
--   promoted to the primary instance after a failure of the existing
--   primary instance. For more information, see <a>Fault Tolerance for an
--   Aurora DB Cluster</a> .
dcmPromotionTier :: Lens' DBClusterMember (Maybe Int)

-- | Specifies the instance identifier for this member of the DB cluster.
dcmDBInstanceIdentifier :: Lens' DBClusterMember (Maybe Text)

-- | Value that is <tt>true</tt> if the cluster member is the primary
--   instance for the DB cluster and <tt>false</tt> otherwise.
dcmIsClusterWriter :: Lens' DBClusterMember (Maybe Bool)

-- | Specifies the status of the DB cluster parameter group for this member
--   of the DB cluster.
dcmDBClusterParameterGroupStatus :: Lens' DBClusterMember (Maybe Text)

-- | Contains status information for a DB cluster option group.
--   
--   <i>See:</i> <a>dbClusterOptionGroupStatus</a> smart constructor.
data DBClusterOptionGroupStatus

-- | Creates a value of <a>DBClusterOptionGroupStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcogsStatus</a> - Specifies the status of the DB cluster option
--   group.</li>
--   <li><a>dcogsDBClusterOptionGroupName</a> - Specifies the name of the
--   DB cluster option group.</li>
--   </ul>
dbClusterOptionGroupStatus :: DBClusterOptionGroupStatus

-- | Specifies the status of the DB cluster option group.
dcogsStatus :: Lens' DBClusterOptionGroupStatus (Maybe Text)

-- | Specifies the name of the DB cluster option group.
dcogsDBClusterOptionGroupName :: Lens' DBClusterOptionGroupStatus (Maybe Text)

-- | Contains the details of an Amazon RDS DB cluster parameter group.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBClusterParameterGroups</tt> action.
--   
--   <i>See:</i> <a>dbClusterParameterGroup</a> smart constructor.
data DBClusterParameterGroup

-- | Creates a value of <a>DBClusterParameterGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcpgDBClusterParameterGroupARN</a> - The Amazon Resource Name
--   (ARN) for the DB cluster parameter group.</li>
--   <li><a>dcpgDBParameterGroupFamily</a> - Provides the name of the DB
--   parameter group family that this DB cluster parameter group is
--   compatible with.</li>
--   <li><a>dcpgDBClusterParameterGroupName</a> - Provides the name of the
--   DB cluster parameter group.</li>
--   <li><a>dcpgDescription</a> - Provides the customer-specified
--   description for this DB cluster parameter group.</li>
--   </ul>
dbClusterParameterGroup :: DBClusterParameterGroup

-- | The Amazon Resource Name (ARN) for the DB cluster parameter group.
dcpgDBClusterParameterGroupARN :: Lens' DBClusterParameterGroup (Maybe Text)

-- | Provides the name of the DB parameter group family that this DB
--   cluster parameter group is compatible with.
dcpgDBParameterGroupFamily :: Lens' DBClusterParameterGroup (Maybe Text)

-- | Provides the name of the DB cluster parameter group.
dcpgDBClusterParameterGroupName :: Lens' DBClusterParameterGroup (Maybe Text)

-- | Provides the customer-specified description for this DB cluster
--   parameter group.
dcpgDescription :: Lens' DBClusterParameterGroup (Maybe Text)

-- | <i>See:</i> <a>dbClusterParameterGroupNameMessage</a> smart
--   constructor.
data DBClusterParameterGroupNameMessage

-- | Creates a value of <a>DBClusterParameterGroupNameMessage</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcpgnmDBClusterParameterGroupName</a> - The name of the DB
--   cluster parameter group. Constraints: * Must be 1 to 255 letters or
--   numbers. * First character must be a letter * Cannot end with a hyphen
--   or contain two consecutive hyphens</li>
--   </ul>
dbClusterParameterGroupNameMessage :: DBClusterParameterGroupNameMessage

-- | The name of the DB cluster parameter group. Constraints: * Must be 1
--   to 255 letters or numbers. * First character must be a letter * Cannot
--   end with a hyphen or contain two consecutive hyphens
dcpgnmDBClusterParameterGroupName :: Lens' DBClusterParameterGroupNameMessage (Maybe Text)

-- | Describes an AWS Identity and Access Management (IAM) role that is
--   associated with a DB cluster.
--   
--   <i>See:</i> <a>dbClusterRole</a> smart constructor.
data DBClusterRole

-- | Creates a value of <a>DBClusterRole</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrStatus</a> - Describes the state of association between the
--   IAM role and the DB cluster. The Status property returns one of the
--   following values: * <tt>ACTIVE</tt> - the IAM role ARN is associated
--   with the DB cluster and can be used to access other AWS services on
--   your behalf. * <tt>PENDING</tt> - the IAM role ARN is being associated
--   with the DB cluster. * <tt>INVALID</tt> - the IAM role ARN is
--   associated with the DB cluster, but the DB cluster is unable to assume
--   the IAM role in order to access other AWS services on your
--   behalf.</li>
--   <li><a>dcrRoleARN</a> - The Amazon Resource Name (ARN) of the IAM role
--   that is associated with the DB cluster.</li>
--   </ul>
dbClusterRole :: DBClusterRole

-- | Describes the state of association between the IAM role and the DB
--   cluster. The Status property returns one of the following values: *
--   <tt>ACTIVE</tt> - the IAM role ARN is associated with the DB cluster
--   and can be used to access other AWS services on your behalf. *
--   <tt>PENDING</tt> - the IAM role ARN is being associated with the DB
--   cluster. * <tt>INVALID</tt> - the IAM role ARN is associated with the
--   DB cluster, but the DB cluster is unable to assume the IAM role in
--   order to access other AWS services on your behalf.
dcrStatus :: Lens' DBClusterRole (Maybe Text)

-- | The Amazon Resource Name (ARN) of the IAM role that is associated with
--   the DB cluster.
dcrRoleARN :: Lens' DBClusterRole (Maybe Text)

-- | Contains the details for an Amazon RDS DB cluster snapshot
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBClusterSnapshots</tt> action.
--   
--   <i>See:</i> <a>dbClusterSnapshot</a> smart constructor.
data DBClusterSnapshot

-- | Creates a value of <a>DBClusterSnapshot</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsEngineVersion</a> - Provides the version of the database
--   engine for this DB cluster snapshot.</li>
--   <li><a>dcsStatus</a> - Specifies the status of this DB cluster
--   snapshot.</li>
--   <li><a>dcsStorageEncrypted</a> - Specifies whether the DB cluster
--   snapshot is encrypted.</li>
--   <li><a>dcsDBClusterIdentifier</a> - Specifies the DB cluster
--   identifier of the DB cluster that this DB cluster snapshot was created
--   from.</li>
--   <li><a>dcsMasterUsername</a> - Provides the master username for the DB
--   cluster snapshot.</li>
--   <li><a>dcsIAMDatabaseAuthenticationEnabled</a> - True if mapping of
--   AWS Identity and Access Management (IAM) accounts to database accounts
--   is enabled, and otherwise false.</li>
--   <li><a>dcsDBClusterSnapshotARN</a> - The Amazon Resource Name (ARN)
--   for the DB cluster snapshot.</li>
--   <li><a>dcsVPCId</a> - Provides the VPC ID associated with the DB
--   cluster snapshot.</li>
--   <li><a>dcsDBClusterSnapshotIdentifier</a> - Specifies the identifier
--   for the DB cluster snapshot.</li>
--   <li><a>dcsEngine</a> - Specifies the name of the database engine.</li>
--   <li><a>dcsLicenseModel</a> - Provides the license model information
--   for this DB cluster snapshot.</li>
--   <li><a>dcsAvailabilityZones</a> - Provides the list of EC2
--   Availability Zones that instances in the DB cluster snapshot can be
--   restored in.</li>
--   <li><a>dcsSnapshotType</a> - Provides the type of the DB cluster
--   snapshot.</li>
--   <li><a>dcsKMSKeyId</a> - If <tt>StorageEncrypted</tt> is true, the AWS
--   KMS key identifier for the encrypted DB cluster snapshot.</li>
--   <li><a>dcsSnapshotCreateTime</a> - Provides the time when the snapshot
--   was taken, in Universal Coordinated Time (UTC).</li>
--   <li><a>dcsAllocatedStorage</a> - Specifies the allocated storage size
--   in gibibytes (GiB).</li>
--   <li><a>dcsSourceDBClusterSnapshotARN</a> - If the DB cluster snapshot
--   was copied from a source DB cluster snapshot, the Amazon Resource Name
--   (ARN) for the source DB cluster snapshot, otherwise, a null
--   value.</li>
--   <li><a>dcsClusterCreateTime</a> - Specifies the time when the DB
--   cluster was created, in Universal Coordinated Time (UTC).</li>
--   <li><a>dcsPercentProgress</a> - Specifies the percentage of the
--   estimated data that has been transferred.</li>
--   <li><a>dcsPort</a> - Specifies the port that the DB cluster was
--   listening on at the time of the snapshot.</li>
--   </ul>
dbClusterSnapshot :: DBClusterSnapshot

-- | Provides the version of the database engine for this DB cluster
--   snapshot.
dcsEngineVersion :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies the status of this DB cluster snapshot.
dcsStatus :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies whether the DB cluster snapshot is encrypted.
dcsStorageEncrypted :: Lens' DBClusterSnapshot (Maybe Bool)

-- | Specifies the DB cluster identifier of the DB cluster that this DB
--   cluster snapshot was created from.
dcsDBClusterIdentifier :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the master username for the DB cluster snapshot.
dcsMasterUsername :: Lens' DBClusterSnapshot (Maybe Text)

-- | True if mapping of AWS Identity and Access Management (IAM) accounts
--   to database accounts is enabled, and otherwise false.
dcsIAMDatabaseAuthenticationEnabled :: Lens' DBClusterSnapshot (Maybe Bool)

-- | The Amazon Resource Name (ARN) for the DB cluster snapshot.
dcsDBClusterSnapshotARN :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the VPC ID associated with the DB cluster snapshot.
dcsVPCId :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies the identifier for the DB cluster snapshot.
dcsDBClusterSnapshotIdentifier :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies the name of the database engine.
dcsEngine :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the license model information for this DB cluster snapshot.
dcsLicenseModel :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the list of EC2 Availability Zones that instances in the DB
--   cluster snapshot can be restored in.
dcsAvailabilityZones :: Lens' DBClusterSnapshot [Text]

-- | Provides the type of the DB cluster snapshot.
dcsSnapshotType :: Lens' DBClusterSnapshot (Maybe Text)

-- | If <tt>StorageEncrypted</tt> is true, the AWS KMS key identifier for
--   the encrypted DB cluster snapshot.
dcsKMSKeyId :: Lens' DBClusterSnapshot (Maybe Text)

-- | Provides the time when the snapshot was taken, in Universal
--   Coordinated Time (UTC).
dcsSnapshotCreateTime :: Lens' DBClusterSnapshot (Maybe UTCTime)

-- | Specifies the allocated storage size in gibibytes (GiB).
dcsAllocatedStorage :: Lens' DBClusterSnapshot (Maybe Int)

-- | If the DB cluster snapshot was copied from a source DB cluster
--   snapshot, the Amazon Resource Name (ARN) for the source DB cluster
--   snapshot, otherwise, a null value.
dcsSourceDBClusterSnapshotARN :: Lens' DBClusterSnapshot (Maybe Text)

-- | Specifies the time when the DB cluster was created, in Universal
--   Coordinated Time (UTC).
dcsClusterCreateTime :: Lens' DBClusterSnapshot (Maybe UTCTime)

-- | Specifies the percentage of the estimated data that has been
--   transferred.
dcsPercentProgress :: Lens' DBClusterSnapshot (Maybe Int)

-- | Specifies the port that the DB cluster was listening on at the time of
--   the snapshot.
dcsPort :: Lens' DBClusterSnapshot (Maybe Int)

-- | Contains the name and values of a manual DB cluster snapshot
--   attribute.
--   
--   Manual DB cluster snapshot attributes are used to authorize other AWS
--   accounts to restore a manual DB cluster snapshot. For more
--   information, see the <tt>ModifyDBClusterSnapshotAttribute</tt> API
--   action.
--   
--   <i>See:</i> <a>dbClusterSnapshotAttribute</a> smart constructor.
data DBClusterSnapshotAttribute

-- | Creates a value of <a>DBClusterSnapshotAttribute</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsaAttributeValues</a> - The value(s) for the manual DB
--   cluster snapshot attribute. If the <tt>AttributeName</tt> field is set
--   to <tt>restore</tt> , then this element returns a list of IDs of the
--   AWS accounts that are authorized to copy or restore the manual DB
--   cluster snapshot. If a value of <tt>all</tt> is in the list, then the
--   manual DB cluster snapshot is public and available for any AWS account
--   to copy or restore.</li>
--   <li><a>dcsaAttributeName</a> - The name of the manual DB cluster
--   snapshot attribute. The attribute named <tt>restore</tt> refers to the
--   list of AWS accounts that have permission to copy or restore the
--   manual DB cluster snapshot. For more information, see the
--   <tt>ModifyDBClusterSnapshotAttribute</tt> API action.</li>
--   </ul>
dbClusterSnapshotAttribute :: DBClusterSnapshotAttribute

-- | The value(s) for the manual DB cluster snapshot attribute. If the
--   <tt>AttributeName</tt> field is set to <tt>restore</tt> , then this
--   element returns a list of IDs of the AWS accounts that are authorized
--   to copy or restore the manual DB cluster snapshot. If a value of
--   <tt>all</tt> is in the list, then the manual DB cluster snapshot is
--   public and available for any AWS account to copy or restore.
dcsaAttributeValues :: Lens' DBClusterSnapshotAttribute [Text]

-- | The name of the manual DB cluster snapshot attribute. The attribute
--   named <tt>restore</tt> refers to the list of AWS accounts that have
--   permission to copy or restore the manual DB cluster snapshot. For more
--   information, see the <tt>ModifyDBClusterSnapshotAttribute</tt> API
--   action.
dcsaAttributeName :: Lens' DBClusterSnapshotAttribute (Maybe Text)

-- | Contains the results of a successful call to the
--   <tt>DescribeDBClusterSnapshotAttributes</tt> API action.
--   
--   Manual DB cluster snapshot attributes are used to authorize other AWS
--   accounts to copy or restore a manual DB cluster snapshot. For more
--   information, see the <tt>ModifyDBClusterSnapshotAttribute</tt> API
--   action.
--   
--   <i>See:</i> <a>dbClusterSnapshotAttributesResult</a> smart
--   constructor.
data DBClusterSnapshotAttributesResult

-- | Creates a value of <a>DBClusterSnapshotAttributesResult</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsarDBClusterSnapshotIdentifier</a> - The identifier of the
--   manual DB cluster snapshot that the attributes apply to.</li>
--   <li><a>dcsarDBClusterSnapshotAttributes</a> - The list of attributes
--   and values for the manual DB cluster snapshot.</li>
--   </ul>
dbClusterSnapshotAttributesResult :: DBClusterSnapshotAttributesResult

-- | The identifier of the manual DB cluster snapshot that the attributes
--   apply to.
dcsarDBClusterSnapshotIdentifier :: Lens' DBClusterSnapshotAttributesResult (Maybe Text)

-- | The list of attributes and values for the manual DB cluster snapshot.
dcsarDBClusterSnapshotAttributes :: Lens' DBClusterSnapshotAttributesResult [DBClusterSnapshotAttribute]

-- | This data type is used as a response element in the action
--   <tt>DescribeDBEngineVersions</tt> .
--   
--   <i>See:</i> <a>dbEngineVersion</a> smart constructor.
data DBEngineVersion

-- | Creates a value of <a>DBEngineVersion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>devEngineVersion</a> - The version number of the database
--   engine.</li>
--   <li><a>devDBEngineVersionDescription</a> - The description of the
--   database engine version.</li>
--   <li><a>devDefaultCharacterSet</a> - The default character set for new
--   instances of this engine version, if the <tt>CharacterSetName</tt>
--   parameter of the CreateDBInstance API is not specified.</li>
--   <li><a>devEngine</a> - The name of the database engine.</li>
--   <li><a>devDBParameterGroupFamily</a> - The name of the DB parameter
--   group family for the database engine.</li>
--   <li><a>devSupportedCharacterSets</a> - A list of the character sets
--   supported by this engine for the <tt>CharacterSetName</tt> parameter
--   of the <tt>CreateDBInstance</tt> action.</li>
--   <li><a>devDBEngineDescription</a> - The description of the database
--   engine.</li>
--   <li><a>devValidUpgradeTarget</a> - A list of engine versions that this
--   database engine version can be upgraded to.</li>
--   <li><a>devSupportsLogExportsToCloudwatchLogs</a> - A value that
--   indicates whether the engine version supports exporting the log types
--   specified by ExportableLogTypes to CloudWatch Logs.</li>
--   <li><a>devSupportsReadReplica</a> - Indicates whether the database
--   engine version supports read replicas.</li>
--   <li><a>devSupportedTimezones</a> - A list of the time zones supported
--   by this engine for the <tt>Timezone</tt> parameter of the
--   <tt>CreateDBInstance</tt> action.</li>
--   <li><a>devExportableLogTypes</a> - The types of logs that the database
--   engine has available for export to CloudWatch Logs.</li>
--   </ul>
dbEngineVersion :: DBEngineVersion

-- | The version number of the database engine.
devEngineVersion :: Lens' DBEngineVersion (Maybe Text)

-- | The description of the database engine version.
devDBEngineVersionDescription :: Lens' DBEngineVersion (Maybe Text)

-- | The default character set for new instances of this engine version, if
--   the <tt>CharacterSetName</tt> parameter of the CreateDBInstance API is
--   not specified.
devDefaultCharacterSet :: Lens' DBEngineVersion (Maybe CharacterSet)

-- | The name of the database engine.
devEngine :: Lens' DBEngineVersion (Maybe Text)

-- | The name of the DB parameter group family for the database engine.
devDBParameterGroupFamily :: Lens' DBEngineVersion (Maybe Text)

-- | A list of the character sets supported by this engine for the
--   <tt>CharacterSetName</tt> parameter of the <tt>CreateDBInstance</tt>
--   action.
devSupportedCharacterSets :: Lens' DBEngineVersion [CharacterSet]

-- | The description of the database engine.
devDBEngineDescription :: Lens' DBEngineVersion (Maybe Text)

-- | A list of engine versions that this database engine version can be
--   upgraded to.
devValidUpgradeTarget :: Lens' DBEngineVersion [UpgradeTarget]

-- | A value that indicates whether the engine version supports exporting
--   the log types specified by ExportableLogTypes to CloudWatch Logs.
devSupportsLogExportsToCloudwatchLogs :: Lens' DBEngineVersion (Maybe Bool)

-- | Indicates whether the database engine version supports read replicas.
devSupportsReadReplica :: Lens' DBEngineVersion (Maybe Bool)

-- | A list of the time zones supported by this engine for the
--   <tt>Timezone</tt> parameter of the <tt>CreateDBInstance</tt> action.
devSupportedTimezones :: Lens' DBEngineVersion [Timezone]

-- | The types of logs that the database engine has available for export to
--   CloudWatch Logs.
devExportableLogTypes :: Lens' DBEngineVersion [Text]

-- | Contains the details of an Amazon RDS DB instance.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBInstances</tt> action.
--   
--   <i>See:</i> <a>dbInstance</a> smart constructor.
data DBInstance

-- | Creates a value of <a>DBInstance</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diEngineVersion</a> - Indicates the database engine
--   version.</li>
--   <li><a>diDBSecurityGroups</a> - Provides List of DB security group
--   elements containing only <tt>DBSecurityGroup.Name</tt> and
--   <tt>DBSecurityGroup.Status</tt> subelements.</li>
--   <li><a>diStorageEncrypted</a> - Specifies whether the DB instance is
--   encrypted.</li>
--   <li><a>diDBClusterIdentifier</a> - 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.</li>
--   <li><a>diPubliclyAccessible</a> - 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. Default: The
--   default behavior varies depending on whether a VPC has been requested
--   or not. The following list shows the default behavior in each case. *
--   <b>Default VPC:</b> true * <b>VPC:</b> false If no DB subnet group has
--   been specified as part of the request and the PubliclyAccessible value
--   has not been set, the DB instance is publicly accessible. If a
--   specific DB subnet group has been specified as part of the request and
--   the PubliclyAccessible value has not been set, the DB instance is
--   private.</li>
--   <li><a>diAutoMinorVersionUpgrade</a> - Indicates that minor version
--   patches are applied automatically.</li>
--   <li><a>diDBInstanceARN</a> - The Amazon Resource Name (ARN) for the DB
--   instance.</li>
--   <li><a>diMasterUsername</a> - Contains the master username for the DB
--   instance.</li>
--   <li><a>diReadReplicaDBInstanceIdentifiers</a> - Contains one or more
--   identifiers of the Read Replicas associated with this DB
--   instance.</li>
--   <li><a>diIAMDatabaseAuthenticationEnabled</a> - True if mapping of AWS
--   Identity and Access Management (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. To enable IAM database authentication
--   for Aurora, see DBCluster Type.</li>
--   <li><a>diMonitoringRoleARN</a> - The ARN for the IAM role that permits
--   RDS to send Enhanced Monitoring metrics to Amazon CloudWatch
--   Logs.</li>
--   <li><a>diIOPS</a> - Specifies the Provisioned IOPS (I/O operations per
--   second) value.</li>
--   <li><a>diInstanceCreateTime</a> - Provides the date and time the DB
--   instance was created.</li>
--   <li><a>diReadReplicaSourceDBInstanceIdentifier</a> - Contains the
--   identifier of the source DB instance if this DB instance is a Read
--   Replica.</li>
--   <li><a>diMonitoringInterval</a> - The interval, in seconds, between
--   points when Enhanced Monitoring metrics are collected for the DB
--   instance.</li>
--   <li><a>diEngine</a> - Provides the name of the database engine to be
--   used for this DB instance.</li>
--   <li><a>diLatestRestorableTime</a> - Specifies the latest time to which
--   a database can be restored with point-in-time restore.</li>
--   <li><a>diDBInstanceClass</a> - Contains the name of the compute and
--   memory capacity class of the DB instance.</li>
--   <li><a>diPromotionTier</a> - A value that specifies the order in which
--   an Aurora Replica is promoted to the primary instance after a failure
--   of the existing primary instance. For more information, see <a>Fault
--   Tolerance for an Aurora DB Cluster</a> .</li>
--   <li><a>diLicenseModel</a> - License model information for this DB
--   instance.</li>
--   <li><a>diPreferredMaintenanceWindow</a> - Specifies the weekly time
--   range during which system maintenance can occur, in Universal
--   Coordinated Time (UTC).</li>
--   <li><a>diCACertificateIdentifier</a> - The identifier of the CA
--   certificate for this DB instance.</li>
--   <li><a>diDBInstanceIdentifier</a> - Contains a user-supplied database
--   identifier. This identifier is the unique key that identifies a DB
--   instance.</li>
--   <li><a>diCharacterSetName</a> - If present, specifies the name of the
--   character set that this instance is associated with.</li>
--   <li><a>diKMSKeyId</a> - If <tt>StorageEncrypted</tt> is true, the AWS
--   KMS key identifier for the encrypted DB instance.</li>
--   <li><a>diPreferredBackupWindow</a> - Specifies the daily time range
--   during which automated backups are created if automated backups are
--   enabled, as determined by the <tt>BackupRetentionPeriod</tt> .</li>
--   <li><a>diAvailabilityZone</a> - Specifies the name of the Availability
--   Zone the DB instance is located in.</li>
--   <li><a>diVPCSecurityGroups</a> - Provides a list of VPC security group
--   elements that the DB instance belongs to.</li>
--   <li><a>diBackupRetentionPeriod</a> - Specifies the number of days for
--   which automatic DB snapshots are retained.</li>
--   <li><a>diPerformanceInsightsKMSKeyId</a> - The AWS KMS key identifier
--   for encryption of Performance Insights data. The KMS key ID is the
--   Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias
--   for the KMS encryption key.</li>
--   <li><a>diDBSubnetGroup</a> - Specifies information on the subnet group
--   associated with the DB instance, including the name, description, and
--   subnets in the subnet group.</li>
--   <li><a>diMultiAZ</a> - Specifies if the DB instance is a Multi-AZ
--   deployment.</li>
--   <li><a>diOptionGroupMemberships</a> - Provides the list of option
--   group memberships for this DB instance.</li>
--   <li><a>diEnabledCloudwatchLogsExports</a> - A list of log types that
--   this DB instance is configured to export to CloudWatch Logs.</li>
--   <li><a>diEnhancedMonitoringResourceARN</a> - The Amazon Resource Name
--   (ARN) of the Amazon CloudWatch Logs log stream that receives the
--   Enhanced Monitoring metrics data for the DB instance.</li>
--   <li><a>diSecondaryAvailabilityZone</a> - If present, specifies the
--   name of the secondary Availability Zone for a DB instance with
--   multi-AZ support.</li>
--   <li><a>diPerformanceInsightsEnabled</a> - True if Performance Insights
--   is enabled for the DB instance, and otherwise false.</li>
--   <li><a>diAllocatedStorage</a> - Specifies the allocated storage size
--   specified in gibibytes.</li>
--   <li><a>diDBiResourceId</a> - The AWS Region-unique, immutable
--   identifier for the DB instance. This identifier is found in AWS
--   CloudTrail log entries whenever the AWS KMS key for the DB instance is
--   accessed.</li>
--   <li><a>diDBParameterGroups</a> - Provides the list of DB parameter
--   groups applied to this DB instance.</li>
--   <li><a>diCopyTagsToSnapshot</a> - Specifies whether tags are copied
--   from the DB instance to snapshots of the DB instance.</li>
--   <li><a>diTimezone</a> - The time zone of the DB instance. In most
--   cases, the <tt>Timezone</tt> element is empty. <tt>Timezone</tt>
--   content appears only for Microsoft SQL Server DB instances that were
--   created with a time zone specified.</li>
--   <li><a>diTDECredentialARN</a> - The ARN from the key store with which
--   the instance is associated for TDE encryption.</li>
--   <li><a>diEndpoint</a> - Specifies the connection endpoint.</li>
--   <li><a>diDBInstanceStatus</a> - Specifies the current state of this
--   database.</li>
--   <li><a>diDBInstancePort</a> - 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.</li>
--   <li><a>diPendingModifiedValues</a> - Specifies that changes to the DB
--   instance are pending. This element is only included when changes are
--   pending. Specific changes are identified by subelements.</li>
--   <li><a>diReadReplicaDBClusterIdentifiers</a> - Contains one or more
--   identifiers of Aurora DB clusters that are Read Replicas of this DB
--   instance.</li>
--   <li><a>diStorageType</a> - Specifies the storage type associated with
--   DB instance.</li>
--   <li><a>diStatusInfos</a> - The status of a Read Replica. If the
--   instance is not a Read Replica, this is blank.</li>
--   <li><a>diDomainMemberships</a> - The Active Directory Domain
--   membership records associated with the DB instance.</li>
--   <li><a>diDBName</a> - The meaning of this parameter differs according
--   to the database engine you use. For example, this value returns MySQL,
--   MariaDB, or PostgreSQL information when returning values from
--   CreateDBInstanceReadReplica since Read Replicas are only supported for
--   these engines. <b>MySQL, MariaDB, SQL Server, PostgreSQL</b> 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. Type:
--   String <b>Oracle</b> 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.</li>
--   </ul>
dbInstance :: DBInstance

-- | Indicates the database engine version.
diEngineVersion :: Lens' DBInstance (Maybe Text)

-- | Provides List of DB security group elements containing only
--   <tt>DBSecurityGroup.Name</tt> and <tt>DBSecurityGroup.Status</tt>
--   subelements.
diDBSecurityGroups :: Lens' DBInstance [DBSecurityGroupMembership]

-- | Specifies whether the DB instance is encrypted.
diStorageEncrypted :: Lens' DBInstance (Maybe 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.
diDBClusterIdentifier :: Lens' DBInstance (Maybe 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. Default: The default behavior varies depending on
--   whether a VPC has been requested or not. The following list shows the
--   default behavior in each case. * <b>Default VPC:</b> true *
--   <b>VPC:</b> false If no DB subnet group has been specified as part of
--   the request and the PubliclyAccessible value has not been set, the DB
--   instance is publicly accessible. If a specific DB subnet group has
--   been specified as part of the request and the PubliclyAccessible value
--   has not been set, the DB instance is private.
diPubliclyAccessible :: Lens' DBInstance (Maybe Bool)

-- | Indicates that minor version patches are applied automatically.
diAutoMinorVersionUpgrade :: Lens' DBInstance (Maybe Bool)

-- | The Amazon Resource Name (ARN) for the DB instance.
diDBInstanceARN :: Lens' DBInstance (Maybe Text)

-- | Contains the master username for the DB instance.
diMasterUsername :: Lens' DBInstance (Maybe Text)

-- | Contains one or more identifiers of the Read Replicas associated with
--   this DB instance.
diReadReplicaDBInstanceIdentifiers :: Lens' DBInstance [Text]

-- | True if mapping of AWS Identity and Access Management (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. To enable IAM
--   database authentication for Aurora, see DBCluster Type.
diIAMDatabaseAuthenticationEnabled :: Lens' DBInstance (Maybe Bool)

-- | The ARN for the IAM role that permits RDS to send Enhanced Monitoring
--   metrics to Amazon CloudWatch Logs.
diMonitoringRoleARN :: Lens' DBInstance (Maybe Text)

-- | Specifies the Provisioned IOPS (I/O operations per second) value.
diIOPS :: Lens' DBInstance (Maybe Int)

-- | Provides the date and time the DB instance was created.
diInstanceCreateTime :: Lens' DBInstance (Maybe UTCTime)

-- | Contains the identifier of the source DB instance if this DB instance
--   is a Read Replica.
diReadReplicaSourceDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)

-- | The interval, in seconds, between points when Enhanced Monitoring
--   metrics are collected for the DB instance.
diMonitoringInterval :: Lens' DBInstance (Maybe Int)

-- | Provides the name of the database engine to be used for this DB
--   instance.
diEngine :: Lens' DBInstance (Maybe Text)

-- | Specifies the latest time to which a database can be restored with
--   point-in-time restore.
diLatestRestorableTime :: Lens' DBInstance (Maybe UTCTime)

-- | Contains the name of the compute and memory capacity class of the DB
--   instance.
diDBInstanceClass :: Lens' DBInstance (Maybe Text)

-- | A value that specifies the order in which an Aurora Replica is
--   promoted to the primary instance after a failure of the existing
--   primary instance. For more information, see <a>Fault Tolerance for an
--   Aurora DB Cluster</a> .
diPromotionTier :: Lens' DBInstance (Maybe Int)

-- | License model information for this DB instance.
diLicenseModel :: Lens' DBInstance (Maybe Text)

-- | Specifies the weekly time range during which system maintenance can
--   occur, in Universal Coordinated Time (UTC).
diPreferredMaintenanceWindow :: Lens' DBInstance (Maybe Text)

-- | The identifier of the CA certificate for this DB instance.
diCACertificateIdentifier :: Lens' DBInstance (Maybe Text)

-- | Contains a user-supplied database identifier. This identifier is the
--   unique key that identifies a DB instance.
diDBInstanceIdentifier :: Lens' DBInstance (Maybe Text)

-- | If present, specifies the name of the character set that this instance
--   is associated with.
diCharacterSetName :: Lens' DBInstance (Maybe Text)

-- | If <tt>StorageEncrypted</tt> is true, the AWS KMS key identifier for
--   the encrypted DB instance.
diKMSKeyId :: Lens' DBInstance (Maybe Text)

-- | Specifies the daily time range during which automated backups are
--   created if automated backups are enabled, as determined by the
--   <tt>BackupRetentionPeriod</tt> .
diPreferredBackupWindow :: Lens' DBInstance (Maybe Text)

-- | Specifies the name of the Availability Zone the DB instance is located
--   in.
diAvailabilityZone :: Lens' DBInstance (Maybe Text)

-- | Provides a list of VPC security group elements that the DB instance
--   belongs to.
diVPCSecurityGroups :: Lens' DBInstance [VPCSecurityGroupMembership]

-- | Specifies the number of days for which automatic DB snapshots are
--   retained.
diBackupRetentionPeriod :: Lens' DBInstance (Maybe Int)

-- | The AWS KMS key identifier for encryption of Performance Insights
--   data. The KMS key ID is the Amazon Resource Name (ARN), KMS key
--   identifier, or the KMS key alias for the KMS encryption key.
diPerformanceInsightsKMSKeyId :: Lens' DBInstance (Maybe Text)

-- | Specifies information on the subnet group associated with the DB
--   instance, including the name, description, and subnets in the subnet
--   group.
diDBSubnetGroup :: Lens' DBInstance (Maybe DBSubnetGroup)

-- | Specifies if the DB instance is a Multi-AZ deployment.
diMultiAZ :: Lens' DBInstance (Maybe Bool)

-- | Provides the list of option group memberships for this DB instance.
diOptionGroupMemberships :: Lens' DBInstance [OptionGroupMembership]

-- | A list of log types that this DB instance is configured to export to
--   CloudWatch Logs.
diEnabledCloudwatchLogsExports :: Lens' DBInstance [Text]

-- | The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log
--   stream that receives the Enhanced Monitoring metrics data for the DB
--   instance.
diEnhancedMonitoringResourceARN :: Lens' DBInstance (Maybe Text)

-- | If present, specifies the name of the secondary Availability Zone for
--   a DB instance with multi-AZ support.
diSecondaryAvailabilityZone :: Lens' DBInstance (Maybe Text)

-- | True if Performance Insights is enabled for the DB instance, and
--   otherwise false.
diPerformanceInsightsEnabled :: Lens' DBInstance (Maybe Bool)

-- | Specifies the allocated storage size specified in gibibytes.
diAllocatedStorage :: Lens' DBInstance (Maybe Int)

-- | The AWS Region-unique, immutable identifier for the DB instance. This
--   identifier is found in AWS CloudTrail log entries whenever the AWS KMS
--   key for the DB instance is accessed.
diDBiResourceId :: Lens' DBInstance (Maybe Text)

-- | Provides the list of DB parameter groups applied to this DB instance.
diDBParameterGroups :: Lens' DBInstance [DBParameterGroupStatus]

-- | Specifies whether tags are copied from the DB instance to snapshots of
--   the DB instance.
diCopyTagsToSnapshot :: Lens' DBInstance (Maybe Bool)

-- | The time zone of the DB instance. In most cases, the <tt>Timezone</tt>
--   element is empty. <tt>Timezone</tt> content appears only for Microsoft
--   SQL Server DB instances that were created with a time zone specified.
diTimezone :: Lens' DBInstance (Maybe Text)

-- | The ARN from the key store with which the instance is associated for
--   TDE encryption.
diTDECredentialARN :: Lens' DBInstance (Maybe Text)

-- | Specifies the connection endpoint.
diEndpoint :: Lens' DBInstance (Maybe Endpoint)

-- | Specifies the current state of this database.
diDBInstanceStatus :: Lens' DBInstance (Maybe Text)

-- | 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.
diDBInstancePort :: Lens' DBInstance (Maybe Int)

-- | Specifies that changes to the DB instance are pending. This element is
--   only included when changes are pending. Specific changes are
--   identified by subelements.
diPendingModifiedValues :: Lens' DBInstance (Maybe PendingModifiedValues)

-- | Contains one or more identifiers of Aurora DB clusters that are Read
--   Replicas of this DB instance.
diReadReplicaDBClusterIdentifiers :: Lens' DBInstance [Text]

-- | Specifies the storage type associated with DB instance.
diStorageType :: Lens' DBInstance (Maybe Text)

-- | The status of a Read Replica. If the instance is not a Read Replica,
--   this is blank.
diStatusInfos :: Lens' DBInstance [DBInstanceStatusInfo]

-- | The Active Directory Domain membership records associated with the DB
--   instance.
diDomainMemberships :: Lens' DBInstance [DomainMembership]

-- | The meaning of this parameter differs according to the database engine
--   you use. For example, this value returns MySQL, MariaDB, or PostgreSQL
--   information when returning values from CreateDBInstanceReadReplica
--   since Read Replicas are only supported for these engines. <b>MySQL,
--   MariaDB, SQL Server, PostgreSQL</b> 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. Type: String <b>Oracle</b> 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.
diDBName :: Lens' DBInstance (Maybe Text)

-- | Provides a list of status information for a DB instance.
--   
--   <i>See:</i> <a>dbInstanceStatusInfo</a> smart constructor.
data DBInstanceStatusInfo

-- | Creates a value of <a>DBInstanceStatusInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>disiStatus</a> - Status of the DB instance. For a StatusType of
--   read replica, the values can be replicating, error, stopped, or
--   terminated.</li>
--   <li><a>disiNormal</a> - Boolean value that is true if the instance is
--   operating normally, or false if the instance is in an error
--   state.</li>
--   <li><a>disiStatusType</a> - This value is currently "read
--   replication."</li>
--   <li><a>disiMessage</a> - Details of the error if there is an error for
--   the instance. If the instance is not in an error state, this value is
--   blank.</li>
--   </ul>
dbInstanceStatusInfo :: DBInstanceStatusInfo

-- | Status of the DB instance. For a StatusType of read replica, the
--   values can be replicating, error, stopped, or terminated.
disiStatus :: Lens' DBInstanceStatusInfo (Maybe Text)

-- | Boolean value that is true if the instance is operating normally, or
--   false if the instance is in an error state.
disiNormal :: Lens' DBInstanceStatusInfo (Maybe Bool)

-- | This value is currently "read replication."
disiStatusType :: Lens' DBInstanceStatusInfo (Maybe Text)

-- | Details of the error if there is an error for the instance. If the
--   instance is not in an error state, this value is blank.
disiMessage :: Lens' DBInstanceStatusInfo (Maybe Text)

-- | Contains the details of an Amazon RDS DB parameter group.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBParameterGroups</tt> action.
--   
--   <i>See:</i> <a>dbParameterGroup</a> smart constructor.
data DBParameterGroup

-- | Creates a value of <a>DBParameterGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpgDBParameterGroupARN</a> - The Amazon Resource Name (ARN) for
--   the DB parameter group.</li>
--   <li><a>dpgDBParameterGroupFamily</a> - Provides the name of the DB
--   parameter group family that this DB parameter group is compatible
--   with.</li>
--   <li><a>dpgDBParameterGroupName</a> - Provides the name of the DB
--   parameter group.</li>
--   <li><a>dpgDescription</a> - Provides the customer-specified
--   description for this DB parameter group.</li>
--   </ul>
dbParameterGroup :: DBParameterGroup

-- | The Amazon Resource Name (ARN) for the DB parameter group.
dpgDBParameterGroupARN :: Lens' DBParameterGroup (Maybe Text)

-- | Provides the name of the DB parameter group family that this DB
--   parameter group is compatible with.
dpgDBParameterGroupFamily :: Lens' DBParameterGroup (Maybe Text)

-- | Provides the name of the DB parameter group.
dpgDBParameterGroupName :: Lens' DBParameterGroup (Maybe Text)

-- | Provides the customer-specified description for this DB parameter
--   group.
dpgDescription :: Lens' DBParameterGroup (Maybe Text)

-- | Contains the result of a successful invocation of the
--   <tt>ModifyDBParameterGroup</tt> or <tt>ResetDBParameterGroup</tt>
--   action.
--   
--   <i>See:</i> <a>dbParameterGroupNameMessage</a> smart constructor.
data DBParameterGroupNameMessage

-- | Creates a value of <a>DBParameterGroupNameMessage</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpgnmDBParameterGroupName</a> - Provides the name of the DB
--   parameter group.</li>
--   </ul>
dbParameterGroupNameMessage :: DBParameterGroupNameMessage

-- | Provides the name of the DB parameter group.
dpgnmDBParameterGroupName :: Lens' DBParameterGroupNameMessage (Maybe Text)

-- | The status of the DB parameter group.
--   
--   This data type is used as a response element in the following actions:
--   
--   <ul>
--   <li><tt>CreateDBInstance</tt></li>
--   <li><tt>CreateDBInstanceReadReplica</tt></li>
--   <li><tt>DeleteDBInstance</tt></li>
--   <li><tt>ModifyDBInstance</tt></li>
--   <li><tt>RebootDBInstance</tt></li>
--   <li><tt>RestoreDBInstanceFromDBSnapshot</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>dbParameterGroupStatus</a> smart constructor.
data DBParameterGroupStatus

-- | Creates a value of <a>DBParameterGroupStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dpgsDBParameterGroupName</a> - The name of the DP parameter
--   group.</li>
--   <li><a>dpgsParameterApplyStatus</a> - The status of parameter
--   updates.</li>
--   </ul>
dbParameterGroupStatus :: DBParameterGroupStatus

-- | The name of the DP parameter group.
dpgsDBParameterGroupName :: Lens' DBParameterGroupStatus (Maybe Text)

-- | The status of parameter updates.
dpgsParameterApplyStatus :: Lens' DBParameterGroupStatus (Maybe Text)

-- | Contains the details for an Amazon RDS DB security group.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBSecurityGroups</tt> action.
--   
--   <i>See:</i> <a>dbSecurityGroup</a> smart constructor.
data DBSecurityGroup

-- | Creates a value of <a>DBSecurityGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dbsgVPCId</a> - Provides the VpcId of the DB security
--   group.</li>
--   <li><a>dbsgOwnerId</a> - Provides the AWS ID of the owner of a
--   specific DB security group.</li>
--   <li><a>dbsgDBSecurityGroupARN</a> - The Amazon Resource Name (ARN) for
--   the DB security group.</li>
--   <li><a>dbsgIPRanges</a> - Contains a list of <a>IPRange</a>
--   elements.</li>
--   <li><a>dbsgDBSecurityGroupName</a> - Specifies the name of the DB
--   security group.</li>
--   <li><a>dbsgEC2SecurityGroups</a> - Contains a list of
--   <a>EC2SecurityGroup</a> elements.</li>
--   <li><a>dbsgDBSecurityGroupDescription</a> - Provides the description
--   of the DB security group.</li>
--   </ul>
dbSecurityGroup :: DBSecurityGroup

-- | Provides the VpcId of the DB security group.
dbsgVPCId :: Lens' DBSecurityGroup (Maybe Text)

-- | Provides the AWS ID of the owner of a specific DB security group.
dbsgOwnerId :: Lens' DBSecurityGroup (Maybe Text)

-- | The Amazon Resource Name (ARN) for the DB security group.
dbsgDBSecurityGroupARN :: Lens' DBSecurityGroup (Maybe Text)

-- | Contains a list of <a>IPRange</a> elements.
dbsgIPRanges :: Lens' DBSecurityGroup [IPRange]

-- | Specifies the name of the DB security group.
dbsgDBSecurityGroupName :: Lens' DBSecurityGroup (Maybe Text)

-- | Contains a list of <a>EC2SecurityGroup</a> elements.
dbsgEC2SecurityGroups :: Lens' DBSecurityGroup [EC2SecurityGroup]

-- | Provides the description of the DB security group.
dbsgDBSecurityGroupDescription :: Lens' DBSecurityGroup (Maybe Text)

-- | This data type is used as a response element in the following actions:
--   
--   <ul>
--   <li><tt>ModifyDBInstance</tt></li>
--   <li><tt>RebootDBInstance</tt></li>
--   <li><tt>RestoreDBInstanceFromDBSnapshot</tt></li>
--   <li><tt>RestoreDBInstanceToPointInTime</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>dbSecurityGroupMembership</a> smart constructor.
data DBSecurityGroupMembership

-- | Creates a value of <a>DBSecurityGroupMembership</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsgmStatus</a> - The status of the DB security group.</li>
--   <li><a>dsgmDBSecurityGroupName</a> - The name of the DB security
--   group.</li>
--   </ul>
dbSecurityGroupMembership :: DBSecurityGroupMembership

-- | The status of the DB security group.
dsgmStatus :: Lens' DBSecurityGroupMembership (Maybe Text)

-- | The name of the DB security group.
dsgmDBSecurityGroupName :: Lens' DBSecurityGroupMembership (Maybe Text)

-- | Contains the details of an Amazon RDS DB snapshot.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBSnapshots</tt> action.
--   
--   <i>See:</i> <a>dbSnapshot</a> smart constructor.
data DBSnapshot

-- | Creates a value of <a>DBSnapshot</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsEngineVersion</a> - Specifies the version of the database
--   engine.</li>
--   <li><a>dsStatus</a> - Specifies the status of this DB snapshot.</li>
--   <li><a>dsDBSnapshotARN</a> - The Amazon Resource Name (ARN) for the DB
--   snapshot.</li>
--   <li><a>dsMasterUsername</a> - Provides the master username for the DB
--   snapshot.</li>
--   <li><a>dsSourceRegion</a> - The AWS Region that the DB snapshot was
--   created in or copied from.</li>
--   <li><a>dsIAMDatabaseAuthenticationEnabled</a> - True if mapping of AWS
--   Identity and Access Management (IAM) accounts to database accounts is
--   enabled, and otherwise false.</li>
--   <li><a>dsIOPS</a> - Specifies the Provisioned IOPS (I/O operations per
--   second) value of the DB instance at the time of the snapshot.</li>
--   <li><a>dsVPCId</a> - Provides the VPC ID associated with the DB
--   snapshot.</li>
--   <li><a>dsInstanceCreateTime</a> - Specifies the time when the snapshot
--   was taken, in Universal Coordinated Time (UTC).</li>
--   <li><a>dsEngine</a> - Specifies the name of the database engine.</li>
--   <li><a>dsEncrypted</a> - Specifies whether the DB snapshot is
--   encrypted.</li>
--   <li><a>dsDBSnapshotIdentifier</a> - Specifies the identifier for the
--   DB snapshot.</li>
--   <li><a>dsLicenseModel</a> - License model information for the restored
--   DB instance.</li>
--   <li><a>dsSourceDBSnapshotIdentifier</a> - The DB snapshot Amazon
--   Resource Name (ARN) that the DB snapshot was copied from. It only has
--   value in case of cross-customer or cross-region copy.</li>
--   <li><a>dsSnapshotType</a> - Provides the type of the DB snapshot.</li>
--   <li><a>dsDBInstanceIdentifier</a> - Specifies the DB instance
--   identifier of the DB instance this DB snapshot was created from.</li>
--   <li><a>dsKMSKeyId</a> - If <tt>Encrypted</tt> is true, the AWS KMS key
--   identifier for the encrypted DB snapshot.</li>
--   <li><a>dsAvailabilityZone</a> - Specifies the name of the Availability
--   Zone the DB instance was located in at the time of the DB
--   snapshot.</li>
--   <li><a>dsSnapshotCreateTime</a> - Provides the time when the snapshot
--   was taken, in Universal Coordinated Time (UTC).</li>
--   <li><a>dsAllocatedStorage</a> - Specifies the allocated storage size
--   in gibibytes (GiB).</li>
--   <li><a>dsOptionGroupName</a> - Provides the option group name for the
--   DB snapshot.</li>
--   <li><a>dsTimezone</a> - The time zone of the DB snapshot. In most
--   cases, the <tt>Timezone</tt> element is empty. <tt>Timezone</tt>
--   content appears only for snapshots taken from Microsoft SQL Server DB
--   instances that were created with a time zone specified.</li>
--   <li><a>dsTDECredentialARN</a> - The ARN from the key store with which
--   to associate the instance for TDE encryption.</li>
--   <li><a>dsPercentProgress</a> - The percentage of the estimated data
--   that has been transferred.</li>
--   <li><a>dsPort</a> - Specifies the port that the database engine was
--   listening on at the time of the snapshot.</li>
--   <li><a>dsStorageType</a> - Specifies the storage type associated with
--   DB snapshot.</li>
--   </ul>
dbSnapshot :: DBSnapshot

-- | Specifies the version of the database engine.
dsEngineVersion :: Lens' DBSnapshot (Maybe Text)

-- | Specifies the status of this DB snapshot.
dsStatus :: Lens' DBSnapshot (Maybe Text)

-- | The Amazon Resource Name (ARN) for the DB snapshot.
dsDBSnapshotARN :: Lens' DBSnapshot (Maybe Text)

-- | Provides the master username for the DB snapshot.
dsMasterUsername :: Lens' DBSnapshot (Maybe Text)

-- | The AWS Region that the DB snapshot was created in or copied from.
dsSourceRegion :: Lens' DBSnapshot (Maybe Text)

-- | True if mapping of AWS Identity and Access Management (IAM) accounts
--   to database accounts is enabled, and otherwise false.
dsIAMDatabaseAuthenticationEnabled :: Lens' DBSnapshot (Maybe Bool)

-- | Specifies the Provisioned IOPS (I/O operations per second) value of
--   the DB instance at the time of the snapshot.
dsIOPS :: Lens' DBSnapshot (Maybe Int)

-- | Provides the VPC ID associated with the DB snapshot.
dsVPCId :: Lens' DBSnapshot (Maybe Text)

-- | Specifies the time when the snapshot was taken, in Universal
--   Coordinated Time (UTC).
dsInstanceCreateTime :: Lens' DBSnapshot (Maybe UTCTime)

-- | Specifies the name of the database engine.
dsEngine :: Lens' DBSnapshot (Maybe Text)

-- | Specifies whether the DB snapshot is encrypted.
dsEncrypted :: Lens' DBSnapshot (Maybe Bool)

-- | Specifies the identifier for the DB snapshot.
dsDBSnapshotIdentifier :: Lens' DBSnapshot (Maybe Text)

-- | License model information for the restored DB instance.
dsLicenseModel :: Lens' DBSnapshot (Maybe Text)

-- | The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was
--   copied from. It only has value in case of cross-customer or
--   cross-region copy.
dsSourceDBSnapshotIdentifier :: Lens' DBSnapshot (Maybe Text)

-- | Provides the type of the DB snapshot.
dsSnapshotType :: Lens' DBSnapshot (Maybe Text)

-- | Specifies the DB instance identifier of the DB instance this DB
--   snapshot was created from.
dsDBInstanceIdentifier :: Lens' DBSnapshot (Maybe Text)

-- | If <tt>Encrypted</tt> is true, the AWS KMS key identifier for the
--   encrypted DB snapshot.
dsKMSKeyId :: Lens' DBSnapshot (Maybe Text)

-- | Specifies the name of the Availability Zone the DB instance was
--   located in at the time of the DB snapshot.
dsAvailabilityZone :: Lens' DBSnapshot (Maybe Text)

-- | Provides the time when the snapshot was taken, in Universal
--   Coordinated Time (UTC).
dsSnapshotCreateTime :: Lens' DBSnapshot (Maybe UTCTime)

-- | Specifies the allocated storage size in gibibytes (GiB).
dsAllocatedStorage :: Lens' DBSnapshot (Maybe Int)

-- | Provides the option group name for the DB snapshot.
dsOptionGroupName :: Lens' DBSnapshot (Maybe Text)

-- | The time zone of the DB snapshot. In most cases, the <tt>Timezone</tt>
--   element is empty. <tt>Timezone</tt> content appears only for snapshots
--   taken from Microsoft SQL Server DB instances that were created with a
--   time zone specified.
dsTimezone :: Lens' DBSnapshot (Maybe Text)

-- | The ARN from the key store with which to associate the instance for
--   TDE encryption.
dsTDECredentialARN :: Lens' DBSnapshot (Maybe Text)

-- | The percentage of the estimated data that has been transferred.
dsPercentProgress :: Lens' DBSnapshot (Maybe Int)

-- | Specifies the port that the database engine was listening on at the
--   time of the snapshot.
dsPort :: Lens' DBSnapshot (Maybe Int)

-- | Specifies the storage type associated with DB snapshot.
dsStorageType :: Lens' DBSnapshot (Maybe Text)

-- | Contains the name and values of a manual DB snapshot attribute
--   
--   Manual DB snapshot attributes are used to authorize other AWS accounts
--   to restore a manual DB snapshot. For more information, see the
--   <tt>ModifyDBSnapshotAttribute</tt> API.
--   
--   <i>See:</i> <a>dbSnapshotAttribute</a> smart constructor.
data DBSnapshotAttribute

-- | Creates a value of <a>DBSnapshotAttribute</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsaAttributeValues</a> - The value or values for the manual DB
--   snapshot attribute. If the <tt>AttributeName</tt> field is set to
--   <tt>restore</tt> , then this element returns a list of IDs of the AWS
--   accounts that are authorized to copy or restore the manual DB
--   snapshot. If a value of <tt>all</tt> is in the list, then the manual
--   DB snapshot is public and available for any AWS account to copy or
--   restore.</li>
--   <li><a>dsaAttributeName</a> - The name of the manual DB snapshot
--   attribute. The attribute named <tt>restore</tt> refers to the list of
--   AWS accounts that have permission to copy or restore the manual DB
--   cluster snapshot. For more information, see the
--   <tt>ModifyDBSnapshotAttribute</tt> API action.</li>
--   </ul>
dbSnapshotAttribute :: DBSnapshotAttribute

-- | The value or values for the manual DB snapshot attribute. If the
--   <tt>AttributeName</tt> field is set to <tt>restore</tt> , then this
--   element returns a list of IDs of the AWS accounts that are authorized
--   to copy or restore the manual DB snapshot. If a value of <tt>all</tt>
--   is in the list, then the manual DB snapshot is public and available
--   for any AWS account to copy or restore.
dsaAttributeValues :: Lens' DBSnapshotAttribute [Text]

-- | The name of the manual DB snapshot attribute. The attribute named
--   <tt>restore</tt> refers to the list of AWS accounts that have
--   permission to copy or restore the manual DB cluster snapshot. For more
--   information, see the <tt>ModifyDBSnapshotAttribute</tt> API action.
dsaAttributeName :: Lens' DBSnapshotAttribute (Maybe Text)

-- | Contains the results of a successful call to the
--   <tt>DescribeDBSnapshotAttributes</tt> API action.
--   
--   Manual DB snapshot attributes are used to authorize other AWS accounts
--   to copy or restore a manual DB snapshot. For more information, see the
--   <tt>ModifyDBSnapshotAttribute</tt> API action.
--   
--   <i>See:</i> <a>dbSnapshotAttributesResult</a> smart constructor.
data DBSnapshotAttributesResult

-- | Creates a value of <a>DBSnapshotAttributesResult</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsarDBSnapshotIdentifier</a> - The identifier of the manual DB
--   snapshot that the attributes apply to.</li>
--   <li><a>dsarDBSnapshotAttributes</a> - The list of attributes and
--   values for the manual DB snapshot.</li>
--   </ul>
dbSnapshotAttributesResult :: DBSnapshotAttributesResult

-- | The identifier of the manual DB snapshot that the attributes apply to.
dsarDBSnapshotIdentifier :: Lens' DBSnapshotAttributesResult (Maybe Text)

-- | The list of attributes and values for the manual DB snapshot.
dsarDBSnapshotAttributes :: Lens' DBSnapshotAttributesResult [DBSnapshotAttribute]

-- | Contains the details of an Amazon RDS DB subnet group.
--   
--   This data type is used as a response element in the
--   <tt>DescribeDBSubnetGroups</tt> action.
--   
--   <i>See:</i> <a>dbSubnetGroup</a> smart constructor.
data DBSubnetGroup

-- | Creates a value of <a>DBSubnetGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsgDBSubnetGroupName</a> - The name of the DB subnet
--   group.</li>
--   <li><a>dsgVPCId</a> - Provides the VpcId of the DB subnet group.</li>
--   <li><a>dsgSubnets</a> - Contains a list of <a>Subnet</a>
--   elements.</li>
--   <li><a>dsgDBSubnetGroupDescription</a> - Provides the description of
--   the DB subnet group.</li>
--   <li><a>dsgDBSubnetGroupARN</a> - The Amazon Resource Name (ARN) for
--   the DB subnet group.</li>
--   <li><a>dsgSubnetGroupStatus</a> - Provides the status of the DB subnet
--   group.</li>
--   </ul>
dbSubnetGroup :: DBSubnetGroup

-- | The name of the DB subnet group.
dsgDBSubnetGroupName :: Lens' DBSubnetGroup (Maybe Text)

-- | Provides the VpcId of the DB subnet group.
dsgVPCId :: Lens' DBSubnetGroup (Maybe Text)

-- | Contains a list of <a>Subnet</a> elements.
dsgSubnets :: Lens' DBSubnetGroup [Subnet]

-- | Provides the description of the DB subnet group.
dsgDBSubnetGroupDescription :: Lens' DBSubnetGroup (Maybe Text)

-- | The Amazon Resource Name (ARN) for the DB subnet group.
dsgDBSubnetGroupARN :: Lens' DBSubnetGroup (Maybe Text)

-- | Provides the status of the DB subnet group.
dsgSubnetGroupStatus :: Lens' DBSubnetGroup (Maybe Text)

-- | This data type is used as a response element to
--   <tt>DescribeDBLogFiles</tt> .
--   
--   <i>See:</i> <a>describeDBLogFilesDetails</a> smart constructor.
data DescribeDBLogFilesDetails

-- | Creates a value of <a>DescribeDBLogFilesDetails</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddlfdLastWritten</a> - A POSIX timestamp when the last log
--   entry was written.</li>
--   <li><a>ddlfdSize</a> - The size, in bytes, of the log file for the
--   specified DB instance.</li>
--   <li><a>ddlfdLogFileName</a> - The name of the log file for the
--   specified DB instance.</li>
--   </ul>
describeDBLogFilesDetails :: DescribeDBLogFilesDetails

-- | A POSIX timestamp when the last log entry was written.
ddlfdLastWritten :: Lens' DescribeDBLogFilesDetails (Maybe Integer)

-- | The size, in bytes, of the log file for the specified DB instance.
ddlfdSize :: Lens' DescribeDBLogFilesDetails (Maybe Integer)

-- | The name of the log file for the specified DB instance.
ddlfdLogFileName :: Lens' DescribeDBLogFilesDetails (Maybe Text)

-- | An Active Directory Domain membership record associated with the DB
--   instance.
--   
--   <i>See:</i> <a>domainMembership</a> smart constructor.
data DomainMembership

-- | Creates a value of <a>DomainMembership</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmStatus</a> - The status of the DB instance's Active Directory
--   Domain membership, such as joined, pending-join, failed etc).</li>
--   <li><a>dmFQDN</a> - The fully qualified domain name of the Active
--   Directory Domain.</li>
--   <li><a>dmDomain</a> - The identifier of the Active Directory
--   Domain.</li>
--   <li><a>dmIAMRoleName</a> - The name of the IAM role to be used when
--   making API calls to the Directory Service.</li>
--   </ul>
domainMembership :: DomainMembership

-- | The status of the DB instance's Active Directory Domain membership,
--   such as joined, pending-join, failed etc).
dmStatus :: Lens' DomainMembership (Maybe Text)

-- | The fully qualified domain name of the Active Directory Domain.
dmFQDN :: Lens' DomainMembership (Maybe Text)

-- | The identifier of the Active Directory Domain.
dmDomain :: Lens' DomainMembership (Maybe Text)

-- | The name of the IAM role to be used when making API calls to the
--   Directory Service.
dmIAMRoleName :: Lens' DomainMembership (Maybe Text)

-- | A range of double values.
--   
--   <i>See:</i> <a>doubleRange</a> smart constructor.
data DoubleRange

-- | Creates a value of <a>DoubleRange</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drTo</a> - The maximum value in the range.</li>
--   <li><a>drFrom</a> - The minimum value in the range.</li>
--   </ul>
doubleRange :: DoubleRange

-- | The maximum value in the range.
drTo :: Lens' DoubleRange (Maybe Double)

-- | The minimum value in the range.
drFrom :: Lens' DoubleRange (Maybe Double)

-- | This data type is used as a response element in the following actions:
--   
--   <ul>
--   <li><tt>AuthorizeDBSecurityGroupIngress</tt></li>
--   <li><tt>DescribeDBSecurityGroups</tt></li>
--   <li><tt>RevokeDBSecurityGroupIngress</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>ec2SecurityGroup</a> smart constructor.
data EC2SecurityGroup

-- | Creates a value of <a>EC2SecurityGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esgStatus</a> - Provides the status of the EC2 security group.
--   Status can be "authorizing", "authorized", "revoking", and
--   "revoked".</li>
--   <li><a>esgEC2SecurityGroupOwnerId</a> - Specifies the AWS ID of the
--   owner of the EC2 security group specified in the
--   <tt>EC2SecurityGroupName</tt> field.</li>
--   <li><a>esgEC2SecurityGroupName</a> - Specifies the name of the EC2
--   security group.</li>
--   <li><a>esgEC2SecurityGroupId</a> - Specifies the id of the EC2
--   security group.</li>
--   </ul>
ec2SecurityGroup :: EC2SecurityGroup

-- | Provides the status of the EC2 security group. Status can be
--   "authorizing", "authorized", "revoking", and "revoked".
esgStatus :: Lens' EC2SecurityGroup (Maybe Text)

-- | Specifies the AWS ID of the owner of the EC2 security group specified
--   in the <tt>EC2SecurityGroupName</tt> field.
esgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)

-- | Specifies the name of the EC2 security group.
esgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)

-- | Specifies the id of the EC2 security group.
esgEC2SecurityGroupId :: Lens' EC2SecurityGroup (Maybe Text)

-- | This data type is used as a response element in the following actions:
--   
--   <ul>
--   <li><tt>CreateDBInstance</tt></li>
--   <li><tt>DescribeDBInstances</tt></li>
--   <li><tt>DeleteDBInstance</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>endpoint</a> smart constructor.
data Endpoint

-- | Creates a value of <a>Endpoint</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eHostedZoneId</a> - Specifies the ID that Amazon Route 53
--   assigns when you create a hosted zone.</li>
--   <li><a>eAddress</a> - Specifies the DNS address of the DB
--   instance.</li>
--   <li><a>ePort</a> - Specifies the port that the database engine is
--   listening on.</li>
--   </ul>
endpoint :: Endpoint

-- | Specifies the ID that Amazon Route 53 assigns when you create a hosted
--   zone.
eHostedZoneId :: Lens' Endpoint (Maybe Text)

-- | Specifies the DNS address of the DB instance.
eAddress :: Lens' Endpoint (Maybe Text)

-- | Specifies the port that the database engine is listening on.
ePort :: Lens' Endpoint (Maybe Int)

-- | Contains the result of a successful invocation of the
--   <tt>DescribeEngineDefaultParameters</tt> action.
--   
--   <i>See:</i> <a>engineDefaults</a> smart constructor.
data EngineDefaults

-- | Creates a value of <a>EngineDefaults</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edDBParameterGroupFamily</a> - Specifies the name of the DB
--   parameter group family that the engine default parameters apply
--   to.</li>
--   <li><a>edMarker</a> - An optional pagination token provided by a
--   previous EngineDefaults request. If this parameter is specified, the
--   response includes only records beyond the marker, up to the value
--   specified by <tt>MaxRecords</tt> .</li>
--   <li><a>edParameters</a> - Contains a list of engine default
--   parameters.</li>
--   </ul>
engineDefaults :: EngineDefaults

-- | Specifies the name of the DB parameter group family that the engine
--   default parameters apply to.
edDBParameterGroupFamily :: Lens' EngineDefaults (Maybe Text)

-- | An optional pagination token provided by a previous EngineDefaults
--   request. If this parameter is specified, the response includes only
--   records beyond the marker, up to the value specified by
--   <tt>MaxRecords</tt> .
edMarker :: Lens' EngineDefaults (Maybe Text)

-- | Contains a list of engine default parameters.
edParameters :: Lens' EngineDefaults [Parameter]

-- | This data type is used as a response element in the
--   <tt>DescribeEvents</tt> action.
--   
--   <i>See:</i> <a>event</a> smart constructor.
data Event

-- | Creates a value of <a>Event</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eSourceType</a> - Specifies the source type for this
--   event.</li>
--   <li><a>eSourceARN</a> - The Amazon Resource Name (ARN) for the
--   event.</li>
--   <li><a>eSourceIdentifier</a> - Provides the identifier for the source
--   of the event.</li>
--   <li><a>eDate</a> - Specifies the date and time of the event.</li>
--   <li><a>eEventCategories</a> - Specifies the category for the
--   event.</li>
--   <li><a>eMessage</a> - Provides the text of this event.</li>
--   </ul>
event :: Event

-- | Specifies the source type for this event.
eSourceType :: Lens' Event (Maybe SourceType)

-- | The Amazon Resource Name (ARN) for the event.
eSourceARN :: Lens' Event (Maybe Text)

-- | Provides the identifier for the source of the event.
eSourceIdentifier :: Lens' Event (Maybe Text)

-- | Specifies the date and time of the event.
eDate :: Lens' Event (Maybe UTCTime)

-- | Specifies the category for the event.
eEventCategories :: Lens' Event [Text]

-- | Provides the text of this event.
eMessage :: Lens' Event (Maybe Text)

-- | Contains the results of a successful invocation of the
--   <tt>DescribeEventCategories</tt> action.
--   
--   <i>See:</i> <a>eventCategoriesMap</a> smart constructor.
data EventCategoriesMap

-- | Creates a value of <a>EventCategoriesMap</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ecmSourceType</a> - The source type that the returned
--   categories belong to</li>
--   <li><a>ecmEventCategories</a> - The event categories for the specified
--   source type</li>
--   </ul>
eventCategoriesMap :: EventCategoriesMap

-- | The source type that the returned categories belong to
ecmSourceType :: Lens' EventCategoriesMap (Maybe Text)

-- | The event categories for the specified source type
ecmEventCategories :: Lens' EventCategoriesMap [Text]

-- | Contains the results of a successful invocation of the
--   <tt>DescribeEventSubscriptions</tt> action.
--   
--   <i>See:</i> <a>eventSubscription</a> smart constructor.
data EventSubscription

-- | Creates a value of <a>EventSubscription</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esStatus</a> - The status of the RDS event notification
--   subscription. Constraints: Can be one of the following: creating |
--   modifying | deleting | active | no-permission | topic-not-exist The
--   status "no-permission" indicates that RDS no longer has permission to
--   post to the SNS topic. The status "topic-not-exist" indicates that the
--   topic was deleted after the subscription was created.</li>
--   <li><a>esCustomerAWSId</a> - The AWS customer account associated with
--   the RDS event notification subscription.</li>
--   <li><a>esCustSubscriptionId</a> - The RDS event notification
--   subscription Id.</li>
--   <li><a>esSNSTopicARN</a> - The topic ARN of the RDS event notification
--   subscription.</li>
--   <li><a>esEventSubscriptionARN</a> - The Amazon Resource Name (ARN) for
--   the event subscription.</li>
--   <li><a>esEnabled</a> - A Boolean value indicating if the subscription
--   is enabled. True indicates the subscription is enabled.</li>
--   <li><a>esSourceType</a> - The source type for the RDS event
--   notification subscription.</li>
--   <li><a>esSubscriptionCreationTime</a> - The time the RDS event
--   notification subscription was created.</li>
--   <li><a>esEventCategoriesList</a> - A list of event categories for the
--   RDS event notification subscription.</li>
--   <li><a>esSourceIdsList</a> - A list of source IDs for the RDS event
--   notification subscription.</li>
--   </ul>
eventSubscription :: EventSubscription

-- | The status of the RDS event notification subscription. Constraints:
--   Can be one of the following: creating | modifying | deleting | active
--   | no-permission | topic-not-exist The status "no-permission" indicates
--   that RDS no longer has permission to post to the SNS topic. The status
--   "topic-not-exist" indicates that the topic was deleted after the
--   subscription was created.
esStatus :: Lens' EventSubscription (Maybe Text)

-- | The AWS customer account associated with the RDS event notification
--   subscription.
esCustomerAWSId :: Lens' EventSubscription (Maybe Text)

-- | The RDS event notification subscription Id.
esCustSubscriptionId :: Lens' EventSubscription (Maybe Text)

-- | The topic ARN of the RDS event notification subscription.
esSNSTopicARN :: Lens' EventSubscription (Maybe Text)

-- | The Amazon Resource Name (ARN) for the event subscription.
esEventSubscriptionARN :: Lens' EventSubscription (Maybe Text)

-- | A Boolean value indicating if the subscription is enabled. True
--   indicates the subscription is enabled.
esEnabled :: Lens' EventSubscription (Maybe Bool)

-- | The source type for the RDS event notification subscription.
esSourceType :: Lens' EventSubscription (Maybe Text)

-- | The time the RDS event notification subscription was created.
esSubscriptionCreationTime :: Lens' EventSubscription (Maybe Text)

-- | A list of event categories for the RDS event notification
--   subscription.
esEventCategoriesList :: Lens' EventSubscription [Text]

-- | A list of source IDs for the RDS event notification subscription.
esSourceIdsList :: Lens' EventSubscription [Text]

-- | A filter name and value pair that is used to return a more specific
--   list of results from a describe operation. Filters can be used to
--   match a set of resources by specific criteria, such as IDs. The
--   filters supported by a describe operation are documented with the
--   describe operation.
--   
--   The following actions can be filtered:
--   
--   <ul>
--   <li><tt>DescribeDBClusterBacktracks</tt></li>
--   <li><tt>DescribeDBClusters</tt></li>
--   <li><tt>DescribeDBInstances</tt></li>
--   <li><tt>DescribePendingMaintenanceActions</tt></li>
--   </ul>
--   
--   <i>See:</i> <a>filter'</a> smart constructor.
data Filter

-- | Creates a value of <a>Filter</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fName</a> - The name of the filter. Filter names are
--   case-sensitive.</li>
--   <li><a>fValues</a> - One or more filter values. Filter values are
--   case-sensitive.</li>
--   </ul>
filter' :: Text -> Filter

-- | The name of the filter. Filter names are case-sensitive.
fName :: Lens' Filter Text

-- | One or more filter values. Filter values are case-sensitive.
fValues :: Lens' Filter [Text]

-- | This data type is used as a response element in the
--   <tt>DescribeDBSecurityGroups</tt> action.
--   
--   <i>See:</i> <a>ipRange</a> smart constructor.
data IPRange

-- | Creates a value of <a>IPRange</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irStatus</a> - Specifies the status of the IP range. Status can
--   be "authorizing", "authorized", "revoking", and "revoked".</li>
--   <li><a>irCIdRIP</a> - Specifies the IP range.</li>
--   </ul>
ipRange :: IPRange

-- | Specifies the status of the IP range. Status can be "authorizing",
--   "authorized", "revoking", and "revoked".
irStatus :: Lens' IPRange (Maybe Text)

-- | Specifies the IP range.
irCIdRIP :: Lens' IPRange (Maybe Text)

-- | Option details.
--   
--   <i>See:</i> <a>option</a> smart constructor.
data Option

-- | Creates a value of <a>Option</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oOptionName</a> - The name of the option.</li>
--   <li><a>oPermanent</a> - Indicate if this option is permanent.</li>
--   <li><a>oPersistent</a> - Indicate if this option is persistent.</li>
--   <li><a>oOptionDescription</a> - The description of the option.</li>
--   <li><a>oOptionSettings</a> - The option settings for this option.</li>
--   <li><a>oVPCSecurityGroupMemberships</a> - If the option requires
--   access to a port, then this VPC security group allows access to the
--   port.</li>
--   <li><a>oDBSecurityGroupMemberships</a> - If the option requires access
--   to a port, then this DB security group allows access to the port.</li>
--   <li><a>oOptionVersion</a> - The version of the option.</li>
--   <li><a>oPort</a> - If required, the port configured for this option to
--   use.</li>
--   </ul>
option :: Option

-- | The name of the option.
oOptionName :: Lens' Option (Maybe Text)

-- | Indicate if this option is permanent.
oPermanent :: Lens' Option (Maybe Bool)

-- | Indicate if this option is persistent.
oPersistent :: Lens' Option (Maybe Bool)

-- | The description of the option.
oOptionDescription :: Lens' Option (Maybe Text)

-- | The option settings for this option.
oOptionSettings :: Lens' Option [OptionSetting]

-- | If the option requires access to a port, then this VPC security group
--   allows access to the port.
oVPCSecurityGroupMemberships :: Lens' Option [VPCSecurityGroupMembership]

-- | If the option requires access to a port, then this DB security group
--   allows access to the port.
oDBSecurityGroupMemberships :: Lens' Option [DBSecurityGroupMembership]

-- | The version of the option.
oOptionVersion :: Lens' Option (Maybe Text)

-- | If required, the port configured for this option to use.
oPort :: Lens' Option (Maybe Int)

-- | A list of all available options
--   
--   <i>See:</i> <a>optionConfiguration</a> smart constructor.
data OptionConfiguration

-- | Creates a value of <a>OptionConfiguration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ocOptionSettings</a> - The option settings to include in an
--   option group.</li>
--   <li><a>ocVPCSecurityGroupMemberships</a> - A list of
--   VpcSecurityGroupMemebrship name strings used for this option.</li>
--   <li><a>ocDBSecurityGroupMemberships</a> - A list of
--   DBSecurityGroupMemebrship name strings used for this option.</li>
--   <li><a>ocOptionVersion</a> - The version for the option.</li>
--   <li><a>ocPort</a> - The optional port for the option.</li>
--   <li><a>ocOptionName</a> - The configuration of options to include in a
--   group.</li>
--   </ul>
optionConfiguration :: Text -> OptionConfiguration

-- | The option settings to include in an option group.
ocOptionSettings :: Lens' OptionConfiguration [OptionSetting]

-- | A list of VpcSecurityGroupMemebrship name strings used for this
--   option.
ocVPCSecurityGroupMemberships :: Lens' OptionConfiguration [Text]

-- | A list of DBSecurityGroupMemebrship name strings used for this option.
ocDBSecurityGroupMemberships :: Lens' OptionConfiguration [Text]

-- | The version for the option.
ocOptionVersion :: Lens' OptionConfiguration (Maybe Text)

-- | The optional port for the option.
ocPort :: Lens' OptionConfiguration (Maybe Int)

-- | The configuration of options to include in a group.
ocOptionName :: Lens' OptionConfiguration Text

-- | <i>See:</i> <a>optionGroup</a> smart constructor.
data OptionGroup

-- | Creates a value of <a>OptionGroup</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogOptionGroupDescription</a> - Provides a description of the
--   option group.</li>
--   <li><a>ogVPCId</a> - If <b>AllowsVpcAndNonVpcInstanceMemberships</b>
--   is <tt>false</tt> , this field is blank. If
--   <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <tt>true</tt> and this
--   field is blank, then this option group can be applied to both VPC and
--   non-VPC instances. If this field contains a value, then this option
--   group can only be applied to instances that are in the VPC indicated
--   by this field.</li>
--   <li><a>ogAllowsVPCAndNonVPCInstanceMemberships</a> - Indicates whether
--   this option group can be applied to both VPC and non-VPC instances.
--   The value <tt>true</tt> indicates the option group can be applied to
--   both VPC and non-VPC instances.</li>
--   <li><a>ogEngineName</a> - Indicates the name of the engine that this
--   option group can be applied to.</li>
--   <li><a>ogOptionGroupARN</a> - The Amazon Resource Name (ARN) for the
--   option group.</li>
--   <li><a>ogMajorEngineVersion</a> - Indicates the major engine version
--   associated with this option group.</li>
--   <li><a>ogOptions</a> - Indicates what options are available in the
--   option group.</li>
--   <li><a>ogOptionGroupName</a> - Specifies the name of the option
--   group.</li>
--   </ul>
optionGroup :: OptionGroup

-- | Provides a description of the option group.
ogOptionGroupDescription :: Lens' OptionGroup (Maybe Text)

-- | If <b>AllowsVpcAndNonVpcInstanceMemberships</b> is <tt>false</tt> ,
--   this field is blank. If <b>AllowsVpcAndNonVpcInstanceMemberships</b>
--   is <tt>true</tt> and this field is blank, then this option group can
--   be applied to both VPC and non-VPC instances. If this field contains a
--   value, then this option group can only be applied to instances that
--   are in the VPC indicated by this field.
ogVPCId :: Lens' OptionGroup (Maybe Text)

-- | Indicates whether this option group can be applied to both VPC and
--   non-VPC instances. The value <tt>true</tt> indicates the option group
--   can be applied to both VPC and non-VPC instances.
ogAllowsVPCAndNonVPCInstanceMemberships :: Lens' OptionGroup (Maybe Bool)

-- | Indicates the name of the engine that this option group can be applied
--   to.
ogEngineName :: Lens' OptionGroup (Maybe Text)

-- | The Amazon Resource Name (ARN) for the option group.
ogOptionGroupARN :: Lens' OptionGroup (Maybe Text)

-- | Indicates the major engine version associated with this option group.
ogMajorEngineVersion :: Lens' OptionGroup (Maybe Text)

-- | Indicates what options are available in the option group.
ogOptions :: Lens' OptionGroup [Option]

-- | Specifies the name of the option group.
ogOptionGroupName :: Lens' OptionGroup (Maybe Text)

-- | Provides information on the option groups the DB instance is a member
--   of.
--   
--   <i>See:</i> <a>optionGroupMembership</a> smart constructor.
data OptionGroupMembership

-- | Creates a value of <a>OptionGroupMembership</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogmStatus</a> - The status of the DB instance's option group
--   membership. Valid values are: <tt>in-sync</tt> ,
--   <tt>pending-apply</tt> , <tt>pending-removal</tt> ,
--   <tt>pending-maintenance-apply</tt> ,
--   <tt>pending-maintenance-removal</tt> , <tt>applying</tt> ,
--   <tt>removing</tt> , and <tt>failed</tt> .</li>
--   <li><a>ogmOptionGroupName</a> - The name of the option group that the
--   instance belongs to.</li>
--   </ul>
optionGroupMembership :: OptionGroupMembership

-- | The status of the DB instance's option group membership. Valid values
--   are: <tt>in-sync</tt> , <tt>pending-apply</tt> ,
--   <tt>pending-removal</tt> , <tt>pending-maintenance-apply</tt> ,
--   <tt>pending-maintenance-removal</tt> , <tt>applying</tt> ,
--   <tt>removing</tt> , and <tt>failed</tt> .
ogmStatus :: Lens' OptionGroupMembership (Maybe Text)

-- | The name of the option group that the instance belongs to.
ogmOptionGroupName :: Lens' OptionGroupMembership (Maybe Text)

-- | Available option.
--   
--   <i>See:</i> <a>optionGroupOption</a> smart constructor.
data OptionGroupOption

-- | Creates a value of <a>OptionGroupOption</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogoMinimumRequiredMinorEngineVersion</a> - The minimum required
--   engine version for the option to be applied.</li>
--   <li><a>ogoOptionsConflictsWith</a> - The options that conflict with
--   this option.</li>
--   <li><a>ogoPermanent</a> - Permanent options can never be removed from
--   an option group. An option group containing a permanent option can't
--   be removed from a DB instance.</li>
--   <li><a>ogoPersistent</a> - Persistent options can't be removed from an
--   option group while DB instances are associated with the option group.
--   If you disassociate all DB instances from the option group, your can
--   remove the persistent option from the option group.</li>
--   <li><a>ogoOptionGroupOptionVersions</a> - The versions that are
--   available for the option.</li>
--   <li><a>ogoEngineName</a> - The name of the engine that this option can
--   be applied to.</li>
--   <li><a>ogoMajorEngineVersion</a> - Indicates the major engine version
--   that the option is available for.</li>
--   <li><a>ogoName</a> - The name of the option.</li>
--   <li><a>ogoSupportsOptionVersionDowngrade</a> - If true, you can change
--   the option to an earlier version of the option. This only applies to
--   options that have different versions available.</li>
--   <li><a>ogoDefaultPort</a> - If the option requires a port, specifies
--   the default port for the option.</li>
--   <li><a>ogoOptionGroupOptionSettings</a> - The option settings that are
--   available (and the default value) for each option in an option
--   group.</li>
--   <li><a>ogoRequiresAutoMinorEngineVersionUpgrade</a> - If true, you
--   must enable the Auto Minor Version Upgrade setting for your DB
--   instance before you can use this option. You can enable Auto Minor
--   Version Upgrade when you first create your DB instance, or by
--   modifying your DB instance later.</li>
--   <li><a>ogoPortRequired</a> - Specifies whether the option requires a
--   port.</li>
--   <li><a>ogoDescription</a> - The description of the option.</li>
--   <li><a>ogoOptionsDependedOn</a> - The options that are prerequisites
--   for this option.</li>
--   <li><a>ogoVPCOnly</a> - If true, you can only use this option with a
--   DB instance that is in a VPC.</li>
--   </ul>
optionGroupOption :: OptionGroupOption

-- | The minimum required engine version for the option to be applied.
ogoMinimumRequiredMinorEngineVersion :: Lens' OptionGroupOption (Maybe Text)

-- | The options that conflict with this option.
ogoOptionsConflictsWith :: Lens' OptionGroupOption [Text]

-- | Permanent options can never be removed from an option group. An option
--   group containing a permanent option can't be removed from a DB
--   instance.
ogoPermanent :: Lens' OptionGroupOption (Maybe Bool)

-- | Persistent options can't be removed from an option group while DB
--   instances are associated with the option group. If you disassociate
--   all DB instances from the option group, your can remove the persistent
--   option from the option group.
ogoPersistent :: Lens' OptionGroupOption (Maybe Bool)

-- | The versions that are available for the option.
ogoOptionGroupOptionVersions :: Lens' OptionGroupOption [OptionVersion]

-- | The name of the engine that this option can be applied to.
ogoEngineName :: Lens' OptionGroupOption (Maybe Text)

-- | Indicates the major engine version that the option is available for.
ogoMajorEngineVersion :: Lens' OptionGroupOption (Maybe Text)

-- | The name of the option.
ogoName :: Lens' OptionGroupOption (Maybe Text)

-- | If true, you can change the option to an earlier version of the
--   option. This only applies to options that have different versions
--   available.
ogoSupportsOptionVersionDowngrade :: Lens' OptionGroupOption (Maybe Bool)

-- | If the option requires a port, specifies the default port for the
--   option.
ogoDefaultPort :: Lens' OptionGroupOption (Maybe Int)

-- | The option settings that are available (and the default value) for
--   each option in an option group.
ogoOptionGroupOptionSettings :: Lens' OptionGroupOption [OptionGroupOptionSetting]

-- | If true, you must enable the Auto Minor Version Upgrade setting for
--   your DB instance before you can use this option. You can enable Auto
--   Minor Version Upgrade when you first create your DB instance, or by
--   modifying your DB instance later.
ogoRequiresAutoMinorEngineVersionUpgrade :: Lens' OptionGroupOption (Maybe Bool)

-- | Specifies whether the option requires a port.
ogoPortRequired :: Lens' OptionGroupOption (Maybe Bool)

-- | The description of the option.
ogoDescription :: Lens' OptionGroupOption (Maybe Text)

-- | The options that are prerequisites for this option.
ogoOptionsDependedOn :: Lens' OptionGroupOption [Text]

-- | If true, you can only use this option with a DB instance that is in a
--   VPC.
ogoVPCOnly :: Lens' OptionGroupOption (Maybe Bool)

-- | Option group option settings are used to display settings available
--   for each option with their default values and other information. These
--   values are used with the DescribeOptionGroupOptions action.
--   
--   <i>See:</i> <a>optionGroupOptionSetting</a> smart constructor.
data OptionGroupOptionSetting

-- | Creates a value of <a>OptionGroupOptionSetting</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ogosApplyType</a> - The DB engine specific parameter type for
--   the option group option.</li>
--   <li><a>ogosSettingName</a> - The name of the option group option.</li>
--   <li><a>ogosDefaultValue</a> - The default value for the option group
--   option.</li>
--   <li><a>ogosIsModifiable</a> - Boolean value where true indicates that
--   this option group option can be changed from the default value.</li>
--   <li><a>ogosSettingDescription</a> - The description of the option
--   group option.</li>
--   <li><a>ogosAllowedValues</a> - Indicates the acceptable values for the
--   option group option.</li>
--   </ul>
optionGroupOptionSetting :: OptionGroupOptionSetting

-- | The DB engine specific parameter type for the option group option.
ogosApplyType :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | The name of the option group option.
ogosSettingName :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | The default value for the option group option.
ogosDefaultValue :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | Boolean value where true indicates that this option group option can
--   be changed from the default value.
ogosIsModifiable :: Lens' OptionGroupOptionSetting (Maybe Bool)

-- | The description of the option group option.
ogosSettingDescription :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | Indicates the acceptable values for the option group option.
ogosAllowedValues :: Lens' OptionGroupOptionSetting (Maybe Text)

-- | Option settings are the actual settings being applied or configured
--   for that option. It is used when you modify an option group or
--   describe option groups. For example, the NATIVE_NETWORK_ENCRYPTION
--   option has a setting called SQLNET.ENCRYPTION_SERVER that can have
--   several different values.
--   
--   <i>See:</i> <a>optionSetting</a> smart constructor.
data OptionSetting

-- | Creates a value of <a>OptionSetting</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>osIsCollection</a> - Indicates if the option setting is part of
--   a collection.</li>
--   <li><a>osApplyType</a> - The DB engine specific parameter type.</li>
--   <li><a>osValue</a> - The current value of the option setting.</li>
--   <li><a>osName</a> - The name of the option that has settings that you
--   can set.</li>
--   <li><a>osDefaultValue</a> - The default value of the option
--   setting.</li>
--   <li><a>osIsModifiable</a> - A Boolean value that, when true, indicates
--   the option setting can be modified from the default.</li>
--   <li><a>osDataType</a> - The data type of the option setting.</li>
--   <li><a>osAllowedValues</a> - The allowed values of the option
--   setting.</li>
--   <li><a>osDescription</a> - The description of the option setting.</li>
--   </ul>
optionSetting :: OptionSetting

-- | Indicates if the option setting is part of a collection.
osIsCollection :: Lens' OptionSetting (Maybe Bool)

-- | The DB engine specific parameter type.
osApplyType :: Lens' OptionSetting (Maybe Text)

-- | The current value of the option setting.
osValue :: Lens' OptionSetting (Maybe Text)

-- | The name of the option that has settings that you can set.
osName :: Lens' OptionSetting (Maybe Text)

-- | The default value of the option setting.
osDefaultValue :: Lens' OptionSetting (Maybe Text)

-- | A Boolean value that, when true, indicates the option setting can be
--   modified from the default.
osIsModifiable :: Lens' OptionSetting (Maybe Bool)

-- | The data type of the option setting.
osDataType :: Lens' OptionSetting (Maybe Text)

-- | The allowed values of the option setting.
osAllowedValues :: Lens' OptionSetting (Maybe Text)

-- | The description of the option setting.
osDescription :: Lens' OptionSetting (Maybe Text)

-- | The version for an option. Option group option versions are returned
--   by the <tt>DescribeOptionGroupOptions</tt> action.
--   
--   <i>See:</i> <a>optionVersion</a> smart constructor.
data OptionVersion

-- | Creates a value of <a>OptionVersion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ovVersion</a> - The version of the option.</li>
--   <li><a>ovIsDefault</a> - True if the version is the default version of
--   the option, and otherwise false.</li>
--   </ul>
optionVersion :: OptionVersion

-- | The version of the option.
ovVersion :: Lens' OptionVersion (Maybe Text)

-- | True if the version is the default version of the option, and
--   otherwise false.
ovIsDefault :: Lens' OptionVersion (Maybe Bool)

-- | Contains a list of available options for a DB instance.
--   
--   This data type is used as a response element in the
--   <tt>DescribeOrderableDBInstanceOptions</tt> action.
--   
--   <i>See:</i> <a>orderableDBInstanceOption</a> smart constructor.
data OrderableDBInstanceOption

-- | Creates a value of <a>OrderableDBInstanceOption</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>odioEngineVersion</a> - The engine version of a DB
--   instance.</li>
--   <li><a>odioMinIOPSPerGib</a> - Minimum provisioned IOPS per GiB for a
--   DB instance.</li>
--   <li><a>odioSupportsIAMDatabaseAuthentication</a> - Indicates whether a
--   DB instance supports IAM database authentication.</li>
--   <li><a>odioMinIOPSPerDBInstance</a> - Minimum total provisioned IOPS
--   for a DB instance.</li>
--   <li><a>odioMultiAZCapable</a> - Indicates whether a DB instance is
--   Multi-AZ capable.</li>
--   <li><a>odioMaxStorageSize</a> - Maximum storage size for a DB
--   instance.</li>
--   <li><a>odioEngine</a> - The engine type of a DB instance.</li>
--   <li><a>odioMinStorageSize</a> - Minimum storage size for a DB
--   instance.</li>
--   <li><a>odioSupportsIOPS</a> - Indicates whether a DB instance supports
--   provisioned IOPS.</li>
--   <li><a>odioSupportsPerformanceInsights</a> - True if a DB instance
--   supports Performance Insights, otherwise false.</li>
--   <li><a>odioDBInstanceClass</a> - The DB instance class for a DB
--   instance.</li>
--   <li><a>odioLicenseModel</a> - The license model for a DB
--   instance.</li>
--   <li><a>odioAvailabilityZones</a> - A list of Availability Zones for a
--   DB instance.</li>
--   <li><a>odioSupportsStorageEncryption</a> - Indicates whether a DB
--   instance supports encrypted storage.</li>
--   <li><a>odioReadReplicaCapable</a> - Indicates whether a DB instance
--   can have a Read Replica.</li>
--   <li><a>odioMaxIOPSPerGib</a> - Maximum provisioned IOPS per GiB for a
--   DB instance.</li>
--   <li><a>odioVPC</a> - Indicates whether a DB instance is in a VPC.</li>
--   <li><a>odioSupportsEnhancedMonitoring</a> - Indicates whether a DB
--   instance supports Enhanced Monitoring at intervals from 1 to 60
--   seconds.</li>
--   <li><a>odioMaxIOPSPerDBInstance</a> - Maximum total provisioned IOPS
--   for a DB instance.</li>
--   <li><a>odioStorageType</a> - Indicates the storage type for a DB
--   instance.</li>
--   </ul>
orderableDBInstanceOption :: OrderableDBInstanceOption

-- | The engine version of a DB instance.
odioEngineVersion :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | Minimum provisioned IOPS per GiB for a DB instance.
odioMinIOPSPerGib :: Lens' OrderableDBInstanceOption (Maybe Double)

-- | Indicates whether a DB instance supports IAM database authentication.
odioSupportsIAMDatabaseAuthentication :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Minimum total provisioned IOPS for a DB instance.
odioMinIOPSPerDBInstance :: Lens' OrderableDBInstanceOption (Maybe Int)

-- | Indicates whether a DB instance is Multi-AZ capable.
odioMultiAZCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Maximum storage size for a DB instance.
odioMaxStorageSize :: Lens' OrderableDBInstanceOption (Maybe Int)

-- | The engine type of a DB instance.
odioEngine :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | Minimum storage size for a DB instance.
odioMinStorageSize :: Lens' OrderableDBInstanceOption (Maybe Int)

-- | Indicates whether a DB instance supports provisioned IOPS.
odioSupportsIOPS :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | True if a DB instance supports Performance Insights, otherwise false.
odioSupportsPerformanceInsights :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | The DB instance class for a DB instance.
odioDBInstanceClass :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | The license model for a DB instance.
odioLicenseModel :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | A list of Availability Zones for a DB instance.
odioAvailabilityZones :: Lens' OrderableDBInstanceOption [AvailabilityZone]

-- | Indicates whether a DB instance supports encrypted storage.
odioSupportsStorageEncryption :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Indicates whether a DB instance can have a Read Replica.
odioReadReplicaCapable :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Maximum provisioned IOPS per GiB for a DB instance.
odioMaxIOPSPerGib :: Lens' OrderableDBInstanceOption (Maybe Double)

-- | Indicates whether a DB instance is in a VPC.
odioVPC :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Indicates whether a DB instance supports Enhanced Monitoring at
--   intervals from 1 to 60 seconds.
odioSupportsEnhancedMonitoring :: Lens' OrderableDBInstanceOption (Maybe Bool)

-- | Maximum total provisioned IOPS for a DB instance.
odioMaxIOPSPerDBInstance :: Lens' OrderableDBInstanceOption (Maybe Int)

-- | Indicates the storage type for a DB instance.
odioStorageType :: Lens' OrderableDBInstanceOption (Maybe Text)

-- | This data type is used as a request parameter in the
--   <tt>ModifyDBParameterGroup</tt> and <tt>ResetDBParameterGroup</tt>
--   actions.
--   
--   This data type is used as a response element in the
--   <tt>DescribeEngineDefaultParameters</tt> and
--   <tt>DescribeDBParameters</tt> actions.
--   
--   <i>See:</i> <a>parameter</a> smart constructor.
data Parameter

-- | Creates a value of <a>Parameter</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pApplyType</a> - Specifies the engine specific parameters
--   type.</li>
--   <li><a>pParameterValue</a> - Specifies the value of the
--   parameter.</li>
--   <li><a>pApplyMethod</a> - Indicates when to apply parameter
--   updates.</li>
--   <li><a>pMinimumEngineVersion</a> - The earliest engine version to
--   which the parameter can apply.</li>
--   <li><a>pSource</a> - Indicates the source of the parameter value.</li>
--   <li><a>pIsModifiable</a> - Indicates whether (<tt>true</tt> ) or not
--   (<tt>false</tt> ) the parameter can be modified. Some parameters have
--   security or operational implications that prevent them from being
--   changed.</li>
--   <li><a>pDataType</a> - Specifies the valid data type for the
--   parameter.</li>
--   <li><a>pAllowedValues</a> - Specifies the valid range of values for
--   the parameter.</li>
--   <li><a>pParameterName</a> - Specifies the name of the parameter.</li>
--   <li><a>pDescription</a> - Provides a description of the
--   parameter.</li>
--   </ul>
parameter :: Parameter

-- | Specifies the engine specific parameters type.
pApplyType :: Lens' Parameter (Maybe Text)

-- | Specifies the value of the parameter.
pParameterValue :: Lens' Parameter (Maybe Text)

-- | Indicates when to apply parameter updates.
pApplyMethod :: Lens' Parameter (Maybe ApplyMethod)

-- | The earliest engine version to which the parameter can apply.
pMinimumEngineVersion :: Lens' Parameter (Maybe Text)

-- | Indicates the source of the parameter value.
pSource :: Lens' Parameter (Maybe Text)

-- | Indicates whether (<tt>true</tt> ) or not (<tt>false</tt> ) the
--   parameter can be modified. Some parameters have security or
--   operational implications that prevent them from being changed.
pIsModifiable :: Lens' Parameter (Maybe Bool)

-- | Specifies the valid data type for the parameter.
pDataType :: Lens' Parameter (Maybe Text)

-- | Specifies the valid range of values for the parameter.
pAllowedValues :: Lens' Parameter (Maybe Text)

-- | Specifies the name of the parameter.
pParameterName :: Lens' Parameter (Maybe Text)

-- | Provides a description of the parameter.
pDescription :: Lens' Parameter (Maybe Text)

-- | A list of the log types whose configuration is still pending. In other
--   words, these log types are in the process of being activated or
--   deactivated.
--   
--   <i>See:</i> <a>pendingCloudwatchLogsExports</a> smart constructor.
data PendingCloudwatchLogsExports

-- | Creates a value of <a>PendingCloudwatchLogsExports</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcleLogTypesToEnable</a> - Log types that are in the process of
--   being deactivated. After they are deactivated, these log types aren't
--   exported to CloudWatch Logs.</li>
--   <li><a>pcleLogTypesToDisable</a> - Log types that are in the process
--   of being enabled. After they are enabled, these log types are exported
--   to CloudWatch Logs.</li>
--   </ul>
pendingCloudwatchLogsExports :: PendingCloudwatchLogsExports

-- | Log types that are in the process of being deactivated. After they are
--   deactivated, these log types aren't exported to CloudWatch Logs.
pcleLogTypesToEnable :: Lens' PendingCloudwatchLogsExports [Text]

-- | Log types that are in the process of being enabled. After they are
--   enabled, these log types are exported to CloudWatch Logs.
pcleLogTypesToDisable :: Lens' PendingCloudwatchLogsExports [Text]

-- | Provides information about a pending maintenance action for a
--   resource.
--   
--   <i>See:</i> <a>pendingMaintenanceAction</a> smart constructor.
data PendingMaintenanceAction

-- | Creates a value of <a>PendingMaintenanceAction</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pmaAutoAppliedAfterDate</a> - The date of the maintenance
--   window when the action is applied. The maintenance action is applied
--   to the resource during its first maintenance window after this date.
--   If this date is specified, any <tt>next-maintenance</tt> opt-in
--   requests are ignored.</li>
--   <li><a>pmaAction</a> - The type of pending maintenance action that is
--   available for the resource.</li>
--   <li><a>pmaOptInStatus</a> - Indicates the type of opt-in request that
--   has been received for the resource.</li>
--   <li><a>pmaDescription</a> - A description providing more detail about
--   the maintenance action.</li>
--   <li><a>pmaForcedApplyDate</a> - The date when the maintenance action
--   is automatically applied. The maintenance action is applied to the
--   resource on this date regardless of the maintenance window for the
--   resource. If this date is specified, any <tt>immediate</tt> opt-in
--   requests are ignored.</li>
--   <li><a>pmaCurrentApplyDate</a> - The effective date when the pending
--   maintenance action is applied to the resource. This date takes into
--   account opt-in requests received from the
--   <tt>ApplyPendingMaintenanceAction</tt> API, the
--   <tt>AutoAppliedAfterDate</tt> , and the <tt>ForcedApplyDate</tt> .
--   This value is blank if an opt-in request has not been received and
--   nothing has been specified as <tt>AutoAppliedAfterDate</tt> or
--   <tt>ForcedApplyDate</tt> .</li>
--   </ul>
pendingMaintenanceAction :: PendingMaintenanceAction

-- | The date of the maintenance window when the action is applied. The
--   maintenance action is applied to the resource during its first
--   maintenance window after this date. If this date is specified, any
--   <tt>next-maintenance</tt> opt-in requests are ignored.
pmaAutoAppliedAfterDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)

-- | The type of pending maintenance action that is available for the
--   resource.
pmaAction :: Lens' PendingMaintenanceAction (Maybe Text)

-- | Indicates the type of opt-in request that has been received for the
--   resource.
pmaOptInStatus :: Lens' PendingMaintenanceAction (Maybe Text)

-- | A description providing more detail about the maintenance action.
pmaDescription :: Lens' PendingMaintenanceAction (Maybe Text)

-- | The date when the maintenance action is automatically applied. The
--   maintenance action is applied to the resource on this date regardless
--   of the maintenance window for the resource. If this date is specified,
--   any <tt>immediate</tt> opt-in requests are ignored.
pmaForcedApplyDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)

-- | The effective date when the pending maintenance action is applied to
--   the resource. This date takes into account opt-in requests received
--   from the <tt>ApplyPendingMaintenanceAction</tt> API, the
--   <tt>AutoAppliedAfterDate</tt> , and the <tt>ForcedApplyDate</tt> .
--   This value is blank if an opt-in request has not been received and
--   nothing has been specified as <tt>AutoAppliedAfterDate</tt> or
--   <tt>ForcedApplyDate</tt> .
pmaCurrentApplyDate :: Lens' PendingMaintenanceAction (Maybe UTCTime)

-- | This data type is used as a response element in the
--   <tt>ModifyDBInstance</tt> action.
--   
--   <i>See:</i> <a>pendingModifiedValues</a> smart constructor.
data PendingModifiedValues

-- | Creates a value of <a>PendingModifiedValues</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pmvEngineVersion</a> - Indicates the database engine
--   version.</li>
--   <li><a>pmvMasterUserPassword</a> - Contains the pending or
--   currently-in-progress change of the master credentials for the DB
--   instance.</li>
--   <li><a>pmvDBSubnetGroupName</a> - The new DB subnet group for the DB
--   instance.</li>
--   <li><a>pmvIOPS</a> - Specifies the new Provisioned IOPS value for the
--   DB instance that will be applied or is currently being applied.</li>
--   <li><a>pmvDBInstanceClass</a> - Contains the new
--   <tt>DBInstanceClass</tt> for the DB instance that will be applied or
--   is currently being applied.</li>
--   <li><a>pmvLicenseModel</a> - The license model for the DB instance.
--   Valid values: <tt>license-included</tt> |
--   <tt>bring-your-own-license</tt> | <tt>general-public-license</tt></li>
--   <li><a>pmvCACertificateIdentifier</a> - Specifies the identifier of
--   the CA certificate for the DB instance.</li>
--   <li><a>pmvDBInstanceIdentifier</a> - Contains the new
--   <tt>DBInstanceIdentifier</tt> for the DB instance that will be applied
--   or is currently being applied.</li>
--   <li><a>pmvPendingCloudwatchLogsExports</a> - Undocumented member.</li>
--   <li><a>pmvBackupRetentionPeriod</a> - Specifies the pending number of
--   days for which automated backups are retained.</li>
--   <li><a>pmvMultiAZ</a> - Indicates that the Single-AZ DB instance is to
--   change to a Multi-AZ deployment.</li>
--   <li><a>pmvAllocatedStorage</a> - Contains the new
--   <tt>AllocatedStorage</tt> size for the DB instance that will be
--   applied or is currently being applied.</li>
--   <li><a>pmvPort</a> - Specifies the pending port for the DB
--   instance.</li>
--   <li><a>pmvStorageType</a> - Specifies the storage type to be
--   associated with the DB instance.</li>
--   </ul>
pendingModifiedValues :: PendingModifiedValues

-- | Indicates the database engine version.
pmvEngineVersion :: Lens' PendingModifiedValues (Maybe Text)

-- | Contains the pending or currently-in-progress change of the master
--   credentials for the DB instance.
pmvMasterUserPassword :: Lens' PendingModifiedValues (Maybe Text)

-- | The new DB subnet group for the DB instance.
pmvDBSubnetGroupName :: Lens' PendingModifiedValues (Maybe Text)

-- | Specifies the new Provisioned IOPS value for the DB instance that will
--   be applied or is currently being applied.
pmvIOPS :: Lens' PendingModifiedValues (Maybe Int)

-- | Contains the new <tt>DBInstanceClass</tt> for the DB instance that
--   will be applied or is currently being applied.
pmvDBInstanceClass :: Lens' PendingModifiedValues (Maybe Text)

-- | The license model for the DB instance. Valid values:
--   <tt>license-included</tt> | <tt>bring-your-own-license</tt> |
--   <tt>general-public-license</tt>
pmvLicenseModel :: Lens' PendingModifiedValues (Maybe Text)

-- | Specifies the identifier of the CA certificate for the DB instance.
pmvCACertificateIdentifier :: Lens' PendingModifiedValues (Maybe Text)

-- | Contains the new <tt>DBInstanceIdentifier</tt> for the DB instance
--   that will be applied or is currently being applied.
pmvDBInstanceIdentifier :: Lens' PendingModifiedValues (Maybe Text)

-- | Undocumented member.
pmvPendingCloudwatchLogsExports :: Lens' PendingModifiedValues (Maybe PendingCloudwatchLogsExports)

-- | Specifies the pending number of days for which automated backups are
--   retained.
pmvBackupRetentionPeriod :: Lens' PendingModifiedValues (Maybe Int)

-- | Indicates that the Single-AZ DB instance is to change to a Multi-AZ
--   deployment.
pmvMultiAZ :: Lens' PendingModifiedValues (Maybe Bool)

-- | Contains the new <tt>AllocatedStorage</tt> size for the DB instance
--   that will be applied or is currently being applied.
pmvAllocatedStorage :: Lens' PendingModifiedValues (Maybe Int)

-- | Specifies the pending port for the DB instance.
pmvPort :: Lens' PendingModifiedValues (Maybe Int)

-- | Specifies the storage type to be associated with the DB instance.
pmvStorageType :: Lens' PendingModifiedValues (Maybe Text)

-- | A range of integer values.
--   
--   <i>See:</i> <a>range</a> smart constructor.
data Range

-- | Creates a value of <a>Range</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rTo</a> - The maximum value in the range.</li>
--   <li><a>rFrom</a> - The minimum value in the range.</li>
--   <li><a>rStep</a> - The step value for the range. For example, if you
--   have a range of 5,000 to 10,000, with a step value of 1,000, the valid
--   values start at 5,000 and step up by 1,000. Even though 7,500 is
--   within the range, it isn't a valid value for the range. The valid
--   values are 5,000, 6,000, 7,000, 8,000...</li>
--   </ul>
range :: Range

-- | The maximum value in the range.
rTo :: Lens' Range (Maybe Int)

-- | The minimum value in the range.
rFrom :: Lens' Range (Maybe Int)

-- | The step value for the range. For example, if you have a range of
--   5,000 to 10,000, with a step value of 1,000, the valid values start at
--   5,000 and step up by 1,000. Even though 7,500 is within the range, it
--   isn't a valid value for the range. The valid values are 5,000, 6,000,
--   7,000, 8,000...
rStep :: Lens' Range (Maybe Int)

-- | This data type is used as a response element in the
--   <tt>DescribeReservedDBInstances</tt> and
--   <tt>DescribeReservedDBInstancesOfferings</tt> actions.
--   
--   <i>See:</i> <a>recurringCharge</a> smart constructor.
data RecurringCharge

-- | Creates a value of <a>RecurringCharge</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcRecurringChargeFrequency</a> - The frequency of the recurring
--   charge.</li>
--   <li><a>rcRecurringChargeAmount</a> - The amount of the recurring
--   charge.</li>
--   </ul>
recurringCharge :: RecurringCharge

-- | The frequency of the recurring charge.
rcRecurringChargeFrequency :: Lens' RecurringCharge (Maybe Text)

-- | The amount of the recurring charge.
rcRecurringChargeAmount :: Lens' RecurringCharge (Maybe Double)

-- | This data type is used as a response element in the
--   <tt>DescribeReservedDBInstances</tt> and
--   <tt>PurchaseReservedDBInstancesOffering</tt> actions.
--   
--   <i>See:</i> <a>reservedDBInstance</a> smart constructor.
data ReservedDBInstance

-- | Creates a value of <a>ReservedDBInstance</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdiDBInstanceCount</a> - The number of reserved DB
--   instances.</li>
--   <li><a>rdiState</a> - The state of the reserved DB instance.</li>
--   <li><a>rdiCurrencyCode</a> - The currency code for the reserved DB
--   instance.</li>
--   <li><a>rdiStartTime</a> - The time the reservation started.</li>
--   <li><a>rdiProductDescription</a> - The description of the reserved DB
--   instance.</li>
--   <li><a>rdiReservedDBInstanceId</a> - The unique identifier for the
--   reservation.</li>
--   <li><a>rdiReservedDBInstanceARN</a> - The Amazon Resource Name (ARN)
--   for the reserved DB instance.</li>
--   <li><a>rdiDBInstanceClass</a> - The DB instance class for the reserved
--   DB instance.</li>
--   <li><a>rdiMultiAZ</a> - Indicates if the reservation applies to
--   Multi-AZ deployments.</li>
--   <li><a>rdiReservedDBInstancesOfferingId</a> - The offering
--   identifier.</li>
--   <li><a>rdiRecurringCharges</a> - The recurring price charged to run
--   this reserved DB instance.</li>
--   <li><a>rdiOfferingType</a> - The offering type of this reserved DB
--   instance.</li>
--   <li><a>rdiUsagePrice</a> - The hourly price charged for this reserved
--   DB instance.</li>
--   <li><a>rdiFixedPrice</a> - The fixed price charged for this reserved
--   DB instance.</li>
--   <li><a>rdiDuration</a> - The duration of the reservation in
--   seconds.</li>
--   </ul>
reservedDBInstance :: ReservedDBInstance

-- | The number of reserved DB instances.
rdiDBInstanceCount :: Lens' ReservedDBInstance (Maybe Int)

-- | The state of the reserved DB instance.
rdiState :: Lens' ReservedDBInstance (Maybe Text)

-- | The currency code for the reserved DB instance.
rdiCurrencyCode :: Lens' ReservedDBInstance (Maybe Text)

-- | The time the reservation started.
rdiStartTime :: Lens' ReservedDBInstance (Maybe UTCTime)

-- | The description of the reserved DB instance.
rdiProductDescription :: Lens' ReservedDBInstance (Maybe Text)

-- | The unique identifier for the reservation.
rdiReservedDBInstanceId :: Lens' ReservedDBInstance (Maybe Text)

-- | The Amazon Resource Name (ARN) for the reserved DB instance.
rdiReservedDBInstanceARN :: Lens' ReservedDBInstance (Maybe Text)

-- | The DB instance class for the reserved DB instance.
rdiDBInstanceClass :: Lens' ReservedDBInstance (Maybe Text)

-- | Indicates if the reservation applies to Multi-AZ deployments.
rdiMultiAZ :: Lens' ReservedDBInstance (Maybe Bool)

-- | The offering identifier.
rdiReservedDBInstancesOfferingId :: Lens' ReservedDBInstance (Maybe Text)

-- | The recurring price charged to run this reserved DB instance.
rdiRecurringCharges :: Lens' ReservedDBInstance [RecurringCharge]

-- | The offering type of this reserved DB instance.
rdiOfferingType :: Lens' ReservedDBInstance (Maybe Text)

-- | The hourly price charged for this reserved DB instance.
rdiUsagePrice :: Lens' ReservedDBInstance (Maybe Double)

-- | The fixed price charged for this reserved DB instance.
rdiFixedPrice :: Lens' ReservedDBInstance (Maybe Double)

-- | The duration of the reservation in seconds.
rdiDuration :: Lens' ReservedDBInstance (Maybe Int)

-- | This data type is used as a response element in the
--   <tt>DescribeReservedDBInstancesOfferings</tt> action.
--   
--   <i>See:</i> <a>reservedDBInstancesOffering</a> smart constructor.
data ReservedDBInstancesOffering

-- | Creates a value of <a>ReservedDBInstancesOffering</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rdioCurrencyCode</a> - The currency code for the reserved DB
--   instance offering.</li>
--   <li><a>rdioProductDescription</a> - The database engine used by the
--   offering.</li>
--   <li><a>rdioDBInstanceClass</a> - The DB instance class for the
--   reserved DB instance.</li>
--   <li><a>rdioMultiAZ</a> - Indicates if the offering applies to Multi-AZ
--   deployments.</li>
--   <li><a>rdioReservedDBInstancesOfferingId</a> - The offering
--   identifier.</li>
--   <li><a>rdioRecurringCharges</a> - The recurring price charged to run
--   this reserved DB instance.</li>
--   <li><a>rdioOfferingType</a> - The offering type.</li>
--   <li><a>rdioUsagePrice</a> - The hourly price charged for this
--   offering.</li>
--   <li><a>rdioFixedPrice</a> - The fixed price charged for this
--   offering.</li>
--   <li><a>rdioDuration</a> - The duration of the offering in
--   seconds.</li>
--   </ul>
reservedDBInstancesOffering :: ReservedDBInstancesOffering

-- | The currency code for the reserved DB instance offering.
rdioCurrencyCode :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | The database engine used by the offering.
rdioProductDescription :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | The DB instance class for the reserved DB instance.
rdioDBInstanceClass :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | Indicates if the offering applies to Multi-AZ deployments.
rdioMultiAZ :: Lens' ReservedDBInstancesOffering (Maybe Bool)

-- | The offering identifier.
rdioReservedDBInstancesOfferingId :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | The recurring price charged to run this reserved DB instance.
rdioRecurringCharges :: Lens' ReservedDBInstancesOffering [RecurringCharge]

-- | The offering type.
rdioOfferingType :: Lens' ReservedDBInstancesOffering (Maybe Text)

-- | The hourly price charged for this offering.
rdioUsagePrice :: Lens' ReservedDBInstancesOffering (Maybe Double)

-- | The fixed price charged for this offering.
rdioFixedPrice :: Lens' ReservedDBInstancesOffering (Maybe Double)

-- | The duration of the offering in seconds.
rdioDuration :: Lens' ReservedDBInstancesOffering (Maybe Int)

-- | Describes the pending maintenance actions for a resource.
--   
--   <i>See:</i> <a>resourcePendingMaintenanceActions</a> smart
--   constructor.
data ResourcePendingMaintenanceActions

-- | Creates a value of <a>ResourcePendingMaintenanceActions</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rpmaPendingMaintenanceActionDetails</a> - A list that provides
--   details about the pending maintenance actions for the resource.</li>
--   <li><a>rpmaResourceIdentifier</a> - The ARN of the resource that has
--   pending maintenance actions.</li>
--   </ul>
resourcePendingMaintenanceActions :: ResourcePendingMaintenanceActions

-- | A list that provides details about the pending maintenance actions for
--   the resource.
rpmaPendingMaintenanceActionDetails :: Lens' ResourcePendingMaintenanceActions [PendingMaintenanceAction]

-- | The ARN of the resource that has pending maintenance actions.
rpmaResourceIdentifier :: Lens' ResourcePendingMaintenanceActions (Maybe Text)

-- | Contains an AWS Region name as the result of a successful call to the
--   <tt>DescribeSourceRegions</tt> action.
--   
--   <i>See:</i> <a>sourceRegion</a> smart constructor.
data SourceRegion

-- | Creates a value of <a>SourceRegion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srStatus</a> - The status of the source AWS Region.</li>
--   <li><a>srRegionName</a> - The name of the source AWS Region.</li>
--   <li><a>srEndpoint</a> - The endpoint for the source AWS Region
--   endpoint.</li>
--   </ul>
sourceRegion :: SourceRegion

-- | The status of the source AWS Region.
srStatus :: Lens' SourceRegion (Maybe Text)

-- | The name of the source AWS Region.
srRegionName :: Lens' SourceRegion (Maybe Text)

-- | The endpoint for the source AWS Region endpoint.
srEndpoint :: Lens' SourceRegion (Maybe Text)

-- | This data type is used as a response element in the
--   <tt>DescribeDBSubnetGroups</tt> action.
--   
--   <i>See:</i> <a>subnet</a> smart constructor.
data Subnet

-- | Creates a value of <a>Subnet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sSubnetStatus</a> - Specifies the status of the subnet.</li>
--   <li><a>sSubnetIdentifier</a> - Specifies the identifier of the
--   subnet.</li>
--   <li><a>sSubnetAvailabilityZone</a> - Undocumented member.</li>
--   </ul>
subnet :: Subnet

-- | Specifies the status of the subnet.
sSubnetStatus :: Lens' Subnet (Maybe Text)

-- | Specifies the identifier of the subnet.
sSubnetIdentifier :: Lens' Subnet (Maybe Text)

-- | Undocumented member.
sSubnetAvailabilityZone :: Lens' Subnet (Maybe AvailabilityZone)

-- | Metadata assigned to an Amazon RDS resource consisting of a key-value
--   pair.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagValue</a> - A value is the optional value of the tag. The
--   string value can be from 1 to 256 Unicode characters in length and
--   can't be prefixed with "aws:" or "rds:". The string can only contain
--   only the set of Unicode letters, digits, white-space, '_', <a>.</a>,
--   <a>/</a>, '=', <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").</li>
--   <li><a>tagKey</a> - A key is the required name of the tag. The string
--   value can be from 1 to 128 Unicode characters in length and can't be
--   prefixed with "aws:" or "rds:". The string can only contain only the
--   set of Unicode letters, digits, white-space, '_', <a>.</a>, <a>/</a>,
--   '=', <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").</li>
--   </ul>
tag :: Tag

-- | A value is the optional value of the tag. The string value can be from
--   1 to 256 Unicode characters in length and can't be prefixed with
--   "aws:" or "rds:". The string can only contain only the set of Unicode
--   letters, digits, white-space, '_', <a>.</a>, <a>/</a>, '=', <a>+</a>,
--   <a>-</a> (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
tagValue :: Lens' Tag (Maybe Text)

-- | A key is the required name of the tag. The string value can be from 1
--   to 128 Unicode characters in length and can't be prefixed with "aws:"
--   or "rds:". The string can only contain only the set of Unicode
--   letters, digits, white-space, '_', <a>.</a>, <a>/</a>, '=', <a>+</a>,
--   <a>-</a> (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
tagKey :: Lens' Tag (Maybe Text)

-- | A time zone associated with a <a>DBInstance</a> or a <a>DBSnapshot</a>
--   . This data type is an element in the response to the
--   <tt>DescribeDBInstances</tt> , the <tt>DescribeDBSnapshots</tt> , and
--   the <tt>DescribeDBEngineVersions</tt> actions.
--   
--   <i>See:</i> <a>timezone</a> smart constructor.
data Timezone

-- | Creates a value of <a>Timezone</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tTimezoneName</a> - The name of the time zone.</li>
--   </ul>
timezone :: Timezone

-- | The name of the time zone.
tTimezoneName :: Lens' Timezone (Maybe Text)

-- | The version of the database engine that a DB instance can be upgraded
--   to.
--   
--   <i>See:</i> <a>upgradeTarget</a> smart constructor.
data UpgradeTarget

-- | Creates a value of <a>UpgradeTarget</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>utEngineVersion</a> - The version number of the upgrade target
--   database engine.</li>
--   <li><a>utIsMajorVersionUpgrade</a> - A value that indicates whether a
--   database engine is upgraded to a major version.</li>
--   <li><a>utEngine</a> - The name of the upgrade target database
--   engine.</li>
--   <li><a>utAutoUpgrade</a> - A value that indicates whether the target
--   version is applied to any source DB instances that have
--   AutoMinorVersionUpgrade set to true.</li>
--   <li><a>utDescription</a> - The version of the database engine that a
--   DB instance can be upgraded to.</li>
--   </ul>
upgradeTarget :: UpgradeTarget

-- | The version number of the upgrade target database engine.
utEngineVersion :: Lens' UpgradeTarget (Maybe Text)

-- | A value that indicates whether a database engine is upgraded to a
--   major version.
utIsMajorVersionUpgrade :: Lens' UpgradeTarget (Maybe Bool)

-- | The name of the upgrade target database engine.
utEngine :: Lens' UpgradeTarget (Maybe Text)

-- | A value that indicates whether the target version is applied to any
--   source DB instances that have AutoMinorVersionUpgrade set to true.
utAutoUpgrade :: Lens' UpgradeTarget (Maybe Bool)

-- | The version of the database engine that a DB instance can be upgraded
--   to.
utDescription :: Lens' UpgradeTarget (Maybe Text)

-- | This data type is used as a response element for queries on VPC
--   security group membership.
--   
--   <i>See:</i> <a>vpcSecurityGroupMembership</a> smart constructor.
data VPCSecurityGroupMembership

-- | Creates a value of <a>VPCSecurityGroupMembership</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsgmStatus</a> - The status of the VPC security group.</li>
--   <li><a>vsgmVPCSecurityGroupId</a> - The name of the VPC security
--   group.</li>
--   </ul>
vpcSecurityGroupMembership :: VPCSecurityGroupMembership

-- | The status of the VPC security group.
vsgmStatus :: Lens' VPCSecurityGroupMembership (Maybe Text)

-- | The name of the VPC security group.
vsgmVPCSecurityGroupId :: Lens' VPCSecurityGroupMembership (Maybe Text)

-- | Information about valid modifications that you can make to your DB
--   instance. Contains the result of a successful call to the
--   <tt>DescribeValidDBInstanceModifications</tt> action. You can use this
--   information when you call <tt>ModifyDBInstance</tt> .
--   
--   <i>See:</i> <a>validDBInstanceModificationsMessage</a> smart
--   constructor.
data ValidDBInstanceModificationsMessage

-- | Creates a value of <a>ValidDBInstanceModificationsMessage</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vdimmStorage</a> - Valid storage options for your DB
--   instance.</li>
--   </ul>
validDBInstanceModificationsMessage :: ValidDBInstanceModificationsMessage

-- | Valid storage options for your DB instance.
vdimmStorage :: Lens' ValidDBInstanceModificationsMessage [ValidStorageOptions]

-- | Information about valid modifications that you can make to your DB
--   instance. Contains the result of a successful call to the
--   <tt>DescribeValidDBInstanceModifications</tt> action.
--   
--   <i>See:</i> <a>validStorageOptions</a> smart constructor.
data ValidStorageOptions

-- | Creates a value of <a>ValidStorageOptions</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vsoStorageSize</a> - The valid range of storage in gibibytes.
--   For example, 100 to 16384.</li>
--   <li><a>vsoProvisionedIOPS</a> - The valid range of provisioned IOPS.
--   For example, 1000-20000.</li>
--   <li><a>vsoIOPSToStorageRatio</a> - The valid range of Provisioned IOPS
--   to gibibytes of storage multiplier. For example, 3-10, which means
--   that provisioned IOPS can be between 3 and 10 times storage.</li>
--   <li><a>vsoStorageType</a> - The valid storage types for your DB
--   instance. For example, gp2, io1.</li>
--   </ul>
validStorageOptions :: ValidStorageOptions

-- | The valid range of storage in gibibytes. For example, 100 to 16384.
vsoStorageSize :: Lens' ValidStorageOptions [Range]

-- | The valid range of provisioned IOPS. For example, 1000-20000.
vsoProvisionedIOPS :: Lens' ValidStorageOptions [Range]

-- | The valid range of Provisioned IOPS to gibibytes of storage
--   multiplier. For example, 3-10, which means that provisioned IOPS can
--   be between 3 and 10 times storage.
vsoIOPSToStorageRatio :: Lens' ValidStorageOptions [DoubleRange]

-- | The valid storage types for your DB instance. For example, gp2, io1.
vsoStorageType :: Lens' ValidStorageOptions (Maybe Text)
