On this page
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.inifile.
        The ENV variable  VULTR_API_ACCOUNTis used as default, when defined. | 
| api_endpoint | Default: 
        https://api.vultr.com
        | 
        URL to API endpint (without trailing slash).
        
        The ENV variable  VULTR_API_ENDPOINTis used as default, when defined. | 
| api_key | 
        API key of the Vultr API.
        
        The ENV variable  VULTR_API_KEYis 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_RETRIESis used as default, when defined. | 
| api_timeout | Default: 
        60
        | 
        HTTP timeout to Vultr API.
        
        The ENV variable  VULTR_API_TIMEOUTis used as default, when defined. | 
| auto_backup_enabled | 
 | 
        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 | 
 | 
        Whether to enable IPv6 or not.
        | 
| name 
        required
        | 
        Name of the server.
        aliases: label | |
| notify_activate | 
 | 
        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 | 
 | 
        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 | 
 | 
        State of the server.
        | 
| tag | 
        Tag for the server.
        | |
| user_data | 
        User data to be passed to the server.
        | |
| validate_certs | 
 | 
        Validate SSL certs of the Vultr API.
        | 
Notes
Note
- Also see the API documentation on https://www.vultr.com/api/.
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_endpoint 
        string
        | success | 
        Endpoint used for the API requests
        Sample:
        
        https://api.vultr.com
        | |
| 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_account 
        string
        | success | 
        Account used in the ini file to select the key
        Sample:
        
        default
        | |
| vultr_server 
        complex
        | success | 
        Response from Vultr API with a few additions/modification
        | |
| status 
        string
        | success | 
        Status about the deployment of the server
        Sample:
        
        active
        | |
| v6_network_size 
        string
        | success | 
        Network size IPv6
        | |
| server_state 
        string
        | success | 
        State about the server
        Sample:
        
        ok
        | |
| ram 
        string
        | success | 
        Information about the RAM size
        Sample:
        
        1024 MB
        | |
| tag 
        string
        | success | 
        TBD
        | |
| allowed_bandwidth_gb 
        int
        | success | 
        Allowed bandwidth to use in GB
        Sample:
        
        1000
        | |
| default_password 
        string
        | success | 
        Password to login as root into the server
        Sample:
        
        !p3EWYJm$qDWYaFr
        | |
| internal_ip 
        string
        | success | 
        Internal IP
        | |
| auto_backup_enabled 
        bool
        | success | 
        Whether automatic backups are enabled
        | |
| 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
        | |
| v6_network 
        string
        | success | 
        Network IPv6
        | |
| disk 
        string
        | success | 
        Information about the disk
        Sample:
        
        Virtual 25 GB
        | |
| v4_netmask 
        string
        | success | 
        Netmask IPv4
        Sample:
        
        255.255.254.0
        | |
| id 
        string
        | success | 
        ID of the server
        Sample:
        
        10194376
        | |
| v6_networks 
        list
        | success | 
        Networks IPv6
        | |
| vcpu_count 
        int
        | success | 
        Virtual CPU count
        Sample:
        
        1
        | |
| name 
        string
        | success | 
        Name (label) of the server
        Sample:
        
        ansible-test-vm
        | |
| kvm_url 
        string
        | success | 
        URL to the VNC
        Sample:
        
        https://my.vultr.com/subs/vps/novnc/api.php?data=xyz
        | |
| os 
        string
        | success | 
        Operating system used for the server
        Sample:
        
        CentOS 6 x64
        | |
| v6_main_ip 
        string
        | success | 
        Main IPv6
        | |
| v4_gateway 
        string
        | success | 
        IPv4 gateway
        Sample:
        
        45.32.232.1
        | |
| firewall_group 
        string
        | success and available | 
        Firewall group the server is assinged to
        Sample:
        
        CentOS 6 x64
        | |
| current_bandwidth_gb 
        int
        | success | 
        Current bandwidth used for the server
        | |
| power_status 
        string
        | success | 
        Power status of the server
        Sample:
        
        running
        | |
| date_created 
        string
        | success | 
        Date when the server was created
        Sample:
        
        2017-08-26 12:47:48
        | |
| v4_main_ip 
        string
        | success | 
        Main IPv4
        Sample:
        
        45.32.233.154
        | |
| region 
        string
        | success | 
        Region the server was deployed into
        Sample:
        
        Amsterdam
        | |
| cost_per_month 
        float
        | success | 
        Cost per month for the server
        Sample:
        
        5.0
        | |
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
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.5/modules/vr_server_module.html