Я пытаюсь передать аргументы массива типа "string" из ansible playbook в сценарий powershell, который необходимо запускать как расширение vm для виртуальной машины, работающей в облаке Azure. Ниже приведен код ansible playbook
- name: Create VM extension
azure_rm_virtualmachine_extension:
name: "Extension"
location: "{{ var_location }}"
resource_group: "{{ var_ResourceGroup }}"
virtual_machine_name: "{{ var_vmname }}"
publisher: Microsoft.Compute
state: present
virtual_machine_extension_type: CustomScriptExtension
type_handler_version: "1.9"
auto_upgrade_minor_version: true
settings: '{"fileUris": ["{{ var_powershellscriptUrl }}"]}'
protected_settings: '{"commandToExecute": "[powershell -ExecutionPolicy Unrestricted -File {{PowershellUserScriptFileName }} -arg1 {{ Arrayofstring1 }} -arg2 {{ Arrayofstring2 }} -arg3 {{ Arrayofstring3 }} ]"}'
ignore_errors: true
Вывод приведенного ниже кода
- debug:
msg: {{ Arrayofstring1 }}
is \"VM1\", \"VM2\", \"VM3\"
Ошибка, возникающая при выполнении playbook:
"msg": "аргумент protected_settings имеет тип типа 'str', и мы не смоглипреобразовать в dict: невозможно оценить строку как словарь "}
Вопрос в том, как передать массив этих параметров в код powershell из ansible?