diff --git a/.changelog/34985.txt b/.changelog/34985.txt new file mode 100644 index 000000000000..7fa56e55928e --- /dev/null +++ b/.changelog/34985.txt @@ -0,0 +1,7 @@ +```release-note:enhancement +resource/aws_neptune_cluster: Add `storage_type` argument +``` + +```release-note:enhancement +resource/aws_neptune_cluster_instance: Add `storage_type` attribute +``` \ No newline at end of file diff --git a/internal/service/neptune/cluster.go b/internal/service/neptune/cluster.go index 580fba46575d..be2a4bf201a1 100644 --- a/internal/service/neptune/cluster.go +++ b/internal/service/neptune/cluster.go @@ -288,6 +288,20 @@ func ResourceCluster() *schema.Resource { ForceNew: true, Default: false, }, + "storage_type": { + Type: schema.TypeString, + Optional: true, + Computed: true, + DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool { + // https://docs.aws.amazon.com/neptune/latest/userguide/storage-types.html#provisioned-iops-storage: + // "You can determine whether a cluster is using I/O–Optimized storage using any describe- call. If the I/O–Optimized storage is enabled, the call returns a storage-type field set to iopt1". + if old == "" && new == storageTypeStandard { + return true + } + return new == old + }, + ValidateFunc: validation.StringInSlice(storageType_Values(), false), + }, names.AttrTags: tftags.TagsSchema(), names.AttrTagsAll: tftags.TagsSchemaComputed(), "vpc_security_group_ids": { @@ -363,12 +377,6 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta int } } - if v, ok := d.GetOk("global_cluster_identifier"); ok { - v := v.(string) - - inputC.GlobalClusterIdentifier = aws.String(v) - } - if v, ok := d.GetOk("enable_cloudwatch_logs_exports"); ok && v.(*schema.Set).Len() > 0 { v := v.(*schema.Set) @@ -383,6 +391,12 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta int inputR.EngineVersion = aws.String(v) } + if v, ok := d.GetOk("global_cluster_identifier"); ok { + v := v.(string) + + inputC.GlobalClusterIdentifier = aws.String(v) + } + if v, ok := d.GetOk("iam_database_authentication_enabled"); ok { v := v.(bool) @@ -432,6 +446,13 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta int inputC.ReplicationSourceIdentifier = aws.String(v) } + if v, ok := d.GetOk("storage_type"); ok { + v := v.(string) + + inputC.StorageType = aws.String(v) + inputR.StorageType = aws.String(v) + } + if v, ok := d.GetOk("vpc_security_group_ids"); ok && v.(*schema.Set).Len() > 0 { v := v.(*schema.Set) @@ -549,6 +570,7 @@ func resourceClusterRead(ctx context.Context, d *schema.ResourceData, meta inter return sdkdiag.AppendErrorf(diags, "setting serverless_v2_scaling_configuration: %s", err) } d.Set("storage_encrypted", dbc.StorageEncrypted) + d.Set("storage_type", dbc.StorageType) var securityGroupIDs []string for _, v := range dbc.VpcSecurityGroups { securityGroupIDs = append(securityGroupIDs, aws.StringValue(v.VpcSecurityGroupId)) @@ -570,23 +592,16 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta int DBClusterIdentifier: aws.String(d.Id()), } - if d.HasChange("copy_tags_to_snapshot") { - input.CopyTagsToSnapshot = aws.Bool(d.Get("copy_tags_to_snapshot").(bool)) + if d.HasChange("backup_retention_period") { + input.BackupRetentionPeriod = aws.Int64(int64(d.Get("backup_retention_period").(int))) } - // The DBInstanceParameterGroupName parameter is only valid in combination with the AllowMajorVersionUpgrade parameter. - if allowMajorVersionUpgrade { - if v, ok := d.GetOk("neptune_instance_parameter_group_name"); ok { - input.DBInstanceParameterGroupName = aws.String(v.(string)) - } + if d.HasChange("copy_tags_to_snapshot") { + input.CopyTagsToSnapshot = aws.Bool(d.Get("copy_tags_to_snapshot").(bool)) } - if d.HasChange("vpc_security_group_ids") { - if v := d.Get("vpc_security_group_ids").(*schema.Set); v.Len() > 0 { - input.VpcSecurityGroupIds = flex.ExpandStringSet(v) - } else { - input.VpcSecurityGroupIds = aws.StringSlice([]string{}) - } + if d.HasChange("deletion_protection") { + input.DeletionProtection = aws.Bool(d.Get("deletion_protection").(bool)) } if d.HasChange("enable_cloudwatch_logs_exports") { @@ -609,39 +624,50 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta int input.CloudwatchLogsExportConfiguration = logs } - if d.HasChange("preferred_backup_window") { - input.PreferredBackupWindow = aws.String(d.Get("preferred_backup_window").(string)) - } - - if d.HasChange("preferred_maintenance_window") { - input.PreferredMaintenanceWindow = aws.String(d.Get("preferred_maintenance_window").(string)) + if d.HasChange("engine_version") { + input.EngineVersion = aws.String(d.Get("engine_version").(string)) + input.DBClusterParameterGroupName = aws.String(d.Get("neptune_cluster_parameter_group_name").(string)) } - if d.HasChange("backup_retention_period") { - input.BackupRetentionPeriod = aws.Int64(int64(d.Get("backup_retention_period").(int))) + if d.HasChange("iam_database_authentication_enabled") { + input.EnableIAMDatabaseAuthentication = aws.Bool(d.Get("iam_database_authentication_enabled").(bool)) } if d.HasChange("neptune_cluster_parameter_group_name") { input.DBClusterParameterGroupName = aws.String(d.Get("neptune_cluster_parameter_group_name").(string)) } - if d.HasChange("iam_database_authentication_enabled") { - input.EnableIAMDatabaseAuthentication = aws.Bool(d.Get("iam_database_authentication_enabled").(bool)) + // The DBInstanceParameterGroupName parameter is only valid in combination with the AllowMajorVersionUpgrade parameter. + if allowMajorVersionUpgrade { + if v, ok := d.GetOk("neptune_instance_parameter_group_name"); ok { + input.DBInstanceParameterGroupName = aws.String(v.(string)) + } } - if d.HasChange("deletion_protection") { - input.DeletionProtection = aws.Bool(d.Get("deletion_protection").(bool)) + if d.HasChange("preferred_backup_window") { + input.PreferredBackupWindow = aws.String(d.Get("preferred_backup_window").(string)) } - if d.HasChange("engine_version") { - input.EngineVersion = aws.String(d.Get("engine_version").(string)) - input.DBClusterParameterGroupName = aws.String(d.Get("neptune_cluster_parameter_group_name").(string)) + if d.HasChange("preferred_maintenance_window") { + input.PreferredMaintenanceWindow = aws.String(d.Get("preferred_maintenance_window").(string)) } if d.HasChange("serverless_v2_scaling_configuration") { input.ServerlessV2ScalingConfiguration = expandServerlessConfiguration(d.Get("serverless_v2_scaling_configuration").([]interface{})) } + if d.HasChange("storage_type") { + input.StorageType = aws.String(d.Get("storage_type").(string)) + } + + if d.HasChange("vpc_security_group_ids") { + if v := d.Get("vpc_security_group_ids").(*schema.Set); v.Len() > 0 { + input.VpcSecurityGroupIds = flex.ExpandStringSet(v) + } else { + input.VpcSecurityGroupIds = aws.StringSlice([]string{}) + } + } + _, err := tfresource.RetryWhen(ctx, 5*time.Minute, func() (interface{}, error) { return conn.ModifyDBClusterWithContext(ctx, input) diff --git a/internal/service/neptune/cluster_endpoint_test.go b/internal/service/neptune/cluster_endpoint_test.go index 51706a82174d..e32f752f0aa1 100644 --- a/internal/service/neptune/cluster_endpoint_test.go +++ b/internal/service/neptune/cluster_endpoint_test.go @@ -205,7 +205,7 @@ resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = local.availability_zone_names engine = "neptune" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true } `, rName)) diff --git a/internal/service/neptune/cluster_instance.go b/internal/service/neptune/cluster_instance.go index a92a40340979..352a129c8855 100644 --- a/internal/service/neptune/cluster_instance.go +++ b/internal/service/neptune/cluster_instance.go @@ -170,6 +170,10 @@ func ResourceClusterInstance() *schema.Resource { Type: schema.TypeBool, Computed: true, }, + "storage_type": { + Type: schema.TypeString, + Computed: true, + }, names.AttrTags: tftags.TagsSchema(), names.AttrTagsAll: tftags.TagsSchemaComputed(), "writer": { @@ -282,6 +286,7 @@ func resourceClusterInstanceRead(ctx context.Context, d *schema.ResourceData, me d.Set("promotion_tier", db.PromotionTier) d.Set("publicly_accessible", db.PubliclyAccessible) d.Set("storage_encrypted", db.StorageEncrypted) + d.Set("storage_type", db.StorageType) if db.Endpoint != nil { address := aws.StringValue(db.Endpoint.Address) diff --git a/internal/service/neptune/cluster_instance_test.go b/internal/service/neptune/cluster_instance_test.go index b81e71cfa29c..5a713fa16114 100644 --- a/internal/service/neptune/cluster_instance_test.go +++ b/internal/service/neptune/cluster_instance_test.go @@ -59,6 +59,7 @@ func TestAccNeptuneClusterInstance_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "promotion_tier", "3"), resource.TestCheckResourceAttr(resourceName, "publicly_accessible", "false"), resource.TestCheckResourceAttr(resourceName, "storage_encrypted", "false"), + resource.TestCheckResourceAttr(resourceName, "storage_type", "standard"), resource.TestCheckResourceAttr(resourceName, "tags.%", "0"), resource.TestCheckResourceAttr(resourceName, "writer", "true"), ), @@ -352,7 +353,7 @@ data "aws_neptune_orderable_db_instance" "test" { resource "aws_neptune_parameter_group" "test" { name = %[1]q - family = "neptune1.2" + family = "neptune1.3" parameter { name = "neptune_query_timeout" @@ -368,7 +369,7 @@ resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = slice(data.aws_availability_zones.available.names, 0, min(3, length(data.aws_availability_zones.available.names))) engine = "neptune" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true } `, rName)) @@ -494,7 +495,7 @@ resource "aws_neptune_subnet_group" "test" { resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q neptune_subnet_group_name = aws_neptune_subnet_group.test.name - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true } `, rName)) @@ -539,7 +540,7 @@ resource "aws_neptune_cluster" "test" { storage_encrypted = true kms_key_arn = aws_kms_key.test.arn - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" } `, rName)) } diff --git a/internal/service/neptune/cluster_snapshot_test.go b/internal/service/neptune/cluster_snapshot_test.go index 1fe689dc2d7b..51454e18b7a3 100644 --- a/internal/service/neptune/cluster_snapshot_test.go +++ b/internal/service/neptune/cluster_snapshot_test.go @@ -140,7 +140,7 @@ resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q skip_final_snapshot = true - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" } resource "aws_neptune_cluster_snapshot" "test" { diff --git a/internal/service/neptune/cluster_test.go b/internal/service/neptune/cluster_test.go index 385b48a66807..0e7efd997d55 100644 --- a/internal/service/neptune/cluster_test.go +++ b/internal/service/neptune/cluster_test.go @@ -74,7 +74,7 @@ func TestAccNeptuneCluster_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "iam_database_authentication_enabled", "false"), resource.TestCheckResourceAttr(resourceName, "iam_roles.#", "0"), resource.TestCheckResourceAttr(resourceName, "kms_key_arn", ""), - resource.TestCheckResourceAttr(resourceName, "neptune_cluster_parameter_group_name", "default.neptune1.2"), + resource.TestCheckResourceAttr(resourceName, "neptune_cluster_parameter_group_name", "default.neptune1.3"), resource.TestCheckNoResourceAttr(resourceName, "neptune_instance_parameter_group_name"), resource.TestCheckResourceAttr(resourceName, "neptune_subnet_group_name", "default"), resource.TestCheckResourceAttr(resourceName, "port", "8182"), @@ -86,6 +86,7 @@ func TestAccNeptuneCluster_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "skip_final_snapshot", "true"), resource.TestCheckNoResourceAttr(resourceName, "snapshot_identifier"), resource.TestCheckResourceAttr(resourceName, "storage_encrypted", "false"), + resource.TestCheckResourceAttr(resourceName, "storage_type", ""), resource.TestCheckResourceAttr(resourceName, "tags.%", "0"), resource.TestCheckResourceAttr(resourceName, "vpc_security_group_ids.#", "1"), ), @@ -648,14 +649,39 @@ func TestAccNeptuneCluster_restoreFromSnapshot(t *testing.T) { }) } -func testAccCheckClusterDestroy(ctx context.Context) resource.TestCheckFunc { - return func(s *terraform.State) error { - return testAccCheckClusterDestroyWithProvider(ctx)(s, acctest.Provider) - } +func TestAccNeptuneCluster_storageType(t *testing.T) { + ctx := acctest.Context(t) + var v neptune.DBCluster + resourceName := "aws_neptune_cluster.test" + rName := sdkacctest.RandomWithPrefix("tf-acc") + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, neptune.EndpointsID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckClusterDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccClusterConfig_storageType(rName, "standard"), + Check: resource.ComposeTestCheckFunc( + testAccCheckClusterExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "storage_type", ""), + ), + }, + testAccClusterImportStep(resourceName), + { + Config: testAccClusterConfig_storageType(rName, "iopt1"), + Check: resource.ComposeTestCheckFunc( + testAccCheckClusterExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "storage_type", "iopt1"), + ), + }, + }, + }) } -func testAccCheckClusterDestroyWithProvider(ctx context.Context) acctest.TestCheckWithProviderFunc { - return func(s *terraform.State, provider *schema.Provider) error { +func testAccCheckClusterDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).NeptuneConn(ctx) for _, rs := range s.RootModule().Resources { @@ -764,7 +790,7 @@ resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = local.availability_zone_names engine = "neptune" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true } `, rName)) @@ -774,7 +800,7 @@ func testAccClusterConfig_identifierGenerated() string { return ` resource "aws_neptune_cluster" "test" { engine = "neptune" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true } ` @@ -785,7 +811,7 @@ func testAccClusterConfig_identifierPrefix(prefix string) string { resource "aws_neptune_cluster" "test" { cluster_identifier_prefix = %[1]q engine = "neptune" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true } `, prefix) @@ -797,7 +823,7 @@ resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = local.availability_zone_names engine = "neptune" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true tags = { @@ -813,7 +839,7 @@ resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = local.availability_zone_names engine = "neptune" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true tags = { @@ -830,7 +856,7 @@ resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = local.availability_zone_names engine = "neptune" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true copy_tags_to_snapshot = %[2]t } @@ -843,7 +869,7 @@ resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = local.availability_zone_names engine = "neptune" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true deletion_protection = %[2]t } @@ -872,7 +898,7 @@ func testAccClusterConfig_finalSnapshot(rName string) string { resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = local.availability_zone_names - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" final_snapshot_identifier = %[1]q } `, rName)) @@ -957,7 +983,7 @@ EOF resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = local.availability_zone_names - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true depends_on = [aws_iam_role.test, aws_iam_role.test-2] @@ -1047,7 +1073,7 @@ resource "aws_neptune_cluster" "test" { skip_final_snapshot = true iam_roles = [aws_iam_role.test.arn, aws_iam_role.test-2.arn] - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" depends_on = [aws_iam_role.test, aws_iam_role.test-2] } @@ -1099,7 +1125,7 @@ resource "aws_neptune_cluster" "test" { skip_final_snapshot = true iam_roles = [aws_iam_role.test.arn] - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" depends_on = [aws_iam_role.test] } @@ -1134,7 +1160,7 @@ resource "aws_kms_key" "test" { resource "aws_neptune_cluster" "test" { cluster_identifier = %[1]q availability_zones = local.availability_zone_names - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" storage_encrypted = true kms_key_arn = aws_kms_key.test.arn skip_final_snapshot = true @@ -1150,7 +1176,7 @@ resource "aws_neptune_cluster" "test" { storage_encrypted = true skip_final_snapshot = true - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" } `, rName)) } @@ -1165,7 +1191,7 @@ resource "aws_neptune_cluster" "test" { preferred_maintenance_window = "tue:04:00-tue:04:30" skip_final_snapshot = true - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" } `, rName)) } @@ -1181,7 +1207,7 @@ resource "aws_neptune_cluster" "test" { apply_immediately = true skip_final_snapshot = true - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" } `, rName)) } @@ -1194,7 +1220,7 @@ resource "aws_neptune_cluster" "test" { iam_database_authentication_enabled = true skip_final_snapshot = true - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" } `, rName)) } @@ -1207,7 +1233,7 @@ resource "aws_neptune_cluster" "test" { skip_final_snapshot = true enable_cloudwatch_logs_exports = ["audit", "slowquery"] - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" } `, rName)) } @@ -1416,7 +1442,7 @@ resource "aws_security_group" "test" { resource "aws_neptune_cluster" "source" { cluster_identifier = "%[1]s-src" - neptune_cluster_parameter_group_name = "default.neptune1.2" + neptune_cluster_parameter_group_name = "default.neptune1.3" skip_final_snapshot = true storage_encrypted = true kms_key_arn = aws_kms_key.test1.arn @@ -1453,3 +1479,18 @@ resource "aws_neptune_cluster" "test" { } `, rName) } + +func testAccClusterConfig_storageType(rName, storageType string) string { + return acctest.ConfigCompose(testAccClusterConfig_base(), fmt.Sprintf(` +resource "aws_neptune_cluster" "test" { + cluster_identifier = %[1]q + availability_zones = local.availability_zone_names + engine = "neptune" + engine_version = "1.3.0.0" + neptune_cluster_parameter_group_name = "default.neptune1.3" + skip_final_snapshot = true + storage_type = %[2]q + apply_immediately = true +} +`, rName, storageType)) +} diff --git a/internal/service/neptune/consts.go b/internal/service/neptune/consts.go index f2f5f6c41467..3b6917a0f33d 100644 --- a/internal/service/neptune/consts.go +++ b/internal/service/neptune/consts.go @@ -21,6 +21,18 @@ func engine_Values() []string { } } +const ( + storageTypeStandard = "standard" + storageTypeIopt1 = "iopt1" +) + +func storageType_Values() []string { + return []string{ + storageTypeStandard, + storageTypeIopt1, + } +} + const ( clusterEndpointStatusAvailable = "available" clusterEndpointStatusCreating = "creating" diff --git a/website/docs/cdktf/python/r/neptune_cluster.html.markdown b/website/docs/cdktf/python/r/neptune_cluster.html.markdown index c055f439f054..83c8e9041b07 100644 --- a/website/docs/cdktf/python/r/neptune_cluster.html.markdown +++ b/website/docs/cdktf/python/r/neptune_cluster.html.markdown @@ -70,6 +70,7 @@ This resource supports the following arguments: * `neptune_subnet_group_name` - (Optional) A Neptune subnet group to associate with this Neptune instance. * `neptune_cluster_parameter_group_name` - (Optional) A cluster parameter group to associate with the cluster. * `neptune_instance_parameter_group_name` - (Optional) The name of the DB parameter group to apply to all instances of the DB cluster. +* `storage_type` - (Optional) Storage type associated with the cluster `standard/iopt1`. Default: `standard` * `preferred_backup_window` - (Optional) The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 * `preferred_maintenance_window` - (Optional) The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 * `port` - (Optional) The port on which the Neptune accepts connections. Default is `8182`. diff --git a/website/docs/cdktf/python/r/neptune_cluster_instance.html.markdown b/website/docs/cdktf/python/r/neptune_cluster_instance.html.markdown index d1837ab9e932..9fafbbe22dd0 100644 --- a/website/docs/cdktf/python/r/neptune_cluster_instance.html.markdown +++ b/website/docs/cdktf/python/r/neptune_cluster_instance.html.markdown @@ -70,6 +70,7 @@ This resource supports the following arguments: * `identifier_prefix` - (Optional, Forces new resource) Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. * `instance_class` - (Required) The instance class to use. * `neptune_subnet_group_name` - (Required if `publicly_accessible = false`, Optional otherwise) A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptune_subnet_group_name` of the attached [`aws_neptune_cluster`](/docs/providers/aws/r/neptune_cluster.html). +* `storage_type` - (Optional) Storage type associated with the cluster `standard/iopt1`. Default: `standard` * `neptune_parameter_group_name` - (Optional) The name of the neptune parameter group to associate with this instance. * `port` - (Optional) The port on which the DB accepts connections. Defaults to `8182`. * `preferred_backup_window` - (Optional) The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00" diff --git a/website/docs/cdktf/typescript/r/neptune_cluster_instance.html.markdown b/website/docs/cdktf/typescript/r/neptune_cluster_instance.html.markdown index 901decadb882..ecd19a513aff 100644 --- a/website/docs/cdktf/typescript/r/neptune_cluster_instance.html.markdown +++ b/website/docs/cdktf/typescript/r/neptune_cluster_instance.html.markdown @@ -74,6 +74,7 @@ This resource supports the following arguments: * `instanceClass` - (Required) The instance class to use. * `neptuneSubnetGroupName` - (Required if `publicly_accessible = false`, Optional otherwise) A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptune_subnet_group_name` of the attached [`aws_neptune_cluster`](/docs/providers/aws/r/neptune_cluster.html). * `neptuneParameterGroupName` - (Optional) The name of the neptune parameter group to associate with this instance. +* `storage_type` - (Optional) Storage type associated with the cluster `standard/iopt1`. Default: `standard` * `port` - (Optional) The port on which the DB accepts connections. Defaults to `8182`. * `preferredBackupWindow` - (Optional) The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00" * `preferredMaintenanceWindow` - (Optional) The window to perform maintenance in. diff --git a/website/docs/r/neptune_cluster.html.markdown b/website/docs/r/neptune_cluster.html.markdown index 8466e9104342..42385459f2d4 100644 --- a/website/docs/r/neptune_cluster.html.markdown +++ b/website/docs/r/neptune_cluster.html.markdown @@ -57,6 +57,7 @@ This resource supports the following arguments: * `neptune_subnet_group_name` - (Optional) A Neptune subnet group to associate with this Neptune instance. * `neptune_cluster_parameter_group_name` - (Optional) A cluster parameter group to associate with the cluster. * `neptune_instance_parameter_group_name` - (Optional) The name of the DB parameter group to apply to all instances of the DB cluster. +* `storage_type` - (Optional) Storage type associated with the cluster `standard/iopt1`. Default: `standard` * `preferred_backup_window` - (Optional) The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 * `preferred_maintenance_window` - (Optional) The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 * `port` - (Optional) The port on which the Neptune accepts connections. Default is `8182`. diff --git a/website/docs/r/neptune_cluster_instance.html.markdown b/website/docs/r/neptune_cluster_instance.html.markdown index 257f5a160364..48c61727d98f 100644 --- a/website/docs/r/neptune_cluster_instance.html.markdown +++ b/website/docs/r/neptune_cluster_instance.html.markdown @@ -72,6 +72,7 @@ This resource exports the following attributes in addition to the arguments abov * `id` - The Instance identifier * `kms_key_arn` - The ARN for the KMS encryption key if one is set to the neptune cluster. * `storage_encrypted` - Specifies whether the neptune cluster is encrypted. +* `storage_type` - Storage type associated with the cluster `standard/iopt1`. * `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). * `writer` – Boolean indicating if this instance is writable. `False` indicates this instance is a read replica.