[英]Set sequential tag name multiple ec2 instances in ansible playbook
[英]ansible playbook when: condition ec2 tag is set
伙計們,如果要在實例上設置ec2標簽,我想運行一個簡單的命令,可以說設置主機名。 考慮以下:
- name: Gather facts
action: ec2_facts
- name: Get instance ec2 facts
action: ec2_facts
register: ec2_facts
- name: Get resource tags from ec2 facts
sudo: false
local_action: ec2_tag resource={{ec2_facts.ansible_facts.ansible_ec2_instance_id}} region={{ec2_facts.ansible_facts.ansible_ec2_placement_region}} state=list
register: ec2_tags
- debug: msg="{{ ec2_tags.tags }}"
輸出:
TASK: [foo | debug msg="{{ ec2_tags.tags }}"] *****************************
ok: [10.1.15.119] => {
"msg": "{'role': 'foo', 'Name': 'YAY', 'service': 'web', 'env': 'dev'}"
}
所以現在,我想執行以下操作:
如果存在ec2_tags.tags.Name
,則設置一個主機名。 如何在劇本中使用它 ? 這似乎失敗了:
- name: friendly hostname
hostname: name={{ec2_tags.tags.Name}}
when: {{ec2_tags.tags.Name}}
謝謝!
when: ec2_tags.tags.Name is defined
時應執行此操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.