Skip to content

Commit 338736f

Browse files
committed
Refactor to use context-aware function
Signed-off-by: Timo Sand <[email protected]>
1 parent 2dbfb7a commit 338736f

1 file changed

Lines changed: 49 additions & 47 deletions

File tree

github/data_source_github_ip_ranges.go

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

33
import (
4+
"context"
45
"fmt"
56
"net"
67

8+
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
79
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
810
)
911

1012
func dataSourceGithubIpRanges() *schema.Resource {
1113
return &schema.Resource{
1214
Description: "Get the GitHub IP ranges used by various GitHub services.",
13-
Read: dataSourceGithubIpRangesRead,
15+
ReadContext: dataSourceGithubIpRangesRead,
1416
Schema: map[string]*schema.Schema{
1517
"hooks": {
1618
Type: schema.TypeList,
@@ -193,191 +195,191 @@ func dataSourceGithubIpRanges() *schema.Resource {
193195
}
194196
}
195197

196-
func dataSourceGithubIpRangesRead(d *schema.ResourceData, meta any) error {
198+
func dataSourceGithubIpRangesRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
197199
owner := meta.(*Owner)
198200

199201
api, _, err := owner.v3client.Meta.Get(owner.StopContext)
200202
if err != nil {
201-
return err
203+
return diag.FromErr(err)
202204
}
203205

204206
cidrHooksIpv4, cidrHooksIpv6, err := splitIpv4Ipv6Cidrs(&api.Hooks)
205207
if err != nil {
206-
return err
208+
return diag.FromErr(err)
207209
}
208210

209211
cidrGitIpv4, cidrGitIpv6, err := splitIpv4Ipv6Cidrs(&api.Git)
210212
if err != nil {
211-
return err
213+
return diag.FromErr(err)
212214
}
213215

214216
cidrPackagesIpv4, cidrPackagesIpv6, err := splitIpv4Ipv6Cidrs(&api.Packages)
215217
if err != nil {
216-
return err
218+
return diag.FromErr(err)
217219
}
218220

219221
cidrPagesIpv4, cidrPagesIpv6, err := splitIpv4Ipv6Cidrs(&api.Pages)
220222
if err != nil {
221-
return err
223+
return diag.FromErr(err)
222224
}
223225

224226
cidrImporterIpv4, cidrImporterIpv6, err := splitIpv4Ipv6Cidrs(&api.Importer)
225227
if err != nil {
226-
return err
228+
return diag.FromErr(err)
227229
}
228230

229231
cidrActionsIpv4, cidrActionsIpv6, err := splitIpv4Ipv6Cidrs(&api.Actions)
230232
if err != nil {
231-
return err
233+
return diag.FromErr(err)
232234
}
233235

234236
cidrActionsMacosIpv4, cidrActionsMacosIpv6, err := splitIpv4Ipv6Cidrs(&api.ActionsMacos)
235237
if err != nil {
236-
return err
238+
return diag.FromErr(err)
237239
}
238240

239241
cidrGithubEnterpriseImporterIpv4, cidrGithubEnterpriseImporterIpv6, err := splitIpv4Ipv6Cidrs(&api.GithubEnterpriseImporter)
240242
if err != nil {
241-
return err
243+
return diag.FromErr(err)
242244
}
243245

244246
cidrDependabotIpv4, cidrDependabotIpv6, err := splitIpv4Ipv6Cidrs(&api.Dependabot)
245247
if err != nil {
246-
return err
248+
return diag.FromErr(err)
247249
}
248250

249251
cidrWebIpv4, cidrWebIpv6, err := splitIpv4Ipv6Cidrs(&api.Web)
250252
if err != nil {
251-
return err
253+
return diag.FromErr(err)
252254
}
253255

254256
cidrApiIpv4, cidrApiIpv6, err := splitIpv4Ipv6Cidrs(&api.API)
255257
if err != nil {
256-
return err
258+
return diag.FromErr(err)
257259
}
258260

259261
if len(api.Hooks)+len(api.Git)+len(api.Pages)+len(api.Importer)+len(api.Actions)+len(api.Dependabot) > 0 {
260262
d.SetId("github-ip-ranges")
261263
}
262264
if len(api.Hooks) > 0 {
263265
if err := d.Set("hooks", api.Hooks); err != nil {
264-
return err
266+
return diag.FromErr(err)
265267
}
266268
if err := d.Set("hooks_ipv4", cidrHooksIpv4); err != nil {
267-
return err
269+
return diag.FromErr(err)
268270
}
269271
if err := d.Set("hooks_ipv6", cidrHooksIpv6); err != nil {
270-
return err
272+
return diag.FromErr(err)
271273
}
272274
}
273275
if len(api.Git) > 0 {
274276
if err := d.Set("git", api.Git); err != nil {
275-
return err
277+
return diag.FromErr(err)
276278
}
277279
if err := d.Set("git_ipv4", cidrGitIpv4); err != nil {
278-
return err
280+
return diag.FromErr(err)
279281
}
280282
if err := d.Set("git_ipv6", cidrGitIpv6); err != nil {
281-
return err
283+
return diag.FromErr(err)
282284
}
283285
}
284286
if len(api.Packages) > 0 {
285287
if err := d.Set("packages", api.Packages); err != nil {
286-
return err
288+
return diag.FromErr(err)
287289
}
288290
if err := d.Set("packages_ipv4", cidrPackagesIpv4); err != nil {
289-
return err
291+
return diag.FromErr(err)
290292
}
291293
if err := d.Set("packages_ipv6", cidrPackagesIpv6); err != nil {
292-
return err
294+
return diag.FromErr(err)
293295
}
294296
}
295297
if len(api.Pages) > 0 {
296298
if err := d.Set("pages", api.Pages); err != nil {
297-
return err
299+
return diag.FromErr(err)
298300
}
299301
if err := d.Set("pages_ipv4", cidrPagesIpv4); err != nil {
300-
return err
302+
return diag.FromErr(err)
301303
}
302304
if err := d.Set("pages_ipv6", cidrPagesIpv6); err != nil {
303-
return err
305+
return diag.FromErr(err)
304306
}
305307
}
306308
if len(api.Importer) > 0 {
307309
if err := d.Set("importer", api.Importer); err != nil {
308-
return err
310+
return diag.FromErr(err)
309311
}
310312
if err := d.Set("importer_ipv4", cidrImporterIpv4); err != nil {
311-
return err
313+
return diag.FromErr(err)
312314
}
313315
if err := d.Set("importer_ipv6", cidrImporterIpv6); err != nil {
314-
return err
316+
return diag.FromErr(err)
315317
}
316318
}
317319
if len(api.Actions) > 0 {
318320
if err := d.Set("actions", api.Actions); err != nil {
319-
return err
321+
return diag.FromErr(err)
320322
}
321323
if err := d.Set("actions_ipv4", cidrActionsIpv4); err != nil {
322-
return err
324+
return diag.FromErr(err)
323325
}
324326
if err := d.Set("actions_ipv6", cidrActionsIpv6); err != nil {
325-
return err
327+
return diag.FromErr(err)
326328
}
327329
}
328330
if len(api.ActionsMacos) > 0 {
329331
if err := d.Set("actions_macos", api.ActionsMacos); err != nil {
330-
return err
332+
return diag.FromErr(err)
331333
}
332334
if err := d.Set("actions_macos_ipv4", cidrActionsMacosIpv4); err != nil {
333-
return err
335+
return diag.FromErr(err)
334336
}
335337
if err := d.Set("actions_macos_ipv6", cidrActionsMacosIpv6); err != nil {
336-
return err
338+
return diag.FromErr(err)
337339
}
338340
}
339341
if len(api.GithubEnterpriseImporter) > 0 {
340342
if err := d.Set("github_enterprise_importer", api.GithubEnterpriseImporter); err != nil {
341-
return err
343+
return diag.FromErr(err)
342344
}
343345
if err := d.Set("github_enterprise_importer_ipv4", cidrGithubEnterpriseImporterIpv4); err != nil {
344-
return err
346+
return diag.FromErr(err)
345347
}
346348
if err := d.Set("github_enterprise_importer_ipv6", cidrGithubEnterpriseImporterIpv6); err != nil {
347-
return err
349+
return diag.FromErr(err)
348350
}
349351
}
350352
if len(api.Dependabot) > 0 {
351353
if err := d.Set("dependabot", api.Dependabot); err != nil {
352-
return err
354+
return diag.FromErr(err)
353355
}
354356
if err := d.Set("dependabot_ipv4", cidrDependabotIpv4); err != nil {
355-
return err
357+
return diag.FromErr(err)
356358
}
357359
if err := d.Set("dependabot_ipv6", cidrDependabotIpv6); err != nil {
358-
return err
360+
return diag.FromErr(err)
359361
}
360362
}
361363
if len(api.Web) > 0 {
362364
if err := d.Set("web", api.Web); err != nil {
363-
return err
365+
return diag.FromErr(err)
364366
}
365367
if err := d.Set("web_ipv4", cidrWebIpv4); err != nil {
366-
return err
368+
return diag.FromErr(err)
367369
}
368370
if err := d.Set("web_ipv6", cidrWebIpv6); err != nil {
369-
return err
371+
return diag.FromErr(err)
370372
}
371373
}
372374
if len(api.API) > 0 {
373375
if err := d.Set("api", api.API); err != nil {
374-
return err
376+
return diag.FromErr(err)
375377
}
376378
if err := d.Set("api_ipv4", cidrApiIpv4); err != nil {
377-
return err
379+
return diag.FromErr(err)
378380
}
379381
if err := d.Set("api_ipv6", cidrApiIpv6); err != nil {
380-
return err
382+
return diag.FromErr(err)
381383
}
382384
}
383385

0 commit comments

Comments
 (0)