Ansible resolve dictionary key or parameter variable

In Ansible, if I try to use a variable as a parameter name, or a key name, it is never resolved. For example, if I have {{ some_var }}: true, or:

template: “{{ resolve_me_to_src }}”: “some_src”

the variables will just be used literally and never resolve. My specific use case is using this with the ec2 module, where some of my tag names are stored as variables:

  • name: Provision a set of instances
    ec2:
    group: “{{ aws_security_group }}”
    instance_type: “{{ aws_instance_type }}”
    image: “{{ aws_ami_id }}”
    region: “{{ aws_region }}”
    vpc_subnet_id: “{{ aws_vpc_subnet_id }}”
    key_name: “{{ aws_key_name }}”
    wait: true
    count: “{{ num_machines }}”
    instance_tags: { “{{ some_tag }}”: “{{ some_value }}”, “{{ other_tag }}”: “{{ other_value }}” }

Is there any way around this? Can I mark that I want to force evaluation somehow?

Eli

By the way, I’m on 1.8.2, in case that helps.

Where are you defining those variables that you expect to be resolved by instance_tags? For example, are you doing it in host_vars/localhost?
BTW, have you had a look at http://docs.ansible.com/ec2_tag_module.html?