Skip to content

Commit 2577270

Browse files
committed
chore: Migrate from tfsdk to new go packages
See [1] for more information on these changes. [1]: hashicorp/terraform-plugin-framework#432
1 parent 8524bf0 commit 2577270

File tree

4 files changed

+44
-37
lines changed

4 files changed

+44
-37
lines changed

internal/provider/geofencing_resource.go

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ import (
77

88
"github.com/hashicorp/terraform-plugin-framework/diag"
99
"github.com/hashicorp/terraform-plugin-framework/path"
10+
"github.com/hashicorp/terraform-plugin-framework/provider"
11+
"github.com/hashicorp/terraform-plugin-framework/resource"
1012
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
1113
"github.com/hashicorp/terraform-plugin-framework/types"
1214
)
1315

1416
// Ensure provider defined types fully satisfy framework interfaces
15-
var _ tfsdk.ResourceType = geofencingResourceType{}
16-
var _ tfsdk.Resource = geofencingResource{}
17-
var _ tfsdk.ResourceWithImportState = geofencingResource{}
17+
var _ provider.ResourceType = geofencingResourceType{}
18+
var _ resource.Resource = geofencingResource{}
19+
var _ resource.ResourceWithImportState = geofencingResource{}
1820

1921
type geofencingResourceType struct{}
2022

@@ -43,7 +45,7 @@ func (geofencingResourceType) GetSchema(_ context.Context) (tfsdk.Schema, diag.D
4345
}, nil
4446
}
4547

46-
func (geofencingResourceType) NewResource(_ context.Context, in tfsdk.Provider) (tfsdk.Resource, diag.Diagnostics) {
48+
func (geofencingResourceType) NewResource(_ context.Context, in provider.Provider) (resource.Resource, diag.Diagnostics) {
4749
provider, diags := convertProviderType(in)
4850

4951
return geofencingResource{
@@ -58,10 +60,10 @@ type geofencingResourceData struct {
5860
}
5961

6062
type geofencingResource struct {
61-
provider provider
63+
provider tadoProvider
6264
}
6365

64-
func (r geofencingResource) Create(ctx context.Context, req tfsdk.CreateResourceRequest, resp *tfsdk.CreateResourceResponse) {
66+
func (r geofencingResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) {
6567
var data geofencingResourceData
6668

6769
diags := req.Config.Get(ctx, &data)
@@ -120,7 +122,7 @@ func (r geofencingResource) Create(ctx context.Context, req tfsdk.CreateResource
120122
resp.Diagnostics.Append(diags...)
121123
}
122124

123-
func (r geofencingResource) Read(ctx context.Context, req tfsdk.ReadResourceRequest, resp *tfsdk.ReadResourceResponse) {
125+
func (r geofencingResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
124126
var data geofencingResourceData
125127

126128
diags := req.State.Get(ctx, &data)
@@ -162,7 +164,7 @@ func (r geofencingResource) Read(ctx context.Context, req tfsdk.ReadResourceRequ
162164
resp.Diagnostics.Append(diags...)
163165
}
164166

165-
func (r geofencingResource) Update(ctx context.Context, req tfsdk.UpdateResourceRequest, resp *tfsdk.UpdateResourceResponse) {
167+
func (r geofencingResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) {
166168
var data geofencingResourceData
167169

168170
diags := req.Plan.Get(ctx, &data)
@@ -221,7 +223,7 @@ func (r geofencingResource) Update(ctx context.Context, req tfsdk.UpdateResource
221223
resp.Diagnostics.Append(diags...)
222224
}
223225

224-
func (geofencingResource) Delete(ctx context.Context, req tfsdk.DeleteResourceRequest, resp *tfsdk.DeleteResourceResponse) {
226+
func (geofencingResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) {
225227
var data geofencingResourceData
226228

227229
diags := req.State.Get(ctx, &data)
@@ -234,6 +236,6 @@ func (geofencingResource) Delete(ctx context.Context, req tfsdk.DeleteResourceRe
234236
// No deletion necesary on tado api.
235237
}
236238

237-
func (geofencingResource) ImportState(ctx context.Context, req tfsdk.ImportResourceStateRequest, resp *tfsdk.ImportResourceStateResponse) {
238-
tfsdk.ResourceImportStatePassthroughID(ctx, path.Root("home_name"), req, resp)
239+
func (geofencingResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) {
240+
resource.ImportStatePassthroughID(ctx, path.Root("home_name"), req, resp)
239241
}

internal/provider/home_data_source.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@ import (
44
"context"
55
"fmt"
66

7+
"github.com/hashicorp/terraform-plugin-framework/datasource"
78
"github.com/hashicorp/terraform-plugin-framework/diag"
9+
"github.com/hashicorp/terraform-plugin-framework/provider"
810
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
911
"github.com/hashicorp/terraform-plugin-framework/types"
1012
)
1113

1214
// Ensure provider defined types fully satisfy framework interfaces
13-
var _ tfsdk.DataSourceType = homeDataSourceType{}
14-
var _ tfsdk.DataSource = homeDataSource{}
15+
var _ provider.DataSourceType = homeDataSourceType{}
16+
var _ datasource.DataSource = homeDataSource{}
1517

1618
type homeDataSourceType struct{}
1719

@@ -95,7 +97,7 @@ func (homeDataSourceType) GetSchema(_ context.Context) (tfsdk.Schema, diag.Diagn
9597
}, nil
9698
}
9799

98-
func (homeDataSourceType) NewDataSource(_ context.Context, in tfsdk.Provider) (tfsdk.DataSource, diag.Diagnostics) {
100+
func (homeDataSourceType) NewDataSource(_ context.Context, in provider.Provider) (datasource.DataSource, diag.Diagnostics) {
99101
provider, diags := convertProviderType(in)
100102

101103
return homeDataSource{
@@ -121,10 +123,10 @@ type homeDataSourceData struct {
121123
}
122124

123125
type homeDataSource struct {
124-
provider provider
126+
provider tadoProvider
125127
}
126128

127-
func (d homeDataSource) Read(ctx context.Context, req tfsdk.ReadDataSourceRequest, resp *tfsdk.ReadDataSourceResponse) {
129+
func (d homeDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
128130
var data homeDataSourceData
129131

130132
diags := req.Config.Get(ctx, &data)

internal/provider/provider.go

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77

88
"github.com/gonzolino/gotado/v2"
99
"github.com/hashicorp/terraform-plugin-framework/diag"
10+
"github.com/hashicorp/terraform-plugin-framework/provider"
1011
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
1112
"github.com/hashicorp/terraform-plugin-framework/types"
1213
)
@@ -18,11 +19,11 @@ const (
1819
)
1920

2021
// Ensure provider defined types fully satisfy framework interfaces
21-
var _ tfsdk.Provider = &provider{}
22+
var _ provider.Provider = &tadoProvider{}
2223

23-
// provider satisfies the tfsdk.Provider interface and usually is included
24+
// tadoProvider satisfies the provider.Provider interface and usually is included
2425
// with all Resource and DataSource implementations.
25-
type provider struct {
26+
type tadoProvider struct {
2627
// client can contain the upstream provider SDK or HTTP client used to
2728
// communicate with the upstream service. Resource and DataSource
2829
// implementations can then make calls using this client.
@@ -48,7 +49,7 @@ type providerData struct {
4849
Password types.String `tfsdk:"password"`
4950
}
5051

51-
func (p *provider) Configure(ctx context.Context, req tfsdk.ConfigureProviderRequest, resp *tfsdk.ConfigureProviderResponse) {
52+
func (p *tadoProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse) {
5253
var data providerData
5354
diags := req.Config.Get(ctx, &data)
5455
resp.Diagnostics.Append(diags...)
@@ -94,20 +95,20 @@ func (p *provider) Configure(ctx context.Context, req tfsdk.ConfigureProviderReq
9495
p.configured = true
9596
}
9697

97-
func (p *provider) GetResources(ctx context.Context) (map[string]tfsdk.ResourceType, diag.Diagnostics) {
98-
return map[string]tfsdk.ResourceType{
98+
func (p *tadoProvider) GetResources(_ context.Context) (map[string]provider.ResourceType, diag.Diagnostics) {
99+
return map[string]provider.ResourceType{
99100
"tado_geofencing": geofencingResourceType{},
100101
}, nil
101102
}
102103

103-
func (p *provider) GetDataSources(ctx context.Context) (map[string]tfsdk.DataSourceType, diag.Diagnostics) {
104-
return map[string]tfsdk.DataSourceType{
104+
func (p *tadoProvider) GetDataSources(_ context.Context) (map[string]provider.DataSourceType, diag.Diagnostics) {
105+
return map[string]provider.DataSourceType{
105106
"tado_home": homeDataSourceType{},
106107
"tado_zone": zoneDataSourceType{},
107108
}, nil
108109
}
109110

110-
func (p *provider) GetSchema(ctx context.Context) (tfsdk.Schema, diag.Diagnostics) {
111+
func (p *tadoProvider) GetSchema(_ context.Context) (tfsdk.Schema, diag.Diagnostics) {
111112
return tfsdk.Schema{
112113
Attributes: map[string]tfsdk.Attribute{
113114
"username": {
@@ -125,9 +126,9 @@ func (p *provider) GetSchema(ctx context.Context) (tfsdk.Schema, diag.Diagnostic
125126
}, nil
126127
}
127128

128-
func New(version string) func() tfsdk.Provider {
129-
return func() tfsdk.Provider {
130-
return &provider{
129+
func New(version string) func() provider.Provider {
130+
return func() provider.Provider {
131+
return &tadoProvider{
131132
version: version,
132133
}
133134
}
@@ -138,25 +139,25 @@ func New(version string) func() tfsdk.Provider {
138139
// this helper can be skipped and the provider type can be directly type
139140
// asserted (e.g. provider: in.(*provider)), however using this can prevent
140141
// potential panics.
141-
func convertProviderType(in tfsdk.Provider) (provider, diag.Diagnostics) {
142+
func convertProviderType(in provider.Provider) (tadoProvider, diag.Diagnostics) {
142143
var diags diag.Diagnostics
143144

144-
p, ok := in.(*provider)
145+
p, ok := in.(*tadoProvider)
145146

146147
if !ok {
147148
diags.AddError(
148149
"Unexpected Provider Instance Type",
149150
fmt.Sprintf("While creating the data source or resource, an unexpected provider type (%T) was received. This is always a bug in the provider code and should be reported to the provider developers.", p),
150151
)
151-
return provider{}, diags
152+
return tadoProvider{}, diags
152153
}
153154

154155
if p == nil {
155156
diags.AddError(
156157
"Unexpected Provider Instance Type",
157158
"While creating the data source or resource, an unexpected empty provider instance was received. This is always a bug in the provider code and should be reported to the provider developers.",
158159
)
159-
return provider{}, diags
160+
return tadoProvider{}, diags
160161
}
161162

162163
return *p, diags

internal/provider/zone_data_source.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@ import (
44
"context"
55
"fmt"
66

7+
"github.com/hashicorp/terraform-plugin-framework/datasource"
78
"github.com/hashicorp/terraform-plugin-framework/diag"
9+
"github.com/hashicorp/terraform-plugin-framework/provider"
810
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
911
"github.com/hashicorp/terraform-plugin-framework/types"
1012
)
1113

1214
// Ensure provider defined types fully satisfy framework interfaces
13-
var _ tfsdk.DataSourceType = zoneDataSourceType{}
14-
var _ tfsdk.DataSource = zoneDataSource{}
15+
var _ provider.DataSourceType = zoneDataSourceType{}
16+
var _ datasource.DataSource = zoneDataSource{}
1517

1618
type zoneDataSourceType struct{}
1719

@@ -60,7 +62,7 @@ func (zoneDataSourceType) GetSchema(_ context.Context) (tfsdk.Schema, diag.Diagn
6062
}, nil
6163
}
6264

63-
func (zoneDataSourceType) NewDataSource(_ context.Context, in tfsdk.Provider) (tfsdk.DataSource, diag.Diagnostics) {
65+
func (zoneDataSourceType) NewDataSource(_ context.Context, in provider.Provider) (datasource.DataSource, diag.Diagnostics) {
6466
provider, diags := convertProviderType(in)
6567

6668
return zoneDataSource{
@@ -79,10 +81,10 @@ type zoneDataSourceData struct {
7981
}
8082

8183
type zoneDataSource struct {
82-
provider provider
84+
provider tadoProvider
8385
}
8486

85-
func (d zoneDataSource) Read(ctx context.Context, req tfsdk.ReadDataSourceRequest, resp *tfsdk.ReadDataSourceResponse) {
87+
func (d zoneDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
8688
var data zoneDataSourceData
8789

8890
diags := req.Config.Get(ctx, &data)

0 commit comments

Comments
 (0)