<!--- 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

Two vmware modules uses `copy()` to duplicate an internal instance of a pyvmomi object. This to be able to modify the object during an iteration.

- https://github.com/ansible/ansible/blob/622a493ae03bd5e5cf517d336fc426e9d12208c7/lib/ansible/modules/cloud/vmware/vmware_guest.py#L788
- https://github.com/ansible/ansible/blob/622a493ae03bd5e5cf517d336fc426e9d12208c7/lib/ansible/modules/cloud/vmware/vmware_datastore_facts.py#L220

As explain here, https://github.com/ansible/ansible/pull/60196/files#r312643761 this is not the best approach and this may impact the performance.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME

vmware

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
devel
```
"""
        Function to configure resource allocation information about virtual machine
        :param vm_obj: VM object in case of reconfigure, None in case of deploy
        :return: None
        """
        rai_change_detected = False
        memory_allocation = vim.ResourceAllocationInfo()
        cpu_allocation = vim.ResourceAllocationInfo()
        if 'hardware' in self.params:
            if 'mem_limit' in self.params['hardware']:
                mem_limit = None
                try:
                    mem_limit = int(self.params['hardware'].get('mem_limit'))
                except ValueError:
                    self.module.fail_json(msg="hardware.mem_limit attribute should be an integer value.")
                memory_allocation.limit = mem_limit
                if vm_obj is None or memory_allocation.limit != vm_obj.config.memoryAllocation.limit:
                    rai_change_detected = True
            if 'mem_reservation' in self.params['hardware'] or 'memory_reservation' in self.params['hardware']:
                mem_reservation = self.params['hardware'].get('mem_reservation')
                if mem_reservation is None:
                    mem_reservation = self.params['hardware'].get('memory_reservation')
                try:
                    mem_reservation = int(mem_reservation)