【问题标题】:Terraform virtual machine extension Runs with ErrorTerraform 虚拟机扩展运行时出错
【发布时间】:2022-08-18 15:43:54
【问题描述】:

当我尝试运行以下命令时,它无法执行虚拟机扩展。

resource \"azurerm_virtual_machine_extension\" \"main\" {
  name                 = \"vm12345\"
  virtual_machine_id   = azurerm_virtual_machine.main.id
  publisher            = \"Microsoft.Azure.Extensions\"
  type                 = \"CustomScript\"
  type_handler_version = \"2.0\"

 settings = <<SETTINGS  
 {  
    \"fileUris\": \"https://www.githubprogrammercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1\" 
    \"commandToExecute\": \"powershell.exe -ExecutionPolicy Unrestricted -File ConfigureRemotingForAnsible.ps1\"  
}  
SETTINGS
}  

但我仍然有同样的问题,我错过了什么吗?

azurerm_virtual_machine_extension.test: compute.VirtualMachineExtensionsClient#CreateOrUpdate: Failure sending request: StatusCode=200 -- Original Error: Long running operation terminated with status \'Failed\': Code=\"VMExtensionProvisioningError\" Message=\"VM has reported a failure when processing extension \'vm12345\'. Error message: \\\"Invalid handler configuration. Exiting. Error Message: Expecting state \'Element\'.. Encountered \'Text\' with name \'\', namespace \'\'. \\\".\"

    标签: terraform terraform-provider-azure


    【解决方案1】:

    如果fileUris 的格式不正确,则可能会导致此错误,请确保它应该在数组格式

    请检查以下 cmdlet

     resource "azurerm_virtual_machine_extension" "main" {
      name                 = "vm12345"
      virtual_machine_id   = azurerm_virtual_machine.main.id
      publisher            = "Microsoft.Azure.Extensions"
      type                 = "CustomScript"
      type_handler_version = "2.0"
            settings = <<SETTINGS
            {
                "fileUris": [
                    "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"],
                "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File ConfigureRemotingForAnsible.ps1"
            }
        SETTINGS
        }
    

    【讨论】:

      【解决方案2】:

      我怀疑您的代码结构格式不正确。此处需要定义。当我进行适当的缩进时,上面的代码没有错误。 来自 Terraform 示例注册表 [此处][1]

      设置 = <<设置 { “fileUris”:“https://www.githubprogrammercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1” “commandToExecute”:“powershell.exe -ExecutionPolicy Unrestricted >-File ConfigureRemotingForAnsible.ps1” } 设置

      你可以试试上面的 sn -p 看看是否再次显示错误。 [1]:https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_machine_extension

      【讨论】:

      • 请使用代码块正确格式化代码。
      猜你喜欢
      • 2022-12-21
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2020-10-22
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      • 1970-01-01
      相关资源
      最近更新 更多