aws_sdk_neptune/client/create_db_instance.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateDBInstance`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`db_name(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::db_name) / [`set_db_name(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_db_name):<br>required: **false**<br><p>Not supported.</p><br>
7 /// - [`db_instance_identifier(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::db_instance_identifier) / [`set_db_instance_identifier(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_db_instance_identifier):<br>required: **true**<br><p>The DB instance identifier. This parameter is stored as a lowercase string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li> <li> <p>First character must be a letter.</p></li> <li> <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li> </ul> <p>Example: <code>mydbinstance</code></p><br>
8 /// - [`allocated_storage(i32)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::allocated_storage) / [`set_allocated_storage(Option<i32>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_allocated_storage):<br>required: **false**<br><p>Not supported by Neptune.</p><br>
9 /// - [`db_instance_class(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::db_instance_class) / [`set_db_instance_class(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_db_instance_class):<br>required: **true**<br><p>The compute and memory capacity of the DB instance, for example, <code>db.m4.large</code>. Not all DB instance classes are available in all Amazon Regions.</p><br>
10 /// - [`engine(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::engine) / [`set_engine(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_engine):<br>required: **true**<br><p>The name of the database engine to be used for this instance.</p> <p>Valid Values: <code>neptune</code></p><br>
11 /// - [`master_username(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::master_username) / [`set_master_username(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_master_username):<br>required: **false**<br><p>Not supported by Neptune.</p><br>
12 /// - [`master_user_password(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::master_user_password) / [`set_master_user_password(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_master_user_password):<br>required: **false**<br><p>Not supported by Neptune.</p><br>
13 /// - [`db_security_groups(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::db_security_groups) / [`set_db_security_groups(Option<Vec::<String>>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_db_security_groups):<br>required: **false**<br><p>A list of DB security groups to associate with this DB instance.</p> <p>Default: The default DB security group for the database engine.</p><br>
14 /// - [`vpc_security_group_ids(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::vpc_security_group_ids) / [`set_vpc_security_group_ids(Option<Vec::<String>>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_vpc_security_group_ids):<br>required: **false**<br><p>A list of EC2 VPC security groups to associate with this DB instance.</p> <p>Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p> <p>Default: The default EC2 VPC security group for the DB subnet group's VPC.</p><br>
15 /// - [`availability_zone(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::availability_zone) / [`set_availability_zone(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_availability_zone):<br>required: **false**<br><p>The EC2 Availability Zone that the DB instance is created in</p> <p>Default: A random, system-chosen Availability Zone in the endpoint's Amazon Region.</p> <p>Example: <code>us-east-1d</code></p> <p>Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to <code>true</code>. The specified Availability Zone must be in the same Amazon Region as the current endpoint.</p><br>
16 /// - [`db_subnet_group_name(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::db_subnet_group_name) / [`set_db_subnet_group_name(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_db_subnet_group_name):<br>required: **false**<br><p>A DB subnet group to associate with this DB instance.</p> <p>If there is no DB subnet group, then it is a non-VPC DB instance.</p><br>
17 /// - [`preferred_maintenance_window(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::preferred_maintenance_window) / [`set_preferred_maintenance_window(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_preferred_maintenance_window):<br>required: **false**<br><p>The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).</p> <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code></p> <p>The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region, occurring on a random day of the week.</p> <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.</p> <p>Constraints: Minimum 30-minute window.</p><br>
18 /// - [`db_parameter_group_name(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::db_parameter_group_name) / [`set_db_parameter_group_name(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_db_parameter_group_name):<br>required: **false**<br><p>The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine is used.</p> <p>Constraints:</p> <ul> <li> <p>Must be 1 to 255 letters, numbers, or hyphens.</p></li> <li> <p>First character must be a letter</p></li> <li> <p>Cannot end with a hyphen or contain two consecutive hyphens</p></li> </ul><br>
19 /// - [`backup_retention_period(i32)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::backup_retention_period) / [`set_backup_retention_period(Option<i32>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_backup_retention_period):<br>required: **false**<br><p>The number of days for which automated backups are retained.</p> <p>Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p> <p>Default: 1</p> <p>Constraints:</p> <ul> <li> <p>Must be a value from 0 to 35</p></li> <li> <p>Cannot be set to 0 if the DB instance is a source to Read Replicas</p></li> </ul><br>
20 /// - [`preferred_backup_window(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::preferred_backup_window) / [`set_preferred_backup_window(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_preferred_backup_window):<br>required: **false**<br><p>The daily time range during which automated backups are created.</p> <p>Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p><br>
21 /// - [`port(i32)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::port) / [`set_port(Option<i32>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_port):<br>required: **false**<br><p>The port number on which the database accepts connections.</p> <p>Not applicable. The port is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p> <p>Default: <code>8182</code></p> <p>Type: Integer</p><br>
22 /// - [`multi_az(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::multi_az) / [`set_multi_az(Option<bool>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_multi_az):<br>required: **false**<br><p>Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.</p><br>
23 /// - [`engine_version(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::engine_version) / [`set_engine_version(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_engine_version):<br>required: **false**<br><p>The version number of the database engine to use. Currently, setting this parameter has no effect.</p><br>
24 /// - [`auto_minor_version_upgrade(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::auto_minor_version_upgrade) / [`set_auto_minor_version_upgrade(Option<bool>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_auto_minor_version_upgrade):<br>required: **false**<br><p>Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.</p> <p>Default: <code>true</code></p><br>
25 /// - [`license_model(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::license_model) / [`set_license_model(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_license_model):<br>required: **false**<br><p>License model information for this DB instance.</p> <p>Valid values: <code>license-included</code> | <code>bring-your-own-license</code> | <code>general-public-license</code></p><br>
26 /// - [`iops(i32)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::iops) / [`set_iops(Option<i32>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_iops):<br>required: **false**<br><p>The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.</p><br>
27 /// - [`option_group_name(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::option_group_name) / [`set_option_group_name(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_option_group_name):<br>required: **false**<br><p><i>(Not supported by Neptune)</i></p><br>
28 /// - [`character_set_name(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::character_set_name) / [`set_character_set_name(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_character_set_name):<br>required: **false**<br><p><i>(Not supported by Neptune)</i></p><br>
29 /// - [`publicly_accessible(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::publicly_accessible) / [`set_publicly_accessible(Option<bool>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_publicly_accessible):<br>required: **false**<br><p>Indicates whether the DB instance is publicly accessible.</p> <p>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 isn't permitted if the security group assigned to the DB cluster doesn't permit it.</p> <p>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.</p><br>
30 /// - [`tags(Tag)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to assign to the new instance.</p><br>
31 /// - [`db_cluster_identifier(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::db_cluster_identifier) / [`set_db_cluster_identifier(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_db_cluster_identifier):<br>required: **true**<br><p>The identifier of the DB cluster that the instance will belong to.</p> <p>For information on creating a DB cluster, see <code>CreateDBCluster</code>.</p> <p>Type: String</p><br>
32 /// - [`storage_type(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::storage_type) / [`set_storage_type(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_storage_type):<br>required: **false**<br><p>Not applicable. In Neptune the storage type is managed at the DB Cluster level.</p><br>
33 /// - [`tde_credential_arn(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::tde_credential_arn) / [`set_tde_credential_arn(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_tde_credential_arn):<br>required: **false**<br><p>The ARN from the key store with which to associate the instance for TDE encryption.</p><br>
34 /// - [`tde_credential_password(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::tde_credential_password) / [`set_tde_credential_password(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_tde_credential_password):<br>required: **false**<br><p>The password for the given ARN from the key store in order to access the device.</p><br>
35 /// - [`storage_encrypted(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::storage_encrypted) / [`set_storage_encrypted(Option<bool>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_storage_encrypted):<br>required: **false**<br><p>Specifies whether the DB instance is encrypted.</p> <p>Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p> <p>Default: false</p><br>
36 /// - [`kms_key_id(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>The Amazon KMS key identifier for an encrypted DB instance.</p> <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same Amazon account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.</p> <p>Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see <code>CreateDBCluster</code>.</p> <p>If the <code>StorageEncrypted</code> parameter is true, and you do not specify a value for the <code>KmsKeyId</code> parameter, then Amazon Neptune will use your default encryption key. Amazon KMS creates the default encryption key for your Amazon account. Your Amazon account has a different default encryption key for each Amazon Region.</p><br>
37 /// - [`domain(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::domain) / [`set_domain(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_domain):<br>required: **false**<br><p>Specify the Active Directory Domain to create the instance in.</p><br>
38 /// - [`copy_tags_to_snapshot(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::copy_tags_to_snapshot) / [`set_copy_tags_to_snapshot(Option<bool>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_copy_tags_to_snapshot):<br>required: **false**<br><p>True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.</p><br>
39 /// - [`monitoring_interval(i32)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::monitoring_interval) / [`set_monitoring_interval(Option<i32>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_monitoring_interval):<br>required: **false**<br><p>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.</p> <p>If <code>MonitoringRoleArn</code> is specified, then you must also set <code>MonitoringInterval</code> to a value other than 0.</p> <p>Valid Values: <code>0, 1, 5, 10, 15, 30, 60</code></p><br>
40 /// - [`monitoring_role_arn(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::monitoring_role_arn) / [`set_monitoring_role_arn(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_monitoring_role_arn):<br>required: **false**<br><p>The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, <code>arn:aws:iam:123456789012:role/emaccess</code>.</p> <p>If <code>MonitoringInterval</code> is set to a value other than 0, then you must supply a <code>MonitoringRoleArn</code> value.</p><br>
41 /// - [`domain_iam_role_name(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::domain_iam_role_name) / [`set_domain_iam_role_name(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_domain_iam_role_name):<br>required: **false**<br><p>Specify the name of the IAM role to be used when making API calls to the Directory Service.</p><br>
42 /// - [`promotion_tier(i32)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::promotion_tier) / [`set_promotion_tier(Option<i32>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_promotion_tier):<br>required: **false**<br><p>A value that specifies the order in which an Read Replica is promoted to the primary instance after a failure of the existing primary instance.</p> <p>Default: 1</p> <p>Valid Values: 0 - 15</p><br>
43 /// - [`timezone(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::timezone) / [`set_timezone(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_timezone):<br>required: **false**<br><p>The time zone of the DB instance.</p><br>
44 /// - [`enable_iam_database_authentication(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::enable_iam_database_authentication) / [`set_enable_iam_database_authentication(Option<bool>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_enable_iam_database_authentication):<br>required: **false**<br><p>Not supported by Neptune (ignored).</p><br>
45 /// - [`enable_performance_insights(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::enable_performance_insights) / [`set_enable_performance_insights(Option<bool>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_enable_performance_insights):<br>required: **false**<br><p><i>(Not supported by Neptune)</i></p><br>
46 /// - [`performance_insights_kms_key_id(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::performance_insights_kms_key_id) / [`set_performance_insights_kms_key_id(Option<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_performance_insights_kms_key_id):<br>required: **false**<br><p><i>(Not supported by Neptune)</i></p><br>
47 /// - [`enable_cloudwatch_logs_exports(impl Into<String>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::enable_cloudwatch_logs_exports) / [`set_enable_cloudwatch_logs_exports(Option<Vec::<String>>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_enable_cloudwatch_logs_exports):<br>required: **false**<br><p>The list of log types that need to be enabled for exporting to CloudWatch Logs.</p><br>
48 /// - [`deletion_protection(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::deletion_protection) / [`set_deletion_protection(Option<bool>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_deletion_protection):<br>required: **false**<br><p>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 <a href="https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-instances-delete.html">Deleting a DB Instance</a>.</p> <p>DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent DB cluster.</p><br>
49 /// - On success, responds with [`CreateDbInstanceOutput`](crate::operation::create_db_instance::CreateDbInstanceOutput) with field(s):
50 /// - [`db_instance(Option<DbInstance>)`](crate::operation::create_db_instance::CreateDbInstanceOutput::db_instance): <p>Contains the details of an Amazon Neptune DB instance.</p> <p>This data type is used as a response element in the <code>DescribeDBInstances</code> action.</p>
51 /// - On failure, responds with [`SdkError<CreateDBInstanceError>`](crate::operation::create_db_instance::CreateDBInstanceError)
52 pub fn create_db_instance(&self) -> crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder {
53 crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::new(self.handle.clone())
54 }
55}