community / community.general / 1.3.14 / module / linode Manage instances on the Linode Public Cloud Authors: Vincent Viallet (@zbal)community.general.linode (1.3.14) — module
Install with ansible-galaxy collection install community.general:==1.3.14
collections: - name: community.general version: 1.3.14
Manage Linode Public Cloud instances and optionally wait for it to be 'running'.
- name: Create a new Linode community.general.linode: name: linode-test1 plan: 1 datacenter: 7 distribution: 129 state: present register: linode_creation
- name: Create a server with a private IP Address community.general.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
- name: Fully configure new server community.general.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
- name: Ensure a running server (create if missing) community.general.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
- name: Delete a server community.general.linode: api_key: 'longStringFromLinodeApi' name: linode-test1 linode_id: "{{ linode_creation.instance.id }}" state: absent delegate_to: localhost
- name: Stop a server community.general.linode: api_key: 'longStringFromLinodeApi' name: linode-test1 linode_id: "{{ linode_creation.instance.id }}" state: stopped delegate_to: localhost
- name: Reboot a server community.general.linode: api_key: 'longStringFromLinodeApi' name: linode-test1 linode_id: "{{ linode_creation.instance.id }}" state: restarted delegate_to: localhost
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 type: str plan: description: - plan to use for the instance (Linode plan) type: int swap: default: 512 description: - swap size in MB type: int wait: default: true 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 type: str api_key: description: - Linode API key type: str password: description: - root password to apply to a new server (auto generated if missing) type: str watchdog: default: 'True' description: - Set status of Lassie watchdog. type: bool kernel_id: description: - kernel to use for the instance (Linode Kernel) type: int 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. type: int datacenter: description: - datacenter to create an instance in (Linode Datacenter) type: int private_ip: description: - Add private IPv4 address when Linode is created. - Default is C(false). type: bool ssh_pub_key: description: - SSH public key applied to root user type: str displaygroup: description: - Add the instance to a Display Group in Linode Manager. type: str distribution: description: - distribution to use for the instance (Linode Distribution) type: int payment_term: choices: - 1 - 12 - 24 default: 1 description: - payment term to use for the instance (payment term in months) type: int wait_timeout: default: 300 description: - how long before wait gives up, in seconds type: int backupweeklyday: description: - Integer value for what day of the week to store weekly backups. type: int 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. type: list alert_cpu_enabled: description: - Set status of receiving CPU usage alerts. type: bool alert_bwin_enabled: description: - Set status of bandwidth in alerts. type: bool alert_bwout_enabled: description: - Set status of bandwidth out alerts. type: bool alert_cpu_threshold: description: - Set percentage threshold for receiving CPU usage alerts. Each CPU core adds 100% to total. type: int alert_bwin_threshold: description: - Set threshold in MB of bandwidth in alerts. type: int alert_diskio_enabled: description: - Set status of receiving disk IO alerts. type: bool alert_bwout_threshold: description: - Set threshold in MB of bandwidth out alerts. type: int alert_bwquota_enabled: description: - Set status of bandwidth quota alerts as percentage of network transfer quota. type: bool alert_diskio_threshold: description: - Set threshold for average IO ops/sec over 2 hour period. type: int alert_bwquota_threshold: description: - Set threshold in MB of bandwidth quota alerts. type: int