У меня есть шаблон виртуальной машины ARM построен следующим образом: refernceAnsible: Как использовать шаблон Azure RM в модуле `azure_rm_deployment`?
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": { },
"variables": { },
"resources": [ ],
"outputs": { }
}
с parameters.json
:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"adminUserName": { "value": "mytestacct1" },
"adminPassword": { "value": "mytestpass1" }
}
}
Я могу успешно развернуть машину с помощью этого шаблона в PowerShell:
New-AzureRmResourceGroupDeployment -ResourceGroupName $rgName -TemplateFile VirtualMachineTemplate.json -TemplateParameterFile Parameters.json
Однако, если я попытаюсь использовать один и тот же шаблон ели для анзибль azure_rm_deployment
модуля в следующей задаче:
- name: Ensure the VM is deployed to Azure
azure_rm_deployment:
state: present
resource_group_name: "{{ resource_group_name }}"
template: "{{ lookup('file', 'VirtualMachineTemplate.json') }}"
parameters: "{{ lookup('file', 'Parameters.json') }}"
Я получаю сообщение об ошибке:
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "failed_deployment_operations": [], "msg": "Deployment failed with status code: 400 and message: The request content was invalid and could not be deserialized: 'Error converting value \" https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json \" to type 'Microsoft.WindowsAzure.ResourceStack.Frontdoor.Data.Definitions.DeploymentParameterDefinition'. Path 'properties.parameters.$schema', line 1, position 142.'."}
Ошибка вызывается parameters.json
. Если я определяю параметры непосредственно в задаче:
- name: Ensure the VM is deployed to Azure
azure_rm_deployment:
state: present
resource_group_name: "{{ resource_group_name }}"
template: "{{ lookup('file', 'VirtualMachineTemplate.json') }}"
parameters:
adminUserName:
value: mytestacct1
adminPassword:
value: mytestpass1
Развертывает машину.
У меня здесь потеря. Требуется ли изменение шаблона для модуля Ansible?
Примечания:
В то же время я могу распределять ресурсы и виртуальные машины с помощью
azure_rm_storageaccount
,azure_rm_virtualmachine
и т.д. модулей, так что я думаю, это не проблема, библиотека; по крайней мере, не Microsoft Azure SDK для Python, который составляет 2.0.0rc5 за каждый.Просто убедитесь, что я также пробовал с
template_link
иparameters_link
, и сообщение об ошибке было таким же.