Изменить параметры в командной строке с элементом - PullRequest
0 голосов
/ 15 апреля 2020

Нам нужно создать стандарт ansible, который изменит только один параметр для указанных c команд в указанной c таблице

ex:

cmd: Sys; Cl; Codes; DPlan; Entry; get 1 PLO from {{ item.a }}; y
cmd: Sys; Cl; Codes; DPlan; Entry; get 1 PLO {{ item.b }} 12L; y

Так что я попробуйте использовать команду with_item, но мне кажется, что мой элемент никогда не определяется правильно

item.a = 712
item.b = "Call Type"

Я хочу что-то простое, потому что нам, возможно, придется добавить некоторые из них. (item.e, item.f, .....)

Есть идеи?

---
- name: test
  hosts: vicky
  user: job
  become: true
  become_user: vjob

  vars_prompt:
    - name: "bwcli_username"
      prompt: "Enter your bwcli username"
      private: no

    - name: "bwcli_password"
      prompt: "Enter your bwcli password"
      private: yes

  tasks:

    - name: get table with a specific entry
      bwcli:
         admin: yes
         admin_username: "{{ bwcli_username }}"
         admin_password: "{{ bwcli_password }}"
        cmd: Sys;Cl;Codes;DPlan;Entry;get 1 PLO from {{ item.a };y;get 1 PLO from {{ item.b }};y;get 1 ICNDP {{ item.calltype }} 12L;y

      with_items:
        - { item.a: 712, item.b: "Call Type" }

1 Ответ

1 голос
/ 15 апреля 2020

Преобразование в переменную item выполняется с помощью Ansible, поэтому каждый элемент в списке находится под item.

Так что вам нужно написать его так:

with_items:
  - { a: 712, b: "Call Type" }
  - { a: 222, b: "my second item" }

Или в визуально лучшем виде:

with_items:
  - a: 712
    b: "Call Type"
  - a: 222
    b: "my second item"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...