我有一本包含動態 ec2 庫存的劇本,下圖是。
$ ansible-inventory -i inventory/dynamic_inventory/uat_aws_ec2.yaml --graph
@all:
|--@aws_ec2:
| |--xx.xxx.xx.xx
| |--xx.xxx.xx.xx
| |--xx.xxx.xx.xx
|--@nonprod_uat:
| |--xx.xxx.xx.3
| |--xx.xxx.xx.1
| |--xx.xxx.xx.2
|--@uat_auth:
| |--xx.xxx.xx.xx
|--@uat_web:
| |--xx.xxx.xx.xx
|--@ungrouped:
現在,如果我需要對特定標籤使用 set_facts ?例如,我需要使用這樣的東西。
由於我已經在使用動態庫存插件,所以我想它應該足夠簡單
- set_fact:
deploy: uat
when: "ec2_tags/hostgroups('nonprod_uat')"
- debug: var=hostvars 還為我提供了標籤信息,但需要知道如何使用它來在劇本上設置_facts
答案1
經過一些嘗試和錯誤後我自己得到了答案
- set_fact:部署:uat 時:hostvars[inventory_hostname].tags.Environment == 'uat'