vultr.cloud.instance module – Manages server instances on Vultr.
Note
This module is part of the vultr.cloud collection (version 1.3.1).
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 vultr.cloud
.
To use it in a playbook, specify: vultr.cloud.instance
.
New in vultr.cloud 1.1.0
Synopsis
Manage server instances on Vultr.
Parameters
Parameter |
Comments |
---|---|
Whether to send an activation email when the instance is ready or not. Only considered on creation. Choices:
|
|
URL to API endpint (without trailing slash). Fallback environment variable Default: |
|
API key of the Vultr API. Fallback environment variable |
|
Amount of retries in case of the Vultr API retuns an HTTP 503 code. Fallback environment variable Default: |
|
Retry backoff delay in seconds is exponential up to this max. value, in seconds. Fallback environment variable Default: |
|
HTTP timeout to Vultr API. Fallback environment variable Default: |
|
The app deploy name of Vultr OneClick apps. Mutually exclusive with image and os. |
|
Whether to enable automatic backups or not. Choices:
|
|
Whether to enable ddos_protection or not. Choices:
|
|
Whether to enable IPv6 or not. Choices:
|
|
The firewall group description to assign this instance to. |
|
The hostname to assign to this instance. |
|
The image deploy name of Vultr Marketplace apps. Mutually exclusive with os and app. |
|
Name of the instance. |
|
The operating system name. Mutually exclusive with image and app. |
|
The plan name to use for the instance. Required if the instance does not yet exist. |
|
Region the instance is deployed into. |
|
IP address of the floating IP to use as the main IP of this instance. Only considered on creation. |
|
List of SSH key names passed to the instance on creation. |
|
Name or ID of the startup script to execute on boot. Only considered while creating the instance. |
|
State of the instance. Choices:
|
|
Tags for the instance. |
|
User data to be passed to the instance. |
|
Validate SSL certs of the Vultr API. Choices:
|
Notes
Note
Also see the API documentation on https://www.vultr.com/api/.
Examples
---
- name: Create an instance using OS
vultr.cloud.instance:
label: my web server
hostname: my-hostname
user_data: |
#cloud-config
packages:
- nginx
firewall_group: my firewall group
plan: vc2-1c-2gb
ddos_protection: true
backups: true
enable_ipv6: true
ssh_keys:
- my ssh key
tags:
- web
- project-genesis
region: ams
os: Debian 11 x64 (bullseye)
- name: Deploy an instance of a marketplace app
vultr.cloud.instance:
label: git-server
hostname: git
firewall_group: my firewall group
plan: vc2-1c-2gb
ddos_protection: true
backups: true
enable_ipv6: true
region: ams
image: Gitea on Ubuntu 20.04
- name: Stop an existing instance
vultr.cloud.instance:
label: my web server
region: ams
state: stopped
- name: Start an existing instance
vultr.cloud.instance:
label: my web server
region: ams
state: started
- name: Delete an instance
vultr.cloud.instance:
label: my web server
region: ams
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 |
|
Endpoint used for the API requests. Returned: success Sample: |
|
Amount of max retries for the API requests. Returned: success Sample: |
|
Exponential backoff delay in seconds between retries up to this max delay value. Returned: success Sample: |
|
Timeout used for the API requests. Returned: success Sample: |
|
Response from Vultr API. Returned: success |
|
Allowed bandwidth of the instance. Returned: success Sample: |
|
App ID of the instance. Returned: success Sample: |
|
Whether backups are enabled or disabled. Returned: success Sample: |
|
Date when the instance was created. Returned: success Sample: |
|
Whether DDOS protections is enabled or not. Returned: success Sample: |
|
Disk size of the instance. Returned: success Sample: |
|
Whether IPv6 is enabled or not. Returned: success Sample: |
|
Features of the instance. Returned: success Sample: |
|
Firewall group ID of the instance. Returned: success Sample: |
|
Gateway IPv4. Returned: success Sample: |
|
Hostname of the instance. Returned: success Sample: |
|
ID of the instance. Returned: success Sample: |
|
Image ID of the instance. Returned: success Sample: |
|
Internal IP of the instance. Returned: success Sample: |
|
KVM of the instance. Returned: success Sample: |
|
Label of the instance. Returned: success Sample: |
|
IPv4 of the instance. Returned: success Sample: |
|
Netmask IPv4 of the instance. Returned: success Sample: |
|
OS of the instance. Returned: success Sample: |
|
OS ID of the instance. Returned: success Sample: |
|
Plan of the instance. Returned: success Sample: |
|
Power status of the instance. Returned: success Sample: |
|
RAM in MB of the instance. Returned: success Sample: |
|
Region the instance was deployed into. Returned: success Sample: |
|
Server status of the instance. Returned: success Sample: |
|
Status about the deployment of the instance. Returned: success Sample: |
|
Tags of the instance. Returned: success Sample: |
|
Base64 encoded user data (cloud init) of the instance. Returned: success Sample: |
|
IPv6 of the instance. Returned: success Sample: |
|
IPv6 network of the instance. Returned: success Sample: |
|
IPv6 network size of the instance. Returned: success Sample: |
|
vCPUs of the instance. Returned: success Sample: |