vr_server - Manages virtual servers on Vultr.

New in version 2.5.

Synopsis

  • Deploy, start, stop, update, restart, reinstall servers.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6

Parameters

Parameter Choices/Defaults Comments
api_account 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 Default:
"https://api.vultr.com"
URL to API endpint (without trailing slash).
The ENV variable VULTR_API_ENDPOINT is used as default, when defined.
api_key
API key of the Vultr API.
The ENV variable VULTR_API_KEY is used as default, when defined.
api_retries Default:
5
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.
api_timeout Default:
60
HTTP timeout to Vultr API.
The ENV variable VULTR_API_TIMEOUT is used as default, when defined.
auto_backup_enabled
bool
    Choices:
  • no
  • yes
Whether to enable automatic backups or not.
firewall_group
The firewall group to assign this server to.
force
Force stop/start the server if required to apply changes
Otherwise a running server will not be changed.
hostname
Hostname to assign to this server.
ipv6_enabled
bool
    Choices:
  • no
  • yes
Whether to enable IPv6 or not.
name
required
Name of the server.

aliases: label
notify_activate
bool
    Choices:
  • no
  • yes
Whether to send an activation email when the server is ready or not.
Only considered on creation.
os
The operating system.
Required if the server does not yet exist.
plan
Plan to use for the server.
Required if the server does not yet exist.
private_network_enabled
bool
    Choices:
  • no
  • yes
Whether to enable private networking or not.
region
Region the server is deployed into.
Required if the server does not yet exist.
reserved_ip_v4
IP address of the floating IP to use as the main IP of this server.
Only considered on creation.
ssh_keys
List of SSH keys passed to the server on creation.

aliases: ssh_key
startup_script
Name of the startup script to execute on boot.
Only considered while creating the server.
state
    Choices:
  • present
  • absent
  • restarted
  • reinstalled
  • started
  • stopped
State of the server.
tag
Tag for the server.
user_data
User data to be passed to the server.
validate_certs
bool
    Choices:
  • no
  • yes
Validate SSL certs of the Vultr API.

Notes

Note

Examples

- name: create server
  local_action:
    module: vr_server
    name: "{{ vr_server_name }}"
    os: CentOS 7 x64
    plan: 1024 MB RAM,25 GB SSD,1.00 TB BW
    region: Amsterdam
    state: present

- name: ensure a server is present and started
  local_action:
    module: vr_server
    name: "{{ vr_server_name }}"
    os: CentOS 7 x64
    plan: 1024 MB RAM,25 GB SSD,1.00 TB BW
    region: Amsterdam
    state: started

- name: ensure a server is present and stopped
  local_action:
    module: vr_server
    name: "{{ vr_server_name }}"
    os: CentOS 7 x64
    plan: 1024 MB RAM,25 GB SSD,1.00 TB BW
    region: Amsterdam
    state: stopped

- name: ensure an existing server is stopped
  local_action:
    module: vr_server
    name: "{{ vr_server_name }}"
    state: stopped

- name: ensure an existing server is started
  local_action:
    module: vr_server
    name: "{{ vr_server_name }}"
    state: started

- name: ensure a server is absent
  local_action:
    module: vr_server
    name: "{{ vr_server_name }}"
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
vultr_api
complex
success
Response from Vultr API with a few additions/modification

api_account
string
success
Account used in the ini file to select the key

Sample:
default
api_timeout
int
success
Timeout used for the API requests

Sample:
60
api_retries
int
success
Amount of max retries for the API requests

Sample:
5
api_endpoint
string
success
Endpoint used for the API requests

Sample:
https://api.vultr.com
vultr_server
complex
success
Response from Vultr API with a few additions/modification

id
string
success
ID of the server

Sample:
10194376
name
string
success
Name (label) of the server

Sample:
ansible-test-vm
plan
string
success
Plan used for the server

Sample:
1024 MB RAM,25 GB SSD,1.00 TB BW
allowed_bandwidth_gb
int
success
Allowed bandwidth to use in GB

Sample:
1000
auto_backup_enabled
bool
success
Whether automatic backups are enabled

cost_per_month
float
success
Cost per month for the server

Sample:
5.0
current_bandwidth_gb
int
success
Current bandwidth used for the server

date_created
string
success
Date when the server was created

Sample:
2017-08-26 12:47:48
default_password
string
success
Password to login as root into the server

Sample:
!p3EWYJm$qDWYaFr
disk
string
success
Information about the disk

Sample:
Virtual 25 GB
v4_gateway
string
success
IPv4 gateway

Sample:
45.32.232.1
internal_ip
string
success
Internal IP

kvm_url
string
success
URL to the VNC

Sample:
https://my.vultr.com/subs/vps/novnc/api.php?data=xyz
region
string
success
Region the server was deployed into

Sample:
Amsterdam
v4_main_ip
string
success
Main IPv4

Sample:
45.32.233.154
v4_netmask
string
success
Netmask IPv4

Sample:
255.255.254.0
os
string
success
Operating system used for the server

Sample:
CentOS 6 x64
firewall_group
string
success and available
Firewall group the server is assinged to

Sample:
CentOS 6 x64
pending_charges
float
success
Pending charges

Sample:
0.01
power_status
string
success
Power status of the server

Sample:
running
ram
string
success
Information about the RAM size

Sample:
1024 MB
server_state
string
success
State about the server

Sample:
ok
status
string
success
Status about the deployment of the server

Sample:
active
tag
string
success
TBD

v6_main_ip
string
success
Main IPv6

v6_network
string
success
Network IPv6

v6_network_size
string
success
Network size IPv6

v6_networks
list
success
Networks IPv6

vcpu_count
int
success
Virtual CPU count

Sample:
1


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

  • René Moser (@resmo)

Hint

If you notice any issues in this documentation you can edit this document to improve it.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/vr_server_module.html