Получить значение индекса из with_sequence в ansible - PullRequest
0 голосов
/ 06 августа 2020

как мне получить значение индекса "{{item}}", которое используется в with_sequence l oop в ansible? Я использую следующий код:

- name: Check if Route 53 DNS record exists
  route53:
    state: get
    zone: zone_id
    private_zone: true
    record: testrecord{{ item }}.foo.com
    type: A
  register: dns_record
  when: (dns_record is not defined) or (dns_record.set | length > 0)
  with_sequence: start=0 end=9

Когда этот блок кода завершается, я не могу получить значение {{item}}, как я могу использовать это значение позже?

1 Ответ

1 голос
/ 06 августа 2020

Когда этот блок кода завершается, я не могу получить значение {{item}}, как я могу использовать это значение позже?

Неправда; если бы вы изучили переменную из своего register: (с чем-то вроде - debug: var=dns_record), вы бы заметили, что есть список results, и это list[dict] с ключом верхнего уровня item, показывающий значение item на каждой итерации

  tasks:
  - debug:
      msg: item is {{ item }}
    with_sequence: start=0 end=5
    register: the_items
  - debug: var=the_items

дает

TASK [debug] ********************************************************************************************************************
ok: [localhost] => {
    "the_items": {
        "changed": false,
        "msg": "All items completed",
        "results": [
            {
                "ansible_loop_var": "item",
                "changed": false,
                "failed": false,
                "item": "0",
                "msg": "item is 0"
            },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...