community.general.linode_v4 (8.5.0) — module

Manage instances on the Linode cloud

Authors: Luke Murphy (@decentral1se)

Install collection

Install with ansible-galaxy collection install community.general:==8.5.0


Add to requirements.yml

  collections:
    - name: community.general
      version: 8.5.0

Description

Manage instances on the Linode cloud.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete that new Linode.
  community.general.linode_v4:
    label: new-linode
    state: absent

Inputs

    
tags:
    description:
    - The tags that the instance should be marked under. See U(https://www.linode.com/docs/api/tags/).
    elements: str
    type: list

type:
    description:
    - The type of the instance. This is a required parameter only when creating Linode
      instances. See U(https://www.linode.com/docs/api/linode-types/).
    type: str

group:
    description:
    - 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.
    type: str

image:
    description:
    - The image of the instance. This is a required parameter only when creating Linode
      instances. See U(https://www.linode.com/docs/api/images/).
    type: str

label:
    description:
    - The instance label. This label is used as the main determiner for idempotence for
      the module and is therefore mandatory.
    required: true
    type: str

state:
    choices:
    - present
    - absent
    description:
    - The desired instance state.
    required: true
    type: str

region:
    description:
    - The region of the instance. This is a required parameter only when creating Linode
      instances. See U(https://www.linode.com/docs/api/regions/).
    type: str

root_pass:
    description:
    - The password for the root user. If not specified, one will be generated. This generated
      password will be available in the task success JSON.
    type: str

private_ip:
    default: false
    description:
    - If V(true), the created Linode will have private networking enabled and assigned
      a private IPv4 address.
    type: bool
    version_added: 3.0.0
    version_added_collection: community.general

access_token:
    description:
    - The Linode API v4 access token. It may also be specified by exposing the E(LINODE_ACCESS_TOKEN)
      environment variable. See U(https://www.linode.com/docs/api#access-and-authentication).
    required: true
    type: str

stackscript_id:
    description:
    - The numeric ID of the StackScript to use when creating the instance. See U(https://www.linode.com/docs/api/stackscripts/).
    type: int
    version_added: 1.3.0
    version_added_collection: community.general

authorized_keys:
    description:
    - A list of SSH public key parts to deploy for the root user.
    elements: str
    type: list

stackscript_data:
    description:
    - 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
      U(https://www.linode.com/docs/api/stackscripts/).
    type: dict
    version_added: 1.3.0
    version_added_collection: community.general

Outputs

instance:
  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
  type: dict