Skip to content

Commit

Permalink
Merge pull request #3 from hashicorp/main
Browse files Browse the repository at this point in the history
Fork Sync: Update from parent repository
  • Loading branch information
mbialon authored Sep 15, 2023
2 parents 1c8a55f + fc70de5 commit ee8846e
Show file tree
Hide file tree
Showing 28 changed files with 2,014 additions and 2 deletions.
11 changes: 11 additions & 0 deletions internal/services/eventgrid/eventgrid_domain_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (

"github.com/hashicorp/go-azure-helpers/lang/response"
"github.com/hashicorp/go-azure-helpers/resourcemanager/commonschema"
"github.com/hashicorp/go-azure-helpers/resourcemanager/identity"
"github.com/hashicorp/go-azure-helpers/resourcemanager/location"
"github.com/hashicorp/go-azure-helpers/resourcemanager/tags"
"github.com/hashicorp/go-azure-sdk/resource-manager/eventgrid/2022-06-15/domains"
Expand Down Expand Up @@ -138,6 +139,8 @@ func dataSourceEventGridDomain() *pluginsdk.Resource {
},

"tags": commonschema.TagsDataSource(),

"identity": commonschema.SystemOrUserAssignedIdentityComputed(),
},
}
}
Expand Down Expand Up @@ -202,6 +205,14 @@ func dataSourceEventGridDomainRead(d *pluginsdk.ResourceData, meta interface{})
if err := d.Set("inbound_ip_rule", inboundIPRules); err != nil {
return fmt.Errorf("setting `inbound_ip_rule` in %s: %+v", id, err)
}

flattenedIdentity, err := identity.FlattenSystemAndUserAssignedMap(model.Identity)
if err != nil {
return fmt.Errorf("flattening `identity`: %+v", err)
}
if err := d.Set("identity", flattenedIdentity); err != nil {
return fmt.Errorf("setting `identity`: %+v", err)
}
}

if err := tags.FlattenAndSet(d, model.Tags); err != nil {
Expand Down
59 changes: 59 additions & 0 deletions internal/services/eventgrid/eventgrid_domain_data_source_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,43 @@ func TestAccEventGridDomainDataSource_basic(t *testing.T) {
check.That(data.ResourceName).Key("inbound_ip_rule.1.ip_mask").Exists(),
check.That(data.ResourceName).Key("inbound_ip_rule.0.action").Exists(),
check.That(data.ResourceName).Key("inbound_ip_rule.1.action").Exists(),
check.That(data.ResourceName).Key("identity.#").HasValue("0"),
),
},
})
}

func TestAccEventGridDomainDataSource_systemAssignedIdentity(t *testing.T) {
data := acceptance.BuildTestData(t, "data.azurerm_eventgrid_domain", "test")
r := EventGridDomainDataSource{}

data.DataSourceTest(t, []acceptance.TestStep{
{
Config: r.basicWithSystemManagedIdentity(data),
Check: acceptance.ComposeTestCheckFunc(
check.That(data.ResourceName).Key("identity.#").HasValue("1"),
check.That(data.ResourceName).Key("identity.0.type").HasValue("SystemAssigned"),
check.That(data.ResourceName).Key("identity.0.identity_ids.#").HasValue("0"),
check.That(data.ResourceName).Key("identity.0.principal_id").Exists(),
check.That(data.ResourceName).Key("identity.0.tenant_id").Exists(),
),
},
})
}

func TestAccEventGridDomainDataSource_userAssignedIdentity(t *testing.T) {
data := acceptance.BuildTestData(t, "data.azurerm_eventgrid_domain", "test")
r := EventGridDomainDataSource{}

data.DataSourceTest(t, []acceptance.TestStep{
{
Config: r.basicWithUserAssignedManagedIdentity(data),
Check: acceptance.ComposeTestCheckFunc(
check.That(data.ResourceName).Key("identity.#").HasValue("1"),
check.That(data.ResourceName).Key("identity.0.type").HasValue("UserAssigned"),
check.That(data.ResourceName).Key("identity.0.identity_ids.#").HasValue("1"),
check.That(data.ResourceName).Key("identity.0.principal_id").IsEmpty(),
check.That(data.ResourceName).Key("identity.0.tenant_id").IsEmpty(),
),
},
})
Expand All @@ -50,3 +87,25 @@ data "azurerm_eventgrid_domain" "test" {
}
`, EventGridDomainResource{}.complete(data))
}

func (EventGridDomainDataSource) basicWithSystemManagedIdentity(data acceptance.TestData) string {
return fmt.Sprintf(`
%s
data "azurerm_eventgrid_domain" "test" {
name = azurerm_eventgrid_domain.test.name
resource_group_name = azurerm_resource_group.test.name
}
`, EventGridDomainResource{}.basicWithSystemManagedIdentity(data))
}

func (EventGridDomainDataSource) basicWithUserAssignedManagedIdentity(data acceptance.TestData) string {
return fmt.Sprintf(`
%s
data "azurerm_eventgrid_domain" "test" {
name = azurerm_eventgrid_domain.test.name
resource_group_name = azurerm_resource_group.test.name
}
`, EventGridDomainResource{}.basicWithUserAssignedManagedIdentity(data))
}
16 changes: 14 additions & 2 deletions internal/services/newrelic/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,35 @@
package client

import (
"fmt"

"github.com/hashicorp/go-azure-sdk/resource-manager/newrelic/2022-07-01/monitors"
"github.com/hashicorp/go-azure-sdk/resource-manager/newrelic/2022-07-01/tagrules"
"github.com/hashicorp/terraform-provider-azurerm/internal/common"
)

type Client struct {
MonitorsClient *monitors.MonitorsClient
TagRulesClient *tagrules.TagRulesClient
}

func NewClient(o *common.ClientOptions) (*Client, error) {

monitorsClient, err := monitors.NewMonitorsClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, err
return nil, fmt.Errorf("building Monitors client: %+v", err)
}

o.Configure(monitorsClient.Client, o.Authorizers.ResourceManager)

tagRulesClient, err := tagrules.NewTagRulesClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building TagRules client: %+v", err)
}

o.Configure(tagRulesClient.Client, o.Authorizers.ResourceManager)

return &Client{
MonitorsClient: monitorsClient,
TagRulesClient: tagRulesClient,
}, nil
}
Loading

0 comments on commit ee8846e

Please sign in to comment.