community.general.linode_v4 – Manage instances on the Linode cloud.
Note
This plugin is part of the community.general collection (version 3.8.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.linode_v4
.
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.7
linode_api4 >= 2.0.0
Parameters
Parameter |
Comments |
---|---|
The Linode API v4 access token. It may also be specified by exposing the |
|
A list of SSH public key parts to deploy for the root user. |
|
The group that the instance should be marked under. Please note, that group labelling is deprecated but still supported. The encouraged method for marking instances is to use tags. |
|
The image of the instance. This is a required parameter only when creating Linode instances. See https://www.linode.com/docs/api/images/. |
|
The instance label. This label is used as the main determiner for idempotence for the module and is therefore mandatory. |
|
If Choices:
|
|
The region of the instance. This is a required parameter only when creating Linode instances. See https://www.linode.com/docs/api/regions/. |
|
The password for the root user. If not specified, one will be generated. This generated password will be available in the task success JSON. |
|
An object containing arguments to any User Defined Fields present in the StackScript used when creating the instance. Only valid when a stackscript_id is provided. See https://www.linode.com/docs/api/stackscripts/. |
|
The numeric ID of the StackScript to use when creating the instance. See https://www.linode.com/docs/api/stackscripts/. |
|
The desired instance state. Choices:
|
|
The tags that the instance should be marked under. See https://www.linode.com/docs/api/tags/. |
|
The type of the instance. This is a required parameter only when creating Linode instances. See https://www.linode.com/docs/api/linode-types/. |
Notes
Note
No Linode resizing is currently implemented. This module will, in time, replace the current Linode module which uses deprecated API bindings on the Linode side.
Examples
- name: Create a new Linode.
community.general.linode_v4:
label: new-linode
type: g6-nanode-1
region: eu-west
image: linode/debian9
root_pass: passw0rd
authorized_keys:
- "ssh-rsa ..."
stackscript_id: 1337
stackscript_data:
variable: value
state: present
- name: Delete that new Linode.
community.general.linode_v4:
label: new-linode
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The instance description in JSON serialized form. Returned: Always. Sample: {“alerts”: {“cpu”: 90, “io”: 10000, “network_in”: 10, “network_out”: 10, “transfer_quota”: 80}, “backups”: {“enabled”: false, “schedule”: {“day”: null, “window”: null}}, “created”: “2018-09-26T08:12:33”, “group”: “Foobar Group”, “hypervisor”: “kvm”, “id”: 10480444, “image”: “linode/centos7”, “ipv4”: [“130.132.285.233”], “ipv6”: “2a82:7e00::h03c:46ff:fe04:5cd2/64”, “label”: “lin-foo”, “region”: “eu-west”, “root_pass”: “foobar”, “specs”: {“disk”: 25600, “memory”: 1024, “transfer”: 1000, “vcpus”: 1}, “status”: “running”, “tags”: [], “type”: “g6-nanode-1”, “updated”: “2018-09-26T10:10:14”, “watchdog_enabled”: true} |
Authors
Luke Murphy (@decentral1se)