gpt4 book ai didi

azure - Terraform AZ CLI 本地执行命令限制

转载 作者:行者123 更新时间:2023-12-03 03:58:52 26 4
gpt4 key购买 nike

我正在尝试在 AKS 集群基础设施之外的 Terraform 中运行 offset AZ cli 命令,以自动执行繁琐的任务。其中之一正在运行 az vmsss extension set 命令向每个节点添加证书。为此,我将空资源与本地执行配置程序一起使用。这是AZ cli我正在使用的命令。

命令中我想要利用但 Terraform 不喜欢的部分是带有 curl 的 '{"commandToExecute":...}'

我想做的示例:

resource "null_resource" "test" {

provisioner "local-exec" {
command = "az vmss extension set --vmss-name my-vmss --name customScript --resource-group my-group version 2.0 --publisher Microsoft.Azure.Extensions provision-after-extensions NetworkWatcherAgentLinux VMAccessForLinux settings '{"commandToExecute": "echo testing"}'"
}
}

结果:

Error: Missing newline after argument

on test.tf line 3, in resource "null_resource" "test":
3: command = "az vmss extension set --vmss-name my-vmss --name customScript --resource-group my-group version 2.0 --publisher Microsoft.Azure.Extensions provision-after-extensions NetworkWatcherAgentLinux VMAccessForLinux settings '{"commandToExecute": "echo testing"}'"

An argument definition must end with a newline.

是否有任何已知的解决方法能够使用 local-exec 配置程序运行更复杂的命令?

Terraform 版本:0.13

最佳答案

对于遇到此问题的其他人,感谢@Nancy Xiong,这就是您如何继续使用heredoc样式...

resource "null_resource" "test" {

provisioner "local-exec" {
command = <<EOT
az vmss extension set --vmss-name my-vmss --name customScript --resource-group my-group version 2.0 --publisher Microsoft.Azure.Extensions provision-after-extensions NetworkWatcherAgentLinux VMAccessForLinux settings '{"commandToExecute": "echo testing"}'
EOT
}
}

关于azure - Terraform AZ CLI 本地执行命令限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63369147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com