Skip to content

Commit

Permalink
Merge pull request #20819 from jValdron/b/shared-ad-dns
Browse files Browse the repository at this point in the history
Add support to pull DNS IP addresses for shared AD
  • Loading branch information
ewbankkit authored Aug 5, 2022
2 parents edc52fa + a0495c2 commit 9400eff
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .changelog/20819.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:enhancement
data-source/aws_directory_service_directory: Set `dns_ip_addresses` to the owner directory's DNS IP addresses for SharedMicrosoftAD directories
```
6 changes: 5 additions & 1 deletion internal/service/ds/directory_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,8 @@ func dataSourceDirectoryRead(d *schema.ResourceData, meta interface{}) error {
d.Set("description", dir.Description)
if aws.StringValue(dir.Type) == directoryservice.DirectoryTypeAdconnector {
d.Set("dns_ip_addresses", aws.StringValueSlice(dir.ConnectSettings.ConnectIps))
} else if aws.StringValue(dir.Type) == directoryservice.DirectoryTypeSharedMicrosoftAd {
d.Set("dns_ip_addresses", aws.StringValueSlice(dir.OwnerDirectoryDescription.DnsIpAddrs))
} else {
d.Set("dns_ip_addresses", aws.StringValueSlice(dir.DnsIpAddrs))
}
Expand All @@ -159,8 +161,10 @@ func dataSourceDirectoryRead(d *schema.ResourceData, meta interface{}) error {
d.Set("name", dir.Name)
if aws.StringValue(dir.Type) == directoryservice.DirectoryTypeAdconnector {
d.Set("security_group_id", dir.ConnectSettings.SecurityGroupId)
} else {
} else if dir.VpcSettings != nil {
d.Set("security_group_id", dir.VpcSettings.SecurityGroupId)
} else {
d.Set("security_group_id", nil)
}
d.Set("short_name", dir.ShortName)
d.Set("size", dir.Size)
Expand Down
42 changes: 42 additions & 0 deletions internal/service/ds/directory_data_source_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,32 @@ func TestAccDSDirectoryDataSource_connector(t *testing.T) {
})
}

func TestAccDSDirectoryDataSource_sharedMicrosoftAD(t *testing.T) {
resourceName := "aws_directory_service_directory.test"
dataSourceName := "data.aws_directory_service_directory.test"
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
domainName := acctest.RandomDomainName()

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckDirectoryService(t)
acctest.PreCheckAlternateAccount(t)
},
ErrorCheck: acctest.ErrorCheck(t, directoryservice.EndpointsID),
ProtoV5ProviderFactories: acctest.ProtoV5FactoriesAlternate(t),
Steps: []resource.TestStep{
{
Config: testAccDirectoryDataSourceConfig_sharedMicrosoftAD(rName, domainName),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttrPair(resourceName, "dns_ip_addresses.#", dataSourceName, "dns_ip_addresses.#"),
resource.TestCheckResourceAttr(dataSourceName, "type", "SharedMicrosoftAD"),
),
},
},
})
}

func testAccDirectoryDataSourceConfig_simpleAD(rName, alias, domain string) string {
return acctest.ConfigCompose(acctest.ConfigVPCWithSubnets(rName, 2), fmt.Sprintf(`
data "aws_directory_service_directory" "test" {
Expand Down Expand Up @@ -215,3 +241,19 @@ resource "aws_directory_service_directory" "base" {
}
`, domain))
}

func testAccDirectoryDataSourceConfig_sharedMicrosoftAD(rName, domain string) string {
return acctest.ConfigCompose(testAccSharedDirectoryConfig_basic(rName, domain), `
resource "aws_directory_service_shared_directory_accepter" "test" {
provider = "awsalternate"
shared_directory_id = aws_directory_service_shared_directory.test.shared_directory_id
}
data "aws_directory_service_directory" "test" {
provider = "awsalternate"
directory_id = aws_directory_service_shared_directory_accepter.test.shared_directory_id
}
`)
}

0 comments on commit 9400eff

Please sign in to comment.