ansible.builtin.linode (v2.9.27) — module

Manage instances on the Linode Public Cloud

| "added in version" 1.3 of ansible.builtin"

Authors: Vincent Viallet (@zbal)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.27

Description

Manage Linode Public Cloud instances and optionally wait for it to be 'running'.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

- name: Create a new Linode
  linode:
    name: linode-test1
    plan: 1
    datacenter: 7
    distribution: 129
    state: present
  register: linode_creation
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a server with a private IP Address
  linode:
     module: linode
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     plan: 1
     datacenter: 2
     distribution: 99
     password: 'superSecureRootPassword'
     private_ip: yes
     ssh_pub_key: 'ssh-rsa qwerty'
     swap: 768
     wait: yes
     wait_timeout: 600
     state: present
  delegate_to: localhost
  register: linode_creation
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Fully configure new server
  linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     plan: 4
     datacenter: 2
     distribution: 99
     kernel_id: 138
     password: 'superSecureRootPassword'
     private_ip: yes
     ssh_pub_key: 'ssh-rsa qwerty'
     swap: 768
     wait: yes
     wait_timeout: 600
     state: present
     alert_bwquota_enabled: True
     alert_bwquota_threshold: 80
     alert_bwin_enabled: True
     alert_bwin_threshold: 10
     alert_cpu_enabled: True
     alert_cpu_threshold: 210
     alert_bwout_enabled: True
     alert_bwout_threshold: 10
     alert_diskio_enabled: True
     alert_diskio_threshold: 10000
     backupweeklyday: 1
     backupwindow: 2
     displaygroup: 'test'
     additional_disks:
      - {Label: 'disk1', Size: 2500, Type: 'raw'}
      - {Label: 'newdisk', Size: 2000}
     watchdog: True
  delegate_to: localhost
  register: linode_creation
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Ensure a running server (create if missing)
  linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     plan: 1
     datacenter: 2
     distribution: 99
     password: 'superSecureRootPassword'
     ssh_pub_key: 'ssh-rsa qwerty'
     swap: 768
     wait: yes
     wait_timeout: 600
     state: present
  delegate_to: localhost
  register: linode_creation
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete a server
  linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     linode_id: "{{ linode_creation.instance.id }}"
     state: absent
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Stop a server
  linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     linode_id: "{{ linode_creation.instance.id }}"
     state: stopped
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Reboot a server
  linode:
     api_key: 'longStringFromLinodeApi'
     name: linode-test1
     linode_id: "{{ linode_creation.instance.id }}"
     state: restarted
  delegate_to: localhost

Inputs

    
name:
    description:
    - Name to give the instance (alphanumeric, dashes, underscore).
    - To keep sanity on the Linode Web Console, name is prepended with C(LinodeID-).
    required: true

plan:
    description:
    - plan to use for the instance (Linode plan)

swap:
    default: 512
    description:
    - swap size in MB

wait:
    default: 'no'
    description:
    - wait for the instance to be in state C(running) before returning
    type: bool

state:
    choices:
    - absent
    - active
    - deleted
    - present
    - restarted
    - started
    - stopped
    default: present
    description:
    - Indicate desired state of the resource

api_key:
    description:
    - Linode API key

password:
    description:
    - root password to apply to a new server (auto generated if missing)

watchdog:
    default: 'True'
    description:
    - Set status of Lassie watchdog.
    type: bool
    version_added: '2.2'
    version_added_collection: ansible.builtin

kernel_id:
    description:
    - kernel to use for the instance (Linode Kernel)
    version_added: '2.4'
    version_added_collection: ansible.builtin

linode_id:
    aliases:
    - lid
    description:
    - Unique ID of a linode server. This value is read-only in the sense that if you specify
      it on creation of a Linode it will not be used. The Linode API generates these IDs
      and we can those generated value here to reference a Linode more specifically. This
      is useful for idempotence.

datacenter:
    description:
    - datacenter to create an instance in (Linode Datacenter)

private_ip:
    default: 'no'
    description:
    - Add private IPv4 address when Linode is created.
    type: bool
    version_added: '2.3'
    version_added_collection: ansible.builtin

ssh_pub_key:
    description:
    - SSH public key applied to root user

displaygroup:
    description:
    - Add the instance to a Display Group in Linode Manager.
    version_added: '2.3'
    version_added_collection: ansible.builtin

distribution:
    description:
    - distribution to use for the instance (Linode Distribution)

payment_term:
    choices:
    - 1
    - 12
    - 24
    default: 1
    description:
    - payment term to use for the instance (payment term in months)

wait_timeout:
    default: 300
    description:
    - how long before wait gives up, in seconds

backupweeklyday:
    description:
    - Integer value for what day of the week to store weekly backups.
    version_added: '2.3'
    version_added_collection: ansible.builtin

additional_disks:
    description:
    - List of dictionaries for creating additional disks that are added to the Linode
      configuration settings.
    - Dictionary takes Size, Label, Type. Size is in MB.
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_cpu_enabled:
    description:
    - Set status of receiving CPU usage alerts.
    type: bool
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_bwin_enabled:
    description:
    - Set status of bandwidth in alerts.
    type: bool
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_bwout_enabled:
    description:
    - Set status of bandwidth out alerts.
    type: bool
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_cpu_threshold:
    description:
    - Set percentage threshold for receiving CPU usage alerts. Each CPU core adds 100%
      to total.
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_bwin_threshold:
    description:
    - Set threshold in MB of bandwidth in alerts.
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_diskio_enabled:
    description:
    - Set status of receiving disk IO alerts.
    type: bool
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_bwout_threshold:
    description:
    - Set threshold in MB of bandwidth out alerts.
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_bwquota_enabled:
    description:
    - Set status of bandwidth quota alerts as percentage of network transfer quota.
    type: bool
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_diskio_threshold:
    description:
    - Set threshold for average IO ops/sec over 2 hour period.
    version_added: '2.3'
    version_added_collection: ansible.builtin

alert_bwquota_threshold:
    description:
    - Set threshold in MB of bandwidth quota alerts.
    version_added: '2.3'
    version_added_collection: ansible.builtin