2
私はAnsibleプレイブックのユーザー入力に基づいて特定の変数を選択したいと思います。具体的には、サーバーの場所に関するユーザー入力を求めてから、その入力に基づいて特定のアクションを実行したいと考えています。Ansible - 変数を選択するためのユーザー入力の使用
これは、現在のansible脚本です:脚本を実行している
- hosts: all
remote_user: root
gather_facts: True
vars:
loc1: "10.13.1.140"
loc2: "10.13.1.141"
loc3: "10.13.1.142"
vars_prompt:
- name: location
prompt: "Location of server? Input options: loc1/loc2/loc3"
private: no
tasks:
- name: Test connectivity to user selected location
wait_for: host={{ vars.location }} port=9999 delay=0 timeout=10 state=started
出力:
[[email protected] cfengine]# ansible-playbook testpoo.yaml -i /tmp/test
SSH password:
Location of server? Input options: loc1/loc2/loc3: loc2
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [hostname.domain.com]
TASK [Test connectivity to user selected location] *****************************
fatal: [hostname.domain.com]: FAILED! => {"changed": false, "elapsed": 10, "failed": true, "msg": "Timeout when waiting for loc2:9999"}
PLAY RECAP *********************************************************************
hostname.domain.com : ok=1 changed=0 unreachable=0 failed=1
私は、ユーザー入力に読み取りリンクする方法または最善の方法を知っているしたいと思います
変数セクションの一番上に定義されているロケーションの実際の値(IPアドレス)を持つロケーション。おそらく評価や他の何か?
それは魅力のように働きました。助けてくれてありがとう!!! – nickyt4free