restoreDBClusterFromS3 method
- required String dBClusterIdentifier,
- required String engine,
- required String masterUserPassword,
- required String masterUsername,
- required String s3BucketName,
- required String s3IngestionRoleArn,
- required String sourceEngine,
- required String sourceEngineVersion,
- List<
String> ? availabilityZones, - int? backtrackWindow,
- int? backupRetentionPeriod,
- String? characterSetName,
- bool? copyTagsToSnapshot,
- String? dBClusterParameterGroupName,
- String? dBSubnetGroupName,
- String? databaseName,
- bool? deletionProtection,
- String? domain,
- String? domainIAMRoleName,
- List<
String> ? enableCloudwatchLogsExports, - bool? enableIAMDatabaseAuthentication,
- String? engineVersion,
- String? kmsKeyId,
- String? optionGroupName,
- int? port,
- String? preferredBackupWindow,
- String? preferredMaintenanceWindow,
- String? s3Prefix,
- bool? storageEncrypted,
- List<
Tag> ? tags, - List<
String> ? vpcSecurityGroupIds,
Creates an Amazon Aurora DB cluster from MySQL data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data from MySQL by Using an Amazon S3 Bucket in the Amazon Aurora User Guide. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.
May throw DBClusterAlreadyExistsFault. May throw DBClusterQuotaExceededFault. May throw StorageQuotaExceededFault. May throw DBSubnetGroupNotFoundFault. May throw InvalidVPCNetworkStateFault. May throw InvalidDBClusterStateFault. May throw InvalidDBSubnetGroupStateFault. May throw InvalidSubnet. May throw InvalidS3BucketFault. May throw DBClusterParameterGroupNotFoundFault. May throw KMSKeyNotAccessibleFault. May throw DBClusterNotFoundFault. May throw DomainNotFoundFault. May throw InsufficientStorageClusterCapacityFault.
Parameter dBClusterIdentifier
:
The name of the DB cluster to create from the source data in the Amazon S3
bucket. 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.
my-cluster1
Parameter engine
:
The name of the database engine to be used for this DB cluster.
Valid Values: aurora
(for MySQL 5.6-compatible Aurora),
aurora-mysql
(for MySQL 5.7-compatible Aurora), and
aurora-postgresql
Parameter masterUserPassword
:
The password for the master database user. This password can contain any
printable ASCII character except "/", """, or "@".
Constraints: Must contain from 8 to 41 characters.
Parameter masterUsername
:
The name of the master user for the restored DB cluster.
Constraints:
- Must be 1 to 16 letters or numbers.
- First character must be a letter.
- Can't be a reserved word for the chosen database engine.
Parameter s3BucketName
:
The name of the Amazon S3 bucket that contains the data used to create the
Amazon Aurora DB cluster.
Parameter s3IngestionRoleArn
:
The Amazon Resource Name (ARN) of the AWS Identity and Access Management
(IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on
your behalf.
Parameter sourceEngine
:
The identifier for the database engine that was backed up to create the
files stored in the Amazon S3 bucket.
Valid values: mysql
Parameter sourceEngineVersion
:
The version of the database that the backup files were created from.
MySQL versions 5.5, 5.6, and 5.7 are supported.
Example: 5.6.40
, 5.7.28
Parameter availabilityZones
:
A list of Availability Zones (AZs) where instances in the restored DB
cluster can be created.
Parameter backtrackWindow
:
The target backtrack window, in seconds. To disable backtracking, set this
value to 0.
Default: 0
Constraints:
- If specified, this value must be set to a number from 0 to 259,200 (72 hours).
Parameter backupRetentionPeriod
:
The number of days for which automated backups of the restored DB cluster
are retained. You must specify a minimum value of 1.
Default: 1
Constraints:
- Must be a value from 1 to 35
Parameter characterSetName
:
A value that indicates that the restored DB cluster should be associated
with the specified CharacterSet.
Parameter copyTagsToSnapshot
:
A value that indicates whether to copy all tags from the restored DB
cluster to snapshots of the restored DB cluster. The default is not to
copy them.
Parameter dBClusterParameterGroupName
:
The name of the DB cluster parameter group to associate with the restored
DB cluster. If this argument is omitted, default.aurora5.6
is
used.
Constraints:
- If supplied, must match the name of an existing DBClusterParameterGroup.
Parameter dBSubnetGroupName
:
A DB subnet group to associate with the restored DB cluster.
Constraints: If supplied, must match the name of an existing DBSubnetGroup.
Example: mySubnetgroup
Parameter databaseName
:
The database name for the restored DB cluster.
Parameter deletionProtection
:
A value that indicates whether the DB cluster has deletion protection
enabled. The database can't be deleted when deletion protection is
enabled. By default, deletion protection is disabled.
Parameter domain
:
Specify the Active Directory directory ID to restore the DB cluster in.
The domain must be created prior to this operation.
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.
Parameter domainIAMRoleName
:
Specify the name of the IAM role to be used when making API calls to the
Directory Service.
Parameter enableCloudwatchLogsExports
:
The list of logs that the restored DB cluster 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 Aurora User
Guide.
Parameter enableIAMDatabaseAuthentication
:
A value that indicates whether to enable mapping of AWS Identity and
Access Management (IAM) accounts to database accounts. By default, mapping
is disabled.
For more information, see IAM Database Authentication in the Amazon Aurora User Guide.
Parameter engineVersion
:
The version number of the database engine to use.
To list all of the available engine versions for aurora
(for
MySQL 5.6-compatible Aurora), use the following command:
aws rds describe-db-engine-versions --engine aurora --query
"DBEngineVersions[].EngineVersion"
To list all of the available engine versions for aurora-mysql
(for MySQL 5.7-compatible Aurora), use the following command:
aws rds describe-db-engine-versions --engine aurora-mysql --query
"DBEngineVersions[].EngineVersion"
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"
Aurora MySQL
Example: 5.6.10a
, 5.6.mysql_aurora.1.19.2
,
5.7.12
, 5.7.mysql_aurora.2.04.5
Aurora PostgreSQL
Example: 9.6.3
, 10.7
Parameter kmsKeyId
:
The AWS KMS key identifier for an encrypted DB cluster.
The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the AWS KMS customer master key (CMK). To use a CMK in a different AWS account, specify the key ARN or alias ARN.
If the StorageEncrypted parameter is enabled, and you do not specify a
value for the KmsKeyId
parameter, then Amazon RDS will use
your default CMK. There is a default CMK for your AWS account. Your AWS
account has a different default CMK for each AWS Region.
Parameter optionGroupName
:
A value that indicates that the restored DB cluster should be associated
with the specified option group.
Permanent options can't be removed from an option group. An option group can't be removed from a DB cluster once it is associated with a DB cluster.
Parameter port
:
The port number on which the instances in the restored DB cluster accept
connections.
Default: 3306
Parameter preferredBackupWindow
:
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 AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance 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.
Parameter preferredMaintenanceWindow
:
The weekly time range during which system maintenance can occur, in
Universal Coordinated Time (UTC).
Format: ddd:hh24:mi-ddd:hh24:mi
The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide.
Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
Constraints: Minimum 30-minute window.
Parameter s3Prefix
:
The prefix for all of the file names that contain the data used to create
the Amazon Aurora DB cluster. If you do not specify a
SourceS3Prefix value, then the Amazon Aurora DB cluster is created
by using all of the files in the Amazon S3 bucket.
Parameter storageEncrypted
:
A value that indicates whether the restored DB cluster is encrypted.
Parameter vpcSecurityGroupIds
:
A list of EC2 VPC security groups to associate with the restored DB
cluster.
Implementation
Future<RestoreDBClusterFromS3Result> restoreDBClusterFromS3({
required String dBClusterIdentifier,
required String engine,
required String masterUserPassword,
required String masterUsername,
required String s3BucketName,
required String s3IngestionRoleArn,
required String sourceEngine,
required String sourceEngineVersion,
List<String>? availabilityZones,
int? backtrackWindow,
int? backupRetentionPeriod,
String? characterSetName,
bool? copyTagsToSnapshot,
String? dBClusterParameterGroupName,
String? dBSubnetGroupName,
String? databaseName,
bool? deletionProtection,
String? domain,
String? domainIAMRoleName,
List<String>? enableCloudwatchLogsExports,
bool? enableIAMDatabaseAuthentication,
String? engineVersion,
String? kmsKeyId,
String? optionGroupName,
int? port,
String? preferredBackupWindow,
String? preferredMaintenanceWindow,
String? s3Prefix,
bool? storageEncrypted,
List<Tag>? tags,
List<String>? vpcSecurityGroupIds,
}) async {
ArgumentError.checkNotNull(dBClusterIdentifier, 'dBClusterIdentifier');
ArgumentError.checkNotNull(engine, 'engine');
ArgumentError.checkNotNull(masterUserPassword, 'masterUserPassword');
ArgumentError.checkNotNull(masterUsername, 'masterUsername');
ArgumentError.checkNotNull(s3BucketName, 's3BucketName');
ArgumentError.checkNotNull(s3IngestionRoleArn, 's3IngestionRoleArn');
ArgumentError.checkNotNull(sourceEngine, 'sourceEngine');
ArgumentError.checkNotNull(sourceEngineVersion, 'sourceEngineVersion');
final $request = <String, dynamic>{};
$request['DBClusterIdentifier'] = dBClusterIdentifier;
$request['Engine'] = engine;
$request['MasterUserPassword'] = masterUserPassword;
$request['MasterUsername'] = masterUsername;
$request['S3BucketName'] = s3BucketName;
$request['S3IngestionRoleArn'] = s3IngestionRoleArn;
$request['SourceEngine'] = sourceEngine;
$request['SourceEngineVersion'] = sourceEngineVersion;
availabilityZones?.also((arg) => $request['AvailabilityZones'] = arg);
backtrackWindow?.also((arg) => $request['BacktrackWindow'] = arg);
backupRetentionPeriod
?.also((arg) => $request['BackupRetentionPeriod'] = arg);
characterSetName?.also((arg) => $request['CharacterSetName'] = arg);
copyTagsToSnapshot?.also((arg) => $request['CopyTagsToSnapshot'] = arg);
dBClusterParameterGroupName
?.also((arg) => $request['DBClusterParameterGroupName'] = arg);
dBSubnetGroupName?.also((arg) => $request['DBSubnetGroupName'] = arg);
databaseName?.also((arg) => $request['DatabaseName'] = arg);
deletionProtection?.also((arg) => $request['DeletionProtection'] = arg);
domain?.also((arg) => $request['Domain'] = arg);
domainIAMRoleName?.also((arg) => $request['DomainIAMRoleName'] = arg);
enableCloudwatchLogsExports
?.also((arg) => $request['EnableCloudwatchLogsExports'] = arg);
enableIAMDatabaseAuthentication
?.also((arg) => $request['EnableIAMDatabaseAuthentication'] = arg);
engineVersion?.also((arg) => $request['EngineVersion'] = arg);
kmsKeyId?.also((arg) => $request['KmsKeyId'] = arg);
optionGroupName?.also((arg) => $request['OptionGroupName'] = arg);
port?.also((arg) => $request['Port'] = arg);
preferredBackupWindow
?.also((arg) => $request['PreferredBackupWindow'] = arg);
preferredMaintenanceWindow
?.also((arg) => $request['PreferredMaintenanceWindow'] = arg);
s3Prefix?.also((arg) => $request['S3Prefix'] = arg);
storageEncrypted?.also((arg) => $request['StorageEncrypted'] = arg);
tags?.also((arg) => $request['Tags'] = arg);
vpcSecurityGroupIds?.also((arg) => $request['VpcSecurityGroupIds'] = arg);
final $result = await _protocol.send(
$request,
action: 'RestoreDBClusterFromS3',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['RestoreDBClusterFromS3Message'],
shapes: shapes,
resultWrapper: 'RestoreDBClusterFromS3Result',
);
return RestoreDBClusterFromS3Result.fromXml($result);
}