Sie können dies tun, um die lineinfile
Modul unter Verwendung:
---
- name: Creating an AWS VPC inside mentioned Region
ec2_vpc:
region: "{{ vpc_region }}"
state: present
cidr_block: "{{ vpc_cidr_block }}"
resource_tags: { "Name":"{{ vpc_name }}-vpc", "Environment":"{{ ENVIRONMENT }}" }
subnets: "{{ vpc_subnets }}"
internet_gateway: yes
register: vpc
- name: Write public and private subnets ids to inventory file
lineinfile:
dest: "/path-to-your-inventory-file"
regexp: "^{{ item.resource_tags.Alias }}"
line: "{{ item.resource_tags.Alias }}: {{ item.id }}"
with_items: "{{ vpc.subnets }}"
Für detaillierte Anweisungen, können Sie diese ansible repo Hoffnung konsultieren, die Ihnen helfen könnten.
Ansible ist so konzipiert, dass es idempotent ist, also ist es nicht der beste Weg (obwohl ich mir sicher bin, dass es möglich ist). Warum nicht einfach das Modul [ec2_vpc_net_facts] (http://docs.ansible.com/ansible/ec2_vpc_net_facts_module.html) verwenden und die Subnetz-ID/den Subnetz-Namen als Fakten speichern? – Theo