linode_v4 – Manage instances on the Linode cloud

From Get docs
Ansible/docs/2.9/modules/linode v4 module


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

  • present
  • absent

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

Authors

  • Luke Murphy (@lwm)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.


© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/linode_v4_module.html