Skip to content

Commit 881f7f9

Browse files
committed
resource/gitlab_*_custom_attribute: use context
1 parent f825849 commit 881f7f9

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

internal/provider/custom_attribute_helper.go

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package provider
22

33
import (
4+
"context"
45
"fmt"
56
"log"
67
"strconv"
78
"strings"
89

10+
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
911
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1012
gitlab "github.com/xanzy/go-gitlab"
1113
)
@@ -26,26 +28,26 @@ func CreateCustomAttributeResource(idName string, createGetter CreateGetter, cre
2628
d.Set("value", customAttribute.Value)
2729
}
2830

29-
readFunc := func(d *schema.ResourceData, meta interface{}) error {
31+
readFunc := func(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
3032
client := meta.(*gitlab.Client)
3133
getter := createGetter(client)
3234
log.Printf("[DEBUG] read Custom Attribute %s", d.Id())
3335

3436
id, key, err := parseId(d.Id())
3537
if err != nil {
36-
return err
38+
return diag.FromErr(err)
3739
}
3840

3941
customAttribute, _, err := getter(id, key)
4042
if err != nil {
41-
return err
43+
return diag.FromErr(err)
4244
}
4345

4446
setToState(d, id, customAttribute)
4547
return nil
4648
}
4749

48-
setFunc := func(d *schema.ResourceData, meta interface{}) error {
50+
setFunc := func(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
4951
client := meta.(*gitlab.Client)
5052
setter := createSetter(client)
5153

@@ -57,39 +59,39 @@ func CreateCustomAttributeResource(idName string, createGetter CreateGetter, cre
5759

5860
log.Printf("[DEBUG] set (create or update) Custom Attribute %s with value %s for %s %d", options.Key, options.Value, idName, id)
5961

60-
customAttribute, _, err := setter(id, *options)
62+
customAttribute, _, err := setter(id, *options, gitlab.WithContext(ctx))
6163
if err != nil {
62-
return err
64+
return diag.FromErr(err)
6365
}
6466

6567
d.SetId(buildId(id, customAttribute.Key))
66-
return readFunc(d, meta)
68+
return readFunc(ctx, d, meta)
6769
}
6870

69-
deleteFunc := func(d *schema.ResourceData, meta interface{}) error {
71+
deleteFunc := func(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
7072
client := meta.(*gitlab.Client)
7173
deleter := createDeleter(client)
7274
log.Printf("[DEBUG] delete Custom Attribute %s", d.Id())
7375

7476
id, key, err := parseId(d.Id())
7577
if err != nil {
76-
return err
78+
return diag.FromErr(err)
7779
}
7880

79-
_, err = deleter(id, key)
81+
_, err = deleter(id, key, gitlab.WithContext(ctx))
8082
if err != nil {
81-
return err
83+
return diag.FromErr(err)
8284
}
8385

8486
return nil
8587
}
8688

8789
return &schema.Resource{
88-
Description: description,
89-
Create: setFunc,
90-
Read: readFunc,
91-
Update: setFunc,
92-
Delete: deleteFunc,
90+
Description: description,
91+
CreateContext: setFunc,
92+
ReadContext: readFunc,
93+
UpdateContext: setFunc,
94+
DeleteContext: deleteFunc,
9395
Importer: &schema.ResourceImporter{
9496
StateContext: schema.ImportStatePassthroughContext,
9597
},

0 commit comments

Comments
 (0)