Repository: ansible-collections/community.vmware

Issue:
`vmware_host_logbundle` only uses the 1st manifest
<!--- 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 -->
Hi.  
I am currently using the module `vmware_host_logbundle` in this collection (thanks to sky-joker who developed it).  
When running the module, I have been able to generate a .tgz file for the log bundle.  
However, when specifying a manifest to collect the log bundle, upon closer inspection of the log bundle (.tgz) itself, I notice that the logs are only collected for the first item in the list of manifest, although all of them are validated.  
This assumption is further supported, when I run "Export System Logs" from VMWare vCenter, and I select only the 1st option, yielding seemingly identical tar files with generated logs from this module when a plethora of manifests are specified.  

I have gone to inspect the source code [over here](https://github.com/ansible-collections/community.vmware/blob/main/plugins/modules/vmware_host_logbundle.py#L212), and have most likely confirmed the source of this bug.

Over here at this line,
https://github.com/ansible-collections/community.vmware/blob/f349b2a0b93b0138551cff171e69a48157db9728/plugins/modules/vmware_host_logbundle.py#L212
we see that it uses `&` to join the manifests together as a complete string. However, this is an erroneous way to specify a list for HTTP GET requests (There's a [Stack Overflow post](https://stackoverflow.com/a/2602127) on it as well).  


This results in a URL like
```
https://my-esxi-hostname/cgi-bin/vm-support.cgi?manifests=System:Base&System:CoreDumps&System:EsxImage&...&Network:tcpip&IntegrityChecks:md5sums
```
in which the server treats `manifests` to be `System:Base` and other items of the list as HTTP GET parameters, which is unintended.

Broadcom provides a support page (https://knowledge.broadcom.com/external/article/324295/collecting-limited-and-specific-informat.html) which shows we should separate them with URL encoded spaces (%20)

A resolution to this issue can be to use 
```python
url = 'https://' + self.esxi_hostname + '/cgi-bin/vm-support.cgi?manifests=' + '%20'.join(self.manifests)
```

This issue was updated.
##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
community.vmware.vmware_host_logbundle
##### ANSIBLE VERSION
I don't have access to the Ansible version right now (I can update when I do), but I can confirm that it is a relatively recent version.

##### COLLECTION VERSION
4.2.0 


##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
Red Hat Enterprise Linux

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
Use the abovementioned module to collect a log bundle with a manifest (e.g. ["System:Base", "VirtualMachines:VirtualMachineStats"])

```yaml
- name: fetch logbundle file from ESXi with manifests
  community.vmware.vmware_host_logbundle:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    esxi_hostname: "{{ esxi_hostname }}"
    dest: ./esxi-log.tgz
    manifests:
      - System:Base
      - VirtualMachines:VirtualMachineStats
```

 
##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
Both "System:Base" and "VirtualMachines:VirtualMachineStats" logs should be collected.

##### ACTUAL RESULTS
Notice that only System:Base logs are collected.
I cannot share the logs here from the machine.


Discussion:
I will file a pull request if it looks ok.
Thanks.

Resolving patch:
diff --git a/plugins/modules/vmware_host_logbundle.py b/plugins/modules/vmware_host_logbundle.py
--- a/plugins/modules/vmware_host_logbundle.py
+++ b/plugins/modules/vmware_host_logbundle.py
@@ -209,7 +209,7 @@ def validate_manifests(self):
 
     def get_logbundle(self):
         self.validate_manifests()
-        url = 'https://' + self.esxi_hostname + '/cgi-bin/vm-support.cgi?manifests=' + '&'.join(self.manifests)
+        url = 'https://' + self.esxi_hostname + '/cgi-bin/vm-support.cgi?manifests=' + '%20'.join(self.manifests)
 
         if self.performance_data:
             duration = self.performance_data.get('duration')


Test patch: