| --- | 
 | - block: | 
 |  | 
 |   - name: Obtain pgmaster IP for DC 2, if not provided | 
 |     set_fact: | 
 |       pgmaster_ip: "{{ hostvars[groups['dc-2-pgmaster'][0]][interface_name].ipv4.address }}" | 
 |     when: pgmaster_ip is not defined and groups['dc-2-pgmaster'] is defined | 
 |  | 
 |   - name: Obtain pgstandby IP for DC 2, if not provided | 
 |     set_fact: | 
 |       pgstandby_ip: "{{ hostvars[groups['dc-2-pgstandby'][0]][interface_name].ipv4.address }}" | 
 |     when: pgstandby_ip is not defined and groups['dc-2-pgstandby'] is defined | 
 |  | 
 |   - name: Set pgmaster_ip for DC 2, in cache, if defined | 
 |     cache: | 
 |       key: pgmaster_ip | 
 |       value: '{{ pgmaster_ip }}' | 
 |     when: pgmaster_ip is defined | 
 |  | 
 |   - name: Set pgstandby_ip for DC 2, in cache, if defined | 
 |     cache: | 
 |       key: pgstandby_ip | 
 |       value: '{{ pgstandby_ip }}' | 
 |     when: pgstandby_ip is defined | 
 |  | 
 |   when: (groups['dc-2-pgmaster'] is defined or groups['dc-2-pgstandby'] is defined) and inventory_hostname in groups['dc-2'] | 
 |  | 
 | - block: | 
 |   - name: Obtain pgmaster IP for DC 1, if not provided | 
 |     set_fact: | 
 |       pgmaster_ip: "{{ hostvars[groups['dc-1-pgmaster'][0]][interface_name].ipv4.address }}" | 
 |     when: pgmaster_ip is not defined and groups['dc-1-pgmaster'] is defined | 
 |  | 
 |   - name: Obtain pgstandby IP for DC 1, if not provided | 
 |     set_fact: | 
 |       pgstandby_ip: "{{ hostvars[groups['dc-1-pgstandby'][0]][interface_name].ipv4.address }}" | 
 |     when: pgstandby_ip is not defined and groups['dc-1-pgstandby'] is defined | 
 |  | 
 |   - name: Set pgmaster_ip for DC 1, in cache, if defined | 
 |     cache: | 
 |       key: pgmaster_ip | 
 |       value: '{{ pgmaster_ip }}' | 
 |     when: pgmaster_ip is defined | 
 |  | 
 |   - name: Set pgstandby_ip for DC 1, in cache, if defined | 
 |     cache: | 
 |       key: pgstandby_ip | 
 |       value: '{{ pgstandby_ip }}' | 
 |     when: pgstandby_ip is defined | 
 |  | 
 |   when: (groups['dc-1-pgmaster'] is defined or groups['dc-1-pgstandby'] is defined) and inventory_hostname in groups['dc-1'] | 
 |  | 
 | - block: | 
 |   - name: Obtain pgmaster IP for DC 1, if not provided | 
 |     set_fact: | 
 |       pgmaster_ip: "{{ groups['dc-1-pgmaster'][0] }}" | 
 |  | 
 |   - name: Obtain pgstandby IP for DC 1, if not provided | 
 |     set_fact: | 
 |       pgstandby_ip: "{{ groups['dc-2-pgstandby'][0] }}" | 
 |  | 
 |   - name: Set pgmaster_ip for DC 1, in cache, if defined | 
 |     cache: | 
 |       key: pgmaster_ip | 
 |       value: '{{ pgmaster_ip }}' | 
 |  | 
 |   - name: Set pgstandby_ip for DC 1, in cache, if defined | 
 |     cache: | 
 |       key: pgstandby_ip | 
 |       value: '{{ pgstandby_ip }}' | 
 |  | 
 |   when: groups['dc-1-pgmaster'] is defined and groups['dc-2-pgstandby'] is defined | 
 |  | 
 | - block: | 
 |   - name: Obtain postgres ip | 
 |     cache: | 
 |       key: 'pg_ip' | 
 |       value: "{{ groups['pg'][0] }}" | 
 |  | 
 |   when: groups['pgmaster'] is not defined and groups['pgstandby'] is not defined |