Hello anyone can help me get n this below?

On Fri 27 Nov 2020 at 19:01, [email protected] <[email protected]>
wrote:

> Hello
>
>
>
> I have 2 json files:
>
>
>
> *File Json1 *
>
> {
>
>     "name": "",
>
>     "description": "",
>
>     "spec": [
>
>         {
>
>             "question_name": "VM Name",
>
>             "question_description": "",
>
>             "required": true,
>
>             "type": "text",
>
>             "variable": "VM_Name",
>
>             "min": 0,
>
>             "max": 1024,
>
>             "default": "",
>
>             "choices": "",
>
>             "new_question": true
>
>         },
>
>         {
>
>             "question_name": "Select a Veeam Backup Job",
>
>             "question_description": "",
>
>             "required": true,
>
>             "type": "multiplechoice",
>
>             "variable": "Job_Name",
>
>             "min": null,
>
>             "max": null,
>
>             "default": "",
>
>             "choices":
>
>         }
>
>     ]
>
> }
>
>
>
>
>
> *File Json2*
>
> “Jobs_List_Data”:["JOB-1" , "JOB-2","JOB-3", "JOB-4"]
>
>
>
>
>
>   I'm stuck in modifying the File Json1 with error:
>
>
>
> TASK [json_modify]
> *******************************************************************************************************
>
> <127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
>
> <127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
>
> <127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo
> /root/.ansible/tmp `"&& mkdir
> /root/.ansible/tmp/ansible-tmp-1606499676.6535082-233822-207184568804253 &&
> echo ansible-tmp-1606499676.6535082-233822-207184568804253="` echo
> /root/.ansible/tmp/ansible-tmp-1606499676.6535082-233822-207184568804253 `"
> ) && sleep 0'
>
> Using module file
> /usr/local/lib/python3.6/site-packages/ansible/modules/json_modify.py
>
> <127.0.0.1> PUT
> /root/.ansible/tmp/ansible-local-233716vja5qmf5/tmphostnj3p TO
> /root/.ansible/tmp/ansible-tmp-1606499676.6535082-233822-207184568804253/AnsiballZ_json_modify.py
>
> <127.0.0.1> EXEC /bin/sh -c 'chmod u+x
> /root/.ansible/tmp/ansible-tmp-1606499676.6535082-233822-207184568804253/
> /root/.ansible/tmp/ansible-tmp-1606499676.6535082-233822-207184568804253/AnsiballZ_json_modify.py
> && sleep 0'
>
> <127.0.0.1> EXEC /bin/sh -c '/usr/bin/python3
> /root/.ansible/tmp/ansible-tmp-1606499676.6535082-233822-207184568804253/AnsiballZ_json_modify.py
> && sleep 0'
>
> <127.0.0.1> EXEC /bin/sh -c 'rm -f -r
> /root/.ansible/tmp/ansible-tmp-1606499676.6535082-233822-207184568804253/ >
> /dev/null 2>&1 && sleep 0'
>
> The full traceback is:
>
>   File
> "/tmp/ansible_json_modify_payload_zjd6hujn/ansible_json_modify_payload.zip/ansible/modules/json_modify.py",
> line 38, in main
>
>   File "/usr/local/lib/python3.6/site-packages/jsonpointer.py", line 126,
> in resolve_pointer
>
>     return pointer.resolve(doc, default)
>
>   File "/usr/local/lib/python3.6/site-packages/jsonpointer.py", line 204,
> in resolve
>
>     doc = self.walk(doc, part)
>
>   File "/usr/local/lib/python3.6/site-packages/jsonpointer.py", line 272,
> in walk
>
>     raise JsonPointerException("index '%s' is out of bounds" % (part, ))
>
> fatal: [localhost]: FAILED! => {
>
>     "changed": false,
>
>     "invocation": {
>
>         "module_args": {
>
>             "action": "update",
>
>             "append": null,
>
>             "data": {
>
>                 "description": "",
>
>                 "name": "",
>
>                 "spec": [
>
>                     {
>
>                         "choices": "",
>
>                         "default": "",
>
>                         "max": 1024,
>
>                         "min": 0,
>
>                         "new_question": true,
>
>                         "question_description": "",
>
>                         "question_name": "VM Name",
>
>                         "required": true,
>
>                         "type": "text",
>
>                         "variable": "VM_Name"
>
>                     },
>
>                     {
>
>                         "choices": null,
>
>                         "default": "",
>
>                         "max": null,
>
>                         "min": null,
>
>                         "question_description": "",
>
>                         "question_name": "Select a Veeam Backup Job",
>
>                         "required": true,
>
>                         "type": "multiplechoice",
>
>                         "variable": "Job_Name"
>
>                     }
>
>                 ]
>
>             },
>
>             "extend": null,
>
>             "pointer": "/spec/2/choices/",
>
>             "update": {
>
>                 "Backup_Jobs_Lists": [
>
>                                   "JOB-1",
>
>                                   " JOB-2",
>
>                                   "JOB-3",
>
>                                   " JOB-4"
>
>                 ]
>
>             }
>
>         }
>
>     },
>
> *    "msg": "index '2' is out of bounds"*
>
> }
>
>
>
>
>
> The final json file should be like this
>
>
>
>
>
> *Final Json: *
>
> {
>
>     "name": "",
>
>     "description": "",
>
>     "spec": [
>
>         {
>
>             "question_name": "VM Name",
>
>             "question_description": "",
>
>             "required": true,
>
>             "type": "text",
>
>             "variable": "VM_Name",
>
>             "min": 0,
>
>             "max": 1024,
>
>             "default": "",
>
>             "choices": "",
>
>             "new_question": true
>
>         },
>
>         {
>
>             "question_name": "Select a Veeam Backup Job",
>
>             "question_description": "",
>
>             "required": true,
>
>             "type": "multiplechoice",
>
>             "variable": "Job_Name",
>
>             "min": null,
>
>             "max": null,
>
>             "default": "",
>
>            * "choices": ["JOB-1" , "JOB-2", "JOB-3", "JOB-4"]*
>
>         }
>
>     ]
>
> }
>
>
>
>
>
> Here is my code:
>
>
>
> - hosts: localhost
>
>   tasks:
>
>   - name: load json file
>
>     include_vars:
>
>       file: surveyjobs.json
>
>       name: json1
>
>
>
>   - debug:
>
>       var: json1
>
>
>
>   - name: load json file
>
>     include_vars:
>
>       file: Jobs_list.json
>
>       name: json2
>
>
>
>   - debug:
>
>       var: json2
>
>
>
>   - json_modify:
>
>       data: "{{json1}}"
>
>       pointer: "/spec/2/choices/"
>
>       action: update
>
>       update: "{{ json2 }}"
>
>     register: result
>
>
>
>   - debug:
>
>       var: result.result
>
>
>
>
>
> Thanks for your help !
>
> --
> 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 view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/0a756683-0c7a-45cc-8ac1-3f2fd89eb341n%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/0a756683-0c7a-45cc-8ac1-3f2fd89eb341n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
-- 
Envoyé avec Gmail Mobile

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAHY7qGpsVo8dkHaqXm8NiCC%3DvPUFexnCYSA41AKGMHpeq6Gtbw%40mail.gmail.com.

Reply via email to