Я определил CustomScriptExtension для Azure VM в терраформировать:Определение Azure VM CustomScriptExtension в терраформировать (Ожидая состояние 'Element' .. Засада 'Текст' с именем '', пространство имен '' . "")
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 портала в расширениях VM):
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 ''. \"."
Те же параметры, выполненные в качестве Azure deployment работ без каких-либо проблем (соответствующие выдержки ниже):
"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')]"
}
Am я что-то отсутствует, или это ошибка в терраформировать?
Некоторые отладки:
Если я заменяю настройки с помощью всего:
{ "commandToExecute": "mkdir C:\\Test" }
каталог получает создан, так что проблема с
fileUris
.Если я заменяю
fileUris
в формате JSON настроек сfileUri
(который должен быть неправильно):{ "fileUri": "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1", "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File ConfigureRemotingForAnsible.ps1" }
нет ошибки
Encountered 'Text' with name '', namespace ''. \".
,powershell.exe
пожаров и отчеты отсутствуетConfigureRemotingForAnsible.ps1
.
Интересно ... Развертывание RM, который я связан, также использует значение строки, но не вызывает никаких ошибок. Позаботьтесь об этом позже. Спасибо за предложение. – techraf
Вот конфигурация для ** fileUris ** '" fileUris ":" [split (parameters ('fileUris'), '')] "' в вашей предоставленной ссылке. –
О, я вижу, где я сбился с пути. – techraf