From 76e176a6a3de0d3492080871e7d3039f66d5607b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 15 Dec 2021 16:53:22 -0500 Subject: [PATCH 1/4] r/aws_fsx_ontap_storage_virtual_machine: Deprecate 'organizational_unit_distinguidshed_name' in favor of 'organizational_unit_distinguished_name'. --- .../fsx/ontap_storage_virtual_machine.go | 25 ++++++-- .../fsx/ontap_storage_virtual_machine_test.go | 62 +++++++++++++++++++ 2 files changed, 82 insertions(+), 5 deletions(-) diff --git a/internal/service/fsx/ontap_storage_virtual_machine.go b/internal/service/fsx/ontap_storage_virtual_machine.go index 123a2548f754..7c2aa550f4be 100644 --- a/internal/service/fsx/ontap_storage_virtual_machine.go +++ b/internal/service/fsx/ontap_storage_virtual_machine.go @@ -83,10 +83,19 @@ func ResourceOntapStorageVirtualMachine() *schema.Resource { ValidateFunc: validation.StringLenBetween(1, 256), }, "organizational_unit_distinguidshed_name": { - Type: schema.TypeString, - Optional: true, - ForceNew: true, - ValidateFunc: validation.StringLenBetween(1, 2000), + Type: schema.TypeString, + Optional: true, + ForceNew: true, + ValidateFunc: validation.StringLenBetween(1, 2000), + Deprecated: "use 'organizational_unit_distinguished_name' instead", + ConflictsWith: []string{"active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguished_name"}, + }, + "organizational_unit_distinguished_name": { + Type: schema.TypeString, + Optional: true, + ForceNew: true, + ValidateFunc: validation.StringLenBetween(1, 2000), + ConflictsWith: []string{"active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguidshed_name"}, }, "password": { Type: schema.TypeString, @@ -423,6 +432,8 @@ func expandFsxOntapSvmSelfManagedActiveDirectoryConfiguration(cfg []interface{}) if v, ok := conf["organizational_unit_distinguidshed_name"].(string); ok && len(v) > 0 { out.OrganizationalUnitDistinguishedName = aws.String(v) + } else if v, ok := conf["organizational_unit_distinguished_name"].(string); ok && len(v) > 0 { + out.OrganizationalUnitDistinguishedName = aws.String(v) } if v, ok := conf["password"].(string); ok && len(v) > 0 { @@ -512,7 +523,11 @@ func flattenFsxOntapSelfManagedActiveDirectoryConfiguration(d *schema.ResourceDa } if rs.OrganizationalUnitDistinguishedName != nil { - m["organizational_unit_distinguidshed_name"] = aws.StringValue(rs.OrganizationalUnitDistinguishedName) + if _, ok := d.GetOk("active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguidshed_name"); ok { + m["organizational_unit_distinguidshed_name"] = aws.StringValue(rs.OrganizationalUnitDistinguishedName) + } else { + m["organizational_unit_distinguished_name"] = aws.StringValue(rs.OrganizationalUnitDistinguishedName) + } } if rs.UserName != nil { diff --git a/internal/service/fsx/ontap_storage_virtual_machine_test.go b/internal/service/fsx/ontap_storage_virtual_machine_test.go index e83cac0cffd8..3bdbbc5f8765 100644 --- a/internal/service/fsx/ontap_storage_virtual_machine_test.go +++ b/internal/service/fsx/ontap_storage_virtual_machine_test.go @@ -261,6 +261,47 @@ func TestAccFSxOntapStorageVirtualMachine_activeDirectory(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "active_directory_configuration.0.self_managed_active_directory_configuration.0.domain_name", domainName), resource.TestCheckResourceAttr(resourceName, "endpoints.0.smb.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "endpoints.0.smb.0.dns_name"), + resource.TestCheckResourceAttr(resourceName, "active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguished_name", fmt.Sprintf("OU=computers,OU=%s", domainNetbiosName)), + resource.TestCheckResourceAttr(resourceName, "active_directory_configuration.0.self_managed_active_directory_configuration.0.password", domainPassword1), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "active_directory_configuration", + }, + }, + }, + }) +} + +func TestAccFSxOntapStorageVirtualMachine_activeDirectoryDeprecatedOrganizationalUnitDistinguishedName(t *testing.T) { + var storageVirtualMachine1 fsx.StorageVirtualMachine + resourceName := "aws_fsx_ontap_storage_virtual_machine.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + netBiosName := "tftest-" + sdkacctest.RandString(7) + domainNetbiosName := "tftestcorp" + domainName := "tftestcorp.local" + domainPassword1 := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t); acctest.PreCheckPartitionHasService(fsx.EndpointsID, t) }, + ErrorCheck: acctest.ErrorCheck(t, fsx.EndpointsID), + Providers: acctest.Providers, + CheckDestroy: testAccCheckFsxOntapStorageVirtualMachineDestroy, + Steps: []resource.TestStep{ + { + Config: testAccFsxOntapStorageVirutalMachineSelfManagedActiveDirectoryConfigDeprecatedOrganizationalUnitDistinguishedName(rName, netBiosName, domainNetbiosName, domainName, domainPassword1), + Check: resource.ComposeTestCheckFunc( + testAccCheckFsxOntapStorageVirtualMachineExists(resourceName, &storageVirtualMachine1), + resource.TestCheckResourceAttr(resourceName, "active_directory_configuration.#", "1"), + resource.TestCheckResourceAttr(resourceName, "active_directory_configuration.0.netbios_name", strings.ToUpper(netBiosName)), + resource.TestCheckResourceAttr(resourceName, "active_directory_configuration.0.self_managed_active_directory_configuration.0.domain_name", domainName), + resource.TestCheckResourceAttr(resourceName, "endpoints.0.smb.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "endpoints.0.smb.0.dns_name"), + resource.TestCheckResourceAttr(resourceName, "active_directory_configuration.0.self_managed_active_directory_configuration.0.organizational_unit_distinguidshed_name", fmt.Sprintf("OU=computers,OU=%s", domainNetbiosName)), resource.TestCheckResourceAttr(resourceName, "active_directory_configuration.0.self_managed_active_directory_configuration.0.password", domainPassword1), ), }, @@ -466,6 +507,27 @@ resource "aws_fsx_ontap_storage_virtual_machine" "test" { name = %[1]q depends_on = [aws_directory_service_directory.test] + active_directory_configuration { + netbios_name = %[2]q + self_managed_active_directory_configuration { + dns_ips = aws_directory_service_directory.test.dns_ip_addresses + domain_name = %[3]q + password = %[4]q + username = "Admin" + organizational_unit_distinguished_name = "OU=computers,OU=%[5]s" + } + } +} +`, rName, netBiosName, domainName, domainPassword, domainNetbiosName)) +} + +func testAccFsxOntapStorageVirutalMachineSelfManagedActiveDirectoryConfigDeprecatedOrganizationalUnitDistinguishedName(rName string, netBiosName string, domainNetbiosName string, domainName string, domainPassword string) string { + return acctest.ConfigCompose(testAccOntapStorageVirtualMachineADConfig(rName, domainName, domainPassword), fmt.Sprintf(` +resource "aws_fsx_ontap_storage_virtual_machine" "test" { + file_system_id = aws_fsx_ontap_file_system.test.id + name = %[1]q + depends_on = [aws_directory_service_directory.test] + active_directory_configuration { netbios_name = %[2]q self_managed_active_directory_configuration { From 9a584ad717b4792dbdbb75f5c99ce11dd301468c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 15 Dec 2021 17:02:00 -0500 Subject: [PATCH 2/4] Add CHANGELOG entry. --- .changelog/22246.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/22246.txt diff --git a/.changelog/22246.txt b/.changelog/22246.txt new file mode 100644 index 000000000000..316842aeae61 --- /dev/null +++ b/.changelog/22246.txt @@ -0,0 +1,3 @@ +```release-note:note +resource/aws_fsx_ontap_storage_virtual_machine: The `active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguidshed_name` attribute has been deprecated. All configurations using `broken` should be updated to use the new `active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name` attribute instead +``` \ No newline at end of file From 9a6901973eea0e14091e30e03e26e78f73b2c26a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 15 Dec 2021 17:02:52 -0500 Subject: [PATCH 3/4] Fix terrafmt errors. --- .../service/fsx/ontap_storage_virtual_machine_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/service/fsx/ontap_storage_virtual_machine_test.go b/internal/service/fsx/ontap_storage_virtual_machine_test.go index 3bdbbc5f8765..29098fb83d91 100644 --- a/internal/service/fsx/ontap_storage_virtual_machine_test.go +++ b/internal/service/fsx/ontap_storage_virtual_machine_test.go @@ -510,11 +510,11 @@ resource "aws_fsx_ontap_storage_virtual_machine" "test" { active_directory_configuration { netbios_name = %[2]q self_managed_active_directory_configuration { - dns_ips = aws_directory_service_directory.test.dns_ip_addresses - domain_name = %[3]q - password = %[4]q - username = "Admin" - organizational_unit_distinguished_name = "OU=computers,OU=%[5]s" + dns_ips = aws_directory_service_directory.test.dns_ip_addresses + domain_name = %[3]q + password = %[4]q + username = "Admin" + organizational_unit_distinguished_name = "OU=computers,OU=%[5]s" } } } From b3363c6ee418c29515109644b715a38cd24bdddb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 15 Dec 2021 17:19:59 -0500 Subject: [PATCH 4/4] Update 22246.txt --- .changelog/22246.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changelog/22246.txt b/.changelog/22246.txt index 316842aeae61..7db863495db5 100644 --- a/.changelog/22246.txt +++ b/.changelog/22246.txt @@ -1,3 +1,3 @@ ```release-note:note -resource/aws_fsx_ontap_storage_virtual_machine: The `active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguidshed_name` attribute has been deprecated. All configurations using `broken` should be updated to use the new `active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name` attribute instead -``` \ No newline at end of file +resource/aws_fsx_ontap_storage_virtual_machine: The `active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguidshed_name` attribute has been deprecated. All configurations using `active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguidshed_name` should be updated to use the new `active_directory_configuration.self_managed_active_directory_configuration.organizational_unit_distinguished_name` attribute instead +```