Repository: ansible-collections/community.general

Issue:
Proxmox_task_info api_password required along with api_user
### Summary

Cannot use the module with token id and secret only:

```  
        module = AnsibleModule(
        argument_spec=module_args,
        required_together=[('api_token_id', 'api_token_secret'),
                           ('api_user', 'api_password')],
        required_one_of=[('api_password', 'api_token_id')],
        supports_check_mode=True)
        result = dict(changed=False)
```

### Issue Type

Feature Request

### Component Name

proxmox_tasks_info

### Ansible Version

```ansible 2.10.8
  config file = /opt/git/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  executable location = /usr/bin/ansible 
  python version = 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0]

```


### Community.general Version

```console (paste below)
# /usr/lib/python3/dist-packages/ansible_collections
Collection        Version
----------------- -------
community.general 1.3.6

# /root/.ansible/collections/ansible_collections
Collection        Version
----------------- -------
community.general 6.3.0
```


### Configuration

```console (paste below)
$ ansible-config dump --only-changed

```


### OS / Environment

_No response_

### Steps to Reproduce


```
- name: Check proxmox task
  community.general.proxmox_tasks_info:
    api_host: "{{ api_host }}"
    api_user: "{{ api_user }}"
    api_token_id: "{{ api_token_id }}"
    api_token_secret: "{{ api_token_secret }}"
    node: "{{ node }}"
    task: "{{ task }}"

"msg": "parameters are required together: api_user, api_password"
```


### Expected Results

If I comment out the required_together part for api_password and api_host the task is successful.

### Actual Results

```
The full traceback is:
  File "/tmp/ansible_community.general.proxmox_tasks_info_payload_j17m_215/ansible_community.general.proxmox_tasks_info_payload.zip/ansible/module_utils/basic.py", line 1626, in _check_required_together
    check_required_together(spec, param)
  File "/tmp/ansible_community.general.proxmox_tasks_info_payload_j17m_215/ansible_community.general.proxmox_tasks_info_payload.zip/ansible/module_utils/common/validation.py", line 128, in check_required_together
    raise TypeError(to_native(msg))
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:
Files identified in the description:
* [`plugins/modules/proxmox_tasks_info.py`](https://github.com/ansible-collections/community.general/blob/main/plugins/modules/proxmox_tasks_info.py)

If these files are incorrect, please update the `component name` section of the description or use the `!component` bot command.

[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: components_banner --->
cc @Ajpantuso @Thulium-Drake @joshainglis @karmab @paginabianca @tleguern
[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: notify --->
I don't think this is a bug, but a feature request. Just because something doesn't work as you expect it is not necessarily a bug.
Wouldn't the benefit of a token be to not have to use a password? 
From the argument spec I would suspect that you should supply *either* a token ID + token secret, *or* a username and password.

Resolving patch:
diff --git a/plugins/modules/proxmox_tasks_info.py b/plugins/modules/proxmox_tasks_info.py
--- a/plugins/modules/proxmox_tasks_info.py
+++ b/plugins/modules/proxmox_tasks_info.py
@@ -160,8 +160,7 @@ def main():
 
     module = AnsibleModule(
         argument_spec=module_args,
-        required_together=[('api_token_id', 'api_token_secret'),
-                           ('api_user', 'api_password')],
+        required_together=[('api_token_id', 'api_token_secret')],
         required_one_of=[('api_password', 'api_token_id')],
         supports_check_mode=True)
     result = dict(changed=False)


Test patch: