SDK for PHP 3.x

Client: Aws\Rds\RdsClient
Service ID: rds
Version: 2014-10-31

This page describes the parameters and results for the operations of the Amazon Relational Database Service (2014-10-31), and shows how to use the Aws\Rds\RdsClient object to call the described operations. This documentation is specific to the 2014-10-31 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AddRoleToDBCluster ( array $params = [] )
Associates an Identity and Access Management (IAM) role with a DB cluster.
AddRoleToDBInstance ( array $params = [] )
Associates an Amazon Web Services Identity and Access Management (IAM) role with a DB instance.
AddSourceIdentifierToSubscription ( array $params = [] )
Adds a source identifier to an existing RDS event notification subscription.
AddTagsToResource ( array $params = [] )
Adds metadata tags to an Amazon RDS resource.
ApplyPendingMaintenanceAction ( array $params = [] )
Applies a pending maintenance action to a resource (for example, to a DB instance).
AuthorizeDBSecurityGroupIngress ( array $params = [] )
Enables ingress to a DBSecurityGroup using one of two forms of authorization.
BacktrackDBCluster ( array $params = [] )
Backtracks a DB cluster to a specific time, without creating a new DB cluster.
CancelExportTask ( array $params = [] )
Cancels an export task in progress that is exporting a snapshot or cluster to Amazon S3.
CopyDBClusterParameterGroup ( array $params = [] )
Copies the specified DB cluster parameter group.
CopyDBClusterSnapshot ( array $params = [] )
Copies a snapshot of a DB cluster.
CopyDBParameterGroup ( array $params = [] )
Copies the specified DB parameter group.
CopyDBSnapshot ( array $params = [] )
Copies the specified DB snapshot.
CopyOptionGroup ( array $params = [] )
Copies the specified option group.
CreateBlueGreenDeployment ( array $params = [] )
Creates a blue/green deployment.
CreateCustomDBEngineVersion ( array $params = [] )
Creates a custom DB engine version (CEV).
CreateDBCluster ( array $params = [] )
Creates a new Amazon Aurora DB cluster or Multi-AZ DB cluster.
CreateDBClusterEndpoint ( array $params = [] )
Creates a new custom endpoint and associates it with an Amazon Aurora DB cluster.
CreateDBClusterParameterGroup ( array $params = [] )
Creates a new DB cluster parameter group.
CreateDBClusterSnapshot ( array $params = [] )
Creates a snapshot of a DB cluster.
CreateDBInstance ( array $params = [] )
Creates a new DB instance.
CreateDBInstanceReadReplica ( array $params = [] )
Creates a new DB instance that acts as a read replica for an existing source DB instance or Multi-AZ DB cluster.
CreateDBParameterGroup ( array $params = [] )
Creates a new DB parameter group.
CreateDBProxy ( array $params = [] )
Creates a new DB proxy.
CreateDBProxyEndpoint ( array $params = [] )
Creates a DBProxyEndpoint.
CreateDBSecurityGroup ( array $params = [] )
Creates a new DB security group.
CreateDBShardGroup ( array $params = [] )
Creates a new DB shard group for Aurora Limitless Database.
CreateDBSnapshot ( array $params = [] )
Creates a snapshot of a DB instance.
CreateDBSubnetGroup ( array $params = [] )
Creates a new DB subnet group.
CreateEventSubscription ( array $params = [] )
Creates an RDS event notification subscription.
CreateGlobalCluster ( array $params = [] )
Creates an Aurora global database spread across multiple Amazon Web Services Regions.
CreateIntegration ( array $params = [] )
Creates a zero-ETL integration with Amazon Redshift.
CreateOptionGroup ( array $params = [] )
Creates a new option group.
CreateTenantDatabase ( array $params = [] )
Creates a tenant database in a DB instance that uses the multi-tenant configuration.
DeleteBlueGreenDeployment ( array $params = [] )
Deletes a blue/green deployment.
DeleteCustomDBEngineVersion ( array $params = [] )
Deletes a custom engine version.
DeleteDBCluster ( array $params = [] )
The DeleteDBCluster action deletes a previously provisioned DB cluster.
DeleteDBClusterAutomatedBackup ( array $params = [] )
Deletes automated backups using the DbClusterResourceId value of the source DB cluster or the Amazon Resource Name (ARN) of the automated backups.
DeleteDBClusterEndpoint ( array $params = [] )
Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.
DeleteDBClusterParameterGroup ( array $params = [] )
Deletes a specified DB cluster parameter group.
DeleteDBClusterSnapshot ( array $params = [] )
Deletes a DB cluster snapshot.
DeleteDBInstance ( array $params = [] )
Deletes a previously provisioned DB instance.
DeleteDBInstanceAutomatedBackup ( array $params = [] )
Deletes automated backups using the DbiResourceId value of the source DB instance or the Amazon Resource Name (ARN) of the automated backups.
DeleteDBParameterGroup ( array $params = [] )
Deletes a specified DB parameter group.
DeleteDBProxy ( array $params = [] )
Deletes an existing DB proxy.
DeleteDBProxyEndpoint ( array $params = [] )
Deletes a DBProxyEndpoint.
DeleteDBSecurityGroup ( array $params = [] )
Deletes a DB security group.
DeleteDBShardGroup ( array $params = [] )
Deletes an Aurora Limitless Database DB shard group.
DeleteDBSnapshot ( array $params = [] )
Deletes a DB snapshot.
DeleteDBSubnetGroup ( array $params = [] )
Deletes a DB subnet group.
DeleteEventSubscription ( array $params = [] )
Deletes an RDS event notification subscription.
DeleteGlobalCluster ( array $params = [] )
Deletes a global database cluster.
DeleteIntegration ( array $params = [] )
Deletes a zero-ETL integration with Amazon Redshift.
DeleteOptionGroup ( array $params = [] )
Deletes an existing option group.
DeleteTenantDatabase ( array $params = [] )
Deletes a tenant database from your DB instance.
DeregisterDBProxyTargets ( array $params = [] )
Remove the association between one or more DBProxyTarget data structures and a DBProxyTargetGroup.
DescribeAccountAttributes ( array $params = [] )
Lists all of the attributes for a customer account.
DescribeBlueGreenDeployments ( array $params = [] )
Describes one or more blue/green deployments.
DescribeCertificates ( array $params = [] )
Lists the set of certificate authority (CA) certificates provided by Amazon RDS for this Amazon Web Services account.
DescribeDBClusterAutomatedBackups ( array $params = [] )
Displays backups for both current and deleted DB clusters.
DescribeDBClusterBacktracks ( array $params = [] )
Returns information about backtracks for a DB cluster.
DescribeDBClusterEndpoints ( array $params = [] )
Returns information about endpoints for an Amazon Aurora DB cluster.
DescribeDBClusterParameterGroups ( array $params = [] )
Returns a list of DBClusterParameterGroup descriptions.
DescribeDBClusterParameters ( array $params = [] )
Returns the detailed parameter list for a particular DB cluster parameter group.
DescribeDBClusterSnapshotAttributes ( array $params = [] )
Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.
DescribeDBClusterSnapshots ( array $params = [] )
Returns information about DB cluster snapshots.
DescribeDBClusters ( array $params = [] )
Describes existing Amazon Aurora DB clusters and Multi-AZ DB clusters.
DescribeDBEngineVersions ( array $params = [] )
Describes the properties of specific versions of DB engines.
DescribeDBInstanceAutomatedBackups ( array $params = [] )
Displays backups for both current and deleted instances.
DescribeDBInstances ( array $params = [] )
Describes provisioned RDS instances.
DescribeDBLogFiles ( array $params = [] )
Returns a list of DB log files for the DB instance.
DescribeDBParameterGroups ( array $params = [] )
Returns a list of DBParameterGroup descriptions.
DescribeDBParameters ( array $params = [] )
Returns the detailed parameter list for a particular DB parameter group.
DescribeDBProxies ( array $params = [] )
Returns information about DB proxies.
DescribeDBProxyEndpoints ( array $params = [] )
Returns information about DB proxy endpoints.
DescribeDBProxyTargetGroups ( array $params = [] )
Returns information about DB proxy target groups, represented by DBProxyTargetGroup data structures.
DescribeDBProxyTargets ( array $params = [] )
Returns information about DBProxyTarget objects.
DescribeDBRecommendations ( array $params = [] )
Describes the recommendations to resolve the issues for your DB instances, DB clusters, and DB parameter groups.
DescribeDBSecurityGroups ( array $params = [] )
Returns a list of DBSecurityGroup descriptions.
DescribeDBShardGroups ( array $params = [] )
Describes existing Aurora Limitless Database DB shard groups.
DescribeDBSnapshotAttributes ( array $params = [] )
Returns a list of DB snapshot attribute names and values for a manual DB snapshot.
DescribeDBSnapshotTenantDatabases ( array $params = [] )
Describes the tenant databases that exist in a DB snapshot.
DescribeDBSnapshots ( array $params = [] )
Returns information about DB snapshots.
DescribeDBSubnetGroups ( array $params = [] )
Returns a list of DBSubnetGroup descriptions.
DescribeEngineDefaultClusterParameters ( array $params = [] )
Returns the default engine and system parameter information for the cluster database engine.
DescribeEngineDefaultParameters ( array $params = [] )
Returns the default engine and system parameter information for the specified database engine.
DescribeEventCategories ( array $params = [] )
Displays a list of categories for all event source types, or, if specified, for a specified source type.
DescribeEventSubscriptions ( array $params = [] )
Lists all the subscription descriptions for a customer account.
DescribeEvents ( array $params = [] )
Returns events related to DB instances, DB clusters, DB parameter groups, DB security groups, DB snapshots, DB cluster snapshots, and RDS Proxies for the past 14 days.
DescribeExportTasks ( array $params = [] )
Returns information about a snapshot or cluster export to Amazon S3.
DescribeGlobalClusters ( array $params = [] )
Returns information about Aurora global database clusters.
DescribeIntegrations ( array $params = [] )
Describe one or more zero-ETL integrations with Amazon Redshift.
DescribeOptionGroupOptions ( array $params = [] )
Describes all available options for the specified engine.
DescribeOptionGroups ( array $params = [] )
Describes the available option groups.
DescribeOrderableDBInstanceOptions ( array $params = [] )
Describes the orderable DB instance options for a specified DB engine.
DescribePendingMaintenanceActions ( array $params = [] )
Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.
DescribeReservedDBInstances ( array $params = [] )
Returns information about reserved DB instances for this account, or about a specified reserved DB instance.
DescribeReservedDBInstancesOfferings ( array $params = [] )
Lists available reserved DB instance offerings.
DescribeSourceRegions ( array $params = [] )
Returns a list of the source Amazon Web Services Regions where the current Amazon Web Services Region can create a read replica, copy a DB snapshot from, or replicate automated backups from.
DescribeTenantDatabases ( array $params = [] )
Describes the tenant databases in a DB instance that uses the multi-tenant configuration.
DescribeValidDBInstanceModifications ( array $params = [] )
You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance.
DisableHttpEndpoint ( array $params = [] )
Disables the HTTP endpoint for the specified DB cluster.
DownloadDBLogFilePortion ( array $params = [] )
Downloads all or a portion of the specified log file, up to 1 MB in size.
EnableHttpEndpoint ( array $params = [] )
Enables the HTTP endpoint for the DB cluster.
FailoverDBCluster ( array $params = [] )
Forces a failover for a DB cluster.
FailoverGlobalCluster ( array $params = [] )
Promotes the specified secondary DB cluster to be the primary DB cluster in the global database cluster to fail over or switch over a global database.
ListTagsForResource ( array $params = [] )
Lists all tags on an Amazon RDS resource.
ModifyActivityStream ( array $params = [] )
Changes the audit policy state of a database activity stream to either locked (default) or unlocked.
ModifyCertificates ( array $params = [] )
Override the system-default Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificate for Amazon RDS for new DB instances, or remove the override.
ModifyCurrentDBClusterCapacity ( array $params = [] )
Set the capacity of an Aurora Serverless v1 DB cluster to a specific value.
ModifyCustomDBEngineVersion ( array $params = [] )
Modifies the status of a custom engine version (CEV).
ModifyDBCluster ( array $params = [] )
Modifies the settings of an Amazon Aurora DB cluster or a Multi-AZ DB cluster.
ModifyDBClusterEndpoint ( array $params = [] )
Modifies the properties of an endpoint in an Amazon Aurora DB cluster.
ModifyDBClusterParameterGroup ( array $params = [] )
Modifies the parameters of a DB cluster parameter group.
ModifyDBClusterSnapshotAttribute ( array $params = [] )
Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.
ModifyDBInstance ( array $params = [] )
Modifies settings for a DB instance.
ModifyDBParameterGroup ( array $params = [] )
Modifies the parameters of a DB parameter group.
ModifyDBProxy ( array $params = [] )
Changes the settings for an existing DB proxy.
ModifyDBProxyEndpoint ( array $params = [] )
Changes the settings for an existing DB proxy endpoint.
ModifyDBProxyTargetGroup ( array $params = [] )
Modifies the properties of a DBProxyTargetGroup.
ModifyDBRecommendation ( array $params = [] )
Updates the recommendation status and recommended action status for the specified recommendation.
ModifyDBShardGroup ( array $params = [] )
Modifies the settings of an Aurora Limitless Database DB shard group.
ModifyDBSnapshot ( array $params = [] )
Updates a manual DB snapshot with a new engine version.
ModifyDBSnapshotAttribute ( array $params = [] )
Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot.
ModifyDBSubnetGroup ( array $params = [] )
Modifies an existing DB subnet group.
ModifyEventSubscription ( array $params = [] )
Modifies an existing RDS event notification subscription.
ModifyGlobalCluster ( array $params = [] )
Modifies a setting for an Amazon Aurora global database cluster.
ModifyIntegration ( array $params = [] )
Modifies a zero-ETL integration with Amazon Redshift.
ModifyOptionGroup ( array $params = [] )
Modifies an existing option group.
ModifyTenantDatabase ( array $params = [] )
Modifies an existing tenant database in a DB instance.
PromoteReadReplica ( array $params = [] )
Promotes a read replica DB instance to a standalone DB instance.
PromoteReadReplicaDBCluster ( array $params = [] )
Promotes a read replica DB cluster to a standalone DB cluster.
PurchaseReservedDBInstancesOffering ( array $params = [] )
Purchases a reserved DB instance offering.
RebootDBCluster ( array $params = [] )
You might need to reboot your DB cluster, usually for maintenance reasons.
RebootDBInstance ( array $params = [] )
You might need to reboot your DB instance, usually for maintenance reasons.
RebootDBShardGroup ( array $params = [] )
You might need to reboot your DB shard group, usually for maintenance reasons.
RegisterDBProxyTargets ( array $params = [] )
Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup.
RemoveFromGlobalCluster ( array $params = [] )
Detaches an Aurora secondary cluster from an Aurora global database cluster.
RemoveRoleFromDBCluster ( array $params = [] )
Removes the asssociation of an Amazon Web Services Identity and Access Management (IAM) role from a DB cluster.
RemoveRoleFromDBInstance ( array $params = [] )
Disassociates an Amazon Web Services Identity and Access Management (IAM) role from a DB instance.
RemoveSourceIdentifierFromSubscription ( array $params = [] )
Removes a source identifier from an existing RDS event notification subscription.
RemoveTagsFromResource ( array $params = [] )
Removes metadata tags from an Amazon RDS resource.
ResetDBClusterParameterGroup ( array $params = [] )
Modifies the parameters of a DB cluster parameter group to the default value.
ResetDBParameterGroup ( array $params = [] )
Modifies the parameters of a DB parameter group to the engine/system default value.
RestoreDBClusterFromS3 ( array $params = [] )
Creates an Amazon Aurora DB cluster from MySQL data stored in an Amazon S3 bucket.
RestoreDBClusterFromSnapshot ( array $params = [] )
Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
RestoreDBClusterToPointInTime ( array $params = [] )
Restores a DB cluster to an arbitrary point in time.
RestoreDBInstanceFromDBSnapshot ( array $params = [] )
Creates a new DB instance from a DB snapshot.
RestoreDBInstanceFromS3 ( array $params = [] )
Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files.
RestoreDBInstanceToPointInTime ( array $params = [] )
Restores a DB instance to an arbitrary point in time.
RevokeDBSecurityGroupIngress ( array $params = [] )
Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC security groups.
StartActivityStream ( array $params = [] )
Starts a database activity stream to monitor activity on the database.
StartDBCluster ( array $params = [] )
Starts an Amazon Aurora DB cluster that was stopped using the Amazon Web Services console, the stop-db-cluster CLI command, or the StopDBCluster operation.
StartDBInstance ( array $params = [] )
Starts an Amazon RDS DB instance that was stopped using the Amazon Web Services console, the stop-db-instance CLI command, or the StopDBInstance operation.
StartDBInstanceAutomatedBackupsReplication ( array $params = [] )
Enables replication of automated backups to a different Amazon Web Services Region.
StartExportTask ( array $params = [] )
Starts an export of DB snapshot or DB cluster data to Amazon S3.
StopActivityStream ( array $params = [] )
Stops a database activity stream that was started using the Amazon Web Services console, the start-activity-stream CLI command, or the StartActivityStream operation.
StopDBCluster ( array $params = [] )
Stops an Amazon Aurora DB cluster.
StopDBInstance ( array $params = [] )
Stops an Amazon RDS DB instance.
StopDBInstanceAutomatedBackupsReplication ( array $params = [] )
Stops automated backup replication for a DB instance.
SwitchoverBlueGreenDeployment ( array $params = [] )
Switches over a blue/green deployment.
SwitchoverGlobalCluster ( array $params = [] )
Switches over the specified secondary DB cluster to be the new primary DB cluster in the global database cluster.
SwitchoverReadReplica ( array $params = [] )
Switches over an Oracle standby database in an Oracle Data Guard environment, making it the new primary database.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeBlueGreenDeployments
DescribeCertificates
DescribeDBClusterAutomatedBackups
DescribeDBClusterBacktracks
DescribeDBClusterEndpoints
DescribeDBClusterParameterGroups
DescribeDBClusterParameters
DescribeDBClusterSnapshots
DescribeDBClusters
DescribeDBEngineVersions
DescribeDBInstanceAutomatedBackups
DescribeDBInstances
DescribeDBLogFiles
DescribeDBParameterGroups
DescribeDBParameters
DescribeDBProxies
DescribeDBProxyEndpoints
DescribeDBProxyTargetGroups
DescribeDBProxyTargets
DescribeDBRecommendations
DescribeDBSecurityGroups
DescribeDBSnapshotTenantDatabases
DescribeDBSnapshots
DescribeDBSubnetGroups
DescribeEngineDefaultParameters
DescribeEventSubscriptions
DescribeEvents
DescribeExportTasks
DescribeGlobalClusters
DescribeIntegrations
DescribeOptionGroupOptions
DescribeOptionGroups
DescribeOrderableDBInstanceOptions
DescribePendingMaintenanceActions
DescribeReservedDBInstances
DescribeReservedDBInstancesOfferings
DescribeSourceRegions
DescribeTenantDatabases
DownloadDBLogFilePortion
ListTagsForResource

Waiters

Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:

Waiter name API Operation Delay Max Attempts
DBInstanceAvailable DescribeDBInstances 30 60
DBInstanceDeleted DescribeDBInstances 30 60
DBSnapshotAvailable DescribeDBSnapshots 30 60
DBSnapshotDeleted DescribeDBSnapshots 30 60
DBClusterSnapshotAvailable DescribeDBClusterSnapshots 30 60
DBClusterSnapshotDeleted DescribeDBClusterSnapshots 30 60
DBClusterAvailable DescribeDBClusters 30 60
DBClusterDeleted DescribeDBClusters 30 60
TenantDatabaseAvailable DescribeTenantDatabases 30 60
TenantDatabaseDeleted DescribeTenantDatabases 30 60

Operations

AddRoleToDBCluster

$result = $client->addRoleToDBCluster([/* ... */]);
$promise = $client->addRoleToDBClusterAsync([/* ... */]);

Associates an Identity and Access Management (IAM) role with a DB cluster.

Parameter Syntax

$result = $client->addRoleToDBCluster([
    'DBClusterIdentifier' => '<string>', // REQUIRED
    'FeatureName' => '<string>',
    'RoleArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBClusterIdentifier
Required: Yes
Type: string

The name of the DB cluster to associate the IAM role with.

FeatureName
Type: string

The name of the feature for the DB cluster that the IAM role is to be associated with. For information about supported feature names, see DBEngineVersion.

RoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

DBClusterRoleAlreadyExistsFault:

The specified IAM role Amazon Resource Name (ARN) is already associated with the specified DB cluster.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

DBClusterRoleQuotaExceededFault:

You have exceeded the maximum number of IAM roles that can be associated with the specified DB cluster.

Examples

Example 1: To associate an AWS Identity and Access Management (IAM) role with a DB cluster

The following example associates a role with a DB cluster.

$result = $client->addRoleToDBCluster([
    'DBClusterIdentifier' => 'mydbcluster',
    'RoleArn' => 'arn:aws:iam::123456789012:role/RDSLoadFromS3',
]);

AddRoleToDBInstance

$result = $client->addRoleToDBInstance([/* ... */]);
$promise = $client->addRoleToDBInstanceAsync([/* ... */]);

Associates an Amazon Web Services Identity and Access Management (IAM) role with a DB instance.

To add a role to a DB instance, the status of the DB instance must be available.

This command doesn't apply to RDS Custom.

Parameter Syntax

$result = $client->addRoleToDBInstance([
    'DBInstanceIdentifier' => '<string>', // REQUIRED
    'FeatureName' => '<string>', // REQUIRED
    'RoleArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBInstanceIdentifier
Required: Yes
Type: string

The name of the DB instance to associate the IAM role with.

FeatureName
Required: Yes
Type: string

The name of the feature for the DB instance that the IAM role is to be associated with. For information about supported feature names, see DBEngineVersion.

RoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance, for example arn:aws:iam::123456789012:role/AccessRole.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

DBInstanceRoleAlreadyExistsFault:

The specified RoleArn or FeatureName value is already associated with the DB instance.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

DBInstanceRoleQuotaExceededFault:

You can't associate any more Amazon Web Services Identity and Access Management (IAM) roles with the DB instance because the quota has been reached.

Examples

Example 1: To associate an AWS Identity and Access Management (IAM) role with a DB instance

The following example adds the role to a DB instance named test-instance.

$result = $client->addRoleToDBInstance([
    'DBInstanceIdentifier' => 'test-instance',
    'FeatureName' => 'S3_INTEGRATION',
    'RoleArn' => 'arn:aws:iam::111122223333:role/rds-s3-integration-role',
]);

AddSourceIdentifierToSubscription

$result = $client->addSourceIdentifierToSubscription([/* ... */]);
$promise = $client->addSourceIdentifierToSubscriptionAsync([/* ... */]);

Adds a source identifier to an existing RDS event notification subscription.

Parameter Syntax

$result = $client->addSourceIdentifierToSubscription([
    'SourceIdentifier' => '<string>', // REQUIRED
    'SubscriptionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
SourceIdentifier
Required: Yes
Type: string

The identifier of the event source to be added.

Constraints:

  • If the source type is a DB instance, a DBInstanceIdentifier value must be supplied.

  • If the source type is a DB cluster, a DBClusterIdentifier value must be supplied.

  • If the source type is a DB parameter group, a DBParameterGroupName value must be supplied.

  • If the source type is a DB security group, a DBSecurityGroupName value must be supplied.

  • If the source type is a DB snapshot, a DBSnapshotIdentifier value must be supplied.

  • If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier value must be supplied.

  • If the source type is an RDS Proxy, a DBProxyName value must be supplied.

SubscriptionName
Required: Yes
Type: string

The name of the RDS event notification subscription you want to add a source identifier to.

Result Syntax

[
    'EventSubscription' => [
        'CustSubscriptionId' => '<string>',
        'CustomerAwsId' => '<string>',
        'Enabled' => true || false,
        'EventCategoriesList' => ['<string>', ...],
        'EventSubscriptionArn' => '<string>',
        'SnsTopicArn' => '<string>',
        'SourceIdsList' => ['<string>', ...],
        'SourceType' => '<string>',
        'Status' => '<string>',
        'SubscriptionCreationTime' => '<string>',
    ],
]

Result Details

Members
EventSubscription
Type: EventSubscription structure

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

Errors

SubscriptionNotFoundFault:

The subscription name does not exist.

SourceNotFoundFault:

The requested source could not be found.

Examples

Example 1: To add a source identifier to a subscription

The following example adds another source identifier to an existing subscription.

$result = $client->addSourceIdentifierToSubscription([
    'SourceIdentifier' => 'test-instance-repl',
    'SubscriptionName' => 'my-instance-events',
]);

Result syntax:

[
    'EventSubscription' => [
        'CustSubscriptionId' => 'my-instance-events',
        'CustomerAwsId' => '123456789012',
        'Enabled' => ,
        'EventCategoriesList' => [
            'backup',
            'recovery',
        ],
        'EventSubscriptionArn' => 'arn:aws:rds:us-east-1:123456789012:es:my-instance-events',
        'SnsTopicArn' => 'arn:aws:sns:us-east-1:123456789012:interesting-events',
        'SourceIdsList' => [
            'test-instance',
            'test-instance-repl',
        ],
        'SourceType' => 'db-instance',
        'Status' => 'modifying',
        'SubscriptionCreationTime' => 'Tue Jul 31 23:22:01 UTC 2018',
    ],
]

AddTagsToResource

$result = $client->addTagsToResource([/* ... */]);
$promise = $client->addTagsToResourceAsync([/* ... */]);

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 your relational database resources, see Tagging Amazon RDS Resources or Tagging Amazon Aurora and Amazon RDS Resources.

Parameter Syntax

$result = $client->addTagsToResource([
    'ResourceName' => '<string>', // REQUIRED
    'Tags' => [ // REQUIRED
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceName
Required: Yes
Type: string

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 Constructing an RDS Amazon Resource Name (ARN).

Tags
Required: Yes
Type: Array of Tag structures

The tags to be assigned to the Amazon RDS resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

DBSnapshotNotFoundFault:

DBSnapshotIdentifier doesn't refer to an existing DB snapshot.

DBProxyNotFoundFault:

The specified proxy name doesn't correspond to a proxy owned by your Amazon Web Services account in the specified Amazon Web Services Region.

DBProxyTargetGroupNotFoundFault:

The specified target group isn't available for a proxy owned by your Amazon Web Services account in the specified Amazon Web Services Region.

BlueGreenDeploymentNotFoundFault:

BlueGreenDeploymentIdentifier doesn't refer to an existing blue/green deployment.

IntegrationNotFoundFault:

The specified integration could not be found.

TenantDatabaseNotFoundFault:

The specified tenant database wasn't found in the DB instance.

DBSnapshotTenantDatabaseNotFoundFault:

The specified snapshot tenant database wasn't found.

Examples

Example 1: To add tags to a resource

This example adds a tag to an option group.

$result = $client->addTagsToResource([
    'ResourceName' => 'arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup',
    'Tags' => [
        [
            'Key' => 'Staging',
            'Value' => 'LocationDB',
        ],
    ],
]);

ApplyPendingMaintenanceAction

$result = $client->applyPendingMaintenanceAction([/* ... */]);
$promise = $client->applyPendingMaintenanceActionAsync([/* ... */]);

Applies a pending maintenance action to a resource (for example, to a DB instance).

Parameter Syntax

$result = $client->applyPendingMaintenanceAction([
    'ApplyAction' => '<string>', // REQUIRED
    'OptInType' => '<string>', // REQUIRED
    'ResourceIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplyAction
Required: Yes
Type: string

The pending maintenance action to apply to this resource.

Valid Values:

  • ca-certificate-rotation

  • db-upgrade

  • hardware-maintenance

  • os-upgrade

  • system-update

For more information about these actions, see Maintenance actions for Amazon Aurora or Maintenance actions for Amazon RDS.

OptInType
Required: Yes
Type: string

A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone.

Valid Values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

ResourceIdentifier
Required: Yes
Type: string

The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

Result Syntax

[
    'ResourcePendingMaintenanceActions' => [
        'PendingMaintenanceActionDetails' => [
            [
                'Action' => '<string>',
                'AutoAppliedAfterDate' => <DateTime>,
                'CurrentApplyDate' => <DateTime>,
                'Description' => '<string>',
                'ForcedApplyDate' => <DateTime>,
                'OptInStatus' => '<string>',
            ],
            // ...
        ],
        'ResourceIdentifier' => '<string>',
    ],
]

Result Details

Members
ResourcePendingMaintenanceActions

Describes the pending maintenance actions for a resource.

Errors

ResourceNotFoundFault:

The specified resource ID was not found.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

Examples

Example 1: To apply pending maintenance actions

The following example applies the pending maintenance actions for a DB cluster.

$result = $client->applyPendingMaintenanceAction([
    'ApplyAction' => 'system-update',
    'OptInType' => 'immediate',
    'ResourceIdentifier' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-db-cluster',
]);

Result syntax:

[
    'ResourcePendingMaintenanceActions' => [
        'PendingMaintenanceActionDetails' => [
            [
                'Action' => 'system-update',
                'CurrentApplyDate' => ,
                'Description' => 'Upgrade to Aurora PostgreSQL 3.3.2',
                'OptInStatus' => 'immediate',
            ],
        ],
        'ResourceIdentifier' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-db-cluster',
    ],
]

AuthorizeDBSecurityGroupIngress

$result = $client->authorizeDBSecurityGroupIngress([/* ... */]);
$promise = $client->authorizeDBSecurityGroupIngressAsync([/* ... */]);

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).

You can't authorize ingress from an EC2 security group in one Amazon Web Services Region to an Amazon RDS DB instance in another. You can't authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->authorizeDBSecurityGroupIngress([
    'CIDRIP' => '<string>',
    'DBSecurityGroupName' => '<string>', // REQUIRED
    'EC2SecurityGroupId' => '<string>',
    'EC2SecurityGroupName' => '<string>',
    'EC2SecurityGroupOwnerId' => '<string>',
]);

Parameter Details

Members
CIDRIP
Type: string

The IP range to authorize.

DBSecurityGroupName
Required: Yes
Type: string

The name of the DB security group to add authorization to.

EC2SecurityGroupId
Type: string

Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

EC2SecurityGroupName
Type: string

Name of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

EC2SecurityGroupOwnerId
Type: string

Amazon Web Services account number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The Amazon Web Services access key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

Result Syntax

[
    'DBSecurityGroup' => [
        'DBSecurityGroupArn' => '<string>',
        'DBSecurityGroupDescription' => '<string>',
        'DBSecurityGroupName' => '<string>',
        'EC2SecurityGroups' => [
            [
                'EC2SecurityGroupId' => '<string>',
                'EC2SecurityGroupName' => '<string>',
                'EC2SecurityGroupOwnerId' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'IPRanges' => [
            [
                'CIDRIP' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'OwnerId' => '<string>',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBSecurityGroup
Type: DBSecurityGroup structure

Contains the details for an Amazon RDS DB security group.

This data type is used as a response element in the DescribeDBSecurityGroups action.

Errors

DBSecurityGroupNotFoundFault:

DBSecurityGroupName doesn't refer to an existing DB security group.

InvalidDBSecurityGroupStateFault:

The state of the DB security group doesn't allow deletion.

AuthorizationAlreadyExistsFault:

The specified CIDR IP range or Amazon EC2 security group is already authorized for the specified DB security group.

AuthorizationQuotaExceededFault:

The DB security group authorization quota has been reached.

Examples

Example 1: To authorize DB security group integress

This example authorizes access to the specified security group by the specified CIDR block.

$result = $client->authorizeDBSecurityGroupIngress([
    'CIDRIP' => '203.0.113.5/32',
    'DBSecurityGroupName' => 'mydbsecuritygroup',
]);

Result syntax:

[
    'DBSecurityGroup' => [
    ],
]

BacktrackDBCluster

$result = $client->backtrackDBCluster([/* ... */]);
$promise = $client->backtrackDBClusterAsync([/* ... */]);

Backtracks a DB cluster to a specific time, without creating a new DB cluster.

For more information on backtracking, see Backtracking an Aurora DB Cluster in the Amazon Aurora User Guide.

This action applies only to Aurora MySQL DB clusters.

Parameter Syntax

$result = $client->backtrackDBCluster([
    'BacktrackTo' => <integer || string || DateTime>, // REQUIRED
    'DBClusterIdentifier' => '<string>', // REQUIRED
    'Force' => true || false,
    'UseEarliestTimeOnPointInTimeUnavailable' => true || false,
]);

Parameter Details

Members
BacktrackTo
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of the time to backtrack the DB cluster to, specified in ISO 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia page.

If the specified time isn't a consistent time for the DB cluster, Aurora automatically chooses the nearest possible consistent time for the DB cluster.

Constraints:

  • Must contain a valid ISO 8601 timestamp.

  • Can't contain a timestamp set in the future.

Example: 2017-07-08T18:00Z

DBClusterIdentifier
Required: Yes
Type: string

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.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

Force
Type: boolean

Specifies whether to force the DB cluster to backtrack when binary logging is enabled. Otherwise, an error occurs when binary logging is enabled.

UseEarliestTimeOnPointInTimeUnavailable
Type: boolean

Specifies whether to backtrack the DB cluster to the earliest possible backtrack time when BacktrackTo is set to a timestamp earlier than the earliest backtrack time. When this parameter is disabled and BacktrackTo is set to a timestamp earlier than the earliest backtrack time, an error occurs.

Result Syntax

[
    'BacktrackIdentifier' => '<string>',
    'BacktrackRequestCreationTime' => <DateTime>,
    'BacktrackTo' => <DateTime>,
    'BacktrackedFrom' => <DateTime>,
    'DBClusterIdentifier' => '<string>',
    'Status' => '<string>',
]

Result Details

Members
BacktrackIdentifier
Type: string

Contains the backtrack identifier.

BacktrackRequestCreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of the time at which the backtrack was requested.

BacktrackTo
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of the time to which the DB cluster was backtracked.

BacktrackedFrom
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp of the time from which the DB cluster was backtracked.

DBClusterIdentifier
Type: string

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

Status
Type: string

The status of the backtrack. This property returns one of the following values:

  • applying - The backtrack is currently being applied to or rolled back from the DB cluster.

  • completed - The backtrack has successfully been applied to or rolled back from the DB cluster.

  • failed - An error occurred while the backtrack was applied to or rolled back from the DB cluster.

  • pending - The backtrack is currently pending application to or rollback from the DB cluster.

Errors

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

CancelExportTask

$result = $client->cancelExportTask([/* ... */]);
$promise = $client->cancelExportTaskAsync([/* ... */]);

Cancels an export task in progress that is exporting a snapshot or cluster to Amazon S3. Any data that has already been written to the S3 bucket isn't removed.

Parameter Syntax

$result = $client->cancelExportTask([
    'ExportTaskIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
ExportTaskIdentifier
Required: Yes
Type: string

The identifier of the snapshot or cluster export task to cancel.

Result Syntax

[
    'ExportOnly' => ['<string>', ...],
    'ExportTaskIdentifier' => '<string>',
    'FailureCause' => '<string>',
    'IamRoleArn' => '<string>',
    'KmsKeyId' => '<string>',
    'PercentProgress' => <integer>,
    'S3Bucket' => '<string>',
    'S3Prefix' => '<string>',
    'SnapshotTime' => <DateTime>,
    'SourceArn' => '<string>',
    'SourceType' => 'SNAPSHOT|CLUSTER',
    'Status' => '<string>',
    'TaskEndTime' => <DateTime>,
    'TaskStartTime' => <DateTime>,
    'TotalExtractedDataInGB' => <integer>,
    'WarningMessage' => '<string>',
]

Result Details

Members
ExportOnly
Type: Array of strings

The data exported from the snapshot or cluster.

Valid Values:

  • database - Export all the data from a specified database.

  • database.table table-name - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

  • database.schema schema-name - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

  • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

ExportTaskIdentifier
Type: string

A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.

FailureCause
Type: string

The reason the export failed, if it failed.

IamRoleArn
Type: string

The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.

KmsKeyId
Type: string

The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.

PercentProgress
Type: int

The progress of the snapshot or cluster export task as a percentage.

S3Bucket
Type: string

The Amazon S3 bucket where the snapshot or cluster is exported to.

S3Prefix
Type: string

The Amazon S3 bucket prefix that is the file name and path of the exported data.

SnapshotTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the snapshot was created.

SourceArn
Type: string

The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.

SourceType
Type: string

The type of source for the export.

Status
Type: string

The progress status of the export task. The status can be one of the following:

  • CANCELED

  • CANCELING

  • COMPLETE

  • FAILED

  • IN_PROGRESS

  • STARTING

TaskEndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the snapshot or cluster export task ended.

TaskStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the snapshot or cluster export task started.

TotalExtractedDataInGB
Type: int

The total amount of data exported, in gigabytes.

WarningMessage
Type: string

A warning about the snapshot or cluster export task.

Errors

ExportTaskNotFoundFault:

The export task doesn't exist.

InvalidExportTaskStateFault:

You can't cancel an export task that has completed.

Examples

Example 1: To cancel a snapshot export to Amazon S3

The following example cancels an export task in progress that is exporting a snapshot to Amazon S3.

$result = $client->cancelExportTask([
    'ExportTaskIdentifier' => 'my-s3-export-1',
]);

Result syntax:

[
    'ExportTaskIdentifier' => 'my-s3-export-1',
    'IamRoleArn' => 'arn:aws:iam::123456789012:role/service-role/export-snap-S3-role',
    'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/abcd0000-7bfd-4594-af38-aabbccddeeff',
    'PercentProgress' => 0,
    'S3Bucket' => 'mybucket',
    'S3Prefix' => '',
    'SnapshotTime' => ,
    'SourceArn' => 'arn:aws:rds:us-east-1:123456789012:snapshot:publisher-final-snapshot',
    'Status' => 'CANCELING',
    'TotalExtractedDataInGB' => 0,
]

CopyDBClusterParameterGroup

$result = $client->copyDBClusterParameterGroup([/* ... */]);
$promise = $client->copyDBClusterParameterGroupAsync([/* ... */]);

Copies the specified DB cluster parameter group.

You can't copy a default DB cluster parameter group. Instead, create a new custom DB cluster parameter group, which copies the default parameters and values for the specified DB cluster parameter group family.

Parameter Syntax

$result = $client->copyDBClusterParameterGroup([
    'SourceDBClusterParameterGroupIdentifier' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetDBClusterParameterGroupDescription' => '<string>', // REQUIRED
    'TargetDBClusterParameterGroupIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
SourceDBClusterParameterGroupIdentifier
Required: Yes
Type: string

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon Aurora User Guide.

Constraints:

  • Must specify a valid DB cluster parameter group.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TargetDBClusterParameterGroupDescription
Required: Yes
Type: string

A description for the copied DB cluster parameter group.

TargetDBClusterParameterGroupIdentifier
Required: Yes
Type: string

The identifier for the copied DB cluster parameter group.

Constraints:

  • Can't be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

Example: my-cluster-param-group1

Result Syntax

[
    'DBClusterParameterGroup' => [
        'DBClusterParameterGroupArn' => '<string>',
        'DBClusterParameterGroupName' => '<string>',
        'DBParameterGroupFamily' => '<string>',
        'Description' => '<string>',
    ],
]

Result Details

Members
DBClusterParameterGroup
Type: DBClusterParameterGroup structure

Contains the details of an Amazon RDS DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

Errors

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

DBParameterGroupQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB parameter groups.

DBParameterGroupAlreadyExistsFault:

A DB parameter group with the same name exists.

Examples

Example 1: To copy a DB cluster parameter group

This example copies a DB cluster parameter group.

$result = $client->copyDBClusterParameterGroup([
    'SourceDBClusterParameterGroupIdentifier' => 'mydbclusterparametergroup',
    'TargetDBClusterParameterGroupDescription' => 'My DB cluster parameter group copy',
    'TargetDBClusterParameterGroupIdentifier' => 'mydbclusterparametergroup-copy',
]);

Result syntax:

[
    'DBClusterParameterGroup' => [
        'DBClusterParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup-copy',
        'DBClusterParameterGroupName' => 'mydbclusterparametergroup-copy',
        'DBParameterGroupFamily' => 'aurora-mysql5.7',
        'Description' => 'My DB cluster parameter group copy',
    ],
]

CopyDBClusterSnapshot

$result = $client->copyDBClusterSnapshot([/* ... */]);
$promise = $client->copyDBClusterSnapshotAsync([/* ... */]);

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another Amazon Web Services Region. In that case, the Amazon Web Services Region where you call the CopyDBClusterSnapshot operation is the destination Amazon Web Services Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another Amazon Web Services Region, you must provide the following values:

  • KmsKeyId - The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination Amazon Web Services Region.

  • TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination Amazon Web Services Region.

  • SourceDBClusterSnapshotIdentifier - 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 Amazon Web Services Region and is the same value as the SourceDBClusterSnapshotIdentifier in the presigned URL.

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in "copying" status.

For more information on copying encrypted Amazon Aurora DB cluster snapshots from one Amazon Web Services Region to another, see Copying a Snapshot in the Amazon Aurora User Guide.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->copyDBClusterSnapshot([
    'CopyTags' => true || false,
    'DestinationRegion' => '<string>',
    'KmsKeyId' => '<string>',
    'PreSignedUrl' => '<string>',
    'SourceDBClusterSnapshotIdentifier' => '<string>', // REQUIRED
    'SourceRegion' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetDBClusterSnapshotIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
CopyTags
Type: boolean

Specifies whether to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot. By default, tags are not copied.

DestinationRegion
Type: string
The SDK will populate this parameter on your behalf using the configured region value of the client.
KmsKeyId
Type: string

The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot. The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS key.

If you copy an encrypted DB cluster snapshot from your Amazon Web Services account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS key. If you don't specify a value for KmsKeyId, 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 Amazon Web Services account, then you must specify a value for KmsKeyId.

To copy an encrypted DB cluster snapshot to another Amazon Web Services Region, you must set KmsKeyId to the Amazon Web Services KMS key identifier you want to use to encrypt the copy of the DB cluster snapshot in the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services Region that they are created in, and you can't use KMS keys from one Amazon Web Services Region in another Amazon Web Services Region.

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned.

PreSignedUrl
Type: string
The SDK will compute this value for you on your behalf.
SourceDBClusterSnapshotIdentifier
Required: Yes
Type: string

The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive.

You can't copy an encrypted, shared DB cluster snapshot from one Amazon Web Services Region to another.

Constraints:

  • Must specify a valid system snapshot in the "available" state.

  • If the source snapshot is in the same Amazon Web Services Region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different Amazon Web Services Region than the copy, specify a valid DB cluster snapshot ARN. For more information, go to Copying Snapshots Across Amazon Web Services Regions in the Amazon Aurora User Guide.

Example: my-cluster-snapshot1

SourceRegion
Type: string
A required parameter that indicates the region that the DB snapshot will be copied from.
Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TargetDBClusterSnapshotIdentifier
Required: Yes
Type: string

The identifier of the new DB cluster snapshot to create from the source 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.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot2

Result Syntax

[
    'DBClusterSnapshot' => [
        'AllocatedStorage' => <integer>,
        'AvailabilityZones' => ['<string>', ...],
        'ClusterCreateTime' => <DateTime>,
        'DBClusterIdentifier' => '<string>',
        'DBClusterSnapshotArn' => '<string>',
        'DBClusterSnapshotIdentifier' => '<string>',
        'DBSystemId' => '<string>',
        'DbClusterResourceId' => '<string>',
        'Engine' => '<string>',
        'EngineMode' => '<string>',
        'EngineVersion' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'KmsKeyId' => '<string>',
        'LicenseModel' => '<string>',
        'MasterUsername' => '<string>',
        'PercentProgress' => <integer>,
        'Port' => <integer>,
        'SnapshotCreateTime' => <DateTime>,
        'SnapshotType' => '<string>',
        'SourceDBClusterSnapshotArn' => '<string>',
        'Status' => '<string>',
        'StorageEncrypted' => true || false,
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBClusterSnapshot
Type: DBClusterSnapshot structure

Contains the details for an Amazon RDS DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

Errors

DBClusterSnapshotAlreadyExistsFault:

The user already has a DB cluster snapshot with the given identifier.

DBClusterSnapshotNotFoundFault:

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

InvalidDBClusterSnapshotStateFault:

The supplied value isn't a valid DB cluster snapshot state.

SnapshotQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB snapshots.

KMSKeyNotAccessibleFault:

An error occurred accessing an Amazon Web Services KMS key.

Examples

Example 1: To copy a DB cluster snapshot

The following example creates a copy of a DB cluster snapshot, including its tags.

$result = $client->copyDBClusterSnapshot([
    'CopyTags' => 1,
    'SourceDBClusterSnapshotIdentifier' => 'arn:aws:rds:us-east-1:123456789012:cluster-snapshot:rds:myaurora-2019-06-04-09-16',
    'TargetDBClusterSnapshotIdentifier' => 'myclustersnapshotcopy',
]);

Result syntax:

[
    'DBClusterSnapshot' => [
        'AllocatedStorage' => 0,
        'AvailabilityZones' => [
            'us-east-1a',
            'us-east-1b',
            'us-east-1e',
        ],
        'ClusterCreateTime' => ,
        'DBClusterIdentifier' => 'myaurora',
        'DBClusterSnapshotArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-snapshot:myclustersnapshotcopy',
        'DBClusterSnapshotIdentifier' => 'myclustersnapshotcopy',
        'Engine' => 'aurora-mysql',
        'EngineVersion' => '5.7.mysql_aurora.2.04.2',
        'IAMDatabaseAuthenticationEnabled' => ,
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
        'LicenseModel' => 'aurora-mysql',
        'MasterUsername' => 'myadmin',
        'PercentProgress' => 100,
        'Port' => 0,
        'SnapshotCreateTime' => ,
        'SnapshotType' => 'manual',
        'Status' => 'available',
        'StorageEncrypted' => 1,
        'VpcId' => 'vpc-123example',
    ],
]

CopyDBParameterGroup

$result = $client->copyDBParameterGroup([/* ... */]);
$promise = $client->copyDBParameterGroupAsync([/* ... */]);

Copies the specified DB parameter group.

You can't copy a default DB parameter group. Instead, create a new custom DB parameter group, which copies the default parameters and values for the specified DB parameter group family.

Parameter Syntax

$result = $client->copyDBParameterGroup([
    'SourceDBParameterGroupIdentifier' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetDBParameterGroupDescription' => '<string>', // REQUIRED
    'TargetDBParameterGroupIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
SourceDBParameterGroupIdentifier
Required: Yes
Type: string

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

Constraints:

  • Must specify a valid DB parameter group.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TargetDBParameterGroupDescription
Required: Yes
Type: string

A description for the copied DB parameter group.

TargetDBParameterGroupIdentifier
Required: Yes
Type: string

The identifier for the copied DB parameter group.

Constraints:

  • Can't be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

Example: my-db-parameter-group

Result Syntax

[
    'DBParameterGroup' => [
        'DBParameterGroupArn' => '<string>',
        'DBParameterGroupFamily' => '<string>',
        'DBParameterGroupName' => '<string>',
        'Description' => '<string>',
    ],
]

Result Details

Members
DBParameterGroup
Type: DBParameterGroup structure

Contains the details of an Amazon RDS DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

Errors

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

DBParameterGroupAlreadyExistsFault:

A DB parameter group with the same name exists.

DBParameterGroupQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB parameter groups.

Examples

Example 1: To copy a DB parameter group

The following example makes a copy of a DB parameter group.

$result = $client->copyDBParameterGroup([
    'SourceDBParameterGroupIdentifier' => 'mydbpg',
    'TargetDBParameterGroupDescription' => 'Copy of mydbpg parameter group',
    'TargetDBParameterGroupIdentifier' => 'mydbpgcopy',
]);

Result syntax:

[
    'DBParameterGroup' => [
        'DBParameterGroupArn' => 'arn:aws:rds:us-east-1:814387698303:pg:mydbpgcopy',
        'DBParameterGroupFamily' => 'mysql5.7',
        'DBParameterGroupName' => 'mydbpgcopy',
        'Description' => 'Copy of mydbpg parameter group',
    ],
]

CopyDBSnapshot

$result = $client->copyDBSnapshot([/* ... */]);
$promise = $client->copyDBSnapshotAsync([/* ... */]);

Copies the specified DB snapshot. The source DB snapshot must be in the available state.

You can copy a snapshot from one Amazon Web Services Region to another. In that case, the Amazon Web Services Region where you call the CopyDBSnapshot operation is the destination Amazon Web Services Region for the DB snapshot copy.

This command doesn't apply to RDS Custom.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->copyDBSnapshot([
    'CopyOptionGroup' => true || false,
    'CopyTags' => true || false,
    'DestinationRegion' => '<string>',
    'KmsKeyId' => '<string>',
    'OptionGroupName' => '<string>',
    'PreSignedUrl' => '<string>',
    'SourceDBSnapshotIdentifier' => '<string>', // REQUIRED
    'SourceRegion' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetCustomAvailabilityZone' => '<string>',
    'TargetDBSnapshotIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
CopyOptionGroup
Type: boolean

Specifies whether to copy the DB option group associated with the source DB snapshot to the target Amazon Web Services account and associate with the target DB snapshot. The associated option group can be copied only with cross-account snapshot copy calls.

CopyTags
Type: boolean

Specifies whether to copy all tags from the source DB snapshot to the target DB snapshot. By default, tags aren't copied.

DestinationRegion
Type: string
The SDK will populate this parameter on your behalf using the configured region value of the client.
KmsKeyId
Type: string

The Amazon Web Services KMS key identifier for an encrypted DB snapshot. The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

If you copy an encrypted DB snapshot from your Amazon Web Services account, you can specify a value for this parameter to encrypt the copy with a new KMS key. If you don't specify a value for this parameter, then the copy of the DB snapshot is encrypted with the same Amazon Web Services KMS key as the source DB snapshot.

If you copy an encrypted DB snapshot that is shared from another Amazon Web Services 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 Amazon Web Services Region, then you must specify an Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services Region that they are created in, and you can't use KMS keys from one Amazon Web Services Region in another Amazon Web Services Region.

OptionGroupName
Type: string

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 Amazon Web Services 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 Amazon Web Services Regions. For more information, see Option group considerations in the Amazon RDS User Guide.

PreSignedUrl
Type: string
The SDK will compute this value for you on your behalf.
SourceDBSnapshotIdentifier
Required: Yes
Type: string

The identifier for the source DB snapshot.

If the source snapshot is in the same Amazon Web Services Region as the copy, specify a valid DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.

If the source snapshot is in a different Amazon Web Services Region than the copy, specify a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.

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 Amazon Web Services Region.

Constraints:

  • Must specify a valid system snapshot in the "available" state.

Example: rds:mydb-2012-04-02-00-01

Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

SourceRegion
Type: string
A required parameter that indicates the region that the DB snapshot will be copied from.
Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TargetCustomAvailabilityZone
Type: string

The external custom Availability Zone (CAZ) identifier for the target CAZ.

Example: rds-caz-aiqhTgQv.

TargetDBSnapshotIdentifier
Required: Yes
Type: string

The identifier for the copy of the snapshot.

Constraints:

  • Can't be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

Example: my-db-snapshot

Result Syntax

[
    'DBSnapshot' => [
        'AllocatedStorage' => <integer>,
        'AvailabilityZone' => '<string>',
        'DBInstanceIdentifier' => '<string>',
        'DBSnapshotArn' => '<string>',
        'DBSnapshotIdentifier' => '<string>',
        'DBSystemId' => '<string>',
        'DbiResourceId' => '<string>',
        'DedicatedLogVolume' => true || false,
        'Encrypted' => true || false,
        'Engine' => '<string>',
        'EngineVersion' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'InstanceCreateTime' => <DateTime>,
        'Iops' => <integer>,
        'KmsKeyId' => '<string>',
        'LicenseModel' => '<string>',
        'MasterUsername' => '<string>',
        'MultiTenant' => true || false,
        'OptionGroupName' => '<string>',
        'OriginalSnapshotCreateTime' => <DateTime>,
        'PercentProgress' => <integer>,
        'Port' => <integer>,
        'ProcessorFeatures' => [
            [
                'Name' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'SnapshotCreateTime' => <DateTime>,
        'SnapshotDatabaseTime' => <DateTime>,
        'SnapshotTarget' => '<string>',
        'SnapshotType' => '<string>',
        'SourceDBSnapshotIdentifier' => '<string>',
        'SourceRegion' => '<string>',
        'Status' => '<string>',
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TdeCredentialArn' => '<string>',
        'Timezone' => '<string>',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBSnapshot
Type: DBSnapshot structure

Contains the details of an Amazon RDS DB snapshot.

This data type is used as a response element in the DescribeDBSnapshots action.

Errors

DBSnapshotAlreadyExistsFault:

DBSnapshotIdentifier is already used by an existing snapshot.

DBSnapshotNotFoundFault:

DBSnapshotIdentifier doesn't refer to an existing DB snapshot.

InvalidDBSnapshotStateFault:

The state of the DB snapshot doesn't allow deletion.

SnapshotQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB snapshots.

KMSKeyNotAccessibleFault:

An error occurred accessing an Amazon Web Services KMS key.

CustomAvailabilityZoneNotFoundFault:

CustomAvailabilityZoneId doesn't refer to an existing custom Availability Zone identifier.

Examples

Example 1: To copy a DB snapshot

The following example creates a copy of a DB snapshot.

$result = $client->copyDBSnapshot([
    'SourceDBSnapshotIdentifier' => 'rds:database-mysql-2019-06-06-08-38',
    'TargetDBSnapshotIdentifier' => 'mydbsnapshotcopy',
]);

Result syntax:

[
    'DBSnapshot' => [
        'AllocatedStorage' => 100,
        'AvailabilityZone' => 'us-east-1f',
        'DBInstanceIdentifier' => 'database-mysql',
        'DBSnapshotArn' => 'arn:aws:rds:us-east-1:123456789012:snapshot:mydbsnapshotcopy',
        'DBSnapshotIdentifier' => 'mydbsnapshotcopy',
        'DbiResourceId' => 'db-ZI7UJ5BLKMBYFGX7FDENCKADC4',
        'Encrypted' => 1,
        'Engine' => 'mysql',
        'EngineVersion' => '5.6.40',
        'IAMDatabaseAuthenticationEnabled' => ,
        'InstanceCreateTime' => ,
        'Iops' => 1000,
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
        'LicenseModel' => 'general-public-license',
        'MasterUsername' => 'admin',
        'OptionGroupName' => 'default:mysql-5-6',
        'PercentProgress' => 0,
        'Port' => 3306,
        'ProcessorFeatures' => [
        ],
        'SnapshotType' => 'manual',
        'SourceDBSnapshotIdentifier' => 'arn:aws:rds:us-east-1:123456789012:snapshot:rds:database-mysql-2019-06-06-08-38',
        'SourceRegion' => 'us-east-1',
        'Status' => 'creating',
        'StorageType' => 'io1',
        'VpcId' => 'vpc-6594f31c',
    ],
]

CopyOptionGroup

$result = $client->copyOptionGroup([/* ... */]);
$promise = $client->copyOptionGroupAsync([/* ... */]);

Copies the specified option group.

Parameter Syntax

$result = $client->copyOptionGroup([
    'SourceOptionGroupIdentifier' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetOptionGroupDescription' => '<string>', // REQUIRED
    'TargetOptionGroupIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
SourceOptionGroupIdentifier
Required: Yes
Type: string

The identifier for the source option group.

Constraints:

  • Must specify a valid option group.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TargetOptionGroupDescription
Required: Yes
Type: string

The description for the copied option group.

TargetOptionGroupIdentifier
Required: Yes
Type: string

The identifier for the copied option group.

Constraints:

  • Can't be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

Example: my-option-group

Result Syntax

[
    'OptionGroup' => [
        'AllowsVpcAndNonVpcInstanceMemberships' => true || false,
        'CopyTimestamp' => <DateTime>,
        'EngineName' => '<string>',
        'MajorEngineVersion' => '<string>',
        'OptionGroupArn' => '<string>',
        'OptionGroupDescription' => '<string>',
        'OptionGroupName' => '<string>',
        'Options' => [
            [
                'DBSecurityGroupMemberships' => [
                    [
                        'DBSecurityGroupName' => '<string>',
                        'Status' => '<string>',
                    ],
                    // ...
                ],
                'OptionDescription' => '<string>',
                'OptionName' => '<string>',
                'OptionSettings' => [
                    [
                        'AllowedValues' => '<string>',
                        'ApplyType' => '<string>',
                        'DataType' => '<string>',
                        'DefaultValue' => '<string>',
                        'Description' => '<string>',
                        'IsCollection' => true || false,
                        'IsModifiable' => true || false,
                        'Name' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'OptionVersion' => '<string>',
                'Permanent' => true || false,
                'Persistent' => true || false,
                'Port' => <integer>,
                'VpcSecurityGroupMemberships' => [
                    [
                        'Status' => '<string>',
                        'VpcSecurityGroupId' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'SourceAccountId' => '<string>',
        'SourceOptionGroup' => '<string>',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
OptionGroup
Type: OptionGroup structure

Errors

OptionGroupAlreadyExistsFault:

The option group you are trying to create already exists.

OptionGroupNotFoundFault:

The specified option group could not be found.

OptionGroupQuotaExceededFault:

The quota of 20 option groups was exceeded for this Amazon Web Services account.

Examples

Example 1: To copy an option group

The following example makes a copy of an option group.

$result = $client->copyOptionGroup([
    'SourceOptionGroupIdentifier' => 'myoptiongroup',
    'TargetOptionGroupDescription' => 'My option group copy',
    'TargetOptionGroupIdentifier' => 'new-option-group',
]);

Result syntax:

[
    'OptionGroup' => [
        'AllowsVpcAndNonVpcInstanceMemberships' => 1,
        'EngineName' => 'oracle-ee',
        'MajorEngineVersion' => '11.2',
        'OptionGroupArn' => 'arn:aws:rds:us-east-1:123456789012:og:new-option-group',
        'OptionGroupDescription' => 'My option group copy',
        'OptionGroupName' => 'new-option-group',
        'Options' => [
        ],
    ],
]

CreateBlueGreenDeployment

$result = $client->createBlueGreenDeployment([/* ... */]);
$promise = $client->createBlueGreenDeploymentAsync([/* ... */]);

Creates a blue/green deployment.

A blue/green deployment creates a staging environment that copies the production environment. In a blue/green deployment, the blue environment is the current production environment. The green environment is the staging environment, and it stays in sync with the current production environment.

You can make changes to the databases in the green environment without affecting production workloads. For example, you can upgrade the major or minor DB engine version, change database parameters, or make schema changes in the staging environment. You can thoroughly test changes in the green environment. When ready, you can switch over the environments to promote the green environment to be the new production environment. The switchover typically takes under a minute.

For more information, see Using Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS Blue/Green Deployments for database updates in the Amazon Aurora User Guide.

Parameter Syntax

$result = $client->createBlueGreenDeployment([
    'BlueGreenDeploymentName' => '<string>', // REQUIRED
    'Source' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetAllocatedStorage' => <integer>,
    'TargetDBClusterParameterGroupName' => '<string>',
    'TargetDBInstanceClass' => '<string>',
    'TargetDBParameterGroupName' => '<string>',
    'TargetEngineVersion' => '<string>',
    'TargetIops' => <integer>,
    'TargetStorageThroughput' => <integer>,
    'TargetStorageType' => '<string>',
    'UpgradeTargetStorageConfig' => true || false,
]);

Parameter Details

Members
BlueGreenDeploymentName
Required: Yes
Type: string

The name of the blue/green deployment.

Constraints:

  • Can't be the same as an existing blue/green deployment name in the same account and Amazon Web Services Region.

Source
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the source production database.

Specify the database that you want to clone. The blue/green deployment creates this database in the green environment. You can make updates to the database in the green environment, such as an engine version upgrade. When you are ready, you can switch the database in the green environment to be the production database.

Tags
Type: Array of Tag structures

Tags to assign to the blue/green deployment.

TargetAllocatedStorage
Type: int

The amount of storage in gibibytes (GiB) to allocate for the green DB instance. You can choose to increase or decrease the allocated storage on the green DB instance.

This setting doesn't apply to Amazon Aurora blue/green deployments.

TargetDBClusterParameterGroupName
Type: string

The DB cluster parameter group associated with the Aurora DB cluster in the green environment.

To test parameter changes, specify a DB cluster parameter group that is different from the one associated with the source DB cluster.

TargetDBInstanceClass
Type: string

Specify the DB instance class for the databases in the green environment.

This parameter only applies to RDS DB instances, because DB instances within an Aurora DB cluster can have multiple different instance classes. If you're creating a blue/green deployment from an Aurora DB cluster, don't specify this parameter. After the green environment is created, you can individually modify the instance classes of the DB instances within the green DB cluster.

TargetDBParameterGroupName
Type: string

The DB parameter group associated with the DB instance in the green environment.

To test parameter changes, specify a DB parameter group that is different from the one associated with the source DB instance.

TargetEngineVersion
Type: string

The engine version of the database in the green environment.

Specify the engine version to upgrade to in the green environment.

TargetIops
Type: int

The amount of Provisioned IOPS (input/output operations per second) to allocate for the green DB instance. For information about valid IOPS values, see Amazon RDS DB instance storage in the Amazon RDS User Guide.

This setting doesn't apply to Amazon Aurora blue/green deployments.

TargetStorageThroughput
Type: int

The storage throughput value for the green DB instance.

This setting applies only to the gp3 storage type.

This setting doesn't apply to Amazon Aurora blue/green deployments.

TargetStorageType
Type: string

The storage type to associate with the green DB instance.

Valid Values: gp2 | gp3 | io1 | io2

This setting doesn't apply to Amazon Aurora blue/green deployments.

UpgradeTargetStorageConfig
Type: boolean

Whether to upgrade the storage file system configuration on the green database. This option migrates the green DB instance from the older 32-bit file system to the preferred configuration. For more information, see Upgrading the storage file system for a DB instance.

Result Syntax

[
    'BlueGreenDeployment' => [
        'BlueGreenDeploymentIdentifier' => '<string>',
        'BlueGreenDeploymentName' => '<string>',
        'CreateTime' => <DateTime>,
        'DeleteTime' => <DateTime>,
        'Source' => '<string>',
        'Status' => '<string>',
        'StatusDetails' => '<string>',
        'SwitchoverDetails' => [
            [
                'SourceMember' => '<string>',
                'Status' => '<string>',
                'TargetMember' => '<string>',
            ],
            // ...
        ],
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Target' => '<string>',
        'Tasks' => [
            [
                'Name' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
BlueGreenDeployment
Type: BlueGreenDeployment structure

Details about a blue/green deployment.

For more information, see Using Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS Blue/Green Deployments for database updates in the Amazon Aurora User Guide.

Errors

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

SourceDatabaseNotSupportedFault:

The source DB instance isn't supported for a blue/green deployment.

SourceClusterNotSupportedFault:

The source DB cluster isn't supported for a blue/green deployment.

BlueGreenDeploymentAlreadyExistsFault:

A blue/green deployment with the specified name already exists.

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

DBClusterParameterGroupNotFoundFault:

DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter group.

InstanceQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB instances.

DBClusterQuotaExceededFault:

The user attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

Examples

Example 1: To create a blue/green deployment for an RDS for MySQL DB instance

The following example creates a blue/green deployment for a MySQL DB instance.

$result = $client->createBlueGreenDeployment([
    'BlueGreenDeploymentName' => 'bgd-test-instance',
    'Source' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance',
    'TargetDBParameterGroupName' => 'mysql-80-group',
    'TargetEngineVersion' => '8.0',
]);

Result syntax:

[
    'BlueGreenDeployment' => [
        'BlueGreenDeploymentIdentifier' => 'bgd-v53303651eexfake',
        'BlueGreenDeploymentName' => 'bgd-cli-test-instance',
        'CreateTime' => ,
        'Source' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance',
        'Status' => 'PROVISIONING',
        'SwitchoverDetails' => [
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3',
            ],
        ],
        'Tasks' => [
            [
                'Name' => 'CREATING_READ_REPLICA_OF_SOURCE',
                'Status' => 'PENDING',
            ],
            [
                'Name' => 'DB_ENGINE_VERSION_UPGRADE',
                'Status' => 'PENDING',
            ],
            [
                'Name' => 'CONFIGURE_BACKUPS',
                'Status' => 'PENDING',
            ],
            [
                'Name' => 'CREATING_TOPOLOGY_OF_SOURCE',
                'Status' => 'PENDING',
            ],
        ],
    ],
]
Example 2: To create a blue/green deployment for an Aurora MySQL DB cluster

The following example creates a blue/green deployment for an Aurora MySQL DB cluster.

$result = $client->createBlueGreenDeployment([
    'BlueGreenDeploymentName' => 'my-blue-green-deployment',
    'Source' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster',
    'TargetDBClusterParameterGroupName' => 'mysql-80-cluster-group',
    'TargetDBParameterGroupName' => 'ams-80-binlog-enabled',
    'TargetEngineVersion' => '8.0',
]);

Result syntax:

[
    'BlueGreenDeployment' => [
        'BlueGreenDeploymentIdentifier' => 'bgd-wi89nwzglccsfake',
        'BlueGreenDeploymentName' => 'my-blue-green-deployment',
        'CreateTime' => ,
        'Source' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster',
        'Status' => 'PROVISIONING',
        'SwitchoverDetails' => [
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster',
                'Status' => 'PROVISIONING',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1',
                'Status' => 'PROVISIONING',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2',
                'Status' => 'PROVISIONING',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3',
                'Status' => 'PROVISIONING',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint',
                'Status' => 'PROVISIONING',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint',
                'Status' => 'PROVISIONING',
            ],
        ],
        'Tasks' => [
            [
                'Name' => 'CREATING_READ_REPLICA_OF_SOURCE',
                'Status' => 'PENDING',
            ],
            [
                'Name' => 'DB_ENGINE_VERSION_UPGRADE',
                'Status' => 'PENDING',
            ],
            [
                'Name' => 'CREATE_DB_INSTANCES_FOR_CLUSTER',
                'Status' => 'PENDING',
            ],
            [
                'Name' => 'CREATE_CUSTOM_ENDPOINTS',
                'Status' => 'PENDING',
            ],
        ],
    ],
]

CreateCustomDBEngineVersion

$result = $client->createCustomDBEngineVersion([/* ... */]);
$promise = $client->createCustomDBEngineVersionAsync([/* ... */]);

Creates a custom DB engine version (CEV).

Parameter Syntax

$result = $client->createCustomDBEngineVersion([
    'DatabaseInstallationFilesS3BucketName' => '<string>',
    'DatabaseInstallationFilesS3Prefix' => '<string>',
    'Description' => '<string>',
    'Engine' => '<string>', // REQUIRED
    'EngineVersion' => '<string>', // REQUIRED
    'ImageId' => '<string>',
    'KMSKeyId' => '<string>',
    'Manifest' => '<string>',
    'SourceCustomDbEngineVersionIdentifier' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'UseAwsProvidedLatestImage' => true || false,
]);

Parameter Details

Members
DatabaseInstallationFilesS3BucketName
Type: string

The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is my-custom-installation-files.

DatabaseInstallationFilesS3Prefix
Type: string

The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is 123456789012/cev1. If this setting isn't specified, no prefix is assumed.

Description
Type: string

An optional description of your CEV.

Engine
Required: Yes
Type: string

The database engine. RDS Custom for Oracle supports the following values:

  • custom-oracle-ee

  • custom-oracle-ee-cdb

  • custom-oracle-se2

  • custom-oracle-se2-cdb

EngineVersion
Required: Yes
Type: string

The name of your CEV. The name format is 19.customized_string. For example, a valid CEV name is 19.my_cev1. This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of Engine and EngineVersion is unique per customer per Region.

ImageId
Type: string

The ID of the Amazon Machine Image (AMI). For RDS Custom for SQL Server, an AMI ID is required to create a CEV. For RDS Custom for Oracle, the default is the most recent AMI available, but you can specify an AMI ID that was used in a different Oracle CEV. Find the AMIs used by your CEVs by calling the DescribeDBEngineVersions operation.

KMSKeyId
Type: string

The Amazon Web Services KMS key identifier for an encrypted CEV. A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS.

If you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in Creating a symmetric encryption KMS key in the Amazon Web Services Key Management Service Developer Guide.

You can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys.

Manifest
Type: string

The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.

The following JSON fields are valid:

MediaImportTemplateVersion

Version of the CEV manifest. The date is in the format YYYY-MM-DD.

databaseInstallationFileNames

Ordered list of installation files for the CEV.

opatchFileNames

Ordered list of OPatch installers used for the Oracle DB engine.

psuRuPatchFileNames

The PSU and RU patches for this CEV.

OtherPatchFileNames

The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches.

For more information, see Creating the CEV manifest in the Amazon RDS User Guide.

SourceCustomDbEngineVersionIdentifier
Type: string

The ARN of a CEV to use as a source for creating a new CEV. You can specify a different Amazon Machine Imagine (AMI) by using either Source or UseAwsProvidedLatestImage. You can't specify a different JSON manifest when you specify SourceCustomDbEngineVersionIdentifier.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

UseAwsProvidedLatestImage
Type: boolean

Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. If you specify UseAwsProvidedLatestImage, you can't also specify ImageId.

Result Syntax

[
    'CreateTime' => <DateTime>,
    'CustomDBEngineVersionManifest' => '<string>',
    'DBEngineDescription' => '<string>',
    'DBEngineMediaType' => '<string>',
    'DBEngineVersionArn' => '<string>',
    'DBEngineVersionDescription' => '<string>',
    'DBParameterGroupFamily' => '<string>',
    'DatabaseInstallationFilesS3BucketName' => '<string>',
    'DatabaseInstallationFilesS3Prefix' => '<string>',
    'DefaultCharacterSet' => [
        'CharacterSetDescription' => '<string>',
        'CharacterSetName' => '<string>',
    ],
    'Engine' => '<string>',
    'EngineVersion' => '<string>',
    'ExportableLogTypes' => ['<string>', ...],
    'Image' => [
        'ImageId' => '<string>',
        'Status' => '<string>',
    ],
    'KMSKeyId' => '<string>',
    'MajorEngineVersion' => '<string>',
    'ServerlessV2FeaturesSupport' => [
        'MaxCapacity' => <float>,
        'MinCapacity' => <float>,
    ],
    'Status' => '<string>',
    'SupportedCACertificateIdentifiers' => ['<string>', ...],
    'SupportedCharacterSets' => [
        [
            'CharacterSetDescription' => '<string>',
            'CharacterSetName' => '<string>',
        ],
        // ...
    ],
    'SupportedEngineModes' => ['<string>', ...],
    'SupportedFeatureNames' => ['<string>', ...],
    'SupportedNcharCharacterSets' => [
        [
            'CharacterSetDescription' => '<string>',
            'CharacterSetName' => '<string>',
        ],
        // ...
    ],
    'SupportedTimezones' => [
        [
            'TimezoneName' => '<string>',
        ],
        // ...
    ],
    'SupportsBabelfish' => true || false,
    'SupportsCertificateRotationWithoutRestart' => true || false,
    'SupportsGlobalDatabases' => true || false,
    'SupportsIntegrations' => true || false,
    'SupportsLimitlessDatabase' => true || false,
    'SupportsLocalWriteForwarding' => true || false,
    'SupportsLogExportsToCloudwatchLogs' => true || false,
    'SupportsParallelQuery' => true || false,
    'SupportsReadReplica' => true || false,
    'TagList' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'ValidUpgradeTarget' => [
        [
            'AutoUpgrade' => true || false,
            'Description' => '<string>',
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'IsMajorVersionUpgrade' => true || false,
            'SupportedEngineModes' => ['<string>', ...],
            'SupportsBabelfish' => true || false,
            'SupportsGlobalDatabases' => true || false,
            'SupportsIntegrations' => true || false,
            'SupportsLimitlessDatabase' => true || false,
            'SupportsLocalWriteForwarding' => true || false,
            'SupportsParallelQuery' => true || false,
        ],
        // ...
    ],
]

Result Details

Members
CreateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The creation time of the DB engine version.

CustomDBEngineVersionManifest
Type: string

JSON string that lists the installation files and parameters that RDS Custom uses to create a custom engine version (CEV). RDS Custom applies the patches in the order in which they're listed in the manifest. You can set the Oracle home, Oracle base, and UNIX/Linux user and group using the installation parameters. For more information, see JSON fields in the CEV manifest in the Amazon RDS User Guide.

DBEngineDescription
Type: string

The description of the database engine.

DBEngineMediaType
Type: string

A value that indicates the source media provider of the AMI based on the usage operation. Applicable for RDS Custom for SQL Server.

DBEngineVersionArn
Type: string

The ARN of the custom engine version.

DBEngineVersionDescription
Type: string

The description of the database engine version.

DBParameterGroupFamily
Type: string

The name of the DB parameter group family for the database engine.

DatabaseInstallationFilesS3BucketName
Type: string

The name of the Amazon S3 bucket that contains your database installation files.

DatabaseInstallationFilesS3Prefix
Type: string

The Amazon S3 directory that contains the database installation files. If not specified, then no prefix is assumed.

DefaultCharacterSet
Type: CharacterSet structure

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API isn't specified.

Engine
Type: string

The name of the database engine.

EngineVersion
Type: string

The version number of the database engine.

ExportableLogTypes
Type: Array of strings

The types of logs that the database engine has available for export to CloudWatch Logs.

Image
Type: CustomDBEngineVersionAMI structure

The EC2 image

KMSKeyId
Type: string

The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for RDS Custom, but optional for Amazon RDS.

MajorEngineVersion
Type: string

The major engine version of the CEV.

ServerlessV2FeaturesSupport
Type: ServerlessV2FeaturesSupport structure

Specifies any Aurora Serverless v2 properties or limits that differ between Aurora engine versions. You can test the values of this attribute when deciding which Aurora version to use in a new or upgraded DB cluster. You can also retrieve the version of an existing DB cluster and check whether that version supports certain Aurora Serverless v2 features before you attempt to use those features.

Status
Type: string

The status of the DB engine version, either available or deprecated.

SupportedCACertificateIdentifiers
Type: Array of strings

A list of the supported CA certificate identifiers.

For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.

SupportedCharacterSets
Type: Array of CharacterSet structures

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance operation.

SupportedEngineModes
Type: Array of strings

A list of the supported DB engine modes.

SupportedFeatureNames
Type: Array of strings

A list of features supported by the DB engine.

The supported features vary by DB engine and DB engine version.

To determine the supported features for a specific DB engine and DB engine version using the CLI, use the following command:

aws rds describe-db-engine-versions --engine <engine_name> --engine-version <engine_version>

For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, use the following command:

aws rds describe-db-engine-versions --engine postgres --engine-version 13.3

The supported features are listed under SupportedFeatureNames in the output.

SupportedNcharCharacterSets
Type: Array of CharacterSet structures

A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName parameter of the CreateDBInstance operation.

SupportedTimezones
Type: Array of Timezone structures

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

SupportsBabelfish
Type: boolean

Indicates whether the engine version supports Babelfish for Aurora PostgreSQL.

SupportsCertificateRotationWithoutRestart
Type: boolean

Indicates whether the engine version supports rotating the server certificate without rebooting the DB instance.

SupportsGlobalDatabases
Type: boolean

Indicates whether you can use Aurora global databases with a specific DB engine version.

SupportsIntegrations
Type: boolean

Indicates whether the DB engine version supports zero-ETL integrations with Amazon Redshift.

SupportsLimitlessDatabase
Type: boolean

Indicates whether the DB engine version supports Aurora Limitless Database.

SupportsLocalWriteForwarding
Type: boolean

Indicates whether the DB engine version supports forwarding write operations from reader DB instances to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

Valid for: Aurora DB clusters only

SupportsLogExportsToCloudwatchLogs
Type: boolean

Indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

SupportsParallelQuery
Type: boolean

Indicates whether you can use Aurora parallel query with a specific DB engine version.

SupportsReadReplica
Type: boolean

Indicates whether the database engine version supports read replicas.

TagList
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

ValidUpgradeTarget
Type: Array of UpgradeTarget structures

A list of engine versions that this database engine version can be upgraded to.

Errors

CustomDBEngineVersionAlreadyExistsFault:

A CEV with the specified name already exists.

CustomDBEngineVersionQuotaExceededFault:

You have exceeded your CEV quota.

Ec2ImagePropertiesNotSupportedFault:

The AMI configuration prerequisite has not been met.

KMSKeyNotAccessibleFault:

An error occurred accessing an Amazon Web Services KMS key.

CreateCustomDBEngineVersionFault:

An error occurred while trying to create the CEV.

CreateDBCluster

$result = $client->createDBCluster([/* ... */]);
$promise = $client->createDBClusterAsync([/* ... */]);

Creates a new Amazon Aurora DB cluster or Multi-AZ DB cluster.

If you create an Aurora DB cluster, the request creates an empty cluster. You must explicitly create the writer instance for your DB cluster using the CreateDBInstance operation. If you create a Multi-AZ DB cluster, the request creates a writer and two reader DB instances for you, each in a different Availability Zone.

You can use the ReplicationSourceIdentifier parameter to create an Amazon Aurora DB cluster as a read replica of another DB cluster or Amazon RDS for MySQL or PostgreSQL DB instance. For more information about Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

You can also use the ReplicationSourceIdentifier parameter to create a Multi-AZ DB cluster read replica with an RDS for MySQL or PostgreSQL DB instance as the source. For more information about Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->createDBCluster([
    'AllocatedStorage' => <integer>,
    'AutoMinorVersionUpgrade' => true || false,
    'AvailabilityZones' => ['<string>', ...],
    'BacktrackWindow' => <integer>,
    'BackupRetentionPeriod' => <integer>,
    'CACertificateIdentifier' => '<string>',
    'CharacterSetName' => '<string>',
    'ClusterScalabilityType' => 'standard|limitless',
    'CopyTagsToSnapshot' => true || false,
    'DBClusterIdentifier' => '<string>', // REQUIRED
    'DBClusterInstanceClass' => '<string>',
    'DBClusterParameterGroupName' => '<string>',
    'DBSubnetGroupName' => '<string>',
    'DBSystemId' => '<string>',
    'DatabaseInsightsMode' => 'standard|advanced',
    'DatabaseName' => '<string>',
    'DeletionProtection' => true || false,
    'DestinationRegion' => '<string>',
    'Domain' => '<string>',
    'DomainIAMRoleName' => '<string>',
    'EnableCloudwatchLogsExports' => ['<string>', ...],
    'EnableGlobalWriteForwarding' => true || false,
    'EnableHttpEndpoint' => true || false,
    'EnableIAMDatabaseAuthentication' => true || false,
    'EnableLimitlessDatabase' => true || false,
    'EnableLocalWriteForwarding' => true || false,
    'EnablePerformanceInsights' => true || false,
    'Engine' => '<string>', // REQUIRED
    'EngineLifecycleSupport' => '<string>',
    'EngineMode' => '<string>',
    'EngineVersion' => '<string>',
    'GlobalClusterIdentifier' => '<string>',
    'Iops' => <integer>,
    'KmsKeyId' => '<string>',
    'ManageMasterUserPassword' => true || false,
    'MasterUserPassword' => '<string>',
    'MasterUserSecretKmsKeyId' => '<string>',
    'MasterUsername' => '<string>',
    'MonitoringInterval' => <integer>,
    'MonitoringRoleArn' => '<string>',
    'NetworkType' => '<string>',
    'OptionGroupName' => '<string>',
    'PerformanceInsightsKMSKeyId' => '<string>',
    'PerformanceInsightsRetentionPeriod' => <integer>,
    'Port' => <integer>,
    'PreSignedUrl' => '<string>',
    'PreferredBackupWindow' => '<string>',
    'PreferredMaintenanceWindow' => '<string>',
    'PubliclyAccessible' => true || false,
    'RdsCustomClusterConfiguration' => [
        'InterconnectSubnetId' => '<string>',
        'ReplicaMode' => 'open-read-only|mounted',
        'TransitGatewayMulticastDomainId' => '<string>',
    ],
    'ReplicationSourceIdentifier' => '<string>',
    'ScalingConfiguration' => [
        'AutoPause' => true || false,
        'MaxCapacity' => <integer>,
        'MinCapacity' => <integer>,
        'SecondsBeforeTimeout' => <integer>,
        'SecondsUntilAutoPause' => <integer>,
        'TimeoutAction' => '<string>',
    ],
    'ServerlessV2ScalingConfiguration' => [
        'MaxCapacity' => <float>,
        'MinCapacity' => <float>,
        'SecondsUntilAutoPause' => <integer>,
    ],
    'SourceRegion' => '<string>',
    'StorageEncrypted' => true || false,
    'StorageType' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'VpcSecurityGroupIds' => ['<string>', ...],
]);

Parameter Details

Members
AllocatedStorage
Type: int

The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.

Valid for Cluster Type: Multi-AZ DB clusters only

This setting is required to create a Multi-AZ DB cluster.

AutoMinorVersionUpgrade
Type: boolean

Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.

Valid for Cluster Type: Multi-AZ DB clusters only

AvailabilityZones
Type: Array of strings

A list of Availability Zones (AZs) where you specifically want to create DB instances in the DB cluster.

For information on AZs, see Availability Zones in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters only

Constraints:

  • Can't specify more than three AZs.

BacktrackWindow
Type: long (int|float)

The target backtrack window, in seconds. To disable backtracking, set this value to 0.

Valid for Cluster Type: Aurora MySQL DB clusters only

Default: 0

Constraints:

  • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

BackupRetentionPeriod
Type: int

The number of days for which automated backups are retained.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Default: 1

Constraints:

  • Must be a value from 1 to 35.

CACertificateIdentifier
Type: string

The CA certificate identifier to use for the DB cluster's server certificate.

For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide.

Valid for Cluster Type: Multi-AZ DB clusters

CharacterSetName
Type: string

The name of the character set (CharacterSet) to associate the DB cluster with.

Valid for Cluster Type: Aurora DB clusters only

ClusterScalabilityType
Type: string

Specifies the scalability mode of the Aurora DB cluster. When set to limitless, the cluster operates as an Aurora Limitless Database. When set to standard (the default), the cluster uses normal DB instance creation.

Valid for: Aurora DB clusters only

You can't modify this setting after you create the DB cluster.

CopyTagsToSnapshot
Type: boolean

Specifies whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

DBClusterIdentifier
Required: Yes
Type: string

The identifier for this DB cluster. This parameter is stored as a lowercase string.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Constraints:

  • Must contain from 1 to 63 (for Aurora DB clusters) or 1 to 52 (for Multi-AZ DB clusters) letters, numbers, or hyphens.

  • First character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

DBClusterInstanceClass
Type: string

The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.

For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide.

This setting is required to create a Multi-AZ DB cluster.

Valid for Cluster Type: Multi-AZ DB clusters only

DBClusterParameterGroupName
Type: string

The name of the DB cluster parameter group to associate with this DB cluster. If you don't specify a value, then the default DB cluster parameter group for the specified DB engine and version is used.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Constraints:

  • If supplied, must match the name of an existing DB cluster parameter group.

DBSubnetGroupName
Type: string

A DB subnet group to associate with this DB cluster.

This setting is required to create a Multi-AZ DB cluster.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Constraints:

  • Must match the name of an existing DB subnet group.

Example: mydbsubnetgroup

DBSystemId
Type: string

Reserved for future use.

DatabaseInsightsMode
Type: string

Specifies the mode of Database Insights to enable for the cluster.

DatabaseName
Type: string

The name for your database of up to 64 alphanumeric characters. A database named postgres is always created. If this parameter is specified, an additional database with this name is created.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

DeletionProtection
Type: boolean

Specifies whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

DestinationRegion
Type: string
The SDK will populate this parameter on your behalf using the configured region value of the client.
Domain
Type: string

The Active Directory directory ID to create the DB cluster in.

For Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.

For more information, see Kerberos authentication in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters only

DomainIAMRoleName
Type: string

The name of the IAM role to use when making API calls to the Directory Service.

Valid for Cluster Type: Aurora DB clusters only

EnableCloudwatchLogsExports
Type: Array of strings

The list of log types that need to be enabled for exporting to CloudWatch Logs.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

The following values are valid for each DB engine:

  • Aurora MySQL - audit | error | general | slowquery

  • Aurora PostgreSQL - postgresql

  • RDS for MySQL - error | general | slowquery

  • RDS for PostgreSQL - postgresql | upgrade

For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

EnableGlobalWriteForwarding
Type: boolean

Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.

You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.

Valid for Cluster Type: Aurora DB clusters only

EnableHttpEndpoint
Type: boolean

Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.

When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.

RDS Data API is supported with the following DB clusters:

  • Aurora PostgreSQL Serverless v2 and provisioned

  • Aurora PostgreSQL and Aurora MySQL Serverless v1

For more information, see Using RDS Data API in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters only

EnableIAMDatabaseAuthentication
Type: boolean

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

For more information, see IAM Database Authentication in the Amazon Aurora User Guide or IAM database authentication for MariaDB, MySQL, and PostgreSQL in the Amazon RDS User Guide.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

EnableLimitlessDatabase
Type: boolean

Specifies whether to enable Aurora Limitless Database. You must enable Aurora Limitless Database to create a DB shard group.

Valid for: Aurora DB clusters only

This setting is no longer used. Instead use the ClusterScalabilityType setting.

EnableLocalWriteForwarding
Type: boolean

Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

Valid for: Aurora DB clusters only

EnablePerformanceInsights
Type: boolean

Specifies whether to turn on Performance Insights for the DB cluster.

For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

Valid for Cluster Type: Multi-AZ DB clusters only

Engine
Required: Yes
Type: string

The database engine to use for this DB cluster.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Valid Values:

  • aurora-mysql

  • aurora-postgresql

  • mysql

  • postgres

  • neptune - For information about using Amazon Neptune, see the Amazon Neptune User Guide .

EngineLifecycleSupport
Type: string

The life cycle type for this DB cluster.

By default, this value is set to open-source-rds-extended-support, which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to open-source-rds-extended-support-disabled. In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date.

You can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Valid Values: open-source-rds-extended-support | open-source-rds-extended-support-disabled

Default: open-source-rds-extended-support

EngineMode
Type: string

The DB engine mode of the DB cluster, either provisioned or serverless.

The serverless engine mode only applies for Aurora Serverless v1 DB clusters. Aurora Serverless v2 DB clusters use the provisioned engine mode.

For information about limitations and requirements for Serverless DB clusters, see the following sections in the Amazon Aurora User Guide:

Valid for Cluster Type: Aurora DB clusters only

EngineVersion
Type: string

The version number of the database engine to use.

To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (MySQL 8.0-compatible), use the following command:

aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"

You can supply either 5.7 or 8.0 to use the default engine version for Aurora MySQL version 2 or version 3, respectively.

To list all of the available engine versions for Aurora PostgreSQL, use the following command:

aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"

To list all of the available engine versions for RDS for MySQL, use the following command:

aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"

To list all of the available engine versions for RDS for PostgreSQL, use the following command:

aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"

For information about a specific engine, see the following topics:

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

GlobalClusterIdentifier
Type: string

The global cluster ID of an Aurora cluster that becomes the primary cluster in the new global database cluster.

Valid for Cluster Type: Aurora DB clusters only

Iops
Type: int

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.

For information about valid IOPS values, see Provisioned IOPS storage in the Amazon RDS User Guide.

This setting is required to create a Multi-AZ DB cluster.

Valid for Cluster Type: Multi-AZ DB clusters only

Constraints:

  • Must be a multiple between .5 and 50 of the storage amount for the DB cluster.

KmsKeyId
Type: string

The Amazon Web Services KMS key identifier for an encrypted DB cluster.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

When a KMS key isn't specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon RDS uses the KMS key used to encrypt the source. Otherwise, Amazon RDS uses your default KMS key.

  • If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier isn't specified, then Amazon RDS uses your default KMS key.

There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

If you create a read replica of an encrypted DB cluster in another Amazon Web Services Region, make sure to set KmsKeyId to a KMS key identifier that is valid in the destination Amazon Web Services Region. This KMS key is used to encrypt the read replica in that Amazon Web Services Region.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

ManageMasterUserPassword
Type: boolean

Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.

For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Constraints:

  • Can't manage the master user password with Amazon Web Services Secrets Manager if MasterUserPassword is specified.

MasterUserPassword
Type: string

The password for the master database user.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Constraints:

  • Must contain from 8 to 41 characters.

  • Can contain any printable ASCII character except "/", """, or "@".

  • Can't be specified if ManageMasterUserPassword is turned on.

MasterUserSecretKmsKeyId
Type: string

The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.

This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB cluster.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

If you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager KMS key to encrypt the secret, and you must use a customer managed KMS key.

There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

MasterUsername
Type: string

The name of the master user for the DB cluster.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Constraints:

  • Must be 1 to 16 letters or numbers.

  • First character must be a letter.

  • Can't be a reserved word for the chosen database engine.

MonitoringInterval
Type: int

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0.

If MonitoringRoleArn is specified, also set MonitoringInterval to a value other than 0.

Valid for Cluster Type: Multi-AZ DB clusters only

Valid Values: 0 | 1 | 5 | 10 | 15 | 30 | 60

Default: 0

MonitoringRoleArn
Type: string

The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting up and enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

Valid for Cluster Type: Multi-AZ DB clusters only

NetworkType
Type: string

The network type of the DB cluster.

The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

Valid for Cluster Type: Aurora DB clusters only

Valid Values: IPV4 | DUAL

OptionGroupName
Type: string

The option group to associate the DB cluster with.

DB clusters are associated with a default option group that can't be modified.

PerformanceInsightsKMSKeyId
Type: string

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

If you don't specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

Valid for Cluster Type: Multi-AZ DB clusters only

PerformanceInsightsRetentionPeriod
Type: int

The number of days to retain Performance Insights data.

Valid for Cluster Type: Multi-AZ DB clusters only

Valid Values:

  • 7

  • month * 31, where month is a number of months from 1-23. Examples: 93 (3 months * 31), 341 (11 months * 31), 589 (19 months * 31)

  • 731

Default: 7 days

If you specify a retention period that isn't valid, such as 94, Amazon RDS issues an error.

Port
Type: int

The port number on which the instances in the DB cluster accept connections.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Valid Values: 1150-65535

Default:

  • RDS for MySQL and Aurora MySQL - 3306

  • RDS for PostgreSQL and Aurora PostgreSQL - 5432

PreSignedUrl
Type: string
The SDK will compute this value for you on your behalf.
PreferredBackupWindow
Type: string

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. To view the time blocks available, see Backup window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

PreferredMaintenanceWindow
Type: string

The weekly time range during which system maintenance can occur.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format ddd:hh24:mi-ddd:hh24:mi.

  • Days must be one of Mon | Tue | Wed | Thu | Fri | Sat | Sun.

  • Must be in Universal Coordinated Time (UTC).

  • Must be at least 30 minutes.

PubliclyAccessible
Type: boolean

Specifies whether the DB cluster is publicly accessible.

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

Valid for Cluster Type: Multi-AZ DB clusters only

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

  • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private.

  • If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.

  • If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.

RdsCustomClusterConfiguration

Reserved for future use.

ReplicationSourceIdentifier
Type: string

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

ScalingConfiguration
Type: ScalingConfiguration structure

For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.

Valid for Cluster Type: Aurora DB clusters only

ServerlessV2ScalingConfiguration

Contains the scaling configuration of an Aurora Serverless v2 DB cluster.

For more information, see Using Amazon Aurora Serverless v2 in the Amazon Aurora User Guide.

SourceRegion
Type: string
A required parameter that indicates the region that the DB snapshot will be copied from.
StorageEncrypted
Type: boolean

Specifies whether the DB cluster is encrypted.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

StorageType
Type: string

The storage type to associate with the DB cluster.

For information on storage types for Aurora DB clusters, see Storage configurations for Amazon Aurora DB clusters. For information on storage types for Multi-AZ DB clusters, see Settings for creating Multi-AZ DB clusters.

This setting is required to create a Multi-AZ DB cluster.

When specified for a Multi-AZ DB cluster, a value for the Iops parameter is required.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Valid Values:

  • Aurora DB clusters - aurora | aurora-iopt1

  • Multi-AZ DB clusters - io1 | io2 | gp3

Default:

  • Aurora DB clusters - aurora

  • Multi-AZ DB clusters - io1

When you create an Aurora DB cluster with the storage type set to aurora-iopt1, the storage type is returned in the response. The storage type isn't returned when you set it to aurora.

Tags
Type: Array of Tag structures

Tags to assign to the DB cluster.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

VpcSecurityGroupIds
Type: Array of strings

A list of EC2 VPC security groups to associate with this DB cluster.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Result Syntax

[
    'DBCluster' => [
        'ActivityStreamKinesisStreamName' => '<string>',
        'ActivityStreamKmsKeyId' => '<string>',
        'ActivityStreamMode' => 'sync|async',
        'ActivityStreamStatus' => 'stopped|starting|started|stopping',
        'AllocatedStorage' => <integer>,
        'AssociatedRoles' => [
            [
                'FeatureName' => '<string>',
                'RoleArn' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'AutoMinorVersionUpgrade' => true || false,
        'AutomaticRestartTime' => <DateTime>,
        'AvailabilityZones' => ['<string>', ...],
        'AwsBackupRecoveryPointArn' => '<string>',
        'BacktrackConsumedChangeRecords' => <integer>,
        'BacktrackWindow' => <integer>,
        'BackupRetentionPeriod' => <integer>,
        'Capacity' => <integer>,
        'CertificateDetails' => [
            'CAIdentifier' => '<string>',
            'ValidTill' => <DateTime>,
        ],
        'CharacterSetName' => '<string>',
        'CloneGroupId' => '<string>',
        'ClusterCreateTime' => <DateTime>,
        'ClusterScalabilityType' => 'standard|limitless',
        'CopyTagsToSnapshot' => true || false,
        'CrossAccountClone' => true || false,
        'CustomEndpoints' => ['<string>', ...],
        'DBClusterArn' => '<string>',
        'DBClusterIdentifier' => '<string>',
        'DBClusterInstanceClass' => '<string>',
        'DBClusterMembers' => [
            [
                'DBClusterParameterGroupStatus' => '<string>',
                'DBInstanceIdentifier' => '<string>',
                'IsClusterWriter' => true || false,
                'PromotionTier' => <integer>,
            ],
            // ...
        ],
        'DBClusterOptionGroupMemberships' => [
            [
                'DBClusterOptionGroupName' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'DBClusterParameterGroup' => '<string>',
        'DBSubnetGroup' => '<string>',
        'DBSystemId' => '<string>',
        'DatabaseInsightsMode' => 'standard|advanced',
        'DatabaseName' => '<string>',
        'DbClusterResourceId' => '<string>',
        'DeletionProtection' => true || false,
        'DomainMemberships' => [
            [
                'AuthSecretArn' => '<string>',
                'DnsIps' => ['<string>', ...],
                'Domain' => '<string>',
                'FQDN' => '<string>',
                'IAMRoleName' => '<string>',
                'OU' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'EarliestBacktrackTime' => <DateTime>,
        'EarliestRestorableTime' => <DateTime>,
        'EnabledCloudwatchLogsExports' => ['<string>', ...],
        'Endpoint' => '<string>',
        'Engine' => '<string>',
        'EngineLifecycleSupport' => '<string>',
        'EngineMode' => '<string>',
        'EngineVersion' => '<string>',
        'GlobalWriteForwardingRequested' => true || false,
        'GlobalWriteForwardingStatus' => 'enabled|disabled|enabling|disabling|unknown',
        'HostedZoneId' => '<string>',
        'HttpEndpointEnabled' => true || false,
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'IOOptimizedNextAllowedModificationTime' => <DateTime>,
        'Iops' => <integer>,
        'KmsKeyId' => '<string>',
        'LatestRestorableTime' => <DateTime>,
        'LimitlessDatabase' => [
            'MinRequiredACU' => <float>,
            'Status' => 'active|not-in-use|enabled|disabled|enabling|disabling|modifying-max-capacity|error',
        ],
        'LocalWriteForwardingStatus' => 'enabled|disabled|enabling|disabling|requested',
        'MasterUserSecret' => [
            'KmsKeyId' => '<string>',
            'SecretArn' => '<string>',
            'SecretStatus' => '<string>',
        ],
        'MasterUsername' => '<string>',
        'MonitoringInterval' => <integer>,
        'MonitoringRoleArn' => '<string>',
        'MultiAZ' => true || false,
        'NetworkType' => '<string>',
        'PendingModifiedValues' => [
            'AllocatedStorage' => <integer>,
            'BackupRetentionPeriod' => <integer>,
            'CertificateDetails' => [
                'CAIdentifier' => '<string>',
                'ValidTill' => <DateTime>,
            ],
            'DBClusterIdentifier' => '<string>',
            'EngineVersion' => '<string>',
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'Iops' => <integer>,
            'MasterUserPassword' => '<string>',
            'PendingCloudwatchLogsExports' => [
                'LogTypesToDisable' => ['<string>', ...],
                'LogTypesToEnable' => ['<string>', ...],
            ],
            'RdsCustomClusterConfiguration' => [
                'InterconnectSubnetId' => '<string>',
                'ReplicaMode' => 'open-read-only|mounted',
                'TransitGatewayMulticastDomainId' => '<string>',
            ],
            'StorageType' => '<string>',
        ],
        'PercentProgress' => '<string>',
        'PerformanceInsightsEnabled' => true || false,
        'PerformanceInsightsKMSKeyId' => '<string>',
        'PerformanceInsightsRetentionPeriod' => <integer>,
        'Port' => <integer>,
        'PreferredBackupWindow' => '<string>',
        'PreferredMaintenanceWindow' => '<string>',
        'PubliclyAccessible' => true || false,
        'RdsCustomClusterConfiguration' => [
            'InterconnectSubnetId' => '<string>',
            'ReplicaMode' => 'open-read-only|mounted',
            'TransitGatewayMulticastDomainId' => '<string>',
        ],
        'ReadReplicaIdentifiers' => ['<string>', ...],
        'ReaderEndpoint' => '<string>',
        'ReplicationSourceIdentifier' => '<string>',
        'ScalingConfigurationInfo' => [
            'AutoPause' => true || false,
            'MaxCapacity' => <integer>,
            'MinCapacity' => <integer>,
            'SecondsBeforeTimeout' => <integer>,
            'SecondsUntilAutoPause' => <integer>,
            'TimeoutAction' => '<string>',
        ],
        'ServerlessV2ScalingConfiguration' => [
            'MaxCapacity' => <float>,
            'MinCapacity' => <float>,
            'SecondsUntilAutoPause' => <integer>,
        ],
        'Status' => '<string>',
        'StatusInfos' => [
            [
                'Message' => '<string>',
                'Normal' => true || false,
                'Status' => '<string>',
                'StatusType' => '<string>',
            ],
            // ...
        ],
        'StorageEncrypted' => true || false,
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcSecurityGroups' => [
            [
                'Status' => '<string>',
                'VpcSecurityGroupId' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
DBCluster
Type: DBCluster structure

Contains the details of an Amazon Aurora DB cluster or Multi-AZ DB cluster.

For an Amazon Aurora DB cluster, this data type is used as a response element in the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster, ModifyDBCluster, PromoteReadReplicaDBCluster, RestoreDBClusterFromS3, RestoreDBClusterFromSnapshot, RestoreDBClusterToPointInTime, StartDBCluster, and StopDBCluster.

For a Multi-AZ DB cluster, this data type is used as a response element in the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster, ModifyDBCluster, RebootDBCluster, RestoreDBClusterFromSnapshot, and RestoreDBClusterToPointInTime.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ deployments with two readable standby DB instances in the Amazon RDS User Guide.

Errors

DBClusterAlreadyExistsFault:

The user already has a DB cluster with the given identifier.

InsufficientDBInstanceCapacityFault:

The specified DB instance class isn't available in the specified Availability Zone.

InsufficientStorageClusterCapacityFault:

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.

DBClusterQuotaExceededFault:

The user attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

StorageQuotaExceededFault:

The request would result in the user exceeding the allowed amount of storage available across all DB instances.

DBSubnetGroupNotFoundFault:

DBSubnetGroupName doesn't refer to an existing DB subnet group.

InvalidVPCNetworkStateFault:

The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

InvalidDBSubnetGroupFault:

The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region read replica of the same source instance.

InvalidDBSubnetGroupStateFault:

The DB subnet group cannot be deleted because it's in use.

InvalidSubnet:

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

DBClusterParameterGroupNotFoundFault:

DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter group.

KMSKeyNotAccessibleFault:

An error occurred accessing an Amazon Web Services KMS key.

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

DBSubnetGroupDoesNotCoverEnoughAZs:

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

GlobalClusterNotFoundFault:

The GlobalClusterIdentifier doesn't refer to an existing global database cluster.

InvalidGlobalClusterStateFault:

The global cluster is in an invalid state and can't perform the requested operation.

DomainNotFoundFault:

Domain doesn't refer to an existing Active Directory domain.

OptionGroupNotFoundFault:

The specified option group could not be found.

Examples

Example 1: To create a MySQL 5.7-compatible DB cluster

The following example creates a MySQL 5.7-compatible Aurora DB cluster.

$result = $client->createDBCluster([
    'DBClusterIdentifier' => 'sample-cluster',
    'DBSubnetGroupName' => 'default',
    'Engine' => 'aurora-mysql',
    'EngineVersion' => '5.7.12',
    'MasterUserPassword' => 'mypassword',
    'MasterUsername' => 'admin',
    'VpcSecurityGroupIds' => [
        'sg-0b91305example',
    ],
]);

Result syntax:

[
    'DBCluster' => [
        'AllocatedStorage' => 1,
        'AssociatedRoles' => [
        ],
        'AvailabilityZones' => [
            'us-east-1a',
            'us-east-1b',
            'us-east-1e',
        ],
        'BackupRetentionPeriod' => 1,
        'ClusterCreateTime' => ,
        'CopyTagsToSnapshot' => ,
        'DBClusterArn' => 'arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster',
        'DBClusterIdentifier' => 'sample-cluster',
        'DBClusterMembers' => [
        ],
        'DBClusterParameterGroup' => 'default.aurora-mysql5.7',
        'DBSubnetGroup' => 'default',
        'DbClusterResourceId' => 'cluster-ANPAJ4AE5446DAEXAMPLE',
        'DeletionProtection' => ,
        'Endpoint' => 'sample-cluster.cluster-cnpexample.us-east-1.rds.amazonaws.com',
        'Engine' => 'aurora-mysql',
        'EngineMode' => 'provisioned',
        'EngineVersion' => '5.7.12',
        'HostedZoneId' => 'Z2R2ITUGPM61AM',
        'HttpEndpointEnabled' => ,
        'IAMDatabaseAuthenticationEnabled' => ,
        'MasterUsername' => 'master',
        'MultiAZ' => ,
        'Port' => 3306,
        'PreferredBackupWindow' => '09:12-09:42',
        'PreferredMaintenanceWindow' => 'mon:04:31-mon:05:01',
        'ReadReplicaIdentifiers' => [
        ],
        'ReaderEndpoint' => 'sample-cluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com',
        'Status' => 'creating',
        'StorageEncrypted' => ,
        'VpcSecurityGroups' => [
            [
                'Status' => 'active',
                'VpcSecurityGroupId' => 'sg-0b91305example',
            ],
        ],
    ],
]
Example 2: To create a PostgreSQL-compatible DB cluster

The following example creates a PostgreSQL-compatible Aurora DB cluster.

$result = $client->createDBCluster([
    'DBClusterIdentifier' => 'sample-pg-cluster',
    'DBSubnetGroupName' => 'default',
    'Engine' => 'aurora-postgresql',
    'MasterUserPassword' => 'mypassword',
    'MasterUsername' => 'admin',
    'VpcSecurityGroupIds' => [
        'sg-0b91305example',
    ],
]);

Result syntax:

[
    'DBCluster' => [
        'AllocatedStorage' => 1,
        'AssociatedRoles' => [
        ],
        'AvailabilityZones' => [
            'us-east-1a',
            'us-east-1b',
            'us-east-1c',
        ],
        'BackupRetentionPeriod' => 1,
        'ClusterCreateTime' => ,
        'CopyTagsToSnapshot' => ,
        'DBClusterArn' => 'arn:aws:rds:us-east-1:123456789012:cluster:sample-pg-cluster',
        'DBClusterIdentifier' => 'sample-pg-cluster',
        'DBClusterMembers' => [
        ],
        'DBClusterParameterGroup' => 'default.aurora-postgresql9.6',
        'DBSubnetGroup' => 'default',
        'DbClusterResourceId' => 'cluster-ANPAJ4AE5446DAEXAMPLE',
        'DeletionProtection' => ,
        'Endpoint' => 'sample-pg-cluster.cluster-cnpexample.us-east-1.rds.amazonaws.com',
        'Engine' => 'aurora-postgresql',
        'EngineMode' => 'provisioned',
        'EngineVersion' => '9.6.9',
        'HostedZoneId' => 'Z2R2ITUGPM61AM',
        'HttpEndpointEnabled' => ,
        'IAMDatabaseAuthenticationEnabled' => ,
        'MasterUsername' => 'master',
        'MultiAZ' => ,
        'Port' => 5432,
        'PreferredBackupWindow' => '09:56-10:26',
        'PreferredMaintenanceWindow' => 'wed:03:33-wed:04:03',
        'ReadReplicaIdentifiers' => [
        ],
        'ReaderEndpoint' => 'sample-pg-cluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com',
        'Status' => 'creating',
        'StorageEncrypted' => ,
        'VpcSecurityGroups' => [
            [
                'Status' => 'active',
                'VpcSecurityGroupId' => 'sg-0b91305example',
            ],
        ],
    ],
]

CreateDBClusterEndpoint

$result = $client->createDBClusterEndpoint([/* ... */]);
$promise = $client->createDBClusterEndpointAsync([/* ... */]);

Creates a new custom endpoint and associates it with an Amazon Aurora DB cluster.

This action applies only to Aurora DB clusters.

Parameter Syntax

$result = $client->createDBClusterEndpoint([
    'DBClusterEndpointIdentifier' => '<string>', // REQUIRED
    'DBClusterIdentifier' => '<string>', // REQUIRED
    'EndpointType' => '<string>', // REQUIRED
    'ExcludedMembers' => ['<string>', ...],
    'StaticMembers' => ['<string>', ...],
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DBClusterEndpointIdentifier
Required: Yes
Type: string

The identifier to use for the new endpoint. This parameter is stored as a lowercase string.

DBClusterIdentifier
Required: Yes
Type: string

The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.

EndpointType
Required: Yes
Type: string

The type of the endpoint, one of: READER, WRITER, ANY.

ExcludedMembers
Type: Array of strings

List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. This parameter is relevant only if the list of static members is empty.

StaticMembers
Type: Array of strings

List of DB instance identifiers that are part of the custom endpoint group.

Tags
Type: Array of Tag structures

The tags to be assigned to the Amazon RDS resource.

Result Syntax

[
    'CustomEndpointType' => '<string>',
    'DBClusterEndpointArn' => '<string>',
    'DBClusterEndpointIdentifier' => '<string>',
    'DBClusterEndpointResourceIdentifier' => '<string>',
    'DBClusterIdentifier' => '<string>',
    'Endpoint' => '<string>',
    'EndpointType' => '<string>',
    'ExcludedMembers' => ['<string>', ...],
    'StaticMembers' => ['<string>', ...],
    'Status' => '<string>',
]

Result Details

Members
CustomEndpointType
Type: string

The type associated with a custom endpoint. One of: READER, WRITER, ANY.

DBClusterEndpointArn
Type: string

The Amazon Resource Name (ARN) for the endpoint.

DBClusterEndpointIdentifier
Type: string

The identifier associated with the endpoint. This parameter is stored as a lowercase string.

DBClusterEndpointResourceIdentifier
Type: string

A unique system-generated identifier for an endpoint. It remains the same for the whole life of the endpoint.

DBClusterIdentifier
Type: string

The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.

Endpoint
Type: string

The DNS address of the endpoint.

EndpointType
Type: string

The type of the endpoint. One of: READER, WRITER, CUSTOM.

ExcludedMembers
Type: Array of strings

List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty.

StaticMembers
Type: Array of strings

List of DB instance identifiers that are part of the custom endpoint group.

Status
Type: string

The current status of the endpoint. One of: creating, available, deleting, inactive, modifying. The inactive state applies to an endpoint that can't be used for a certain kind of cluster, such as a writer endpoint for a read-only secondary cluster in a global database.

Errors

DBClusterEndpointQuotaExceededFault:

The cluster already has the maximum number of custom endpoints.

DBClusterEndpointAlreadyExistsFault:

The specified custom endpoint can't be created because it already exists.

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

Examples

Example 1: To create a custom DB cluster endpoint

The following example creates a custom DB cluster endpoint and associate it with the specified Aurora DB cluster.

$result = $client->createDBClusterEndpoint([
    'DBClusterEndpointIdentifier' => 'mycustomendpoint',
    'DBClusterIdentifier' => 'mydbcluster',
    'EndpointType' => 'reader',
    'StaticMembers' => [
        'dbinstance1',
        'dbinstance2',
    ],
]);

Result syntax:

[
    'CustomEndpointType' => 'READER',
    'DBClusterEndpointArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:mycustomendpoint',
    'DBClusterEndpointIdentifier' => 'mycustomendpoint',
    'DBClusterEndpointResourceIdentifier' => 'cluster-endpoint-ANPAJ4AE5446DAEXAMPLE',
    'DBClusterIdentifier' => 'mydbcluster',
    'Endpoint' => 'mycustomendpoint.cluster-custom-cnpexample.us-east-1.rds.amazonaws.com',
    'EndpointType' => 'CUSTOM',
    'ExcludedMembers' => [
    ],
    'StaticMembers' => [
        'dbinstance1',
        'dbinstance2',
    ],
    'Status' => 'creating',
]

CreateDBClusterParameterGroup

$result = $client->createDBClusterParameterGroup([/* ... */]);
$promise = $client->createDBClusterParameterGroupAsync([/* ... */]);

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 ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster.

When you associate a new DB cluster parameter group with a running Aurora DB cluster, reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

When you associate a new DB cluster parameter group with a running Multi-AZ DB cluster, reboot the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

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 character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters operation to verify that your DB cluster parameter group has been created or modified.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->createDBClusterParameterGroup([
    'DBClusterParameterGroupName' => '<string>', // REQUIRED
    'DBParameterGroupFamily' => '<string>', // REQUIRED
    'Description' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DBClusterParameterGroupName
Required: Yes
Type: string

The name of the DB cluster parameter group.

Constraints:

  • Must not match the name of an existing DB cluster parameter group.

This value is stored as a lowercase string.

DBParameterGroupFamily
Required: Yes
Type: string

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.

Aurora MySQL

Example: aurora-mysql5.7, aurora-mysql8.0

Aurora PostgreSQL

Example: aurora-postgresql14

RDS for MySQL

Example: mysql8.0

RDS for PostgreSQL

Example: postgres13

To list all of the available parameter group families for a DB engine, use the following command:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine <engine>

For example, to list all of the available parameter group families for the Aurora PostgreSQL DB engine, use the following command:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine aurora-postgresql

The output contains duplicates.

The following are the valid DB engine values:

  • aurora-mysql

  • aurora-postgresql

  • mysql

  • postgres

Description
Required: Yes
Type: string

The description for the DB cluster parameter group.

Tags
Type: Array of Tag structures

Tags to assign to the DB cluster parameter group.

Result Syntax

[
    'DBClusterParameterGroup' => [
        'DBClusterParameterGroupArn' => '<string>',
        'DBClusterParameterGroupName' => '<string>',
        'DBParameterGroupFamily' => '<string>',
        'Description' => '<string>',
    ],
]

Result Details

Members
DBClusterParameterGroup
Type: DBClusterParameterGroup structure

Contains the details of an Amazon RDS DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

Errors

DBParameterGroupQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB parameter groups.

DBParameterGroupAlreadyExistsFault:

A DB parameter group with the same name exists.

Examples

Example 1: To create a DB cluster parameter group

The following example creates a DB cluster parameter group.

$result = $client->createDBClusterParameterGroup([
    'DBClusterParameterGroupName' => 'mydbclusterparametergroup',
    'DBParameterGroupFamily' => 'aurora5.6',
    'Description' => 'My new cluster parameter group',
]);

Result syntax:

[
    'DBClusterParameterGroup' => [
        'DBClusterParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup',
        'DBClusterParameterGroupName' => 'mydbclusterparametergroup',
        'DBParameterGroupFamily' => 'aurora5.6',
        'Description' => 'My new cluster parameter group',
    ],
]

CreateDBClusterSnapshot

$result = $client->createDBClusterSnapshot([/* ... */]);
$promise = $client->createDBClusterSnapshotAsync([/* ... */]);

Creates a snapshot of a DB cluster.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->createDBClusterSnapshot([
    'DBClusterIdentifier' => '<string>', // REQUIRED
    'DBClusterSnapshotIdentifier' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DBClusterIdentifier
Required: Yes
Type: string

The identifier of the DB cluster to create a snapshot for. This parameter isn't case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

Example: my-cluster1

DBClusterSnapshotIdentifier
Required: Yes
Type: string

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.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1-snapshot1

Tags
Type: Array of Tag structures

The tags to be assigned to the DB cluster snapshot.

Result Syntax

[
    'DBClusterSnapshot' => [
        'AllocatedStorage' => <integer>,
        'AvailabilityZones' => ['<string>', ...],
        'ClusterCreateTime' => <DateTime>,
        'DBClusterIdentifier' => '<string>',
        'DBClusterSnapshotArn' => '<string>',
        'DBClusterSnapshotIdentifier' => '<string>',
        'DBSystemId' => '<string>',
        'DbClusterResourceId' => '<string>',
        'Engine' => '<string>',
        'EngineMode' => '<string>',
        'EngineVersion' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'KmsKeyId' => '<string>',
        'LicenseModel' => '<string>',
        'MasterUsername' => '<string>',
        'PercentProgress' => <integer>,
        'Port' => <integer>,
        'SnapshotCreateTime' => <DateTime>,
        'SnapshotType' => '<string>',
        'SourceDBClusterSnapshotArn' => '<string>',
        'Status' => '<string>',
        'StorageEncrypted' => true || false,
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBClusterSnapshot
Type: DBClusterSnapshot structure

Contains the details for an Amazon RDS DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

Errors

DBClusterSnapshotAlreadyExistsFault:

The user already has a DB cluster snapshot with the given identifier.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

SnapshotQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB snapshots.

InvalidDBClusterSnapshotStateFault:

The supplied value isn't a valid DB cluster snapshot state.

Examples

Example 1: To create a DB cluster snapshot

The following example creates a DB cluster snapshot.

$result = $client->createDBClusterSnapshot([
    'DBClusterIdentifier' => 'mydbclustersnapshot',
    'DBClusterSnapshotIdentifier' => 'mydbcluster',
]);

Result syntax:

[
    'DBClusterSnapshot' => [
        'AllocatedStorage' => 1,
        'AvailabilityZones' => [
            'us-east-1a',
            'us-east-1b',
            'us-east-1e',
        ],
        'ClusterCreateTime' => ,
        'DBClusterIdentifier' => 'mydbcluster',
        'DBClusterSnapshotArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-snapshot:mydbclustersnapshot',
        'DBClusterSnapshotIdentifier' => 'mydbclustersnapshot',
        'Engine' => 'aurora-mysql',
        'EngineVersion' => '5.7.mysql_aurora.2.04.2',
        'IAMDatabaseAuthenticationEnabled' => ,
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
        'LicenseModel' => 'aurora-mysql',
        'MasterUsername' => 'myadmin',
        'PercentProgress' => 0,
        'Port' => 0,
        'SnapshotCreateTime' => ,
        'SnapshotType' => 'manual',
        'Status' => 'creating',
        'StorageEncrypted' => 1,
        'VpcId' => 'vpc-6594f31c',
    ],
]

CreateDBInstance

$result = $client->createDBInstance([/* ... */]);
$promise = $client->createDBInstanceAsync([/* ... */]);

Creates a new DB instance.

The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster. For an Aurora DB cluster, you can call this operation multiple times to add more than one DB instance to the cluster.

For more information about creating an RDS DB instance, see Creating an Amazon RDS DB instance in the Amazon RDS User Guide.

For more information about creating a DB instance in an Aurora DB cluster, see Creating an Amazon Aurora DB cluster in the Amazon Aurora User Guide.

Parameter Syntax

$result = $client->createDBInstance([
    'AllocatedStorage' => <integer>,
    'AutoMinorVersionUpgrade' => true || false,
    'AvailabilityZone' => '<string>',
    'BackupRetentionPeriod' => <integer>,
    'BackupTarget' => '<string>',
    'CACertificateIdentifier' => '<string>',
    'CharacterSetName' => '<string>',
    'CopyTagsToSnapshot' => true || false,
    'CustomIamInstanceProfile' => '<string>',
    'DBClusterIdentifier' => '<string>',
    'DBInstanceClass' => '<string>', // REQUIRED
    'DBInstanceIdentifier' => '<string>', // REQUIRED
    'DBName' => '<string>',
    'DBParameterGroupName' => '<string>',
    'DBSecurityGroups' => ['<string>', ...],
    'DBSubnetGroupName' => '<string>',
    'DBSystemId' => '<string>',
    'DatabaseInsightsMode' => 'standard|advanced',
    'DedicatedLogVolume' => true || false,
    'DeletionProtection' => true || false,
    'Domain' => '<string>',
    'DomainAuthSecretArn' => '<string>',
    'DomainDnsIps' => ['<string>', ...],
    'DomainFqdn' => '<string>',
    'DomainIAMRoleName' => '<string>',
    'DomainOu' => '<string>',
    'EnableCloudwatchLogsExports' => ['<string>', ...],
    'EnableCustomerOwnedIp' => true || false,
    'EnableIAMDatabaseAuthentication' => true || false,
    'EnablePerformanceInsights' => true || false,
    'Engine' => '<string>', // REQUIRED
    'EngineLifecycleSupport' => '<string>',
    'EngineVersion' => '<string>',
    'Iops' => <integer>,
    'KmsKeyId' => '<string>',
    'LicenseModel' => '<string>',
    'ManageMasterUserPassword' => true || false,
    'MasterUserPassword' => '<string>',
    'MasterUserSecretKmsKeyId' => '<string>',
    'MasterUsername' => '<string>',
    'MaxAllocatedStorage' => <integer>,
    'MonitoringInterval' => <integer>,
    'MonitoringRoleArn' => '<string>',
    'MultiAZ' => true || false,
    'MultiTenant' => true || false,
    'NcharCharacterSetName' => '<string>',
    'NetworkType' => '<string>',
    'OptionGroupName' => '<string>',
    'PerformanceInsightsKMSKeyId' => '<string>',
    'PerformanceInsightsRetentionPeriod' => <integer>,
    'Port' => <integer>,
    'PreferredBackupWindow' => '<string>',
    'PreferredMaintenanceWindow' => '<string>',
    'ProcessorFeatures' => [
        [
            'Name' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'PromotionTier' => <integer>,
    'PubliclyAccessible' => true || false,
    'StorageEncrypted' => true || false,
    'StorageThroughput' => <integer>,
    'StorageType' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TdeCredentialArn' => '<string>',
    'TdeCredentialPassword' => '<string>',
    'Timezone' => '<string>',
    'VpcSecurityGroupIds' => ['<string>', ...],
]);

Parameter Details

Members
AllocatedStorage
Type: int

The amount of storage in gibibytes (GiB) to allocate for the DB instance.

This setting doesn't apply to Amazon Aurora DB instances. 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.

Amazon RDS Custom

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2, gp3): Must be an integer from 40 to 65536 for RDS Custom for Oracle, 16384 for RDS Custom for SQL Server.

  • Provisioned IOPS storage (io1, io2): Must be an integer from 40 to 65536 for RDS Custom for Oracle, 16384 for RDS Custom for SQL Server.

RDS for Db2

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp3): Must be an integer from 20 to 65536.

  • Provisioned IOPS storage (io1, io2): Must be an integer from 100 to 65536.

RDS for MariaDB

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20 to 65536.

  • Provisioned IOPS storage (io1, io2): Must be an integer from 100 to 65536.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

RDS for MySQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20 to 65536.

  • Provisioned IOPS storage (io1, io2): Must be an integer from 100 to 65536.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

RDS for Oracle

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20 to 65536.

  • Provisioned IOPS storage (io1, io2): Must be an integer from 100 to 65536.

  • Magnetic storage (standard): Must be an integer from 10 to 3072.

RDS for PostgreSQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20 to 65536.

  • Provisioned IOPS storage (io1, io2): Must be an integer from 100 to 65536.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

RDS for SQL Server

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2, gp3):

    • Enterprise and Standard editions: Must be an integer from 20 to 16384.

    • Web and Express editions: Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1, io2):

    • Enterprise and Standard editions: Must be an integer from 100 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 20 to 1024.

    • Web and Express editions: Must be an integer from 20 to 1024.

AutoMinorVersionUpgrade
Type: boolean

Specifies whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.

If you create an RDS Custom DB instance, you must set AutoMinorVersionUpgrade to false.

AvailabilityZone
Type: string

The Availability Zone (AZ) where the database will be created. For information on Amazon Web Services Regions and Availability Zones, see Regions and Availability Zones.

For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.

Default: A random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region.

Constraints:

  • The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment.

  • The specified Availability Zone must be in the same Amazon Web Services Region as the current endpoint.

Example: us-east-1d

BackupRetentionPeriod
Type: int

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.

This setting doesn't apply to Amazon Aurora DB instances. The retention period for automated backups is managed by the DB cluster.

Default: 1

Constraints:

  • Must be a value from 0 to 35.

  • Can't be set to 0 if the DB instance is a source to read replicas.

  • Can't be set to 0 for an RDS Custom for Oracle DB instance.

BackupTarget
Type: string

The location for storing automated backups and manual snapshots.

Valid Values:

  • outposts (Amazon Web Services Outposts)

  • region (Amazon Web Services Region)

Default: region

For more information, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

CACertificateIdentifier
Type: string

The CA certificate identifier to use for the DB instance's server certificate.

This setting doesn't apply to RDS Custom DB instances.

For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.

CharacterSetName
Type: string

For supported engines, the character set (CharacterSet) to associate the DB instance with.

This setting doesn't apply to the following DB instances:

  • Amazon Aurora - The character set is managed by the DB cluster. For more information, see CreateDBCluster.

  • RDS Custom - However, if you need to change the character set, you can change it on the database itself.

CopyTagsToSnapshot
Type: boolean

Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.

CustomIamInstanceProfile
Type: string

The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.

This setting is required for RDS Custom.

Constraints:

  • The profile must exist in your account.

  • The profile must have an IAM role that Amazon EC2 has permissions to assume.

  • The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

For the list of permissions required for the IAM role, see Configure IAM and your VPC in the Amazon RDS User Guide.

DBClusterIdentifier
Type: string

The identifier of the DB cluster that this DB instance will belong to.

This setting doesn't apply to RDS Custom DB instances.

DBInstanceClass
Required: Yes
Type: string

The compute and memory capacity of the DB instance, for example db.m5.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB instance classes in the Amazon RDS User Guide or Aurora DB instance classes in the Amazon Aurora User Guide.

DBInstanceIdentifier
Required: Yes
Type: string

The identifier for this DB instance. 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.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

DBName
Type: string

The meaning of this parameter differs according to the database engine you use.

Amazon Aurora MySQL

The name of the database to create when the primary DB instance of the Aurora MySQL DB cluster is created. If this parameter isn't specified for an Aurora MySQL DB cluster, no database is created in the DB cluster.

Constraints:

  • Must contain 1 to 64 alphanumeric characters.

  • Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

  • Can't be a word reserved by the database engine.

Amazon Aurora PostgreSQL

The name of the database to create when the primary DB instance of the Aurora PostgreSQL DB cluster is created. A database named postgres is always created. If this parameter is specified, an additional database with this name is created.

Constraints:

  • It must contain 1 to 63 alphanumeric characters.

  • Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0 to 9).

  • Can't be a word reserved by the database engine.

Amazon RDS Custom for Oracle

The Oracle System ID (SID) of the created RDS Custom DB instance. If you don't specify a value, the default value is ORCL for non-CDBs and RDSCDB for CDBs.

Default: ORCL

Constraints:

  • Must contain 1 to 8 alphanumeric characters.

  • Must contain a letter.

  • Can't be a word reserved by the database engine.

Amazon RDS Custom for SQL Server

Not applicable. Must be null.

RDS for Db2

The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance. In some cases, we recommend that you don't add a database name. For more information, see Additional considerations in the Amazon RDS User Guide.

Constraints:

  • Must contain 1 to 64 letters or numbers.

  • Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

  • Can't be a word reserved by the specified database engine.

RDS for MariaDB

The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 letters or numbers.

  • Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

  • Can't be a word reserved by the specified database engine.

RDS for MySQL

The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

Constraints:

  • Must contain 1 to 64 letters or numbers.

  • Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

  • Can't be a word reserved by the specified database engine.

RDS for Oracle

The Oracle System ID (SID) of the created DB instance. If you don't specify a value, the default value is ORCL. You can't specify the string null, or any other reserved word, for DBName.

Default: ORCL

Constraints:

  • Can't be longer than 8 characters.

RDS for PostgreSQL

The name of the database to create when the DB instance is created. A database named postgres is always created. If this parameter is specified, an additional database with this name is created.

Constraints:

  • Must contain 1 to 63 letters, numbers, or underscores.

  • Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

  • Can't be a word reserved by the specified database engine.

RDS for SQL Server

Not applicable. Must be null.

DBParameterGroupName
Type: string

The name of the DB parameter group to associate with this DB instance. If you don't specify a value, then Amazon RDS uses the default DB parameter group for the specified DB engine and version.

This setting doesn't apply to RDS Custom DB instances.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

DBSecurityGroups
Type: Array of strings

A list of DB security groups to associate with this DB instance.

This setting applies to the legacy EC2-Classic platform, which is no longer used to create new DB instances. Use the VpcSecurityGroupIds setting instead.

DBSubnetGroupName
Type: string

A DB subnet group to associate with this DB instance.

Constraints:

  • Must match the name of an existing DB subnet group.

Example: mydbsubnetgroup

DBSystemId
Type: string

The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term "Oracle database instance" refers exclusively to the system global area (SGA) and Oracle background processes. If you don't specify a SID, the value defaults to RDSCDB. The Oracle SID is also the name of your CDB.

DatabaseInsightsMode
Type: string

Specifies the mode of Database Insights to enable for the instance.

DedicatedLogVolume
Type: boolean

Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

DeletionProtection
Type: boolean

Specifies whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

This setting doesn't apply to Amazon Aurora DB instances. You can enable or disable deletion protection for the DB cluster. For more information, see CreateDBCluster. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.

Domain
Type: string

The Active Directory directory ID to create the DB instance in. Currently, you can create only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

For more information, see Kerberos Authentication in the Amazon RDS User Guide.

This setting doesn't apply to the following DB instances:

  • Amazon Aurora (The domain is managed by the DB cluster.)

  • RDS Custom

DomainAuthSecretArn
Type: string

The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

Example: arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456

DomainDnsIps
Type: Array of strings

The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.

Constraints:

  • Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.

Example: 123.124.125.126,234.235.236.237

DomainFqdn
Type: string

The fully qualified domain name (FQDN) of an Active Directory domain.

Constraints:

  • Can't be longer than 64 characters.

Example: mymanagedADtest.mymanagedAD.mydomain

DomainIAMRoleName
Type: string

The name of the IAM role to use when making API calls to the Directory Service.

This setting doesn't apply to the following DB instances:

  • Amazon Aurora (The domain is managed by the DB cluster.)

  • RDS Custom

DomainOu
Type: string

The Active Directory organizational unit for your DB instance to join.

Constraints:

  • Must be in the distinguished name format.

  • Can't be longer than 64 characters.

Example: OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain

EnableCloudwatchLogsExports
Type: Array of strings

The list of log types to enable for exporting to CloudWatch Logs. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

This setting doesn't apply to the following DB instances:

  • Amazon Aurora (CloudWatch Logs exports are managed by the DB cluster.)

  • RDS Custom

The following values are valid for each DB engine:

  • RDS for Db2 - diag.log | notify.log

  • RDS for MariaDB - audit | error | general | slowquery

  • RDS for Microsoft SQL Server - agent | error

  • RDS for MySQL - audit | error | general | slowquery

  • RDS for Oracle - alert | audit | listener | trace | oemagent

  • RDS for PostgreSQL - postgresql | upgrade

EnableCustomerOwnedIp
Type: boolean

Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

EnableIAMDatabaseAuthentication
Type: boolean

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

For more information, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

This setting doesn't apply to the following DB instances:

  • Amazon Aurora (Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB cluster.)

  • RDS Custom

EnablePerformanceInsights
Type: boolean

Specifies whether to enable Performance Insights for the DB instance. For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

This setting doesn't apply to RDS Custom DB instances.

Engine
Required: Yes
Type: string

The database engine to use for this DB instance.

Not every database engine is available in every Amazon Web Services Region.

Valid Values:

  • aurora-mysql (for Aurora MySQL DB instances)

  • aurora-postgresql (for Aurora PostgreSQL DB instances)

  • custom-oracle-ee (for RDS Custom for Oracle DB instances)

  • custom-oracle-ee-cdb (for RDS Custom for Oracle DB instances)

  • custom-oracle-se2 (for RDS Custom for Oracle DB instances)

  • custom-oracle-se2-cdb (for RDS Custom for Oracle DB instances)

  • custom-sqlserver-ee (for RDS Custom for SQL Server DB instances)

  • custom-sqlserver-se (for RDS Custom for SQL Server DB instances)

  • custom-sqlserver-web (for RDS Custom for SQL Server DB instances)

  • custom-sqlserver-dev (for RDS Custom for SQL Server DB instances)

  • db2-ae

  • db2-se

  • mariadb

  • mysql

  • oracle-ee

  • oracle-ee-cdb

  • oracle-se2

  • oracle-se2-cdb

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

EngineLifecycleSupport
Type: string

The life cycle type for this DB instance.

By default, this value is set to open-source-rds-extended-support, which enrolls your DB instance into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to open-source-rds-extended-support-disabled. In this case, creating the DB instance will fail if the DB major version is past its end of standard support date.

This setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life cycle type is managed by the DB cluster.

You can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB instance past the end of standard support for that engine version. For more information, see Using Amazon RDS Extended Support in the Amazon RDS User Guide.

Valid Values: open-source-rds-extended-support | open-source-rds-extended-support-disabled

Default: open-source-rds-extended-support

EngineVersion
Type: string

The version number of the database engine to use.

This setting doesn't apply to Amazon Aurora DB instances. The version number of the database engine the DB instance uses is managed by the DB cluster.

For a list of valid engine versions, use the DescribeDBEngineVersions operation.

The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every Amazon Web Services Region.

Amazon RDS Custom for Oracle

A custom engine version (CEV) that you have previously created. This setting is required for RDS Custom for Oracle. The CEV name has the following format: 19.customized_string. A valid CEV name is 19.my_cev1. For more information, see Creating an RDS Custom for Oracle DB instance in the Amazon RDS User Guide.

Amazon RDS Custom for SQL Server

See RDS Custom for SQL Server general requirements in the Amazon RDS User Guide.

RDS for Db2

For information, see Db2 on Amazon RDS versions in the Amazon RDS User Guide.

RDS for MariaDB

For information, see MariaDB on Amazon RDS versions in the Amazon RDS User Guide.

RDS for Microsoft SQL Server

For information, see Microsoft SQL Server versions on Amazon RDS in the Amazon RDS User Guide.

RDS for MySQL

For information, see MySQL on Amazon RDS versions in the Amazon RDS User Guide.

RDS for Oracle

For information, see Oracle Database Engine release notes in the Amazon RDS User Guide.

RDS for PostgreSQL

For information, see Amazon RDS for PostgreSQL versions and extensions in the Amazon RDS User Guide.

Iops
Type: int

The amount of Provisioned IOPS (input/output operations per second) to initially allocate for the DB instance. For information about valid IOPS values, see Amazon RDS DB instance storage in the Amazon RDS User Guide.

This setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.

Constraints:

  • For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.

  • For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.

KmsKeyId
Type: string

The Amazon Web Services KMS key identifier for an encrypted DB instance.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

This setting doesn't apply to Amazon Aurora DB instances. The Amazon Web Services KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster.

If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

For Amazon RDS Custom, a KMS key is required for DB instances. For most RDS engines, if you leave this parameter empty while enabling StorageEncrypted, the engine uses the default KMS key. However, RDS Custom doesn't use the default key when this parameter is empty. You must explicitly specify a key.

LicenseModel
Type: string

The license model information for this DB instance.

License models for RDS for Db2 require additional configuration. The Bring Your Own License (BYOL) model requires a custom parameter group and an Amazon Web Services License Manager self-managed license. The Db2 license through Amazon Web Services Marketplace model requires an Amazon Web Services Marketplace subscription. For more information, see Amazon RDS for Db2 licensing options in the Amazon RDS User Guide.

The default for RDS for Db2 is bring-your-own-license.

This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.

Valid Values:

  • RDS for Db2 - bring-your-own-license | marketplace-license

  • RDS for MariaDB - general-public-license

  • RDS for Microsoft SQL Server - license-included

  • RDS for MySQL - general-public-license

  • RDS for Oracle - bring-your-own-license | license-included

  • RDS for PostgreSQL - postgresql-license

ManageMasterUserPassword
Type: boolean

Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.

For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.

Constraints:

  • Can't manage the master user password with Amazon Web Services Secrets Manager if MasterUserPassword is specified.

MasterUserPassword
Type: string

The password for the master user.

This setting doesn't apply to Amazon Aurora DB instances. The password for the master user is managed by the DB cluster.

Constraints:

  • Can't be specified if ManageMasterUserPassword is turned on.

  • Can include any printable ASCII character except "/", """, or "@". For RDS for Oracle, can't include the "&" (ampersand) or the "'" (single quotes) character.

Length Constraints:

  • RDS for Db2 - Must contain from 8 to 255 characters.

  • RDS for MariaDB - Must contain from 8 to 41 characters.

  • RDS for Microsoft SQL Server - Must contain from 8 to 128 characters.

  • RDS for MySQL - Must contain from 8 to 41 characters.

  • RDS for Oracle - Must contain from 8 to 30 characters.

  • RDS for PostgreSQL - Must contain from 8 to 128 characters.

MasterUserSecretKmsKeyId
Type: string

The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.

This setting is valid only if the master user password is managed by RDS in Amazon Web Services Secrets Manager for the DB instance.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

If you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager KMS key to encrypt the secret, and you must use a customer managed KMS key.

There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

MasterUsername
Type: string

The name for the master user.

This setting doesn't apply to Amazon Aurora DB instances. The name for the master user is managed by the DB cluster.

This setting is required for RDS DB instances.

Constraints:

  • Must be 1 to 16 letters, numbers, or underscores.

  • First character must be a letter.

  • Can't be a reserved word for the chosen database engine.

MaxAllocatedStorage
Type: int

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

For more information about this setting, including limitations that apply to it, see Managing capacity automatically with Amazon RDS storage autoscaling in the Amazon RDS User Guide.

This setting doesn't apply to the following DB instances:

  • Amazon Aurora (Storage is managed by the DB cluster.)

  • RDS Custom

MonitoringInterval
Type: int

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify 0.

If MonitoringRoleArn is specified, then you must set MonitoringInterval to a value other than 0.

This setting doesn't apply to RDS Custom DB instances.

Valid Values: 0 | 1 | 5 | 10 | 15 | 30 | 60

Default: 0

MonitoringRoleArn
Type: string

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

This setting doesn't apply to RDS Custom DB instances.

MultiAZ
Type: boolean

Specifies whether the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

This setting doesn't apply to the following DB instances:

  • Amazon Aurora (DB instance Availability Zones (AZs) are managed by the DB cluster.)

  • RDS Custom

MultiTenant
Type: boolean

Specifies whether to use the multi-tenant configuration or the single-tenant configuration (default). This parameter only applies to RDS for Oracle container database (CDB) engines.

Note the following restrictions:

  • The DB engine that you specify in the request must support the multi-tenant configuration. If you attempt to enable the multi-tenant configuration on a DB engine that doesn't support it, the request fails.

  • If you specify the multi-tenant configuration when you create your DB instance, you can't later modify this DB instance to use the single-tenant configuration.

NcharCharacterSetName
Type: string

The name of the NCHAR character set for the Oracle DB instance.

This setting doesn't apply to RDS Custom DB instances.

NetworkType
Type: string

The network type of the DB instance.

The network type is determined by the DBSubnetGroup specified for the DB instance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

Valid Values: IPV4 | DUAL

OptionGroupName
Type: string

The option group to associate the DB instance with.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance after it is associated with a DB instance.

This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.

PerformanceInsightsKMSKeyId
Type: string

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

If you don't specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

This setting doesn't apply to RDS Custom DB instances.

PerformanceInsightsRetentionPeriod
Type: int

The number of days to retain Performance Insights data.

This setting doesn't apply to RDS Custom DB instances.

Valid Values:

  • 7

  • month * 31, where month is a number of months from 1-23. Examples: 93 (3 months * 31), 341 (11 months * 31), 589 (19 months * 31)

  • 731

Default: 7 days

If you specify a retention period that isn't valid, such as 94, Amazon RDS returns an error.

Port
Type: int

The port number on which the database accepts connections.

This setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.

Valid Values: 1150-65535

Default:

  • RDS for Db2 - 50000

  • RDS for MariaDB - 3306

  • RDS for Microsoft SQL Server - 1433

  • RDS for MySQL - 3306

  • RDS for Oracle - 1521

  • RDS for PostgreSQL - 5432

Constraints:

  • For RDS for Microsoft SQL Server, the value can't be 1234, 1434, 3260, 3343, 3389, 47001, or 49152-49156.

PreferredBackupWindow
Type: string

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. For more information, see Backup window in the Amazon RDS User Guide.

This setting doesn't apply to Amazon Aurora DB instances. The daily time range for creating automated backups is managed by the DB cluster.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

PreferredMaintenanceWindow
Type: string

The time range each week during which system maintenance can occur. For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide.

The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week.

Constraints:

  • Must be in the format ddd:hh24:mi-ddd:hh24:mi.

  • The day values must be 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.

ProcessorFeatures
Type: Array of ProcessorFeature structures

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.

PromotionTier
Type: int

The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

This setting doesn't apply to RDS Custom DB instances.

Default: 1

Valid Values: 0 - 15

PubliclyAccessible
Type: boolean

Specifies whether the DB instance is publicly accessible.

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

  • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB instance is private.

  • If the default VPC in the target Region has an internet gateway attached to it, the DB instance is public.

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB instance is private.

  • If the subnets are part of a VPC that has an internet gateway attached to it, the DB instance is public.

StorageEncrypted
Type: boolean

Specifes whether the DB instance is encrypted. By default, it isn't encrypted.

For RDS Custom DB instances, either enable this setting or leave it unset. Otherwise, Amazon RDS reports an error.

This setting doesn't apply to Amazon Aurora DB instances. The encryption for DB instances is managed by the DB cluster.

StorageThroughput
Type: int

The storage throughput value for the DB instance.

This setting applies only to the gp3 storage type.

This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.

StorageType
Type: string

The storage type to associate with the DB instance.

If you specify io1, io2, or gp3, you must also include a value for the Iops parameter.

This setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.

Valid Values: gp2 | gp3 | io1 | io2 | standard

Default: io1, if the Iops parameter is specified. Otherwise, gp2.

Tags
Type: Array of Tag structures

Tags to assign to the DB instance.

TdeCredentialArn
Type: string

The ARN from the key store with which to associate the instance for TDE encryption.

This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.

TdeCredentialPassword
Type: string

The password for the given ARN from the key store in order to access the device.

This setting doesn't apply to RDS Custom DB instances.

Timezone
Type: string

The time zone of the DB instance. The time zone parameter is currently supported only by RDS for Db2 and RDS for SQL Server.

VpcSecurityGroupIds
Type: Array of strings

A list of Amazon EC2 VPC security groups to associate with this DB instance.

This setting doesn't apply to Amazon Aurora DB instances. The associated list of EC2 VPC security groups is managed by the DB cluster.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

Result Syntax

[
    'DBInstance' => [
        'ActivityStreamEngineNativeAuditFieldsIncluded' => true || false,
        'ActivityStreamKinesisStreamName' => '<string>',
        'ActivityStreamKmsKeyId' => '<string>',
        'ActivityStreamMode' => 'sync|async',
        'ActivityStreamPolicyStatus' => 'locked|unlocked|locking-policy|unlocking-policy',
        'ActivityStreamStatus' => 'stopped|starting|started|stopping',
        'AllocatedStorage' => <integer>,
        'AssociatedRoles' => [
            [
                'FeatureName' => '<string>',
                'RoleArn' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'AutoMinorVersionUpgrade' => true || false,
        'AutomaticRestartTime' => <DateTime>,
        'AutomationMode' => 'full|all-paused',
        'AvailabilityZone' => '<string>',
        'AwsBackupRecoveryPointArn' => '<string>',
        'BackupRetentionPeriod' => <integer>,
        'BackupTarget' => '<string>',
        'CACertificateIdentifier' => '<string>',
        'CertificateDetails' => [
            'CAIdentifier' => '<string>',
            'ValidTill' => <DateTime>,
        ],
        'CharacterSetName' => '<string>',
        'CopyTagsToSnapshot' => true || false,
        'CustomIamInstanceProfile' => '<string>',
        'CustomerOwnedIpEnabled' => true || false,
        'DBClusterIdentifier' => '<string>',
        'DBInstanceArn' => '<string>',
        'DBInstanceAutomatedBackupsReplications' => [
            [
                'DBInstanceAutomatedBackupsArn' => '<string>',
            ],
            // ...
        ],
        'DBInstanceClass' => '<string>',
        'DBInstanceIdentifier' => '<string>',
        'DBInstanceStatus' => '<string>',
        'DBName' => '<string>',
        'DBParameterGroups' => [
            [
                'DBParameterGroupName' => '<string>',
                'ParameterApplyStatus' => '<string>',
            ],
            // ...
        ],
        'DBSecurityGroups' => [
            [
                'DBSecurityGroupName' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'DBSubnetGroup' => [
            'DBSubnetGroupArn' => '<string>',
            'DBSubnetGroupDescription' => '<string>',
            'DBSubnetGroupName' => '<string>',
            'SubnetGroupStatus' => '<string>',
            'Subnets' => [
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => '<string>',
                    ],
                    'SubnetIdentifier' => '<string>',
                    'SubnetOutpost' => [
                        'Arn' => '<string>',
                    ],
                    'SubnetStatus' => '<string>',
                ],
                // ...
            ],
            'SupportedNetworkTypes' => ['<string>', ...],
            'VpcId' => '<string>',
        ],
        'DBSystemId' => '<string>',
        'DatabaseInsightsMode' => 'standard|advanced',
        'DbInstancePort' => <integer>,
        'DbiResourceId' => '<string>',
        'DedicatedLogVolume' => true || false,
        'DeletionProtection' => true || false,
        'DomainMemberships' => [
            [
                'AuthSecretArn' => '<string>',
                'DnsIps' => ['<string>', ...],
                'Domain' => '<string>',
                'FQDN' => '<string>',
                'IAMRoleName' => '<string>',
                'OU' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'EnabledCloudwatchLogsExports' => ['<string>', ...],
        'Endpoint' => [
            'Address' => '<string>',
            'HostedZoneId' => '<string>',
            'Port' => <integer>,
        ],
        'Engine' => '<string>',
        'EngineLifecycleSupport' => '<string>',
        'EngineVersion' => '<string>',
        'EnhancedMonitoringResourceArn' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'InstanceCreateTime' => <DateTime>,
        'Iops' => <integer>,
        'IsStorageConfigUpgradeAvailable' => true || false,
        'KmsKeyId' => '<string>',
        'LatestRestorableTime' => <DateTime>,
        'LicenseModel' => '<string>',
        'ListenerEndpoint' => [
            'Address' => '<string>',
            'HostedZoneId' => '<string>',
            'Port' => <integer>,
        ],
        'MasterUserSecret' => [
            'KmsKeyId' => '<string>',
            'SecretArn' => '<string>',
            'SecretStatus' => '<string>',
        ],
        'MasterUsername' => '<string>',
        'MaxAllocatedStorage' => <integer>,
        'MonitoringInterval' => <integer>,
        'MonitoringRoleArn' => '<string>',
        'MultiAZ' => true || false,
        'MultiTenant' => true || false,
        'NcharCharacterSetName' => '<string>',
        'NetworkType' => '<string>',
        'OptionGroupMemberships' => [
            [
                'OptionGroupName' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'PendingModifiedValues' => [
            'AllocatedStorage' => <integer>,
            'AutomationMode' => 'full|all-paused',
            'BackupRetentionPeriod' => <integer>,
            'CACertificateIdentifier' => '<string>',
            'DBInstanceClass' => '<string>',
            'DBInstanceIdentifier' => '<string>',
            'DBSubnetGroupName' => '<string>',
            'DedicatedLogVolume' => true || false,
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'Iops' => <integer>,
            'LicenseModel' => '<string>',
            'MasterUserPassword' => '<string>',
            'MultiAZ' => true || false,
            'MultiTenant' => true || false,
            'PendingCloudwatchLogsExports' => [
                'LogTypesToDisable' => ['<string>', ...],
                'LogTypesToEnable' => ['<string>', ...],
            ],
            'Port' => <integer>,
            'ProcessorFeatures' => [
                [
                    'Name' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'ResumeFullAutomationModeTime' => <DateTime>,
            'StorageThroughput' => <integer>,
            'StorageType' => '<string>',
        ],
        'PercentProgress' => '<string>',
        'PerformanceInsightsEnabled' => true || false,
        'PerformanceInsightsKMSKeyId' => '<string>',
        'PerformanceInsightsRetentionPeriod' => <integer>,
        'PreferredBackupWindow' => '<string>',
        'PreferredMaintenanceWindow' => '<string>',
        'ProcessorFeatures' => [
            [
                'Name' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'PromotionTier' => <integer>,
        'PubliclyAccessible' => true || false,
        'ReadReplicaDBClusterIdentifiers' => ['<string>', ...],
        'ReadReplicaDBInstanceIdentifiers' => ['<string>', ...],
        'ReadReplicaSourceDBClusterIdentifier' => '<string>',
        'ReadReplicaSourceDBInstanceIdentifier' => '<string>',
        'ReplicaMode' => 'open-read-only|mounted',
        'ResumeFullAutomationModeTime' => <DateTime>,
        'SecondaryAvailabilityZone' => '<string>',
        'StatusInfos' => [
            [
                'Message' => '<string>',
                'Normal' => true || false,
                'Status' => '<string>',
                'StatusType' => '<string>',
            ],
            // ...
        ],
        'StorageEncrypted' => true || false,
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TdeCredentialArn' => '<string>',
        'Timezone' => '<string>',
        'VpcSecurityGroups' => [
            [
                'Status' => '<string>',
                'VpcSecurityGroupId' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
DBInstance
Type: DBInstance structure

Contains the details of an Amazon RDS DB instance.

This data type is used as a response element in the operations CreateDBInstance, CreateDBInstanceReadReplica, DeleteDBInstance, DescribeDBInstances, ModifyDBInstance, PromoteReadReplica, RebootDBInstance, RestoreDBInstanceFromDBSnapshot, RestoreDBInstanceFromS3, RestoreDBInstanceToPointInTime, StartDBInstance, and StopDBInstance.

Errors

DBInstanceAlreadyExistsFault:

The user already has a DB instance with the given identifier.

InsufficientDBInstanceCapacityFault:

The specified DB instance class isn't available in the specified Availability Zone.

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

DBSecurityGroupNotFoundFault:

DBSecurityGroupName doesn't refer to an existing DB security group.

InstanceQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB instances.

StorageQuotaExceededFault:

The request would result in the user exceeding the allowed amount of storage available across all DB instances.

DBSubnetGroupNotFoundFault:

DBSubnetGroupName doesn't refer to an existing DB subnet group.

DBSubnetGroupDoesNotCoverEnoughAZs:

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

InvalidSubnet:

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

InvalidVPCNetworkStateFault:

The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.

ProvisionedIopsNotAvailableInAZFault:

Provisioned IOPS not available in the specified Availability Zone.

OptionGroupNotFoundFault:

The specified option group could not be found.

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

StorageTypeNotSupportedFault:

The specified StorageType can't be associated with the DB instance.

AuthorizationNotFoundFault:

The specified CIDR IP range or Amazon EC2 security group might not be authorized for the specified DB security group.

Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

KMSKeyNotAccessibleFault:

An error occurred accessing an Amazon Web Services KMS key.

DomainNotFoundFault:

Domain doesn't refer to an existing Active Directory domain.

BackupPolicyNotFoundFault:
This error does not currently have a description.
NetworkTypeNotSupported:

The network type is invalid for the DB instance. Valid nework type values are IPV4 and DUAL.

CertificateNotFoundFault:

CertificateIdentifier doesn't refer to an existing certificate.

TenantDatabaseQuotaExceededFault:

You attempted to create more tenant databases than are permitted in your Amazon Web Services account.

Examples

Example 1: To create a DB instance

The following example uses the required options to launch a new DB instance.

$result = $client->createDBInstance([
    'AllocatedStorage' => 20,
    'DBInstanceClass' => 'db.t3.micro',
    'DBInstanceIdentifier' => 'test-mysql-instance',
    'Engine' => 'mysql',
    'MasterUserPassword' => 'secret99',
    'MasterUsername' => 'admin',
]);

Result syntax:

[
    'DBInstance' => [
        'AllocatedStorage' => 20,
        'AssociatedRoles' => [
        ],
        'AutoMinorVersionUpgrade' => 1,
        'BackupRetentionPeriod' => 1,
        'CACertificateIdentifier' => 'rds-ca-2019',
        'CopyTagsToSnapshot' => ,
        'DBInstanceArn' => 'arn:aws:rds:us-west-2:123456789012:db:test-mysql-instance',
        'DBInstanceClass' => 'db.t3.micro',
        'DBInstanceIdentifier' => 'test-mysql-instance',
        'DBInstanceStatus' => 'creating',
        'DBParameterGroups' => [
            [
                'DBParameterGroupName' => 'default.mysql5.7',
                'ParameterApplyStatus' => 'in-sync',
            ],
        ],
        'DBSecurityGroups' => [
        ],
        'DBSubnetGroup' => [
            'DBSubnetGroupDescription' => 'default',
            'DBSubnetGroupName' => 'default',
            'SubnetGroupStatus' => 'Complete',
            'Subnets' => [
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-west-2c',
                    ],
                    'SubnetIdentifier' => 'subnet-########',
                    'SubnetStatus' => 'Active',
                ],
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-west-2d',
                    ],
                    'SubnetIdentifier' => 'subnet-########',
                    'SubnetStatus' => 'Active',
                ],
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-west-2a',
                    ],
                    'SubnetIdentifier' => 'subnet-########',
                    'SubnetStatus' => 'Active',
                ],
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-west-2b',
                    ],
                    'SubnetIdentifier' => 'subnet-########',
                    'SubnetStatus' => 'Active',
                ],
            ],
            'VpcId' => 'vpc-2ff2ff2f',
        ],
        'DbInstancePort' => 0,
        'DbiResourceId' => 'db-5555EXAMPLE44444444EXAMPLE',
        'DeletionProtection' => ,
        'DomainMemberships' => [
        ],
        'Engine' => 'mysql',
        'EngineVersion' => '5.7.22',
        'IAMDatabaseAuthenticationEnabled' => ,
        'LicenseModel' => 'general-public-license',
        'MasterUsername' => 'admin',
        'MonitoringInterval' => 0,
        'MultiAZ' => ,
        'OptionGroupMemberships' => [
            [
                'OptionGroupName' => 'default:mysql-5-7',
                'Status' => 'in-sync',
            ],
        ],
        'PendingModifiedValues' => [
            'MasterUserPassword' => '****',
        ],
        'PerformanceInsightsEnabled' => ,
        'PreferredBackupWindow' => '12:55-13:25',
        'PreferredMaintenanceWindow' => 'sun:08:07-sun:08:37',
        'PubliclyAccessible' => 1,
        'ReadReplicaDBInstanceIdentifiers' => [
        ],
        'StorageEncrypted' => ,
        'StorageType' => 'gp2',
        'VpcSecurityGroups' => [
            [
                'Status' => 'active',
                'VpcSecurityGroupId' => 'sg-12345abc',
            ],
        ],
    ],
]

CreateDBInstanceReadReplica

$result = $client->createDBInstanceReadReplica([/* ... */]);
$promise = $client->createDBInstanceReadReplicaAsync([/* ... */]);

Creates a new DB instance that acts as a read replica for an existing source DB instance or Multi-AZ DB cluster. You can create a read replica for a DB instance running Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. You can create a read replica for a Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see Working with read replicas and Migrating from a Multi-AZ DB cluster to a DB instance using a read replica in the Amazon RDS User Guide.

Amazon Aurora doesn't support this operation. To create a DB instance for an Aurora DB cluster, use the CreateDBInstance operation.

All read replica DB instances are created with backups disabled. All other attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance or cluster, except as specified.

Your source DB instance or cluster must have backup retention enabled.

Parameter Syntax

$result = $client->createDBInstanceReadReplica([
    'AllocatedStorage' => <integer>,
    'AutoMinorVersionUpgrade' => true || false,
    'AvailabilityZone' => '<string>',
    'CACertificateIdentifier' => '<string>',
    'CopyTagsToSnapshot' => true || false,
    'CustomIamInstanceProfile' => '<string>',
    'DBInstanceClass' => '<string>',
    'DBInstanceIdentifier' => '<string>', // REQUIRED
    'DBParameterGroupName' => '<string>',
    'DBSubnetGroupName' => '<string>',
    'DatabaseInsightsMode' => 'standard|advanced',
    'DedicatedLogVolume' => true || false,
    'DeletionProtection' => true || false,
    'DestinationRegion' => '<string>',
    'Domain' => '<string>',
    'DomainAuthSecretArn' => '<string>',
    'DomainDnsIps' => ['<string>', ...],
    'DomainFqdn' => '<string>',
    'DomainIAMRoleName' => '<string>',
    'DomainOu' => '<string>',
    'EnableCloudwatchLogsExports' => ['<string>', ...],
    'EnableCustomerOwnedIp' => true || false,
    'EnableIAMDatabaseAuthentication' => true || false,
    'EnablePerformanceInsights' => true || false,
    'Iops' => <integer>,
    'KmsKeyId' => '<string>',
    'MaxAllocatedStorage' => <integer>,
    'MonitoringInterval' => <integer>,
    'MonitoringRoleArn' => '<string>',
    'MultiAZ' => true || false,
    'NetworkType' => '<string>',
    'OptionGroupName' => '<string>',
    'PerformanceInsightsKMSKeyId' => '<string>',
    'PerformanceInsightsRetentionPeriod' => <integer>,
    'Port' => <integer>,
    'PreSignedUrl' => '<string>',
    'ProcessorFeatures' => [
        [
            'Name' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'PubliclyAccessible' => true || false,
    'ReplicaMode' => 'open-read-only|mounted',
    'SourceDBClusterIdentifier' => '<string>',
    'SourceDBInstanceIdentifier' => '<string>',
    'SourceRegion' => '<string>',
    'StorageThroughput' => <integer>,
    'StorageType' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'UpgradeStorageConfig' => true || false,
    'UseDefaultProcessorFeatures' => true || false,
    'VpcSecurityGroupIds' => ['<string>', ...],
]);

Parameter Details

Members
AllocatedStorage
Type: int

The amount of storage (in gibibytes) to allocate initially for the read replica. Follow the allocation rules specified in CreateDBInstance.

Be sure to allocate enough storage for your read replica so that the create operation can succeed. You can also allocate additional storage for future growth.

AutoMinorVersionUpgrade
Type: boolean

Specifies whether to automatically apply minor engine upgrades to the read replica during the maintenance window.

This setting doesn't apply to RDS Custom DB instances.

Default: Inherits the value from the source DB instance.

AvailabilityZone
Type: string

The Availability Zone (AZ) where the read replica will be created.

Default: A random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region.

Example: us-east-1d

CACertificateIdentifier
Type: string

The CA certificate identifier to use for the read replica's server certificate.

This setting doesn't apply to RDS Custom DB instances.

For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.

CopyTagsToSnapshot
Type: boolean

Specifies whether to copy all tags from the read replica to snapshots of the read replica. By default, tags aren't copied.

CustomIamInstanceProfile
Type: string

The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The instance profile must meet the following requirements:

  • The profile must exist in your account.

  • The profile must have an IAM role that Amazon EC2 has permissions to assume.

  • The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

For the list of permissions required for the IAM role, see Configure IAM and your VPC in the Amazon RDS User Guide.

This setting is required for RDS Custom DB instances.

DBInstanceClass
Type: string

The compute and memory capacity of the read replica, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: Inherits the value from the source DB instance.

DBInstanceIdentifier
Required: Yes
Type: string

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.

DBParameterGroupName
Type: string

The name of the DB parameter group to associate with this read replica DB instance.

For Single-AZ or Multi-AZ DB instance read replica instances, if you don't specify a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup of the source DB instance for a same Region read replica, or the default DBParameterGroup for the specified DB engine for a cross-Region read replica.

For Multi-AZ DB cluster same Region read replica instances, if you don't specify a value for DBParameterGroupName, then Amazon RDS uses the default DBParameterGroup.

Specifying a parameter group for this operation is only supported for MySQL DB instances for cross-Region read replicas, for Multi-AZ DB cluster read replica instances, and for Oracle DB instances. It isn't supported for MySQL DB instances for same Region read replicas or for RDS Custom.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

DBSubnetGroupName
Type: string

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 isn't created in a VPC.

Constraints:

  • If supplied, must match the name of an existing DB subnet group.

  • The specified DB subnet group must be in the same Amazon Web Services Region in which the operation is running.

  • All read replicas in one Amazon Web Services Region that are created from the same source DB instance must either:

    • 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: mydbsubnetgroup

DatabaseInsightsMode
Type: string

Specifies the mode of Database Insights.

DedicatedLogVolume
Type: boolean

Indicates whether the DB instance has a dedicated log volume (DLV) enabled.

DeletionProtection
Type: boolean

Specifies whether to enable deletion protection for the DB instance. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

DestinationRegion
Type: string
The SDK will populate this parameter on your behalf using the configured region value of the client.
Domain
Type: string

The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

For more information, see Kerberos Authentication in the Amazon RDS User Guide.

This setting doesn't apply to RDS Custom DB instances.

DomainAuthSecretArn
Type: string

The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

Example: arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456

DomainDnsIps
Type: Array of strings

The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.

Constraints:

  • Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.

Example: 123.124.125.126,234.235.236.237

DomainFqdn
Type: string

The fully qualified domain name (FQDN) of an Active Directory domain.

Constraints:

  • Can't be longer than 64 characters.

Example: mymanagedADtest.mymanagedAD.mydomain

DomainIAMRoleName
Type: string

The name of the IAM role to use when making API calls to the Directory Service.

This setting doesn't apply to RDS Custom DB instances.

DomainOu
Type: string

The Active Directory organizational unit for your DB instance to join.

Constraints:

  • Must be in the distinguished name format.

  • Can't be longer than 64 characters.

Example: OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain

EnableCloudwatchLogsExports
Type: Array of strings

The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

This setting doesn't apply to RDS Custom DB instances.

EnableCustomerOwnedIp
Type: boolean

Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts read replica.

A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the read replica from outside of its virtual private cloud (VPC) on your local network.

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

EnableIAMDatabaseAuthentication
Type: boolean

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

This setting doesn't apply to RDS Custom DB instances.

EnablePerformanceInsights
Type: boolean

Specifies whether to enable Performance Insights for the read replica.

For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

This setting doesn't apply to RDS Custom DB instances.

Iops
Type: int

The amount of Provisioned IOPS (input/output operations per second) to initially allocate for the DB instance.

KmsKeyId
Type: string

The Amazon Web Services KMS key identifier for an encrypted read replica.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

If you create an encrypted read replica in the same Amazon Web Services Region as the source DB instance or Multi-AZ DB cluster, don't specify a value for this parameter. A read replica in the same Amazon Web Services Region is always encrypted with the same KMS key as the source DB instance or cluster.

If you create an encrypted read replica in a different Amazon Web Services Region, then you must specify a KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services Region that they are created in, and you can't use KMS keys from one Amazon Web Services Region in another Amazon Web Services Region.

You can't create an encrypted read replica from an unencrypted DB instance or Multi-AZ DB cluster.

This setting doesn't apply to RDS Custom, which uses the same KMS key as the primary replica.

MaxAllocatedStorage
Type: int

The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

For more information about this setting, including limitations that apply to it, see Managing capacity automatically with Amazon RDS storage autoscaling in the Amazon RDS User Guide.

MonitoringInterval
Type: int

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the read replica. To disable collection of Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must set MonitoringInterval to a value other than 0.

This setting doesn't apply to RDS Custom DB instances.

Valid Values: 0, 1, 5, 10, 15, 30, 60

Default: 0

MonitoringRoleArn
Type: string

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

This setting doesn't apply to RDS Custom DB instances.

MultiAZ
Type: boolean

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 is a Multi-AZ DB instance or a Multi-AZ DB cluster.

This setting doesn't apply to RDS Custom DB instances.

NetworkType
Type: string

The network type of the DB instance.

Valid Values:

  • IPV4

  • DUAL

The network type is determined by the DBSubnetGroup specified for read replica. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

OptionGroupName
Type: string

The option group to associate the DB instance with. If not specified, RDS uses the option group associated with the source DB instance or cluster.

For SQL Server, you must use the option group associated with the source.

This setting doesn't apply to RDS Custom DB instances.

PerformanceInsightsKMSKeyId
Type: string

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

This setting doesn't apply to RDS Custom DB instances.

PerformanceInsightsRetentionPeriod
Type: int

The number of days to retain Performance Insights data.

This setting doesn't apply to RDS Custom DB instances.

Valid Values:

  • 7

  • month * 31, where month is a number of months from 1-23. Examples: 93 (3 months * 31), 341 (11 months * 31), 589 (19 months * 31)

  • 731

Default: 7 days

If you specify a retention period that isn't valid, such as 94, Amazon RDS returns an error.

Port
Type: int

The port number that the DB instance uses for connections.

Valid Values: 1150-65535

Default: Inherits the value from the source DB instance.

PreSignedUrl
Type: string
The SDK will compute this value for you on your behalf.
ProcessorFeatures
Type: Array of ProcessorFeature structures

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

This setting doesn't apply to RDS Custom DB instances.

PubliclyAccessible
Type: boolean

Specifies whether the DB instance is publicly accessible.

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

For more information, see CreateDBInstance.

ReplicaMode
Type: string

The open mode of the replica database: mounted or read-only.

This parameter is only supported for Oracle DB instances.

Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active Data Guard to transmit information to the mounted replica. Because it doesn't accept user connections, a mounted replica can't serve a read-only workload.

You can create a combination of mounted and read-only DB replicas for the same primary DB instance. For more information, see Working with Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.

For RDS Custom, you must specify this parameter and set it to mounted. The value won't be set by default. After replica creation, you can manage the open mode manually.

SourceDBClusterIdentifier
Type: string

The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.

Constraints:

  • Must be the identifier of an existing Multi-AZ DB cluster.

  • Can't be specified if the SourceDBInstanceIdentifier parameter is also specified.

  • The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.

  • The source DB cluster must be in the same Amazon Web Services Region as the read replica. Cross-Region replication isn't supported.

SourceDBInstanceIdentifier
Type: string

The identifier of the DB instance that will act as the source for the read replica. Each DB instance can have up to 15 read replicas, with the exception of Oracle and SQL Server, which can have up to five.

Constraints:

  • Must be the identifier of an existing Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server DB instance.

  • Can't be specified if the SourceDBClusterIdentifier parameter is also specified.

  • For the limitations of Oracle read replicas, see Version and licensing considerations for RDS for Oracle replicas in the Amazon RDS User Guide.

  • For the limitations of SQL Server read replicas, see Read replica limitations with SQL Server in the Amazon RDS User Guide.

  • The specified DB instance must have automatic backups enabled, that is, its backup retention period must be greater than 0.

  • If the source DB instance is in the same Amazon Web Services Region as the read replica, specify a valid DB instance identifier.

  • If the source DB instance is in a different Amazon Web Services Region from the read replica, specify a valid DB instance ARN. For more information, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS Custom, which don't support cross-Region replicas.

SourceRegion
Type: string
A required parameter that indicates the region that the DB snapshot will be copied from.
StorageThroughput
Type: int

Specifies the storage throughput value for the read replica.

This setting doesn't apply to RDS Custom or Amazon Aurora DB instances.

StorageType
Type: string

The storage type to associate with the read replica.

If you specify io1, io2, or gp3, you must also include a value for the Iops parameter.

Valid Values: gp2 | gp3 | io1 | io2 | standard

Default: io1 if the Iops parameter is specified. Otherwise, gp2.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

UpgradeStorageConfig
Type: boolean

Whether to upgrade the storage file system configuration on the read replica. This option migrates the read replica from the old storage file system layout to the preferred layout.

UseDefaultProcessorFeatures
Type: boolean

Specifies whether the DB instance class of the DB instance uses its default processor features.

This setting doesn't apply to RDS Custom DB instances.

VpcSecurityGroupIds
Type: Array of strings

A list of Amazon EC2 VPC security groups to associate with the read replica.

This setting doesn't apply to RDS Custom DB instances.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

Result Syntax

[
    'DBInstance' => [
        'ActivityStreamEngineNativeAuditFieldsIncluded' => true || false,
        'ActivityStreamKinesisStreamName' => '<string>',
        'ActivityStreamKmsKeyId' => '<string>',
        'ActivityStreamMode' => 'sync|async',
        'ActivityStreamPolicyStatus' => 'locked|unlocked|locking-policy|unlocking-policy',
        'ActivityStreamStatus' => 'stopped|starting|started|stopping',
        'AllocatedStorage' => <integer>,
        'AssociatedRoles' => [
            [
                'FeatureName' => '<string>',
                'RoleArn' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'AutoMinorVersionUpgrade' => true || false,
        'AutomaticRestartTime' => <DateTime>,
        'AutomationMode' => 'full|all-paused',
        'AvailabilityZone' => '<string>',
        'AwsBackupRecoveryPointArn' => '<string>',
        'BackupRetentionPeriod' => <integer>,
        'BackupTarget' => '<string>',
        'CACertificateIdentifier' => '<string>',
        'CertificateDetails' => [
            'CAIdentifier' => '<string>',
            'ValidTill' => <DateTime>,
        ],
        'CharacterSetName' => '<string>',
        'CopyTagsToSnapshot' => true || false,
        'CustomIamInstanceProfile' => '<string>',
        'CustomerOwnedIpEnabled' => true || false,
        'DBClusterIdentifier' => '<string>',
        'DBInstanceArn' => '<string>',
        'DBInstanceAutomatedBackupsReplications' => [
            [
                'DBInstanceAutomatedBackupsArn' => '<string>',
            ],
            // ...
        ],
        'DBInstanceClass' => '<string>',
        'DBInstanceIdentifier' => '<string>',
        'DBInstanceStatus' => '<string>',
        'DBName' => '<string>',
        'DBParameterGroups' => [
            [
                'DBParameterGroupName' => '<string>',
                'ParameterApplyStatus' => '<string>',
            ],
            // ...
        ],
        'DBSecurityGroups' => [
            [
                'DBSecurityGroupName' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'DBSubnetGroup' => [
            'DBSubnetGroupArn' => '<string>',
            'DBSubnetGroupDescription' => '<string>',
            'DBSubnetGroupName' => '<string>',
            'SubnetGroupStatus' => '<string>',
            'Subnets' => [
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => '<string>',
                    ],
                    'SubnetIdentifier' => '<string>',
                    'SubnetOutpost' => [
                        'Arn' => '<string>',
                    ],
                    'SubnetStatus' => '<string>',
                ],
                // ...
            ],
            'SupportedNetworkTypes' => ['<string>', ...],
            'VpcId' => '<string>',
        ],
        'DBSystemId' => '<string>',
        'DatabaseInsightsMode' => 'standard|advanced',
        'DbInstancePort' => <integer>,
        'DbiResourceId' => '<string>',
        'DedicatedLogVolume' => true || false,
        'DeletionProtection' => true || false,
        'DomainMemberships' => [
            [
                'AuthSecretArn' => '<string>',
                'DnsIps' => ['<string>', ...],
                'Domain' => '<string>',
                'FQDN' => '<string>',
                'IAMRoleName' => '<string>',
                'OU' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'EnabledCloudwatchLogsExports' => ['<string>', ...],
        'Endpoint' => [
            'Address' => '<string>',
            'HostedZoneId' => '<string>',
            'Port' => <integer>,
        ],
        'Engine' => '<string>',
        'EngineLifecycleSupport' => '<string>',
        'EngineVersion' => '<string>',
        'EnhancedMonitoringResourceArn' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'InstanceCreateTime' => <DateTime>,
        'Iops' => <integer>,
        'IsStorageConfigUpgradeAvailable' => true || false,
        'KmsKeyId' => '<string>',
        'LatestRestorableTime' => <DateTime>,
        'LicenseModel' => '<string>',
        'ListenerEndpoint' => [
            'Address' => '<string>',
            'HostedZoneId' => '<string>',
            'Port' => <integer>,
        ],
        'MasterUserSecret' => [
            'KmsKeyId' => '<string>',
            'SecretArn' => '<string>',
            'SecretStatus' => '<string>',
        ],
        'MasterUsername' => '<string>',
        'MaxAllocatedStorage' => <integer>,
        'MonitoringInterval' => <integer>,
        'MonitoringRoleArn' => '<string>',
        'MultiAZ' => true || false,
        'MultiTenant' => true || false,
        'NcharCharacterSetName' => '<string>',
        'NetworkType' => '<string>',
        'OptionGroupMemberships' => [
            [
                'OptionGroupName' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'PendingModifiedValues' => [
            'AllocatedStorage' => <integer>,
            'AutomationMode' => 'full|all-paused',
            'BackupRetentionPeriod' => <integer>,
            'CACertificateIdentifier' => '<string>',
            'DBInstanceClass' => '<string>',
            'DBInstanceIdentifier' => '<string>',
            'DBSubnetGroupName' => '<string>',
            'DedicatedLogVolume' => true || false,
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'Iops' => <integer>,
            'LicenseModel' => '<string>',
            'MasterUserPassword' => '<string>',
            'MultiAZ' => true || false,
            'MultiTenant' => true || false,
            'PendingCloudwatchLogsExports' => [
                'LogTypesToDisable' => ['<string>', ...],
                'LogTypesToEnable' => ['<string>', ...],
            ],
            'Port' => <integer>,
            'ProcessorFeatures' => [
                [
                    'Name' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'ResumeFullAutomationModeTime' => <DateTime>,
            'StorageThroughput' => <integer>,
            'StorageType' => '<string>',
        ],
        'PercentProgress' => '<string>',
        'PerformanceInsightsEnabled' => true || false,
        'PerformanceInsightsKMSKeyId' => '<string>',
        'PerformanceInsightsRetentionPeriod' => <integer>,
        'PreferredBackupWindow' => '<string>',
        'PreferredMaintenanceWindow' => '<string>',
        'ProcessorFeatures' => [
            [
                'Name' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'PromotionTier' => <integer>,
        'PubliclyAccessible' => true || false,
        'ReadReplicaDBClusterIdentifiers' => ['<string>', ...],
        'ReadReplicaDBInstanceIdentifiers' => ['<string>', ...],
        'ReadReplicaSourceDBClusterIdentifier' => '<string>',
        'ReadReplicaSourceDBInstanceIdentifier' => '<string>',
        'ReplicaMode' => 'open-read-only|mounted',
        'ResumeFullAutomationModeTime' => <DateTime>,
        'SecondaryAvailabilityZone' => '<string>',
        'StatusInfos' => [
            [
                'Message' => '<string>',
                'Normal' => true || false,
                'Status' => '<string>',
                'StatusType' => '<string>',
            ],
            // ...
        ],
        'StorageEncrypted' => true || false,
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TdeCredentialArn' => '<string>',
        'Timezone' => '<string>',
        'VpcSecurityGroups' => [
            [
                'Status' => '<string>',
                'VpcSecurityGroupId' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
DBInstance
Type: DBInstance structure

Contains the details of an Amazon RDS DB instance.

This data type is used as a response element in the operations CreateDBInstance, CreateDBInstanceReadReplica, DeleteDBInstance, DescribeDBInstances, ModifyDBInstance, PromoteReadReplica, RebootDBInstance, RestoreDBInstanceFromDBSnapshot, RestoreDBInstanceFromS3, RestoreDBInstanceToPointInTime, StartDBInstance, and StopDBInstance.

Errors

DBInstanceAlreadyExistsFault:

The user already has a DB instance with the given identifier.

InsufficientDBInstanceCapacityFault:

The specified DB instance class isn't available in the specified Availability Zone.

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

DBSecurityGroupNotFoundFault:

DBSecurityGroupName doesn't refer to an existing DB security group.

InstanceQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB instances.

StorageQuotaExceededFault:

The request would result in the user exceeding the allowed amount of storage available across all DB instances.

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

DBSubnetGroupNotFoundFault:

DBSubnetGroupName doesn't refer to an existing DB subnet group.

DBSubnetGroupDoesNotCoverEnoughAZs:

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

InvalidSubnet:

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

InvalidVPCNetworkStateFault:

The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.

ProvisionedIopsNotAvailableInAZFault:

Provisioned IOPS not available in the specified Availability Zone.

OptionGroupNotFoundFault:

The specified option group could not be found.

DBSubnetGroupNotAllowedFault:

The DBSubnetGroup shouldn't be specified while creating read replicas that lie in the same region as the source instance.

InvalidDBSubnetGroupFault:

The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region read replica of the same source instance.

StorageTypeNotSupportedFault:

The specified StorageType can't be associated with the DB instance.

KMSKeyNotAccessibleFault:

An error occurred accessing an Amazon Web Services KMS key.

DomainNotFoundFault:

Domain doesn't refer to an existing Active Directory domain.

NetworkTypeNotSupported:

The network type is invalid for the DB instance. Valid nework type values are IPV4 and DUAL.

TenantDatabaseQuotaExceededFault:

You attempted to create more tenant databases than are permitted in your Amazon Web Services account.

CertificateNotFoundFault:

CertificateIdentifier doesn't refer to an existing certificate.

Examples

Example 1: To create a DB instance read replica

This example creates a read replica of an existing DB instance named test-instance. The read replica is named test-instance-repl.

$result = $client->createDBInstanceReadReplica([
    'DBInstanceIdentifier' => 'test-instance-repl',
    'SourceDBInstanceIdentifier' => 'test-instance',
]);

Result syntax:

[
    'DBInstance' => [
        'DBInstanceArn' => 'arn:aws:rds:us-east-1:123456789012:db:test-instance-repl',
        'DBInstanceIdentifier' => 'test-instance-repl',
        'IAMDatabaseAuthenticationEnabled' => ,
        'MonitoringInterval' => 0,
        'ReadReplicaSourceDBInstanceIdentifier' => 'test-instance',
    ], // Some output ommitted.
]

CreateDBParameterGroup

$result = $client->createDBParameterGroup([/* ... */]);
$promise = $client->createDBParameterGroupAsync([/* ... */]);

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 ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. 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.

This command doesn't apply to RDS Custom.

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 character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

Parameter Syntax

$result = $client->createDBParameterGroup([
    'DBParameterGroupFamily' => '<string>', // REQUIRED
    'DBParameterGroupName' => '<string>', // REQUIRED
    'Description' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DBParameterGroupFamily
Required: Yes
Type: string

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.

To list all of the available parameter group families for a DB engine, use the following command:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine <engine>

For example, to list all of the available parameter group families for the MySQL DB engine, use the following command:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine mysql

The output contains duplicates.

The following are the valid DB engine values:

  • aurora-mysql

  • aurora-postgresql

  • db2-ae

  • db2-se

  • mysql

  • oracle-ee

  • oracle-ee-cdb

  • oracle-se2

  • oracle-se2-cdb

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

DBParameterGroupName
Required: Yes
Type: string

The name of the DB parameter group.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

Description
Required: Yes
Type: string

The description for the DB parameter group.

Tags
Type: Array of Tag structures

Tags to assign to the DB parameter group.

Result Syntax

[
    'DBParameterGroup' => [
        'DBParameterGroupArn' => '<string>',
        'DBParameterGroupFamily' => '<string>',
        'DBParameterGroupName' => '<string>',
        'Description' => '<string>',
    ],
]

Result Details

Members
DBParameterGroup
Type: DBParameterGroup structure

Contains the details of an Amazon RDS DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

Errors

DBParameterGroupQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB parameter groups.

DBParameterGroupAlreadyExistsFault:

A DB parameter group with the same name exists.

Examples

Example 1: To create a DB parameter group

The following example creates a DB parameter group.

$result = $client->createDBParameterGroup([
    'DBParameterGroupFamily' => 'MySQL8.0',
    'DBParameterGroupName' => 'mydbparametergroup',
    'Description' => 'My new parameter group',
]);

Result syntax:

[
    'DBParameterGroup' => [
        'DBParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:pg:mydbparametergroup',
        'DBParameterGroupFamily' => 'mysql8.0',
        'DBParameterGroupName' => 'mydbparametergroup',
        'Description' => 'My new parameter group',
    ],
]

CreateDBProxy

$result = $client->createDBProxy([/* ... */]);
$promise = $client->createDBProxyAsync([/* ... */]);

Creates a new DB proxy.

Parameter Syntax

$result = $client->createDBProxy([
    'Auth' => [ // REQUIRED
        [
            'AuthScheme' => 'SECRETS',
            'ClientPasswordAuthType' => 'MYSQL_NATIVE_PASSWORD|POSTGRES_SCRAM_SHA_256|POSTGRES_MD5|SQL_SERVER_AUTHENTICATION',
            'Description' => '<string>',
            'IAMAuth' => 'DISABLED|REQUIRED|ENABLED',
            'SecretArn' => '<string>',
            'UserName' => '<string>',
        ],
        // ...
    ],
    'DBProxyName' => '<string>', // REQUIRED
    'DebugLogging' => true || false,
    'EngineFamily' => 'MYSQL|POSTGRESQL|SQLSERVER', // REQUIRED
    'IdleClientTimeout' => <integer>,
    'RequireTLS' => true || false,
    'RoleArn' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'VpcSecurityGroupIds' => ['<string>', ...],
    'VpcSubnetIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
Auth
Required: Yes
Type: Array of UserAuthConfig structures

The authorization mechanism that the proxy uses.

DBProxyName
Required: Yes
Type: string

The identifier for the proxy. This name must be unique for all proxies owned by your Amazon Web Services account in the specified Amazon Web Services Region. 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.

DebugLogging
Type: boolean

Specifies whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

EngineFamily
Required: Yes
Type: string

The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL. For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL. For RDS for Microsoft SQL Server, specify SQLSERVER.

IdleClientTimeout
Type: int

The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.

RequireTLS
Type: boolean

Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.

RoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in Amazon Web Services Secrets Manager.

Tags
Type: Array of Tag structures

An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.

VpcSecurityGroupIds
Type: Array of strings

One or more VPC security group IDs to associate with the new proxy.

VpcSubnetIds
Required: Yes
Type: Array of strings

One or more VPC subnet IDs to associate with the new proxy.

Result Syntax

[
    'DBProxy' => [
        'Auth' => [
            [
                'AuthScheme' => 'SECRETS',
                'ClientPasswordAuthType' => 'MYSQL_NATIVE_PASSWORD|POSTGRES_SCRAM_SHA_256|POSTGRES_MD5|SQL_SERVER_AUTHENTICATION',
                'Description' => '<string>',
                'IAMAuth' => 'DISABLED|REQUIRED|ENABLED',
                'SecretArn' => '<string>',
                'UserName' => '<string>',
            ],
            // ...
        ],
        'CreatedDate' => <DateTime>,
        'DBProxyArn' => '<string>',
        'DBProxyName' => '<string>',
        'DebugLogging' => true || false,
        'Endpoint' => '<string>',
        'EngineFamily' => '<string>',
        'IdleClientTimeout' => <integer>,
        'RequireTLS' => true || false,
        'RoleArn' => '<string>',
        'Status' => 'available|modifying|incompatible-network|insufficient-resource-limits|creating|deleting|suspended|suspending|reactivating',
        'UpdatedDate' => <DateTime>,
        'VpcId' => '<string>',
        'VpcSecurityGroupIds' => ['<string>', ...],
        'VpcSubnetIds' => ['<string>', ...],
    ],
]

Result Details

Members
DBProxy
Type: DBProxy structure

The DBProxy structure corresponding to the new proxy.

Errors

InvalidSubnet:

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

DBProxyAlreadyExistsFault:

The specified proxy name must be unique for all proxies owned by your Amazon Web Services account in the specified Amazon Web Services Region.

DBProxyQuotaExceededFault:

Your Amazon Web Services account already has the maximum number of proxies in the specified Amazon Web Services Region.

CreateDBProxyEndpoint

$result = $client->createDBProxyEndpoint([/* ... */]);
$promise = $client->createDBProxyEndpointAsync([/* ... */]);

Creates a DBProxyEndpoint. Only applies to proxies that are associated with Aurora DB clusters. You can use DB proxy endpoints to specify read/write or read-only access to the DB cluster. You can also use DB proxy endpoints to access a DB proxy through a different VPC than the proxy's default VPC.

Parameter Syntax

$result = $client->createDBProxyEndpoint([
    'DBProxyEndpointName' => '<string>', // REQUIRED
    'DBProxyName' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetRole' => 'READ_WRITE|READ_ONLY',
    'VpcSecurityGroupIds' => ['<string>', ...],
    'VpcSubnetIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
DBProxyEndpointName
Required: Yes
Type: string

The name of the DB proxy endpoint to create.

DBProxyName
Required: Yes
Type: string

The name of the DB proxy associated with the DB proxy endpoint that you create.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TargetRole
Type: string

The role of the DB proxy endpoint. The role determines whether the endpoint can be used for read/write or only read operations. The default is READ_WRITE. The only role that proxies for RDS for Microsoft SQL Server support is READ_WRITE.

VpcSecurityGroupIds
Type: Array of strings

The VPC security group IDs for the DB proxy endpoint that you create. You can specify a different set of security group IDs than for the original DB proxy. The default is the default security group for the VPC.

VpcSubnetIds
Required: Yes
Type: Array of strings

The VPC subnet IDs for the DB proxy endpoint that you create. You can specify a different set of subnet IDs than for the original DB proxy.

Result Syntax

[
    'DBProxyEndpoint' => [
        'CreatedDate' => <DateTime>,
        'DBProxyEndpointArn' => '<string>',
        'DBProxyEndpointName' => '<string>',
        'DBProxyName' => '<string>',
        'Endpoint' => '<string>',
        'IsDefault' => true || false,
        'Status' => 'available|modifying|incompatible-network|insufficient-resource-limits|creating|deleting',
        'TargetRole' => 'READ_WRITE|READ_ONLY',
        'VpcId' => '<string>',
        'VpcSecurityGroupIds' => ['<string>', ...],
        'VpcSubnetIds' => ['<string>', ...],
    ],
]

Result Details

Members
DBProxyEndpoint
Type: DBProxyEndpoint structure

The DBProxyEndpoint object that is created by the API operation. The DB proxy endpoint that you create might provide capabilities such as read/write or read-only operations, or using a different VPC than the proxy's default VPC.

Errors

InvalidSubnet:

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

DBProxyNotFoundFault:

The specified proxy name doesn't correspond to a proxy owned by your Amazon Web Services account in the specified Amazon Web Services Region.

DBProxyEndpointAlreadyExistsFault:

The specified DB proxy endpoint name must be unique for all DB proxy endpoints owned by your Amazon Web Services account in the specified Amazon Web Services Region.

DBProxyEndpointQuotaExceededFault:

The DB proxy already has the maximum number of endpoints.

InvalidDBProxyStateFault:

The requested operation can't be performed while the proxy is in this state.

CreateDBSecurityGroup

$result = $client->createDBSecurityGroup([/* ... */]);
$promise = $client->createDBSecurityGroupAsync([/* ... */]);

Creates a new DB security group. DB security groups control access to a DB instance.

A DB security group controls access to EC2-Classic DB instances that are not in a VPC.

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->createDBSecurityGroup([
    'DBSecurityGroupDescription' => '<string>', // REQUIRED
    'DBSecurityGroupName' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DBSecurityGroupDescription
Required: Yes
Type: string

The description for the DB security group.

DBSecurityGroupName
Required: Yes
Type: string

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

  • Can't end with a hyphen or contain two consecutive hyphens

  • Must not be "Default"

Example: mysecuritygroup

Tags
Type: Array of Tag structures

Tags to assign to the DB security group.

Result Syntax

[
    'DBSecurityGroup' => [
        'DBSecurityGroupArn' => '<string>',
        'DBSecurityGroupDescription' => '<string>',
        'DBSecurityGroupName' => '<string>',
        'EC2SecurityGroups' => [
            [
                'EC2SecurityGroupId' => '<string>',
                'EC2SecurityGroupName' => '<string>',
                'EC2SecurityGroupOwnerId' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'IPRanges' => [
            [
                'CIDRIP' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'OwnerId' => '<string>',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBSecurityGroup
Type: DBSecurityGroup structure

Contains the details for an Amazon RDS DB security group.

This data type is used as a response element in the DescribeDBSecurityGroups action.

Errors

DBSecurityGroupAlreadyExistsFault:

A DB security group with the name specified in DBSecurityGroupName already exists.

DBSecurityGroupQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB security groups.

DBSecurityGroupNotSupportedFault:

A DB security group isn't allowed for this action.

Examples

Example 1: To create a DB security group.

This example creates a DB security group.

$result = $client->createDBSecurityGroup([
    'DBSecurityGroupDescription' => 'My DB security group',
    'DBSecurityGroupName' => 'mydbsecuritygroup',
]);

Result syntax:

[
    'DBSecurityGroup' => [
    ],
]

CreateDBShardGroup

$result = $client->createDBShardGroup([/* ... */]);
$promise = $client->createDBShardGroupAsync([/* ... */]);

Creates a new DB shard group for Aurora Limitless Database. You must enable Aurora Limitless Database to create a DB shard group.

Valid for: Aurora DB clusters only

Parameter Syntax

$result = $client->createDBShardGroup([
    'ComputeRedundancy' => <integer>,
    'DBClusterIdentifier' => '<string>', // REQUIRED
    'DBShardGroupIdentifier' => '<string>', // REQUIRED
    'MaxACU' => <float>, // REQUIRED
    'MinACU' => <float>,
    'PubliclyAccessible' => true || false,
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ComputeRedundancy
Type: int

Specifies whether to create standby DB shard groups for the DB shard group. Valid values are the following:

  • 0 - Creates a DB shard group without a standby DB shard group. This is the default value.

  • 1 - Creates a DB shard group with a standby DB shard group in a different Availability Zone (AZ).

  • 2 - Creates a DB shard group with two standby DB shard groups in two different AZs.

DBClusterIdentifier
Required: Yes
Type: string

The name of the primary DB cluster for the DB shard group.

DBShardGroupIdentifier
Required: Yes
Type: string

The name of the DB shard group.

MaxACU
Required: Yes
Type: double

The maximum capacity of the DB shard group in Aurora capacity units (ACUs).

MinACU
Type: double

The minimum capacity of the DB shard group in Aurora capacity units (ACUs).

PubliclyAccessible
Type: boolean

Specifies whether the DB shard group is publicly accessible.

When the DB shard group is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB shard group's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB shard group's VPC. Access to the DB shard group is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB shard group doesn't permit it.

When the DB shard group isn't publicly accessible, it is an internal DB shard group with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

  • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB shard group is private.

  • If the default VPC in the target Region has an internet gateway attached to it, the DB shard group is public.

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB shard group is private.

  • If the subnets are part of a VPC that has an internet gateway attached to it, the DB shard group is public.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

Result Syntax

[
    'ComputeRedundancy' => <integer>,
    'DBClusterIdentifier' => '<string>',
    'DBShardGroupArn' => '<string>',
    'DBShardGroupIdentifier' => '<string>',
    'DBShardGroupResourceId' => '<string>',
    'Endpoint' => '<string>',
    'MaxACU' => <float>,
    'MinACU' => <float>,
    'PubliclyAccessible' => true || false,
    'Status' => '<string>',
    'TagList' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
ComputeRedundancy
Type: int

Specifies whether to create standby DB shard groups for the DB shard group. Valid values are the following:

  • 0 - Creates a DB shard group without a standby DB shard group. This is the default value.

  • 1 - Creates a DB shard group with a standby DB shard group in a different Availability Zone (AZ).

  • 2 - Creates a DB shard group with two standby DB shard groups in two different AZs.

DBClusterIdentifier
Type: string

The name of the primary DB cluster for the DB shard group.

DBShardGroupArn
Type: string

The Amazon Resource Name (ARN) for the DB shard group.

DBShardGroupIdentifier
Type: string

The name of the DB shard group.

DBShardGroupResourceId
Type: string

The Amazon Web Services Region-unique, immutable identifier for the DB shard group.

Endpoint
Type: string

The connection endpoint for the DB shard group.

MaxACU
Type: double

The maximum capacity of the DB shard group in Aurora capacity units (ACUs).

MinACU
Type: double

The minimum capacity of the DB shard group in Aurora capacity units (ACUs).

PubliclyAccessible
Type: boolean

Indicates whether the DB shard group is publicly accessible.

When the DB shard group is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB shard group's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB shard group's VPC. Access to the DB shard group is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB shard group doesn't permit it.

When the DB shard group isn't publicly accessible, it is an internal DB shard group with a DNS name that resolves to a private IP address.

For more information, see CreateDBShardGroup.

This setting is only for Aurora Limitless Database.

Status
Type: string

The status of the DB shard group.

TagList
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

Errors

DBShardGroupAlreadyExistsFault:

The specified DB shard group name must be unique in your Amazon Web Services account in the specified Amazon Web Services Region.

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

MaxDBShardGroupLimitReached:

The maximum number of DB shard groups for your Amazon Web Services account in the specified Amazon Web Services Region has been reached.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

UnsupportedDBEngineVersionFault:

The specified DB engine version isn't supported for Aurora Limitless Database.

InvalidVPCNetworkStateFault:

The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.

NetworkTypeNotSupported:

The network type is invalid for the DB instance. Valid nework type values are IPV4 and DUAL.

CreateDBSnapshot

$result = $client->createDBSnapshot([/* ... */]);
$promise = $client->createDBSnapshotAsync([/* ... */]);

Creates a snapshot of a DB instance. The source DB instance must be in the available or storage-optimization state.

Parameter Syntax

$result = $client->createDBSnapshot([
    'DBInstanceIdentifier' => '<string>', // REQUIRED
    'DBSnapshotIdentifier' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DBInstanceIdentifier
Required: Yes
Type: string

The identifier of the DB instance that you want to create the snapshot of.

Constraints:

  • Must match the identifier of an existing DBInstance.

DBSnapshotIdentifier
Required: Yes
Type: string

The identifier for the DB snapshot.

Constraints:

  • Can't be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

Result Syntax

[
    'DBSnapshot' => [
        'AllocatedStorage' => <integer>,
        'AvailabilityZone' => '<string>',
        'DBInstanceIdentifier' => '<string>',
        'DBSnapshotArn' => '<string>',
        'DBSnapshotIdentifier' => '<string>',
        'DBSystemId' => '<string>',
        'DbiResourceId' => '<string>',
        'DedicatedLogVolume' => true || false,
        'Encrypted' => true || false,
        'Engine' => '<string>',
        'EngineVersion' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'InstanceCreateTime' => <DateTime>,
        'Iops' => <integer>,
        'KmsKeyId' => '<string>',
        'LicenseModel' => '<string>',
        'MasterUsername' => '<string>',
        'MultiTenant' => true || false,
        'OptionGroupName' => '<string>',
        'OriginalSnapshotCreateTime' => <DateTime>,
        'PercentProgress' => <integer>,
        'Port' => <integer>,
        'ProcessorFeatures' => [
            [
                'Name' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'SnapshotCreateTime' => <DateTime>,
        'SnapshotDatabaseTime' => <DateTime>,
        'SnapshotTarget' => '<string>',
        'SnapshotType' => '<string>',
        'SourceDBSnapshotIdentifier' => '<string>',
        'SourceRegion' => '<string>',
        'Status' => '<string>',
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TdeCredentialArn' => '<string>',
        'Timezone' => '<string>',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBSnapshot
Type: DBSnapshot structure

Contains the details of an Amazon RDS DB snapshot.

This data type is used as a response element in the DescribeDBSnapshots action.

Errors

DBSnapshotAlreadyExistsFault:

DBSnapshotIdentifier is already used by an existing snapshot.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

SnapshotQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB snapshots.

Examples

Example 1: To create a DB snapshot

The following example creates a DB snapshot.

$result = $client->createDBSnapshot([
    'DBInstanceIdentifier' => 'mydbsnapshot',
    'DBSnapshotIdentifier' => 'database-mysql',
]);

Result syntax:

[
    'DBSnapshot' => [
        'AllocatedStorage' => 100,
        'AvailabilityZone' => 'us-east-1b',
        'DBInstanceIdentifier' => 'database-mysql',
        'DBSnapshotArn' => 'arn:aws:rds:us-east-1:123456789012:snapshot:mydbsnapshot',
        'DBSnapshotIdentifier' => 'mydbsnapshot',
        'DbiResourceId' => 'db-AKIAIOSFODNN7EXAMPLE',
        'Encrypted' => 1,
        'Engine' => 'mysql',
        'EngineVersion' => '8.0.32',
        'IAMDatabaseAuthenticationEnabled' => ,
        'InstanceCreateTime' => ,
        'Iops' => 1000,
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
        'LicenseModel' => 'general-public-license',
        'MasterUsername' => 'admin',
        'OptionGroupName' => 'default:mysql-8-0',
        'PercentProgress' => 0,
        'Port' => 3306,
        'ProcessorFeatures' => [
        ],
        'SnapshotType' => 'manual',
        'Status' => 'creating',
        'StorageType' => 'io1',
        'VpcId' => 'vpc-6594f31c',
    ],
]

CreateDBSubnetGroup

$result = $client->createDBSubnetGroup([/* ... */]);
$promise = $client->createDBSubnetGroupAsync([/* ... */]);

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the Amazon Web Services Region.

Parameter Syntax

$result = $client->createDBSubnetGroup([
    'DBSubnetGroupDescription' => '<string>', // REQUIRED
    'DBSubnetGroupName' => '<string>', // REQUIRED
    'SubnetIds' => ['<string>', ...], // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DBSubnetGroupDescription
Required: Yes
Type: string

The description for the DB subnet group.

DBSubnetGroupName
Required: Yes
Type: string

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.

  • First character must be a letter.

Example: mydbsubnetgroup

SubnetIds
Required: Yes
Type: Array of strings

The EC2 Subnet IDs for the DB subnet group.

Tags
Type: Array of Tag structures

Tags to assign to the DB subnet group.

Result Syntax

[
    'DBSubnetGroup' => [
        'DBSubnetGroupArn' => '<string>',
        'DBSubnetGroupDescription' => '<string>',
        'DBSubnetGroupName' => '<string>',
        'SubnetGroupStatus' => '<string>',
        'Subnets' => [
            [
                'SubnetAvailabilityZone' => [
                    'Name' => '<string>',
                ],
                'SubnetIdentifier' => '<string>',
                'SubnetOutpost' => [
                    'Arn' => '<string>',
                ],
                'SubnetStatus' => '<string>',
            ],
            // ...
        ],
        'SupportedNetworkTypes' => ['<string>', ...],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBSubnetGroup
Type: DBSubnetGroup structure

Contains the details of an Amazon RDS DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

Errors

DBSubnetGroupAlreadyExistsFault:

DBSubnetGroupName is already used by an existing DB subnet group.

DBSubnetGroupQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB subnet groups.

DBSubnetQuotaExceededFault:

The request would result in the user exceeding the allowed number of subnets in a DB subnet groups.

DBSubnetGroupDoesNotCoverEnoughAZs:

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

InvalidSubnet:

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

Examples

Example 1: To create a DB subnet group

The following example creates a DB subnet group called mysubnetgroup using existing subnets.

$result = $client->createDBSubnetGroup([
    'DBSubnetGroupDescription' => 'test DB subnet group',
    'DBSubnetGroupName' => 'mysubnetgroup',
    'SubnetIds' => [
        'subnet-0a1dc4e1a6f123456',
        'subnet-070dd7ecb3aaaaaaa',
        'subnet-00f5b198bc0abcdef',
    ],
]);

Result syntax:

[
    'DBSubnetGroup' => [
        'DBSubnetGroupArn' => 'arn:aws:rds:us-west-2:0123456789012:subgrp:mysubnetgroup',
        'DBSubnetGroupDescription' => 'test DB subnet group',
        'DBSubnetGroupName' => 'mysubnetgroup',
        'SubnetGroupStatus' => 'Complete',
        'Subnets' => [
            [
                'SubnetAvailabilityZone' => [
                    'Name' => 'us-west-2b',
                ],
                'SubnetIdentifier' => 'subnet-070dd7ecb3aaaaaaa',
                'SubnetStatus' => 'Active',
            ],
            [
                'SubnetAvailabilityZone' => [
                    'Name' => 'us-west-2d',
                ],
                'SubnetIdentifier' => 'subnet-00f5b198bc0abcdef',
                'SubnetStatus' => 'Active',
            ],
            [
                'SubnetAvailabilityZone' => [
                    'Name' => 'us-west-2b',
                ],
                'SubnetIdentifier' => 'subnet-0a1dc4e1a6f123456',
                'SubnetStatus' => 'Active',
            ],
        ],
        'VpcId' => 'vpc-0f08e7610a1b2c3d4',
    ],
]

CreateEventSubscription

$result = $client->createEventSubscription([/* ... */]);
$promise = $client->createEventSubscriptionAsync([/* ... */]);

Creates an RDS event notification subscription. This operation requires a topic Amazon Resource Name (ARN) 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) that you want to be notified of and provide a list of RDS sources (SourceIds) that triggers the events. You can also provide a list of event categories (EventCategories) for events that 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 SourceIds = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify SourceIds, you receive notice of the events for that source type for all your RDS sources. If you don't specify either the SourceType or the SourceIds, you are notified of events generated from all RDS sources belonging to your customer account.

For more information about subscribing to an event for RDS DB engines, see Subscribing to Amazon RDS event notification in the Amazon RDS User Guide.

For more information about subscribing to an event for Aurora DB engines, see Subscribing to Amazon RDS event notification in the Amazon Aurora User Guide.

Parameter Syntax

$result = $client->createEventSubscription([
    'Enabled' => true || false,
    'EventCategories' => ['<string>', ...],
    'SnsTopicArn' => '<string>', // REQUIRED
    'SourceIds' => ['<string>', ...],
    'SourceType' => '<string>',
    'SubscriptionName' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
Enabled
Type: boolean

Specifies whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.

EventCategories
Type: Array of strings

A list of event categories for a particular source type (SourceType) that you want to subscribe to. You can see a list of the categories for a given source type in the "Amazon RDS event categories and event messages" section of the Amazon RDS User Guide or the Amazon Aurora User Guide . You can also see this list by using the DescribeEventCategories operation.

SnsTopicArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the SNS topic created for event notification. SNS automatically creates the ARN when you create a topic and subscribe to it.

RDS doesn't support FIFO (first in, first out) topics. For more information, see Message ordering and deduplication (FIFO topics) in the Amazon Simple Notification Service Developer Guide.

SourceIds
Type: Array of strings

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, a DBInstanceIdentifier value must be supplied.

  • If the source type is a DB cluster, a DBClusterIdentifier value must be supplied.

  • If the source type is a DB parameter group, a DBParameterGroupName value must be supplied.

  • If the source type is a DB security group, a DBSecurityGroupName value must be supplied.

  • If the source type is a DB snapshot, a DBSnapshotIdentifier value must be supplied.

  • If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier value must be supplied.

  • If the source type is an RDS Proxy, a DBProxyName value must be supplied.

SourceType
Type: string

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 set this parameter to db-instance. For RDS Proxy events, specify db-proxy. If this value isn't specified, all events are returned.

Valid Values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy | zero-etl | custom-engine-version | blue-green-deployment

SubscriptionName
Required: Yes
Type: string

The name of the subscription.

Constraints: The name must be less than 255 characters.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

Result Syntax

[
    'EventSubscription' => [
        'CustSubscriptionId' => '<string>',
        'CustomerAwsId' => '<string>',
        'Enabled' => true || false,
        'EventCategoriesList' => ['<string>', ...],
        'EventSubscriptionArn' => '<string>',
        'SnsTopicArn' => '<string>',
        'SourceIdsList' => ['<string>', ...],
        'SourceType' => '<string>',
        'Status' => '<string>',
        'SubscriptionCreationTime' => '<string>',
    ],
]

Result Details

Members
EventSubscription
Type: EventSubscription structure

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

Errors

EventSubscriptionQuotaExceededFault:

You have reached the maximum number of event subscriptions.

SubscriptionAlreadyExistFault:

The supplied subscription name already exists.

SNSInvalidTopicFault:

SNS has responded that there is a problem with the SNS topic specified.

SNSNoAuthorizationFault:

You do not have permission to publish to the SNS topic ARN.

SNSTopicArnNotFoundFault:

The SNS topic ARN does not exist.

SubscriptionCategoryNotFoundFault:

The supplied category does not exist.

SourceNotFoundFault:

The requested source could not be found.

Examples

Example 1: To create an event subscription

The following example creates a subscription for backup and recovery events for DB instances in the current AWS account. Notifications are sent to an Amazon Simple Notification Service topic.

$result = $client->createEventSubscription([
    'EventCategories' => [
        'backup',
        'recovery',
    ],
    'SnsTopicArn' => 'arn:aws:sns:us-east-1:123456789012:interesting-events',
    'SourceType' => 'db-instance',
    'SubscriptionName' => 'my-instance-events',
]);

Result syntax:

[
    'EventSubscription' => [
        'CustSubscriptionId' => 'my-instance-events',
        'CustomerAwsId' => '123456789012',
        'Enabled' => 1,
        'EventCategoriesList' => [
            'backup',
            'recovery',
        ],
        'EventSubscriptionArn' => 'arn:aws:rds:us-east-1:123456789012:es:my-instance-events',
        'SnsTopicArn' => 'arn:aws:sns:us-east-1:123456789012:interesting-events',
        'SourceType' => 'db-instance',
        'Status' => 'creating',
        'SubscriptionCreationTime' => 'Tue Jul 31 23:22:01 UTC 2018',
    ],
]

CreateGlobalCluster

$result = $client->createGlobalCluster([/* ... */]);
$promise = $client->createGlobalClusterAsync([/* ... */]);

Creates an Aurora global database spread across multiple Amazon Web Services Regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

You can create a global database that is initially empty, and then create the primary and secondary DB clusters in the global database. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database.

This operation applies only to Aurora DB clusters.

Parameter Syntax

$result = $client->createGlobalCluster([
    'DatabaseName' => '<string>',
    'DeletionProtection' => true || false,
    'Engine' => '<string>',
    'EngineLifecycleSupport' => '<string>',
    'EngineVersion' => '<string>',
    'GlobalClusterIdentifier' => '<string>',
    'SourceDBClusterIdentifier' => '<string>',
    'StorageEncrypted' => true || false,
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DatabaseName
Type: string

The name for your database of up to 64 alphanumeric characters. If you don't specify a name, Amazon Aurora doesn't create a database in the global database cluster.

Constraints:

  • Can't be specified if SourceDBClusterIdentifier is specified. In this case, Amazon Aurora uses the database name from the source DB cluster.

DeletionProtection
Type: boolean

Specifies whether to enable deletion protection for the new global database cluster. The global database can't be deleted when deletion protection is enabled.

Engine
Type: string

The database engine to use for this global database cluster.

Valid Values: aurora-mysql | aurora-postgresql

Constraints:

  • Can't be specified if SourceDBClusterIdentifier is specified. In this case, Amazon Aurora uses the engine of the source DB cluster.

EngineLifecycleSupport
Type: string

The life cycle type for this global database cluster.

By default, this value is set to open-source-rds-extended-support, which enrolls your global cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to open-source-rds-extended-support-disabled. In this case, creating the global cluster will fail if the DB major version is past its end of standard support date.

This setting only applies to Aurora PostgreSQL-based global databases.

You can use this setting to enroll your global cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your global cluster past the end of standard support for that engine version. For more information, see Using Amazon RDS Extended Support in the Amazon Aurora User Guide.

Valid Values: open-source-rds-extended-support | open-source-rds-extended-support-disabled

Default: open-source-rds-extended-support

EngineVersion
Type: string

The engine version to use for this global database cluster.

Constraints:

  • Can't be specified if SourceDBClusterIdentifier is specified. In this case, Amazon Aurora uses the engine version of the source DB cluster.

GlobalClusterIdentifier
Type: string

The cluster identifier for this global database cluster. This parameter is stored as a lowercase string.

SourceDBClusterIdentifier
Type: string

The Amazon Resource Name (ARN) to use as the primary cluster of the global database.

If you provide a value for this parameter, don't specify values for the following settings because Amazon Aurora uses the values from the specified source DB cluster:

  • DatabaseName

  • Engine

  • EngineVersion

  • StorageEncrypted

StorageEncrypted
Type: boolean

Specifies whether to enable storage encryption for the new global database cluster.

Constraints:

  • Can't be specified if SourceDBClusterIdentifier is specified. In this case, Amazon Aurora uses the setting from the source DB cluster.

Tags
Type: Array of Tag structures

Tags to assign to the global cluster.

Result Syntax

[
    'GlobalCluster' => [
        'DatabaseName' => '<string>',
        'DeletionProtection' => true || false,
        'Endpoint' => '<string>',
        'Engine' => '<string>',
        'EngineLifecycleSupport' => '<string>',
        'EngineVersion' => '<string>',
        'FailoverState' => [
            'FromDbClusterArn' => '<string>',
            'IsDataLossAllowed' => true || false,
            'Status' => 'pending|failing-over|cancelling',
            'ToDbClusterArn' => '<string>',
        ],
        'GlobalClusterArn' => '<string>',
        'GlobalClusterIdentifier' => '<string>',
        'GlobalClusterMembers' => [
            [
                'DBClusterArn' => '<string>',
                'GlobalWriteForwardingStatus' => 'enabled|disabled|enabling|disabling|unknown',
                'IsWriter' => true || false,
                'Readers' => ['<string>', ...],
                'SynchronizationStatus' => 'connected|pending-resync',
            ],
            // ...
        ],
        'GlobalClusterResourceId' => '<string>',
        'Status' => '<string>',
        'StorageEncrypted' => true || false,
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
GlobalCluster
Type: GlobalCluster structure

A data type representing an Aurora global database.

Errors

GlobalClusterAlreadyExistsFault:

The GlobalClusterIdentifier already exists. Specify a new global database identifier (unique name) to create a new global database cluster or to rename an existing one.

GlobalClusterQuotaExceededFault:

The number of global database clusters for this account is already at the maximum allowed.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

Examples

Example 1: To create a global DB cluster

The following example creates a new Aurora MySQL-compatible global DB cluster.

$result = $client->createGlobalCluster([
    'Engine' => 'aurora-mysql',
    'GlobalClusterIdentifier' => 'myglobalcluster',
]);

Result syntax:

[
    'GlobalCluster' => [
        'DeletionProtection' => ,
        'Engine' => 'aurora-mysql',
        'EngineVersion' => '5.7.mysql_aurora.2.07.2',
        'GlobalClusterArn' => 'arn:aws:rds::123456789012:global-cluster:myglobalcluster',
        'GlobalClusterIdentifier' => 'myglobalcluster',
        'GlobalClusterMembers' => [
        ],
        'GlobalClusterResourceId' => 'cluster-f0e523bfe07aabb',
        'Status' => 'available',
        'StorageEncrypted' => ,
    ],
]

CreateIntegration

$result = $client->createIntegration([/* ... */]);
$promise = $client->createIntegrationAsync([/* ... */]);

Creates a zero-ETL integration with Amazon Redshift.

Parameter Syntax

$result = $client->createIntegration([
    'AdditionalEncryptionContext' => ['<string>', ...],
    'DataFilter' => '<string>',
    'Description' => '<string>',
    'IntegrationName' => '<string>', // REQUIRED
    'KMSKeyId' => '<string>',
    'SourceArn' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
AdditionalEncryptionContext
Type: Associative array of custom strings keys (String) to strings

An optional set of non-secret key–value pairs that contains additional contextual information about the data. For more information, see Encryption context in the Amazon Web Services Key Management Service Developer Guide.

You can only include this parameter if you specify the KMSKeyId parameter.

DataFilter
Type: string

Data filtering options for the integration. For more information, see Data filtering for Aurora zero-ETL integrations with Amazon Redshift.

Valid for: Integrations with Aurora MySQL source DB clusters only

Description
Type: string

A description of the integration.

IntegrationName
Required: Yes
Type: string

The name of the integration.

KMSKeyId
Type: string

The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default Amazon Web Services owned key.

SourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the database to use as the source for replication.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TargetArn
Required: Yes
Type: string

The ARN of the Redshift data warehouse to use as the target for replication.

Result Syntax

[
    'AdditionalEncryptionContext' => ['<string>', ...],
    'CreateTime' => <DateTime>,
    'DataFilter' => '<string>',
    'Description' => '<string>',
    'Errors' => [
        [
            'ErrorCode' => '<string>',
            'ErrorMessage' => '<string>',
        ],
        // ...
    ],
    'IntegrationArn' => '<string>',
    'IntegrationName' => '<string>',
    'KMSKeyId' => '<string>',
    'SourceArn' => '<string>',
    'Status' => 'creating|active|modifying|failed|deleting|syncing|needs_attention',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetArn' => '<string>',
]

Result Details

Members
AdditionalEncryptionContext
Type: Associative array of custom strings keys (String) to strings

The encryption context for the integration. For more information, see Encryption context in the Amazon Web Services Key Management Service Developer Guide.

CreateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the integration was created, in Universal Coordinated Time (UTC).

DataFilter
Type: string

Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.

Description
Type: string

A description of the integration.

Errors
Type: Array of IntegrationError structures

Any errors associated with the integration.

IntegrationArn
Type: string

The ARN of the integration.

IntegrationName
Type: string

The name of the integration.

KMSKeyId
Type: string

The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key used to to encrypt the integration.

SourceArn
Type: string

The Amazon Resource Name (ARN) of the database used as the source for replication.

Status
Type: string

The current status of the integration.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TargetArn
Type: string

The ARN of the Redshift data warehouse used as the target for replication.

Errors

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

IntegrationAlreadyExistsFault:

The integration you are trying to create already exists.

IntegrationQuotaExceededFault:

You can't crate any more zero-ETL integrations because the quota has been reached.

KMSKeyNotAccessibleFault:

An error occurred accessing an Amazon Web Services KMS key.

IntegrationConflictOperationFault:

A conflicting conditional operation is currently in progress against this resource. Typically occurs when there are multiple requests being made to the same resource at the same time, and these requests conflict with each other.

Examples

Example 1: To create a zero-ETL integration

The following example creates a zero-ETL integration with Amazon Redshift.

$result = $client->createIntegration([
    'IntegrationName' => 'my-integration',
    'SourceArn' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-cluster',
    'TargetArn' => 'arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8',
]);

Result syntax:

[
    'CreateTime' => ,
    'IntegrationArn' => 'arn:aws:rds:us-east-1:123456789012:integration:5b9f3d79-7392-4a3e-896c-58eaa1b53231',
    'IntegrationName' => 'my-integration',
    'KMSKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa',
    'SourceArn' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-cluster',
    'Status' => 'creating',
    'Tags' => [
    ],
    'TargetArn' => 'arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8',
]

CreateOptionGroup

$result = $client->createOptionGroup([/* ... */]);
$promise = $client->createOptionGroupAsync([/* ... */]);

Creates a new option group. You can create up to 20 option groups.

This command doesn't apply to RDS Custom.

Parameter Syntax

$result = $client->createOptionGroup([
    'EngineName' => '<string>', // REQUIRED
    'MajorEngineVersion' => '<string>', // REQUIRED
    'OptionGroupDescription' => '<string>', // REQUIRED
    'OptionGroupName' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
EngineName
Required: Yes
Type: string

The name of the engine to associate this option group with.

Valid Values:

  • db2-ae

  • db2-se

  • mariadb

  • mysql

  • oracle-ee

  • oracle-ee-cdb

  • oracle-se2

  • oracle-se2-cdb

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

MajorEngineVersion
Required: Yes
Type: string

Specifies the major version of the engine that this option group should be associated with.

OptionGroupDescription
Required: Yes
Type: string

The description of the option group.

OptionGroupName
Required: Yes
Type: string

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

  • Can't end with a hyphen or contain two consecutive hyphens

Example: myoptiongroup

Tags
Type: Array of Tag structures

Tags to assign to the option group.

Result Syntax

[
    'OptionGroup' => [
        'AllowsVpcAndNonVpcInstanceMemberships' => true || false,
        'CopyTimestamp' => <DateTime>,
        'EngineName' => '<string>',
        'MajorEngineVersion' => '<string>',
        'OptionGroupArn' => '<string>',
        'OptionGroupDescription' => '<string>',
        'OptionGroupName' => '<string>',
        'Options' => [
            [
                'DBSecurityGroupMemberships' => [
                    [
                        'DBSecurityGroupName' => '<string>',
                        'Status' => '<string>',
                    ],
                    // ...
                ],
                'OptionDescription' => '<string>',
                'OptionName' => '<string>',
                'OptionSettings' => [
                    [
                        'AllowedValues' => '<string>',
                        'ApplyType' => '<string>',
                        'DataType' => '<string>',
                        'DefaultValue' => '<string>',
                        'Description' => '<string>',
                        'IsCollection' => true || false,
                        'IsModifiable' => true || false,
                        'Name' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'OptionVersion' => '<string>',
                'Permanent' => true || false,
                'Persistent' => true || false,
                'Port' => <integer>,
                'VpcSecurityGroupMemberships' => [
                    [
                        'Status' => '<string>',
                        'VpcSecurityGroupId' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
        'SourceAccountId' => '<string>',
        'SourceOptionGroup' => '<string>',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
OptionGroup
Type: OptionGroup structure

Errors

OptionGroupAlreadyExistsFault:

The option group you are trying to create already exists.

OptionGroupQuotaExceededFault:

The quota of 20 option groups was exceeded for this Amazon Web Services account.

Examples

Example 1: To Create an Amazon RDS option group

The following example creates a new Amazon RDS option group for Oracle MySQL version 8,0 named MyOptionGroup.

$result = $client->createOptionGroup([
    'EngineName' => 'mysql',
    'MajorEngineVersion' => '8.0',
    'OptionGroupDescription' => 'MySQL 8.0 option group',
    'OptionGroupName' => 'MyOptionGroup',
]);

Result syntax:

[
    'OptionGroup' => [
        'AllowsVpcAndNonVpcInstanceMemberships' => 1,
        'EngineName' => 'mysql',
        'MajorEngineVersion' => '8.0',
        'OptionGroupArn' => 'arn:aws:rds:us-east-1:123456789012:og:myoptiongroup',
        'OptionGroupDescription' => 'MySQL 8.0 option group',
        'OptionGroupName' => 'myoptiongroup',
        'Options' => [
        ],
    ],
]

CreateTenantDatabase

$result = $client->createTenantDatabase([/* ... */]);
$promise = $client->createTenantDatabaseAsync([/* ... */]);

Creates a tenant database in a DB instance that uses the multi-tenant configuration. Only RDS for Oracle container database (CDB) instances are supported.

Parameter Syntax

$result = $client->createTenantDatabase([
    'CharacterSetName' => '<string>',
    'DBInstanceIdentifier' => '<string>', // REQUIRED
    'MasterUserPassword' => '<string>', // REQUIRED
    'MasterUsername' => '<string>', // REQUIRED
    'NcharCharacterSetName' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TenantDBName' => '<string>', // REQUIRED
]);

Parameter Details

Members
CharacterSetName
Type: string

The character set for your tenant database. If you don't specify a value, the character set name defaults to AL32UTF8.

DBInstanceIdentifier
Required: Yes
Type: string

The user-supplied DB instance identifier. RDS creates your tenant database in this DB instance. This parameter isn't case-sensitive.

MasterUserPassword
Required: Yes
Type: string

The password for the master user in your tenant database.

Constraints:

  • Must be 8 to 30 characters.

  • Can include any printable ASCII character except forward slash (/), double quote ("), at symbol (@), ampersand (&), or single quote (').

MasterUsername
Required: Yes
Type: string

The name for the master user account in your tenant database. RDS creates this user account in the tenant database and grants privileges to the master user. This parameter is case-sensitive.

Constraints:

  • Must be 1 to 16 letters, numbers, or underscores.

  • First character must be a letter.

  • Can't be a reserved word for the chosen database engine.

NcharCharacterSetName
Type: string

The NCHAR value for the tenant database.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TenantDBName
Required: Yes
Type: string

The user-supplied name of the tenant database that you want to create in your DB instance. This parameter has the same constraints as DBName in CreateDBInstance.

Result Syntax

[
    'TenantDatabase' => [
        'CharacterSetName' => '<string>',
        'DBInstanceIdentifier' => '<string>',
        'DbiResourceId' => '<string>',
        'DeletionProtection' => true || false,
        'MasterUsername' => '<string>',
        'NcharCharacterSetName' => '<string>',
        'PendingModifiedValues' => [
            'MasterUserPassword' => '<string>',
            'TenantDBName' => '<string>',
        ],
        'Status' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TenantDBName' => '<string>',
        'TenantDatabaseARN' => '<string>',
        'TenantDatabaseCreateTime' => <DateTime>,
        'TenantDatabaseResourceId' => '<string>',
    ],
]

Result Details

Members
TenantDatabase
Type: TenantDatabase structure

A tenant database in the DB instance. This data type is an element in the response to the DescribeTenantDatabases action.

Errors

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

TenantDatabaseAlreadyExistsFault:

You attempted to either create a tenant database that already exists or modify a tenant database to use the name of an existing tenant database.

TenantDatabaseQuotaExceededFault:

You attempted to create more tenant databases than are permitted in your Amazon Web Services account.

DeleteBlueGreenDeployment

$result = $client->deleteBlueGreenDeployment([/* ... */]);
$promise = $client->deleteBlueGreenDeploymentAsync([/* ... */]);

Deletes a blue/green deployment.

For more information, see Using Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS Blue/Green Deployments for database updates in the Amazon Aurora User Guide.

Parameter Syntax

$result = $client->deleteBlueGreenDeployment([
    'BlueGreenDeploymentIdentifier' => '<string>', // REQUIRED
    'DeleteTarget' => true || false,
]);

Parameter Details

Members
BlueGreenDeploymentIdentifier
Required: Yes
Type: string

The unique identifier of the blue/green deployment to delete. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing blue/green deployment identifier.

DeleteTarget
Type: boolean

Specifies whether to delete the resources in the green environment. You can't specify this option if the blue/green deployment status is SWITCHOVER_COMPLETED.

Result Syntax

[
    'BlueGreenDeployment' => [
        'BlueGreenDeploymentIdentifier' => '<string>',
        'BlueGreenDeploymentName' => '<string>',
        'CreateTime' => <DateTime>,
        'DeleteTime' => <DateTime>,
        'Source' => '<string>',
        'Status' => '<string>',
        'StatusDetails' => '<string>',
        'SwitchoverDetails' => [
            [
                'SourceMember' => '<string>',
                'Status' => '<string>',
                'TargetMember' => '<string>',
            ],
            // ...
        ],
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'Target' => '<string>',
        'Tasks' => [
            [
                'Name' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
BlueGreenDeployment
Type: BlueGreenDeployment structure

Details about a blue/green deployment.

For more information, see Using Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS Blue/Green Deployments for database updates in the Amazon Aurora User Guide.

Errors

BlueGreenDeploymentNotFoundFault:

BlueGreenDeploymentIdentifier doesn't refer to an existing blue/green deployment.

InvalidBlueGreenDeploymentStateFault:

The blue/green deployment can't be switched over or deleted because there is an invalid configuration in the green environment.

Examples

Example 1: To delete resources in green environment for an RDS for MySQL DB instance

The following example deletes the resources in a green environment for an RDS for MySQL DB instance.

$result = $client->deleteBlueGreenDeployment([
    'BlueGreenDeploymentIdentifier' => 'bgd-v53303651eexfake',
    'DeleteTarget' => 1,
]);

Result syntax:

[
    'BlueGreenDeployment' => [
        'BlueGreenDeploymentIdentifier' => 'bgd-v53303651eexfake',
        'BlueGreenDeploymentName' => 'bgd-cli-test-instance',
        'CreateTime' => ,
        'DeleteTime' => ,
        'Source' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance',
        'Status' => 'DELETING',
        'SwitchoverDetails' => [
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-rkfbpe',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1-green-j382ha',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2-green-ejv4ao',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3-green-vlpz3t',
            ],
        ],
        'Target' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-rkfbpe',
        'Tasks' => [
            [
                'Name' => 'CREATING_READ_REPLICA_OF_SOURCE',
                'Status' => 'COMPLETED',
            ],
            [
                'Name' => 'DB_ENGINE_VERSION_UPGRADE',
                'Status' => 'COMPLETED',
            ],
            [
                'Name' => 'CONFIGURE_BACKUPS',
                'Status' => 'COMPLETED',
            ],
            [
                'Name' => 'CREATING_TOPOLOGY_OF_SOURCE',
                'Status' => 'COMPLETED',
            ],
        ],
    ],
]
Example 2: To delete resources in green environment for an Aurora MySQL DB cluster

The following example deletes the resources in a green environment for an Aurora MySQL DB cluster.

$result = $client->deleteBlueGreenDeployment([
    'BlueGreenDeploymentIdentifier' => 'bgd-wi89nwzglccsfake',
    'DeleteTarget' => 1,
]);

Result syntax:

[
    'BlueGreenDeployment' => [
        'BlueGreenDeploymentIdentifier' => 'bgd-wi89nwzglccsfake',
        'BlueGreenDeploymentName' => 'my-blue-green-deployment',
        'CreateTime' => ,
        'DeleteTime' => ,
        'Source' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster',
        'Status' => 'DELETING',
        'SwitchoverDetails' => [
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3rnukl',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1-green-gpmaxf',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2-green-j2oajq',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3-green-mkxies',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint-green-4sqjrq',
            ],
            [
                'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint',
                'Status' => 'AVAILABLE',
                'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint-green-gwwzlg',
            ],
        ],
        'Target' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3rnukl',
        'Tasks' => [
            [
                'Name' => 'CREATING_READ_REPLICA_OF_SOURCE',
                'Status' => 'COMPLETED',
            ],
            [
                'Name' => 'DB_ENGINE_VERSION_UPGRADE',
                'Status' => 'COMPLETED',
            ],
            [
                'Name' => 'CREATE_DB_INSTANCES_FOR_CLUSTER',
                'Status' => 'COMPLETED',
            ],
            [
                'Name' => 'CREATE_CUSTOM_ENDPOINTS',
                'Status' => 'COMPLETED',
            ],
        ],
    ],
]

DeleteCustomDBEngineVersion

$result = $client->deleteCustomDBEngineVersion([/* ... */]);
$promise = $client->deleteCustomDBEngineVersionAsync([/* ... */]);

Deletes a custom engine version. To run this command, make sure you meet the following prerequisites:

  • The CEV must not be the default for RDS Custom. If it is, change the default before running this command.

  • The CEV must not be associated with an RDS Custom DB instance, RDS Custom instance snapshot, or automated backup of your RDS Custom instance.

Typically, deletion takes a few minutes.

The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the DeleteCustomDbEngineVersion event aren't logged. However, you might see calls from the API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for the DeleteCustomDbEngineVersion event.

For more information, see Deleting a CEV in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->deleteCustomDBEngineVersion([
    'Engine' => '<string>', // REQUIRED
    'EngineVersion' => '<string>', // REQUIRED
]);

Parameter Details

Members
Engine
Required: Yes
Type: string

The database engine. RDS Custom for Oracle supports the following values:

  • custom-oracle-ee

  • custom-oracle-ee-cdb

  • custom-oracle-se2

  • custom-oracle-se2-cdb

EngineVersion
Required: Yes
Type: string

The custom engine version (CEV) for your DB instance. This option is required for RDS Custom, but optional for Amazon RDS. The combination of Engine and EngineVersion is unique per customer per Amazon Web Services Region.

Result Syntax

[
    'CreateTime' => <DateTime>,
    'CustomDBEngineVersionManifest' => '<string>',
    'DBEngineDescription' => '<string>',
    'DBEngineMediaType' => '<string>',
    'DBEngineVersionArn' => '<string>',
    'DBEngineVersionDescription' => '<string>',
    'DBParameterGroupFamily' => '<string>',
    'DatabaseInstallationFilesS3BucketName' => '<string>',
    'DatabaseInstallationFilesS3Prefix' => '<string>',
    'DefaultCharacterSet' => [
        'CharacterSetDescription' => '<string>',
        'CharacterSetName' => '<string>',
    ],
    'Engine' => '<string>',
    'EngineVersion' => '<string>',
    'ExportableLogTypes' => ['<string>', ...],
    'Image' => [
        'ImageId' => '<string>',
        'Status' => '<string>',
    ],
    'KMSKeyId' => '<string>',
    'MajorEngineVersion' => '<string>',
    'ServerlessV2FeaturesSupport' => [
        'MaxCapacity' => <float>,
        'MinCapacity' => <float>,
    ],
    'Status' => '<string>',
    'SupportedCACertificateIdentifiers' => ['<string>', ...],
    'SupportedCharacterSets' => [
        [
            'CharacterSetDescription' => '<string>',
            'CharacterSetName' => '<string>',
        ],
        // ...
    ],
    'SupportedEngineModes' => ['<string>', ...],
    'SupportedFeatureNames' => ['<string>', ...],
    'SupportedNcharCharacterSets' => [
        [
            'CharacterSetDescription' => '<string>',
            'CharacterSetName' => '<string>',
        ],
        // ...
    ],
    'SupportedTimezones' => [
        [
            'TimezoneName' => '<string>',
        ],
        // ...
    ],
    'SupportsBabelfish' => true || false,
    'SupportsCertificateRotationWithoutRestart' => true || false,
    'SupportsGlobalDatabases' => true || false,
    'SupportsIntegrations' => true || false,
    'SupportsLimitlessDatabase' => true || false,
    'SupportsLocalWriteForwarding' => true || false,
    'SupportsLogExportsToCloudwatchLogs' => true || false,
    'SupportsParallelQuery' => true || false,
    'SupportsReadReplica' => true || false,
    'TagList' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'ValidUpgradeTarget' => [
        [
            'AutoUpgrade' => true || false,
            'Description' => '<string>',
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'IsMajorVersionUpgrade' => true || false,
            'SupportedEngineModes' => ['<string>', ...],
            'SupportsBabelfish' => true || false,
            'SupportsGlobalDatabases' => true || false,
            'SupportsIntegrations' => true || false,
            'SupportsLimitlessDatabase' => true || false,
            'SupportsLocalWriteForwarding' => true || false,
            'SupportsParallelQuery' => true || false,
        ],
        // ...
    ],
]

Result Details

Members
CreateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The creation time of the DB engine version.

CustomDBEngineVersionManifest
Type: string

JSON string that lists the installation files and parameters that RDS Custom uses to create a custom engine version (CEV). RDS Custom applies the patches in the order in which they're listed in the manifest. You can set the Oracle home, Oracle base, and UNIX/Linux user and group using the installation parameters. For more information, see JSON fields in the CEV manifest in the Amazon RDS User Guide.

DBEngineDescription
Type: string

The description of the database engine.

DBEngineMediaType
Type: string

A value that indicates the source media provider of the AMI based on the usage operation. Applicable for RDS Custom for SQL Server.

DBEngineVersionArn
Type: string

The ARN of the custom engine version.

DBEngineVersionDescription
Type: string

The description of the database engine version.

DBParameterGroupFamily
Type: string

The name of the DB parameter group family for the database engine.

DatabaseInstallationFilesS3BucketName
Type: string

The name of the Amazon S3 bucket that contains your database installation files.

DatabaseInstallationFilesS3Prefix
Type: string

The Amazon S3 directory that contains the database installation files. If not specified, then no prefix is assumed.

DefaultCharacterSet
Type: CharacterSet structure

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API isn't specified.

Engine
Type: string

The name of the database engine.

EngineVersion
Type: string

The version number of the database engine.

ExportableLogTypes
Type: Array of strings

The types of logs that the database engine has available for export to CloudWatch Logs.

Image
Type: CustomDBEngineVersionAMI structure

The EC2 image

KMSKeyId
Type: string

The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for RDS Custom, but optional for Amazon RDS.

MajorEngineVersion
Type: string

The major engine version of the CEV.

ServerlessV2FeaturesSupport
Type: ServerlessV2FeaturesSupport structure

Specifies any Aurora Serverless v2 properties or limits that differ between Aurora engine versions. You can test the values of this attribute when deciding which Aurora version to use in a new or upgraded DB cluster. You can also retrieve the version of an existing DB cluster and check whether that version supports certain Aurora Serverless v2 features before you attempt to use those features.

Status
Type: string

The status of the DB engine version, either available or deprecated.

SupportedCACertificateIdentifiers
Type: Array of strings

A list of the supported CA certificate identifiers.

For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.

SupportedCharacterSets
Type: Array of CharacterSet structures

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance operation.

SupportedEngineModes
Type: Array of strings

A list of the supported DB engine modes.

SupportedFeatureNames
Type: Array of strings

A list of features supported by the DB engine.

The supported features vary by DB engine and DB engine version.

To determine the supported features for a specific DB engine and DB engine version using the CLI, use the following command:

aws rds describe-db-engine-versions --engine <engine_name> --engine-version <engine_version>

For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, use the following command:

aws rds describe-db-engine-versions --engine postgres --engine-version 13.3

The supported features are listed under SupportedFeatureNames in the output.

SupportedNcharCharacterSets
Type: Array of CharacterSet structures

A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName parameter of the CreateDBInstance operation.

SupportedTimezones
Type: Array of Timezone structures

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

SupportsBabelfish
Type: boolean

Indicates whether the engine version supports Babelfish for Aurora PostgreSQL.

SupportsCertificateRotationWithoutRestart
Type: boolean

Indicates whether the engine version supports rotating the server certificate without rebooting the DB instance.

SupportsGlobalDatabases
Type: boolean

Indicates whether you can use Aurora global databases with a specific DB engine version.

SupportsIntegrations
Type: boolean

Indicates whether the DB engine version supports zero-ETL integrations with Amazon Redshift.

SupportsLimitlessDatabase
Type: boolean

Indicates whether the DB engine version supports Aurora Limitless Database.

SupportsLocalWriteForwarding
Type: boolean

Indicates whether the DB engine version supports forwarding write operations from reader DB instances to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

Valid for: Aurora DB clusters only

SupportsLogExportsToCloudwatchLogs
Type: boolean

Indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

SupportsParallelQuery
Type: boolean

Indicates whether you can use Aurora parallel query with a specific DB engine version.

SupportsReadReplica
Type: boolean

Indicates whether the database engine version supports read replicas.

TagList
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

ValidUpgradeTarget
Type: Array of UpgradeTarget structures

A list of engine versions that this database engine version can be upgraded to.

Errors

CustomDBEngineVersionNotFoundFault:

The specified CEV was not found.

InvalidCustomDBEngineVersionStateFault:

You can't delete the CEV.

DeleteDBCluster

$result = $client->deleteDBCluster([/* ... */]);
$promise = $client->deleteDBClusterAsync([/* ... */]);

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.

If you're deleting a Multi-AZ DB cluster with read replicas, all cluster members are terminated and read replicas are promoted to standalone instances.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->deleteDBCluster([
    'DBClusterIdentifier' => '<string>', // REQUIRED
    'DeleteAutomatedBackups' => true || false,
    'FinalDBSnapshotIdentifier' => '<string>',
    'SkipFinalSnapshot' => true || false,
]);

Parameter Details

Members
DBClusterIdentifier
Required: Yes
Type: string

The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.

DeleteAutomatedBackups
Type: boolean

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

FinalDBSnapshotIdentifier
Type: string

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is disabled.

If you specify this parameter and also skip the creation of a final DB cluster snapshot with the SkipFinalShapshot parameter, the request results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

SkipFinalSnapshot
Type: boolean

Specifies whether to skip the creation of a final DB cluster snapshot before RDS deletes the DB cluster. If you set this value to true, RDS doesn't create a final DB cluster snapshot. If you set this value to false or don't specify it, RDS creates a DB cluster snapshot before it deletes the DB cluster. By default, this parameter is disabled, so RDS creates a final DB cluster snapshot.

If SkipFinalSnapshot is disabled, you must specify a value for the FinalDBSnapshotIdentifier parameter.

Result Syntax

[
    'DBCluster' => [
        'ActivityStreamKinesisStreamName' => '<string>',
        'ActivityStreamKmsKeyId' => '<string>',
        'ActivityStreamMode' => 'sync|async',
        'ActivityStreamStatus' => 'stopped|starting|started|stopping',
        'AllocatedStorage' => <integer>,
        'AssociatedRoles' => [
            [
                'FeatureName' => '<string>',
                'RoleArn' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'AutoMinorVersionUpgrade' => true || false,
        'AutomaticRestartTime' => <DateTime>,
        'AvailabilityZones' => ['<string>', ...],
        'AwsBackupRecoveryPointArn' => '<string>',
        'BacktrackConsumedChangeRecords' => <integer>,
        'BacktrackWindow' => <integer>,
        'BackupRetentionPeriod' => <integer>,
        'Capacity' => <integer>,
        'CertificateDetails' => [
            'CAIdentifier' => '<string>',
            'ValidTill' => <DateTime>,
        ],
        'CharacterSetName' => '<string>',
        'CloneGroupId' => '<string>',
        'ClusterCreateTime' => <DateTime>,
        'ClusterScalabilityType' => 'standard|limitless',
        'CopyTagsToSnapshot' => true || false,
        'CrossAccountClone' => true || false,
        'CustomEndpoints' => ['<string>', ...],
        'DBClusterArn' => '<string>',
        'DBClusterIdentifier' => '<string>',
        'DBClusterInstanceClass' => '<string>',
        'DBClusterMembers' => [
            [
                'DBClusterParameterGroupStatus' => '<string>',
                'DBInstanceIdentifier' => '<string>',
                'IsClusterWriter' => true || false,
                'PromotionTier' => <integer>,
            ],
            // ...
        ],
        'DBClusterOptionGroupMemberships' => [
            [
                'DBClusterOptionGroupName' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'DBClusterParameterGroup' => '<string>',
        'DBSubnetGroup' => '<string>',
        'DBSystemId' => '<string>',
        'DatabaseInsightsMode' => 'standard|advanced',
        'DatabaseName' => '<string>',
        'DbClusterResourceId' => '<string>',
        'DeletionProtection' => true || false,
        'DomainMemberships' => [
            [
                'AuthSecretArn' => '<string>',
                'DnsIps' => ['<string>', ...],
                'Domain' => '<string>',
                'FQDN' => '<string>',
                'IAMRoleName' => '<string>',
                'OU' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'EarliestBacktrackTime' => <DateTime>,
        'EarliestRestorableTime' => <DateTime>,
        'EnabledCloudwatchLogsExports' => ['<string>', ...],
        'Endpoint' => '<string>',
        'Engine' => '<string>',
        'EngineLifecycleSupport' => '<string>',
        'EngineMode' => '<string>',
        'EngineVersion' => '<string>',
        'GlobalWriteForwardingRequested' => true || false,
        'GlobalWriteForwardingStatus' => 'enabled|disabled|enabling|disabling|unknown',
        'HostedZoneId' => '<string>',
        'HttpEndpointEnabled' => true || false,
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'IOOptimizedNextAllowedModificationTime' => <DateTime>,
        'Iops' => <integer>,
        'KmsKeyId' => '<string>',
        'LatestRestorableTime' => <DateTime>,
        'LimitlessDatabase' => [
            'MinRequiredACU' => <float>,
            'Status' => 'active|not-in-use|enabled|disabled|enabling|disabling|modifying-max-capacity|error',
        ],
        'LocalWriteForwardingStatus' => 'enabled|disabled|enabling|disabling|requested',
        'MasterUserSecret' => [
            'KmsKeyId' => '<string>',
            'SecretArn' => '<string>',
            'SecretStatus' => '<string>',
        ],
        'MasterUsername' => '<string>',
        'MonitoringInterval' => <integer>,
        'MonitoringRoleArn' => '<string>',
        'MultiAZ' => true || false,
        'NetworkType' => '<string>',
        'PendingModifiedValues' => [
            'AllocatedStorage' => <integer>,
            'BackupRetentionPeriod' => <integer>,
            'CertificateDetails' => [
                'CAIdentifier' => '<string>',
                'ValidTill' => <DateTime>,
            ],
            'DBClusterIdentifier' => '<string>',
            'EngineVersion' => '<string>',
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'Iops' => <integer>,
            'MasterUserPassword' => '<string>',
            'PendingCloudwatchLogsExports' => [
                'LogTypesToDisable' => ['<string>', ...],
                'LogTypesToEnable' => ['<string>', ...],
            ],
            'RdsCustomClusterConfiguration' => [
                'InterconnectSubnetId' => '<string>',
                'ReplicaMode' => 'open-read-only|mounted',
                'TransitGatewayMulticastDomainId' => '<string>',
            ],
            'StorageType' => '<string>',
        ],
        'PercentProgress' => '<string>',
        'PerformanceInsightsEnabled' => true || false,
        'PerformanceInsightsKMSKeyId' => '<string>',
        'PerformanceInsightsRetentionPeriod' => <integer>,
        'Port' => <integer>,
        'PreferredBackupWindow' => '<string>',
        'PreferredMaintenanceWindow' => '<string>',
        'PubliclyAccessible' => true || false,
        'RdsCustomClusterConfiguration' => [
            'InterconnectSubnetId' => '<string>',
            'ReplicaMode' => 'open-read-only|mounted',
            'TransitGatewayMulticastDomainId' => '<string>',
        ],
        'ReadReplicaIdentifiers' => ['<string>', ...],
        'ReaderEndpoint' => '<string>',
        'ReplicationSourceIdentifier' => '<string>',
        'ScalingConfigurationInfo' => [
            'AutoPause' => true || false,
            'MaxCapacity' => <integer>,
            'MinCapacity' => <integer>,
            'SecondsBeforeTimeout' => <integer>,
            'SecondsUntilAutoPause' => <integer>,
            'TimeoutAction' => '<string>',
        ],
        'ServerlessV2ScalingConfiguration' => [
            'MaxCapacity' => <float>,
            'MinCapacity' => <float>,
            'SecondsUntilAutoPause' => <integer>,
        ],
        'Status' => '<string>',
        'StatusInfos' => [
            [
                'Message' => '<string>',
                'Normal' => true || false,
                'Status' => '<string>',
                'StatusType' => '<string>',
            ],
            // ...
        ],
        'StorageEncrypted' => true || false,
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcSecurityGroups' => [
            [
                'Status' => '<string>',
                'VpcSecurityGroupId' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
DBCluster
Type: DBCluster structure

Contains the details of an Amazon Aurora DB cluster or Multi-AZ DB cluster.

For an Amazon Aurora DB cluster, this data type is used as a response element in the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster, ModifyDBCluster, PromoteReadReplicaDBCluster, RestoreDBClusterFromS3, RestoreDBClusterFromSnapshot, RestoreDBClusterToPointInTime, StartDBCluster, and StopDBCluster.

For a Multi-AZ DB cluster, this data type is used as a response element in the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster, ModifyDBCluster, RebootDBCluster, RestoreDBClusterFromSnapshot, and RestoreDBClusterToPointInTime.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ deployments with two readable standby DB instances in the Amazon RDS User Guide.

Errors

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

DBClusterSnapshotAlreadyExistsFault:

The user already has a DB cluster snapshot with the given identifier.

SnapshotQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB snapshots.

InvalidDBClusterSnapshotStateFault:

The supplied value isn't a valid DB cluster snapshot state.

DBClusterAutomatedBackupQuotaExceededFault:

The quota for retained automated backups was exceeded. This prevents you from retaining any additional automated backups. The retained automated backups quota is the same as your DB cluster quota.

Examples

Example 1: To delete a DB cluster

The following example deletes the DB cluster named mycluster and takes a final snapshot named mycluster-final-snapshot. The status of the DB cluster is available while the snapshot is being taken.

$result = $client->deleteDBCluster([
    'DBClusterIdentifier' => 'mycluster',
    'FinalDBSnapshotIdentifier' => 'mycluster-final-snapshot',
    'SkipFinalSnapshot' => ,
]);

Result syntax:

[
    'DBCluster' => [
        'AllocatedStorage' => 20,
        'AvailabilityZones' => [
            'eu-central-1b',
            'eu-central-1c',
            'eu-central-1a',
        ],
        'BackupRetentionPeriod' => 7,
        'DBClusterIdentifier' => 'mycluster',
        'DBClusterParameterGroup' => 'default.aurora-postgresql10',
        'DBSubnetGroup' => 'default-vpc-aa11bb22',
        'Status' => 'available',
    ], // Some output ommitted.
]

DeleteDBClusterAutomatedBackup

$result = $client->deleteDBClusterAutomatedBackup([/* ... */]);
$promise = $client->deleteDBClusterAutomatedBackupAsync([/* ... */]);

Deletes automated backups using the DbClusterResourceId value of the source DB cluster or the Amazon Resource Name (ARN) of the automated backups.

Parameter Syntax

$result = $client->deleteDBClusterAutomatedBackup([
    'DbClusterResourceId' => '<string>', // REQUIRED
]);

Parameter Details

Members
DbClusterResourceId
Required: Yes
Type: string

The identifier for the source DB cluster, which can't be changed and which is unique to an Amazon Web Services Region.

Result Syntax

[
    'DBClusterAutomatedBackup' => [
        'AllocatedStorage' => <integer>,
        'AvailabilityZones' => ['<string>', ...],
        'AwsBackupRecoveryPointArn' => '<string>',
        'BackupRetentionPeriod' => <integer>,
        'ClusterCreateTime' => <DateTime>,
        'DBClusterArn' => '<string>',
        'DBClusterAutomatedBackupsArn' => '<string>',
        'DBClusterIdentifier' => '<string>',
        'DbClusterResourceId' => '<string>',
        'Engine' => '<string>',
        'EngineMode' => '<string>',
        'EngineVersion' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'Iops' => <integer>,
        'KmsKeyId' => '<string>',
        'LicenseModel' => '<string>',
        'MasterUsername' => '<string>',
        'Port' => <integer>,
        'Region' => '<string>',
        'RestoreWindow' => [
            'EarliestTime' => <DateTime>,
            'LatestTime' => <DateTime>,
        ],
        'Status' => '<string>',
        'StorageEncrypted' => true || false,
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBClusterAutomatedBackup
Type: DBClusterAutomatedBackup structure

An automated backup of a DB cluster. It consists of system backups, transaction logs, and the database cluster properties that existed at the time you deleted the source cluster.

Errors

InvalidDBClusterAutomatedBackupStateFault:

The automated backup is in an invalid state. For example, this automated backup is associated with an active cluster.

DBClusterAutomatedBackupNotFoundFault:

No automated backup for this DB cluster was found.

DeleteDBClusterEndpoint

$result = $client->deleteDBClusterEndpoint([/* ... */]);
$promise = $client->deleteDBClusterEndpointAsync([/* ... */]);

Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.

This action only applies to Aurora DB clusters.

Parameter Syntax

$result = $client->deleteDBClusterEndpoint([
    'DBClusterEndpointIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBClusterEndpointIdentifier
Required: Yes
Type: string

The identifier associated with the custom endpoint. This parameter is stored as a lowercase string.

Result Syntax

[
    'CustomEndpointType' => '<string>',
    'DBClusterEndpointArn' => '<string>',
    'DBClusterEndpointIdentifier' => '<string>',
    'DBClusterEndpointResourceIdentifier' => '<string>',
    'DBClusterIdentifier' => '<string>',
    'Endpoint' => '<string>',
    'EndpointType' => '<string>',
    'ExcludedMembers' => ['<string>', ...],
    'StaticMembers' => ['<string>', ...],
    'Status' => '<string>',
]

Result Details

Members
CustomEndpointType
Type: string

The type associated with a custom endpoint. One of: READER, WRITER, ANY.

DBClusterEndpointArn
Type: string

The Amazon Resource Name (ARN) for the endpoint.

DBClusterEndpointIdentifier
Type: string

The identifier associated with the endpoint. This parameter is stored as a lowercase string.

DBClusterEndpointResourceIdentifier
Type: string

A unique system-generated identifier for an endpoint. It remains the same for the whole life of the endpoint.

DBClusterIdentifier
Type: string

The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.

Endpoint
Type: string

The DNS address of the endpoint.

EndpointType
Type: string

The type of the endpoint. One of: READER, WRITER, CUSTOM.

ExcludedMembers
Type: Array of strings

List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty.

StaticMembers
Type: Array of strings

List of DB instance identifiers that are part of the custom endpoint group.

Status
Type: string

The current status of the endpoint. One of: creating, available, deleting, inactive, modifying. The inactive state applies to an endpoint that can't be used for a certain kind of cluster, such as a writer endpoint for a read-only secondary cluster in a global database.

Errors

InvalidDBClusterEndpointStateFault:

The requested operation can't be performed on the endpoint while the endpoint is in this state.

DBClusterEndpointNotFoundFault:

The specified custom endpoint doesn't exist.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

Examples

Example 1: To delete a custom DB cluster endpoint

The following example deletes the specified custom DB cluster endpoint.

$result = $client->deleteDBClusterEndpoint([
    'DBClusterEndpointIdentifier' => 'mycustomendpoint',
]);

Result syntax:

[
    'CustomEndpointType' => 'READER',
    'DBClusterEndpointArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:mycustomendpoint',
    'DBClusterEndpointIdentifier' => 'mycustomendpoint',
    'DBClusterEndpointResourceIdentifier' => 'cluster-endpoint-ANPAJ4AE5446DAEXAMPLE',
    'DBClusterIdentifier' => 'mydbcluster',
    'Endpoint' => 'mycustomendpoint.cluster-custom-cnpexample.us-east-1.rds.amazonaws.com',
    'EndpointType' => 'CUSTOM',
    'ExcludedMembers' => [
    ],
    'StaticMembers' => [
        'dbinstance1',
        'dbinstance2',
        'dbinstance3',
    ],
    'Status' => 'deleting',
]

DeleteDBClusterParameterGroup

$result = $client->deleteDBClusterParameterGroup([/* ... */]);
$promise = $client->deleteDBClusterParameterGroupAsync([/* ... */]);

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 What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->deleteDBClusterParameterGroup([
    'DBClusterParameterGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBClusterParameterGroupName
Required: Yes
Type: string

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.

  • Can't be associated with any DB clusters.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidDBParameterGroupStateFault:

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.

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

Examples

Example 1: To delete a DB cluster parameter group

The following example deletes the specified DB cluster parameter group.

$result = $client->deleteDBClusterParameterGroup([
    'DBClusterParameterGroupName' => 'mydbclusterparametergroup',
]);

DeleteDBClusterSnapshot

$result = $client->deleteDBClusterSnapshot([/* ... */]);
$promise = $client->deleteDBClusterSnapshotAsync([/* ... */]);

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->deleteDBClusterSnapshot([
    'DBClusterSnapshotIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBClusterSnapshotIdentifier
Required: Yes
Type: string

The identifier of the DB cluster snapshot to delete.

Constraints: Must be the name of an existing DB cluster snapshot in the available state.

Result Syntax

[
    'DBClusterSnapshot' => [
        'AllocatedStorage' => <integer>,
        'AvailabilityZones' => ['<string>', ...],
        'ClusterCreateTime' => <DateTime>,
        'DBClusterIdentifier' => '<string>',
        'DBClusterSnapshotArn' => '<string>',
        'DBClusterSnapshotIdentifier' => '<string>',
        'DBSystemId' => '<string>',
        'DbClusterResourceId' => '<string>',
        'Engine' => '<string>',
        'EngineMode' => '<string>',
        'EngineVersion' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'KmsKeyId' => '<string>',
        'LicenseModel' => '<string>',
        'MasterUsername' => '<string>',
        'PercentProgress' => <integer>,
        'Port' => <integer>,
        'SnapshotCreateTime' => <DateTime>,
        'SnapshotType' => '<string>',
        'SourceDBClusterSnapshotArn' => '<string>',
        'Status' => '<string>',
        'StorageEncrypted' => true || false,
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBClusterSnapshot
Type: DBClusterSnapshot structure

Contains the details for an Amazon RDS DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

Errors

InvalidDBClusterSnapshotStateFault:

The supplied value isn't a valid DB cluster snapshot state.

DBClusterSnapshotNotFoundFault:

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

Examples

Example 1: To delete a DB cluster snapshot

$result = $client->deleteDBClusterSnapshot([
    'DBClusterSnapshotIdentifier' => 'mydbclustersnapshot',
]);

Result syntax:

[
    'DBClusterSnapshot' => [
        'AllocatedStorage' => 0,
        'AvailabilityZones' => [
            'us-east-1a',
            'us-east-1b',
            'us-east-1e',
        ],
        'ClusterCreateTime' => ,
        'DBClusterIdentifier' => 'mydbcluster',
        'DBClusterSnapshotArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-snapshot:mydbclustersnapshot',
        'DBClusterSnapshotIdentifier' => 'mydbclustersnapshot',
        'Engine' => 'aurora-mysql',
        'EngineVersion' => '5.7.mysql_aurora.2.04.2',
        'IAMDatabaseAuthenticationEnabled' => ,
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
        'LicenseModel' => 'aurora-mysql',
        'MasterUsername' => 'myadmin',
        'PercentProgress' => 100,
        'Port' => 0,
        'SnapshotCreateTime' => ,
        'SnapshotType' => 'manual',
        'Status' => 'available',
        'StorageEncrypted' => 1,
        'VpcId' => 'vpc-6594f31c',
    ],
]

DeleteDBInstance

$result = $client->deleteDBInstance([/* ... */]);
$promise = $client->deleteDBInstanceAsync([/* ... */]);

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. However, manual DB snapshots of the DB instance aren't deleted.

If you request a final DB snapshot, the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. This operation can't be canceled or reverted after it begins. To monitor the status of this operation, use DescribeDBInstance.

When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when you skip creation of the final snapshot with the SkipFinalSnapshot parameter.

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:

  • The DB cluster is a read replica of another Amazon Aurora DB cluster.

  • The DB instance is the only instance in the DB cluster.

To delete a DB instance in this case, first use the PromoteReadReplicaDBCluster operation to promote the DB cluster so that it's no longer a read replica. After the promotion completes, use the DeleteDBInstance operation to delete the final instance in the DB cluster.

For RDS Custom DB instances, deleting the DB instance permanently deletes the EC2 instance and the associated EBS volumes. Make sure that you don't terminate or delete these resources before you delete the DB instance. Otherwise, deleting the DB instance and creation of the final snapshot might fail.

Parameter Syntax

$result = $client->deleteDBInstance([
    'DBInstanceIdentifier' => '<string>', // REQUIRED
    'DeleteAutomatedBackups' => true || false,
    'FinalDBSnapshotIdentifier' => '<string>',
    'SkipFinalSnapshot' => true || false,
]);

Parameter Details

Members
DBInstanceIdentifier
Required: Yes
Type: string

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.

DeleteAutomatedBackups
Type: boolean

Specifies whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.

FinalDBSnapshotIdentifier
Type: string

The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot parameter is disabled.

If you enable this parameter and also enable SkipFinalShapshot, the command results in an error.

This setting doesn't apply to RDS Custom.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

  • Can't be specified when deleting a read replica.

SkipFinalSnapshot
Type: boolean

Specifies whether to skip the creation of a final DB snapshot before deleting the instance. If you enable this parameter, RDS doesn't create a DB snapshot. If you don't enable this parameter, RDS creates a DB snapshot before the DB instance is deleted. By default, skip isn't enabled, and the DB snapshot is created.

If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier parameter.

When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, RDS can delete the instance only if you enable this parameter.

If you delete a read replica or an RDS Custom instance, you must enable this setting.

This setting is required for RDS Custom.

Result Syntax

[
    'DBInstance' => [
        'ActivityStreamEngineNativeAuditFieldsIncluded' => true || false,
        'ActivityStreamKinesisStreamName' => '<string>',
        'ActivityStreamKmsKeyId' => '<string>',
        'ActivityStreamMode' => 'sync|async',
        'ActivityStreamPolicyStatus' => 'locked|unlocked|locking-policy|unlocking-policy',
        'ActivityStreamStatus' => 'stopped|starting|started|stopping',
        'AllocatedStorage' => <integer>,
        'AssociatedRoles' => [
            [
                'FeatureName' => '<string>',
                'RoleArn' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'AutoMinorVersionUpgrade' => true || false,
        'AutomaticRestartTime' => <DateTime>,
        'AutomationMode' => 'full|all-paused',
        'AvailabilityZone' => '<string>',
        'AwsBackupRecoveryPointArn' => '<string>',
        'BackupRetentionPeriod' => <integer>,
        'BackupTarget' => '<string>',
        'CACertificateIdentifier' => '<string>',
        'CertificateDetails' => [
            'CAIdentifier' => '<string>',
            'ValidTill' => <DateTime>,
        ],
        'CharacterSetName' => '<string>',
        'CopyTagsToSnapshot' => true || false,
        'CustomIamInstanceProfile' => '<string>',
        'CustomerOwnedIpEnabled' => true || false,
        'DBClusterIdentifier' => '<string>',
        'DBInstanceArn' => '<string>',
        'DBInstanceAutomatedBackupsReplications' => [
            [
                'DBInstanceAutomatedBackupsArn' => '<string>',
            ],
            // ...
        ],
        'DBInstanceClass' => '<string>',
        'DBInstanceIdentifier' => '<string>',
        'DBInstanceStatus' => '<string>',
        'DBName' => '<string>',
        'DBParameterGroups' => [
            [
                'DBParameterGroupName' => '<string>',
                'ParameterApplyStatus' => '<string>',
            ],
            // ...
        ],
        'DBSecurityGroups' => [
            [
                'DBSecurityGroupName' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'DBSubnetGroup' => [
            'DBSubnetGroupArn' => '<string>',
            'DBSubnetGroupDescription' => '<string>',
            'DBSubnetGroupName' => '<string>',
            'SubnetGroupStatus' => '<string>',
            'Subnets' => [
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => '<string>',
                    ],
                    'SubnetIdentifier' => '<string>',
                    'SubnetOutpost' => [
                        'Arn' => '<string>',
                    ],
                    'SubnetStatus' => '<string>',
                ],
                // ...
            ],
            'SupportedNetworkTypes' => ['<string>', ...],
            'VpcId' => '<string>',
        ],
        'DBSystemId' => '<string>',
        'DatabaseInsightsMode' => 'standard|advanced',
        'DbInstancePort' => <integer>,
        'DbiResourceId' => '<string>',
        'DedicatedLogVolume' => true || false,
        'DeletionProtection' => true || false,
        'DomainMemberships' => [
            [
                'AuthSecretArn' => '<string>',
                'DnsIps' => ['<string>', ...],
                'Domain' => '<string>',
                'FQDN' => '<string>',
                'IAMRoleName' => '<string>',
                'OU' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'EnabledCloudwatchLogsExports' => ['<string>', ...],
        'Endpoint' => [
            'Address' => '<string>',
            'HostedZoneId' => '<string>',
            'Port' => <integer>,
        ],
        'Engine' => '<string>',
        'EngineLifecycleSupport' => '<string>',
        'EngineVersion' => '<string>',
        'EnhancedMonitoringResourceArn' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'InstanceCreateTime' => <DateTime>,
        'Iops' => <integer>,
        'IsStorageConfigUpgradeAvailable' => true || false,
        'KmsKeyId' => '<string>',
        'LatestRestorableTime' => <DateTime>,
        'LicenseModel' => '<string>',
        'ListenerEndpoint' => [
            'Address' => '<string>',
            'HostedZoneId' => '<string>',
            'Port' => <integer>,
        ],
        'MasterUserSecret' => [
            'KmsKeyId' => '<string>',
            'SecretArn' => '<string>',
            'SecretStatus' => '<string>',
        ],
        'MasterUsername' => '<string>',
        'MaxAllocatedStorage' => <integer>,
        'MonitoringInterval' => <integer>,
        'MonitoringRoleArn' => '<string>',
        'MultiAZ' => true || false,
        'MultiTenant' => true || false,
        'NcharCharacterSetName' => '<string>',
        'NetworkType' => '<string>',
        'OptionGroupMemberships' => [
            [
                'OptionGroupName' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'PendingModifiedValues' => [
            'AllocatedStorage' => <integer>,
            'AutomationMode' => 'full|all-paused',
            'BackupRetentionPeriod' => <integer>,
            'CACertificateIdentifier' => '<string>',
            'DBInstanceClass' => '<string>',
            'DBInstanceIdentifier' => '<string>',
            'DBSubnetGroupName' => '<string>',
            'DedicatedLogVolume' => true || false,
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'Iops' => <integer>,
            'LicenseModel' => '<string>',
            'MasterUserPassword' => '<string>',
            'MultiAZ' => true || false,
            'MultiTenant' => true || false,
            'PendingCloudwatchLogsExports' => [
                'LogTypesToDisable' => ['<string>', ...],
                'LogTypesToEnable' => ['<string>', ...],
            ],
            'Port' => <integer>,
            'ProcessorFeatures' => [
                [
                    'Name' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'ResumeFullAutomationModeTime' => <DateTime>,
            'StorageThroughput' => <integer>,
            'StorageType' => '<string>',
        ],
        'PercentProgress' => '<string>',
        'PerformanceInsightsEnabled' => true || false,
        'PerformanceInsightsKMSKeyId' => '<string>',
        'PerformanceInsightsRetentionPeriod' => <integer>,
        'PreferredBackupWindow' => '<string>',
        'PreferredMaintenanceWindow' => '<string>',
        'ProcessorFeatures' => [
            [
                'Name' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'PromotionTier' => <integer>,
        'PubliclyAccessible' => true || false,
        'ReadReplicaDBClusterIdentifiers' => ['<string>', ...],
        'ReadReplicaDBInstanceIdentifiers' => ['<string>', ...],
        'ReadReplicaSourceDBClusterIdentifier' => '<string>',
        'ReadReplicaSourceDBInstanceIdentifier' => '<string>',
        'ReplicaMode' => 'open-read-only|mounted',
        'ResumeFullAutomationModeTime' => <DateTime>,
        'SecondaryAvailabilityZone' => '<string>',
        'StatusInfos' => [
            [
                'Message' => '<string>',
                'Normal' => true || false,
                'Status' => '<string>',
                'StatusType' => '<string>',
            ],
            // ...
        ],
        'StorageEncrypted' => true || false,
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TdeCredentialArn' => '<string>',
        'Timezone' => '<string>',
        'VpcSecurityGroups' => [
            [
                'Status' => '<string>',
                'VpcSecurityGroupId' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
DBInstance
Type: DBInstance structure

Contains the details of an Amazon RDS DB instance.

This data type is used as a response element in the operations CreateDBInstance, CreateDBInstanceReadReplica, DeleteDBInstance, DescribeDBInstances, ModifyDBInstance, PromoteReadReplica, RebootDBInstance, RestoreDBInstanceFromDBSnapshot, RestoreDBInstanceFromS3, RestoreDBInstanceToPointInTime, StartDBInstance, and StopDBInstance.

Errors

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

DBSnapshotAlreadyExistsFault:

DBSnapshotIdentifier is already used by an existing snapshot.

SnapshotQuotaExceededFault:

The request would result in the user exceeding the allowed number of DB snapshots.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

DBInstanceAutomatedBackupQuotaExceededFault:

The quota for retained automated backups was exceeded. This prevents you from retaining any additional automated backups. The retained automated backups quota is the same as your DB instance quota.

Examples

Example 1: To delete a DB instance

The following example deletes the specified DB instance after creating a final DB snapshot named test-instance-final-snap.

$result = $client->deleteDBInstance([
    'DBInstanceIdentifier' => 'test-instance',
    'FinalDBSnapshotIdentifier' => 'test-instance-final-snap',
    'SkipFinalSnapshot' => ,
]);

Result syntax:

[
    'DBInstance' => [
        'DBInstanceIdentifier' => 'test-instance',
        'DBInstanceStatus' => 'deleting',
    ], // Some output ommitted.
]

DeleteDBInstanceAutomatedBackup

$result = $client->deleteDBInstanceAutomatedBackup([/* ... */]);
$promise = $client->deleteDBInstanceAutomatedBackupAsync([/* ... */]);

Deletes automated backups using the DbiResourceId value of the source DB instance or the Amazon Resource Name (ARN) of the automated backups.

Parameter Syntax

$result = $client->deleteDBInstanceAutomatedBackup([
    'DBInstanceAutomatedBackupsArn' => '<string>',
    'DbiResourceId' => '<string>',
]);

Parameter Details

Members
DBInstanceAutomatedBackupsArn
Type: string

The Amazon Resource Name (ARN) of the automated backups to delete, for example, arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

This setting doesn't apply to RDS Custom.

DbiResourceId
Type: string

The identifier for the source DB instance, which can't be changed and which is unique to an Amazon Web Services Region.

Result Syntax

[
    'DBInstanceAutomatedBackup' => [
        'AllocatedStorage' => <integer>,
        'AvailabilityZone' => '<string>',
        'AwsBackupRecoveryPointArn' => '<string>',
        'BackupRetentionPeriod' => <integer>,
        'BackupTarget' => '<string>',
        'DBInstanceArn' => '<string>',
        'DBInstanceAutomatedBackupsArn' => '<string>',
        'DBInstanceAutomatedBackupsReplications' => [
            [
                'DBInstanceAutomatedBackupsArn' => '<string>',
            ],
            // ...
        ],
        'DBInstanceIdentifier' => '<string>',
        'DbiResourceId' => '<string>',
        'DedicatedLogVolume' => true || false,
        'Encrypted' => true || false,
        'Engine' => '<string>',
        'EngineVersion' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'InstanceCreateTime' => <DateTime>,
        'Iops' => <integer>,
        'KmsKeyId' => '<string>',
        'LicenseModel' => '<string>',
        'MasterUsername' => '<string>',
        'MultiTenant' => true || false,
        'OptionGroupName' => '<string>',
        'Port' => <integer>,
        'Region' => '<string>',
        'RestoreWindow' => [
            'EarliestTime' => <DateTime>,
            'LatestTime' => <DateTime>,
        ],
        'Status' => '<string>',
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TdeCredentialArn' => '<string>',
        'Timezone' => '<string>',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBInstanceAutomatedBackup
Type: DBInstanceAutomatedBackup structure

An automated backup of a DB instance. It consists of system backups, transaction logs, and the database instance properties that existed at the time you deleted the source instance.

Errors

InvalidDBInstanceAutomatedBackupStateFault:

The automated backup is in an invalid state. For example, this automated backup is associated with an active instance.

DBInstanceAutomatedBackupNotFoundFault:

No automated backup for this DB instance was found.

Examples

Example 1: To delete a replicated automated backup from a Region

The following example deletes the automated backup with the specified Amazon Resource Name (ARN).

$result = $client->deleteDBInstanceAutomatedBackup([
    'DBInstanceAutomatedBackupsArn' => 'arn:aws:rds:us-west-2:123456789012:auto-backup:ab-jkib2gfq5rv7replzadausbrktni2bn4example',
]);

Result syntax:

[
    'DBInstanceAutomatedBackup' => [
        'AllocatedStorage' => 20,
        'AvailabilityZone' => 'us-east-1b',
        'BackupRetentionPeriod' => 7,
        'DBInstanceArn' => 'arn:aws:rds:us-east-1:123456789012:db:new-orcl-db',
        'DBInstanceAutomatedBackupsArn' => 'arn:aws:rds:us-west-2:123456789012:auto-backup:ab-jkib2gfq5rv7replzadausbrktni2bn4example',
        'DBInstanceIdentifier' => 'new-orcl-db',
        'DbiResourceId' => 'db-JKIB2GFQ5RV7REPLZA4EXAMPLE',
        'Encrypted' => ,
        'Engine' => 'oracle-se2',
        'EngineVersion' => '12.1.0.2.v21',
        'IAMDatabaseAuthenticationEnabled' => ,
        'InstanceCreateTime' => ,
        'LicenseModel' => 'bring-your-own-license',
        'MasterUsername' => 'admin',
        'OptionGroupName' => 'default:oracle-se2-12-1',
        'Port' => 1521,
        'Region' => 'us-east-1',
        'RestoreWindow' => [
        ],
        'Status' => 'deleting',
        'StorageType' => 'gp2',
        'VpcId' => 'vpc-########',
    ],
]

DeleteDBParameterGroup

$result = $client->deleteDBParameterGroup([/* ... */]);
$promise = $client->deleteDBParameterGroupAsync([/* ... */]);

Deletes a specified DB parameter group. The DB parameter group to be deleted can't be associated with any DB instances.

Parameter Syntax

$result = $client->deleteDBParameterGroup([
    'DBParameterGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBParameterGroupName
Required: Yes
Type: string

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

  • Can't be associated with any DB instances

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidDBParameterGroupStateFault:

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.

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

Examples

Example 1: To delete a DB parameter group

The following example deletes a DB parameter group.

$result = $client->deleteDBParameterGroup([
    'DBParameterGroupName' => 'mydbparametergroup',
]);

DeleteDBProxy

$result = $client->deleteDBProxy([/* ... */]);
$promise = $client->deleteDBProxyAsync([/* ... */]);

Deletes an existing DB proxy.

Parameter Syntax

$result = $client->deleteDBProxy([
    'DBProxyName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBProxyName
Required: Yes
Type: string

The name of the DB proxy to delete.

Result Syntax

[
    'DBProxy' => [
        'Auth' => [
            [
                'AuthScheme' => 'SECRETS',
                'ClientPasswordAuthType' => 'MYSQL_NATIVE_PASSWORD|POSTGRES_SCRAM_SHA_256|POSTGRES_MD5|SQL_SERVER_AUTHENTICATION',
                'Description' => '<string>',
                'IAMAuth' => 'DISABLED|REQUIRED|ENABLED',
                'SecretArn' => '<string>',
                'UserName' => '<string>',
            ],
            // ...
        ],
        'CreatedDate' => <DateTime>,
        'DBProxyArn' => '<string>',
        'DBProxyName' => '<string>',
        'DebugLogging' => true || false,
        'Endpoint' => '<string>',
        'EngineFamily' => '<string>',
        'IdleClientTimeout' => <integer>,
        'RequireTLS' => true || false,
        'RoleArn' => '<string>',
        'Status' => 'available|modifying|incompatible-network|insufficient-resource-limits|creating|deleting|suspended|suspending|reactivating',
        'UpdatedDate' => <DateTime>,
        'VpcId' => '<string>',
        'VpcSecurityGroupIds' => ['<string>', ...],
        'VpcSubnetIds' => ['<string>', ...],
    ],
]

Result Details

Members
DBProxy
Type: DBProxy structure

The data structure representing the details of the DB proxy that you delete.

Errors

DBProxyNotFoundFault:

The specified proxy name doesn't correspond to a proxy owned by your Amazon Web Services account in the specified Amazon Web Services Region.

InvalidDBProxyStateFault:

The requested operation can't be performed while the proxy is in this state.

DeleteDBProxyEndpoint

$result = $client->deleteDBProxyEndpoint([/* ... */]);
$promise = $client->deleteDBProxyEndpointAsync([/* ... */]);

Deletes a DBProxyEndpoint. Doing so removes the ability to access the DB proxy using the endpoint that you defined. The endpoint that you delete might have provided capabilities such as read/write or read-only operations, or using a different VPC than the DB proxy's default VPC.

Parameter Syntax

$result = $client->deleteDBProxyEndpoint([
    'DBProxyEndpointName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBProxyEndpointName
Required: Yes
Type: string

The name of the DB proxy endpoint to delete.

Result Syntax

[
    'DBProxyEndpoint' => [
        'CreatedDate' => <DateTime>,
        'DBProxyEndpointArn' => '<string>',
        'DBProxyEndpointName' => '<string>',
        'DBProxyName' => '<string>',
        'Endpoint' => '<string>',
        'IsDefault' => true || false,
        'Status' => 'available|modifying|incompatible-network|insufficient-resource-limits|creating|deleting',
        'TargetRole' => 'READ_WRITE|READ_ONLY',
        'VpcId' => '<string>',
        'VpcSecurityGroupIds' => ['<string>', ...],
        'VpcSubnetIds' => ['<string>', ...],
    ],
]

Result Details

Members
DBProxyEndpoint
Type: DBProxyEndpoint structure

The data structure representing the details of the DB proxy endpoint that you delete.

Errors

DBProxyEndpointNotFoundFault:

The DB proxy endpoint doesn't exist.

InvalidDBProxyEndpointStateFault:

You can't perform this operation while the DB proxy endpoint is in a particular state.

DeleteDBSecurityGroup

$result = $client->deleteDBSecurityGroup([/* ... */]);
$promise = $client->deleteDBSecurityGroupAsync([/* ... */]);

Deletes a DB security group.

The specified DB security group must not be associated with any DB instances.

EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic Networking is Retiring – Here’s How to Prepare, and Moving a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->deleteDBSecurityGroup([
    'DBSecurityGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBSecurityGroupName
Required: Yes
Type: string

The name of the DB security group to delete.

You can't delete the default DB security group.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens

  • Must not be "Default"

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidDBSecurityGroupStateFault:

The state of the DB security group doesn't allow deletion.

DBSecurityGroupNotFoundFault:

DBSecurityGroupName doesn't refer to an existing DB security group.

Examples

Example 1: To delete a DB security group

The following example deletes a DB security group.

$result = $client->deleteDBSecurityGroup([
    'DBSecurityGroupName' => 'mysecgroup',
]);

DeleteDBShardGroup

$result = $client->deleteDBShardGroup([/* ... */]);
$promise = $client->deleteDBShardGroupAsync([/* ... */]);

Deletes an Aurora Limitless Database DB shard group.

Parameter Syntax

$result = $client->deleteDBShardGroup([
    'DBShardGroupIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBShardGroupIdentifier
Required: Yes
Type: string

The name of the DB shard group to delete.

Result Syntax

[
    'ComputeRedundancy' => <integer>,
    'DBClusterIdentifier' => '<string>',
    'DBShardGroupArn' => '<string>',
    'DBShardGroupIdentifier' => '<string>',
    'DBShardGroupResourceId' => '<string>',
    'Endpoint' => '<string>',
    'MaxACU' => <float>,
    'MinACU' => <float>,
    'PubliclyAccessible' => true || false,
    'Status' => '<string>',
    'TagList' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
ComputeRedundancy
Type: int

Specifies whether to create standby DB shard groups for the DB shard group. Valid values are the following:

  • 0 - Creates a DB shard group without a standby DB shard group. This is the default value.

  • 1 - Creates a DB shard group with a standby DB shard group in a different Availability Zone (AZ).

  • 2 - Creates a DB shard group with two standby DB shard groups in two different AZs.

DBClusterIdentifier
Type: string

The name of the primary DB cluster for the DB shard group.

DBShardGroupArn
Type: string

The Amazon Resource Name (ARN) for the DB shard group.

DBShardGroupIdentifier
Type: string

The name of the DB shard group.

DBShardGroupResourceId
Type: string

The Amazon Web Services Region-unique, immutable identifier for the DB shard group.

Endpoint
Type: string

The connection endpoint for the DB shard group.

MaxACU
Type: double

The maximum capacity of the DB shard group in Aurora capacity units (ACUs).

MinACU
Type: double

The minimum capacity of the DB shard group in Aurora capacity units (ACUs).

PubliclyAccessible
Type: boolean

Indicates whether the DB shard group is publicly accessible.

When the DB shard group is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB shard group's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB shard group's VPC. Access to the DB shard group is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB shard group doesn't permit it.

When the DB shard group isn't publicly accessible, it is an internal DB shard group with a DNS name that resolves to a private IP address.

For more information, see CreateDBShardGroup.

This setting is only for Aurora Limitless Database.

Status
Type: string

The status of the DB shard group.

TagList
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

Errors

DBShardGroupNotFoundFault:

The specified DB shard group name wasn't found.

InvalidDBShardGroupStateFault:

The DB shard group must be in the available state.

InvalidDBClusterStateFault:

The requested operation can't be performed while the cluster is in this state.

DeleteDBSnapshot

$result = $client->deleteDBSnapshot([/* ... */]);
$promise = $client->deleteDBSnapshotAsync([/* ... */]);

Deletes a DB snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB snapshot must be in the available state to be deleted.

Parameter Syntax

$result = $client->deleteDBSnapshot([
    'DBSnapshotIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBSnapshotIdentifier
Required: Yes
Type: string

The DB snapshot identifier.

Constraints: Must be the name of an existing DB snapshot in the available state.

Result Syntax

[
    'DBSnapshot' => [
        'AllocatedStorage' => <integer>,
        'AvailabilityZone' => '<string>',
        'DBInstanceIdentifier' => '<string>',
        'DBSnapshotArn' => '<string>',
        'DBSnapshotIdentifier' => '<string>',
        'DBSystemId' => '<string>',
        'DbiResourceId' => '<string>',
        'DedicatedLogVolume' => true || false,
        'Encrypted' => true || false,
        'Engine' => '<string>',
        'EngineVersion' => '<string>',
        'IAMDatabaseAuthenticationEnabled' => true || false,
        'InstanceCreateTime' => <DateTime>,
        'Iops' => <integer>,
        'KmsKeyId' => '<string>',
        'LicenseModel' => '<string>',
        'MasterUsername' => '<string>',
        'MultiTenant' => true || false,
        'OptionGroupName' => '<string>',
        'OriginalSnapshotCreateTime' => <DateTime>,
        'PercentProgress' => <integer>,
        'Port' => <integer>,
        'ProcessorFeatures' => [
            [
                'Name' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'SnapshotCreateTime' => <DateTime>,
        'SnapshotDatabaseTime' => <DateTime>,
        'SnapshotTarget' => '<string>',
        'SnapshotType' => '<string>',
        'SourceDBSnapshotIdentifier' => '<string>',
        'SourceRegion' => '<string>',
        'Status' => '<string>',
        'StorageThroughput' => <integer>,
        'StorageType' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TdeCredentialArn' => '<string>',
        'Timezone' => '<string>',
        'VpcId' => '<string>',
    ],
]

Result Details

Members
DBSnapshot
Type: DBSnapshot structure

Contains the details of an Amazon RDS DB snapshot.

This data type is used as a response element in the DescribeDBSnapshots action.

Errors

InvalidDBSnapshotStateFault:

The state of the DB snapshot doesn't allow deletion.

DBSnapshotNotFoundFault:

DBSnapshotIdentifier doesn't refer to an existing DB snapshot.

Examples

Example 1: To delete a DB snapshot

The following example deletes the specified DB snapshot.

$result = $client->deleteDBSnapshot([
    'DBSnapshotIdentifier' => 'mydbsnapshot',
]);

Result syntax:

[
    'DBSnapshot' => [
        'AllocatedStorage' => 100,
        'AvailabilityZone' => 'us-east-1b',
        'DBInstanceIdentifier' => 'database-mysql',
        'DBSnapshotArn' => 'arn:aws:rds:us-east-1:123456789012:snapshot:mydbsnapshot',
        'DBSnapshotIdentifier' => 'mydbsnapshot',
        'DbiResourceId' => 'db-AKIAIOSFODNN7EXAMPLE',
        'Encrypted' => 1,
        'Engine' => 'mysql',
        'EngineVersion' => '5.6.40',
        'IAMDatabaseAuthenticationEnabled' => ,
        'InstanceCreateTime' => ,
        'Iops' => 1000,
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
        'LicenseModel' => 'general-public-license',
        'MasterUsername' => 'admin',
        'OptionGroupName' => 'default:mysql-5-6',
        'PercentProgress' => 100,
        'Port' => 3306,
        'ProcessorFeatures' => [
        ],
        'SnapshotCreateTime' => ,
        'SnapshotType' => 'manual',
        'Status' => 'deleted',
        'StorageType' => 'io1',
        'VpcId' => 'vpc-6594f31c',
    ],
]

DeleteDBSubnetGroup

$result = $client->deleteDBSubnetGroup([/* ... */]);
$promise = $client->deleteDBSubnetGroupAsync([/* ... */]);

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

Parameter Syntax

$result = $client->deleteDBSubnetGroup([
    'DBSubnetGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBSubnetGroupName
Required: Yes
Type: string

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mydbsubnetgroup

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidDBSubnetGroupStateFault:

The DB subnet group cannot be deleted because it's in use.

InvalidDBSubnetStateFault:

The DB subnet isn't in the available state.

DBSubnetGroupNotFoundFault:

DBSubnetGroupName doesn't refer to an existing DB subnet group.

Examples

Example 1: To delete a DB subnet group

The following example deletes the DB subnet group called mysubnetgroup.

$result = $client->deleteDBSubnetGroup([
    'DBSubnetGroupName' => 'mysubnetgroup',
]);

DeleteEventSubscription

$result = $client->deleteEventSubscription([/* ... */]);
$promise = $client->deleteEventSubscriptionAsync([/* ... */]);

Deletes an RDS event notification subscription.

Parameter Syntax

$result = $client->deleteEventSubscription([
    'SubscriptionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
SubscriptionName
Required: Yes
Type: string

The name of the RDS event notification subscription you want to delete.

Result Syntax

[
    'EventSubscription' => [
        'CustSubscriptionId' => '<string>',
        'CustomerAwsId' => '<string>',
        'Enabled' => true || false,
        'EventCategoriesList' => ['<string>', ...],
        'EventSubscriptionArn' => '<string>',
        'SnsTopicArn' => '<string>',
        'SourceIdsList' => ['<string>', ...],
        'SourceType' => '<string>',
        'Status' => '<string>',
        'SubscriptionCreationTime' => '<string>',
    ],
]

Result Details

Members
EventSubscription
Type: EventSubscription structure

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

Errors

SubscriptionNotFoundFault:

The subscription name does not exist.

InvalidEventSubscriptionStateFault:

This error can occur if someone else is modifying a subscription. You should retry the action.

Examples

Example 1: To delete an event subscription

The following example deletes the specified event subscription.

$result = $client->deleteEventSubscription([
    'SubscriptionName' => 'my-instance-events',
]);

Result syntax:

[
    'EventSubscription' => [
        'CustSubscriptionId' => 'my-instance-events',
        'CustomerAwsId' => '123456789012',
        'Enabled' => ,
        'EventCategoriesList' => [
            'backup',
            'recovery',
        ],
        'EventSubscriptionArn' => 'arn:aws:rds:us-east-1:123456789012:es:my-instance-events',
        'SnsTopicArn' => 'arn:aws:sns:us-east-1:123456789012:interesting-events',
        'SourceIdsList' => [
            'test-instance',
        ],
        'SourceType' => 'db-instance',
        'Status' => 'deleting',
        'SubscriptionCreationTime' => '2018-07-31 23:22:01.893',
    ],
]

DeleteGlobalCluster

$result = $client->deleteGlobalCluster([/* ... */]);
$promise = $client->deleteGlobalClusterAsync([/* ... */]);

Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed first.

This action only applies to Aurora DB clusters.

Parameter Syntax

$result = $client->deleteGlobalCluster([
    'GlobalClusterIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
GlobalClusterIdentifier
Required: Yes
Type: string

The cluster identifier of the global database cluster being deleted.

Result Syntax

[
    'GlobalCluster' => [
        'DatabaseName' => '<string>',
        'DeletionProtection' => true || false,
        'Endpoint' => '<string>',
        'Engine' => '<string>',
        'EngineLifecycleSupport' => '<string>',
        'EngineVersion' => '<string>',
        'FailoverState' => [
            'FromDbClusterArn' => '<string>',
            'IsDataLossAllowed' => true || false,
            'Status' => 'pending|failing-over|cancelling',
            'ToDbClusterArn' => '<string>',
        ],
        'GlobalClusterArn' => '<string>',
        'GlobalClusterIdentifier' => '<string>',
        'GlobalClusterMembers' => [
            [
                'DBClusterArn' => '<string>',
                'GlobalWriteForwardingStatus' => 'enabled|disabled|enabling|disabling|unknown',
                'IsWriter' => true || false,
                'Readers' => ['<string>', ...],
                'SynchronizationStatus' => 'connected|pending-resync',
            ],
            // ...
        ],
        'GlobalClusterResourceId' => '<string>',
        'Status' => '<string>',
        'StorageEncrypted' => true || false,
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
GlobalCluster
Type: GlobalCluster structure

A data type representing an Aurora global database.

Errors

GlobalClusterNotFoundFault:

The GlobalClusterIdentifier doesn't refer to an existing global database cluster.

InvalidGlobalClusterStateFault:

The global cluster is in an invalid state and can't perform the requested operation.

Examples

Example 1: To delete a global DB cluster

The following example deletes an Aurora MySQL-compatible global DB cluster.

$result = $client->deleteGlobalCluster([
    'GlobalClusterIdentifier' => 'myglobalcluster',
]);

Result syntax:

[
    'GlobalCluster' => [
        'DeletionProtection' => ,
        'Engine' => 'aurora-mysql',
        'EngineVersion' => '5.7.mysql_aurora.2.07.2',
        'GlobalClusterArn' => 'arn:aws:rds::123456789012:global-cluster:myglobalcluster',
        'GlobalClusterIdentifier' => 'myglobalcluster',
        'GlobalClusterMembers' => [
        ],
        'GlobalClusterResourceId' => 'cluster-f0e523bfe07aabb',
        'Status' => 'available',
        'StorageEncrypted' => ,
    ],
]

DeleteIntegration

$result = $client->deleteIntegration([/* ... */]);
$promise = $client->deleteIntegrationAsync([/* ... */]);

Deletes a zero-ETL integration with Amazon Redshift.

Parameter Syntax

$result = $client->deleteIntegration([
    'IntegrationIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
IntegrationIdentifier
Required: Yes
Type: string

The unique identifier of the integration.

Result Syntax

[
    'AdditionalEncryptionContext' => ['<string>', ...],
    'CreateTime' => <DateTime>,
    'DataFilter' => '<string>',
    'Description' => '<string>',
    'Errors' => [
        [
            'ErrorCode' => '<string>',
            'ErrorMessage' => '<string>',
        ],
        // ...
    ],
    'IntegrationArn' => '<string>',
    'IntegrationName' => '<string>',
    'KMSKeyId' => '<string>',
    'SourceArn' => '<string>',
    'Status' => 'creating|active|modifying|failed|deleting|syncing|needs_attention',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetArn' => '<string>',
]

Result Details

Members
AdditionalEncryptionContext
Type: Associative array of custom strings keys (String) to strings

The encryption context for the integration. For more information, see Encryption context in the Amazon Web Services Key Management Service Developer Guide.

CreateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the integration was created, in Universal Coordinated Time (UTC).

DataFilter
Type: string

Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.

Description
Type: string

A description of the integration.

Errors
Type: Array of IntegrationError structures

Any errors associated with the integration.

IntegrationArn
Type: string

The ARN of the integration.

IntegrationName
Type: string

The name of the integration.

KMSKeyId
Type: string

The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key used to to encrypt the integration.

SourceArn
Type: string

The Amazon Resource Name (ARN) of the database used as the source for replication.

Status
Type: string

The current status of the integration.

Tags
Type: Array of Tag structures

A list of tags.

For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.

TargetArn
Type: string

The ARN of the Redshift data warehouse used as the target for replication.

Errors

IntegrationNotFoundFault:

The specified integration could not be found.

IntegrationConflictOperationFault:

A conflicting conditional operation is currently in progress against this resource. Typically occurs when there are multiple requests being made to the same resource at the same time, and these requests conflict with each other.

InvalidIntegrationStateFault:

The integration is in an invalid state and can't perform the requested operation.

Examples

Example 1: To delete a zero-ETL integration

The following example deletes a zero-ETL integration with Amazon Redshift.

$result = $client->deleteIntegration([
    'IntegrationIdentifier' => '5b9f3d79-7392-4a3e-896c-58eaa1b53231',
]);

Result syntax:

[
    'CreateTime' => ,
    'IntegrationArn' => 'arn:aws:rds:us-east-1:123456789012:integration:5b9f3d79-7392-4a3e-896c-58eaa1b53231',
    'IntegrationName' => 'my-integration',
    'KMSKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa',
    'SourceArn' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-cluster',
    'Status' => 'deleting',
    'Tags' => [
    ],
    'TargetArn' => 'arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8',
]

DeleteOptionGroup

$result = $client->deleteOptionGroup([/* ... */]);
$promise = $client->deleteOptionGroupAsync([/* ... */]);

Deletes an existing option group.

Parameter Syntax

$result = $client->deleteOptionGroup([
    'OptionGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
OptionGroupName
Required: Yes
Type: string

The name of the option group to be deleted.

You can't delete default option groups.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

OptionGroupNotFoundFault:

The specified option group could not be found.

InvalidOptionGroupStateFault:

The option group isn't in the available state.

Examples

Example 1: To delete an option group

The following example deletes the specified option group.

$result = $client->deleteOptionGroup([
    'OptionGroupName' => 'myoptiongroup',
]);

DeleteTenantDatabase

$result = $client->deleteTenantDatabase([/* ... */]);
$promise = $client->deleteTenantDatabaseAsync([/* ... */]);

Deletes a tenant database from your DB instance. This command only applies to RDS for Oracle container database (CDB) instances.

You can't delete a tenant database when it is the only tenant in the DB instance.

Parameter Syntax

$result = $client->deleteTenantDatabase([
    'DBInstanceIdentifier' => '<string>', // REQUIRED
    'FinalDBSnapshotIdentifier' => '<string>',
    'SkipFinalSnapshot' => true || false,
    'TenantDBName' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBInstanceIdentifier
Required: Yes
Type: string

The user-supplied identifier for the DB instance that contains the tenant database that you want to delete.

FinalDBSnapshotIdentifier
Type: string

The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot parameter is disabled.

If you enable this parameter and also enable SkipFinalShapshot, the command results in an error.

SkipFinalSnapshot
Type: boolean

Specifies whether to skip the creation of a final DB snapshot before removing the tenant database from your DB instance. If you enable this parameter, RDS doesn't create a DB snapshot. If you don't enable this parameter, RDS creates a DB snapshot before it deletes the tenant database. By default, RDS doesn't skip the final snapshot. If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier parameter.

TenantDBName
Required: Yes
Type: string

The user-supplied name of the tenant database that you want to remove from your DB instance. Amazon RDS deletes the tenant database with this name. This parameter isn’t case-sensitive.

Result Syntax

[
    'TenantDatabase' => [
        'CharacterSetName' => '<string>',
        'DBInstanceIdentifier' => '<string>',
        'DbiResourceId' => '<string>',
        'DeletionProtection' => true || false,
        'MasterUsername' => '<string>',
        'NcharCharacterSetName' => '<string>',
        'PendingModifiedValues' => [
            'MasterUserPassword' => '<string>',
            'TenantDBName' => '<string>',
        ],
        'Status' => '<string>',
        'TagList' => [
            [
                'Key' => '<string>',
                'Value' => '<string>',
            ],
            // ...
        ],
        'TenantDBName' => '<string>',
        'TenantDatabaseARN' => '<string>',
        'TenantDatabaseCreateTime' => <DateTime>,
        'TenantDatabaseResourceId' => '<string>',
    ],
]

Result Details

Members
TenantDatabase
Type: TenantDatabase structure

A tenant database in the DB instance. This data type is an element in the response to the DescribeTenantDatabases action.

Errors

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

TenantDatabaseNotFoundFault:

The specified tenant database wasn't found in the DB instance.

InvalidDBInstanceStateFault:

The DB instance isn't in a valid state.

DeregisterDBProxyTargets

$result = $client->deregisterDBProxyTargets([/* ... */]);
$promise = $client->deregisterDBProxyTargetsAsync([/* ... */]);

Remove the association between one or more DBProxyTarget data structures and a DBProxyTargetGroup.

Parameter Syntax

$result = $client->deregisterDBProxyTargets([
    'DBClusterIdentifiers' => ['<string>', ...],
    'DBInstanceIdentifiers' => ['<string>', ...],
    'DBProxyName' => '<string>', // REQUIRED
    'TargetGroupName' => '<string>',
]);

Parameter Details

Members
DBClusterIdentifiers
Type: Array of strings

One or more DB cluster identifiers.

DBInstanceIdentifiers
Type: Array of strings

One or more DB instance identifiers.

DBProxyName
Required: Yes
Type: string

The identifier of the DBProxy that is associated with the DBProxyTargetGroup.

TargetGroupName
Type: string

The identifier of the DBProxyTargetGroup.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

DBProxyTargetNotFoundFault:

The specified RDS DB instance or Aurora DB cluster isn't available for a proxy owned by your Amazon Web Services account in the specified Amazon Web Services Region.

DBProxyTargetGroupNotFoundFault:

The specified target group isn't available for a proxy owned by your Amazon Web Services account in the specified Amazon Web Services Region.

DBProxyNotFoundFault:

The specified proxy name doesn't correspond to a proxy owned by your Amazon Web Services account in the specified Amazon Web Services Region.

InvalidDBProxyStateFault:

The requested operation can't be performed while the proxy is in this state.

DescribeAccountAttributes

$result = $client->describeAccountAttributes([/* ... */]);
$promise = $client->describeAccountAttributesAsync([/* ... */]);

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.

Parameter Syntax

$result = $client->describeAccountAttributes([
]);

Parameter Details

Members

Result Syntax

[
    'AccountQuotas' => [
        [
            'AccountQuotaName' => '<string>',
            'Max' => <integer>,
            'Used' => <integer>,
        ],
        // ...
    ],
]

Result Details

Members
AccountQuotas
Type: Array of AccountQuota structures

A list of AccountQuota objects. Within this list, each quota has a name, a count of usage toward the quota maximum, and a maximum value for the quota.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe account attributes

The following example retrieves the attributes for the current AWS account.

$result = $client->describeAccountAttributes([
]);

Result syntax:

[
    'AccountQuotas' => [
        [
            'AccountQuotaName' => 'DBInstances',
            'Max' => 40,
            'Used' => 4,
        ],
        [
            'AccountQuotaName' => 'ReservedDBInstances',
            'Max' => 40,
            'Used' => 0,
        ],
        [
            'AccountQuotaName' => 'AllocatedStorage',
            'Max' => 100000,
            'Used' => 40,
        ],
        [
            'AccountQuotaName' => 'DBSecurityGroups',
            'Max' => 25,
            'Used' => 0,
        ],
        [
            'AccountQuotaName' => 'AuthorizationsPerDBSecurityGroup',
            'Max' => 20,
            'Used' => 0,
        ],
        [
            'AccountQuotaName' => 'DBParameterGroups',
            'Max' => 50,
            'Used' => 1,
        ],
        [
            'AccountQuotaName' => 'ManualSnapshots',
            'Max' => 100,
            'Used' => 3,
        ],
        [
            'AccountQuotaName' => 'EventSubscriptions',
            'Max' => 20,
            'Used' => 0,
        ],
        [
            'AccountQuotaName' => 'DBSubnetGroups',
            'Max' => 50,
            'Used' => 1,
        ],
        [
            'AccountQuotaName' => 'OptionGroups',
            'Max' => 20,
            'Used' => 1,
        ],
        [
            'AccountQuotaName' => 'SubnetsPerDBSubnetGroup',
            'Max' => 20,
            'Used' => 6,
        ],
        [
            'AccountQuotaName' => 'ReadReplicasPerMaster',
            'Max' => 5,
            'Used' => 0,
        ],
        [
            'AccountQuotaName' => 'DBClusters',
            'Max' => 40,
            'Used' => 1,
        ],
        [
            'AccountQuotaName' => 'DBClusterParameterGroups',
            'Max' => 50,
            'Used' => 0,
        ],
        [
            'AccountQuotaName' => 'DBClusterRoles',
            'Max' => 5,
            'Used' => 0,
        ],
    ],
]

DescribeBlueGreenDeployments

$result = $client->describeBlueGreenDeployments([/* ... */]);
$promise = $client->describeBlueGreenDeploymentsAsync([/* ... */]);

Describes one or more blue/green deployments.

For more information, see Using Amazon RDS Blue/Green Deployments for database updates in the Amazon RDS User Guide and Using Amazon RDS Blue/Green Deployments for database updates in the Amazon Aurora User Guide.

Parameter Syntax

$result = $client->describeBlueGreenDeployments([
    'BlueGreenDeploymentIdentifier' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
BlueGreenDeploymentIdentifier
Type: string

The blue/green deployment identifier. If you specify this parameter, the response only includes information about the specific blue/green deployment. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing blue/green deployment identifier.

Filters
Type: Array of Filter structures

A filter that specifies one or more blue/green deployments to describe.

Valid Values:

  • blue-green-deployment-identifier - Accepts system-generated identifiers for blue/green deployments. The results list only includes information about the blue/green deployments with the specified identifiers.

  • blue-green-deployment-name - Accepts user-supplied names for blue/green deployments. The results list only includes information about the blue/green deployments with the specified names.

  • source - Accepts source databases for a blue/green deployment. The results list only includes information about the blue/green deployments with the specified source databases.

  • target - Accepts target databases for a blue/green deployment. The results list only includes information about the blue/green deployments with the specified target databases.

Marker
Type: string

An optional pagination token provided by a previous DescribeBlueGreenDeployments request. If you specify this parameter, the response only includes records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints:

  • Must be a minimum of 20.

  • Can't exceed 100.

Result Syntax

[
    'BlueGreenDeployments' => [
        [
            'BlueGreenDeploymentIdentifier' => '<string>',
            'BlueGreenDeploymentName' => '<string>',
            'CreateTime' => <DateTime>,
            'DeleteTime' => <DateTime>,
            'Source' => '<string>',
            'Status' => '<string>',
            'StatusDetails' => '<string>',
            'SwitchoverDetails' => [
                [
                    'SourceMember' => '<string>',
                    'Status' => '<string>',
                    'TargetMember' => '<string>',
                ],
                // ...
            ],
            'TagList' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'Target' => '<string>',
            'Tasks' => [
                [
                    'Name' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
BlueGreenDeployments
Type: Array of BlueGreenDeployment structures

A list of blue/green deployments in the current account and Amazon Web Services Region.

Marker
Type: string

A pagination token that can be used in a later DescribeBlueGreenDeployments request.

Errors

BlueGreenDeploymentNotFoundFault:

BlueGreenDeploymentIdentifier doesn't refer to an existing blue/green deployment.

Examples

Example 1: To describe a blue/green deployment of an RDS DB instance after creation completes

The following example retrieves the details of a blue/green deployment after creation completes.

$result = $client->describeBlueGreenDeployments([
    'BlueGreenDeploymentIdentifier' => 'bgd-v53303651eexfake',
]);

Result syntax:

[
    'BlueGreenDeployments' => [
        [
            'BlueGreenDeploymentIdentifier' => 'bgd-v53303651eexfake',
            'BlueGreenDeploymentName' => 'bgd-cli-test-instance',
            'CreateTime' => ,
            'Source' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance',
            'Status' => 'AVAILABLE',
            'SwitchoverDetails' => [
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-rkfbpe',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-1-green-j382ha',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-2-green-ejv4ao',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-replica-3-green-vlpz3t',
                ],
            ],
            'Target' => 'arn:aws:rds:us-east-1:123456789012:db:my-db-instance-green-rkfbpe',
            'Tasks' => [
                [
                    'Name' => 'CREATING_READ_REPLICA_OF_SOURCE',
                    'Status' => 'COMPLETED',
                ],
                [
                    'Name' => 'DB_ENGINE_VERSION_UPGRADE',
                    'Status' => 'COMPLETED',
                ],
                [
                    'Name' => 'CONFIGURE_BACKUPS',
                    'Status' => 'COMPLETED',
                ],
                [
                    'Name' => 'CREATING_TOPOLOGY_OF_SOURCE',
                    'Status' => 'COMPLETED',
                ],
            ],
        ],
    ],
]
Example 2: To describe a blue/green deployment for an Aurora MySQL DB cluster

The following example retrieves the details of a blue/green deployment.

$result = $client->describeBlueGreenDeployments([
    'BlueGreenDeploymentIdentifier' => 'bgd-wi89nwzglccsfake',
]);

Result syntax:

[
    'BlueGreenDeployments' => [
        [
            'BlueGreenDeploymentIdentifier' => 'bgd-wi89nwzglccsfake',
            'BlueGreenDeploymentName' => 'my-blue-green-deployment',
            'CreateTime' => ,
            'Source' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster',
            'Status' => 'AVAILABLE',
            'SwitchoverDetails' => [
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3rnukl',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1-green-gpmaxf',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2-green-j2oajq',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3-green-mkxies',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint-green-4sqjrq',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint',
                    'Status' => 'AVAILABLE',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint-green-gwwzlg',
                ],
            ],
            'Target' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-green-3rnukl',
            'Tasks' => [
                [
                    'Name' => 'CREATING_READ_REPLICA_OF_SOURCE',
                    'Status' => 'COMPLETED',
                ],
                [
                    'Name' => 'DB_ENGINE_VERSION_UPGRADE',
                    'Status' => 'COMPLETED',
                ],
                [
                    'Name' => 'CREATE_DB_INSTANCES_FOR_CLUSTER',
                    'Status' => 'COMPLETED',
                ],
                [
                    'Name' => 'CREATE_CUSTOM_ENDPOINTS',
                    'Status' => 'COMPLETED',
                ],
            ],
        ],
    ],
]
Example 3: To describe a blue/green deployment for an Aurora MySQL cluster after switchover

The following example retrieves the details about a blue/green deployment after the green environment is promoted to be the production environment.

$result = $client->describeBlueGreenDeployments([
    'BlueGreenDeploymentIdentifier' => 'bgd-wi89nwzglccsfake',
]);

Result syntax:

[
    'BlueGreenDeployments' => [
        [
            'BlueGreenDeploymentIdentifier' => 'bgd-wi89nwzglccsfake',
            'BlueGreenDeploymentName' => 'my-blue-green-deployment',
            'CreateTime' => ,
            'Source' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-old1',
            'Status' => 'SWITCHOVER_COMPLETED',
            'SwitchoverDetails' => [
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster-old1',
                    'Status' => 'SWITCHOVER_COMPLETED',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1-old1',
                    'Status' => 'SWITCHOVER_COMPLETED',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-1',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2-old1',
                    'Status' => 'SWITCHOVER_COMPLETED',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-2',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3-old1',
                    'Status' => 'SWITCHOVER_COMPLETED',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:db:my-aurora-mysql-cluster-3',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint-old1',
                    'Status' => 'SWITCHOVER_COMPLETED',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-excluded-member-endpoint',
                ],
                [
                    'SourceMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint-old1',
                    'Status' => 'SWITCHOVER_COMPLETED',
                    'TargetMember' => 'arn:aws:rds:us-east-1:123456789012:cluster-endpoint:my-reader-endpoint',
                ],
            ],
            'Target' => 'arn:aws:rds:us-east-1:123456789012:cluster:my-aurora-mysql-cluster',
            'Tasks' => [
                [
                    'Name' => 'CREATING_READ_REPLICA_OF_SOURCE',
                    'Status' => 'COMPLETED',
                ],
                [
                    'Name' => 'DB_ENGINE_VERSION_UPGRADE',
                    'Status' => 'COMPLETED',
                ],
                [
                    'Name' => 'CREATE_DB_INSTANCES_FOR_CLUSTER',
                    'Status' => 'COMPLETED',
                ],
                [
                    'Name' => 'CREATE_CUSTOM_ENDPOINTS',
                    'Status' => 'COMPLETED',
                ],
            ],
        ],
    ],
]

DescribeCertificates

$result = $client->describeCertificates([/* ... */]);
$promise = $client->describeCertificatesAsync([/* ... */]);

Lists the set of certificate authority (CA) certificates provided by Amazon RDS for this Amazon Web Services account.

For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.

Parameter Syntax

$result = $client->describeCertificates([
    'CertificateIdentifier' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
CertificateIdentifier
Type: string

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.

Filters
Type: Array of Filter structures

This parameter isn't currently supported.

Marker
Type: string

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'Certificates' => [
        [
            'CertificateArn' => '<string>',
            'CertificateIdentifier' => '<string>',
            'CertificateType' => '<string>',
            'CustomerOverride' => true || false,
            'CustomerOverrideValidTill' => <DateTime>,
            'Thumbprint' => '<string>',
            'ValidFrom' => <DateTime>,
            'ValidTill' => <DateTime>,
        ],
        // ...
    ],
    'DefaultCertificateForNewLaunches' => '<string>',
    'Marker' => '<string>',
]

Result Details

Members
Certificates
Type: Array of Certificate structures

The list of Certificate objects for the Amazon Web Services account.

DefaultCertificateForNewLaunches
Type: string

The default root CA for new databases created by your Amazon Web Services account. This is either the root CA override set on your Amazon Web Services account or the system default CA for the Region if no override exists. To override the default CA, use the ModifyCertificates operation.

Marker
Type: string

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

Errors

CertificateNotFoundFault:

CertificateIdentifier doesn't refer to an existing certificate.

Examples

Example 1: To describe certificates

The following example retrieves the details of the certificate associated with the user's default region.

$result = $client->describeCertificates([
]);

Result syntax:

[
    'Certificates' => [
        [
            'CertificateArn' => 'arn:aws:rds:us-east-1::cert:rds-ca-ecc384-g1',
            'CertificateIdentifier' => 'rds-ca-ecc384-g1',
            'CertificateType' => 'CA',
            'CustomerOverride' => ,
            'Thumbprint' => '24a97b91cbe86911190576c35c36aab4fEXAMPLE',
            'ValidFrom' => ,
            'ValidTill' => ,
        ],
        [
            'CertificateArn' => 'arn:aws:rds:us-east-1::cert:rds-ca-rsa4096-g1',
            'CertificateIdentifier' => 'rds-ca-rsa4096-g1',
            'CertificateType' => 'CA',
            'CustomerOverride' => ,
            'Thumbprint' => '9da6fa7fd2ec09c569a400d876b01b0c1EXAMPLE',
            'ValidFrom' => ,
            'ValidTill' => ,
        ],
        [
            'CertificateArn' => 'arn:aws:rds:us-east-1::cert:rds-ca-rsa2048-g1',
            'CertificateIdentifier' => 'rds-ca-rsa2048-g1',
            'CertificateType' => 'CA',
            'CustomerOverride' => 1,
            'CustomerOverrideValidTill' => ,
            'Thumbprint' => '2fa77ef894d983ba9d37ad699c84ab0f6EXAMPLE',
            'ValidFrom' => ,
            'ValidTill' => ,
        ],
        [
            'CertificateArn' => 'arn:aws:rds:us-east-1::cert:rds-ca-2019',
            'CertificateIdentifier' => 'rds-ca-2019',
            'CertificateType' => 'CA',
            'CustomerOverride' => ,
            'Thumbprint' => 'f0ed823ed14447bab557fdf3e49274669EXAMPLE',
            'ValidFrom' => ,
            'ValidTill' => ,
        ],
    ],
]

DescribeDBClusterAutomatedBackups

$result = $client->describeDBClusterAutomatedBackups([/* ... */]);
$promise = $client->describeDBClusterAutomatedBackupsAsync([/* ... */]);

Displays backups for both current and deleted DB clusters. For example, use this operation to find details about automated backups for previously deleted clusters. Current clusters are returned for both the DescribeDBClusterAutomatedBackups and DescribeDBClusters operations.

All parameters are optional.

Parameter Syntax

$result = $client->describeDBClusterAutomatedBackups([
    'DBClusterIdentifier' => '<string>',
    'DbClusterResourceId' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
DBClusterIdentifier
Type: string

(Optional) The user-supplied DB cluster identifier. If this parameter is specified, it must match the identifier of an existing DB cluster. It returns information from the specific DB cluster's automated backup. This parameter isn't case-sensitive.

DbClusterResourceId
Type: string

The resource ID of the DB cluster that is the source of the automated backup. This parameter isn't case-sensitive.

Filters
Type: Array of Filter structures

A filter that specifies which resources to return based on status.

Supported filters are the following:

  • status

    • retained - Automated backups for deleted clusters and after backup replication is stopped.

  • db-cluster-id - Accepts DB cluster identifiers and Amazon Resource Names (ARNs). The results list includes only information about the DB cluster automated backups identified by these ARNs.

  • db-cluster-resource-id - Accepts DB resource identifiers and Amazon Resource Names (ARNs). The results list includes only information about the DB cluster resources identified by these ARNs.

Returns all resources by default. The status for each resource is specified in the response.

Marker
Type: string

The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Result Syntax

[
    'DBClusterAutomatedBackups' => [
        [
            'AllocatedStorage' => <integer>,
            'AvailabilityZones' => ['<string>', ...],
            'AwsBackupRecoveryPointArn' => '<string>',
            'BackupRetentionPeriod' => <integer>,
            'ClusterCreateTime' => <DateTime>,
            'DBClusterArn' => '<string>',
            'DBClusterAutomatedBackupsArn' => '<string>',
            'DBClusterIdentifier' => '<string>',
            'DbClusterResourceId' => '<string>',
            'Engine' => '<string>',
            'EngineMode' => '<string>',
            'EngineVersion' => '<string>',
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'Iops' => <integer>,
            'KmsKeyId' => '<string>',
            'LicenseModel' => '<string>',
            'MasterUsername' => '<string>',
            'Port' => <integer>,
            'Region' => '<string>',
            'RestoreWindow' => [
                'EarliestTime' => <DateTime>,
                'LatestTime' => <DateTime>,
            ],
            'Status' => '<string>',
            'StorageEncrypted' => true || false,
            'StorageThroughput' => <integer>,
            'StorageType' => '<string>',
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBClusterAutomatedBackups
Type: Array of DBClusterAutomatedBackup structures

A list of DBClusterAutomatedBackup backups.

Marker
Type: string

The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

Errors

DBClusterAutomatedBackupNotFoundFault:

No automated backup for this DB cluster was found.

DescribeDBClusterBacktracks

$result = $client->describeDBClusterBacktracks([/* ... */]);
$promise = $client->describeDBClusterBacktracksAsync([/* ... */]);

Returns information about backtracks for a DB cluster.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

This action only applies to Aurora MySQL DB clusters.

Parameter Syntax

$result = $client->describeDBClusterBacktracks([
    'BacktrackIdentifier' => '<string>',
    'DBClusterIdentifier' => '<string>', // REQUIRED
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
BacktrackIdentifier
Type: string

If specified, this value is the backtrack identifier of the backtrack to be described.

Constraints:

Example: 123e4567-e89b-12d3-a456-426655440000

DBClusterIdentifier
Required: Yes
Type: string

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.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

Filters
Type: Array of Filter structures

A filter that specifies one or more DB clusters to describe. Supported filters include the following:

  • db-cluster-backtrack-id - Accepts backtrack identifiers. The results list includes information about only the backtracks identified by these identifiers.

  • db-cluster-backtrack-status - Accepts any of the following backtrack status values:

    • applying

    • completed

    • failed

    • pending

    The results list includes information about only the backtracks identified by these values.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBClusterBacktracks request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'DBClusterBacktracks' => [
        [
            'BacktrackIdentifier' => '<string>',
            'BacktrackRequestCreationTime' => <DateTime>,
            'BacktrackTo' => <DateTime>,
            'BacktrackedFrom' => <DateTime>,
            'DBClusterIdentifier' => '<string>',
            'Status' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBClusterBacktracks
Type: Array of DBClusterBacktrack structures

Contains a list of backtracks for the user.

Marker
Type: string

A pagination token that can be used in a later DescribeDBClusterBacktracks request.

Errors

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

DBClusterBacktrackNotFoundFault:

BacktrackIdentifier doesn't refer to an existing backtrack.

Examples

Example 1: To describe backtracks for a DB cluster

The following example retrieves details about the specified DB cluster.

$result = $client->describeDBClusterBacktracks([
    'DBClusterIdentifier' => 'mydbcluster',
]);

Result syntax:

[
    'DBClusterBacktracks' => [
        [
            'BacktrackIdentifier' => '2f5f5294-0dd2-44c9-9f50-EXAMPLE',
            'BacktrackRequestCreationTime' => ,
            'BacktrackTo' => ,
            'BacktrackedFrom' => ,
            'DBClusterIdentifier' => 'mydbcluster',
            'Status' => 'COMPLETED',
        ],
        [
            'BacktrackIdentifier' => '3c7a6421-af2a-4ea3-ae95-EXAMPLE',
            'BacktrackRequestCreationTime' => ,
            'BacktrackTo' => ,
            'BacktrackedFrom' => ,
            'DBClusterIdentifier' => 'mydbcluster',
            'Status' => 'COMPLETED',
        ],
    ],
]

DescribeDBClusterEndpoints

$result = $client->describeDBClusterEndpoints([/* ... */]);
$promise = $client->describeDBClusterEndpointsAsync([/* ... */]);

Returns information about endpoints for an Amazon Aurora DB cluster.

This action only applies to Aurora DB clusters.

Parameter Syntax

$result = $client->describeDBClusterEndpoints([
    'DBClusterEndpointIdentifier' => '<string>',
    'DBClusterIdentifier' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
DBClusterEndpointIdentifier
Type: string

The identifier of the endpoint to describe. This parameter is stored as a lowercase string.

DBClusterIdentifier
Type: string

The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.

Filters
Type: Array of Filter structures

A set of name-value pairs that define which endpoints to include in the output. The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,.... Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type, db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status filter can be one or more of: available, creating, deleting, inactive, modifying.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBClusterEndpoints request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'DBClusterEndpoints' => [
        [
            'CustomEndpointType' => '<string>',
            'DBClusterEndpointArn' => '<string>',
            'DBClusterEndpointIdentifier' => '<string>',
            'DBClusterEndpointResourceIdentifier' => '<string>',
            'DBClusterIdentifier' => '<string>',
            'Endpoint' => '<string>',
            'EndpointType' => '<string>',
            'ExcludedMembers' => ['<string>', ...],
            'StaticMembers' => ['<string>', ...],
            'Status' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBClusterEndpoints
Type: Array of DBClusterEndpoint structures

Contains the details of the endpoints associated with the cluster and matching any filter conditions.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBClusterEndpoints request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Errors

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

Examples

Example 1: To describe DB cluster endpoints

The following example retrieves details for your DB cluster endpoints. The most common kinds of Aurora clusters have two endpoints. One endpoint has type WRITER. You can use this endpoint for all SQL statements. The other endpoint has type READER. You can use this endpoint only for SELECT and other read-only SQL statements.

$result = $client->describeDBClusterEndpoints([
]);

Result syntax:

[
    'DBClusterEndpoints' => [
        [
            'DBClusterIdentifier' => 'my-database-1',
            'Endpoint' => 'my-database-1.cluster-cnpexample.us-east-1.rds.amazonaws.com',
            'EndpointType' => 'WRITER',
            'Status' => 'creating',
        ],
        [
            'DBClusterIdentifier' => 'my-database-1',
            'Endpoint' => 'my-database-1.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com',
            'EndpointType' => 'READER',
            'Status' => 'creating',
        ],
        [
            'DBClusterIdentifier' => 'mydbcluster',
            'Endpoint' => 'mydbcluster.cluster-cnpexamle.us-east-1.rds.amazonaws.com',
            'EndpointType' => 'WRITER',
            'Status' => 'available',
        ],
        [
            'DBClusterIdentifier' => 'mydbcluster',
            'Endpoint' => 'mydbcluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com',
            'EndpointType' => 'READER',
            'Status' => 'available',
        ],
    ],
]
Example 2: To describe DB cluster endpoints of a single DB cluster

The following example retrieves details for the DB cluster endpoints of a single specified DB cluster. Aurora Serverless clusters have only a single endpoint with a type of WRITER.

$result = $client->describeDBClusterEndpoints([
    'DBClusterIdentifier' => 'serverless-cluster',
]);

Result syntax:

[
    'DBClusterEndpoints' => [
        [
            'DBClusterIdentifier' => 'serverless-cluster',
            'Endpoint' => 'serverless-cluster.cluster-cnpexample.us-east-1.rds.amazonaws.com',
            'EndpointType' => 'WRITER',
            'Status' => 'available',
        ],
    ],
]

DescribeDBClusterParameterGroups

$result = $client->describeDBClusterParameterGroups([/* ... */]);
$promise = $client->describeDBClusterParameterGroupsAsync([/* ... */]);

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->describeDBClusterParameterGroups([
    'DBClusterParameterGroupName' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
DBClusterParameterGroupName
Type: string

The name of a specific DB cluster parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

Filters
Type: Array of Filter structures

This parameter isn't currently supported.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'DBClusterParameterGroups' => [
        [
            'DBClusterParameterGroupArn' => '<string>',
            'DBClusterParameterGroupName' => '<string>',
            'DBParameterGroupFamily' => '<string>',
            'Description' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBClusterParameterGroups
Type: Array of DBClusterParameterGroup structures

A list of DB cluster parameter groups.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Errors

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

Examples

Example 1: To describe DB cluster parameter groups

The following example retrieves details for your DB cluster parameter groups.

$result = $client->describeDBClusterParameterGroups([
]);

Result syntax:

[
    'DBClusterParameterGroups' => [
        [
            'DBClusterParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-pg:default.aurora-mysql5.7',
            'DBClusterParameterGroupName' => 'default.aurora-mysql5.7',
            'DBParameterGroupFamily' => 'aurora-mysql5.7',
            'Description' => 'Default cluster parameter group for aurora-mysql5.7',
        ],
        [
            'DBClusterParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-pg:default.aurora-postgresql9.6',
            'DBClusterParameterGroupName' => 'default.aurora-postgresql9.6',
            'DBParameterGroupFamily' => 'aurora-postgresql9.6',
            'Description' => 'Default cluster parameter group for aurora-postgresql9.6',
        ],
        [
            'DBClusterParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-pg:default.aurora5.6',
            'DBClusterParameterGroupName' => 'default.aurora5.6',
            'DBParameterGroupFamily' => 'aurora5.6',
            'Description' => 'Default cluster parameter group for aurora5.6',
        ],
        [
            'DBClusterParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterpg',
            'DBClusterParameterGroupName' => 'mydbclusterpg',
            'DBParameterGroupFamily' => 'aurora-mysql5.7',
            'Description' => 'My DB cluster parameter group',
        ],
        [
            'DBClusterParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterpgcopy',
            'DBClusterParameterGroupName' => 'mydbclusterpgcopy',
            'DBParameterGroupFamily' => 'aurora-mysql5.7',
            'Description' => 'Copy of mydbclusterpg parameter group',
        ],
    ],
]

DescribeDBClusterParameters

$result = $client->describeDBClusterParameters([/* ... */]);
$promise = $client->describeDBClusterParametersAsync([/* ... */]);

Returns the detailed parameter list for a particular DB cluster parameter group.

For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->describeDBClusterParameters([
    'DBClusterParameterGroupName' => '<string>', // REQUIRED
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
    'Source' => '<string>',
]);

Parameter Details

Members
DBClusterParameterGroupName
Required: Yes
Type: string

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.

Filters
Type: Array of Filter structures

This parameter isn't currently supported.

Marker
Type: string

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 MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Source
Type: string

A specific source to return parameters for.

Valid Values:

  • customer

  • engine

  • service

Result Syntax

[
    'Marker' => '<string>',
    'Parameters' => [
        [
            'AllowedValues' => '<string>',
            'ApplyMethod' => 'immediate|pending-reboot',
            'ApplyType' => '<string>',
            'DataType' => '<string>',
            'Description' => '<string>',
            'IsModifiable' => true || false,
            'MinimumEngineVersion' => '<string>',
            'ParameterName' => '<string>',
            'ParameterValue' => '<string>',
            'Source' => '<string>',
            'SupportedEngineModes' => ['<string>', ...],
        ],
        // ...
    ],
]

Result Details

Members
Marker
Type: string

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 MaxRecords.

Parameters
Type: Array of Parameter structures

Provides a list of parameters for the DB cluster parameter group.

Errors

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

Examples

Example 1: To describe the parameters in a DB cluster parameter group

The following example retrieves details about the parameters in a DB cluster parameter group.

$result = $client->describeDBClusterParameters([
    'DBClusterParameterGroupName' => 'mydbclusterpg',
]);

Result syntax:

[
    'Parameters' => [
        [
            'AllowedValues' => '0,1',
            'ApplyMethod' => 'pending-reboot',
            'ApplyType' => 'static',
            'DataType' => 'boolean',
            'Description' => 'Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded',
            'IsModifiable' => ,
            'ParameterName' => 'allow-suspicious-udfs',
            'Source' => 'engine-default',
            'SupportedEngineModes' => [
                'provisioned',
            ],
        ],
        [
            'AllowedValues' => '0,1',
            'ApplyMethod' => 'pending-reboot',
            'ApplyType' => 'static',
            'DataType' => 'boolean',
            'Description' => 'Enables new features in the Aurora engine.',
            'IsModifiable' => 1,
            'ParameterName' => 'aurora_lab_mode',
            'ParameterValue' => '0',
            'Source' => 'engine-default',
            'SupportedEngineModes' => [
                'provisioned',
            ],
        ],
    ], // Some output ommitted.
]

DescribeDBClusterSnapshotAttributes

$result = $client->describeDBClusterSnapshotAttributes([/* ... */]);
$promise = $client->describeDBClusterSnapshotAttributesAsync([/* ... */]);

Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.

When sharing snapshots with other Amazon Web Services accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the Amazon Web Services accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all Amazon Web Services accounts.

To add or remove access for an Amazon Web Services account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action.

Parameter Syntax

$result = $client->describeDBClusterSnapshotAttributes([
    'DBClusterSnapshotIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
DBClusterSnapshotIdentifier
Required: Yes
Type: string

The identifier for the DB cluster snapshot to describe the attributes for.

Result Syntax

[
    'DBClusterSnapshotAttributesResult' => [
        'DBClusterSnapshotAttributes' => [
            [
                'AttributeName' => '<string>',
                'AttributeValues' => ['<string>', ...],
            ],
            // ...
        ],
        'DBClusterSnapshotIdentifier' => '<string>',
    ],
]

Result Details

Members
DBClusterSnapshotAttributesResult

Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes API action.

Manual DB cluster snapshot attributes are used to authorize other Amazon Web Services accounts to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

Errors

DBClusterSnapshotNotFoundFault:

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

Examples

Example 1: To describe the attribute names and values for a DB cluster snapshot

The following example retrieves details of the attribute names and values for the specified DB cluster snapshot.

$result = $client->describeDBClusterSnapshotAttributes([
    'DBClusterSnapshotIdentifier' => 'myclustersnapshot',
]);

Result syntax:

[
    'DBClusterSnapshotAttributesResult' => [
        'DBClusterSnapshotAttributes' => [
            [
                'AttributeName' => 'restore',
                'AttributeValues' => [
                    '123456789012',
                ],
            ],
        ],
        'DBClusterSnapshotIdentifier' => 'myclustersnapshot',
    ],
]

DescribeDBClusterSnapshots

$result = $client->describeDBClusterSnapshots([/* ... */]);
$promise = $client->describeDBClusterSnapshotsAsync([/* ... */]);

Returns information about DB cluster snapshots. This API action supports pagination.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

Parameter Syntax

$result = $client->describeDBClusterSnapshots([
    'DBClusterIdentifier' => '<string>',
    'DBClusterSnapshotIdentifier' => '<string>',
    'DbClusterResourceId' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'IncludePublic' => true || false,
    'IncludeShared' => true || false,
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
    'SnapshotType' => '<string>',
]);

Parameter Details

Members
DBClusterIdentifier
Type: string

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 DBClusterSnapshotIdentifier parameter. This parameter isn't case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBCluster.

DBClusterSnapshotIdentifier
Type: string

A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier 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 SnapshotType parameter must also be specified.

DbClusterResourceId
Type: string

A specific DB cluster resource ID to describe.

Filters
Type: Array of Filter structures

A filter that specifies one or more DB cluster snapshots to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs).

  • db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.

  • snapshot-type - Accepts types of DB cluster snapshots.

  • engine - Accepts names of database engines.

IncludePublic
Type: boolean

Specifies whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

IncludeShared
Type: boolean

Specifies whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

You can give an Amazon Web Services account permission to restore a manual DB cluster snapshot from another Amazon Web Services account by the ModifyDBClusterSnapshotAttribute API action.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

SnapshotType
Type: string

The type of DB cluster snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my Amazon Web Services account.

  • manual - Return all DB cluster snapshots that have been taken by my Amazon Web Services account.

  • shared - Return all manual DB cluster snapshots that have been shared to my Amazon Web Services account.

  • public - Return all DB cluster snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared parameter. You can include public DB cluster snapshots with these results by enabling the IncludePublic parameter.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

Result Syntax

[
    'DBClusterSnapshots' => [
        [
            'AllocatedStorage' => <integer>,
            'AvailabilityZones' => ['<string>', ...],
            'ClusterCreateTime' => <DateTime>,
            'DBClusterIdentifier' => '<string>',
            'DBClusterSnapshotArn' => '<string>',
            'DBClusterSnapshotIdentifier' => '<string>',
            'DBSystemId' => '<string>',
            'DbClusterResourceId' => '<string>',
            'Engine' => '<string>',
            'EngineMode' => '<string>',
            'EngineVersion' => '<string>',
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'KmsKeyId' => '<string>',
            'LicenseModel' => '<string>',
            'MasterUsername' => '<string>',
            'PercentProgress' => <integer>,
            'Port' => <integer>,
            'SnapshotCreateTime' => <DateTime>,
            'SnapshotType' => '<string>',
            'SourceDBClusterSnapshotArn' => '<string>',
            'Status' => '<string>',
            'StorageEncrypted' => true || false,
            'StorageThroughput' => <integer>,
            'StorageType' => '<string>',
            'TagList' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBClusterSnapshots
Type: Array of DBClusterSnapshot structures

Provides a list of DB cluster snapshots for the user.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Errors

DBClusterSnapshotNotFoundFault:

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

Examples

Example 1: To describe a DB cluster snapshot for a DB cluster

The following example retrieves the details for the DB cluster snapshots for the specified DB cluster.

$result = $client->describeDBClusterSnapshots([
    'DBClusterIdentifier' => 'mydbcluster',
]);

Result syntax:

[
    'DBClusterSnapshots' => [
        [
            'AllocatedStorage' => 0,
            'AvailabilityZones' => [
                'us-east-1a',
                'us-east-1b',
                'us-east-1e',
            ],
            'ClusterCreateTime' => ,
            'DBClusterIdentifier' => 'mydbcluster',
            'DBClusterSnapshotArn' => 'arn:aws:rds:us-east-1:814387698303:cluster-snapshot:myclustersnapshotcopy',
            'DBClusterSnapshotIdentifier' => 'myclustersnapshotcopy',
            'Engine' => 'aurora-mysql',
            'EngineVersion' => '5.7.mysql_aurora.2.04.2',
            'IAMDatabaseAuthenticationEnabled' => ,
            'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE',
            'LicenseModel' => 'aurora-mysql',
            'MasterUsername' => 'myadmin',
            'PercentProgress' => 100,
            'Port' => 0,
            'SnapshotCreateTime' => ,
            'SnapshotType' => 'manual',
            'Status' => 'available',
            'StorageEncrypted' => 1,
            'VpcId' => 'vpc-6594f31c',
        ],
        [
            'AllocatedStorage' => 0,
            'AvailabilityZones' => [
                'us-east-1a',
                'us-east-1b',
                'us-east-1e',
            ],
            'ClusterCreateTime' => ,
            'DBClusterIdentifier' => 'mydbcluster',
            'DBClusterSnapshotArn' => 'arn:aws:rds:us-east-1:123456789012:cluster-snapshot:rds:mydbcluster-2019-06-20-09-16',
            'DBClusterSnapshotIdentifier' => 'rds:mydbcluster-2019-06-20-09-16',
            'Engine' => 'aurora-mysql',
            'EngineVersion' => '5.7.mysql_aurora.2.04.2',
            'IAMDatabaseAuthenticationEnabled' => ,
            'KmsKeyId' => 'arn:aws:kms:us-east-1:814387698303:key/AKIAIOSFODNN7EXAMPLE',
            'LicenseModel' => 'aurora-mysql',
            'MasterUsername' => 'myadmin',
            'PercentProgress' => 100,
            'Port' => 0,
            'SnapshotCreateTime' => ,
            'SnapshotType' => 'automated',
            'Status' => 'available',
            'StorageEncrypted' => 1,
            'VpcId' => 'vpc-6594f31c',
        ],
    ],
]

DescribeDBClusters

$result = $client->describeDBClusters([/* ... */]);
$promise = $client->describeDBClustersAsync([/* ... */]);

Describes existing Amazon Aurora DB clusters and Multi-AZ DB clusters. This API supports pagination.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide.

This operation can also return information for Amazon Neptune DB instances and Amazon DocumentDB instances.

Parameter Syntax

$result = $client->describeDBClusters([
    'DBClusterIdentifier' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'IncludeShared' => true || false,
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
DBClusterIdentifier
Type: string

The user-supplied DB cluster identifier or the Amazon Resource Name (ARN) of the DB cluster. If this parameter is specified, information for only the specific DB cluster is returned. This parameter isn't case-sensitive.

Constraints:

  • If supplied, must match an existing DB cluster identifier.

Filters
Type: Array of Filter structures

A filter that specifies one or more DB clusters to describe.

Supported Filters:

  • clone-group-id - Accepts clone group identifiers. The results list only includes information about the DB clusters associated with these clone groups.

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list only includes information about the DB clusters identified by these ARNs.

  • db-cluster-resource-id - Accepts DB cluster resource identifiers. The results list will only include information about the DB clusters identified by these DB cluster resource identifiers.

  • domain - Accepts Active Directory directory IDs. The results list only includes information about the DB clusters associated with these domains.

  • engine - Accepts engine names. The results list only includes information about the DB clusters for these engines.

IncludeShared
Type: boolean

Specifies whether the output includes information about clusters shared from other Amazon Web Services accounts.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100

Result Syntax

[
    'DBClusters' => [
        [
            'ActivityStreamKinesisStreamName' => '<string>',
            'ActivityStreamKmsKeyId' => '<string>',
            'ActivityStreamMode' => 'sync|async',
            'ActivityStreamStatus' => 'stopped|starting|started|stopping',
            'AllocatedStorage' => <integer>,
            'AssociatedRoles' => [
                [
                    'FeatureName' => '<string>',
                    'RoleArn' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'AutoMinorVersionUpgrade' => true || false,
            'AutomaticRestartTime' => <DateTime>,
            'AvailabilityZones' => ['<string>', ...],
            'AwsBackupRecoveryPointArn' => '<string>',
            'BacktrackConsumedChangeRecords' => <integer>,
            'BacktrackWindow' => <integer>,
            'BackupRetentionPeriod' => <integer>,
            'Capacity' => <integer>,
            'CertificateDetails' => [
                'CAIdentifier' => '<string>',
                'ValidTill' => <DateTime>,
            ],
            'CharacterSetName' => '<string>',
            'CloneGroupId' => '<string>',
            'ClusterCreateTime' => <DateTime>,
            'ClusterScalabilityType' => 'standard|limitless',
            'CopyTagsToSnapshot' => true || false,
            'CrossAccountClone' => true || false,
            'CustomEndpoints' => ['<string>', ...],
            'DBClusterArn' => '<string>',
            'DBClusterIdentifier' => '<string>',
            'DBClusterInstanceClass' => '<string>',
            'DBClusterMembers' => [
                [
                    'DBClusterParameterGroupStatus' => '<string>',
                    'DBInstanceIdentifier' => '<string>',
                    'IsClusterWriter' => true || false,
                    'PromotionTier' => <integer>,
                ],
                // ...
            ],
            'DBClusterOptionGroupMemberships' => [
                [
                    'DBClusterOptionGroupName' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'DBClusterParameterGroup' => '<string>',
            'DBSubnetGroup' => '<string>',
            'DBSystemId' => '<string>',
            'DatabaseInsightsMode' => 'standard|advanced',
            'DatabaseName' => '<string>',
            'DbClusterResourceId' => '<string>',
            'DeletionProtection' => true || false,
            'DomainMemberships' => [
                [
                    'AuthSecretArn' => '<string>',
                    'DnsIps' => ['<string>', ...],
                    'Domain' => '<string>',
                    'FQDN' => '<string>',
                    'IAMRoleName' => '<string>',
                    'OU' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'EarliestBacktrackTime' => <DateTime>,
            'EarliestRestorableTime' => <DateTime>,
            'EnabledCloudwatchLogsExports' => ['<string>', ...],
            'Endpoint' => '<string>',
            'Engine' => '<string>',
            'EngineLifecycleSupport' => '<string>',
            'EngineMode' => '<string>',
            'EngineVersion' => '<string>',
            'GlobalWriteForwardingRequested' => true || false,
            'GlobalWriteForwardingStatus' => 'enabled|disabled|enabling|disabling|unknown',
            'HostedZoneId' => '<string>',
            'HttpEndpointEnabled' => true || false,
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'IOOptimizedNextAllowedModificationTime' => <DateTime>,
            'Iops' => <integer>,
            'KmsKeyId' => '<string>',
            'LatestRestorableTime' => <DateTime>,
            'LimitlessDatabase' => [
                'MinRequiredACU' => <float>,
                'Status' => 'active|not-in-use|enabled|disabled|enabling|disabling|modifying-max-capacity|error',
            ],
            'LocalWriteForwardingStatus' => 'enabled|disabled|enabling|disabling|requested',
            'MasterUserSecret' => [
                'KmsKeyId' => '<string>',
                'SecretArn' => '<string>',
                'SecretStatus' => '<string>',
            ],
            'MasterUsername' => '<string>',
            'MonitoringInterval' => <integer>,
            'MonitoringRoleArn' => '<string>',
            'MultiAZ' => true || false,
            'NetworkType' => '<string>',
            'PendingModifiedValues' => [
                'AllocatedStorage' => <integer>,
                'BackupRetentionPeriod' => <integer>,
                'CertificateDetails' => [
                    'CAIdentifier' => '<string>',
                    'ValidTill' => <DateTime>,
                ],
                'DBClusterIdentifier' => '<string>',
                'EngineVersion' => '<string>',
                'IAMDatabaseAuthenticationEnabled' => true || false,
                'Iops' => <integer>,
                'MasterUserPassword' => '<string>',
                'PendingCloudwatchLogsExports' => [
                    'LogTypesToDisable' => ['<string>', ...],
                    'LogTypesToEnable' => ['<string>', ...],
                ],
                'RdsCustomClusterConfiguration' => [
                    'InterconnectSubnetId' => '<string>',
                    'ReplicaMode' => 'open-read-only|mounted',
                    'TransitGatewayMulticastDomainId' => '<string>',
                ],
                'StorageType' => '<string>',
            ],
            'PercentProgress' => '<string>',
            'PerformanceInsightsEnabled' => true || false,
            'PerformanceInsightsKMSKeyId' => '<string>',
            'PerformanceInsightsRetentionPeriod' => <integer>,
            'Port' => <integer>,
            'PreferredBackupWindow' => '<string>',
            'PreferredMaintenanceWindow' => '<string>',
            'PubliclyAccessible' => true || false,
            'RdsCustomClusterConfiguration' => [
                'InterconnectSubnetId' => '<string>',
                'ReplicaMode' => 'open-read-only|mounted',
                'TransitGatewayMulticastDomainId' => '<string>',
            ],
            'ReadReplicaIdentifiers' => ['<string>', ...],
            'ReaderEndpoint' => '<string>',
            'ReplicationSourceIdentifier' => '<string>',
            'ScalingConfigurationInfo' => [
                'AutoPause' => true || false,
                'MaxCapacity' => <integer>,
                'MinCapacity' => <integer>,
                'SecondsBeforeTimeout' => <integer>,
                'SecondsUntilAutoPause' => <integer>,
                'TimeoutAction' => '<string>',
            ],
            'ServerlessV2ScalingConfiguration' => [
                'MaxCapacity' => <float>,
                'MinCapacity' => <float>,
                'SecondsUntilAutoPause' => <integer>,
            ],
            'Status' => '<string>',
            'StatusInfos' => [
                [
                    'Message' => '<string>',
                    'Normal' => true || false,
                    'Status' => '<string>',
                    'StatusType' => '<string>',
                ],
                // ...
            ],
            'StorageEncrypted' => true || false,
            'StorageThroughput' => <integer>,
            'StorageType' => '<string>',
            'TagList' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'VpcSecurityGroups' => [
                [
                    'Status' => '<string>',
                    'VpcSecurityGroupId' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBClusters
Type: Array of DBCluster structures

Contains a list of DB clusters for the user.

Marker
Type: string

A pagination token that can be used in a later DescribeDBClusters request.

Errors

DBClusterNotFoundFault:

DBClusterIdentifier doesn't refer to an existing DB cluster.

Examples

Example 1: To describe a DB cluster

The following example retrieves the details of the specified DB cluster.

$result = $client->describeDBClusters([
    'DBClusterIdentifier' => 'mydbcluster',
]);

Result syntax:

[
    'DBClusters' => [
        [
            'AllocatedStorage' => 1,
            'AssociatedRoles' => [
            ],
            'AvailabilityZones' => [
                'us-east-1a',
                'us-east-1b',
                'us-east-1e',
            ],
            'BackupRetentionPeriod' => 1,
            'ClusterCreateTime' => ,
            'DBClusterArn' => 'arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster',
            'DBClusterIdentifier' => 'mydbcluster',
            'DBClusterMembers' => [
                [
                    'DBClusterParameterGroupStatus' => 'in-sync',
                    'DBInstanceIdentifier' => 'dbinstance3',
                    'IsClusterWriter' => ,
                    'PromotionTier' => 1,
                ],
                [
                    'DBClusterParameterGroupStatus' => 'in-sync',
                    'DBInstanceIdentifier' => 'dbinstance1',
                    'IsClusterWriter' => ,
                    'PromotionTier' => 1,
                ],
                [
                    'DBClusterParameterGroupStatus' => 'in-sync',
                    'DBInstanceIdentifier' => 'dbinstance2',
                    'IsClusterWriter' => ,
                    'PromotionTier' => 1,
                ],
                [
                    'DBClusterParameterGroupStatus' => 'in-sync',
                    'DBInstanceIdentifier' => 'mydbcluster',
                    'IsClusterWriter' => ,
                    'PromotionTier' => 1,
                ],
                [
                    'DBClusterParameterGroupStatus' => 'in-sync',
                    'DBInstanceIdentifier' => 'mydbcluster-us-east-1b',
                    'IsClusterWriter' => ,
                    'PromotionTier' => 1,
                ],
                [
                    'DBClusterParameterGroupStatus' => 'in-sync',
                    'DBInstanceIdentifier' => 'mydbcluster',
                    'IsClusterWriter' => 1,
                    'PromotionTier' => 1,
                ],
            ],
            'DBClusterParameterGroup' => 'default.aurora-mysql5.7',
            'DBSubnetGroup' => 'default',
            'DatabaseName' => 'mydbcluster',
            'DbClusterResourceId' => 'cluster-AKIAIOSFODNN7EXAMPLE',
            'DeletionProtection' => ,
            'EarliestRestorableTime' => ,
            'Endpoint' => 'mydbcluster.cluster-cnpexample.us-east-1.rds.amazonaws.com',
            'Engine' => 'aurora-mysql',
            'EngineMode' => 'provisioned',
            'EngineVersion' => '5.7.mysql_aurora.2.04.2',
            'HostedZoneId' => 'Z2R2ITUGPM61AM',
            'HttpEndpointEnabled' => ,
            'IAMDatabaseAuthenticationEnabled' => ,
            'KmsKeyId' => 'arn:aws:kms:us-east-1:814387698303:key/AKIAIOSFODNN7EXAMPLE',
            'LatestRestorableTime' => ,
            'MasterUsername' => 'myadmin',
            'MultiAZ' => 1,
            'Port' => 3306,
            'PreferredBackupWindow' => '09:09-09:39',
            'PreferredMaintenanceWindow' => 'sat:04:09-sat:04:39',
            'ReadReplicaIdentifiers' => [
            ],
            'ReaderEndpoint' => 'mydbcluster.cluster-ro-cnpexample.us-east-1.rds.amazonaws.com',
            'Status' => 'available',
            'StorageEncrypted' => 1,
            'VpcSecurityGroups' => [
                [
                    'Status' => 'active',
                    'VpcSecurityGroupId' => 'sg-0b9130572daf3dc16',
                ],
            ],
        ],
    ],
]

DescribeDBEngineVersions

$result = $client->describeDBEngineVersions([/* ... */]);
$promise = $client->describeDBEngineVersionsAsync([/* ... */]);

Describes the properties of specific versions of DB engines.

Parameter Syntax

$result = $client->describeDBEngineVersions([
    'DBParameterGroupFamily' => '<string>',
    'DefaultOnly' => true || false,
    'Engine' => '<string>',
    'EngineVersion' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'IncludeAll' => true || false,
    'ListSupportedCharacterSets' => true || false,
    'ListSupportedTimezones' => true || false,
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
DBParameterGroupFamily
Type: string

The name of a specific DB parameter group family to return details for.

Constraints:

  • If supplied, must match an existing DB parameter group family.

DefaultOnly
Type: boolean

Specifies whether to return only the default version of the specified engine or the engine and major version combination.

Engine
Type: string

The database engine to return version details for.

Valid Values:

  • aurora-mysql

  • aurora-postgresql

  • custom-oracle-ee

  • custom-oracle-ee-cdb

  • custom-oracle-se2

  • custom-oracle-se2-cdb

  • db2-ae

  • db2-se

  • mariadb

  • mysql

  • oracle-ee

  • oracle-ee-cdb

  • oracle-se2

  • oracle-se2-cdb

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

EngineVersion
Type: string

A specific database engine version to return details for.

Example: 5.1.49

Filters
Type: Array of Filter structures

A filter that specifies one or more DB engine versions to describe.

Supported filters:

  • db-parameter-group-family - Accepts parameter groups family names. The results list only includes information about the DB engine versions for these parameter group families.

  • engine - Accepts engine names. The results list only includes information about the DB engine versions for these engines.

  • engine-mode - Accepts DB engine modes. The results list only includes information about the DB engine versions for these engine modes. Valid DB engine modes are the following:

    • global

    • multimaster

    • parallelquery

    • provisioned

    • serverless

  • engine-version - Accepts engine versions. The results list only includes information about the DB engine versions for these engine versions.

  • status - Accepts engine version statuses. The results list only includes information about the DB engine versions for these statuses. Valid statuses are the following:

    • available

    • deprecated

IncludeAll
Type: boolean

Specifies whether to also list the engine versions that aren't available. The default is to list only available engine versions.

ListSupportedCharacterSets
Type: boolean

Specifies whether to list the supported character sets for each engine version.

If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

For RDS Custom, the default is not to list supported character sets. If you enable this parameter, RDS Custom returns no results.

ListSupportedTimezones
Type: boolean

Specifies whether to list the supported time zones for each engine version.

If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

For RDS Custom, the default is not to list supported time zones. If you enable this parameter, RDS Custom returns no results.

Marker
Type: string

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 MaxRecords.

MaxRecords
Type: int

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'DBEngineVersions' => [
        [
            'CreateTime' => <DateTime>,
            'CustomDBEngineVersionManifest' => '<string>',
            'DBEngineDescription' => '<string>',
            'DBEngineMediaType' => '<string>',
            'DBEngineVersionArn' => '<string>',
            'DBEngineVersionDescription' => '<string>',
            'DBParameterGroupFamily' => '<string>',
            'DatabaseInstallationFilesS3BucketName' => '<string>',
            'DatabaseInstallationFilesS3Prefix' => '<string>',
            'DefaultCharacterSet' => [
                'CharacterSetDescription' => '<string>',
                'CharacterSetName' => '<string>',
            ],
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'ExportableLogTypes' => ['<string>', ...],
            'Image' => [
                'ImageId' => '<string>',
                'Status' => '<string>',
            ],
            'KMSKeyId' => '<string>',
            'MajorEngineVersion' => '<string>',
            'ServerlessV2FeaturesSupport' => [
                'MaxCapacity' => <float>,
                'MinCapacity' => <float>,
            ],
            'Status' => '<string>',
            'SupportedCACertificateIdentifiers' => ['<string>', ...],
            'SupportedCharacterSets' => [
                [
                    'CharacterSetDescription' => '<string>',
                    'CharacterSetName' => '<string>',
                ],
                // ...
            ],
            'SupportedEngineModes' => ['<string>', ...],
            'SupportedFeatureNames' => ['<string>', ...],
            'SupportedNcharCharacterSets' => [
                [
                    'CharacterSetDescription' => '<string>',
                    'CharacterSetName' => '<string>',
                ],
                // ...
            ],
            'SupportedTimezones' => [
                [
                    'TimezoneName' => '<string>',
                ],
                // ...
            ],
            'SupportsBabelfish' => true || false,
            'SupportsCertificateRotationWithoutRestart' => true || false,
            'SupportsGlobalDatabases' => true || false,
            'SupportsIntegrations' => true || false,
            'SupportsLimitlessDatabase' => true || false,
            'SupportsLocalWriteForwarding' => true || false,
            'SupportsLogExportsToCloudwatchLogs' => true || false,
            'SupportsParallelQuery' => true || false,
            'SupportsReadReplica' => true || false,
            'TagList' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'ValidUpgradeTarget' => [
                [
                    'AutoUpgrade' => true || false,
                    'Description' => '<string>',
                    'Engine' => '<string>',
                    'EngineVersion' => '<string>',
                    'IsMajorVersionUpgrade' => true || false,
                    'SupportedEngineModes' => ['<string>', ...],
                    'SupportsBabelfish' => true || false,
                    'SupportsGlobalDatabases' => true || false,
                    'SupportsIntegrations' => true || false,
                    'SupportsLimitlessDatabase' => true || false,
                    'SupportsLocalWriteForwarding' => true || false,
                    'SupportsParallelQuery' => true || false,
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBEngineVersions
Type: Array of DBEngineVersion structures

A list of DBEngineVersion elements.

Marker
Type: string

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 MaxRecords.

Errors

There are no errors described for this operation.

Examples

Example 1: To describe the DB engine versions for the MySQL DB engine

The following example displays details about each of the DB engine versions for the specified DB engine.

$result = $client->describeDBEngineVersions([
    'Engine' => 'mysql',
]);

Result syntax:

[
    'DBEngineVersions' => [
        [
            'DBEngineDescription' => 'MySQL Community Edition',
            'DBEngineVersionDescription' => 'MySQL 5.7.33',
            'DBParameterGroupFamily' => 'mysql5.7',
            'Engine' => 'mysql',
            'EngineVersion' => '5.7.33',
            'ValidUpgradeTarget' => [
                [
                    'AutoUpgrade' => ,
                    'Description' => 'MySQL 5.7.34',
                    'Engine' => 'mysql',
                    'EngineVersion' => '5.7.34',
                    'IsMajorVersionUpgrade' => ,
                ],
                [
                    'AutoUpgrade' => ,
                    'Description' => 'MySQL 5.7.36',
                    'Engine' => 'mysql',
                    'EngineVersion' => '5.7.36',
                    'IsMajorVersionUpgrade' => ,
                ],
            ],
        ],
    ], // Some output ommitted.
]

DescribeDBInstanceAutomatedBackups

$result = $client->describeDBInstanceAutomatedBackups([/* ... */]);
$promise = $client->describeDBInstanceAutomatedBackupsAsync([/* ... */]);

Displays backups for both current and deleted instances. For example, use this operation to find details about automated backups for previously deleted instances. Current instances with retention periods greater than zero (0) are returned for both the DescribeDBInstanceAutomatedBackups and DescribeDBInstances operations.

All parameters are optional.

Parameter Syntax

$result = $client->describeDBInstanceAutomatedBackups([
    'DBInstanceAutomatedBackupsArn' => '<string>',
    'DBInstanceIdentifier' => '<string>',
    'DbiResourceId' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
DBInstanceAutomatedBackupsArn
Type: string

The Amazon Resource Name (ARN) of the replicated automated backups, for example, arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

This setting doesn't apply to RDS Custom.

DBInstanceIdentifier
Type: string

(Optional) The user-supplied instance identifier. If this parameter is specified, it must match the identifier of an existing DB instance. It returns information from the specific DB instance's automated backup. This parameter isn't case-sensitive.

DbiResourceId
Type: string

The resource ID of the DB instance that is the source of the automated backup. This parameter isn't case-sensitive.

Filters
Type: Array of Filter structures

A filter that specifies which resources to return based on status.

Supported filters are the following:

  • status

    • active - Automated backups for current instances.

    • creating - Automated backups that are waiting for the first automated snapshot to be available.

    • retained - Automated backups for deleted instances and after backup replication is stopped.

  • db-instance-id - Accepts DB instance identifiers and Amazon Resource Names (ARNs). The results list includes only information about the DB instance automated backups identified by these ARNs.

  • dbi-resource-id - Accepts DB resource identifiers and Amazon Resource Names (ARNs). The results list includes only information about the DB instance resources identified by these ARNs.

Returns all resources by default. The status for each resource is specified in the response.

Marker
Type: string

The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Result Syntax

[
    'DBInstanceAutomatedBackups' => [
        [
            'AllocatedStorage' => <integer>,
            'AvailabilityZone' => '<string>',
            'AwsBackupRecoveryPointArn' => '<string>',
            'BackupRetentionPeriod' => <integer>,
            'BackupTarget' => '<string>',
            'DBInstanceArn' => '<string>',
            'DBInstanceAutomatedBackupsArn' => '<string>',
            'DBInstanceAutomatedBackupsReplications' => [
                [
                    'DBInstanceAutomatedBackupsArn' => '<string>',
                ],
                // ...
            ],
            'DBInstanceIdentifier' => '<string>',
            'DbiResourceId' => '<string>',
            'DedicatedLogVolume' => true || false,
            'Encrypted' => true || false,
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'InstanceCreateTime' => <DateTime>,
            'Iops' => <integer>,
            'KmsKeyId' => '<string>',
            'LicenseModel' => '<string>',
            'MasterUsername' => '<string>',
            'MultiTenant' => true || false,
            'OptionGroupName' => '<string>',
            'Port' => <integer>,
            'Region' => '<string>',
            'RestoreWindow' => [
                'EarliestTime' => <DateTime>,
                'LatestTime' => <DateTime>,
            ],
            'Status' => '<string>',
            'StorageThroughput' => <integer>,
            'StorageType' => '<string>',
            'TdeCredentialArn' => '<string>',
            'Timezone' => '<string>',
            'VpcId' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBInstanceAutomatedBackups
Type: Array of DBInstanceAutomatedBackup structures

A list of DBInstanceAutomatedBackup instances.

Marker
Type: string

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 MaxRecords.

Errors

DBInstanceAutomatedBackupNotFoundFault:

No automated backup for this DB instance was found.

Examples

Example 1: To describe the automated backups for a DB instance

The following example displays details about the automated backups for the specified DB instance. The details include replicated automated backups in other AWS Regions.

$result = $client->describeDBInstanceAutomatedBackups([
    'DBInstanceIdentifier' => 'new-orcl-db',
]);

Result syntax:

[
    'DBInstanceAutomatedBackups' => [
        [
            'AllocatedStorage' => 20,
            'BackupRetentionPeriod' => 14,
            'DBInstanceArn' => 'arn:aws:rds:us-east-1:123456789012:db:new-orcl-db',
            'DBInstanceAutomatedBackupsArn' => 'arn:aws:rds:us-west-2:123456789012:auto-backup:ab-jkib2gfq5rv7replzadausbrktni2bn4example',
            'DBInstanceIdentifier' => 'new-orcl-db',
            'DbiResourceId' => 'db-JKIB2GFQ5RV7REPLZA4EXAMPLE',
            'Encrypted' => ,
            'Engine' => 'oracle-se2',
            'EngineVersion' => '12.1.0.2.v21',
            'IAMDatabaseAuthenticationEnabled' => ,
            'InstanceCreateTime' => ,
            'LicenseModel' => 'bring-your-own-license',
            'MasterUsername' => 'admin',
            'OptionGroupName' => 'default:oracle-se2-12-1',
            'Port' => 1521,
            'Region' => 'us-east-1',
            'RestoreWindow' => [
                'EarliestTime' => ,
                'LatestTime' => ,
            ],
            'Status' => 'replicating',
            'StorageType' => 'gp2',
        ],
    ],
]

DescribeDBInstances

$result = $client->describeDBInstances([/* ... */]);
$promise = $client->describeDBInstancesAsync([/* ... */]);

Describes provisioned RDS instances. This API supports pagination.

This operation can also return information for Amazon Neptune DB instances and Amazon DocumentDB instances.

Parameter Syntax

$result = $client->describeDBInstances([
    'DBInstanceIdentifier' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
DBInstanceIdentifier
Type: string

The user-supplied instance identifier or the Amazon Resource Name (ARN) of the DB instance. 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 DB instance.

Filters
Type: Array of Filter structures

A filter that specifies one or more DB instances to describe.

Supported Filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list only includes information about the DB instances associated with the DB clusters identified by these ARNs.

  • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list only includes information about the DB instances identified by these ARNs.

  • dbi-resource-id - Accepts DB instance resource identifiers. The results list only includes information about the DB instances identified by these DB instance resource identifiers.

  • domain - Accepts Active Directory directory IDs. The results list only includes information about the DB instances associated with these domains.

  • engine - Accepts engine names. The results list only includes information about the DB instances for these engines.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'DBInstances' => [
        [
            'ActivityStreamEngineNativeAuditFieldsIncluded' => true || false,
            'ActivityStreamKinesisStreamName' => '<string>',
            'ActivityStreamKmsKeyId' => '<string>',
            'ActivityStreamMode' => 'sync|async',
            'ActivityStreamPolicyStatus' => 'locked|unlocked|locking-policy|unlocking-policy',
            'ActivityStreamStatus' => 'stopped|starting|started|stopping',
            'AllocatedStorage' => <integer>,
            'AssociatedRoles' => [
                [
                    'FeatureName' => '<string>',
                    'RoleArn' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'AutoMinorVersionUpgrade' => true || false,
            'AutomaticRestartTime' => <DateTime>,
            'AutomationMode' => 'full|all-paused',
            'AvailabilityZone' => '<string>',
            'AwsBackupRecoveryPointArn' => '<string>',
            'BackupRetentionPeriod' => <integer>,
            'BackupTarget' => '<string>',
            'CACertificateIdentifier' => '<string>',
            'CertificateDetails' => [
                'CAIdentifier' => '<string>',
                'ValidTill' => <DateTime>,
            ],
            'CharacterSetName' => '<string>',
            'CopyTagsToSnapshot' => true || false,
            'CustomIamInstanceProfile' => '<string>',
            'CustomerOwnedIpEnabled' => true || false,
            'DBClusterIdentifier' => '<string>',
            'DBInstanceArn' => '<string>',
            'DBInstanceAutomatedBackupsReplications' => [
                [
                    'DBInstanceAutomatedBackupsArn' => '<string>',
                ],
                // ...
            ],
            'DBInstanceClass' => '<string>',
            'DBInstanceIdentifier' => '<string>',
            'DBInstanceStatus' => '<string>',
            'DBName' => '<string>',
            'DBParameterGroups' => [
                [
                    'DBParameterGroupName' => '<string>',
                    'ParameterApplyStatus' => '<string>',
                ],
                // ...
            ],
            'DBSecurityGroups' => [
                [
                    'DBSecurityGroupName' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'DBSubnetGroup' => [
                'DBSubnetGroupArn' => '<string>',
                'DBSubnetGroupDescription' => '<string>',
                'DBSubnetGroupName' => '<string>',
                'SubnetGroupStatus' => '<string>',
                'Subnets' => [
                    [
                        'SubnetAvailabilityZone' => [
                            'Name' => '<string>',
                        ],
                        'SubnetIdentifier' => '<string>',
                        'SubnetOutpost' => [
                            'Arn' => '<string>',
                        ],
                        'SubnetStatus' => '<string>',
                    ],
                    // ...
                ],
                'SupportedNetworkTypes' => ['<string>', ...],
                'VpcId' => '<string>',
            ],
            'DBSystemId' => '<string>',
            'DatabaseInsightsMode' => 'standard|advanced',
            'DbInstancePort' => <integer>,
            'DbiResourceId' => '<string>',
            'DedicatedLogVolume' => true || false,
            'DeletionProtection' => true || false,
            'DomainMemberships' => [
                [
                    'AuthSecretArn' => '<string>',
                    'DnsIps' => ['<string>', ...],
                    'Domain' => '<string>',
                    'FQDN' => '<string>',
                    'IAMRoleName' => '<string>',
                    'OU' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'EnabledCloudwatchLogsExports' => ['<string>', ...],
            'Endpoint' => [
                'Address' => '<string>',
                'HostedZoneId' => '<string>',
                'Port' => <integer>,
            ],
            'Engine' => '<string>',
            'EngineLifecycleSupport' => '<string>',
            'EngineVersion' => '<string>',
            'EnhancedMonitoringResourceArn' => '<string>',
            'IAMDatabaseAuthenticationEnabled' => true || false,
            'InstanceCreateTime' => <DateTime>,
            'Iops' => <integer>,
            'IsStorageConfigUpgradeAvailable' => true || false,
            'KmsKeyId' => '<string>',
            'LatestRestorableTime' => <DateTime>,
            'LicenseModel' => '<string>',
            'ListenerEndpoint' => [
                'Address' => '<string>',
                'HostedZoneId' => '<string>',
                'Port' => <integer>,
            ],
            'MasterUserSecret' => [
                'KmsKeyId' => '<string>',
                'SecretArn' => '<string>',
                'SecretStatus' => '<string>',
            ],
            'MasterUsername' => '<string>',
            'MaxAllocatedStorage' => <integer>,
            'MonitoringInterval' => <integer>,
            'MonitoringRoleArn' => '<string>',
            'MultiAZ' => true || false,
            'MultiTenant' => true || false,
            'NcharCharacterSetName' => '<string>',
            'NetworkType' => '<string>',
            'OptionGroupMemberships' => [
                [
                    'OptionGroupName' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'PendingModifiedValues' => [
                'AllocatedStorage' => <integer>,
                'AutomationMode' => 'full|all-paused',
                'BackupRetentionPeriod' => <integer>,
                'CACertificateIdentifier' => '<string>',
                'DBInstanceClass' => '<string>',
                'DBInstanceIdentifier' => '<string>',
                'DBSubnetGroupName' => '<string>',
                'DedicatedLogVolume' => true || false,
                'Engine' => '<string>',
                'EngineVersion' => '<string>',
                'IAMDatabaseAuthenticationEnabled' => true || false,
                'Iops' => <integer>,
                'LicenseModel' => '<string>',
                'MasterUserPassword' => '<string>',
                'MultiAZ' => true || false,
                'MultiTenant' => true || false,
                'PendingCloudwatchLogsExports' => [
                    'LogTypesToDisable' => ['<string>', ...],
                    'LogTypesToEnable' => ['<string>', ...],
                ],
                'Port' => <integer>,
                'ProcessorFeatures' => [
                    [
                        'Name' => '<string>',
                        'Value' => '<string>',
                    ],
                    // ...
                ],
                'ResumeFullAutomationModeTime' => <DateTime>,
                'StorageThroughput' => <integer>,
                'StorageType' => '<string>',
            ],
            'PercentProgress' => '<string>',
            'PerformanceInsightsEnabled' => true || false,
            'PerformanceInsightsKMSKeyId' => '<string>',
            'PerformanceInsightsRetentionPeriod' => <integer>,
            'PreferredBackupWindow' => '<string>',
            'PreferredMaintenanceWindow' => '<string>',
            'ProcessorFeatures' => [
                [
                    'Name' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'PromotionTier' => <integer>,
            'PubliclyAccessible' => true || false,
            'ReadReplicaDBClusterIdentifiers' => ['<string>', ...],
            'ReadReplicaDBInstanceIdentifiers' => ['<string>', ...],
            'ReadReplicaSourceDBClusterIdentifier' => '<string>',
            'ReadReplicaSourceDBInstanceIdentifier' => '<string>',
            'ReplicaMode' => 'open-read-only|mounted',
            'ResumeFullAutomationModeTime' => <DateTime>,
            'SecondaryAvailabilityZone' => '<string>',
            'StatusInfos' => [
                [
                    'Message' => '<string>',
                    'Normal' => true || false,
                    'Status' => '<string>',
                    'StatusType' => '<string>',
                ],
                // ...
            ],
            'StorageEncrypted' => true || false,
            'StorageThroughput' => <integer>,
            'StorageType' => '<string>',
            'TagList' => [
                [
                    'Key' => '<string>',
                    'Value' => '<string>',
                ],
                // ...
            ],
            'TdeCredentialArn' => '<string>',
            'Timezone' => '<string>',
            'VpcSecurityGroups' => [
                [
                    'Status' => '<string>',
                    'VpcSecurityGroupId' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBInstances
Type: Array of DBInstance structures

A list of DBInstance instances.

Marker
Type: string

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 MaxRecords .

Errors

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

Examples

Example 1: To describe a DB instance

The following example retrieves details about the specified DB instance.

$result = $client->describeDBInstances([
    'DBInstanceIdentifier' => 'mydbinstancecf',
]);

Result syntax:

[
    'DBInstances' => [
        [
            'DBInstanceClass' => 'db.t3.small',
            'DBInstanceIdentifier' => 'mydbinstancecf',
            'DBInstanceStatus' => 'available',
            'Endpoint' => [
                'Address' => 'mydbinstancecf.abcexample.us-east-1.rds.amazonaws.com',
                'HostedZoneId' => 'Z2R2ITUGPM61AM',
                'Port' => 3306,
            ],
            'Engine' => 'mysql',
            'MasterUsername' => 'admin',
        ],
    ], // Some output ommitted.
]

DescribeDBLogFiles

$result = $client->describeDBLogFiles([/* ... */]);
$promise = $client->describeDBLogFilesAsync([/* ... */]);

Returns a list of DB log files for the DB instance.

This command doesn't apply to RDS Custom.

Parameter Syntax

$result = $client->describeDBLogFiles([
    'DBInstanceIdentifier' => '<string>', // REQUIRED
    'FileLastWritten' => <integer>,
    'FileSize' => <integer>,
    'FilenameContains' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
DBInstanceIdentifier
Required: Yes
Type: string

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.

FileLastWritten
Type: long (int|float)

Filters the available log files for files written since the specified date, in POSIX timestamp format with milliseconds.

FileSize
Type: long (int|float)

Filters the available log files for files larger than the specified size.

FilenameContains
Type: string

Filters the available log files for log file names that contain the specified string.

Filters
Type: Array of Filter structures

This parameter isn't currently supported.

Marker
Type: string

The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Result Syntax

[
    'DescribeDBLogFiles' => [
        [
            'LastWritten' => <integer>,
            'LogFileName' => '<string>',
            'Size' => <integer>,
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DescribeDBLogFiles
Type: Array of DescribeDBLogFilesDetails structures

The DB log files returned.

Marker
Type: string

A pagination token that can be used in a later DescribeDBLogFiles request.

Errors

DBInstanceNotFoundFault:

DBInstanceIdentifier doesn't refer to an existing DB instance.

DBInstanceNotReadyFault:

An attempt to download or examine log files didn't succeed because an Aurora Serverless v2 instance was paused.

Examples

Example 1: To describe the log files for a DB instance

The following example retrieves details about the log files for the specified DB instance.

$result = $client->describeDBLogFiles([
    'DBInstanceIdentifier' => 'test-instance',
]);

Result syntax:

[
    'DescribeDBLogFiles' => [
        [
            'LastWritten' => 1533060000000,
            'LogFileName' => 'error/mysql-error-running.log',
            'Size' => 0,
        ],
        [
            'LastWritten' => 1532994300000,
            'LogFileName' => 'error/mysql-error-running.log.0',
            'Size' => 2683,
        ],
        [
            'LastWritten' => 1533057300000,
            'LogFileName' => 'error/mysql-error-running.log.18',
            'Size' => 107,
        ],
        [
            'LastWritten' => 1532991000000,
            'LogFileName' => 'error/mysql-error-running.log.23',
            'Size' => 13105,
        ],
        [
            'LastWritten' => 1533061200000,
            'LogFileName' => 'error/mysql-error.log',
            'Size' => 0,
        ],
        [
            'LastWritten' => 1532989252000,
            'LogFileName' => 'mysqlUpgrade',
            'Size' => 3519,
        ],
    ],
]

DescribeDBParameterGroups

$result = $client->describeDBParameterGroups([/* ... */]);
$promise = $client->describeDBParameterGroupsAsync([/* ... */]);

Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group.

Parameter Syntax

$result = $client->describeDBParameterGroups([
    'DBParameterGroupName' => '<string>',
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
DBParameterGroupName
Type: string

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

Filters
Type: Array of Filter structures

This parameter isn't currently supported.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'DBParameterGroups' => [
        [
            'DBParameterGroupArn' => '<string>',
            'DBParameterGroupFamily' => '<string>',
            'DBParameterGroupName' => '<string>',
            'Description' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DBParameterGroups
Type: Array of DBParameterGroup structures

A list of DBParameterGroup instances.

Marker
Type: string

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 MaxRecords.

Errors

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

Examples

Example 1: To describe your DB parameter groups

The following example retrieves details about your DB parameter groups.

$result = $client->describeDBParameterGroups([
]);

Result syntax:

[
    'DBParameterGroups' => [
        [
            'DBParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:pg:default.aurora-mysql5.7',
            'DBParameterGroupFamily' => 'aurora-mysql5.7',
            'DBParameterGroupName' => 'default.aurora-mysql5.7',
            'Description' => 'Default parameter group for aurora-mysql5.7',
        ],
        [
            'DBParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:pg:default.aurora-postgresql9.6',
            'DBParameterGroupFamily' => 'aurora-postgresql9.6',
            'DBParameterGroupName' => 'default.aurora-postgresql9.6',
            'Description' => 'Default parameter group for aurora-postgresql9.6',
        ],
        [
            'DBParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:pg:default.aurora5.6',
            'DBParameterGroupFamily' => 'aurora5.6',
            'DBParameterGroupName' => 'default.aurora5.6',
            'Description' => 'Default parameter group for aurora5.6',
        ],
        [
            'DBParameterGroupArn' => 'arn:aws:rds:us-east-1:123456789012:pg:default.mariadb10.1',
            'DBParameterGroupFamily' => 'mariadb10.1',
            'DBParameterGroupName' => 'default.mariadb10.1',
            'Description' => 'Default parameter group for mariadb10.1',
        ],
    ], // Some output ommitted.
]

DescribeDBParameters

$result = $client->describeDBParameters([/* ... */]);
$promise = $client->describeDBParametersAsync([/* ... */]);

Returns the detailed parameter list for a particular DB parameter group.

Parameter Syntax

$result = $client->describeDBParameters([
    'DBParameterGroupName' => '<string>', // REQUIRED
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
    'Source' => '<string>',
]);

Parameter Details

Members
DBParameterGroupName
Required: Yes
Type: string

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

Filters
Type: Array of Filter structures

This parameter isn't currently supported.

Marker
Type: string

An optional pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

MaxRecords
Type: int

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 you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

Source
Type: string

The parameter types to return.

Default: All parameter types returned

Valid Values: user | system | engine-default

Result Syntax

[
    'Marker' => '<string>',
    'Parameters' => [
        [
            'AllowedValues' => '<string>',
            'ApplyMethod' => 'immediate|pending-reboot',
            'ApplyType' => '<string>',
            'DataType' => '<string>',
            'Description' => '<string>',
            'IsModifiable' => true || false,
            'MinimumEngineVersion' => '<string>',
            'ParameterName' => '<string>',
            'ParameterValue' => '<string>',
            'Source' => '<string>',
            'SupportedEngineModes' => ['<string>', ...],
        ],
        // ...
    ],
]

Result Details

Members
Marker
Type: string

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 MaxRecords.

Parameters
Type: Array of Parameter structures

A list of Parameter values.

Errors

DBParameterGroupNotFoundFault:

DBParameterGroupName doesn't refer to an existing DB parameter group.

Examples

Example 1: To describe the parameters in a DB parameter group

The following example retrieves the details of the specified DB parameter group.

$result = $client->describeDBParameters([
    'DBParameterGroupName' => 'mydbpg',
]);

Result syntax:

[
    'Parameters' => [
        [
            'AllowedValues' => '0,1',
            'ApplyMethod' => 'pending-reboot',
            'ApplyType' => 'static',
            'DataType' => 'boolean',
            'Description' => 'Controls whether user-defined f