Проблема с Ansible при попытке повторить некоторые данные с использованием переменных

#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. Это сработало. Спасибо, я не знал, как избежать этих столбцов.