vultr_server – Manages virtual servers on Vultr¶
New in version 2.5.
Requirements¶
The below requirements are needed on the host that executes this module.
python >= 2.6
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
api_account
string
|
Default: "default"
|
Name of the ini section in the
vultr.ini file.The ENV variable
VULTR_API_ACCOUNT is used as default, when defined. |
api_endpoint
string
|
URL to API endpint (without trailing slash).
The ENV variable
VULTR_API_ENDPOINT is used as default, when defined.Fallback value is https://api.vultr.com if not specified.
|
|
api_key
string
|
API key of the Vultr API.
The ENV variable
VULTR_API_KEY is used as default, when defined. |
|
api_retries
integer
|
Amount of retries in case of the Vultr API retuns an HTTP 503 code.
The ENV variable
VULTR_API_RETRIES is used as default, when defined.Fallback value is 5 retries if not specified.
|
|
api_retry_max_delay
integer
added in 2.9 |
Retry backoff delay in seconds is exponential up to this max. value, in seconds.
The ENV variable
VULTR_API_RETRY_MAX_DELAY is used as default, when defined.Fallback value is 12 seconds.
|
|
api_timeout
integer
|
HTTP timeout to Vultr API.
The ENV variable
VULTR_API_TIMEOUT is used as default, when defined.Fallback value is 60 seconds if not specified.
|
|
auto_backup_enabled
boolean
|
|
Whether to enable automatic backups or not.
|
firewall_group
string
|
The firewall group description or ID to assign this server to.
|
|
force
boolean
|
|
Force stop/start the server if required to apply changes
Otherwise a running server will not be changed.
|
hostname
string
|
The hostname to assign to this server.
|
|
ipv6_enabled
boolean
|
|
Whether to enable IPv6 or not.
|
name
string
/ required
|
Name of the server.
aliases: label |
|
notify_activate
boolean
|
|
Whether to send an activation email when the server is ready or not.
Only considered on creation.
|
os
string
|
The operating system name or ID.
Required if the server does not yet exist and is not restoring from a snapshot.
|
|
plan
string
|
Plan name or ID to use for the server.
Required if the server does not yet exist.
|
|
private_network_enabled
boolean
|
|
Whether to enable private networking or not.
|
region
string
|
Region name or ID the server is deployed into.
Required if the server does not yet exist.
|
|
reserved_ip_v4
string
|
IP address of the floating IP to use as the main IP of this server.
Only considered on creation.
|
|
snapshot
string
added in 2.8 |
Name or ID of the snapshot to restore the server from.
|
|
ssh_keys
list
|
List of SSH key names or IDs passed to the server on creation.
aliases: ssh_key |
|
startup_script
string
|
Name or ID of the startup script to execute on boot.
Only considered while creating the server.
|
|
state
string
|
|
State of the server.
|
tag
string
|
Tag for the server.
|
|
user_data
string
|
User data to be passed to the server.
|
|
validate_certs
boolean
|
|
Validate SSL certs of the Vultr API.
|
Notes¶
Note
Also see the API documentation on https://www.vultr.com/api/.
Examples¶
- name: create server
delegate_to: localhost
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
delegate_to: localhost
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
delegate_to: localhost
vultr_server:
name: "{{ vultr_server_name }}"
os: "167"
plan: "201"
region: "7"
state: stopped
- name: ensure an existing server is stopped
delegate_to: localhost
vultr_server:
name: "{{ vultr_server_name }}"
state: stopped
- name: ensure an existing server is started
delegate_to: localhost
vultr_server:
name: "{{ vultr_server_name }}"
state: started
- name: ensure a server is absent
delegate_to: localhost
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:
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]
Authors¶
René Moser (@resmo)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.