Ich muss eine Rolle erstellen, die automatisch Subnetze für VPC basierend auf der definierten AZ-Menge erstellt.So erstellen Sie eine verschachtelte Variable in der Ansible-Rolle
- name: Setup "{{ aws.vpc.name }}" VPC
ec2_vpc:
state: present
cidr_block: 172.20.0.0/16
resource_tags: { "Name": "{{aws.vpc.name}}" }
subnets:
- cidr: 172.20.1.0/24
az: us-east-1d
resource_tags: { "Name": "{{aws.vpc.name}}-1d" }
- cidr: 172.20.2.0/24
az: us-east-1c
resource_tags: { "Name": "{{aws.vpc.name}}-1c" }
internet_gateway: True
route_tables:
- subnets:
- 172.20.1.0/24
- 172.20.2.0/24
routes:
- dest: 0.0.0.0/0
gw: igw
region: {{ aws.vpc.region }}
Wie automatisch blockieren wie diese erzeugen, wenn ich wie
nur AZ Namenaws.vpc.az = ['a', 'c', 'e']
- cidr: 172.20.1.0/24
az: us-east-1d
resource_tags: { "Name": "{{aws.vpc.name}}-1d" }
So habe ich http://docs.ansible.com/ansible/playbooks_filters.html geprüft. Aber ich habe keine Möglichkeit gefunden, diesen Block dynamisch zu generieren
Ich fühle mich verwirrt mit Frage. Beabsichtigen Sie, eine Listenvariable 'az' im Verzeichnis' aws.vpc' für die Liste der AZs zu haben und dann dynamisch auf diese Liste zuzugreifen und diese Aufgabe über diese Liste auszuführen? Wenn du das nicht meinst, kannst du das näher ausführen? – rk2