1
1
package gitlab
2
2
3
3
import (
4
+ "context"
4
5
"fmt"
5
6
"log"
6
7
"strconv"
7
8
"strings"
8
9
10
+ "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
9
11
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
10
12
"github.com/xanzy/go-gitlab"
11
13
)
@@ -16,7 +18,7 @@ func dataSourceGitlabGroupMembership() *schema.Resource {
16
18
acceptedAccessLevels = append (acceptedAccessLevels , k )
17
19
}
18
20
return & schema.Resource {
19
- Read : dataSourceGitlabGroupMembershipRead ,
21
+ ReadContext : dataSourceGitlabGroupMembershipRead ,
20
22
Schema : map [string ]* schema.Schema {
21
23
"group_id" : {
22
24
Type : schema .TypeInt ,
@@ -84,7 +86,7 @@ func dataSourceGitlabGroupMembership() *schema.Resource {
84
86
}
85
87
}
86
88
87
- func dataSourceGitlabGroupMembershipRead (d * schema.ResourceData , meta interface {}) error {
89
+ func dataSourceGitlabGroupMembershipRead (ctx context. Context , d * schema.ResourceData , meta interface {}) diag. Diagnostics {
88
90
client := meta .(* gitlab.Client )
89
91
90
92
var gm []* gitlab.GroupMember
@@ -98,26 +100,26 @@ func dataSourceGitlabGroupMembershipRead(d *schema.ResourceData, meta interface{
98
100
99
101
if groupIDOk {
100
102
// 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 ) )
102
104
if err != nil {
103
- return err
105
+ return diag . FromErr ( err )
104
106
}
105
107
} else if fullPathOk {
106
108
// Get group by full path
107
109
group , _ , err = client .Groups .GetGroup (fullPathData .(string ), nil )
108
110
if err != nil {
109
- return err
111
+ return diag . FromErr ( err )
110
112
}
111
113
} 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" )
113
115
}
114
116
115
117
log .Printf ("[INFO] Reading Gitlab group memberships" )
116
118
117
119
// 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 ) )
119
121
if err != nil {
120
- return err
122
+ return diag . FromErr ( err )
121
123
}
122
124
123
125
d .Set ("group_id" , group .ID )
0 commit comments