|
1 | 1 | package github |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "context" |
4 | 5 | "fmt" |
5 | 6 | "net" |
6 | 7 |
|
| 8 | + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" |
7 | 9 | "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" |
8 | 10 | ) |
9 | 11 |
|
10 | 12 | func dataSourceGithubIpRanges() *schema.Resource { |
11 | 13 | return &schema.Resource{ |
12 | 14 | Description: "Get the GitHub IP ranges used by various GitHub services.", |
13 | | - Read: dataSourceGithubIpRangesRead, |
| 15 | + ReadContext: dataSourceGithubIpRangesRead, |
14 | 16 | Schema: map[string]*schema.Schema{ |
15 | 17 | "hooks": { |
16 | 18 | Type: schema.TypeList, |
@@ -193,191 +195,191 @@ func dataSourceGithubIpRanges() *schema.Resource { |
193 | 195 | } |
194 | 196 | } |
195 | 197 |
|
196 | | -func dataSourceGithubIpRangesRead(d *schema.ResourceData, meta any) error { |
| 198 | +func dataSourceGithubIpRangesRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { |
197 | 199 | owner := meta.(*Owner) |
198 | 200 |
|
199 | 201 | api, _, err := owner.v3client.Meta.Get(owner.StopContext) |
200 | 202 | if err != nil { |
201 | | - return err |
| 203 | + return diag.FromErr(err) |
202 | 204 | } |
203 | 205 |
|
204 | 206 | cidrHooksIpv4, cidrHooksIpv6, err := splitIpv4Ipv6Cidrs(&api.Hooks) |
205 | 207 | if err != nil { |
206 | | - return err |
| 208 | + return diag.FromErr(err) |
207 | 209 | } |
208 | 210 |
|
209 | 211 | cidrGitIpv4, cidrGitIpv6, err := splitIpv4Ipv6Cidrs(&api.Git) |
210 | 212 | if err != nil { |
211 | | - return err |
| 213 | + return diag.FromErr(err) |
212 | 214 | } |
213 | 215 |
|
214 | 216 | cidrPackagesIpv4, cidrPackagesIpv6, err := splitIpv4Ipv6Cidrs(&api.Packages) |
215 | 217 | if err != nil { |
216 | | - return err |
| 218 | + return diag.FromErr(err) |
217 | 219 | } |
218 | 220 |
|
219 | 221 | cidrPagesIpv4, cidrPagesIpv6, err := splitIpv4Ipv6Cidrs(&api.Pages) |
220 | 222 | if err != nil { |
221 | | - return err |
| 223 | + return diag.FromErr(err) |
222 | 224 | } |
223 | 225 |
|
224 | 226 | cidrImporterIpv4, cidrImporterIpv6, err := splitIpv4Ipv6Cidrs(&api.Importer) |
225 | 227 | if err != nil { |
226 | | - return err |
| 228 | + return diag.FromErr(err) |
227 | 229 | } |
228 | 230 |
|
229 | 231 | cidrActionsIpv4, cidrActionsIpv6, err := splitIpv4Ipv6Cidrs(&api.Actions) |
230 | 232 | if err != nil { |
231 | | - return err |
| 233 | + return diag.FromErr(err) |
232 | 234 | } |
233 | 235 |
|
234 | 236 | cidrActionsMacosIpv4, cidrActionsMacosIpv6, err := splitIpv4Ipv6Cidrs(&api.ActionsMacos) |
235 | 237 | if err != nil { |
236 | | - return err |
| 238 | + return diag.FromErr(err) |
237 | 239 | } |
238 | 240 |
|
239 | 241 | cidrGithubEnterpriseImporterIpv4, cidrGithubEnterpriseImporterIpv6, err := splitIpv4Ipv6Cidrs(&api.GithubEnterpriseImporter) |
240 | 242 | if err != nil { |
241 | | - return err |
| 243 | + return diag.FromErr(err) |
242 | 244 | } |
243 | 245 |
|
244 | 246 | cidrDependabotIpv4, cidrDependabotIpv6, err := splitIpv4Ipv6Cidrs(&api.Dependabot) |
245 | 247 | if err != nil { |
246 | | - return err |
| 248 | + return diag.FromErr(err) |
247 | 249 | } |
248 | 250 |
|
249 | 251 | cidrWebIpv4, cidrWebIpv6, err := splitIpv4Ipv6Cidrs(&api.Web) |
250 | 252 | if err != nil { |
251 | | - return err |
| 253 | + return diag.FromErr(err) |
252 | 254 | } |
253 | 255 |
|
254 | 256 | cidrApiIpv4, cidrApiIpv6, err := splitIpv4Ipv6Cidrs(&api.API) |
255 | 257 | if err != nil { |
256 | | - return err |
| 258 | + return diag.FromErr(err) |
257 | 259 | } |
258 | 260 |
|
259 | 261 | if len(api.Hooks)+len(api.Git)+len(api.Pages)+len(api.Importer)+len(api.Actions)+len(api.Dependabot) > 0 { |
260 | 262 | d.SetId("github-ip-ranges") |
261 | 263 | } |
262 | 264 | if len(api.Hooks) > 0 { |
263 | 265 | if err := d.Set("hooks", api.Hooks); err != nil { |
264 | | - return err |
| 266 | + return diag.FromErr(err) |
265 | 267 | } |
266 | 268 | if err := d.Set("hooks_ipv4", cidrHooksIpv4); err != nil { |
267 | | - return err |
| 269 | + return diag.FromErr(err) |
268 | 270 | } |
269 | 271 | if err := d.Set("hooks_ipv6", cidrHooksIpv6); err != nil { |
270 | | - return err |
| 272 | + return diag.FromErr(err) |
271 | 273 | } |
272 | 274 | } |
273 | 275 | if len(api.Git) > 0 { |
274 | 276 | if err := d.Set("git", api.Git); err != nil { |
275 | | - return err |
| 277 | + return diag.FromErr(err) |
276 | 278 | } |
277 | 279 | if err := d.Set("git_ipv4", cidrGitIpv4); err != nil { |
278 | | - return err |
| 280 | + return diag.FromErr(err) |
279 | 281 | } |
280 | 282 | if err := d.Set("git_ipv6", cidrGitIpv6); err != nil { |
281 | | - return err |
| 283 | + return diag.FromErr(err) |
282 | 284 | } |
283 | 285 | } |
284 | 286 | if len(api.Packages) > 0 { |
285 | 287 | if err := d.Set("packages", api.Packages); err != nil { |
286 | | - return err |
| 288 | + return diag.FromErr(err) |
287 | 289 | } |
288 | 290 | if err := d.Set("packages_ipv4", cidrPackagesIpv4); err != nil { |
289 | | - return err |
| 291 | + return diag.FromErr(err) |
290 | 292 | } |
291 | 293 | if err := d.Set("packages_ipv6", cidrPackagesIpv6); err != nil { |
292 | | - return err |
| 294 | + return diag.FromErr(err) |
293 | 295 | } |
294 | 296 | } |
295 | 297 | if len(api.Pages) > 0 { |
296 | 298 | if err := d.Set("pages", api.Pages); err != nil { |
297 | | - return err |
| 299 | + return diag.FromErr(err) |
298 | 300 | } |
299 | 301 | if err := d.Set("pages_ipv4", cidrPagesIpv4); err != nil { |
300 | | - return err |
| 302 | + return diag.FromErr(err) |
301 | 303 | } |
302 | 304 | if err := d.Set("pages_ipv6", cidrPagesIpv6); err != nil { |
303 | | - return err |
| 305 | + return diag.FromErr(err) |
304 | 306 | } |
305 | 307 | } |
306 | 308 | if len(api.Importer) > 0 { |
307 | 309 | if err := d.Set("importer", api.Importer); err != nil { |
308 | | - return err |
| 310 | + return diag.FromErr(err) |
309 | 311 | } |
310 | 312 | if err := d.Set("importer_ipv4", cidrImporterIpv4); err != nil { |
311 | | - return err |
| 313 | + return diag.FromErr(err) |
312 | 314 | } |
313 | 315 | if err := d.Set("importer_ipv6", cidrImporterIpv6); err != nil { |
314 | | - return err |
| 316 | + return diag.FromErr(err) |
315 | 317 | } |
316 | 318 | } |
317 | 319 | if len(api.Actions) > 0 { |
318 | 320 | if err := d.Set("actions", api.Actions); err != nil { |
319 | | - return err |
| 321 | + return diag.FromErr(err) |
320 | 322 | } |
321 | 323 | if err := d.Set("actions_ipv4", cidrActionsIpv4); err != nil { |
322 | | - return err |
| 324 | + return diag.FromErr(err) |
323 | 325 | } |
324 | 326 | if err := d.Set("actions_ipv6", cidrActionsIpv6); err != nil { |
325 | | - return err |
| 327 | + return diag.FromErr(err) |
326 | 328 | } |
327 | 329 | } |
328 | 330 | if len(api.ActionsMacos) > 0 { |
329 | 331 | if err := d.Set("actions_macos", api.ActionsMacos); err != nil { |
330 | | - return err |
| 332 | + return diag.FromErr(err) |
331 | 333 | } |
332 | 334 | if err := d.Set("actions_macos_ipv4", cidrActionsMacosIpv4); err != nil { |
333 | | - return err |
| 335 | + return diag.FromErr(err) |
334 | 336 | } |
335 | 337 | if err := d.Set("actions_macos_ipv6", cidrActionsMacosIpv6); err != nil { |
336 | | - return err |
| 338 | + return diag.FromErr(err) |
337 | 339 | } |
338 | 340 | } |
339 | 341 | if len(api.GithubEnterpriseImporter) > 0 { |
340 | 342 | if err := d.Set("github_enterprise_importer", api.GithubEnterpriseImporter); err != nil { |
341 | | - return err |
| 343 | + return diag.FromErr(err) |
342 | 344 | } |
343 | 345 | if err := d.Set("github_enterprise_importer_ipv4", cidrGithubEnterpriseImporterIpv4); err != nil { |
344 | | - return err |
| 346 | + return diag.FromErr(err) |
345 | 347 | } |
346 | 348 | if err := d.Set("github_enterprise_importer_ipv6", cidrGithubEnterpriseImporterIpv6); err != nil { |
347 | | - return err |
| 349 | + return diag.FromErr(err) |
348 | 350 | } |
349 | 351 | } |
350 | 352 | if len(api.Dependabot) > 0 { |
351 | 353 | if err := d.Set("dependabot", api.Dependabot); err != nil { |
352 | | - return err |
| 354 | + return diag.FromErr(err) |
353 | 355 | } |
354 | 356 | if err := d.Set("dependabot_ipv4", cidrDependabotIpv4); err != nil { |
355 | | - return err |
| 357 | + return diag.FromErr(err) |
356 | 358 | } |
357 | 359 | if err := d.Set("dependabot_ipv6", cidrDependabotIpv6); err != nil { |
358 | | - return err |
| 360 | + return diag.FromErr(err) |
359 | 361 | } |
360 | 362 | } |
361 | 363 | if len(api.Web) > 0 { |
362 | 364 | if err := d.Set("web", api.Web); err != nil { |
363 | | - return err |
| 365 | + return diag.FromErr(err) |
364 | 366 | } |
365 | 367 | if err := d.Set("web_ipv4", cidrWebIpv4); err != nil { |
366 | | - return err |
| 368 | + return diag.FromErr(err) |
367 | 369 | } |
368 | 370 | if err := d.Set("web_ipv6", cidrWebIpv6); err != nil { |
369 | | - return err |
| 371 | + return diag.FromErr(err) |
370 | 372 | } |
371 | 373 | } |
372 | 374 | if len(api.API) > 0 { |
373 | 375 | if err := d.Set("api", api.API); err != nil { |
374 | | - return err |
| 376 | + return diag.FromErr(err) |
375 | 377 | } |
376 | 378 | if err := d.Set("api_ipv4", cidrApiIpv4); err != nil { |
377 | | - return err |
| 379 | + return diag.FromErr(err) |
378 | 380 | } |
379 | 381 | if err := d.Set("api_ipv6", cidrApiIpv6); err != nil { |
380 | | - return err |
| 382 | + return diag.FromErr(err) |
381 | 383 | } |
382 | 384 | } |
383 | 385 |
|
|
0 commit comments