From 9da2baae2939fdbad06a27877fd226cd5cabd77c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaquim=20Magalh=C3=A3es?= <10578843+joaquimmmagalhaes@users.noreply.github.com> Date: Wed, 14 Jul 2021 01:01:27 +0100 Subject: [PATCH] Fix invalid plan modifications --- internal/schemas/resources/admin/mapping.go | 1 + internal/schemas/resources/admin/resource.go | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/internal/schemas/resources/admin/mapping.go b/internal/schemas/resources/admin/mapping.go index 7b97974..17ee760 100644 --- a/internal/schemas/resources/admin/mapping.go +++ b/internal/schemas/resources/admin/mapping.go @@ -26,6 +26,7 @@ func convertFromMapToAdminStruct(d *schema.ResourceData) models.Admin { admin.Permissions[i] = permission.(string) } + admin.Filters = models.AdminFilters{} filters := d.Get("filters").([]interface{}) if len(filters) > 0 { filters := filters[0].(map[string]interface{}) diff --git a/internal/schemas/resources/admin/resource.go b/internal/schemas/resources/admin/resource.go index 6ccefa9..65723b1 100644 --- a/internal/schemas/resources/admin/resource.go +++ b/internal/schemas/resources/admin/resource.go @@ -105,8 +105,11 @@ func get(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagno return diag.FromErr(err) } - if err := d.Set("filters", flattenFilters(admin.Filters)); err != nil { - return diag.FromErr(err) + // Double validation + if len(admin.Filters.AllowList) > 0 { + if err := d.Set("filters", flattenFilters(admin.Filters)); err != nil { + return diag.FromErr(err) + } } if err := d.Set("additional_info", admin.AdditionalInfo); err != nil { @@ -118,7 +121,10 @@ func get(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagno func flattenFilters(filters models.AdminFilters) []interface{} { transformed := make(map[string]interface{}) - transformed["allow_list"] = filters.AllowList + + if len(filters.AllowList) > 0 { + transformed["allow_list"] = filters.AllowList + } return []interface{}{transformed} }