Hi,

I have yaml file as below. I parse the component and version and put the 
parsed value to a file by creating a list

deliveries:
- releases:
  - latest:
  - tmoAa:
        file_name: CXP_902_7801_28.1.0_20191001-024646.tar
        md5: f08a50fcb3ec79c87ec870195568826e
        product_name: tmoAa
        product_number: CXP 902 7801
        release_candidate: RC28
        version: 28.1.0
     - permission:
        file_name: CXP_902_8059_27.0.0_20190904-084538.tar
        md5: c92d543887c332eaaa594dcca598c07a
        product_name: permission
        product_number: CXP 902 8059
        release_candidate: RC27
        version: 27.0.0
    - eiil:
        file_name: CXP_902_8881_19.0.0_20180914-142119.tar
        md5: 539f67d4eae511bbff524ec61848eaaf
        product_name: captcha
        product_number: CXP 902 8881
        release_candidate: RC19
        version: 19.0.0
Now when the component(eiil) is present in my above file  my playbook works 
fine but when the component is not present my playbook fails. Kindly help.


- hosts: localhost
  vars:
   job_id: 43
   eiil_component_dest: "/tmp/{{ job_id }}-eiil.txt"
   
  tasks:
    - name: clean up files
      file:
        path: "{{ item }}"
        state: absent
      with_items:
        - "{{ eiil_component_dest }}"

    - name: display job id
      debug:
        msg: "{{ job_id }}"
    - name: set file as variable
      include_vars:
        file: "{{ INV_FILE }}"
        name: x
    - name: Set Fact for the Drop name
      set_fact:
         drop_name: "{{ x['deliveries'][0]['releases'][0].keys()[0] }}"
      with_dict: "{{ x }}"
- name: Set fact for Pcakage
      set_fact:
         listvalue: "{{ x['deliveries'][0]['releases'][0][drop_name] }}"

    - name: Authorize Module Component name and its respective version
      set_fact:
        authorize: "authorize:{{ item.value.version }}"
      when: item.key is defined and item.key  == 'tmoAa'
      with_dict: "{{ listvalue }}"

    - name: Permission Module Component name and its respective version
      set_fact:
        permission: "permission:{{ item.value.version }}"
      when: item.key is defined and item.key  == 'permission'
      with_dict: "{{ listvalue }}"
 
    - name: EIIL Module Component name and its respective version
      set_fact:
        eiil: "eiil:{{ item.value.version }}"
      when: item.key is defined and item.key  == 'EIIL_adaptor'
      with_dict: "{{ listvalue }}"
    
- name: Create an empty list variable for EIIL Component
      set_fact:
       EIIL_Record: []
    - name: Append string to list
      set_fact:
        EIIL_Record: "{{ EIIL_Record + [ item ] }}"
      with_items:
        - "{{ eiil | default(None) }}"
      when: item != None item == ""
    - name: Create EIIL items list
      set_fact:
        my_joined_list1: "{{ EIIL_Record | join(',') }}"
      with_items:
        - "{{ EIIL_Record }}"
    - name: Create EIIL Components
      set_fact:
        eiil_c:  "'{\"components\":\"{{ my_joined_list1 }}\"}'"
    - name: Copy the EIIL Components to a file
      copy:
       dest: "{{ eiil_component_dest }}"
       content: "{{ eiil_c }}"

-- 
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 ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/dbd1f4b5-58f7-4edc-a82b-de1942e00255%40googlegroups.com.

Reply via email to