Repository: ansible-collections/community.general

Issue:
In Linode dynamic inventory plugin, ip_style defaults to an invalid value
### Summary

After upgrading Ansible to 4.5.0 (from 4.3.0), I started getting this error when running any ansible playbook:

`[WARNING]:  * Failed to parse /home/oloryn/ansible/inventory/linode.yaml with
ansible_collections.community.general.plugins.inventory.linode plugin: Invalid type for configuration option
plugin_type: inventory plugin: ansible_collections.community.general.plugins.inventory.linode setting: ip_style :
Invalid type provided for "string": ['plain']
[WARNING]:  * Failed to parse /home/oloryn/ansible/inventory/linode.yaml with yaml plugin: Plugin configuration YAML
file, not YAML inventory
[WARNING]: Unable to parse /home/oloryn/ansible/inventory/linode.yaml as an inventory source`

 It would appear that ip_style is defaulting to a list, instead of to a string.  I've had to explicitly specify ip_style in my linode.yaml file to get around this.


### Issue Type

Bug Report

### Component Name

linode

### Ansible Version

ansible [core 2.11.4]
  config file = None
  configured module search path = ['/home/oloryn/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/oloryn/ansible/.venv/lib/python3.8/site-packages/ansible
  ansible collection location = /home/oloryn/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/oloryn/ansible/.venv/bin/ansible
  python version = 3.8.10 (default, Jun  2 2021, 10:49:15) [GCC 9.4.0]
  jinja version = 3.0.1
  libyaml = True


### Configuration

```console (paste below)
$ ansible-config dump --only-changed

```


### OS / Environment

Ubuntu 20.04 under WSL


### Steps to Reproduce

When using the Linode inventory plugin, don't specify the ip_style parameter in the linode.yaml file - just let it use the default.



### Expected Results

Ansible should get the inventory list from Linode

### Actual Results

Ansible fails to get the linode inventory, and instead displays the following message:

`[WARNING]:  * Failed to parse /home/oloryn/ansible/inventory/linode.yaml with
ansible_collections.community.general.plugins.inventory.linode plugin: Invalid type for configuration option
plugin_type: inventory plugin: ansible_collections.community.general.plugins.inventory.linode setting: ip_style :
Invalid type provided for "string": ['plain']
[WARNING]:  * Failed to parse /home/oloryn/ansible/inventory/linode.yaml with yaml plugin: Plugin configuration YAML
file, not YAML inventory
[WARNING]: Unable to parse /home/oloryn/ansible/inventory/linode.yaml as an inventory source`


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


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

If these files are inaccurate, 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/master/ISSUE_HELP.md)
<!--- boilerplate: components_banner --->
cc @Charliekenney23 @InTheCloudDan @LBGarber @decentral1se @displague @rmcintosh
[click here for bot help](https://github.com/ansible/ansibullbot/blob/master/ISSUE_HELP.md)
<!--- boilerplate: notify --->
Yes, that's definitely wrong. Looks like nobody actually tried this out :-(

Resolving patch:
diff --git a/plugins/inventory/linode.py b/plugins/inventory/linode.py
--- a/plugins/inventory/linode.py
+++ b/plugins/inventory/linode.py
@@ -29,8 +29,7 @@
         ip_style:
             description: Populate hostvars with all information available from the Linode APIv4.
             type: string
-            default:
-                - plain
+            default: plain
             choices:
                 - plain
                 - api


Test patch: