<!--- 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
Ansible throws an AttributeError exception. If I do not specify a network section, it will create the vm but complain about mismatched number of NICs

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
vmware_guest

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.8.3
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/ansible/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Jun 11 2019, 12:19:05) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
ANSIBLE_PIPELINING(/etc/ansible/ansible.cfg) = True
DEFAULT_PRIVATE_KEY_FILE(/etc/ansible/ansible.cfg) = /home/ansible/.ssh/id_rsa
HOST_KEY_CHECKING(/etc/ansible/ansible.cfg) = False
PARAMIKO_HOST_KEY_AUTO_ADD(/etc/ansible/ansible.cfg) = True
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
vSphere 6.7.0
RHEL 7.6 kernel 3.10.0-957.21.3.el7.x86_64
pyvmomi 6.7.1.2018.12
##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
Run the following playbook
<!--- Paste example playbooks or commands between quotes below -->
```yaml
---
# tasks file for vmware-setup
- name: Create or update VM
  vmware_guest:
    hostname: "{{ vCenter.ip }}"
    username: "{{ vCenter.username }}"
    password: "{{ vCenter.password }}"
    annotation: Provisioned and managed by Ansible
    cluster: "{{ cluster_name }}"
    datacenter: "{{ datacenter_name }}"
    name: "{{ inventory_hostname }}"
    folder: "{{ folder_name }}"
    state: poweredon
    template: "{{ template_name }}"
    networks:
      - name: "{{ network_name }}"
        vlan: 400
        ip: "{{ ansible_host }}"
        netmask: "{{ network_netmask }}"
    customization:
      dns_servers: 10.22.148.45
      domain: "{{ vCenter.domain }}"
      hostname: "{{ inventory_hostname|lower }}"
    validate_certs: no
  delegate_to: localhost

```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
New vm to be created and started

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
AttributeError thrown
<!--- Paste verbatim command output between quotes -->
```paste below
TASK [vmware-setup : Create or update VM] *********************************************************************************************************************************************************************
task path: /workspace/ansible-fusion/roles/vmware-setup/tasks/main.yml:3
Using module file /usr/lib/python2.7/site-packages/ansible/modules/cloud/vmware/vmware_guest.py
Pipelining is enabled.
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: ansible
<localhost> EXEC /bin/sh -c 'sudo -H -S -n  -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-swmzlhdjmcuoqfuzomgxoopqvglmlgub ;  /usr/bin/python2'"'"' && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "<stdin>", line 114, in <module>
  File "<stdin>", line 106, in _ansiballz_main
  File "<stdin>", line 49, in invoke_module
  File "/tmp/ansible_vmware_guest_payload_frCA55/__main__.py", line 2669, in <module>
  File "/tmp/ansible_vmware_guest_payload_frCA55/__main__.py", line 2658, in main
  File "/tmp/ansible_vmware_guest_payload_frCA55/__main__.py", line 2175, in deploy_vm
  File "/tmp/ansible_vmware_guest_payload_frCA55/__main__.py", line 1355, in configure_network
AttributeError: 'NoneType' object has no attribute 'uuid'

fatal: [FUSION-jenkins-slave-1 -> localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 114, in <module>\n  File \"<stdin>\", line 106, in _ansiballz_main\n  File \"<stdin>\", line 49, in invoke_module\n  File \"/tmp/ansible_vmware_guest_payload_frCA55/__main__.py\", line 2669, in <module>\n  File \"/tmp/ansible_vmware_guest_payload_frCA55/__main__.py\", line 2658, in main\n  File \"/tmp/ansible_vmware_guest_payload_frCA55/__main__.py\", line 2175, in deploy_vm\n  File \"/tmp/ansible_vmware_guest_payload_frCA55/__main__.py\", line 1355, in configure_network\nAttributeError: 'NoneType' object has no attribute 'uuid'\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}
```

- ' - C(num_cpus) (integer): Number of CPUs.'
    - ' - C(num_cpu_cores_per_socket) (integer): Number of Cores Per Socket.'
    - " C(num_cpus) must be a multiple of C(num_cpu_cores_per_socket).
        For example to create a VM with 2 sockets of 4 cores, specify C(num_cpus): 8 and C(num_cpu_cores_per_socket): 4"
    - ' - C(scsi) (string): Valid values are C(buslogic), C(lsilogic), C(lsilogicsas) and C(paravirtual) (default).'
    - " - C(memory_reservation_lock) (boolean): If set true, memory resource reservation for the virtual machine
          will always be equal to the virtual machine's memory size. version_added: 2.5"
    - ' - C(max_connections) (integer): Maximum number of active remote display connections for the virtual machines.
          version_added: 2.5.'
    - ' - C(mem_limit) (integer): The memory utilization of a virtual machine will not exceed this limit. Unit is MB.
          version_added: 2.5'
    - ' - C(mem_reservation) (integer): The amount of memory resource that is guaranteed available to the virtual
          machine. Unit is MB. C(memory_reservation) is alias to this. version_added: 2.5'
    - ' - C(cpu_limit) (integer): The CPU utilization of a virtual machine will not exceed this limit. Unit is MHz.
          version_added: 2.5'
    - ' - C(cpu_reservation) (integer): The amount of CPU resource that is guaranteed available to the virtual machine.
          Unit is MHz. version_added: 2.5'
    - ' - C(version) (integer): The Virtual machine hardware versions. Default is 10 (ESXi 5.5 and onwards).
          Please check VMware documentation for correct virtual machine hardware version.
          Incorrect hardware version may lead to failure in deployment. If hardware version is already equal to the given
          version then no action is taken. version_added: 2.6'
    - ' - C(boot_firmware) (string): Choose which firmware should be used to boot the virtual machine.
          Allowed values are "bios" and "efi". version_added: 2.7'
    - ' - C(virt_based_security) (bool): Enable Virtualization Based Security feature for Windows 10.
          (Support from Virtual machine hardware version 14, Guest OS Windows 10 64 bit, Windows Server 2016)'
  guest_id:
    description:
    - Set the guest ID.
    - This parameter is case sensitive.
    - 'Examples:'