Skip to content

Commit

Permalink
applying review suggestions
Browse files Browse the repository at this point in the history
  • Loading branch information
pchanvallon committed Jan 11, 2023
1 parent 764e464 commit 2612bd5
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 100 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"fmt"
"time"

"github.com/hashicorp/go-azure-helpers/resourcemanager/commonids"
"github.com/hashicorp/go-azure-helpers/resourcemanager/commonschema"
"github.com/hashicorp/go-azure-helpers/resourcemanager/location"
"github.com/hashicorp/go-azure-sdk/resource-manager/dnsresolver/2022-07-01/dnsforwardingrulesets"
Expand Down Expand Up @@ -78,22 +77,16 @@ func (r PrivateDNSResolverDnsForwardingRulesetDataSource) Read() sdk.ResourceFun
return fmt.Errorf("decoding: %+v", err)
}

var top int64 = 1
resp, err := client.ListByResourceGroupCompleteMatchingPredicate(ctx,
commonids.NewResourceGroupID(metadata.Client.Account.SubscriptionId, state.ResourceGroupName),
dnsforwardingrulesets.ListByResourceGroupOperationOptions{Top: &top},
dnsforwardingrulesets.DnsForwardingRulesetOperationPredicate{Name: &state.Name})
id := dnsforwardingrulesets.NewDnsForwardingRulesetID(
metadata.Client.Account.SubscriptionId, state.ResourceGroupName, state.Name)
resp, err := client.Get(ctx, id)
if err != nil {
return fmt.Errorf("retrieving %s: %+v", state.Name, err)
}
if len(resp.Items) != int(top) {
return fmt.Errorf("retrieving %s: resource not found", state.Name)
return fmt.Errorf("retrieving %s: %+v", id, err)
}

model := resp.Items[0]
id, err := dnsforwardingrulesets.ParseDnsForwardingRulesetID(*model.Id)
if err != nil {
return err
model := resp.Model
if model == nil {
return fmt.Errorf("retrieving %s: model was nil", id)
}

state.Location = location.Normalize(model.Location)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,110 +28,63 @@ func TestAccPrivateDNSResolverDnsForwardingRulesetDataSource_basic(t *testing.T)
})
}

func TestAccPrivateDNSResolverDnsForwardingRulesetDataSource_complete(t *testing.T) {
data := acceptance.BuildTestData(t, "data.azurerm_private_dns_resolver_dns_forwarding_ruleset", "test")
d := PrivateDNSResolverDnsForwardingRulesetDataSource{}

data.DataSourceTest(t, []acceptance.TestStep{
{
Config: d.complete(data),
Check: acceptance.ComposeTestCheckFunc(
check.That(data.ResourceName).Key("name").Exists(),
check.That(data.ResourceName).Key("resource_group_name").Exists(),
check.That(data.ResourceName).Key("location").HasValue(location.Normalize(data.Locations.Primary)),
check.That(data.ResourceName).Key("private_dns_resolver_outbound_endpoint_ids.0").Exists(),
check.That(data.ResourceName).Key("tags.key").HasValue("value"),
),
},
})
}

func (d PrivateDNSResolverDnsForwardingRulesetDataSource) template(data acceptance.TestData) string {
func (d PrivateDNSResolverDnsForwardingRulesetDataSource) basic(data acceptance.TestData) string {
return fmt.Sprintf(`
provider "azurerm" {
features {}
features {}
}
resource "azurerm_resource_group" "test" {
name = "acctest-rg-%[2]d"
location = "%[1]s"
name = "acctest-rg-%[2]d"
location = "%[1]s"
}
resource "azurerm_virtual_network" "test" {
name = "acctest-rg-%[2]d"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
address_space = ["10.0.0.0/16"]
name = "acctest-rg-%[2]d"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
address_space = ["10.0.0.0/16"]
}
resource "azurerm_subnet" "test" {
name = "outbounddns"
resource_group_name = azurerm_resource_group.test.name
virtual_network_name = azurerm_virtual_network.test.name
address_prefixes = ["10.0.0.64/28"]
delegation {
name = "Microsoft.Network.dnsResolvers"
service_delegation {
actions = ["Microsoft.Network/virtualNetworks/subnets/join/action"]
name = "Microsoft.Network/dnsResolvers"
}
}
name = "outbounddns"
resource_group_name = azurerm_resource_group.test.name
virtual_network_name = azurerm_virtual_network.test.name
address_prefixes = ["10.0.0.64/28"]
delegation {
name = "Microsoft.Network.dnsResolvers"
service_delegation {
actions = ["Microsoft.Network/virtualNetworks/subnets/join/action"]
name = "Microsoft.Network/dnsResolvers"
}
}
}
resource "azurerm_private_dns_resolver" "test" {
name = "acctest-dr-%[2]d"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
virtual_network_id = azurerm_virtual_network.test.id
name = "acctest-dr-%[2]d"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
virtual_network_id = azurerm_virtual_network.test.id
}
resource "azurerm_private_dns_resolver_outbound_endpoint" "test" {
name = "acctest-droe-%[2]d"
private_dns_resolver_id = azurerm_private_dns_resolver.test.id
location = azurerm_private_dns_resolver.test.location
subnet_id = azurerm_subnet.test.id
}
`, data.Locations.Primary, data.RandomInteger)
}

func (d PrivateDNSResolverDnsForwardingRulesetDataSource) basic(data acceptance.TestData) string {
template := d.template(data)
return fmt.Sprintf(`
%s
resource "azurerm_private_dns_resolver_dns_forwarding_ruleset" "test" {
name = "acctest-drdfr-%d"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
private_dns_resolver_outbound_endpoint_ids = [azurerm_private_dns_resolver_outbound_endpoint.test.id]
name = "acctest-droe-%[2]d"
private_dns_resolver_id = azurerm_private_dns_resolver.test.id
location = azurerm_private_dns_resolver.test.location
subnet_id = azurerm_subnet.test.id
}
data "azurerm_private_dns_resolver_dns_forwarding_ruleset" "test" {
name = azurerm_private_dns_resolver_dns_forwarding_ruleset.test.name
resource_group_name = azurerm_resource_group.test.name
}
`, template, data.RandomInteger)
}

func (d PrivateDNSResolverDnsForwardingRulesetDataSource) complete(data acceptance.TestData) string {
template := d.template(data)
return fmt.Sprintf(`
%s
resource "azurerm_private_dns_resolver_dns_forwarding_ruleset" "test" {
name = "acctest-drdfr-%d"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
private_dns_resolver_outbound_endpoint_ids = [azurerm_private_dns_resolver_outbound_endpoint.test.id]
tags = {
key = "value"
}
name = "acctest-drdfr-%[2]d"
resource_group_name = azurerm_resource_group.test.name
location = azurerm_resource_group.test.location
private_dns_resolver_outbound_endpoint_ids = [azurerm_private_dns_resolver_outbound_endpoint.test.id]
}
data "azurerm_private_dns_resolver_dns_forwarding_ruleset" "test" {
name = azurerm_private_dns_resolver_dns_forwarding_ruleset.test.name
resource_group_name = azurerm_resource_group.test.name
}
`, template, data.RandomInteger)
`, data.Locations.Primary, data.RandomInteger)
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,23 @@ data "azurerm_private_dns_resolver_dns_forwarding_ruleset" "example" {

## Arguments Reference

The following arguments are required:
The following arguments are supported:

* `name` - Name of the existing Private DNS Resolver Dns Forwarding Ruleset.
* `name` - (Required) Name of the existing Private DNS Resolver Dns Forwarding Ruleset.

* `resource_group_name` - Name of the Resource Group where the Private DNS Resolver Dns Forwarding Ruleset exists.
* `resource_group_name` - (Required) Name of the Resource Group where the Private DNS Resolver Dns Forwarding Ruleset exists.

## Attributes Reference

In addition to the Arguments listed above - the following Attributes are exported:

* `id` - The ID of the Private DNS Resolver Dns Forwarding Ruleset.

* `private_dns_resolver_outbound_endpoint_ids` - List of IDs of the Private DNS Resolver Outbound Endpoint that is linked to the Private DNS Resolver Dns Forwarding Ruleset.
* `private_dns_resolver_outbound_endpoint_ids` - The IDs list of the Private DNS Resolver Outbound Endpoints that are linked to the Private DNS Resolver Dns Forwarding Ruleset.

* `location` - Azure Region where the Private DNS Resolver Dns Forwarding Ruleset exists.
* `location` - The Azure Region where the Private DNS Resolver Dns Forwarding Ruleset exists.

* `tags` - Mapping of tags assigned to the Private DNS Resolver Dns Forwarding Ruleset.
* `tags` - The tags assigned to the Private DNS Resolver Dns Forwarding Ruleset.

## Timeouts

Expand Down

0 comments on commit 2612bd5

Please sign in to comment.