linode - Manage instances on the Linode Public Cloud¶
New in version 1.3.
Synopsis¶
- Manage Linode Public Cloud instances and optionally wait for it to be ‘running’.
Requirements¶
The below requirements are needed on the host that executes this module.
- python >= 2.6
- linode-python
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
additional_disks
(added in 2.3) |
List of dictionaries for creating additional disks that are added to the Linode configuration settings.
Dictionary takes Size, Label, Type. Size is in MB.
|
|
alert_bwin_enabled
bool (added in 2.3) |
|
Set status of bandwidth in alerts.
|
alert_bwin_threshold
(added in 2.3) |
Set threshold in MB of bandwidth in alerts.
|
|
alert_bwout_enabled
bool (added in 2.3) |
|
Set status of bandwidth out alerts.
|
alert_bwout_threshold
(added in 2.3) |
Set threshold in MB of bandwidth out alerts.
|
|
alert_bwquota_enabled
bool (added in 2.3) |
|
Set status of bandwidth quota alerts as percentage of network transfer quota.
|
alert_bwquota_threshold
(added in 2.3) |
Set threshold in MB of bandwidth quota alerts.
|
|
alert_cpu_enabled
bool (added in 2.3) |
|
Set status of receiving CPU usage alerts.
|
alert_cpu_threshold
(added in 2.3) |
Set percentage threshold for receiving CPU usage alerts. Each CPU core adds 100% to total.
|
|
alert_diskio_enabled
bool (added in 2.3) |
|
Set status of receiving disk IO alerts.
|
alert_diskio_threshold
(added in 2.3) |
Set threshold for average IO ops/sec over 2 hour period.
|
|
api_key |
Linode API key
|
|
backupweeklyday
(added in 2.3) |
Integer value for what day of the week to store weekly backups.
|
|
datacenter |
datacenter to create an instance in (Linode Datacenter)
|
|
displaygroup
(added in 2.3) |
Add the instance to a Display Group in Linode Manager.
|
|
distribution |
distribution to use for the instance (Linode Distribution)
|
|
kernel_id
(added in 2.4) |
kernel to use for the instance (Linode Kernel)
|
|
linode_id |
Unique ID of a linode server
aliases: lid |
|
name
required |
Name to give the instance (alphanumeric, dashes, underscore).
To keep sanity on the Linode Web Console, name is prepended with
LinodeID_ . |
|
password |
root password to apply to a new server (auto generated if missing)
|
|
payment_term |
|
payment term to use for the instance (payment term in months)
|
plan |
plan to use for the instance (Linode plan)
|
|
private_ip
bool (added in 2.3) |
|
Add private IPv4 address when Linode is created.
|
ssh_pub_key |
SSH public key applied to root user
|
|
state |
|
Indicate desired state of the resource
|
swap |
Default: 512
|
swap size in MB
|
wait
bool |
|
wait for the instance to be in state
running before returning |
wait_timeout |
Default: 300
|
how long before wait gives up, in seconds
|
watchdog
bool (added in 2.2) |
|
Set status of Lassie watchdog.
|
Notes¶
Note
LINODE_API_KEY
env variable can be used instead.- Please review https://www.linode.com/api/linode for determining the required parameters.
Examples¶
- 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
- 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
- name: Ensure a running server (create if missing)
linode:
api_key: 'longStringFromLinodeApi'
name: linode-test1
linode_id: 12345678
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
- name: Delete a server
linode:
api_key: 'longStringFromLinodeApi'
name: linode-test1
linode_id: 12345678
state: absent
delegate_to: localhost
- name: Stop a server
linode:
api_key: 'longStringFromLinodeApi'
name: linode-test1
linode_id: 12345678
state: stopped
delegate_to: localhost
- name: Reboot a server
linode:
api_key: 'longStringFromLinodeApi'
name: linode-test1
linode_id: 12345678
state: restarted
delegate_to: localhost
Status¶
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance¶
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author¶
- Vincent Viallet (@zbal)
Hint
If you notice any issues in this documentation you can edit this document to improve it.