@@ -15,9 +15,9 @@ import (
15
15
16
16
func resourceGitlabUser () * schema.Resource {
17
17
return & schema.Resource {
18
- Create : resourceGitlabUserCreate ,
19
- Read : resourceGitlabUserRead ,
20
- Update : resourceGitlabUserUpdate ,
18
+ CreateContext : resourceGitlabUserCreate ,
19
+ ReadContext : resourceGitlabUserRead ,
20
+ UpdateContext : resourceGitlabUserUpdate ,
21
21
DeleteContext : resourceGitlabUserDelete ,
22
22
Importer : & schema.ResourceImporter {
23
23
StateContext : schema .ImportStatePassthroughContext ,
@@ -90,7 +90,7 @@ func resourceGitlabUserSetToState(d *schema.ResourceData, user *gitlab.User) {
90
90
d .Set ("skip_confirmation" , user .ConfirmedAt != nil && ! user .ConfirmedAt .IsZero ())
91
91
}
92
92
93
- func resourceGitlabUserCreate (d * schema.ResourceData , meta interface {}) error {
93
+ func resourceGitlabUserCreate (ctx context. Context , d * schema.ResourceData , meta interface {}) diag. Diagnostics {
94
94
client := meta .(* gitlab.Client )
95
95
options := & gitlab.CreateUserOptions {
96
96
Email : gitlab .String (d .Get ("email" ).(string )),
@@ -107,42 +107,42 @@ func resourceGitlabUserCreate(d *schema.ResourceData, meta interface{}) error {
107
107
}
108
108
109
109
if * options .Password == "" && ! * options .ResetPassword {
110
- return fmt .Errorf ("At least one of either password or reset_password must be defined" )
110
+ return diag .Errorf ("At least one of either password or reset_password must be defined" )
111
111
}
112
112
113
113
log .Printf ("[DEBUG] create gitlab user %q" , * options .Username )
114
114
115
- user , _ , err := client .Users .CreateUser (options )
115
+ user , _ , err := client .Users .CreateUser (options , gitlab . WithContext ( ctx ) )
116
116
if err != nil {
117
- return err
117
+ return diag . FromErr ( err )
118
118
}
119
119
120
120
d .SetId (fmt .Sprintf ("%d" , user .ID ))
121
121
122
- return resourceGitlabUserRead (d , meta )
122
+ return resourceGitlabUserRead (ctx , d , meta )
123
123
}
124
124
125
- func resourceGitlabUserRead (d * schema.ResourceData , meta interface {}) error {
125
+ func resourceGitlabUserRead (ctx context. Context , d * schema.ResourceData , meta interface {}) diag. Diagnostics {
126
126
client := meta .(* gitlab.Client )
127
127
log .Printf ("[DEBUG] import -- read gitlab user %s" , d .Id ())
128
128
129
129
id , _ := strconv .Atoi (d .Id ())
130
130
131
- user , _ , err := client .Users .GetUser (id , gitlab.GetUsersOptions {})
131
+ user , _ , err := client .Users .GetUser (id , gitlab.GetUsersOptions {}, gitlab . WithContext ( ctx ) )
132
132
if err != nil {
133
133
if is404 (err ) {
134
134
log .Printf ("[DEBUG] gitlab user not found %d" , id )
135
135
d .SetId ("" )
136
136
return nil
137
137
}
138
- return err
138
+ return diag . FromErr ( err )
139
139
}
140
140
141
141
resourceGitlabUserSetToState (d , user )
142
142
return nil
143
143
}
144
144
145
- func resourceGitlabUserUpdate (d * schema.ResourceData , meta interface {}) error {
145
+ func resourceGitlabUserUpdate (ctx context. Context , d * schema.ResourceData , meta interface {}) diag. Diagnostics {
146
146
client := meta .(* gitlab.Client )
147
147
148
148
options := & gitlab.ModifyUserOptions {}
@@ -184,12 +184,12 @@ func resourceGitlabUserUpdate(d *schema.ResourceData, meta interface{}) error {
184
184
185
185
id , _ := strconv .Atoi (d .Id ())
186
186
187
- _ , _ , err := client .Users .ModifyUser (id , options )
187
+ _ , _ , err := client .Users .ModifyUser (id , options , gitlab . WithContext ( ctx ) )
188
188
if err != nil {
189
- return err
189
+ return diag . FromErr ( err )
190
190
}
191
191
192
- return resourceGitlabUserRead (d , meta )
192
+ return resourceGitlabUserRead (ctx , d , meta )
193
193
}
194
194
195
195
func resourceGitlabUserDelete (ctx context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
@@ -198,15 +198,15 @@ func resourceGitlabUserDelete(ctx context.Context, d *schema.ResourceData, meta
198
198
199
199
id , _ := strconv .Atoi (d .Id ())
200
200
201
- if _ , err := client .Users .DeleteUser (id ); err != nil {
201
+ if _ , err := client .Users .DeleteUser (id , gitlab . WithContext ( ctx ) ); err != nil {
202
202
return diag .FromErr (err )
203
203
}
204
204
205
205
stateConf := & resource.StateChangeConf {
206
206
Timeout : 5 * time .Minute ,
207
207
Target : []string {"Deleted" },
208
208
Refresh : func () (interface {}, string , error ) {
209
- user , resp , err := client .Users .GetUser (id , gitlab.GetUsersOptions {})
209
+ user , resp , err := client .Users .GetUser (id , gitlab.GetUsersOptions {}, gitlab . WithContext ( ctx ) )
210
210
if resp != nil && resp .StatusCode == 404 {
211
211
return user , "Deleted" , nil
212
212
}
0 commit comments