Skip to content

Commit 5d4029a

Browse files
committed
Use context-aware CRUD functions for Group Membership data source
1 parent 4279b4b commit 5d4029a

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

gitlab/data_source_gitlab_group_membership.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package gitlab
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
"github.com/xanzy/go-gitlab"
1113
)
@@ -16,7 +18,7 @@ func dataSourceGitlabGroupMembership() *schema.Resource {
1618
acceptedAccessLevels = append(acceptedAccessLevels, k)
1719
}
1820
return &schema.Resource{
19-
Read: dataSourceGitlabGroupMembershipRead,
21+
ReadContext: dataSourceGitlabGroupMembershipRead,
2022
Schema: map[string]*schema.Schema{
2123
"group_id": {
2224
Type: schema.TypeInt,
@@ -84,7 +86,7 @@ func dataSourceGitlabGroupMembership() *schema.Resource {
8486
}
8587
}
8688

87-
func dataSourceGitlabGroupMembershipRead(d *schema.ResourceData, meta interface{}) error {
89+
func dataSourceGitlabGroupMembershipRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
8890
client := meta.(*gitlab.Client)
8991

9092
var gm []*gitlab.GroupMember
@@ -98,26 +100,26 @@ func dataSourceGitlabGroupMembershipRead(d *schema.ResourceData, meta interface{
98100

99101
if groupIDOk {
100102
// Get group by id
101-
group, _, err = client.Groups.GetGroup(groupIDData.(int), nil)
103+
group, _, err = client.Groups.GetGroup(groupIDData.(int), nil, gitlab.WithContext(ctx))
102104
if err != nil {
103-
return err
105+
return diag.FromErr(err)
104106
}
105107
} else if fullPathOk {
106108
// Get group by full path
107109
group, _, err = client.Groups.GetGroup(fullPathData.(string), nil)
108110
if err != nil {
109-
return err
111+
return diag.FromErr(err)
110112
}
111113
} else {
112-
return fmt.Errorf("one and only one of group_id or full_path must be set")
114+
return diag.Errorf("one and only one of group_id or full_path must be set")
113115
}
114116

115117
log.Printf("[INFO] Reading Gitlab group memberships")
116118

117119
// Get group memberships
118-
gm, _, err = client.Groups.ListGroupMembers(group.ID, &gitlab.ListGroupMembersOptions{})
120+
gm, _, err = client.Groups.ListGroupMembers(group.ID, &gitlab.ListGroupMembersOptions{}, gitlab.WithContext(ctx))
119121
if err != nil {
120-
return err
122+
return diag.FromErr(err)
121123
}
122124

123125
d.Set("group_id", group.ID)

0 commit comments

Comments
 (0)