- 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/4a3ca8d7-9c44-4807-833b-7b6f65ce150cn%40googlegroups.com.

Reply via email to