Разбить переменную ansible k / v в хранилище hasicorp l oop logi c в значении - PullRequest
0 голосов
/ 19 января 2020

Может ли кто-нибудь помочь мне выяснить, можно ли разбить переменную ansible значением l oop logi c? Допустим, у меня есть переменная с l oop logi c для значения hashicorp vault внутри group_vars yaml, например:

     some_value: "{{ lookup('hashi_vault', 'secret=secret/hello:value auth_method=userpass username=myuser password=mypas url=http://myvault:8200') | default(‘something’, true)}}"

И я попытался сделать это более читабельным, например:

some_value: >- "{{ lookup('hashi_vault', 
               'secret=secret/hello:value 
                auth_method=userpass 
                username=myuser password=mypas 
                url=http://myvault:8200') | default(‘something’, true)}}"

Разрыв строки l oop с параметрами > и | . Но таким образом преобразуйте все запросы l oop в строку и вставьте в отладку как предложение.

Есть идеи, как разбить строки, не прерывая логи c?

1 Ответ

1 голос
/ 19 января 2020

Очень кратко (см. Документы ниже для получения дополнительной информации)

> - маркер скалярного блока, сложенного yaml. Ожидается строка, начинающаяся на следующей строке с отступом. Одиночные новые строки в конце строк будут преобразованы в пробелы. Пустая строка будет сохранена в виде символов новой строки

- - это индикатор хомпинга «нет новой строки в конце» для скалярного блока.

Возможное преобразование вашего выражения в сложенный блок может быть:

some_value: >-
  {{
  lookup('hashi_vault', 
  'secret=secret/hello:value 
  auth_method=userpass 
  username=myuser
  password=mypas 
  url=http://myvault:8200')
  | default(‘something’)
  }}

Существует много возможных вариантов.

Между тем, чтобы сделать это еще более читабельным, я бы разделил его на две разные переменные.

hv_params: >-
  secret=secret/hello:value 
  auth_method=userpass 
  username=myuser
  password=mypas 
  url=http://myvault:8200

some_value: "{{ lookup('hashi_vault', hv_params) | default('something') }}"

Ссылки:

...