This isn't tested, but I believe it would look something like:
"{{ reg_endpoint2.json.array_with_many_elements +
[reg_endpoint1.json.id_list[0].id] }}"
You need to perform the concatenation inside of a single {{ }}
On Fri, Apr 17, 2015 at 3:43 PM, Michael Liu <[email protected]> wrote:
> I'm having an issue adding an element to an array. What i need to do is...
>
> 1) get an array list of IDs from an api using the uri module (no issues
> here)
> 2) add an element to this array (issue here!)
> 3) send a PUT with the updated array using uri (no issues here)
>
> ====tasks start====
>
> - name: get data from endpoint 1
> uri: url=https://someapi.com/endpoint1.json method=GET
> HEADER_api_key="xxxxxxxxxxxx"
> register: reg_endpoint1
>
> - name: get data from endpoint 2
> uri: url=https://someapi.com/endpoint2.json method=GET
> HEADER_api_key="xxxxxxxxxxxx"
> register: reg_endpoint2
>
> - name: make an array element from id from endpoint 1, then add this to
> endpoint 2 array, save as updated_array
> set_fact: updated_array="{{ reg_endpoint2.json.array_with_many_elements
> }} + [ {{ reg_endpoint1.json.id_list[0].id }} ]"
>
> - name: put data with updated_array
> uri:
> method=PUT
> url=https://someapi.com/endpoint3.json
> HEADER_api_key="xxxxxxxxxxxx"
> HEADER_Content-Type="application/json"
> body={{ lookup('template','/full/path/to/file.json.j2') }}
>
> ====tasks end====
>
>
> ====/full/path/to/file.json.j2====
>
> '{
> "something1": {
> "otherthing2": {
> "thatotherthing3": {{ updated_array }}
> }
> }
> }'
>
> ==========================
>
>
> My output error contains:
>
> <server1> REMOTE_MODULE uri method=PUT url=
> https://someapi.com/endpoint3.json HEADER_api_key="xxxxxxxxxxxx"
> HEADER_Content-Type="application/json" body='{
> "something1": { "otherthing2": { "thatotherthing3": [13651171, 13651172] +
> [ 12994448 ] } } }'
>
>
> As you can see the array is malformed from the set_fact task:
>
> [13651171, 13651172] + [ 12994448 ]
>
> Question:
> How do I make {{ updated_array }} look like this:
>
> [13651171, 13651172, 12994448 ]
>
> 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 [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/c0b1f256-2e28-44ec-af89-069f3e33815b%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/c0b1f256-2e28-44ec-af89-069f3e33815b%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
--
Matt Martz
@sivel
sivel.net
--
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/CAD8N0v9_eiTK9rQt6z12WvXHQGFphDN7x-He-S57BOXLG8igPQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.