@@ -8,15 +8,16 @@ import (
88 "strconv"
99
1010 "github.com/google/go-github/v81/github"
11+ "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1112 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1213)
1314
1415func resourceGithubOrganizationWebhook () * schema.Resource {
1516 return & schema.Resource {
16- Create : resourceGithubOrganizationWebhookCreate ,
17- Read : resourceGithubOrganizationWebhookRead ,
18- Update : resourceGithubOrganizationWebhookUpdate ,
19- Delete : resourceGithubOrganizationWebhookDelete ,
17+ CreateContext : resourceGithubOrganizationWebhookCreate ,
18+ ReadContext : resourceGithubOrganizationWebhookRead ,
19+ UpdateContext : resourceGithubOrganizationWebhookUpdate ,
20+ DeleteContext : resourceGithubOrganizationWebhookDelete ,
2021 Importer : & schema.ResourceImporter {
2122 StateContext : schema .ImportStatePassthroughContext ,
2223 },
@@ -79,21 +80,20 @@ func resourceGithubOrganizationWebhookObject(d *schema.ResourceData) *github.Hoo
7980 return hook
8081}
8182
82- func resourceGithubOrganizationWebhookCreate (d * schema.ResourceData , meta any ) error {
83+ func resourceGithubOrganizationWebhookCreate (ctx context. Context , d * schema.ResourceData , meta any ) diag. Diagnostics {
8384 err := checkOrganization (meta )
8485 if err != nil {
85- return err
86+ return diag . FromErr ( err )
8687 }
8788
8889 client := meta .(* Owner ).v3client
8990
9091 orgName := meta .(* Owner ).name
9192 webhookObj := resourceGithubOrganizationWebhookObject (d )
92- ctx := context .Background ()
9393
9494 hook , _ , err := client .Organizations .CreateHook (ctx , orgName , webhookObj )
9595 if err != nil {
96- return err
96+ return diag . FromErr ( err )
9797 }
9898 d .SetId (strconv .FormatInt (hook .GetID (), 10 ))
9999
@@ -105,26 +105,26 @@ func resourceGithubOrganizationWebhookCreate(d *schema.ResourceData, meta any) e
105105 }
106106
107107 if err = d .Set ("configuration" , interfaceFromWebhookConfig (hook .Config )); err != nil {
108- return err
108+ return diag . FromErr ( err )
109109 }
110110
111- return resourceGithubOrganizationWebhookRead (d , meta )
111+ return resourceGithubOrganizationWebhookRead (ctx , d , meta )
112112}
113113
114- func resourceGithubOrganizationWebhookRead (d * schema.ResourceData , meta any ) error {
114+ func resourceGithubOrganizationWebhookRead (ctx context. Context , d * schema.ResourceData , meta any ) diag. Diagnostics {
115115 err := checkOrganization (meta )
116116 if err != nil {
117- return err
117+ return diag . FromErr ( err )
118118 }
119119
120120 client := meta .(* Owner ).v3client
121121
122122 orgName := meta .(* Owner ).name
123123 hookID , err := strconv .ParseInt (d .Id (), 10 , 64 )
124124 if err != nil {
125- return unconvertibleIdErr (d .Id (), err )
125+ return diag . FromErr ( unconvertibleIdErr (d .Id (), err ) )
126126 }
127- ctx : = context .WithValue (context . Background () , ctxId , d .Id ())
127+ ctx = context .WithValue (ctx , ctxId , d .Id ())
128128 if ! d .IsNewResource () {
129129 ctx = context .WithValue (ctx , ctxEtag , d .Get ("etag" ).(string ))
130130 }
@@ -143,20 +143,20 @@ func resourceGithubOrganizationWebhookRead(d *schema.ResourceData, meta any) err
143143 return nil
144144 }
145145 }
146- return err
146+ return diag . FromErr ( err )
147147 }
148148
149149 if err = d .Set ("etag" , resp .Header .Get ("ETag" )); err != nil {
150- return err
150+ return diag . FromErr ( err )
151151 }
152152 if err = d .Set ("url" , hook .GetURL ()); err != nil {
153- return err
153+ return diag . FromErr ( err )
154154 }
155155 if err = d .Set ("active" , hook .GetActive ()); err != nil {
156- return err
156+ return diag . FromErr ( err )
157157 }
158158 if err = d .Set ("events" , hook .Events ); err != nil {
159- return err
159+ return diag . FromErr ( err )
160160 }
161161
162162 // GitHub returns the secret as a string of 8 astrisks "********"
@@ -172,16 +172,16 @@ func resourceGithubOrganizationWebhookRead(d *schema.ResourceData, meta any) err
172172 }
173173
174174 if err = d .Set ("configuration" , interfaceFromWebhookConfig (hook .Config )); err != nil {
175- return err
175+ return diag . FromErr ( err )
176176 }
177177
178178 return nil
179179}
180180
181- func resourceGithubOrganizationWebhookUpdate (d * schema.ResourceData , meta any ) error {
181+ func resourceGithubOrganizationWebhookUpdate (ctx context. Context , d * schema.ResourceData , meta any ) diag. Diagnostics {
182182 err := checkOrganization (meta )
183183 if err != nil {
184- return err
184+ return diag . FromErr ( err )
185185 }
186186
187187 client := meta .(* Owner ).v3client
@@ -190,36 +190,36 @@ func resourceGithubOrganizationWebhookUpdate(d *schema.ResourceData, meta any) e
190190 webhookObj := resourceGithubOrganizationWebhookObject (d )
191191 hookID , err := strconv .ParseInt (d .Id (), 10 , 64 )
192192 if err != nil {
193- return unconvertibleIdErr (d .Id (), err )
193+ return diag . FromErr ( unconvertibleIdErr (d .Id (), err ) )
194194 }
195- ctx : = context .WithValue (context . Background () , ctxId , d .Id ())
195+ ctx = context .WithValue (ctx , ctxId , d .Id ())
196196
197197 _ , _ , err = client .Organizations .EditHook (ctx ,
198198 orgName , hookID , webhookObj )
199199 if err != nil {
200- return err
200+ return diag . FromErr ( err )
201201 }
202202
203- return resourceGithubOrganizationWebhookRead (d , meta )
203+ return resourceGithubOrganizationWebhookRead (ctx , d , meta )
204204}
205205
206- func resourceGithubOrganizationWebhookDelete (d * schema.ResourceData , meta any ) error {
206+ func resourceGithubOrganizationWebhookDelete (ctx context. Context , d * schema.ResourceData , meta any ) diag. Diagnostics {
207207 err := checkOrganization (meta )
208208 if err != nil {
209- return err
209+ return diag . FromErr ( err )
210210 }
211211
212212 client := meta .(* Owner ).v3client
213213
214214 orgName := meta .(* Owner ).name
215215 hookID , err := strconv .ParseInt (d .Id (), 10 , 64 )
216216 if err != nil {
217- return unconvertibleIdErr (d .Id (), err )
217+ return diag . FromErr ( unconvertibleIdErr (d .Id (), err ) )
218218 }
219- ctx : = context .WithValue (context . Background () , ctxId , d .Id ())
219+ ctx = context .WithValue (ctx , ctxId , d .Id ())
220220
221221 _ , err = client .Organizations .DeleteHook (ctx , orgName , hookID )
222- return err
222+ return diag . FromErr ( err )
223223}
224224
225225func webhookConfigFromInterface (config map [string ]any ) * github.HookConfig {
0 commit comments