1
정의 된 AZ의 양을 기준으로 VPC 용 서브넷을 자동으로 만드는 역할을 작성해야합니다. 신뢰할 수있는 역할에 중첩 된 변수를 작성하는 방법
- 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 }}
는 어떻게 자동으로 생성 내가 그래서,
http://docs.ansible.com/ansible/playbooks_filters.html을 확인했다
aws.vpc.az = ['a', 'c', 'e']
- cidr: 172.20.1.0/24
az: us-east-1d
resource_tags: { "Name": "{{aws.vpc.name}}-1d" }
같은 단지 AZ 이름이있는 경우 이와 같은 차단합니다. 그러나이 블록을 동적으로 생성하는 방법을 찾지 못했습니다.
질문과 혼동 스럽습니다. AZ 목록에 사전'aws.vpc'에리스트 변수'az'를 넣으려고합니까? 그런 다음이리스트에 동적으로 액세스하여이 작업을 수행 하시겠습니까? 그것이 당신이 의미하는 것이 아니라면, 당신은 정교 할 수 있습니까? – rk2