Skip to content

Commit

Permalink
Merge pull request #20688 from hashicorp/dependencies/go-azure-sdk
Browse files Browse the repository at this point in the history
SDK: updating `DNS`, `Maps` and `SignalR` to use the new base layer from `hashicorp/go-azure-sdk`
  • Loading branch information
tombuildsstuff authored Feb 28, 2023
2 parents e04f987 + 7d51f97 commit cbe804c
Show file tree
Hide file tree
Showing 1,133 changed files with 7,432 additions and 6,275 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ require (
github.com/google/go-cmp v0.5.9
github.com/google/uuid v1.1.2
github.com/hashicorp/go-azure-helpers v0.52.0
github.com/hashicorp/go-azure-sdk v0.20230224.1071134
github.com/hashicorp/go-azure-sdk v0.20230228.1160358
github.com/hashicorp/go-multierror v1.1.1
github.com/hashicorp/go-uuid v1.0.3
github.com/hashicorp/go-version v1.6.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,8 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv
github.com/hashicorp/go-azure-helpers v0.12.0/go.mod h1:Zc3v4DNeX6PDdy7NljlYpnrdac1++qNW0I4U+ofGwpg=
github.com/hashicorp/go-azure-helpers v0.52.0 h1:2xIjsPpDbZf5dFLEdqOy5akfdnh8M/6mQtVWhkpM3hM=
github.com/hashicorp/go-azure-helpers v0.52.0/go.mod h1:lsykLR4KjTUO7MiRmNWiTiX8QQtw3ILjyOvT0f5h3rw=
github.com/hashicorp/go-azure-sdk v0.20230224.1071134 h1:6vF+M4K9zjDjFDZVva7tasB5gUHJGYH2JSMHliHqPiA=
github.com/hashicorp/go-azure-sdk v0.20230224.1071134/go.mod h1:lU3F9c+qXc7iqMayTNmUP/VDc0H6f95mkhv4u35zV8I=
github.com/hashicorp/go-azure-sdk v0.20230228.1160358 h1:NT+ZtuuSPAaAs/BIiG5dPi8lIOC+VmYB2iuBYefaTWs=
github.com/hashicorp/go-azure-sdk v0.20230228.1160358/go.mod h1:lU3F9c+qXc7iqMayTNmUP/VDc0H6f95mkhv4u35zV8I=
github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU=
github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg=
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
Expand Down
6 changes: 5 additions & 1 deletion internal/acceptance/helpers/check_destroyed.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package helpers

import (
"context"
"fmt"
"time"

"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/hashicorp/terraform-provider-azurerm/internal/acceptance/types"
Expand All @@ -11,7 +13,9 @@ import (
// CheckDestroyedFunc returns a TestCheckFunc which validates the resource no longer exists
func CheckDestroyedFunc(client *clients.Client, testResource types.TestResource, resourceType, resourceName string) func(state *terraform.State) error {
return func(state *terraform.State) error {
ctx := client.StopContext
// even with rate limiting - an exists function should never take more than 5m, so should be safe
ctx, cancel := context.WithDeadline(client.StopContext, time.Now().Add(5*time.Minute))
defer cancel()

for label, resourceState := range state.RootModule().Resources {
if resourceState.Type != resourceType {
Expand Down
8 changes: 7 additions & 1 deletion internal/acceptance/helpers/delete.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package helpers

import (
"context"
"fmt"
"time"

"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/hashicorp/terraform-provider-azurerm/internal/acceptance/types"
Expand All @@ -12,7 +14,11 @@ import (
// this is only used within the Internal
func DeleteResourceFunc(client *clients.Client, testResource types.TestResourceVerifyingRemoved, resourceName string) func(state *terraform.State) error {
return func(state *terraform.State) error {
ctx := client.StopContext
// @tombuildsstuff: the delete function shouldn't take more than an hour
// on the off-chance that it's not for a given resource, we may want to add an optional interface
// to return the deletion timeout, rather than extending this for all resources
ctx, cancel := context.WithDeadline(client.StopContext, time.Now().Add(1*time.Hour))
defer cancel()

rs, ok := state.RootModule().Resources[resourceName]
if !ok {
Expand Down
6 changes: 5 additions & 1 deletion internal/acceptance/helpers/exists.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package helpers

import (
"context"
"fmt"
"time"

"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/hashicorp/terraform-provider-azurerm/internal/acceptance/types"
Expand All @@ -20,7 +22,9 @@ func ExistsInAzure(client *clients.Client, testResource types.TestResource, reso
func existsFunc(shouldExist bool) func(*clients.Client, types.TestResource, string) pluginsdk.TestCheckFunc {
return func(client *clients.Client, testResource types.TestResource, resourceName string) pluginsdk.TestCheckFunc {
return func(s *terraform.State) error {
ctx := client.StopContext
// even with rate limiting - an exists function should never take more than 5m, so should be safe
ctx, cancel := context.WithDeadline(client.StopContext, time.Now().Add(5*time.Minute))
defer cancel()

rs, ok := s.RootModule().Resources[resourceName]
if !ok {
Expand Down
15 changes: 12 additions & 3 deletions internal/clients/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package clients

import (
"context"
"fmt"

"github.com/Azure/go-autorest/autorest"
"github.com/Azure/go-autorest/autorest/validation"
Expand Down Expand Up @@ -261,6 +262,8 @@ func (client *Client) Build(ctx context.Context, o *common.ClientOptions) error
client.Features = o.Features
client.StopContext = ctx

var err error

client.AadB2c = aadb2c.NewClient(o)
client.Advisor = advisor.NewClient(o)
client.AnalysisServices = analysisServices.NewClient(o)
Expand Down Expand Up @@ -300,7 +303,9 @@ func (client *Client) Build(ctx context.Context, o *common.ClientOptions) error
client.DevTestLabs = devtestlabs.NewClient(o)
client.DigitalTwins = digitaltwins.NewClient(o)
client.Disks = disks.NewClient(o)
client.Dns = dns.NewClient(o)
if client.Dns, err = dns.NewClient(o); err != nil {
return fmt.Errorf("building clients for Dns: %+v", err)
}
client.DomainServices = domainservices.NewClient(o)
client.Elastic = elastic.NewClient(o)
client.EventGrid = eventgrid.NewClient(o)
Expand Down Expand Up @@ -329,7 +334,9 @@ func (client *Client) Build(ctx context.Context, o *common.ClientOptions) error
client.Maintenance = maintenance.NewClient(o)
client.ManagedApplication = managedapplication.NewClient(o)
client.ManagementGroups = managementgroup.NewClient(o)
client.Maps = maps.NewClient(o)
if client.Maps, err = maps.NewClient(o); err != nil {
return fmt.Errorf("building clients for Maps: %+v", err)
}
client.MariaDB = mariadb.NewClient(o)
client.Media = media.NewClient(o)
client.MixedReality = mixedreality.NewClient(o)
Expand Down Expand Up @@ -361,7 +368,9 @@ func (client *Client) Build(ctx context.Context, o *common.ClientOptions) error
client.ServiceConnector = serviceConnector.NewClient(o)
client.ServiceFabric = serviceFabric.NewClient(o)
client.ServiceFabricManaged = serviceFabricManaged.NewClient(o)
client.SignalR = signalr.NewClient(o)
if client.SignalR, err = signalr.NewClient(o); err != nil {
return fmt.Errorf("building clients for SignalR: %+v", err)
}
client.Sql = sql.NewClient(o)
client.Storage = storage.NewClient(o)
client.StreamAnalytics = streamAnalytics.NewClient(o)
Expand Down
1 change: 1 addition & 0 deletions internal/common/client_options.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ type ClientOptions struct {
func (o ClientOptions) Configure(c *resourcemanager.Client, authorizer auth.Authorizer) {
c.Authorizer = authorizer
c.UserAgent = userAgent(c.UserAgent, o.TerraformVersion, o.PartnerId, o.DisableTerraformPartnerID)
// TODO: configure logging
}

// ConfigureClient sets up an autorest.Client using an autorest.Authorizer
Expand Down
13 changes: 8 additions & 5 deletions internal/services/dns/client/client.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package client

import (
"github.com/Azure/go-autorest/autorest"
dns_v2018_05_01 "github.com/hashicorp/go-azure-sdk/resource-manager/dns/2018-05-01"
"github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager"
"github.com/hashicorp/terraform-provider-azurerm/internal/common"
)

func NewClient(o *common.ClientOptions) *dns_v2018_05_01.Client {
client := dns_v2018_05_01.NewClientWithBaseURI(o.ResourceManagerEndpoint, func(c *autorest.Client) {
c.Authorizer = o.ResourceManagerAuthorizer
func NewClient(o *common.ClientOptions) (*dns_v2018_05_01.Client, error) {
client, err := dns_v2018_05_01.NewClientWithBaseURI(o.Environment.ResourceManager, func(c *resourcemanager.Client) {
o.Configure(c, o.Authorizers.ResourceManager)
})
return &client
if err != nil {
return nil, err
}
return client, nil
}
22 changes: 14 additions & 8 deletions internal/services/maps/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,21 @@ type Client struct {
CreatorsClient *creators.CreatorsClient
}

func NewClient(o *common.ClientOptions) *Client {
accountsClient := accounts.NewAccountsClientWithBaseURI(o.ResourceManagerEndpoint)
o.ConfigureClient(&accountsClient.Client, o.ResourceManagerAuthorizer)
func NewClient(o *common.ClientOptions) (*Client, error) {
accountsClient, err := accounts.NewAccountsClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, err
}
o.Configure(accountsClient.Client, o.Authorizers.ResourceManager)

creatorsClient := creators.NewCreatorsClientWithBaseURI(o.ResourceManagerEndpoint)
o.ConfigureClient(&creatorsClient.Client, o.ResourceManagerAuthorizer)
creatorsClient, err := creators.NewCreatorsClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, err
}
o.Configure(creatorsClient.Client, o.Authorizers.ResourceManager)

return &Client{
AccountsClient: &accountsClient,
CreatorsClient: &creatorsClient,
}
AccountsClient: accountsClient,
CreatorsClient: creatorsClient,
}, nil
}
13 changes: 8 additions & 5 deletions internal/services/signalr/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,19 @@ type Client struct {
WebPubSubClient *webpubsub_v2021_10_01.Client
}

func NewClient(o *common.ClientOptions) *Client {
signalRClient := signalr.NewSignalRClientWithBaseURI(o.ResourceManagerEndpoint)
o.ConfigureClient(&signalRClient.Client, o.ResourceManagerAuthorizer)
func NewClient(o *common.ClientOptions) (*Client, error) {
signalRClient, err := signalr.NewSignalRClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, err
}
o.Configure(signalRClient.Client, o.Authorizers.ResourceManager)

webPubSubClient := webpubsub_v2021_10_01.NewClientWithBaseURI(o.ResourceManagerEndpoint, func(c *autorest.Client) {
c.Authorizer = o.ResourceManagerAuthorizer
})

return &Client{
SignalRClient: &signalRClient,
SignalRClient: signalRClient,
WebPubSubClient: &webPubSubClient,
}
}, nil
}
4 changes: 2 additions & 2 deletions internal/services/signalr/signalr_service_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -316,8 +316,8 @@ func resourceArmSignalRServiceDelete(d *pluginsdk.ResourceData, meta interface{}
return fmt.Errorf("deleting %s: %+v", *id, err)
}

if err := future.Poller.PollUntilDone(); err != nil {
if !response.WasNotFound(future.Poller.HttpResponse) {
if err := future.Poller.PollUntilDone(ctx); err != nil {
if r := future.Poller.LatestResponse(); r == nil || !response.WasNotFound(r.Response) {
return fmt.Errorf("waiting for deletion of %s: %+v", *id, err)
}
}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit cbe804c

Please sign in to comment.