ngine_io.vultr.vultr_server module – Manages virtual servers on Vultr.
Note
This module is part of the ngine_io.vultr collection (version 1.1.2).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install ngine_io.vultr
.
To use it in a playbook, specify: ngine_io.vultr.vultr_server
.
New in version 0.1.0: of ngine_io.vultr
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.6
Parameters
Parameter |
Comments |
---|---|
Name of the ini section in the The ENV variable Default: “default” |
|
URL to API endpint (without trailing slash). The ENV variable Fallback value is https://api.vultr.com if not specified. |
|
API key of the Vultr API. The ENV variable |
|
Amount of retries in case of the Vultr API retuns an HTTP 503 code. The ENV variable Fallback value is 5 retries if not specified. |
|
Retry backoff delay in seconds is exponential up to this max. value, in seconds. The ENV variable Fallback value is 12 seconds. |
|
HTTP timeout to Vultr API. The ENV variable Fallback value is 60 seconds if not specified. |
|
Whether to enable automatic backups or not. Choices:
|
|
The firewall group description or ID to assign this server to. |
|
Force stop/start the server if required to apply changes Otherwise a running server will not be changed. Choices:
|
|
The hostname to assign to this server. |
|
Whether to enable IPv6 or not. Choices:
|
|
Name of the server. |
|
Whether to send an activation email when the server is ready or not. Only considered on creation. Choices:
|
|
The operating system name or ID. Required if the server does not yet exist and is not restoring from a snapshot. |
|
Plan name or ID to use for the server. Required if the server does not yet exist. |
|
Whether to enable private networking or not. Choices:
|
|
Region name or ID the server is deployed into. Required if the server does not yet exist. |
|
IP address of the floating IP to use as the main IP of this server. Only considered on creation. |
|
Name or ID of the snapshot to restore the server from. |
|
List of SSH key names or IDs passed to the server on creation. |
|
Name or ID of the startup script to execute on boot. Only considered while creating the server. |
|
State of the server. Choices:
|
|
Tag for the server. |
|
User data to be passed to the server. |
|
Validate SSL certs of the Vultr API. Choices:
|
Notes
Note
Also see the API documentation on https://www.vultr.com/api/.
Examples
- name: create server
ngine_io.vultr.vultr_server:
name: "{{ vultr_server_name }}"
os: CentOS 7 x64
plan: 1024 MB RAM,25 GB SSD,1.00 TB BW
ssh_keys:
- my_key
- your_key
region: Amsterdam
state: present
- name: ensure a server is present and started
ngine_io.vultr.vultr_server:
name: "{{ vultr_server_name }}"
os: CentOS 7 x64
plan: 1024 MB RAM,25 GB SSD,1.00 TB BW
firewall_group: my_group
ssh_key: my_key
region: Amsterdam
state: started
- name: ensure a server is present and stopped provisioned using IDs
ngine_io.vultr.vultr_server:
name: "{{ vultr_server_name }}"
os: "167"
plan: "201"
region: "7"
state: stopped
- name: ensure an existing server is stopped
ngine_io.vultr.vultr_server:
name: "{{ vultr_server_name }}"
state: stopped
- name: ensure an existing server is started
ngine_io.vultr.vultr_server:
name: "{{ vultr_server_name }}"
state: started
- name: ensure a server is absent
ngine_io.vultr.vultr_server:
name: "{{ vultr_server_name }}"
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Response from Vultr API with a few additions/modification Returned: success |
|
Account used in the ini file to select the key Returned: success Sample: “default” |
|
Amount of max retries for the API requests Returned: success Sample: 5 |
|
Exponential backoff delay in seconds between retries up to this max delay value. Returned: success Sample: 12 |
|
Timeout used for the API requests Returned: success Sample: 60 |
|
Response from Vultr API with a few additions/modification Returned: success |
|
Allowed bandwidth to use in GB Returned: success Sample: 1000 |
|
Whether automatic backups are enabled Returned: success Sample: false |
|
Cost per month for the server Returned: success Sample: 5.0 |
|
Current bandwidth used for the server Returned: success Sample: 0 |
|
Date when the server was created Returned: success Sample: “2017-08-26 12:47:48” |
|
Password to login as root into the server Returned: success Sample: “!p3EWYJm$qDWYaFr” |
|
Information about the disk Returned: success Sample: “Virtual 25 GB” |
|
Firewall group the server is assigned to Returned: success and available Sample: “CentOS 6 x64” |
|
ID of the server Returned: success Sample: 10194376 |
|
Internal IP Returned: success Sample: “” |
|
Name (label) of the server Returned: success Sample: “ansible-test-vm” |
|
Operating system used for the server Returned: success Sample: “CentOS 6 x64” |
|
Pending charges Returned: success Sample: 0.01 |
|
Plan used for the server Returned: success Sample: “1024 MB RAM,25 GB SSD,1.00 TB BW” |
|
Power status of the server Returned: success Sample: “running” |
|
Information about the RAM size Returned: success Sample: “1024 MB” |
|
Region the server was deployed into Returned: success Sample: “Amsterdam” |
|
State about the server Returned: success Sample: “ok” |
|
Status about the deployment of the server Returned: success Sample: “active” |
|
TBD Returned: success Sample: “” |
|
IPv4 gateway Returned: success Sample: “45.32.232.1” |
|
Main IPv4 Returned: success Sample: “45.32.233.154” |
|
Netmask IPv4 Returned: success Sample: “255.255.254.0” |
|
Main IPv6 Returned: success Sample: “” |
|
Network IPv6 Returned: success Sample: “” |
|
Network size IPv6 Returned: success Sample: “” |
|
Networks IPv6 Returned: success Sample: [] |
|
Virtual CPU count Returned: success Sample: 1 |
Authors
René Moser (@resmo)