我有一个类似下面的地形脚本。
resource "aws_sfn_state_machine" "sfn_state_machine" {
name = "my-state-machine"
role_arn = aws_iam_role.iam_for_sfn.arn
definition = <<EOF
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "${aws_lambda_function.lambda.arn}",
"End": true
}
}
}
EOF
}
现在,我想从java代码中更新定义。
首先我能用hcl4j库解析代码,给我的数据是map结构。下面是解析和获取Map中数据的代码:
File terraformFile = new File("./terraform.tf");
Map<String, Map<String, Map<String, Map<String, Object>>>> map = new HCLParser().parse(terraformFile, "UTF-8");
在此之后,我已经更新了一点内容,但没有任何线索更新回地形脚本。
那么,你知道如何再次从java对象转换回terraform脚本吗?
暂无答案!
目前还没有任何答案,快来回答吧!