Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(framework): fix breaking changes with terraform plugin framework v0.11.1 #85

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 7 additions & 5 deletions internal/provider/data_source_jira_issue_field_configuration.go
Expand Up @@ -5,16 +5,18 @@ import (
"fmt"
"strconv"

"github.com/hashicorp/terraform-plugin-framework/datasource"
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/path"
"github.com/hashicorp/terraform-plugin-framework/provider"
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
)

type (
jiraIssueFieldConfigurationDataSource struct {
p provider
p atlassianProvider
}

jiraIssueFieldConfigurationDataSourceType struct{}
Expand All @@ -27,8 +29,8 @@ type (
)

var (
_ tfsdk.DataSource = (*jiraIssueFieldConfigurationDataSource)(nil)
_ tfsdk.DataSourceType = (*jiraIssueFieldConfigurationDataSourceType)(nil)
_ datasource.DataSource = (*jiraIssueFieldConfigurationDataSource)(nil)
_ provider.DataSourceType = (*jiraIssueFieldConfigurationDataSourceType)(nil)
)

func (d *jiraIssueFieldConfigurationDataSourceType) GetSchema(_ context.Context) (tfsdk.Schema, diag.Diagnostics) {
Expand All @@ -55,7 +57,7 @@ func (d *jiraIssueFieldConfigurationDataSourceType) GetSchema(_ context.Context)
}, nil
}

func (d *jiraIssueFieldConfigurationDataSourceType) NewDataSource(_ context.Context, in tfsdk.Provider) (tfsdk.DataSource, diag.Diagnostics) {
func (d *jiraIssueFieldConfigurationDataSourceType) NewDataSource(_ context.Context, in provider.Provider) (datasource.DataSource, diag.Diagnostics) {
provider, diags := convertProviderType(in)

return &jiraIssueFieldConfigurationDataSource{
Expand All @@ -64,7 +66,7 @@ func (d *jiraIssueFieldConfigurationDataSourceType) NewDataSource(_ context.Cont

}

func (d *jiraIssueFieldConfigurationDataSource) Read(ctx context.Context, req tfsdk.ReadDataSourceRequest, resp *tfsdk.ReadDataSourceResponse) {
func (d *jiraIssueFieldConfigurationDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
tflog.Debug(ctx, "Reading issue field configuration")

var newState jiraIssueFieldConfigurationDataSourceModel
Expand Down
12 changes: 7 additions & 5 deletions internal/provider/data_source_jira_issue_screen.go
Expand Up @@ -5,8 +5,10 @@ import (
"fmt"
"strconv"

"github.com/hashicorp/terraform-plugin-framework/datasource"
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/path"
"github.com/hashicorp/terraform-plugin-framework/provider"
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
Expand All @@ -15,7 +17,7 @@ import (
type (
jiraIssueScreenDataSourceType struct{}
jiraIssueScreenDataSource struct {
p provider
p atlassianProvider
}
jiraIssueScreenDataSourceModel struct {
ID types.String `tfsdk:"id"`
Expand All @@ -25,8 +27,8 @@ type (
)

var (
_ tfsdk.DataSourceType = jiraIssueScreenDataSourceType{}
_ tfsdk.DataSource = jiraIssueScreenDataSource{}
_ provider.DataSourceType = jiraIssueScreenDataSourceType{}
_ datasource.DataSource = jiraIssueScreenDataSource{}
)

func (jiraIssueScreenDataSourceType) GetSchema(context.Context) (tfsdk.Schema, diag.Diagnostics) {
Expand Down Expand Up @@ -56,15 +58,15 @@ func (jiraIssueScreenDataSourceType) GetSchema(context.Context) (tfsdk.Schema, d
}, nil
}

func (d jiraIssueScreenDataSourceType) NewDataSource(ctx context.Context, in tfsdk.Provider) (tfsdk.DataSource, diag.Diagnostics) {
func (d jiraIssueScreenDataSourceType) NewDataSource(ctx context.Context, in provider.Provider) (datasource.DataSource, diag.Diagnostics) {
provider, diags := convertProviderType(in)

return jiraIssueScreenDataSource{
p: provider,
}, diags
}

func (d jiraIssueScreenDataSource) Read(ctx context.Context, req tfsdk.ReadDataSourceRequest, resp *tfsdk.ReadDataSourceResponse) {
func (d jiraIssueScreenDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
tflog.Debug(ctx, "Reading issue screen")
var newState jiraIssueScreenDataSourceModel
resp.Diagnostics.Append(req.Config.Get(ctx, &newState)...)
Expand Down
12 changes: 7 additions & 5 deletions internal/provider/data_source_jira_issue_type.go
Expand Up @@ -4,13 +4,15 @@ import (
"context"
"fmt"

"github.com/hashicorp/terraform-plugin-framework/datasource"
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/provider"
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
"github.com/hashicorp/terraform-plugin-framework/types"
)

var _ tfsdk.DataSourceType = jiraIssueTypeDataSourceType{}
var _ tfsdk.DataSource = jiraIssueTypeDataSource{}
var _ provider.DataSourceType = jiraIssueTypeDataSourceType{}
var _ datasource.DataSource = jiraIssueTypeDataSource{}

type jiraIssueTypeDataSourceType struct{}

Expand All @@ -24,7 +26,7 @@ type jiraIssueTypeDataSourceData struct {
}

type jiraIssueTypeDataSource struct {
p provider
p atlassianProvider
}

func (t jiraIssueTypeDataSourceType) GetSchema(ctx context.Context) (tfsdk.Schema, diag.Diagnostics) {
Expand Down Expand Up @@ -67,15 +69,15 @@ func (t jiraIssueTypeDataSourceType) GetSchema(ctx context.Context) (tfsdk.Schem
}, nil
}

func (t jiraIssueTypeDataSourceType) NewDataSource(ctx context.Context, in tfsdk.Provider) (tfsdk.DataSource, diag.Diagnostics) {
func (t jiraIssueTypeDataSourceType) NewDataSource(ctx context.Context, in provider.Provider) (datasource.DataSource, diag.Diagnostics) {
provider, diags := convertProviderType(in)

return jiraIssueTypeDataSource{
p: provider,
}, diags
}

func (d jiraIssueTypeDataSource) Read(ctx context.Context, req tfsdk.ReadDataSourceRequest, resp *tfsdk.ReadDataSourceResponse) {
func (d jiraIssueTypeDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
var data jiraIssueTypeDataSourceData

diags := req.Config.Get(ctx, &data)
Expand Down
12 changes: 7 additions & 5 deletions internal/provider/data_source_jira_issue_type_scheme.go
Expand Up @@ -5,13 +5,15 @@ import (
"fmt"
"strconv"

"github.com/hashicorp/terraform-plugin-framework/datasource"
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/provider"
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
"github.com/hashicorp/terraform-plugin-framework/types"
)

var _ tfsdk.DataSourceType = jiraIssueTypeSchemeDataSourceType{}
var _ tfsdk.DataSource = jiraIssueTypeSchemeDataSource{}
var _ provider.DataSourceType = jiraIssueTypeSchemeDataSourceType{}
var _ datasource.DataSource = jiraIssueTypeSchemeDataSource{}

type jiraIssueTypeSchemeDataSourceType struct{}

Expand All @@ -24,7 +26,7 @@ type jiraIssueTypeSchemeDataSourceData struct {
}

type jiraIssueTypeSchemeDataSource struct {
p provider
p atlassianProvider
}

func (t jiraIssueTypeSchemeDataSourceType) GetSchema(ctx context.Context) (tfsdk.Schema, diag.Diagnostics) {
Expand Down Expand Up @@ -64,15 +66,15 @@ func (t jiraIssueTypeSchemeDataSourceType) GetSchema(ctx context.Context) (tfsdk
}, nil
}

func (t jiraIssueTypeSchemeDataSourceType) NewDataSource(ctx context.Context, in tfsdk.Provider) (tfsdk.DataSource, diag.Diagnostics) {
func (t jiraIssueTypeSchemeDataSourceType) NewDataSource(ctx context.Context, in provider.Provider) (datasource.DataSource, diag.Diagnostics) {
provider, diags := convertProviderType(in)

return jiraIssueTypeSchemeDataSource{
p: provider,
}, diags
}

func (d jiraIssueTypeSchemeDataSource) Read(ctx context.Context, req tfsdk.ReadDataSourceRequest, resp *tfsdk.ReadDataSourceResponse) {
func (d jiraIssueTypeSchemeDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
var data jiraIssueTypeSchemeDataSourceData

diags := req.Config.Get(ctx, &data)
Expand Down
12 changes: 7 additions & 5 deletions internal/provider/data_source_jira_issue_type_screen_scheme.go
Expand Up @@ -5,16 +5,18 @@ import (
"fmt"
"strconv"

"github.com/hashicorp/terraform-plugin-framework/datasource"
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/path"
"github.com/hashicorp/terraform-plugin-framework/provider"
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
)

type (
jiraIssueTypeScreenSchemeDataSource struct {
p provider
p atlassianProvider
}

jiraIssueTypeScreenSchemeDataSourceType struct{}
Expand All @@ -28,8 +30,8 @@ type (
)

var (
_ tfsdk.DataSource = (*jiraIssueTypeScreenSchemeDataSource)(nil)
_ tfsdk.DataSourceType = (*jiraIssueTypeScreenSchemeDataSourceType)(nil)
_ datasource.DataSource = (*jiraIssueTypeScreenSchemeDataSource)(nil)
_ provider.DataSourceType = (*jiraIssueTypeScreenSchemeDataSourceType)(nil)
)

func (d *jiraIssueTypeScreenSchemeDataSourceType) GetSchema(_ context.Context) (tfsdk.Schema, diag.Diagnostics) {
Expand Down Expand Up @@ -81,15 +83,15 @@ func (d *jiraIssueTypeScreenSchemeDataSourceType) GetSchema(_ context.Context) (
}, nil
}

func (d *jiraIssueTypeScreenSchemeDataSourceType) NewDataSource(_ context.Context, in tfsdk.Provider) (tfsdk.DataSource, diag.Diagnostics) {
func (d *jiraIssueTypeScreenSchemeDataSourceType) NewDataSource(_ context.Context, in provider.Provider) (datasource.DataSource, diag.Diagnostics) {
provider, diags := convertProviderType(in)

return &jiraIssueTypeScreenSchemeDataSource{
p: provider,
}, diags
}

func (d *jiraIssueTypeScreenSchemeDataSource) Read(ctx context.Context, req tfsdk.ReadDataSourceRequest, resp *tfsdk.ReadDataSourceResponse) {
func (d *jiraIssueTypeScreenSchemeDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
tflog.Debug(ctx, "Reading issue type screen scheme")

var newState jiraIssueTypeScreenSchemeDataSourceModel
Expand Down
12 changes: 7 additions & 5 deletions internal/provider/data_source_jira_screen_scheme.go
Expand Up @@ -5,16 +5,18 @@ import (
"fmt"
"strconv"

"github.com/hashicorp/terraform-plugin-framework/datasource"
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/path"
"github.com/hashicorp/terraform-plugin-framework/provider"
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/hashicorp/terraform-plugin-log/tflog"
)

type (
jiraScreenSchemeDataSource struct {
p provider
p atlassianProvider
}

jiraScreenSchemeDataSourceType struct{}
Expand All @@ -28,8 +30,8 @@ type (
)

var (
_ tfsdk.DataSource = (*jiraScreenSchemeDataSource)(nil)
_ tfsdk.DataSourceType = (*jiraScreenSchemeDataSourceType)(nil)
_ datasource.DataSource = (*jiraScreenSchemeDataSource)(nil)
_ provider.DataSourceType = (*jiraScreenSchemeDataSourceType)(nil)
)

func (d *jiraScreenSchemeDataSourceType) GetSchema(_ context.Context) (tfsdk.Schema, diag.Diagnostics) {
Expand Down Expand Up @@ -88,15 +90,15 @@ func (d *jiraScreenSchemeDataSourceType) GetSchema(_ context.Context) (tfsdk.Sch
}, nil
}

func (d *jiraScreenSchemeDataSourceType) NewDataSource(_ context.Context, in tfsdk.Provider) (tfsdk.DataSource, diag.Diagnostics) {
func (d *jiraScreenSchemeDataSourceType) NewDataSource(_ context.Context, in provider.Provider) (datasource.DataSource, diag.Diagnostics) {
provider, diags := convertProviderType(in)

return &jiraScreenSchemeDataSource{
p: provider,
}, diags
}

func (d *jiraScreenSchemeDataSource) Read(ctx context.Context, req tfsdk.ReadDataSourceRequest, resp *tfsdk.ReadDataSourceResponse) {
func (d *jiraScreenSchemeDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse) {
tflog.Debug(ctx, "Reading screen scheme")

var newState jiraScreenSchemeDataSourceModel
Expand Down
34 changes: 17 additions & 17 deletions internal/provider/provider.go
Expand Up @@ -6,24 +6,24 @@ import (
"os"

jira "github.com/ctreminiom/go-atlassian/jira/v3"
"github.com/openscientia/terraform-provider-atlassian/internal/provider/attribute_validation"

"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/provider"
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
"github.com/hashicorp/terraform-plugin-framework/types"
"github.com/openscientia/terraform-provider-atlassian/internal/provider/attribute_validation"
)

var _ tfsdk.Provider = &provider{}
var _ provider.Provider = &atlassianProvider{}

type provider struct {
type atlassianProvider struct {
jira *jira.Client

configured bool

version string
}

func (p *provider) GetSchema(ctx context.Context) (tfsdk.Schema, diag.Diagnostics) {
func (p *atlassianProvider) GetSchema(ctx context.Context) (tfsdk.Schema, diag.Diagnostics) {
return tfsdk.Schema{
MarkdownDescription: "Atlassian",

Expand Down Expand Up @@ -62,7 +62,7 @@ type providerData struct {
ApiToken types.String `tfsdk:"apitoken"`
}

func (p *provider) Configure(ctx context.Context, req tfsdk.ConfigureProviderRequest, resp *tfsdk.ConfigureProviderResponse) {
func (p *atlassianProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse) {
var data providerData
diags := req.Config.Get(ctx, &data)
resp.Diagnostics.Append(diags...)
Expand Down Expand Up @@ -158,8 +158,8 @@ func (p *provider) Configure(ctx context.Context, req tfsdk.ConfigureProviderReq
p.configured = true
}

func (p *provider) GetResources(ctx context.Context) (map[string]tfsdk.ResourceType, diag.Diagnostics) {
return map[string]tfsdk.ResourceType{
func (p *atlassianProvider) GetResources(ctx context.Context) (map[string]provider.ResourceType, diag.Diagnostics) {
return map[string]provider.ResourceType{
"atlassian_jira_issue_field_configuration_item": &jiraIssueFieldConfigurationItemResourceType{},
"atlassian_jira_issue_field_configuration": &jiraIssueFieldConfigurationResourceType{},
"atlassian_jira_issue_field_configuration_scheme": &jiraIssueFieldConfigurationSchemeResourceType{},
Expand All @@ -171,8 +171,8 @@ func (p *provider) GetResources(ctx context.Context) (map[string]tfsdk.ResourceT
}, nil
}

func (p *provider) GetDataSources(ctx context.Context) (map[string]tfsdk.DataSourceType, diag.Diagnostics) {
return map[string]tfsdk.DataSourceType{
func (p *atlassianProvider) GetDataSources(ctx context.Context) (map[string]provider.DataSourceType, diag.Diagnostics) {
return map[string]provider.DataSourceType{
"atlassian_jira_issue_field_configuration": &jiraIssueFieldConfigurationDataSourceType{},
"atlassian_jira_issue_screen": jiraIssueScreenDataSourceType{},
"atlassian_jira_issue_type": jiraIssueTypeDataSourceType{},
Expand All @@ -182,9 +182,9 @@ func (p *provider) GetDataSources(ctx context.Context) (map[string]tfsdk.DataSou
}, nil
}

func New(version string) func() tfsdk.Provider {
return func() tfsdk.Provider {
return &provider{
func New(version string) func() provider.Provider {
return func() provider.Provider {
return &atlassianProvider{
version: version,
}
}
Expand All @@ -195,25 +195,25 @@ func New(version string) func() tfsdk.Provider {
// this helper can be skipped and the provider type can be directly type
// asserted (e.g. provider: in.(*provider)), however using this can prevent
// potential panics.
func convertProviderType(in tfsdk.Provider) (provider, diag.Diagnostics) {
func convertProviderType(in provider.Provider) (atlassianProvider, diag.Diagnostics) {
var diags diag.Diagnostics

p, ok := in.(*provider)
p, ok := in.(*atlassianProvider)

if !ok {
diags.AddError(
"Unexpected Provider Instance Type",
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),
)
return provider{}, diags
return atlassianProvider{}, diags
}

if p == nil {
diags.AddError(
"Unexpected Provider Instance Type",
"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.",
)
return provider{}, diags
return atlassianProvider{}, diags
}

return *p, diags
Expand Down