Skip to content

Commit 6171e27

Browse files
committed
updates and fixes
1 parent b98ee32 commit 6171e27

9 files changed

Lines changed: 366 additions & 324 deletions
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package custompollers
2+
3+
import (
4+
"context"
5+
"fmt"
6+
"strings"
7+
"time"
8+
9+
"github.com/hashicorp/go-azure-sdk/resource-manager/resources/2021-07-01/features"
10+
"github.com/hashicorp/go-azure-sdk/sdk/client/pollers"
11+
)
12+
13+
var _ pollers.PollerType = &ResourceProviderFeatureRegistrationPoller{}
14+
15+
func NewResourceProviderFeatureRegistrationPoller(client *features.FeaturesClient, id features.FeatureId, target string) *ResourceProviderFeatureRegistrationPoller {
16+
return &ResourceProviderFeatureRegistrationPoller{
17+
client: client,
18+
id: id,
19+
targetState: target,
20+
}
21+
}
22+
23+
type ResourceProviderFeatureRegistrationPoller struct {
24+
client *features.FeaturesClient
25+
id features.FeatureId
26+
targetState string
27+
}
28+
29+
func (p *ResourceProviderFeatureRegistrationPoller) Poll(ctx context.Context) (*pollers.PollResult, error) {
30+
resp, err := p.client.Get(ctx, p.id)
31+
if err != nil {
32+
return nil, fmt.Errorf("retrieving %s: %+v", p.id, err)
33+
}
34+
35+
if resp.Model == nil || resp.Model.Properties == nil || resp.Model.Properties.State == nil {
36+
return nil, fmt.Errorf("retrieving %s: unable to determine registration state", p.id)
37+
}
38+
39+
if strings.EqualFold(*resp.Model.Properties.State, p.targetState) {
40+
return &pollers.PollResult{
41+
Status: pollers.PollingStatusSucceeded,
42+
PollInterval: 10 * time.Second,
43+
}, nil
44+
}
45+
46+
return &pollers.PollResult{
47+
Status: pollers.PollingStatusInProgress,
48+
PollInterval: 10 * time.Second,
49+
}, nil
50+
}

internal/services/resource/registration.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,12 @@ func (r Registration) DataSources() []sdk.DataSource {
7171
// Resources returns a list of Resources supported by this Service
7272
func (r Registration) Resources() []sdk.Resource {
7373
return []sdk.Resource{
74+
ResourceDeploymentScriptAzureCliResource{},
75+
ResourceDeploymentScriptAzurePowerShellResource{},
7476
ResourceManagementPrivateLinkAssociationResource{},
75-
ResourceProviderRegistrationResource{},
76-
ResourceProviderFeatureRegistrationResource{},
7777
ResourceManagementPrivateLinkResource{},
78-
ResourceDeploymentScriptAzurePowerShellResource{},
79-
ResourceDeploymentScriptAzureCliResource{},
78+
ResourceProviderFeatureRegistrationResource{},
79+
ResourceProviderRegistrationResource{},
8080
}
8181
}
8282

internal/services/resource/resource_feature_registration_resource_test.go

Lines changed: 0 additions & 184 deletions
This file was deleted.

0 commit comments

Comments
 (0)