How to pass range of input with vars_prompt

13 views
Skip to first unread message

srinivas a

unread,
Jan 2, 2019, 5:48:37 AM1/2/19
to Ansible Project

Hi Experts,

I have a question, can we pass a range of inputs with vars_prompt.
example:
From the below playbook, i am able to pass multiple port numbers split by ",".
prompt: Please enter the port name: 0/1,0/2,0/3,0/4,0/5

 But when I want to pass the input of ports in a range.
prompt: Please enter the port name: 0/1-0/5

Any suggestion on how to pass that.

- hosts: localhost
  gather_facts: no
  vars_prompt:
  - name: ip_addr
    prompt: Please enter the switch name
    private: no
  - name: port_name
    prompt: Please enter the port name
    private: no

  vars_files:
    - ../vars/password.yml

  vars:
    port_speed: "8"

  tasks:
  - add_host:
      name: "{{ip_addr}}"
      groups: dynamically_created_hosts
    with_items: "{{ip_addr.split(',')}}" 
  - name: Change port speed
    port_speed_change:
      switch_ip: "{{item}}"
      user: "{{user}}"
      password: "{{password}}"
      checkmode: "{{ansible_check_mode}}"
      name: "{{port_name}}"
      speed: "{{port_speed}}"

Eric Leung

unread,
Jan 2, 2019, 5:56:04 AM1/2/19
to Ansible Project
Hi,

This should be done via using Jinjia2.

This blog should give you some ideas.


Regards,
Eric.
Reply all
Reply to author
Forward
0 new messages