From ff99d904f28d0bc9166a9ed72bfa73840a954731 Mon Sep 17 00:00:00 2001 From: Geir Sagberg Date: Wed, 31 Mar 2021 15:39:12 +0200 Subject: [PATCH] Add support for description to tag template fields (#8810) --- google/resource_data_catalog_tag_template.go | 21 ++++++++++++++++++++ google/resource_data_catalog_tag_test.go | 1 + 2 files changed, 22 insertions(+) diff --git a/google/resource_data_catalog_tag_template.go b/google/resource_data_catalog_tag_template.go index def4ba6a4de..74221acb6e2 100644 --- a/google/resource_data_catalog_tag_template.go +++ b/google/resource_data_catalog_tag_template.go @@ -118,6 +118,11 @@ Multiple fields can have the same order, and field orders within a tag do not ha Computed: true, Description: `The resource name of the tag template field in URL format. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId}/fields/{field}`, }, + "description": { + Type: schema.TypeString, + Optional: true, + Description: `A description for this field.`, + }, }, }, }, @@ -432,6 +437,7 @@ func flattenDataCatalogTagTemplateFields(v interface{}, d *schema.ResourceData, "type": flattenDataCatalogTagTemplateFieldsType(original["type"], d, config), "is_required": flattenDataCatalogTagTemplateFieldsIsRequired(original["isRequired"], d, config), "order": flattenDataCatalogTagTemplateFieldsOrder(original["order"], d, config), + "description": flattenDataCatalogTagTemplateFieldsDescription(original["description"], d, config), }) } return transformed @@ -444,6 +450,10 @@ func flattenDataCatalogTagTemplateFieldsDisplayName(v interface{}, d *schema.Res return v } +func flattenDataCatalogTagTemplateFieldsDescription(v interface{}, d *schema.ResourceData, config *Config) interface{} { + return v +} + func flattenDataCatalogTagTemplateFieldsType(v interface{}, d *schema.ResourceData, config *Config) interface{} { if v == nil { return nil @@ -546,6 +556,13 @@ func expandDataCatalogTagTemplateFields(v interface{}, d TerraformResourceData, transformed["displayName"] = transformedDisplayName } + transformedDescription, err := expandDataCatalogTagTemplateFieldsDescription(original["description"], d, config) + if err != nil { + return nil, err + } else if val := reflect.ValueOf(transformedDescription); val.IsValid() && !isEmptyValue(val) { + transformed["description"] = transformedDescription + } + transformedType, err := expandDataCatalogTagTemplateFieldsType(original["type"], d, config) if err != nil { return nil, err @@ -584,6 +601,10 @@ func expandDataCatalogTagTemplateFieldsDisplayName(v interface{}, d TerraformRes return v, nil } +func expandDataCatalogTagTemplateFieldsDescription(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) { + return v, nil +} + func expandDataCatalogTagTemplateFieldsType(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) { l := v.([]interface{}) if len(l) == 0 || l[0] == nil { diff --git a/google/resource_data_catalog_tag_test.go b/google/resource_data_catalog_tag_test.go index 5e65be2168e..0f10c7b206e 100644 --- a/google/resource_data_catalog_tag_test.go +++ b/google/resource_data_catalog_tag_test.go @@ -73,6 +73,7 @@ resource "google_data_catalog_tag_template" "tag_template" { primitive_type = "STRING" } is_required = true + description = "The source of the data asset" } fields {