
ホスト ファイルからグループの最初のホストの最初の 8 文字を取得できるようにしたいと考えています。そのため、以下の例では、変数を割り当てる必要がありますxx33sx01
。inventory_hostname を使用してホストを取得できることはわかっていますが、4 つすべてが返され、必要なのは最初のホストと最初の 8 文字だけです。
Ansible のインベントリの例 (INI スタイル):
[TEST1]
xx33sx0101.domain.com
xx33sx0102.domain.com
xx33sx0103.domain.com
xx33sx0104.domain.com
ansible-playbook /local_home/scripts/test.yml -i ~/hosts -e "target=TEST1" -K
答え1
グループの最初のホスト名の最初の8文字を取得するには、次のようにします。
- debug:
msg: "{{ groups[target_group][0][:8] }}"
vars:
target_group: TEST1
(未検証)
- デバッグタスクを機能させるには、もちろんグループがプレイブックで利用可能である必要があります。例えば
- hosts: all
tasks:
- debug:
msg: "{{ groups[target_group][0][:8] }}"
- 在庫に基づいた発注実行選択に影響を与える可能性があります。