Skip to content

Commit 80dfad9

Browse files
author
Alex Hung
authored
Merge pull request #130 from jfrog/migrate-project-environment
Migrate project_environment resource to Framework plugin
2 parents 2e92895 + 772ca27 commit 80dfad9

File tree

9 files changed

+359
-218
lines changed

9 files changed

+359
-218
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ BUG FIXES:
44

55
* Add validation to `roles` attribute for `project_group` and `project_user` resources to ensure at least one role is defined. Issue: [#126](https://github.com/jfrog/terraform-provider-project/issues/126) PR: [#129](https://github.com/jfrog/terraform-provider-project/pull/129)
66

7+
IMPROVEMENTS:
8+
9+
* resource/project_environment is migrated to Plugin Framework. PR: [#130](https://github.com/jfrog/terraform-provider-project/pull/130)
10+
711
## 1.6.0 (May 22, 2024)
812

913
FEATURES:

pkg/project/acctest/test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ var testAccProviderConfigure sync.Once
3939
// during acceptance tests. Use it only if you need to combine resources from SDK v2 and the Framework in the same test.
4040
var ProtoV6MuxProviderFactories map[string]func() (tfprotov6.ProviderServer, error)
4141

42-
var ProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){
43-
"project": providerserver.NewProtocol6WithError(provider.Framework()()),
44-
}
42+
var ProtoV6ProviderFactories map[string]func() (tfprotov6.ProviderServer, error)
4543

4644
func init() {
4745
Provider = provider.SdkV2()
@@ -50,6 +48,10 @@ func init() {
5048
"project": func() (*schema.Provider, error) { return Provider, nil },
5149
}
5250

51+
ProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){
52+
"project": providerserver.NewProtocol6WithError(provider.Framework()()),
53+
}
54+
5355
ProtoV6MuxProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){
5456
"project": func() (tfprotov6.ProviderServer, error) {
5557
ctx := context.Background()

pkg/project/provider/framework.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ type ProjectProviderModel struct {
3232

3333
// Metadata satisfies the provider.Provider interface for ProjectProvider
3434
func (p *ProjectProvider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse) {
35-
resp.TypeName = "artifactory"
35+
resp.TypeName = "project"
3636
resp.Version = Version
3737
}
3838

@@ -181,6 +181,7 @@ func (p *ProjectProvider) Configure(ctx context.Context, req provider.ConfigureR
181181
func (p *ProjectProvider) Resources(ctx context.Context) []func() resource.Resource {
182182
return []func() resource.Resource{
183183
project.NewProjectResource,
184+
project.NewProjectEnvironmentResource,
184185
}
185186
}
186187

pkg/project/provider/provider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package provider
22

3-
var Version = "0.0.1"
3+
var Version = "1.6.1"
44

55
// needs to be exported so make file can update this
66
var productId = "terraform-provider-project/" + Version

pkg/project/provider/sdkv2.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,10 @@ func SdkV2() *schema.Provider {
4848
ResourcesMap: sdk.AddTelemetry(
4949
productId,
5050
map[string]*schema.Resource{
51-
"project_environment": resource.ProjectEnvironmentResource(),
52-
"project_role": resource.ProjectRoleResource(),
53-
"project_user": resource.ProjectUserResource(),
54-
"project_group": resource.ProjectGroupResource(),
55-
"project_repository": resource.ProjectRepositoryResource(),
51+
"project_role": resource.ProjectRoleResource(),
52+
"project_user": resource.ProjectUserResource(),
53+
"project_group": resource.ProjectGroupResource(),
54+
"project_repository": resource.ProjectRepositoryResource(),
5655
},
5756
),
5857
}

pkg/project/resource/resource_project.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
2424
"github.com/hashicorp/terraform-plugin-framework/schema/validator"
2525
"github.com/hashicorp/terraform-plugin-framework/types"
26-
"github.com/hashicorp/terraform-plugin-log/tflog"
2726
"github.com/jfrog/terraform-provider-shared/util"
2827
utilfw "github.com/jfrog/terraform-provider-shared/util/fw"
2928
validatorfw_string "github.com/jfrog/terraform-provider-shared/validator/fw/string"
@@ -401,7 +400,7 @@ type ProjectAPIModel struct {
401400
}
402401

403402
func (r *ProjectResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
404-
resp.TypeName = "project"
403+
resp.TypeName = req.ProviderTypeName
405404
r.TypeName = resp.TypeName
406405
}
407406

@@ -692,10 +691,6 @@ func (r *ProjectResource) Schema(ctx context.Context, req resource.SchemaRequest
692691
}),
693692
Blocks: schemaV3.Blocks,
694693
}
695-
696-
tflog.Debug(ctx, "Schema", map[string]any{
697-
"schemaV4": resp.Schema,
698-
})
699694
}
700695

701696
func (r *ProjectResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse) {

0 commit comments

Comments
 (0)