diff --git a/.changelog/44545.txt b/.changelog/44545.txt new file mode 100644 index 000000000000..c6534da805ec --- /dev/null +++ b/.changelog/44545.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_rds_cluster: Fix inability to update `serverlessv2_scaling_configuration.min_capacity` argument from `1` to `0` +``` diff --git a/internal/service/rds/cluster.go b/internal/service/rds/cluster.go index 74d2effbef6b..e293af87796a 100644 --- a/internal/service/rds/cluster.go +++ b/internal/service/rds/cluster.go @@ -583,10 +583,15 @@ func resourceCluster() *schema.Resource { }, }, "serverlessv2_scaling_configuration": { - Type: schema.TypeList, - Optional: true, - MaxItems: 1, - DiffSuppressFunc: verify.SuppressMissingOptionalConfigurationBlock, + Type: schema.TypeList, + Optional: true, + MaxItems: 1, + DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool { + if k == "serverlessv2_scaling_configuration.#" { + return verify.SuppressMissingOptionalConfigurationBlock(k, old, new, d) + } + return false + }, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ names.AttrMaxCapacity: { diff --git a/internal/service/rds/cluster_test.go b/internal/service/rds/cluster_test.go index bb0c212d2fdf..5b04f2964869 100644 --- a/internal/service/rds/cluster_test.go +++ b/internal/service/rds/cluster_test.go @@ -2203,12 +2203,12 @@ func TestAccRDSCluster_serverlessV2ScalingConfiguration(t *testing.T) { CheckDestroy: testAccCheckClusterDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccClusterConfig_serverlessV2ScalingConfiguration(rName, 64.0, 2.5), + Config: testAccClusterConfig_serverlessV2ScalingConfiguration(rName, 64.0, 1.0), Check: resource.ComposeTestCheckFunc( testAccCheckClusterExists(ctx, resourceName, &dbCluster), resource.TestCheckResourceAttr(resourceName, "serverlessv2_scaling_configuration.#", "1"), resource.TestCheckResourceAttr(resourceName, "serverlessv2_scaling_configuration.0.max_capacity", "64"), - resource.TestCheckResourceAttr(resourceName, "serverlessv2_scaling_configuration.0.min_capacity", "2.5"), + resource.TestCheckResourceAttr(resourceName, "serverlessv2_scaling_configuration.0.min_capacity", "1"), resource.TestCheckResourceAttrSet(resourceName, "serverlessv2_scaling_configuration.0.seconds_until_auto_pause"), ), },