这是indexloc提供的服务,不要输入任何密码
Skip to content

Update to the latest terraform-plugin-framework #84

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

Merged
merged 1 commit into from
Oct 31, 2022
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/vercel/terraform-provider-vercel
go 1.19

require (
github.com/hashicorp/terraform-plugin-framework v0.14.0
github.com/hashicorp/terraform-plugin-framework v0.15.0
github.com/hashicorp/terraform-plugin-go v0.14.0
github.com/hashicorp/terraform-plugin-log v0.7.0
github.com/hashicorp/terraform-plugin-sdk/v2 v2.10.1
Expand Down Expand Up @@ -48,11 +48,11 @@ require (
github.com/vmihailenco/tagparser v0.1.2 // indirect
github.com/zclconf/go-cty v1.10.0 // indirect
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e // indirect
golang.org/x/net v0.0.0-20221004154528-8021a29435af // indirect
golang.org/x/sys v0.0.0-20221006211917-84dc82d7e875 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/net v0.1.0 // indirect
golang.org/x/sys v0.1.0 // indirect
golang.org/x/text v0.4.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20220930163606-c98284e70a91 // indirect
google.golang.org/grpc v1.50.0 // indirect
google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71 // indirect
google.golang.org/grpc v1.50.1 // indirect
google.golang.org/protobuf v1.28.1 // indirect
)
81 changes: 15 additions & 66 deletions go.sum

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions vercel/data_source_alias.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,13 @@ func (d *aliasDataSource) Read(ctx context.Context, req datasource.ReadRequest,
return
}

out, err := d.client.GetAlias(ctx, config.Alias.Value, config.TeamID.Value)
out, err := d.client.GetAlias(ctx, config.Alias.ValueString(), config.TeamID.ValueString())
if err != nil {
resp.Diagnostics.AddError(
"Error reading alias",
fmt.Sprintf("Could not read alias %s %s, unexpected error: %s",
config.TeamID.Value,
config.Alias.Value,
config.TeamID.ValueString(),
config.Alias.ValueString(),
err,
),
)
Expand All @@ -100,8 +100,8 @@ func (d *aliasDataSource) Read(ctx context.Context, req datasource.ReadRequest,

result := convertResponseToAlias(out, config)
tflog.Trace(ctx, "read alias", map[string]interface{}{
"team_id": result.TeamID.Value,
"alias": result.Alias.Value,
"team_id": result.TeamID.ValueString(),
"alias": result.Alias.ValueString(),
})

diags = resp.State.Set(ctx, result)
Expand Down
6 changes: 3 additions & 3 deletions vercel/data_source_file.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,12 @@ func (d *fileDataSource) Read(ctx context.Context, req datasource.ReadRequest, r
return
}

content, err := os.ReadFile(config.Path.Value)
content, err := os.ReadFile(config.Path.ValueString())
if err != nil {
resp.Diagnostics.AddError(
"Error reading file",
fmt.Sprintf("Could not read file %s, unexpected error: %s",
config.Path.Value,
config.Path.ValueString(),
err,
),
)
Expand All @@ -104,7 +104,7 @@ func (d *fileDataSource) Read(ctx context.Context, req datasource.ReadRequest, r
rawSha := sha1.Sum(content)
sha := hex.EncodeToString(rawSha[:])
config.File = map[string]string{
config.Path.Value: fmt.Sprintf("%d~%s", len(content), sha),
config.Path.ValueString(): fmt.Sprintf("%d~%s", len(content), sha),
}
config.ID = config.Path

Expand Down
8 changes: 4 additions & 4 deletions vercel/data_source_prebuilt_project.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,14 @@ func (d *prebuiltProjectDataSource) ValidateConfig(ctx context.Context, req data
return
}

if config.Path.Unknown || config.Path.Null {
if config.Path.IsUnknown() || config.Path.IsNull() {
return
}

// if we know the path, let's do a quick check for prebuilt output valid-ness. i.e. reading the output directory
// and ensuring no build errors.
// We want to validate this both here and in the Read method in case the field is Unknown at plan time.
validatePrebuiltOutput(&resp.Diagnostics, config.Path.Value)
validatePrebuiltOutput(&resp.Diagnostics, config.Path.ValueString())
}

// AddErrorer defines an interface that contains the AddError method. Most commonly used with Diagnostics.
Expand Down Expand Up @@ -181,8 +181,8 @@ func (d *prebuiltProjectDataSource) Read(ctx context.Context, req datasource.Rea
return
}

outputDir := filepath.Join(config.Path.Value, ".vercel", "output")
validatePrebuiltOutput(&resp.Diagnostics, config.Path.Value)
outputDir := filepath.Join(config.Path.ValueString(), ".vercel", "output")
validatePrebuiltOutput(&resp.Diagnostics, config.Path.ValueString())
if resp.Diagnostics.HasError() {
return
}
Expand Down
12 changes: 6 additions & 6 deletions vercel/data_source_project.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,23 +188,23 @@ func (d *projectDataSource) Read(ctx context.Context, req datasource.ReadRequest
return
}

out, err := d.client.GetProject(ctx, config.Name.Value, config.TeamID.Value, true)
out, err := d.client.GetProject(ctx, config.Name.ValueString(), config.TeamID.ValueString(), true)
if err != nil {
resp.Diagnostics.AddError(
"Error reading project",
fmt.Sprintf("Could not read project %s %s, unexpected error: %s",
config.TeamID.Value,
config.Name.Value,
config.TeamID.ValueString(),
config.Name.ValueString(),
err,
),
)
return
}

result := convertResponseToProject(out, config.coercedFields(), types.Set{Null: true})
result := convertResponseToProject(out, config.coercedFields(), types.SetNull(envVariableElemType))
tflog.Trace(ctx, "read project", map[string]interface{}{
"team_id": result.TeamID.Value,
"project_id": result.ID.Value,
"team_id": result.TeamID.ValueString(),
"project_id": result.ID.ValueString(),
})

diags = resp.State.Set(ctx, result)
Expand Down
8 changes: 4 additions & 4 deletions vercel/data_source_project_directory.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ func (d *projectDirectoryDataSource) Read(ctx context.Context, req datasource.Re
return
}

ignoreRules, err := file.GetIgnores(config.Path.Value)
ignoreRules, err := file.GetIgnores(config.Path.ValueString())
if err != nil {
resp.Diagnostics.AddError(
"Error reading .vercelignore file",
Expand All @@ -105,12 +105,12 @@ func (d *projectDirectoryDataSource) Read(ctx context.Context, req datasource.Re
return
}

paths, err := file.GetPaths(config.Path.Value, ignoreRules)
paths, err := file.GetPaths(config.Path.ValueString(), ignoreRules)
if err != nil {
resp.Diagnostics.AddError(
"Error reading directory",
fmt.Sprintf("Could not read files for directory %s, unexpected error: %s",
config.Path.Value,
config.Path.ValueString(),
err,
),
)
Expand All @@ -124,7 +124,7 @@ func (d *projectDirectoryDataSource) Read(ctx context.Context, req datasource.Re
resp.Diagnostics.AddError(
"Error reading file",
fmt.Sprintf("Could not read file %s, unexpected error: %s",
config.Path.Value,
config.Path.ValueString(),
err,
),
)
Expand Down
12 changes: 6 additions & 6 deletions vercel/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,18 +93,18 @@ func (p *vercelProvider) Configure(ctx context.Context, req provider.ConfigureRe

// User must provide an api_token to the provider
var apiToken string
if config.APIToken.Unknown {
if config.APIToken.IsUnknown() {
resp.Diagnostics.AddWarning(
"Unable to create client",
"Cannot use unknown value as api_token",
)
return
}

if config.APIToken.Null {
if config.APIToken.IsNull() {
apiToken = os.Getenv("VERCEL_API_TOKEN")
} else {
apiToken = config.APIToken.Value
apiToken = config.APIToken.ValueString()
}

if apiToken == "" {
Expand All @@ -124,8 +124,8 @@ func (p *vercelProvider) Configure(ctx context.Context, req provider.ConfigureRe
}

vercelClient := client.New(apiToken)
if config.Team.Value != "" {
res, err := vercelClient.GetTeam(ctx, config.Team.Value)
if config.Team.ValueString() != "" {
res, err := vercelClient.GetTeam(ctx, config.Team.ValueString())
if client.NotFound(err) {
resp.Diagnostics.AddError(
"Vercel Team not found",
Expand All @@ -136,7 +136,7 @@ func (p *vercelProvider) Configure(ctx context.Context, req provider.ConfigureRe
if err != nil {
resp.Diagnostics.AddError(
"Unexpected error reading Vercel Team",
fmt.Sprintf("Could not read Vercel Team %s, unexpected error: %s", config.Team.Value, err),
fmt.Sprintf("Could not read Vercel Team %s, unexpected error: %s", config.Team.ValueString(), err),
)
return
}
Expand Down
28 changes: 14 additions & 14 deletions vercel/resource_alias.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ func (r *aliasResource) Create(ctx context.Context, req resource.CreateRequest,
}

out, err := r.client.CreateAlias(ctx, client.CreateAliasRequest{
Alias: plan.Alias.Value,
}, plan.DeploymentID.Value, plan.TeamID.Value)
Alias: plan.Alias.ValueString(),
}, plan.DeploymentID.ValueString(), plan.TeamID.ValueString())
if err != nil {
resp.Diagnostics.AddError(
"Error creating alias",
Expand All @@ -100,9 +100,9 @@ func (r *aliasResource) Create(ctx context.Context, req resource.CreateRequest,

result := convertResponseToAlias(out, plan)
tflog.Trace(ctx, "created alias", map[string]interface{}{
"team_id": plan.TeamID.Value,
"deployment_id": plan.DeploymentID.Value,
"alias_id": result.ID.Value,
"team_id": plan.TeamID.ValueString(),
"deployment_id": plan.DeploymentID.ValueString(),
"alias_id": result.ID.ValueString(),
})

diags = resp.State.Set(ctx, result)
Expand All @@ -122,7 +122,7 @@ func (r *aliasResource) Read(ctx context.Context, req resource.ReadRequest, resp
return
}

out, err := r.client.GetAlias(ctx, state.ID.Value, state.TeamID.Value)
out, err := r.client.GetAlias(ctx, state.ID.ValueString(), state.TeamID.ValueString())
if client.NotFound(err) {
resp.State.RemoveResource(ctx)
return
Expand All @@ -131,8 +131,8 @@ func (r *aliasResource) Read(ctx context.Context, req resource.ReadRequest, resp
resp.Diagnostics.AddError(
"Error reading alias",
fmt.Sprintf("Could not get alias %s %s, unexpected error: %s",
state.TeamID.Value,
state.ID.Value,
state.TeamID.ValueString(),
state.ID.ValueString(),
err,
),
)
Expand All @@ -141,8 +141,8 @@ func (r *aliasResource) Read(ctx context.Context, req resource.ReadRequest, resp

result := convertResponseToAlias(out, state)
tflog.Trace(ctx, "read alias", map[string]interface{}{
"team_id": result.TeamID.Value,
"alias_id": result.ID.Value,
"team_id": result.TeamID.ValueString(),
"alias_id": result.ID.ValueString(),
})

diags = resp.State.Set(ctx, result)
Expand Down Expand Up @@ -183,7 +183,7 @@ func (r *aliasResource) Delete(ctx context.Context, req resource.DeleteRequest,
return
}

_, err := r.client.DeleteAlias(ctx, state.ID.Value, state.TeamID.Value)
_, err := r.client.DeleteAlias(ctx, state.ID.ValueString(), state.TeamID.ValueString())
if client.NotFound(err) {
return
}
Expand All @@ -192,15 +192,15 @@ func (r *aliasResource) Delete(ctx context.Context, req resource.DeleteRequest,
"Error deleting alias",
fmt.Sprintf(
"Could not delete alias %s, unexpected error: %s",
state.Alias.Value,
state.Alias.ValueString(),
err,
),
)
return
}

tflog.Trace(ctx, "deleted alias", map[string]interface{}{
"team_id": state.TeamID.Value,
"alias_id": state.ID.Value,
"team_id": state.TeamID.ValueString(),
"alias_id": state.ID.ValueString(),
})
}
4 changes: 2 additions & 2 deletions vercel/resource_alias_model.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ type Alias struct {
func convertResponseToAlias(response client.AliasResponse, plan Alias) Alias {
return Alias{
Alias: plan.Alias,
ID: types.String{Value: response.UID},
DeploymentID: types.String{Value: response.DeploymentID},
ID: types.StringValue(response.UID),
DeploymentID: types.StringValue(response.DeploymentID),
TeamID: toTeamID(response.TeamID),
}
}
Loading