I'm trying to create a VPC with certain tags which are derived from variables. I feel like I can't find the right YAML/Jinja/whatever syntax to make it work though.
At first I tried setting them in the resource_tags directly when using the ec2_vpc module like so: - name: Create VPC for new environment local_action: module: ec2_vpc state: present cidr_block: 10.0.0.0/16 resource_tags: { "Name": "marketplace-{{ environment }}" } region: "{{ aws_region }}" dns_hostnames: true dns_support: true internet_gateway: true validate_certs: true instance_tenancy: default wait: true subnets: [] route_tables: [] register: new_vpc While this executes without errors it results in a VPC with the Name tag of "marketplace-{}" which is obviously not what I want. And if my Name tag starts out with a "{" like "{{ environment }}-marketplace" then I get this error: failed: [localhost] => {"failed": true, "parsed": false} invalid output was: Traceback (most recent call last): File "/home/mpeters/.ansible/tmp/ansible-tmp-1403121708.45-114116167152383/ec2_vpc", line 2001, in <module> main() File "/home/mpeters/.ansible/tmp/ansible-tmp-1403121708.45-114116167152383/ec2_vpc", line 599, in main (vpc_dict, new_vpc_id, subnets_changed, changed) = create_vpc(module, vpc_conn) File "/home/mpeters/.ansible/tmp/ansible-tmp-1403121708.45-114116167152383/ec2_vpc", line 278, in create_vpc previous_vpc = find_vpc(module, vpc_conn, id, cidr_block) File "/home/mpeters/.ansible/tmp/ansible-tmp-1403121708.45-114116167152383/ec2_vpc", line 240, in find_vpc if resource_tags and set(resource_tags.items()).issubset(set(vpc_tags.items())): TypeError: unhashable type: 'dict' So I though, maybe ec2_vpc does run the Jinja templating on the values in the resource_tags dictionary. So I then tried to create the VPC with a dummy name tag, save it's vpc_id and then use ec2_tag to add the tags in a separate task: - name: Tag the new VPC local_action: ec2_tag resource={{ new_vpc.vpc_id }} region={{ aws_region }} state=present args: tags: Name: "marketplace-{{ environment }}" But this results in the same thing (vpc with a Name tag of "marketplace-{}" instead of something like "marketplace-branch-XYZ". Am I confused about the YAML/Jinja syntax to accomplish what I want or is using variables in EC2 tags not supported? And if it's not supported would pull requests to add it be something folks would like? Thanks -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAJQqANdT3ZGVdMHTosC9WQm23qk%3DmSLTJED8v51edgb8gV-dWQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.