vultr_server – Manages virtual servers on Vultr
New in version 2.5.
Synopsis
- Deploy, start, stop, update, restart, reinstall servers.
 
Aliases: vr_server
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:
| 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_retry_max_delay    integer   added in 2.9   |  success |   Exponential backoff delay in seconds between retries up to this max delay value.  Sample:  12   |  |
|   api_timeout    integer    |  success |   Timeout used for the API requests  Sample:  60   |  |
|   vultr_server    complex    |  success |   Response from Vultr API with a few additions/modification   |  |
|   allowed_bandwidth_gb    integer    |  success |   Allowed bandwidth to use in GB  Sample:  1000   |  |
|   auto_backup_enabled    boolean    |  success |   Whether automatic backups are enabled   |  |
|   cost_per_month    float    |  success |   Cost per month for the server  Sample:  5.0   |  |
|   current_bandwidth_gb    integer    |  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   |  |
|   firewall_group    string    |  success and available |   Firewall group the server is assigned to  Sample:  CentOS 6 x64   |  |
|   id    string    |  success |   ID of the server  Sample:  10194376   |  |
|   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   |  |
|   name    string    |  success |   Name (label) of the server  Sample:  ansible-test-vm   |  |
|   os    string    |  success |   Operating system used for the server  Sample:  CentOS 6 x64   |  |
|   pending_charges    float    |  success |   Pending charges  Sample:  0.01   |  |
|   plan    string    |  success |   Plan used for the server  Sample:  1024 MB RAM,25 GB SSD,1.00 TB BW   |  |
|   power_status    string    |  success |   Power status of the server  Sample:  running   |  |
|   ram    string    |  success |   Information about the RAM size  Sample:  1024 MB   |  |
|   region    string    |  success |   Region the server was deployed into  Sample:  Amsterdam   |  |
|   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   |  |
|   v4_gateway    string    |  success |   IPv4 gateway  Sample:  45.32.232.1   |  |
|   v4_main_ip    string    |  success |   Main IPv4  Sample:  45.32.233.154   |  |
|   v4_netmask    string    |  success |   Netmask IPv4  Sample:  255.255.254.0   |  |
|   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    integer    |  success |   Virtual CPU count  Sample:  1   |  |
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.
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.9/modules/vultr_server_module.html