#ansible
#ansible
Вопрос:
У меня возникает задача Ansible, когда я пытаюсь сгенерировать часть запроса curl с echo, которая позже будет использоваться в команде curl. Задача выглядит следующим образом:
- name: Generate requestcode
shell: echo '{ title: '{{get_hostname.stdout}}', key: '{{ssh_pu_key.stdout}}' }'
debug: msg: { title: '{get_hostname.stdout}'}
register: curl_request
Ошибка, которую я вижу при попытке запустить код, заключается в следующем:
ERROR! Syntax Error while loading YAML.
The error appears to have been in '/root/wifirush.yml': line 54, column 26, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: Generate requestcode
shell: echo '{ title: '{{get_hostname.stdout}}', key: '{{ssh_pu_key.stdout}}' }'
^ here
We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:
with_items:
- {{ foo }}
Should be written as:
with_items:
- "{{ foo }}"
Есть предложения, как заставить это работать?
Ответ №1:
Использовать:
shell: echo "{ title{{ ":" }} '{{get_hostname.stdout}}', key {{ ":" }} '{{ssh_pu_key.stdout}}' }"
Комментарии:
1. Обновлен ответ.
2. Это сработало. Спасибо, я не знал, как избежать этих столбцов.