func expandDocumentAIWarehouseDocumentSchemaPropertyDefinitions()

in tfplan2cai/converters/google/resources/services/documentaiwarehouse/documentaiwarehouse_document_schema.go [89:221]


func expandDocumentAIWarehouseDocumentSchemaPropertyDefinitions(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
	l := v.([]interface{})
	req := make([]interface{}, 0, len(l))
	for _, raw := range l {
		if raw == nil {
			continue
		}
		original := raw.(map[string]interface{})
		transformed := make(map[string]interface{})

		transformedName, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsName(original["name"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedName); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["name"] = transformedName
		}

		transformedDisplayName, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsDisplayName(original["display_name"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedDisplayName); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["displayName"] = transformedDisplayName
		}

		transformedIsRepeatable, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsIsRepeatable(original["is_repeatable"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedIsRepeatable); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["isRepeatable"] = transformedIsRepeatable
		}

		transformedIsFilterable, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsIsFilterable(original["is_filterable"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedIsFilterable); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["isFilterable"] = transformedIsFilterable
		}

		transformedIsSearchable, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsIsSearchable(original["is_searchable"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedIsSearchable); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["isSearchable"] = transformedIsSearchable
		}

		transformedIsMetadata, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsIsMetadata(original["is_metadata"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedIsMetadata); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["isMetadata"] = transformedIsMetadata
		}

		transformedIsRequired, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsIsRequired(original["is_required"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedIsRequired); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["isRequired"] = transformedIsRequired
		}

		transformedRetrievalImportance, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsRetrievalImportance(original["retrieval_importance"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedRetrievalImportance); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["retrievalImportance"] = transformedRetrievalImportance
		}

		transformedSchemaSources, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsSchemaSources(original["schema_sources"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedSchemaSources); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["schemaSources"] = transformedSchemaSources
		}

		transformedIntegerTypeOptions, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsIntegerTypeOptions(original["integer_type_options"], d, config)
		if err != nil {
			return nil, err
		} else {
			transformed["integerTypeOptions"] = transformedIntegerTypeOptions
		}

		transformedFloatTypeOptions, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsFloatTypeOptions(original["float_type_options"], d, config)
		if err != nil {
			return nil, err
		} else {
			transformed["floatTypeOptions"] = transformedFloatTypeOptions
		}

		transformedTextTypeOptions, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsTextTypeOptions(original["text_type_options"], d, config)
		if err != nil {
			return nil, err
		} else {
			transformed["textTypeOptions"] = transformedTextTypeOptions
		}

		transformedPropertyTypeOptions, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsPropertyTypeOptions(original["property_type_options"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedPropertyTypeOptions); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["propertyTypeOptions"] = transformedPropertyTypeOptions
		}

		transformedEnumTypeOptions, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsEnumTypeOptions(original["enum_type_options"], d, config)
		if err != nil {
			return nil, err
		} else if val := reflect.ValueOf(transformedEnumTypeOptions); val.IsValid() && !tpgresource.IsEmptyValue(val) {
			transformed["enumTypeOptions"] = transformedEnumTypeOptions
		}

		transformedDateTimeTypeOptions, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsDateTimeTypeOptions(original["date_time_type_options"], d, config)
		if err != nil {
			return nil, err
		} else {
			transformed["dateTimeTypeOptions"] = transformedDateTimeTypeOptions
		}

		transformedMapTypeOptions, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsMapTypeOptions(original["map_type_options"], d, config)
		if err != nil {
			return nil, err
		} else {
			transformed["mapTypeOptions"] = transformedMapTypeOptions
		}

		transformedTimestampTypeOptions, err := expandDocumentAIWarehouseDocumentSchemaPropertyDefinitionsTimestampTypeOptions(original["timestamp_type_options"], d, config)
		if err != nil {
			return nil, err
		} else {
			transformed["timestampTypeOptions"] = transformedTimestampTypeOptions
		}

		req = append(req, transformed)
	}
	return req, nil
}