Ansible arbeitet mit EC2-Tags

Ansible arbeitet mit EC2-Tags

Ich habe ein Playbook mit dynamischem EC2-Inventar, unten ist die Grafik.

$ 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:

Was ist nun, wenn ich set_facts für ein bestimmtes Tag verwenden muss? Beispiel: Ich muss so etwas verwenden.

Da ich das Plugin bereits für die dynamische Bestandsaufnahme verwende, sollte es einfach genug sein, denke ich

- set_fact:
    deploy: uat
  when:  "ec2_tags/hostgroups('nonprod_uat')"
  • debug: var=hostvars gibt mir auch die Tag-Informationen, aber ich muss wissen, wie ich sie verwende, um set_facts im Playbook zu setzen

Antwort1

Habe die Antwort selbst nach einigem Ausprobieren bekommen

  • set_fact: Bereitstellung: uat wann: hostvars[Inventar-Hostname].tags.Environment == 'uat'

verwandte Informationen