Je dois créer un rôle qui crée automatiquement des sous-réseaux pour VPC en fonction de la quantité d'AZ définie.Comment construire une variable imbriquée dans un rôle Ansible
- 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 }}
Comment générer automatiquement bloquer comme celui-ci si j'ai seulement le nom AZ comme
aws.vpc.az = ['a', 'c', 'e']
- cidr: 172.20.1.0/24
az: us-east-1d
resource_tags: { "Name": "{{aws.vpc.name}}-1d" }
Donc, j'ai vérifié http://docs.ansible.com/ansible/playbooks_filters.html. Mais je n'ai pas trouvé un moyen de générer dynamiquement ce bloc
Je me sens confus avec la question. Avez-vous l'intention d'avoir une variable de liste 'az' dans le dictionnaire' aws.vpc' pour la liste des AZ, puis vous voulez accéder dynamiquement à cette liste et effectuer cette tâche sur cette liste? Si ce n'est pas ce que vous voulez dire, pouvez-vous élaborer? – rk2