diff --git a/pkg/providers/clientlists/create_clientlist.go b/pkg/providers/clientlists/create_clientlist.go index 4f257c36..715e5804 100644 --- a/pkg/providers/clientlists/create_clientlist.go +++ b/pkg/providers/clientlists/create_clientlist.go @@ -165,15 +165,25 @@ func saveListItemsJSON(clientList *clientlists.GetClientListResponse, tfWorkPath listItems := []clientlists.ListItemPayload{} for _, v := range clientList.Items { - tags := []string{} - tags = append(tags, v.Tags...) - - listItems = append(listItems, clientlists.ListItemPayload{ - Value: v.Value, - Description: v.Description, - Tags: tags, - ExpirationDate: v.ExpirationDate, - }) + item := clientlists.ListItemPayload{ + Value: v.Value, // Value is always included + } + + if v.Description != "" { + item.Description = v.Description + } + + if len(v.Tags) > 0 { + tags := make([]string, len(v.Tags)) + copy(tags, v.Tags) + item.Tags = tags + } + + if v.ExpirationDate != "" { + item.ExpirationDate = v.ExpirationDate + } + + listItems = append(listItems, item) } jsonBody, err := json.MarshalIndent(listItems, "", " ") diff --git a/pkg/providers/clientlists/templates/client-list.tmpl b/pkg/providers/clientlists/templates/client-list.tmpl index 1c05c08b..0bb77964 100644 --- a/pkg/providers/clientlists/templates/client-list.tmpl +++ b/pkg/providers/clientlists/templates/client-list.tmpl @@ -30,9 +30,9 @@ resource "akamai_clientlist_list" "list_{{.ClientList.ListID}}" { content { value = items.value.value - description = items.value.description - tags = items.value.tags - expiration_date = items.value.expirationDate + description = try(items.value.description, "") + tags = try(items.value.tags, []) + expiration_date = try(items.value.expirationDate, "") } } {{- end}}