0
私はテラフォームにAzureのVMのためCustomScriptExtensionを定義し

定義AzureのVM CustomScriptExtension(期待状態 '要素' .. '名前空間 '' ' の名前を持つ 'テキスト' が発生しました。 "")

resource "azurerm_virtual_machine_extension" "test" { 
    name = "WinRM" 
    location = "South Central US" 
    resource_group_name = "${azurerm_resource_group.test.name}" 
    virtual_machine_name = "${azurerm_virtual_machine.test.name}" 
    publisher = "Microsoft.Compute" 
    type = "CustomScriptExtension" 
    type_handler_version = "1.8" 

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

} 
何の問題もなく Azure deployment作品として実行

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 'WinRM'. Error message: \"Invalid handler configuration. Exiting. Error Message: Expecting state 'Element'.. Encountered 'Text' with name '', namespace ''. \"."

同じパラメータ(以下、関連抜粋):

私が手しかし(同じエラーがVMの拡張でAzureのポータルに表示されます)

"fileUris": { 
    "type": "string", 
    "defaultValue": "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1", 
    "metadata": { 
    "description": "The uri list of files. Split by a space." 
    } 
}, 
"settings": { 
    "fileUris": "[split(parameters('fileUris'), ' ')]", 
    "commandToExecute": "[parameters('commandToExecute')]" 
} 

アムは、私が何かが足りない、またはそれがテラフォームのバグですか?


いくつかのデバッグ:

  • 私だけで設定が交換する場合:

    { 
        "commandToExecute": "mkdir C:\\Test" 
    } 
    

    ディレクトリが作成されますが、その問題はfileUrisです。

  • 私は(間違っているはずです)fileUriと設定JSONでfileUrisを交換する場合:ConfigureRemotingForAnsible.ps1が欠落なしEncountered 'Text' with name '', namespace ''. \".エラー、powershell.exe火災との報告はありません

    { 
        "fileUri": "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1", 
        "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File ConfigureRemotingForAnsible.ps1" 
    } 
    

    私が知られているよう

答えて

1

Error message: \"Invalid handler configuration. Exiting. Error Message: Expecting state 'Element'.. Encountered 'Text' with name '', namespace ''. \"."

fileUrisの値の型が配列する必要があり、私は文字列値としてfileUrisを設定した場合、その後、私は同じエラーを取得することができ、Azureの展開でそれをテストしていますあなたが提供した通りです。

enter image description here

UPDATE

fileUrisは、次のように次のようになります。

"settings": { 
    "fileUris": [ 
    "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1" 
    ], 
    "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File ConfigureRemotingForAnsible.ps1" 
} 
+0

興味深い...私はまた、文字列の値を使用して、にリンクされRMの展開、エラーは発生しません。後でそれをチェックします。提案していただきありがとうございます。 – techraf

+1

ここには、提供されたリンクの** fileUris ** '" fileUris ":" [split(parameters( 'fileUris')、 '')] "の設定があります。 –

+0

ああ、私はどこに行ったのか分かります。 – techraf

関連する問題