---
- name: "Set password fact"
  set_fact:
    rhsm_password: "{{ rhsm_password | default(None) }}"
  no_log: true

- name: "Initialize Subscription Manager fact"
  set_fact:
    rhsm_register: true

- name: "Determine if Subscription Manager should be used"
  set_fact:
    rhsm_register: false
  when:
    - rhsm_satellite is undefined or rhsm_satellite is none or rhsm_satellite|trim == ''
    - rhsm_username is undefined or rhsm_username is none or rhsm_username|trim == ''
    - rhsm_password is undefined or rhsm_password is none or rhsm_password|trim == ''
    - rhsm_org is undefined or rhsm_org is none or rhsm_org|trim == ''
    - rhsm_activationkey is undefined or rhsm_activationkey is none or rhsm_activationkey|trim == ''
    - rhsm_pool is undefined or rhsm_pool is none or rhsm_pool|trim == ''

- name: "Validate Subscription Manager organization is set"
  fail: msg="Cannot register to a Satellite server without a value for the Organization via 'rhsm_org'"
  when:
    - rhsm_org is undefined or rhsm_org is none or rhsm_org|trim == ''
    - rhsm_satellite is defined
    - rhsm_satellite is not none
    - rhsm_satellite|trim != ''
    - rhsm_register

- name: "Validate Subscription Manager authentication is defined"
  fail: msg="Cannot register without ('rhsm_username' and 'rhsm_password') or 'rhsm_activationkey' variables set. See the README.md for details on securely prompting for a password"
  when:
    - (rhsm_username is undefined or rhsm_username is none or rhsm_username|trim == '') or (rhsm_password is undefined or rhsm_password is none or rhsm_password|trim == '')
    - rhsm_activationkey is undefined or rhsm_activationkey is none or rhsm_activationkey|trim == ''
    - rhsm_register

- name: "Validate activation key and Hosted are not requested together"
  fail: msg="Cannot register to RHSM Hosted with 'rhsm_activationkey'"
  when:
    - rhsm_satellite is undefined or rhsm_satellite is none or rhsm_satellite|trim == ''
    - rhsm_activationkey is defined
    - rhsm_activationkey is not none
    - rhsm_activationkey|trim != ''
    - rhsm_register
