Skip to content

Commit c5d4837

Browse files
committed
Use context-aware CRUD functions for Service GitHub resource
1 parent 2017229 commit c5d4837

File tree

2 files changed

+25
-19
lines changed

2 files changed

+25
-19
lines changed

gitlab/resource_gitlab_project_level_mr_approvals.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func resourceGitlabProjectLevelMRApprovalsRead(ctx context.Context, d *schema.Re
8484
d.SetId("")
8585
return nil
8686
}
87-
return diag.Errorf("couldn't read approval configuration: %w", err)
87+
return diag.Errorf("couldn't read approval configuration: %v", err)
8888
}
8989

9090
d.Set("project_id", projectId)

gitlab/resource_gitlab_service_github.go

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
package gitlab
22

33
import (
4+
"context"
45
"fmt"
56
"log"
67

8+
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
79
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
810
gitlab "github.com/xanzy/go-gitlab"
911
)
1012

1113
func resourceGitlabServiceGithub() *schema.Resource {
1214
return &schema.Resource{
13-
Create: resourceGitlabServiceGithubCreate,
14-
Read: resourceGitlabServiceGithubRead,
15-
Update: resourceGitlabServiceGithubUpdate,
16-
Delete: resourceGitlabServiceGithubDelete,
15+
CreateContext: resourceGitlabServiceGithubCreate,
16+
ReadContext: resourceGitlabServiceGithubRead,
17+
UpdateContext: resourceGitlabServiceGithubUpdate,
18+
DeleteContext: resourceGitlabServiceGithubDelete,
1719
Importer: &schema.ResourceImporter{
18-
State: resourceGitlabServiceGithubImportState,
20+
StateContext: resourceGitlabServiceGithubImportState,
1921
},
2022

2123
Schema: map[string]*schema.Schema{
@@ -71,7 +73,7 @@ func resourceGitlabServiceGithubSetToState(d *schema.ResourceData, service *gitl
7173
d.Set("active", service.Active)
7274
}
7375

74-
func resourceGitlabServiceGithubCreate(d *schema.ResourceData, meta interface{}) error {
76+
func resourceGitlabServiceGithubCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
7577
client := meta.(*gitlab.Client)
7678
project := d.Get("project").(string)
7779

@@ -83,21 +85,21 @@ func resourceGitlabServiceGithubCreate(d *schema.ResourceData, meta interface{})
8385
StaticContext: gitlab.Bool(d.Get("static_context").(bool)),
8486
}
8587

86-
_, err := client.Services.SetGithubService(project, opts)
88+
_, err := client.Services.SetGithubService(project, opts, gitlab.WithContext(ctx))
8789
if err != nil {
88-
return err
90+
return diag.FromErr(err)
8991
}
9092

91-
return resourceGitlabServiceGithubRead(d, meta)
93+
return resourceGitlabServiceGithubRead(ctx, d, meta)
9294
}
9395

94-
func resourceGitlabServiceGithubRead(d *schema.ResourceData, meta interface{}) error {
96+
func resourceGitlabServiceGithubRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
9597
client := meta.(*gitlab.Client)
9698
project := d.Get("project").(string)
9799

98100
log.Printf("[DEBUG] read gitlab github service for project %s", project)
99101

100-
service, _, err := client.Services.GetGithubService(project)
102+
service, _, err := client.Services.GetGithubService(project, gitlab.WithContext(ctx))
101103
if err != nil {
102104
if is404(err) {
103105
log.Printf("[DEBUG] gitlab service github not found %s / %s / %s",
@@ -107,29 +109,33 @@ func resourceGitlabServiceGithubRead(d *schema.ResourceData, meta interface{}) e
107109
d.SetId("")
108110
return nil
109111
}
110-
return err
112+
return diag.FromErr(err)
111113
}
112114

113115
resourceGitlabServiceGithubSetToState(d, service)
114116

115117
return nil
116118
}
117119

118-
func resourceGitlabServiceGithubUpdate(d *schema.ResourceData, meta interface{}) error {
119-
return resourceGitlabServiceGithubCreate(d, meta)
120+
func resourceGitlabServiceGithubUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
121+
return resourceGitlabServiceGithubCreate(ctx, d, meta)
120122
}
121123

122-
func resourceGitlabServiceGithubDelete(d *schema.ResourceData, meta interface{}) error {
124+
func resourceGitlabServiceGithubDelete(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
123125
client := meta.(*gitlab.Client)
124126
project := d.Get("project").(string)
125127

126128
log.Printf("[DEBUG] delete gitlab github service for project %s", project)
127129

128-
_, err := client.Services.DeleteGithubService(project)
129-
return err
130+
_, err := client.Services.DeleteGithubService(project, gitlab.WithContext(ctx))
131+
if err != nil {
132+
return diag.FromErr(err)
133+
}
134+
135+
return nil
130136
}
131137

132-
func resourceGitlabServiceGithubImportState(d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
138+
func resourceGitlabServiceGithubImportState(ctx context.Context, d *schema.ResourceData, meta interface{}) ([]*schema.ResourceData, error) {
133139
d.Set("project", d.Id())
134140

135141
return []*schema.ResourceData{d}, nil

0 commit comments

Comments
 (0)