Thanks .. I am able to achieve it with the above logic and with "assert"  
module for exiting the playbook if failed . 

On Saturday, August 19, 2023 at 10:34:16 PM UTC+5:30 Atul Nasir wrote:

> - name: Check if project name exists
>   uri:
>     url: "{{ webapp_url }}/api/orgs"
>     method: GET
>     return_content: yes
>     validate_certs: no
>     user: "{{ user }}"
>     password: "{{ password }}"
>     force_basic_auth: yes
>   register: existing_projects
>
> - name: Check if project name exists in the response
>   set_fact:
>     project_already_exists: "{{ project_name in existing_projects.json | 
> json_query('*.name') }}"
>
> - name: REST POST Example if project name doesn't exist
>   uri:
>     url: "{{ webapp_url }}/api/orgs"
>     method: POST
>     return_content: yes
>     body: "{ \"name\": \"{{ project_name }}\" }"
>     body_format: json
>     validate_certs: no
>     user: "{{ user }}"
>     password: "{{ password }}"
>     force_basic_auth: yes
>   when: not project_already_exists
>
> On Thursday, August 17, 2023 at 1:18:48 AM UTC-7 Veera wrote:
>
>> Hi ,
>>
>> I have the below uri module to post the details inside the web api
>>
>> - name: REST POST Example
>>   uri:
>>     url: "{{ webapp_url }}/api/orgs"
>>     method: POST
>>     return_content: yes
>>     body: "{ \"name\": \"{{ project_name }}\" }"
>>     body_format: json
>>     validate_certs: no
>>     user: "{{ user }}"
>>     password: "{{ password }}"
>>     force_basic_auth: yes
>>
>> while passing the variables as 
>> ansible-playbook myplay.yml  -e "project_name=first_project"  
>> n- number of times it works and overwrites the same first_project name.
>>
>> Is there an option available to stop overwriting if the same project_name 
>> is  available with uri module? 
>> Or we have to use the GET method  to collect and compare the existing 
>> project_name , before writing using POST? or will  a conditional check can 
>> 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/60255b5e-09af-4ff2-acf8-a428c981e954n%40googlegroups.com.

Reply via email to