linode_v4 – Manage instances on the Linode cloud¶
New in version 2.8.
Synopsis¶
Manage instances on the Linode cloud.
Requirements¶
The below requirements are needed on the host that executes this module.
python >= 2.7
linode_api4 >= 2.0.0
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
access_token
-
/ required
|
The Linode API v4 access token. It may also be specified by exposing the
LINODE_ACCESS_TOKEN environment variable. See https://developers.linode.com/api/v4#section/Access-and-Authentication. |
|
authorized_keys
list
|
A list of SSH public key parts to deploy for the root user.
|
|
group
string
|
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.
|
|
image
string
|
The image of the instance. This is a required parameter only when creating Linode instances. See https://developers.linode.com/api/v4#tag/Images.
|
|
label
string
/ required
|
The instance label. This label is used as the main determiner for idempotence for the module and is therefore mandatory.
|
|
region
string
|
The region of the instance. This is a required parameter only when creating Linode instances. See https://developers.linode.com/api/v4#tag/Regions.
|
|
root_pass
string
|
The password for the root user. If not specified, one will be generated. This generated password will be available in the task success JSON.
|
|
state
string
/ required
|
|
The desired instance state.
|
tags
list
|
The tags that the instance should be marked under. See https://developers.linode.com/api/v4#tag/Tags.
|
|
type
string
|
The type of the instance. This is a required parameter only when creating Linode instances. See https://developers.linode.com/api/v4#tag/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.
linode_v4:
label: new-linode
type: g6-nanode-1
region: eu-west
image: linode/debian9
root_pass: passw0rd
authorized_keys:
- "ssh-rsa ..."
state: present
- name: Delete that new Linode.
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 | Returned | Description |
---|---|---|
instance
dictionary
|
Always. |
The instance description in JSON serialized form.
Sample:
{'root_pass': 'foobar', 'alerts': {'cpu': 90, 'io': 10000, 'network_in': 10, 'network_out': 10, 'transfer_quota': 80}, 'backups': {'enabled': False, 'schedule': {'day': None, 'window': None}}, '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', '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}
|
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]