{% if groups['dc-1'] is defined and inventory_hostname in groups['dc-1'] %}
MSIP={{ hostvars[groups['dc-1-ms'][0]][interface_name].ipv4.address }}
{% elif groups['dc-2'] is defined and inventory_hostname in groups['dc-2'] %}
MSIP={{ hostvars[groups['dc-2-ms'][0]][interface_name].ipv4.address }}
{% else %}
{# Default to the MS in region 1 #}
MSIP={{ hostvars[groups['dc-1-ms'][0]][interface_name].ipv4.address }}
{% endif %}
ADMIN_EMAIL={{ opdk_user_email }}
APIGEE_PORT_HTTP_MS={{ ms_ext_mgmt_port }}
APIGEE_ADMINPW={{ opdk_user_pass }}
{% if groups['dc-1'] is defined and inventory_hostname in groups['dc-1'] %}
REGION=dc-1
{% elif groups['dc-2'] is defined and inventory_hostname in groups['dc-2'] %}
REGION=dc-2
{% elif groups['dc-3'] is defined and inventory_hostname in groups['dc-3'] %}
REGION=dc-3
{% else %}
REGION=Please update the region
{% endif %}
MP_POD={{ opdk_mp_pod }}
{% if groups['dc-1'] is defined and inventory_hostname in groups['dc-1'] %}
    {% if groups['dc-1-rmp'][0] is defined  %}
        MP_IP='{{ hostvars[groups['dc-1-rmp'][0]][interface_name].ipv4.address }}'
    {% elif groups['dc-2-rmp'][0] is defined and inventory_hostname in groups['dc-2'] %}
        MP_IP='{{ hostvars[groups['dc-2-rmp'][0]][interface_name].ipv4.address }}'
    {% elif groups['dc-3-rmp'][0] is defined and inventory_hostname in groups['dc-3'] %}
        MP_IP='{{ hostvars[groups['dc-3-rmp'][0]][interface_name].ipv4.address }}'
    {% endif %}
    {% if groups['dc-1-mp'][0] is defined  %}
        MP_IP='{{ hostvars[groups['dc-1-mp'][0]][interface_name].ipv4.address }}'
    {% elif groups['dc-2-mp'][0] is defined and inventory_hostname in groups['dc-2'] %}
        MP_IP='{{ hostvars[groups['dc-2-mp'][0]][interface_name].ipv4.address }}'
    {% elif groups['dc-3-mp'][0] is defined and inventory_hostname in groups['dc-3'] %}
        MP_IP='{{ hostvars[groups['dc-3-mp'][0]][interface_name].ipv4.address }}'
    {% endif %}
{% else %}
        MP_IP=please update the mp ip address
{% endif %}
MP_PORT={{ mp_ext_mgmt_port }}
{% if groups['dc-1'] is defined and inventory_hostname in groups['dc-1'] %}
    {% if groups['dc-1-rmp'][0] is defined  %}
        HOST_ALIAS='{{ groups['dc-1-rmp'] | join(" ") }}'
    {% elif groups['dc-2-rmp'][0] is defined and inventory_hostname in groups['dc-2'] %}
        HOST_ALIAS='{{ groups['dc-2-rmp'] | join(" ") }}'
    {% elif groups['dc-3-rmp'][0] is defined and inventory_hostname in groups['dc-3'] %}
        HOST_ALIAS="{{ groups['dc-3-rmp'] | join(' ') }}"
    {% endif %}
    {% if groups['dc-1-mp'][0] is defined  %}
        HOST_ALIAS='{{ groups['dc-1-mp'] | join(" ") }}'
    {% elif groups['dc-2-mp'][0] is defined and inventory_hostname in groups['dc-2'] %}
        HOST_ALIAS='{{ groups['dc-2-mp'] | join(" ") }}'
    {% elif groups['dc-3-mp'][0] is defined and inventory_hostname in groups['dc-3'] %}
        HOST_ALIAS="{{ groups['dc-3-mp'] | join(' ') }}"
    {% endif %}
{% else %}
    HOST_ALIAS=Neither a dc-1 or dc-2 inventory group was defined
{% endif %}
