Thank you so much.  It's been hard trying to find any documentation on 
this.  Any links to good docs about this topic?  I feel like I'll be 
playing around a lot with json, arrays, and uri module in Ansible.

I own you a beer!  Next time you visit SF.

On Friday, April 17, 2015 at 1:59:36 PM UTC-7, Matt Martz wrote:
>
> 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] 
> <javascript:>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> 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/c742aa3b-a5a1-4411-9904-a231678eacf5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to