modifyDBInstance method
- required String dBInstanceIdentifier,
- int? allocatedStorage,
- bool? allowMajorVersionUpgrade,
- bool? applyImmediately,
- bool? autoMinorVersionUpgrade,
- int? backupRetentionPeriod,
- String? cACertificateIdentifier,
- CloudwatchLogsExportConfiguration? cloudwatchLogsExportConfiguration,
- bool? copyTagsToSnapshot,
- String? dBInstanceClass,
- String? dBParameterGroupName,
- int? dBPortNumber,
- List<
String> ? dBSecurityGroups, - String? dBSubnetGroupName,
- bool? deletionProtection,
- String? domain,
- String? domainIAMRoleName,
- bool? enableIAMDatabaseAuthentication,
- bool? enablePerformanceInsights,
- String? engineVersion,
- int? iops,
- String? licenseModel,
- String? masterUserPassword,
- int? monitoringInterval,
- String? monitoringRoleArn,
- bool? multiAZ,
- String? newDBInstanceIdentifier,
- String? optionGroupName,
- String? performanceInsightsKMSKeyId,
- String? preferredBackupWindow,
- String? preferredMaintenanceWindow,
- int? promotionTier,
- bool? publiclyAccessible,
- String? storageType,
- String? tdeCredentialArn,
- String? tdeCredentialPassword,
- List<
String> ? vpcSecurityGroupIds,
Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
May throw InvalidDBInstanceStateFault. May throw InvalidDBSecurityGroupStateFault. May throw DBInstanceAlreadyExistsFault. May throw DBInstanceNotFoundFault. May throw DBSecurityGroupNotFoundFault. May throw DBParameterGroupNotFoundFault. May throw InsufficientDBInstanceCapacityFault. May throw StorageQuotaExceededFault. May throw InvalidVPCNetworkStateFault. May throw ProvisionedIopsNotAvailableInAZFault. May throw OptionGroupNotFoundFault. May throw DBUpgradeDependencyFailureFault. May throw StorageTypeNotSupportedFault. May throw AuthorizationNotFoundFault. May throw CertificateNotFoundFault. May throw DomainNotFoundFault.
Parameter dBInstanceIdentifier
:
The DB instance identifier. This value is stored as a lowercase string.
Constraints:
- Must match the identifier of an existing DBInstance.
Parameter allocatedStorage
:
The new amount of storage (in gibibytes) to allocate for the DB instance.
Not applicable. Storage is managed by the DB Cluster.
Parameter allowMajorVersionUpgrade
:
Indicates that major version upgrades are allowed. Changing this parameter
doesn't result in an outage and the change is asynchronously applied as
soon as possible.
Parameter applyImmediately
:
Specifies whether the modifications in this request and any pending
modifications are asynchronously applied as soon as possible, regardless
of the PreferredMaintenanceWindow
setting for the DB
instance.
If this parameter is set to false
, changes to the DB instance
are applied during the next maintenance window. Some parameter changes can
cause an outage and are applied on the next call to
RebootDBInstance, or the next failure reboot.
Default: false
Parameter autoMinorVersionUpgrade
:
Indicates that minor version upgrades are applied automatically to the DB
instance during the maintenance window. Changing this parameter doesn't
result in an outage except in the following case and the change is
asynchronously applied as soon as possible. An outage will result if this
parameter is set to true
during the maintenance window, and a
newer minor version is available, and Neptune has enabled auto patching
for that engine version.
Parameter backupRetentionPeriod
:
Not applicable. The retention period for automated backups is managed by
the DB cluster. For more information, see ModifyDBCluster.
Default: Uses existing setting
Parameter cACertificateIdentifier
:
Indicates the certificate that needs to be associated with the instance.
Parameter cloudwatchLogsExportConfiguration
:
The configuration setting for the log types to be enabled for export to
CloudWatch Logs for a specific DB instance or DB cluster.
Parameter copyTagsToSnapshot
:
True to copy all tags from the DB instance to snapshots of the DB
instance, and otherwise false. The default is false.
Parameter dBInstanceClass
:
The new compute and memory capacity of the DB instance, for example,
db.m4.large
. Not all DB instance classes are available in all
AWS Regions.
If you modify the DB instance class, an outage occurs during the change.
The change is applied during the next maintenance window, unless
ApplyImmediately
is specified as true
for this
request.
Default: Uses existing setting
Parameter dBParameterGroupName
:
The name of the DB parameter group to apply to the DB instance. Changing
this setting doesn't result in an outage. The parameter group name itself
is changed immediately, but the actual parameter changes are not applied
until you reboot the instance without failover. The db instance will NOT
be rebooted automatically and the parameter changes will NOT be applied
during the next maintenance window.
Default: Uses existing setting
Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.
Parameter dBPortNumber
:
The port number on which the database accepts connections.
The value of the DBPortNumber
parameter must not match any of
the port values specified for options in the option group for the DB
instance.
Your database will restart when you change the DBPortNumber
value regardless of the value of the ApplyImmediately
parameter.
Default: 8182
Parameter dBSecurityGroups
:
A list of DB security groups to authorize on this DB instance. Changing
this setting doesn't result in an outage and the change is asynchronously
applied as soon as possible.
Constraints:
- If supplied, must match existing DBSecurityGroups.
Parameter dBSubnetGroupName
:
The new DB subnet group for the DB instance. You can use this parameter to
move your DB instance to a different VPC.
Changing the subnet group causes an outage during the change. The change
is applied during the next maintenance window, unless you specify
true
for the ApplyImmediately
parameter.
Constraints: If supplied, must match the name of an existing DBSubnetGroup.
Example: mySubnetGroup
Parameter deletionProtection
:
A value that indicates whether the DB instance has deletion protection
enabled. The database can't be deleted when deletion protection is
enabled. By default, deletion protection is disabled. See Deleting
a DB Instance.
Parameter domain
:
Not supported.
Parameter domainIAMRoleName
:
Not supported
Parameter enableIAMDatabaseAuthentication
:
True to enable mapping of AWS Identity and Access Management (IAM)
accounts to database accounts, and otherwise false.
You can enable IAM database authentication for the following database engines
Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see ModifyDBCluster.
Default: false
Parameter enablePerformanceInsights
:
(Not supported by Neptune)
Parameter engineVersion
:
The version number of the database engine to upgrade to. Currently,
setting this parameter has no effect. To upgrade your database engine to
the most recent release, use the ApplyPendingMaintenanceAction API.
Parameter iops
:
The new Provisioned IOPS (I/O operations per second) value for the
instance.
Changing this setting doesn't result in an outage and the change is
applied during the next maintenance window unless the
ApplyImmediately
parameter is set to true
for
this request.
Default: Uses existing setting
Parameter licenseModel
:
Not supported.
Parameter masterUserPassword
:
Not applicable.
Parameter monitoringInterval
:
The interval, in seconds, between points when Enhanced Monitoring metrics
are collected for the DB instance. To disable collecting Enhanced
Monitoring metrics, specify 0. The default is 0.
If MonitoringRoleArn
is specified, then you must also set
MonitoringInterval
to a value other than 0.
Valid Values: 0, 1, 5, 10, 15, 30, 60
Parameter monitoringRoleArn
:
The ARN for the IAM role that permits Neptune to send enhanced monitoring
metrics to Amazon CloudWatch Logs. For example,
arn:aws:iam:123456789012:role/emaccess
.
If MonitoringInterval
is set to a value other than 0, then
you must supply a MonitoringRoleArn
value.
Parameter multiAZ
:
Specifies if the DB instance is a Multi-AZ deployment. Changing this
parameter doesn't result in an outage and the change is applied during the
next maintenance window unless the ApplyImmediately
parameter
is set to true
for this request.
Parameter newDBInstanceIdentifier
:
The new DB instance identifier for the DB instance when renaming a DB
instance. When you change the DB instance identifier, an instance reboot
will occur immediately if you set Apply Immediately
to true,
or will occur during the next maintenance window if Apply
Immediately
to false. This value is stored as a lowercase string.
Constraints:
- Must contain from 1 to 63 letters, numbers, or hyphens.
- The first character must be a letter.
- Cannot end with a hyphen or contain two consecutive hyphens.
mydbinstance
Parameter optionGroupName
:
(Not supported by Neptune)
Parameter performanceInsightsKMSKeyId
:
(Not supported by Neptune)
Parameter preferredBackupWindow
:
The daily time range during which automated backups are created if
automated backups are enabled.
Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.
Constraints:
- Must be in the format hh24:mi-hh24:mi
- Must be in Universal Time Coordinated (UTC)
- Must not conflict with the preferred maintenance window
- Must be at least 30 minutes
Parameter preferredMaintenanceWindow
:
The weekly time range (in UTC) during which system maintenance can occur,
which might result in an outage. Changing this parameter doesn't result in
an outage, except in the following situation, and the change is
asynchronously applied as soon as possible. If there are pending actions
that cause a reboot, and the maintenance window is changed to include the
current time, then changing this parameter will cause a reboot of the DB
instance. If moving this window to the current time, there must be at
least 30 minutes between the current time and end of the window to ensure
pending changes are applied.
Default: Uses existing setting
Format: ddd:hh24:mi-ddd:hh24:mi
Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Must be at least 30 minutes
Parameter promotionTier
:
A value that specifies the order in which a Read Replica is promoted to
the primary instance after a failure of the existing primary instance.
Default: 1
Valid Values: 0 - 15
Parameter publiclyAccessible
:
This flag should no longer be used.
Parameter storageType
:
Not supported.
Parameter tdeCredentialArn
:
The ARN from the key store with which to associate the instance for TDE
encryption.
Parameter tdeCredentialPassword
:
The password for the given ARN from the key store in order to access the
device.
Parameter vpcSecurityGroupIds
:
A list of EC2 VPC security groups to authorize on this DB instance. This
change is asynchronously applied as soon as possible.
Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster.
Constraints:
- If supplied, must match existing VpcSecurityGroupIds.
Implementation
Future<ModifyDBInstanceResult> modifyDBInstance({
required String dBInstanceIdentifier,
int? allocatedStorage,
bool? allowMajorVersionUpgrade,
bool? applyImmediately,
bool? autoMinorVersionUpgrade,
int? backupRetentionPeriod,
String? cACertificateIdentifier,
CloudwatchLogsExportConfiguration? cloudwatchLogsExportConfiguration,
bool? copyTagsToSnapshot,
String? dBInstanceClass,
String? dBParameterGroupName,
int? dBPortNumber,
List<String>? dBSecurityGroups,
String? dBSubnetGroupName,
bool? deletionProtection,
String? domain,
String? domainIAMRoleName,
bool? enableIAMDatabaseAuthentication,
bool? enablePerformanceInsights,
String? engineVersion,
int? iops,
String? licenseModel,
String? masterUserPassword,
int? monitoringInterval,
String? monitoringRoleArn,
bool? multiAZ,
String? newDBInstanceIdentifier,
String? optionGroupName,
String? performanceInsightsKMSKeyId,
String? preferredBackupWindow,
String? preferredMaintenanceWindow,
int? promotionTier,
bool? publiclyAccessible,
String? storageType,
String? tdeCredentialArn,
String? tdeCredentialPassword,
List<String>? vpcSecurityGroupIds,
}) async {
ArgumentError.checkNotNull(dBInstanceIdentifier, 'dBInstanceIdentifier');
final $request = <String, dynamic>{};
$request['DBInstanceIdentifier'] = dBInstanceIdentifier;
allocatedStorage?.also((arg) => $request['AllocatedStorage'] = arg);
allowMajorVersionUpgrade
?.also((arg) => $request['AllowMajorVersionUpgrade'] = arg);
applyImmediately?.also((arg) => $request['ApplyImmediately'] = arg);
autoMinorVersionUpgrade
?.also((arg) => $request['AutoMinorVersionUpgrade'] = arg);
backupRetentionPeriod
?.also((arg) => $request['BackupRetentionPeriod'] = arg);
cACertificateIdentifier
?.also((arg) => $request['CACertificateIdentifier'] = arg);
cloudwatchLogsExportConfiguration
?.also((arg) => $request['CloudwatchLogsExportConfiguration'] = arg);
copyTagsToSnapshot?.also((arg) => $request['CopyTagsToSnapshot'] = arg);
dBInstanceClass?.also((arg) => $request['DBInstanceClass'] = arg);
dBParameterGroupName?.also((arg) => $request['DBParameterGroupName'] = arg);
dBPortNumber?.also((arg) => $request['DBPortNumber'] = arg);
dBSecurityGroups?.also((arg) => $request['DBSecurityGroups'] = arg);
dBSubnetGroupName?.also((arg) => $request['DBSubnetGroupName'] = arg);
deletionProtection?.also((arg) => $request['DeletionProtection'] = arg);
domain?.also((arg) => $request['Domain'] = arg);
domainIAMRoleName?.also((arg) => $request['DomainIAMRoleName'] = arg);
enableIAMDatabaseAuthentication
?.also((arg) => $request['EnableIAMDatabaseAuthentication'] = arg);
enablePerformanceInsights
?.also((arg) => $request['EnablePerformanceInsights'] = arg);
engineVersion?.also((arg) => $request['EngineVersion'] = arg);
iops?.also((arg) => $request['Iops'] = arg);
licenseModel?.also((arg) => $request['LicenseModel'] = arg);
masterUserPassword?.also((arg) => $request['MasterUserPassword'] = arg);
monitoringInterval?.also((arg) => $request['MonitoringInterval'] = arg);
monitoringRoleArn?.also((arg) => $request['MonitoringRoleArn'] = arg);
multiAZ?.also((arg) => $request['MultiAZ'] = arg);
newDBInstanceIdentifier
?.also((arg) => $request['NewDBInstanceIdentifier'] = arg);
optionGroupName?.also((arg) => $request['OptionGroupName'] = arg);
performanceInsightsKMSKeyId
?.also((arg) => $request['PerformanceInsightsKMSKeyId'] = arg);
preferredBackupWindow
?.also((arg) => $request['PreferredBackupWindow'] = arg);
preferredMaintenanceWindow
?.also((arg) => $request['PreferredMaintenanceWindow'] = arg);
promotionTier?.also((arg) => $request['PromotionTier'] = arg);
publiclyAccessible?.also((arg) => $request['PubliclyAccessible'] = arg);
storageType?.also((arg) => $request['StorageType'] = arg);
tdeCredentialArn?.also((arg) => $request['TdeCredentialArn'] = arg);
tdeCredentialPassword
?.also((arg) => $request['TdeCredentialPassword'] = arg);
vpcSecurityGroupIds?.also((arg) => $request['VpcSecurityGroupIds'] = arg);
final $result = await _protocol.send(
$request,
action: 'ModifyDBInstance',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['ModifyDBInstanceMessage'],
shapes: shapes,
resultWrapper: 'ModifyDBInstanceResult',
);
return ModifyDBInstanceResult.fromXml($result);
}