<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
VRFs are getting deployed with the aggregate function of nxos_vrf. In case all vrfs are removed from the host_inventory the aggregate param will be empty and the param purge will remove all configured vrf. This procedure breaks due to wrong check of aggregate.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
nxos_vrf

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.6/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.6.8 (default, Oct  7 2019, 12:59:55) [GCC 8.3.0]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
CACHE_PLUGIN(/etc/ansible/ansible.cfg) = jsonfile
CACHE_PLUGIN_CONNECTION(/etc/ansible/ansible.cfg) = /rnx/config/ansible/facts
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
```
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.2 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
```

```
Software
  BIOS: version 05.39
 NXOS: version 9.3(2)
  BIOS compile time:  08/30/2019
  NXOS image file is: bootflash:///nxos.9.3.2.bin
  NXOS compile time:  11/4/2019 12:00:00 [11/04/2019 22:13:33]


Hardware
  cisco Nexus9000 C93180YC-FX Chassis
  Intel(R) Xeon(R) CPU D-1528 @ 1.90GHz with 65808216 kB of memory.
```
##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml
  - nxos_vrf:
      aggregate:
      - { name: firstVRF }
      state: present
    tags: first
  - nxos_vrf:
      aggregate:
       - {}
      purge: true
    tags: second
```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
Create the VRF with tag 'first'. Remove _all_ VRFs with step 'second'

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
First VRF is created, purging breaks

<!--- Paste verbatim command output between quotes -->
```paste below
PLAY [sw-xlab-02-0012] *******************************************************************************************************************************************************************

TASK [nxos_vrf] **************************************************************************************************************************************************************************
changed: [sw-xlab-02-0012]

TASK [nxos_vrf] **************************************************************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TypeError: object of type 'NoneType' has no len()
fatal: [sw-xlab-02-0012]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"/root/.ansible/tmp/ansible-local-1724lhatgxa4/ansible-tmp-1574177989.7869391-103540208340962/AnsiballZ_nxos_vrf.py\", line 102, in <module>\n    _ansiballz_main()\n  File \"/root/.ansible/tmp/ansible-local-1724lhatgxa4/ansible-tmp-1574177989.7869391-103540208340962/AnsiballZ_nxos_vrf.py\", line 94, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/root/.ansible/tmp/ansible-local-1724lhatgxa4/ansible-tmp-1574177989.7869391-103540208340962/AnsiballZ_nxos_vrf.py\", line 40, in invoke_module\n    runpy.run_module(mod_name='ansible.modules.network.nxos.nxos_vrf', init_globals=None, run_name='__main__', alter_sys=True)\n  File \"/usr/lib/python3.6/runpy.py\", line 205, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib/python3.6/runpy.py\", line 96, in _run_module_code\n    mod_name, mod_spec, pkg_name, script_name)\n  File \"/usr/lib/python3.6/runpy.py\", line 85, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_nxos_vrf_payload_ezywkz9m/ansible_nxos_vrf_payload.zip/ansible/modules/network/nxos/nxos_vrf.py\", line 516, in <module>\n  File \"/tmp/ansible_nxos_vrf_payload_ezywkz9m/ansible_nxos_vrf_payload.zip/ansible/modules/network/nxos/nxos_vrf.py\", line 500, in main\n  File \"/tmp/ansible_nxos_vrf_payload_ezywkz9m/ansible_nxos_vrf_payload.zip/ansible/modules/network/nxos/nxos_vrf.py\", line 365, in map_params_to_obj\n  File \"/tmp/ansible_nxos_vrf_payload_ezywkz9m/ansible_nxos_vrf_payload.zip/ansible/modules/network/nxos/nxos_vrf.py\", line 349, in validate_vrf\nTypeError: object of type 'NoneType' has no len()\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

PLAY RECAP *******************************************************************************************************************************************************************************
sw-xlab-02-0012            : ok=1    changed=1    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0
```

"""Checks for VRF config errors and executes a retry in some circumstances.
    """
    pattern = 'ERROR: Deletion of VRF .* in progress'
    if re.search(pattern, str(responses)):
        
        time.sleep(15)
        responses = load_config(module, commands, opts={'catch_clierror': True})
        if re.search(pattern, str(responses)):
            module.fail_json(msg='VRF config (and retry) failure: %s ' % responses)
        module.warn('VRF config delayed by VRF deletion - passed on retry')
def main():
    """ main entry point for module execution
    """
    element_spec = dict(
        name=dict(type='str', aliases=['vrf']),
        description=dict(type='str'),
        vni=dict(type='str'),
        rd=dict(type='str'),
        admin_state=dict(type='str', default='up', choices=['up', 'down']),
        interfaces=dict(type='list'),
        associated_interfaces=dict(type='list'),
        delay=dict(type='int', default=10),
        state=dict(type='str', default='present', choices=['present', 'absent']),
    )
    aggregate_spec = deepcopy(element_spec)