ngine_io.vultr.vultr_server_baremetal – Manages baremetal servers on Vultr.

Note

This plugin is part of the ngine_io.vultr collection (version 1.1.0).

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_baremetal.

New in version 0.3.0: of ngine_io.vultr

Synopsis

  • Deploy and destroy servers.

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
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.
hostname
string
The hostname to assign to this server.
ipv6_enabled
boolean
    Choices:
  • no
  • yes
Whether to enable IPv6 or not.
name
string / required
Name of the server.

aliases: label
notify_activate
boolean
    Choices:
  • no ←
  • yes
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.
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.
ssh_keys
list / elements=string
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
    Choices:
  • present ←
  • absent
State of the server.
tag
string
Tag for the server.
user_data
string
User data to be passed to the server.
validate_certs
boolean
    Choices:
  • no
  • yes ←
Validate SSL certs of the Vultr API.

Notes

Note

Examples

- name: create server
  ngine_io.vultr.vultr_server_baremetal:
    name: "{{ vultr_server_baremetal_name }}"
    os: Debian 9 x64 (stretch)
    plan: 32768 MB RAM,2x 240 GB SSD,5.00 TB BW
    region: Amsterdam

- name: ensure a server is absent
  ngine_io.vultr.vultr_server_baremetal:
    name: "{{ vultr_server_baremetal_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_endpoint
string
success
Endpoint used for the API requests

Sample:
https://api.vultr.com
 
api_retries
integer
success
Amount of max retries for the API requests

Sample:
5
 
api_timeout
integer
success
Timeout used for the API requests

Sample:
60
vultr_server_baremetal
complex
success
Response from Vultr API with a few additions/modification

 
allowed_bandwidth_gb
integer
success
Allowed bandwidth to use in GB

Sample:
1000
 
cost_per_month
float
success
Cost per month for the server

Sample:
120.0
 
current_bandwidth_gb
integer
success
Current bandwidth used for the server

 
date_created
string
success
Date when the server was created

Sample:
2017-04-12 18:45:41
 
default_password
string
success
Password to login as root into the server

Sample:
ab81u!ryranq
 
disk
string
success
Information about the disk

Sample:
SSD 250 GB
 
id
string
success
ID of the server

Sample:
900000
 
internal_ip
string
success
Internal IP

 
name
string
success
Name (label) of the server

Sample:
ansible-test-baremetal
 
os
string
success
Operating system used for the server

Sample:
Debian 9 x64
 
pending_charges
float
success
Pending charges

Sample:
0.18
 
plan
string
success
Plan used for the server

Sample:
32768 MB RAM,2x 240 GB SSD,5.00 TB BW
 
ram
string
success
Information about the RAM size

Sample:
32768 MB
 
region
string
success
Region the server was deployed into

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

Sample:
active
 
tag
string
success
Server tag

Sample:
my tag
 
v4_gateway
string
success
IPv4 gateway

Sample:
203.0.113.1
 
v4_main_ip
string
success
Main IPv4

Sample:
203.0.113.10
 
v4_netmask
string
success
Netmask IPv4

Sample:
255.255.255.0
 
v6_main_ip
string
success
Main IPv6

Sample:
2001:DB8:9000::100
 
v6_network
string
success
Network IPv6

Sample:
2001:DB8:9000::
 
v6_network_size
integer
success
Network size IPv6

Sample:
64
 
v6_networks
list / elements=string
success
Networks IPv6



Authors

  • Nate River (@vitikc)

  • Simon Baerlocher (@sbaerlocher)