$ cat my.tf
resource "aws_sqs_queue" "terraform_queue" {
name = "terraform-example-queue"
delay_seconds = 90
max_message_size = 2048
message_retention_seconds = 86400
receive_wait_time_seconds = 10
redrive_policy = jsonencode({
deadLetterTargetArn = "dontcare"
maxReceiveCount = 4
})
}
$ hcltool my.tf
Traceback (most recent call last):
File "terraform/.venv/bin/hcltool", line 45, in <module>
main()
File "terraform/.venv/bin/hcltool", line 35, in main
obj = hcl.load(infile)
File "terraform/.venv/lib/python3.7/site-packages/hcl/api.py", line 62, in load
return loads(fp.read(), export_comments=export_comments)
File "terraform/.venv/lib/python3.7/site-packages/hcl/api.py", line 81, in loads
return HclParser().parse(s, export_comments=export_comments)
File "terraform/.venv/lib/python3.7/site-packages/hcl/parser.py", line 643, in parse
s, lexer=Lexer(export_comments=export_comments), debug=DEBUG
File "terraform/.venv/lib/python3.7/site-packages/hcl/ply/yacc.py", line 409, in parse
p.callable(pslice)
File "terraform/.venv/lib/python3.7/site-packages/hcl/parser.py", line 365, in p_function_0
p[0] = p[1] + p[2] + self.flatten(p[3]) + p[4]
File "terraform/.venv/lib/python3.7/site-packages/hcl/parser.py", line 405, in flatten
return ",".join(self.flatten(v) for v in value)
File "terraform/.venv/lib/python3.7/site-packages/hcl/parser.py", line 405, in <genexpr>
return ",".join(self.flatten(v) for v in value)
File "terraform/.venv/lib/python3.7/site-packages/hcl/parser.py", line 402, in flatten
+ "}"
File "terraform/.venv/lib/python3.7/site-packages/hcl/parser.py", line 401, in <genexpr>
+ ",".join(key + ":" + self.flatten(value[key]) for key in value)
File "terraform/.venv/lib/python3.7/site-packages/hcl/parser.py", line 423, in flatten
type(value),
TypeError: ('%s is of type %s; expected type of dict, list, tuple, or str', '4', <class 'int'>)
jsonencode
triggers an error due to interger:It is possible to get interger into jsonencode: https://docs.aws.amazon.com/fr_fr/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-redrive