From 30236b8b655c0b98c9994805e5813471199b552c Mon Sep 17 00:00:00 2001 From: Srevin Saju Date: Sat, 9 Mar 2024 13:42:36 +0530 Subject: [PATCH] feat: add new parameter 'ignore_missing' to prevent creating errors if a requested resource does not exist --- terraform/data_source_infra.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/terraform/data_source_infra.go b/terraform/data_source_infra.go index 20b556a..24a1e06 100644 --- a/terraform/data_source_infra.go +++ b/terraform/data_source_infra.go @@ -22,7 +22,10 @@ func dataSourceInfraRead(ctx context.Context, d *schema.ResourceData, m interfac return diag.FromErr(err) } - if len(metadata) == 0 { + if len(metadata) == 0 && d.Get("ignore_missing").(bool) { + d.SetId(id) + return diags + } else if len(metadata) == 0 { return diag.FromErr(fmt.Errorf("no resource with id '%s' exists", id)) } else if len(metadata) > 1 { return diag.FromErr(fmt.Errorf("more than one resource was returned when '%s' id was requested which is not supported yet", id)) @@ -58,6 +61,11 @@ func dataSourceInfra() *schema.Resource { Type: schema.TypeString, Required: true, }, + "ignore_missing": { + Type: schema.TypeBool, + Optional: true, + Default: false, + }, "name": { Type: schema.TypeString, Computed: true,