Basically this is a minimal reconstruction of the issue
variables.tf:
variable "efs_tags" {
description = "Tags for the EFS"
type = map(string)
default = {
Terraform = "true"
Project = ""
}
}
python code
import json
from pathlib import Path
import hcl
file_path = Path("./variables.tf")
with open(file_path) as fp:
json_object = hcl.load(fp)
file_path = file_path.with_suffix('.tf.json')
with open(file_path, 'w') as fp:
json.dump(json_object, fp, indent=4)
expected output:
{
"variable": {
"efs_tags": {
"description": "Tags for the EFSr",
"type": "map(string)",
"default": {
"Terraform": "true",
"Project": ""
}
}
}
Actual output:
{
"variable": {
"efs_tags": {
"description": "Tags for the EFSr",
"type": "map(\"string\")",
"default": {
"Terraform": "true",
"Project": ""
}
}
}
Basically this is a minimal reconstruction of the issue
variables.tf:
python code
expected output:
{ "variable": { "efs_tags": { "description": "Tags for the EFSr", "type": "map(string)", "default": { "Terraform": "true", "Project": "" } } }Actual output:
{ "variable": { "efs_tags": { "description": "Tags for the EFSr", "type": "map(\"string\")", "default": { "Terraform": "true", "Project": "" } } }