json 在.tfvars或auto.tfvars文件中使用尾随逗号是否有风险?

vbkedwbf  于 2023-03-31  发布在  其他
关注(0)|答案(2)|浏览(109)

我看到官方的Terraform文档显示,在.tfvars文件中,数组末尾的逗号是可以的。

availability_zone_names = [
  "us-east-1a",
  "us-west-1c",
]

然而,.tfvars.json文件被解析为JSON,所以我假设他们不允许这样做。因此,在.tfvars.auto.tfvars文件中使用尾随逗号是不好的做法吗?是否有任何情况下,auto.tfvars文件需要在幕后(或显式)转换为.tfvars.json文件,这可能会导致问题?

ca1c2owp

ca1c2owp1#

因此,在.tfvars或. auto.tfvars文件中使用尾随逗号是不好的做法吗?
没有,因为它本身不会影响任何东西,但一个额外的字符是一个额外的字符,可能没有摆在首位。
是否有任何情况下,一个auto.tfvars文件将以某种方式需要转换成一个.tfvars.json文件在幕后(或显式),这可能会导致问题?
我不知道,但即使是这样,我也会假设Terraform有自己的消毒措施,如果他们正在进行转换,或者它很快就失败了。
总而言之,在.tfvarsauto.tfvars文件中使用尾随逗号并不危险。

bnl4lu3b

bnl4lu3b2#

我建议在结尾处加上逗号,因为它有助于维护git blame日志。
如果没有尾随逗号,每当添加新项时,对前一项的责备就会丢失。

示例:

首次提交:added project 'X' with id 2222

project_ids = [
  2222 // Blame: added project 'X' with id 2222
]

然后添加另一个带有commit log的项目:added project 'Y' with id 3333

project_ids = [
  2222, // Blame: added project 'Y' with id 3333
  3333  // Blame: added project 'Y' with id 3333
]

这表明添加第二个项目会破坏添加的第一个项目的日志,因为在后面添加逗号会更改2222行。

相关问题