From fcbdeba06e535d7e26762de73f7009aab8b2fd95 Mon Sep 17 00:00:00 2001 From: Asim Date: Thu, 16 Oct 2025 17:23:22 +0100 Subject: [PATCH 1/5] added delete_associated_resources to enable user to decide whether to delete associated OCI resources or not. default set to false. --- internal/service/odb/network.go | 69 +++++---- internal/service/odb/network_test.go | 172 ++++++++++++++++------- website/docs/r/odb_network.html.markdown | 1 + 3 files changed, 162 insertions(+), 80 deletions(-) diff --git a/internal/service/odb/network.go b/internal/service/odb/network.go index 4fdda38c7dd7..086c8032faba 100644 --- a/internal/service/odb/network.go +++ b/internal/service/odb/network.go @@ -6,6 +6,8 @@ package odb import ( "context" "errors" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/booldefault" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" "time" "github.com/aws/aws-sdk-go-v2/aws" @@ -188,6 +190,15 @@ func (r *resourceNetwork) Schema(ctx context.Context, req resource.SchemaRequest Computed: true, Description: "The URL of the OCI VCN for the ODB network.", }, + "delete_associated_resources": schema.BoolAttribute{ + Optional: true, + Computed: true, + Default: booldefault.StaticBool(false), + PlanModifiers: []planmodifier.Bool{ + boolplanmodifier.UseStateForUnknown(), + }, + Description: "If set to true deletes associated OCI resources. Default false.", + }, "percent_progress": schema.Float32Attribute{ Computed: true, Description: "The amount of progress made on the current operation on the ODB network, expressed as a percentage.", @@ -474,10 +485,9 @@ func (r *resourceNetwork) Delete(ctx context.Context, req resource.DeleteRequest return } - deleteAssociatedResources := false input := odb.DeleteOdbNetworkInput{ OdbNetworkId: state.OdbNetworkId.ValueStringPointer(), - DeleteAssociatedResources: &deleteAssociatedResources, + DeleteAssociatedResources: state.DeleteAssociatedResources.ValueBoolPointer(), } _, err := conn.DeleteOdbNetwork(ctx, &input) @@ -651,33 +661,34 @@ func FindOracleDBNetworkResourceByID(ctx context.Context, conn *odb.Client, id s type odbNetworkResourceModel struct { framework.WithRegionModel - DisplayName types.String `tfsdk:"display_name"` - AvailabilityZone types.String `tfsdk:"availability_zone"` - AvailabilityZoneId types.String `tfsdk:"availability_zone_id"` - ClientSubnetCidr types.String `tfsdk:"client_subnet_cidr"` - BackupSubnetCidr types.String `tfsdk:"backup_subnet_cidr"` - CustomDomainName types.String `tfsdk:"custom_domain_name"` - DefaultDnsPrefix types.String `tfsdk:"default_dns_prefix"` - S3Access fwtypes.StringEnum[odbtypes.Access] `tfsdk:"s3_access" autoflex:",noflatten"` - ZeroEtlAccess fwtypes.StringEnum[odbtypes.Access] `tfsdk:"zero_etl_access" autoflex:",noflatten"` - S3PolicyDocument types.String `tfsdk:"s3_policy_document" autoflex:",noflatten"` - OdbNetworkId types.String `tfsdk:"id"` - PeeredCidrs fwtypes.SetValueOf[types.String] `tfsdk:"peered_cidrs"` - OciDnsForwardingConfigs fwtypes.ListNestedObjectValueOf[odbNwkOciDnsForwardingConfigResourceModel] `tfsdk:"oci_dns_forwarding_configs"` - OciNetworkAnchorId types.String `tfsdk:"oci_network_anchor_id"` - OciNetworkAnchorUrl types.String `tfsdk:"oci_network_anchor_url"` - OciResourceAnchorName types.String `tfsdk:"oci_resource_anchor_name"` - OciVcnId types.String `tfsdk:"oci_vcn_id"` - OciVcnUrl types.String `tfsdk:"oci_vcn_url"` - OdbNetworkArn types.String `tfsdk:"arn"` - PercentProgress types.Float32 `tfsdk:"percent_progress"` - Status fwtypes.StringEnum[odbtypes.ResourceStatus] `tfsdk:"status"` - StatusReason types.String `tfsdk:"status_reason"` - Timeouts timeouts.Value `tfsdk:"timeouts"` - ManagedServices fwtypes.ListNestedObjectValueOf[odbNetworkManagedServicesResourceModel] `tfsdk:"managed_services"` - CreatedAt timetypes.RFC3339 `tfsdk:"created_at"` - Tags tftags.Map `tfsdk:"tags"` - TagsAll tftags.Map `tfsdk:"tags_all"` + DisplayName types.String `tfsdk:"display_name"` + AvailabilityZone types.String `tfsdk:"availability_zone"` + AvailabilityZoneId types.String `tfsdk:"availability_zone_id"` + ClientSubnetCidr types.String `tfsdk:"client_subnet_cidr"` + BackupSubnetCidr types.String `tfsdk:"backup_subnet_cidr"` + CustomDomainName types.String `tfsdk:"custom_domain_name"` + DefaultDnsPrefix types.String `tfsdk:"default_dns_prefix"` + S3Access fwtypes.StringEnum[odbtypes.Access] `tfsdk:"s3_access" autoflex:",noflatten"` + ZeroEtlAccess fwtypes.StringEnum[odbtypes.Access] `tfsdk:"zero_etl_access" autoflex:",noflatten"` + S3PolicyDocument types.String `tfsdk:"s3_policy_document" autoflex:",noflatten"` + OdbNetworkId types.String `tfsdk:"id"` + PeeredCidrs fwtypes.SetValueOf[types.String] `tfsdk:"peered_cidrs"` + OciDnsForwardingConfigs fwtypes.ListNestedObjectValueOf[odbNwkOciDnsForwardingConfigResourceModel] `tfsdk:"oci_dns_forwarding_configs"` + OciNetworkAnchorId types.String `tfsdk:"oci_network_anchor_id"` + OciNetworkAnchorUrl types.String `tfsdk:"oci_network_anchor_url"` + OciResourceAnchorName types.String `tfsdk:"oci_resource_anchor_name"` + OciVcnId types.String `tfsdk:"oci_vcn_id"` + OciVcnUrl types.String `tfsdk:"oci_vcn_url"` + OdbNetworkArn types.String `tfsdk:"arn"` + PercentProgress types.Float32 `tfsdk:"percent_progress"` + Status fwtypes.StringEnum[odbtypes.ResourceStatus] `tfsdk:"status"` + StatusReason types.String `tfsdk:"status_reason"` + Timeouts timeouts.Value `tfsdk:"timeouts"` + ManagedServices fwtypes.ListNestedObjectValueOf[odbNetworkManagedServicesResourceModel] `tfsdk:"managed_services"` + CreatedAt timetypes.RFC3339 `tfsdk:"created_at"` + DeleteAssociatedResources types.Bool `tfsdk:"delete_associated_resources"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` } type odbNwkOciDnsForwardingConfigResourceModel struct { diff --git a/internal/service/odb/network_test.go b/internal/service/odb/network_test.go index 3b3bad8dda7b..074e0822f32d 100644 --- a/internal/service/odb/network_test.go +++ b/internal/service/odb/network_test.go @@ -37,7 +37,9 @@ func TestAccODBNetworkResource_basic(t *testing.T) { if testing.Short() { t.Skip("skipping long-running test in short mode") } - + importStateVerifyIgnore := []string{ + "delete_associated_resources", + } var network odbtypes.OdbNetwork rName := sdkacctest.RandomWithPrefix(oracleDBNetworkResourceTestEntity.displayNamePrefix) resourceName := "aws_odb_network.test" @@ -57,9 +59,10 @@ func TestAccODBNetworkResource_basic(t *testing.T) { ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: importStateVerifyIgnore, }, }, }) @@ -70,7 +73,9 @@ func TestAccODBNetworkResource_withAllParams(t *testing.T) { if testing.Short() { t.Skip("skipping long-running test in short mode") } - + importStateVerifyIgnore := []string{ + "delete_associated_resources", + } var network1 odbtypes.OdbNetwork rName := sdkacctest.RandomWithPrefix(oracleDBNetworkResourceTestEntity.displayNamePrefix) resourceName := "aws_odb_network.test" @@ -91,9 +96,10 @@ func TestAccODBNetworkResource_withAllParams(t *testing.T) { ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: importStateVerifyIgnore, }, }, }) @@ -104,7 +110,9 @@ func TestAccODBNetworkResource_updateManagedService(t *testing.T) { if testing.Short() { t.Skip("skipping long-running test in short mode") } - + importStateVerifyIgnore := []string{ + "delete_associated_resources", + } var network1, network2 odbtypes.OdbNetwork rName := sdkacctest.RandomWithPrefix(oracleDBNetworkResourceTestEntity.displayNamePrefix) resourceName := "aws_odb_network.test" @@ -125,9 +133,10 @@ func TestAccODBNetworkResource_updateManagedService(t *testing.T) { ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: importStateVerifyIgnore, }, { Config: oracleDBNetworkResourceTestEntity.basicNetworkWithActiveManagedService(rName), @@ -142,9 +151,10 @@ func TestAccODBNetworkResource_updateManagedService(t *testing.T) { ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: importStateVerifyIgnore, }, }, }) @@ -155,7 +165,9 @@ func TestAccODBNetworkResource_disableManagedService(t *testing.T) { if testing.Short() { t.Skip("skipping long-running test in short mode") } - + importStateVerifyIgnore := []string{ + "delete_associated_resources", + } var network1, network2 odbtypes.OdbNetwork rName := sdkacctest.RandomWithPrefix(oracleDBNetworkResourceTestEntity.displayNamePrefix) resourceName := "aws_odb_network.test" @@ -176,9 +188,10 @@ func TestAccODBNetworkResource_disableManagedService(t *testing.T) { ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: importStateVerifyIgnore, }, { Config: oracleDBNetworkResourceTestEntity.basicNetwork(rName), @@ -193,9 +206,10 @@ func TestAccODBNetworkResource_disableManagedService(t *testing.T) { ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: importStateVerifyIgnore, }, }, }) @@ -206,7 +220,9 @@ func TestAccODBNetworkResource_updateTags(t *testing.T) { if testing.Short() { t.Skip("skipping long-running test in short mode") } - + importStateVerifyIgnore := []string{ + "delete_associated_resources", + } var network1, network2 odbtypes.OdbNetwork rName := sdkacctest.RandomWithPrefix(oracleDBNetworkResourceTestEntity.displayNamePrefix) resourceName := "aws_odb_network.test" @@ -242,9 +258,10 @@ func TestAccODBNetworkResource_updateTags(t *testing.T) { ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: importStateVerifyIgnore, }, }, }) @@ -346,16 +363,50 @@ func (oracleDBNetworkResourceTest) basicNetwork(rName string) string { + + + + resource "aws_odb_network" "test" { - display_name = %[1]q - availability_zone_id = "use1-az6" - client_subnet_cidr = "10.2.0.0/24" - backup_subnet_cidr = "10.2.1.0/24" - s3_access = "DISABLED" - zero_etl_access = "DISABLED" + display_name = %[1]q + availability_zone_id = "use1-az6" + client_subnet_cidr = "10.2.0.0/24" + backup_subnet_cidr = "10.2.1.0/24" + s3_access = "DISABLED" + zero_etl_access = "DISABLED" + delete_associated_resources = true } + + +`, rName) + return networkRes +} + +func (oracleDBNetworkResourceTest) basicNetworkWithDeleteAssociatedResourceTrue(rName string) string { + networkRes := fmt.Sprintf(` + + + + + + + + +resource "aws_odb_network" "test" { + display_name = %[1]q + availability_zone_id = "use1-az6" + client_subnet_cidr = "10.2.0.0/24" + backup_subnet_cidr = "10.2.1.0/24" + s3_access = "DISABLED" + zero_etl_access = "DISABLED" + delete_associated_resources = true +} + + + + `, rName) return networkRes } @@ -366,16 +417,23 @@ func (oracleDBNetworkResourceTest) basicNetworkWithActiveManagedService(rName st + + + + resource "aws_odb_network" "test" { - display_name = %[1]q - availability_zone_id = "use1-az6" - client_subnet_cidr = "10.2.0.0/24" - backup_subnet_cidr = "10.2.1.0/24" - s3_access = "ENABLED" - zero_etl_access = "ENABLED" + display_name = %[1]q + availability_zone_id = "use1-az6" + client_subnet_cidr = "10.2.0.0/24" + backup_subnet_cidr = "10.2.1.0/24" + s3_access = "ENABLED" + zero_etl_access = "ENABLED" + delete_associated_resources = true } + + `, rName) return networkRes } @@ -386,17 +444,24 @@ func (oracleDBNetworkResourceTest) networkWithAllParams(rName, customDomainName + + + + resource "aws_odb_network" "test" { - display_name = %[1]q - availability_zone_id = "use1-az6" - client_subnet_cidr = "10.2.0.0/24" - backup_subnet_cidr = "10.2.1.0/24" - s3_access = "DISABLED" - zero_etl_access = "DISABLED" - custom_domain_name = %[2]q + display_name = %[1]q + availability_zone_id = "use1-az6" + client_subnet_cidr = "10.2.0.0/24" + backup_subnet_cidr = "10.2.1.0/24" + s3_access = "DISABLED" + zero_etl_access = "DISABLED" + custom_domain_name = %[2]q + delete_associated_resources = true } + + `, rName, customDomainName) return networkRes } @@ -407,13 +472,18 @@ func (oracleDBNetworkResourceTest) updateNetworkTags(rName string) string { + + + + resource "aws_odb_network" "test" { - display_name = %[1]q - availability_zone_id = "use1-az6" - client_subnet_cidr = "10.2.0.0/24" - backup_subnet_cidr = "10.2.1.0/24" - s3_access = "DISABLED" - zero_etl_access = "DISABLED" + display_name = %[1]q + availability_zone_id = "use1-az6" + client_subnet_cidr = "10.2.0.0/24" + backup_subnet_cidr = "10.2.1.0/24" + s3_access = "DISABLED" + zero_etl_access = "DISABLED" + delete_associated_resources = true tags = { "env" = "dev" } diff --git a/website/docs/r/odb_network.html.markdown b/website/docs/r/odb_network.html.markdown index a6d73abcd750..efa7eb21fba1 100644 --- a/website/docs/r/odb_network.html.markdown +++ b/website/docs/r/odb_network.html.markdown @@ -60,6 +60,7 @@ The following arguments are optional: * `default_dns_prefix` - (Optional) The default DNS prefix for the network resource. Changing this will force terraform to create new resource. Changing this will force terraform to create new resource. * `tags` - (Optional) A map of tags to assign to the exadata infrastructure. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `delete_associated_resources` - (Optional) If set to true deletes associated OCI resources. Default false. ## Attribute Reference From 44dba316a0b17c0d565851c0fad10d68312e7b62 Mon Sep 17 00:00:00 2001 From: Asim Date: Tue, 21 Oct 2025 16:55:42 +0100 Subject: [PATCH 2/5] import grouped and added change log. --- .changelog/44754.txt | 3 +++ internal/service/odb/network.go | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 .changelog/44754.txt diff --git a/.changelog/44754.txt b/.changelog/44754.txt new file mode 100644 index 000000000000..b2a3c3e3a770 --- /dev/null +++ b/.changelog/44754.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_odb_network: Add `delete_associated_resources` attribute to enable practitioner to delete associated oci resource. +``` \ No newline at end of file diff --git a/internal/service/odb/network.go b/internal/service/odb/network.go index 086c8032faba..6c8452354977 100644 --- a/internal/service/odb/network.go +++ b/internal/service/odb/network.go @@ -6,8 +6,6 @@ package odb import ( "context" "errors" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/booldefault" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" "time" "github.com/aws/aws-sdk-go-v2/aws" @@ -19,6 +17,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/booldefault" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" From bbceec4408a455dd6fc3d8dea53b28e1be6527b8 Mon Sep 17 00:00:00 2001 From: Asim Date: Wed, 22 Oct 2025 10:00:52 +0100 Subject: [PATCH 3/5] if not set, delete flag set to false. --- internal/service/odb/network.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/internal/service/odb/network.go b/internal/service/odb/network.go index 6c8452354977..8675b49fe38e 100644 --- a/internal/service/odb/network.go +++ b/internal/service/odb/network.go @@ -486,10 +486,15 @@ func (r *resourceNetwork) Delete(ctx context.Context, req resource.DeleteRequest } input := odb.DeleteOdbNetworkInput{ - OdbNetworkId: state.OdbNetworkId.ValueStringPointer(), - DeleteAssociatedResources: state.DeleteAssociatedResources.ValueBoolPointer(), + OdbNetworkId: state.OdbNetworkId.ValueStringPointer(), } + if state.DeleteAssociatedResources.ValueBoolPointer() == nil || state.DeleteAssociatedResources.IsUnknown() { + deleteAssociatedResources := false + input.DeleteAssociatedResources = &deleteAssociatedResources + } else { + input.DeleteAssociatedResources = state.DeleteAssociatedResources.ValueBoolPointer() + } _, err := conn.DeleteOdbNetwork(ctx, &input) if err != nil { From 42293a6ff445b98c6febc3e96be365a79eeb98a5 Mon Sep 17 00:00:00 2001 From: Asim Date: Wed, 22 Oct 2025 14:02:17 +0100 Subject: [PATCH 4/5] added test update delete flag --- internal/service/odb/network_test.go | 82 +++++++++++++++++++++++++--- 1 file changed, 74 insertions(+), 8 deletions(-) diff --git a/internal/service/odb/network_test.go b/internal/service/odb/network_test.go index 074e0822f32d..4a3007a7cfdc 100644 --- a/internal/service/odb/network_test.go +++ b/internal/service/odb/network_test.go @@ -298,6 +298,61 @@ func TestAccODBNetworkResource_disappears(t *testing.T) { }) } +func TestAccODBNetworkResource_updateDeleteAssociatedResource(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + importStateVerifyIgnore := []string{ + "delete_associated_resources", + } + var network1, network2 odbtypes.OdbNetwork + rName := sdkacctest.RandomWithPrefix(oracleDBNetworkResourceTestEntity.displayNamePrefix) + resourceName := "aws_odb_network.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + oracleDBNetworkResourceTestEntity.testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.ODBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: oracleDBNetworkResourceTestEntity.testAccCheckNetworkDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: oracleDBNetworkResourceTestEntity.basicNetworkWithWithDeleteAssociatedResourceFalse(rName), + Check: resource.ComposeAggregateTestCheckFunc( + oracleDBNetworkResourceTestEntity.testAccCheckNetworkExists(ctx, resourceName, &network1), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: importStateVerifyIgnore, + }, + { + Config: oracleDBNetworkResourceTestEntity.basicNetwork(rName), + Check: resource.ComposeAggregateTestCheckFunc( + oracleDBNetworkResourceTestEntity.testAccCheckNetworkExists(ctx, resourceName, &network2), + resource.ComposeTestCheckFunc(func(state *terraform.State) error { + if strings.Compare(*(network1.OdbNetworkId), *(network2.OdbNetworkId)) != 0 { + return errors.New("should not create a new cloud odb network") + } + return nil + }), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: importStateVerifyIgnore, + }, + }, + }) +} + func (oracleDBNetworkResourceTest) testAccCheckNetworkDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).ODBClient(ctx) @@ -384,7 +439,7 @@ resource "aws_odb_network" "test" { return networkRes } -func (oracleDBNetworkResourceTest) basicNetworkWithDeleteAssociatedResourceTrue(rName string) string { +func (oracleDBNetworkResourceTest) basicNetworkWithWithDeleteAssociatedResourceFalse(rName string) string { networkRes := fmt.Sprintf(` @@ -394,19 +449,30 @@ func (oracleDBNetworkResourceTest) basicNetworkWithDeleteAssociatedResourceTrue( + + + + + + + + resource "aws_odb_network" "test" { - display_name = %[1]q - availability_zone_id = "use1-az6" - client_subnet_cidr = "10.2.0.0/24" - backup_subnet_cidr = "10.2.1.0/24" - s3_access = "DISABLED" - zero_etl_access = "DISABLED" - delete_associated_resources = true + display_name = %[1]q + availability_zone_id = "use1-az6" + client_subnet_cidr = "10.2.0.0/24" + backup_subnet_cidr = "10.2.1.0/24" + s3_access = "DISABLED" + zero_etl_access = "DISABLED" } + + + + `, rName) return networkRes } From 3b51af1a3ef996a525412fc57dff3c82bcf7e6ba Mon Sep 17 00:00:00 2001 From: Asim Kumar Biswal Date: Thu, 23 Oct 2025 16:32:12 +0100 Subject: [PATCH 5/5] Update internal/service/odb/network.go Co-authored-by: Adrian Johnson --- internal/service/odb/network.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/internal/service/odb/network.go b/internal/service/odb/network.go index 8675b49fe38e..15777cfd0d8a 100644 --- a/internal/service/odb/network.go +++ b/internal/service/odb/network.go @@ -489,10 +489,8 @@ func (r *resourceNetwork) Delete(ctx context.Context, req resource.DeleteRequest OdbNetworkId: state.OdbNetworkId.ValueStringPointer(), } - if state.DeleteAssociatedResources.ValueBoolPointer() == nil || state.DeleteAssociatedResources.IsUnknown() { - deleteAssociatedResources := false - input.DeleteAssociatedResources = &deleteAssociatedResources - } else { + input.DeleteAssociatedResources = aws.Bool(false) + if !state.DeleteAssociatedResources.IsNull() || !state.DeleteAssociatedResources.IsUnknown() { input.DeleteAssociatedResources = state.DeleteAssociatedResources.ValueBoolPointer() } _, err := conn.DeleteOdbNetwork(ctx, &input)