THanks Sumit , So I can convert whole .yaml file( Which contains all REST data) to .json file (which will contain json data). Can you give snippet of code for yaml file to json file conversion
Regards Rahul On Tue, 12 Nov 2019 at 19:13, Sumit Jaiswal <[email protected]> wrote: > Hi Rahul, > > If you just want to convert .json data to .yaml data then you can use the > `to_yaml` filter, ref: > https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#filters-for-formatting-data > > *Regards,* > Sumit Jaiswal > Github/IRC: *justjais* > > On Tue, Nov 12, 2019 at 6:37 PM Rahul Kumar <[email protected]> > wrote: > >> Hi Sumit, >> My requirement is like below: >> I have multiple REST end points (Resource END points ) and each one of >> these has multiple params . >> Example: >> ~/base/endpoint1 - has n params >> ~/base/endpoint2 - has m params >> ~/base/endpoint3 - has p params >> ~/base/endpoint4 - has q params >> >> ..... and so on . >> >> All of these >> On each of these resource , one can perform CURD operations. >> Notice implementation of this code is in JAVA. >> >> So once i automate using Ansible , I use Ansible URI module and POST all >> data using a .json file ( which has all cumulative data of all resources >> i.e endpoint1+endpoint2+.......)as below: >> name: application provisionning >> uri: >> url: http://{{ IP | default(ansible_fqdn) }}:8080/myapp/base >> body_format: json >> method: POST >> body: "{{ lookup('file',app_provisioning_filepath) | from_json}}" >> user: "{{ restapi_user }}" >> password: "{{ restapi_password }}" >> force_basic_auth: true >> >> >> Now my requirment is : >> End user wants that each of these parameters whatever u store in (.json >> file) should be ansible format (e.g .yaml format). >> So that whole ansible code looks in .yaml and no .json etc. >> Now our REST API can produce/consume only JSON media type as per >> implementation. >> >> How i can make all these params( which is stored in .json file) into >> ansible or yaml format. >> >> On Tue, 12 Nov 2019 at 18:12, Sumit Jaiswal <[email protected]> wrote: >> >>> Hi Rahul, >>> >>> From your query what I understood was, you've have REST API that has `n` >>> param and you want to handle each API and it's param as single resource. >>> And if that’s correct, then in that case you can write a module using >>> HTTPAPI as connection plugin handle each of APIs and its resource in >>> particular module. >>> >>> Please refer: >>> https://docs.ansible.com/ansible/latest/plugins/httpapi.html and >>> https://docs.ansible.com/ansible/latest/plugins/connection/httpapi.html, >>> this will guide you through the use of HTTPAPI plugin and platforms which >>> have already implemented their REST APIs using the plugin. >>> >>> >>> *Regards,* >>> Sumit Jaiswal >>> Github/IRC: *justjais* >>> >>> On 12-Nov-2019, at 4:11 PM, Rahul Kumar <[email protected]> wrote: >>> >>> Hi dick and all, >>> Any suggestion on this ?? >>> >>> @ Dick >>> NO ,the uri module does not accept an ansible native format (i.e. YAML >>> list) for the body parameters: >>> >>> On Tue, 5 Nov 2019 at 15:56, Rahul Kumar <[email protected]> wrote: >>> >>>> Hi Dick , >>>> Any suggestion on above query? >>>> >>>> Rahul >>>> >>>> On Mon, 16 Sep 2019 at 17:58, Rahul Kumar <[email protected]> >>>> wrote: >>>> >>>>> Thanks Dick! Below is the task: >>>>> >>>>> - name: application provisionning >>>>> uri: >>>>> url: http://{{ IP | default(ansible_fqdn) }}:8080/my-config/rest >>>>> body_format: json >>>>> method: PUT >>>>> body: "{{ lookup('file',app_provisioning_filepath) | from_json}}" >>>>> user: "{{ restapi_user }}" >>>>> password: "{{ restapi_password }}" >>>>> force_basic_auth: true >>>>> >>>>> Actually problem is : This Data (Rest Response/Req.) is quite >>>>> big(present in file) and we want to make each key(variable) of this data >>>>> in >>>>> Ansible either using jinja template or anything else. >>>>> >>>>> Rahul >>>>> >>>>> On Mon, 16 Sep 2019 at 15:24, Dick Visser <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi >>>>>> >>>>>> What do your tasks look like? >>>>>> In any case, the uri module accept an ansible native format (i.e. YAML >>>>>> list) for the body parameters: >>>>>> https://docs.ansible.com/ansible/latest/modules/uri_module.html. >>>>>> So just use that instead of an external JSON file. >>>>>> >>>>>> >>>>>> BTW, keywords like "urgent" tend to not work very well in community >>>>>> driven support fora. >>>>>> >>>>>> >>>>>> Dick >>>>>> >>>>>> On Mon, 16 Sep 2019 at 09:30, Rahul Kumar <[email protected]> >>>>>> wrote: >>>>>> > >>>>>> > Hi Ansible Gurus, specially Dick Visser and vlado and all experts, >>>>>> > I have a question regarding Ansible Integration of REST APIs (built >>>>>> in JAVA). Assume I have 100 of Resource End Point( or Service End point) >>>>>> where each Resource can be updated/read/deleted using CURD operation. >>>>>> Also >>>>>> Each resource has almost 10-15 variables (JSON Req/Resp). >>>>>> > Currently i am using URI module for interacting these webservices >>>>>> but my whole JSON data is stored in raw text file. Any time i want to do >>>>>> any CURD opeation , i update that file and call Ansible task to perform >>>>>> respective CURD operation. >>>>>> > >>>>>> > Business demand is : have each REST resource parameters also >>>>>> configurable using ansible (rather than storing in Plain text file). What >>>>>> is the best way of doing this because I have many REST resources and each >>>>>> resource has many params.(as req./resp). >>>>>> > >>>>>> > >>>>>> > Waiting for urgent response and best solution. >>>>>> > >>>>>> > Thanks and Regards >>>>>> > Rahul >>>>>> > >>>>>> > -- >>>>>> > 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/CAGH8rEyBfToefFAT0KxMxEiLt_e%2BsujNnQ0snBUFbqPAZPn62w%40mail.gmail.com >>>>>> . >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dick Visser >>>>>> Trust & Identity Service Operations Manager >>>>>> GÉANT >>>>>> >>>>>> -- >>>>>> 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/CAL8fbwNvpH4Aj%2B4nh08V1icEmk0Zg42GCKabzzFiwcXKyEij-g%40mail.gmail.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 view this discussion on the web visit >>> https://groups.google.com/d/msgid/ansible-project/CAGH8rEwDUPbTMhp9ff2WAFzGhJTEj0xbPY7Ccqs0%2Bh4aOUSRZg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/ansible-project/CAGH8rEwDUPbTMhp9ff2WAFzGhJTEj0xbPY7Ccqs0%2Bh4aOUSRZg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> >>> -- >>> 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/26E772D0-AEFD-4257-BA39-14446F4AAED9%40redhat.com >>> <https://groups.google.com/d/msgid/ansible-project/26E772D0-AEFD-4257-BA39-14446F4AAED9%40redhat.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> 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/CAGH8rEzKefjq9xg%3DqXfdO-yANefkWxMu2yRQ-FpZjHG%3DZBLnwQ%40mail.gmail.com >> <https://groups.google.com/d/msgid/ansible-project/CAGH8rEzKefjq9xg%3DqXfdO-yANefkWxMu2yRQ-FpZjHG%3DZBLnwQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > 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/CAOUugfnxt8rQ0si-if%2BV87se7prFm3JK4ySEc9xZGriWzZukDw%40mail.gmail.com > <https://groups.google.com/d/msgid/ansible-project/CAOUugfnxt8rQ0si-if%2BV87se7prFm3JK4ySEc9xZGriWzZukDw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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/CAGH8rExV23No2K_-T-sayuKeJXnvUxGk%2BBGWWXVmYz1-Th_U_w%40mail.gmail.com.
