खैर अगर हम कर रहे हैं जी गतिशील सूची का उपयोग करने के oing, तो मैं count_tags और exact_count का उपयोग करना चाहिये EC2 मॉड्यूल जब create.yml साथ उदाहरणों बनाने के साथ:
---
- hosts: localhost
connection: local
gather_facts: false
vars_files: { ./env.yml }
tasks:
- name: Provision a set of instances
ec2:
instance_type: "{{ item.value.instance_type }}"
image: "{{ image }}"
region: "{{ region }}"
vpc_subnet_id: "{{ item.value.vpc_subnet_id }}"
tenancy: "{{ tenancy }}"
group_id: "{{ group_id }}"
key_name: "{{ key_name }}"
wait: true
instance_tags:
Name: "{{ env_id }}"
Type: "{{ item.key }}"
count_tag:
Type: "{{ item.key }}"
exact_count: "{{ item.value.count }}"
with_dict: "{{ servers }}"
register: ec2
env.yml फ़ाइल उन सभी चर है, और सर्वर शब्दकोश:
---
env_id: JaxDemo
key_name: JaxMagicKeyPair
image: "ami-xxxxxxxx"
region: us-east-1
group_id: "sg-xxxxxxxx,sg-yyyyyyyy,sg-zzzzzzzz"
tenancy: dedicated
servers:
app:
count: 2
vpc_subnet_id: subnet-xxxxxxxx
instance_type: m3.medium
httpd:
count: 1
vpc_subnet_id: subnet-yyyyyyyy
instance_type: m3.medium
oracle:
count: 1
vpc_subnet_id: subnet-zzzzzzzz
instance_type: m4.4xlarge
अब, यदि आप सर्वर की संख्या को बदलना चाहते हैं, तो बस सर्वर शब्दकोश में गिनती बदलें। यदि आप उन सभी को हटाना चाहते हैं, तो हम सभी की गणना 0
या, यदि आप चाहें तो बनाएं।YMLdelete_all.yml, और केवल 1 सर्वर के साथ
exact_count: "{{ item.value.count }}"
साथ
exact_count: 0
बदलने के लिए फ़ाइल, इस ec2_facts चलाने के बाद मेरे लिए काम करने लगता है: {{ansible_ec2_instance_id}} – radtek