createDBInstance method

Future<CreateDBInstanceResult> createDBInstance({
  1. required String dBClusterIdentifier,
  2. required String dBInstanceClass,
  3. required String dBInstanceIdentifier,
  4. required String engine,
  5. bool? autoMinorVersionUpgrade,
  6. String? availabilityZone,
  7. String? preferredMaintenanceWindow,
  8. int? promotionTier,
  9. List<Tag>? tags,
})

Creates a new instance.

May throw DBInstanceAlreadyExistsFault. May throw InsufficientDBInstanceCapacityFault. May throw DBParameterGroupNotFoundFault. May throw DBSecurityGroupNotFoundFault. May throw InstanceQuotaExceededFault. May throw StorageQuotaExceededFault. May throw DBSubnetGroupNotFoundFault. May throw DBSubnetGroupDoesNotCoverEnoughAZs. May throw InvalidDBClusterStateFault. May throw InvalidSubnet. May throw InvalidVPCNetworkStateFault. May throw DBClusterNotFoundFault. May throw StorageTypeNotSupportedFault. May throw AuthorizationNotFoundFault. May throw KMSKeyNotAccessibleFault.

Parameter dBClusterIdentifier : The identifier of the cluster that the instance will belong to.

Parameter dBInstanceClass : The compute and memory capacity of the instance; for example, db.r5.large.

Parameter dBInstanceIdentifier : The instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.
  • The first character must be a letter.
  • Cannot end with a hyphen or contain two consecutive hyphens.
Example: mydbinstance

Parameter engine : The name of the database engine to be used for this instance.

Valid value: docdb

Parameter autoMinorVersionUpgrade : Indicates that minor engine upgrades are applied automatically to the instance during the maintenance window.

Default: true

Parameter availabilityZone : The Amazon EC2 Availability Zone that the instance is created in.

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

Example: us-east-1d

Parameter preferredMaintenanceWindow : The time range each week 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.

Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

Parameter promotionTier : A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid values: 0-15

Parameter tags : The tags to be assigned to the instance. You can assign up to 10 tags to an instance.

Implementation

Future<CreateDBInstanceResult> createDBInstance({
  required String dBClusterIdentifier,
  required String dBInstanceClass,
  required String dBInstanceIdentifier,
  required String engine,
  bool? autoMinorVersionUpgrade,
  String? availabilityZone,
  String? preferredMaintenanceWindow,
  int? promotionTier,
  List<Tag>? tags,
}) async {
  ArgumentError.checkNotNull(dBClusterIdentifier, 'dBClusterIdentifier');
  ArgumentError.checkNotNull(dBInstanceClass, 'dBInstanceClass');
  ArgumentError.checkNotNull(dBInstanceIdentifier, 'dBInstanceIdentifier');
  ArgumentError.checkNotNull(engine, 'engine');
  final $request = <String, dynamic>{};
  $request['DBClusterIdentifier'] = dBClusterIdentifier;
  $request['DBInstanceClass'] = dBInstanceClass;
  $request['DBInstanceIdentifier'] = dBInstanceIdentifier;
  $request['Engine'] = engine;
  autoMinorVersionUpgrade
      ?.also((arg) => $request['AutoMinorVersionUpgrade'] = arg);
  availabilityZone?.also((arg) => $request['AvailabilityZone'] = arg);
  preferredMaintenanceWindow
      ?.also((arg) => $request['PreferredMaintenanceWindow'] = arg);
  promotionTier?.also((arg) => $request['PromotionTier'] = arg);
  tags?.also((arg) => $request['Tags'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'CreateDBInstance',
    version: '2014-10-31',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['CreateDBInstanceMessage'],
    shapes: shapes,
    resultWrapper: 'CreateDBInstanceResult',
  );
  return CreateDBInstanceResult.fromXml($result);
}