try w/o a filter On Fri, Jun 19, 2015 at 1:06 PM, Bruno Galindro da Costa <[email protected]> wrote: > I need to configure ansible to make ssh connections to my EC2 instances > based on parameters configure in ec2 tags. I've successfully done this using > ec2.py script to build dynamic inventory. With this great functionality, > I've setup 3 tags that contains all what I need to make ssh connections to > my ec2 hosts, like this example: > > - hosts: tag_v3_elasticsearch_prod_True > vars: > - ansible_ssh_private_key_file: "{{ ec2_tag_ssh_key | default('sv3.key') > }}" > - ansible_ssh_port: "{{ ec2_tag_ssh_port | default(22) }}" > - ansible_ssh_user: "{{ ec2_tag_ssh_user | default('ubuntu') }}" > tasks: > - SOME TASKS.... > > > But, amazon has a limit of 10 tags by ec2 instances (I use many other tags > associated with my ec2 instances). So, I need to join some tags into one to > avoid pass this limit. Them, I've an idea to join those 3 ssh tags into one > using json format, like this: > > ssh: {"ssh_key": "prod.key", "ssh_port": "22", "ssh_user": "ansible"} > > And them, I've configured my playbook to parse this variable with from_json > filter. > > --- > - hosts: tag_v3_elasticsearch_prod_True > vars: > - ssh_private_key_file: "{{ ec2_tag_ssh | from_json }}" > - ssh_port: "{{ ec2_tag_ssh | from_json }}" > - ssh_user: "{{ ec2_tag_ssh | from_json }}" > tasks: > - debug: var=ssh_private_key_file > - debug: var=ssh_port > - debug: var=ssh_user > > > But, a warning message is displayed to me. It seems that from_json filter > isn't recognized in playbook vars section. > > How can I solve my problem? > > [WARNING]: non fatal error while trying to template play variables: Failed > to > template {{ ec2_tag_ssh | from_json }}: an unexpected type error occurred. > Error was expected string or buffer > > > PLAY [tag_v3_elasticsearch_prod_True] > ***************************************** > > GATHERING FACTS > *************************************************************** > ok: [x.x.x.xxx] > > TASK: [debug var=ssh_private_key_file] > **************************************** > ok: [x.x.x.xxx] => { > "var": { > "ssh_private_key_file": { > "ssh_key": "prod.pem", > "ssh_port": "22", > "ssh_user": "ansible" > } > } > } > > TASK: [debug var=ssh_port] > **************************************************** > ok: [x.x.x.xxx] => { > "var": { > "ssh_port": { > "ssh_key": "prod.pem", > "ssh_port": "22", > "ssh_user": "ansible" > } > } > } > > TASK: [debug var=ssh_user] > **************************************************** > ok: [x.x.x.xxx] => { > "var": { > "ssh_user": { > "ssh_key": "prod.pem", > "ssh_port": "22", > "ssh_user": "ansible" > } > } > } > > PLAY RECAP > ******************************************************************** > x.x.x.xxx : ok=4 changed=0 unreachable=0 failed=0 > > > > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/f83550e9-8017-4170-b871-98be886e72a9%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout.
-- Brian Coca -- 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 [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAJ5XC8m3W6rMraYoZ_vFbeQegqEU2xhXR6hUQBVxhGH%3D915PnQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
