Escape those braces:
- set_fact: >
sshkey_json='\{"text": "{{public_key_contents.stdout}}"\}'
results in:
TASK: [debug var=sshkey_json]
*************************************************
ok: [127.0.0.1] => {
"sshkey_json": "\\{\"text\": \"ssh-rsa blahblah comment\"\\}"
}
Which I think is what you want.
On Sun, Jan 19, 2014 at 8:55 PM, <[email protected]> wrote:
> An API that I use accepts only JSON. I'm creating what I need with
> set_fact, which I'll later use with the uri module. However, the curly
> braces are getting interpreted as a dictionary or something.
>
> Here's my playbook:
>
>
>
> ---
> - name: Create server
> gather_facts: no
> hosts: local
>
> tasks:
> - command: cat /home/jim/.ssh/id_rsa.pub
> register: public_key_contents
> - set_fact: >
> sshkey_json='{"text": "{{public_key_contents.stdout}}"}'
> - debug: var=sshkey_json
>
>
>
>
> The results of this are:
>
>
>
> TASK: [debug var=sshkey_json]
> *************************************************
> ok: [localhost] => {
> "sshkey_json": *{*
> "text": "ssh-rsa blahblah jim"
> *}*
> }
>
>
> The red, bolded quotes should be part of the string but it seems like they
> are not. How can I accomplish this?
>
> --
> 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].
> For more options, visit https://groups.google.com/groups/opt_out.
>
--
James Cammarata <[email protected]>
Sr. Software Engineer, AnsibleWorks, Inc.
http://www.ansibleworks.com/
--
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].
For more options, visit https://groups.google.com/groups/opt_out.