尝试通过terraform从azurerm_virtual_machine_extension执行wgetcommand,但是curl无法执行。
resource "azurerm_virtual_machine_extension" "extension_v1" {
name = "vm-extension"
virtual_machine_id = azurerm_virtual_machine.PrimaryVM.id
publisher = "Microsoft.Azure.Extensions"
type = "CustomScript"
type_handler_version = "2.0"
auto_upgrade_minor_version = true
settings = <<SETTINGS
{
"commandToExecute": " sudo wget -P /etc "https://example.sh";"
}
SETTINGS
}
字符串
要求是使用wget下载文件。无法为Azure扩展执行curl命令
1条答案
按热度按时间ehxuflar1#
我尝试通过Terraform从azurerm_virtual_machine_extension执行wget命令,并且我能够检查需要放置在配置中的修复。
代码片段似乎在JSON块中字符串的格式设置方面存在问题。您在双引号中使用了双引号,但没有对其进行转义,这将导致JSON解析错误。
如果你想使用
wget
,坚持使用它,不要和curl
混合使用。wget
和curl
都是从web获取内容的工具,但是它们有不同的语法和选项。我的demo地形配置:
main.tf:
字符串
一旦您完成了使用shell脚本配置所提到的域,即example.sh
开始执行命令
Terraform init
地形图
适用Terraform
通过对上述代码进行必要的更改,我们将能够通过terraform从azurerm_virtual_machine_extension执行wget命令。
一旦你能够运行命令,运行URL下载shell脚本,你试图这样做。