##### SUMMARY

The function test of `vmware_host_firewall_manager` is currently broken. This seems to be a regression introduced with https://github.com/ansible/ansible/pull/56733.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME

vmware_host_firewall_manager

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
devel
```

##### STEPS TO REPRODUCE

The first step of the functional test:
https://github.com/ansible/ansible/blob/devel/test/integration/targets/vmware_host_firewall_manager/tasks/main.yml

```yaml
    - name: Disable the Firewall vvold rule on the ESXi
      vmware_host_firewall_manager:
        hostname: '{{ vcenter_hostname }}'
        username: '{{ vcenter_username }}'
        password: '{{ vcenter_password }}'
        cluster_name: '{{ ccr1 }}'
        validate_certs: no
        rules:
            - name: vvold
              enabled: False
```

##### ACTUAL RESULTS
```paste below
TASK [vmware_host_firewall_manager : Disable the Firewall vvold rule on the ESXi] ****************************************************************
task path: /home/goneri/.ansible/test/tmp/vmware_host_firewall_manager-mn0bxgye-ÅÑŚÌβŁÈ/test/integration/targets/vmware_host_firewall_manager/tasks/main.yml:11
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: goneri
<testhost> EXEC /bin/sh -c 'echo ~goneri && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297 `" && echo ansible-tmp-1566836629.9222088-161847597588297="` echo /home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297 `" ) && sleep 0'
Using module file /home/goneri/git_repos/ansible_projects/b/lib/ansible/modules/cloud/vmware/vmware_host_firewall_manager.py
<testhost> PUT /home/goneri/.ansible/tmp/ansible-local-25543igy5eduv/tmp1tecxld1 TO /home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/AnsiballZ_vmware_host_firewall_manager.py
<testhost> EXEC /bin/sh -c 'chmod u+x /home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/ /home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/AnsiballZ_vmware_host_firewall_manager.py && sleep 0'
<testhost> EXEC /bin/sh -c 'ESXI1_HOSTNAME=esxi1.test ESXI1_PASSWORD='"'"'!234AaAa56'"'"' ESXI1_USERNAME=root ESXI2_HOSTNAME=esxi2.test ESXI2_PASSWORD='"'"'!234AaAa56'"'"' ESXI2_USERNAME=root VCENTER_HOSTNAME=vcenter.test VCENTER_PASSWORD='"'"'!234AaAa56'"'"' VCENTER_USERNAME=administrator@vsphere.local VMWARE_VALIDATE_CERTS=no /home/goneri/git_repos/ansible_projects/b/.virtualenv/py37/bin/python /home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/AnsiballZ_vmware_host_firewall_manager.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "/home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/AnsiballZ_vmware_host_firewall_manager.py", line 139, in <module>
    _ansiballz_main()
  File "/home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/AnsiballZ_vmware_host_firewall_manager.py", line 131, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/AnsiballZ_vmware_host_firewall_manager.py", line 65, in invoke_module
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/tmp/ansible_vmware_host_firewall_manager_payload_kf53ugy0/__main__.py", line 367, in <module>
  File "/tmp/ansible_vmware_host_firewall_manager_payload_kf53ugy0/__main__.py", line 363, in main
  File "/tmp/ansible_vmware_host_firewall_manager_payload_kf53ugy0/__main__.py", line 238, in ensure
TypeError: 'NoneType' object is not subscriptable
fatal: [testhost]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"/home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/AnsiballZ_vmware_host_firewall_manager.py\", line 139, in <module>\n    _ansiballz_main()\n  File \"/home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/AnsiballZ_vmware_host_firewall_manager.py\", line 131, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/home/goneri/.ansible/tmp/ansible-tmp-1566836629.9222088-161847597588297/AnsiballZ_vmware_host_firewall_manager.py\", line 65, in invoke_module\n    spec.loader.exec_module(module)\n  File \"<frozen importlib._bootstrap_external>\", line 728, in exec_module\n  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n  File \"/tmp/ansible_vmware_host_firewall_manager_payload_kf53ugy0/__main__.py\", line 367, in <module>\n  File \"/tmp/ansible_vmware_host_firewall_manager_payload_kf53ugy0/__main__.py\", line 363, in main\n  File \"/tmp/ansible_vmware_host_firewall_manager_payload_kf53ugy0/__main__.py\", line 238, in ensure\nTypeError: 'NoneType' object is not subscriptable\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}
```

- This module can be used to manage firewall configurations about an ESXi host when ESXi hostname or Cluster name is given.
version_added: '2.5'
author:
- Abhijeet Kasurde (@Akasurde)
- Aaron Longchamps (@alongchamps)
notes:
- Tested on vSphere 6.0, vSphere 6.5
requirements:
- python >= 2.6
- PyVmomi
options:
  cluster_name:
    description:
    - Name of the cluster.
    - Firewall settings are applied to every ESXi host system in given cluster.
    - If C(esxi_hostname) is not given, this parameter is required.
    type: str
  esxi_hostname:
    description:
    - ESXi hostname.
    - Firewall settings are applied to this ESXi host system.
    - If C(cluster_name) is not given, this parameter is required.
    type: str
  rules:
    description:
    - A list of Rule set which needs to be managed.
    - Each member of list is rule set name and state to be set the rule.
    - Both rule name and rule state are required parameters.
    - Additional IPs and networks can also be specified
    - Please see examples for more information.