Как сохранить выходное значение Json в переменной через Ansible

В Ansible я использую REST API... Мне нужно значение clientid из приведенного ниже кода и я хочу использовать его в другой задаче. Я использую модуль ansible uri.

 debug: var=clients.json.clientProperties[3].client.clientEntity.clientId
      when: name==clients.json.clientProperties[{{ item }}].client.clientEntity.clientName
      with_sequence: start=0 end={{clients.json.clientProperties|length-1}}

Я хочу сохранить «16» в одной переменной и мне нужно передать другой URL-адрес


person Dipali    schedule 26.09.2016    source источник
comment
модуль set_fact?   -  person Konstantin Suvorov    schedule 26.09.2016


Ответы (1)


- debug: var=clients.json.clientProperties[3].client.clientEntity.clientId
  when: name == clients.json.clientProperties[ item ].client.clientEntity.clientName
  with_sequence: start=0 end="{{clients.json.clientProperties|length-1}}"
  register: result

Вары, которые вы ищете, будут доступны по адресу result.results[].item. Вы можете перебрать result.results или получить доступ к результатам по отдельности с помощью result.results[0], result.results[1] и т. д.

person MillerGeek    schedule 26.09.2016
comment
Не могли бы вы уточнить это. Здесь. В нашем коде, когда имя совпадает с именем клиента, я хочу сохранить значение clientId. Мне не нужен весь файл массива json. - person Dipali; 27.09.2016
comment
Без дополнительного контекста я не уверен, что смогу дать лучший ответ, потому что вы делаете это в цикле. Вы не можете сохранить несколько значений в одну и ту же переменную, кроме как в виде списка, как я делаю здесь, что означает, что вы можете перезаписать нужное значение, прежде чем сможете его использовать. - person MillerGeek; 27.09.2016
comment
копировать: content={{clients.json.clientProperties[3].client.clientEntity.clientId}} dest=/tmp/result.txt, когда: name==clients.json.clientProperties[{{ item }}].client. clientEntity.clientName with_sequence: start=0 end={{clients.json.clientProperties|length-1}} - person Dipali; 27.09.2016
comment
здесь, в содержимом копии, я вручную передаю [3], но я хочу передать элемент вместо [3]... Но он дает {failed: true, msg: ошибка шаблона при шаблонировании строки: ожидаемый токен ':', получил ' }' - person Dipali; 27.09.2016