Sign up at Vultr.com

If you don't already have a Vultr account, please sign up at https://www.vultr.com/?ref=7326387

Supported Features

CreateCancelSuspendUnsuspendManagementConfig Options
YES
YES
YES
YES
YES
YES

Management Features

This module supports the following management features within the client area:

  • Start, Stop, and Restart the server (VC2 and Bare Metal)
  • Reinstall the OS (VC2 and Bare Metal)
  • View Server details, including initial password, and if an application has been installed the application details (VC2 and Bare Metal)
  • Create and restore snapshots (VC2)
  • Create and restore backups (VC2)

 

 

 

Installing Vultr

  1. Visit [Settings] > [Company] > [Modules] > Available.
  2. Click the "Install" button within the Vultr module listing.

A message will be displayed, indicating that the module was successfully installed. Then click the "Add Account" button.

In your Vultr account, you will find your API Key under [Account] > API. Under Access Control, be sure to add the IP address of your Blesta server. Enter your username and API key in Blesta.

Field NameDescription
Account NameEnter the username you use to sign into Vultr
API KeyEnter your API Key as provided by Vultr.

Configurable Options Overview

This module supports configurable options which may alter the provisioning of Vultr instances. Configurable Options override any matching Package settings.

Not Required

Configurable Options are not required, and this list in no way limits the Configurable Options that can be created. However, only the following Configurable Options can alter the way Vultr instances are provisioned.

Option NamePossible ValuesRecommended Field TypeDescription
enable_backupenableCheckbox

Determines whether backups should be enabled for the instance.

Permanent Disable

When the "enable_backup" config option is switched from enabled to disabled Vultr will not allow it to be re-enabled. It will be disabled permanently.


Creating Configurable Options

The following steps describe how to create configurable options. This section describes the following:

  1. Creating a Configurable Option Group
  2. Creating Configurable Options, and assigning them to the Group (repeat this step as necessary to create all Configurable Options required)

Creating an Option Group

To create a Configurable Option Group, visit [Packages] > Options, and click the "Create Group" button.

Field NameDescription
NameEnter a name for this group.
DescriptionEnter a description for this group (optional).
Package Membership

Leave this section blank, we will add the options to the group when creating the options instead. If you have already created the options, you may add them to the group on this step.

After filling out these options, click the "Create Group" button to create the Option Group.

Creating a Configurable Option

To create a Configurable Option, visit [Packages] > Options, and click the "Create Option" button.

Field NameDescription
LabelEnter a label, which will appear above or next to this form field.
NameEnter a name, which is the form field name. (Important! This should match an Option Name described above. The module requires specific naming.)
TypeSelect the field type from "Checkbox", "Radio", "Drop-down", and "Quantity".
Options SectionSet pricing information within the Options section. The fields required here may vary depending on the "Type" selected above.
Group Membership SectionAdd this Configurable Option to the previously created Option Group by moving the Group from the right to the left in the multi-select box.

After filling out these options, click the "Create Package Option" button to create the Option. Repeat as necessary to create all of the configurable options you wish to make available to the client during checkout.

Sample Configurable Options

The following are sample configurations for each of the supported configurable options listed above, and may serve as good examples for getting started.

Option NameSample Configuration Screenshot (Click for full size)
enable_backup

Creating Packages


Packages define the pricing, welcome email, module and more. Packages can be assigned to Package Groups, and added to Order Forms. To create a Package, visit [Packages] > Browse, and click the "Create Package" button.

Creating a Package consists of several sections:

Basic

The Basic section consists of the following options:

Field NameDescription
Package NameEnter the name of this Package, it will be visible wherever services are listed and on any order forms.
Status"Active" is the default, "Inactive", and "Restricted" are also available.
Quantity AvailableIf this Package has a limited quantity available, enter the quantity, or leave it as "Unlimited".
DescriptionEnter a Description for this Package. HTML is allowed, and descriptions appear on order forms.
Configurable OptionsA Configurable Option Group may be selected if previously created.
ModuleSelect "Vultr" for the module.

Module Options

The Module Options section consists of the following options, which are specific to Vultr:

Field NameDescription
GroupGroups are not supported by this module.
AccountSelect the Vultr account this package will use to provision accounts. It's possible to have multiple Vultr accounts through the module.
Server TypeSelect the server type you would like to provision. "Virtual Machine" and "Bare Metal" are supported.
Server PlanSelect the size of the server you would like to use for this Package.
Set TemplateYou can preselect an OS template for the package, or you can choose to let the client select the template during checkout.
Surcharge Templates

Some templates may incur a surcharge. You can allow or disallow these type of OS templates.

Surcharge Templates

As of April 5, 2019 the only templates designated by the Vultr API as surcharge are: "Windows 2012 R2 x64", and "Windows 2016 x64"

Pricing

Field NameDescription
TermEnter the term for the desired pricing option. For example, if you wish to create a 3 month pricing option, enter 3 here.
PeriodSelect the period for this pricing option. "Day", "Week", "Month", "Year", and "One time" are options. The client will be invoiced every "term period", for example every 3 months if 3 is entered for term, and Month is selected for period.
CurrencySelect the currency this pricing option is available for.
PriceEnter the price for this pricing option.
Setup FeeIf there is a setup fee, enter it here.
Cancellation FeeIf there is a fee to cancel early, enter it here.

Click the "Add Additional Price" to add more pricing options. It's common for people to create 1 Month, 3 Month, 6 Month, and 1 Year price options. There are many possible combinations.

Welcome Email

The "Tags" section describes tags that may be used in the welcome email. The welcome email content is inserted into the "Service Creation" email template under [Settings] > [Company] > [Emails] > Service Creation. Only details unique to this service should be entered into the welcome email section for the package.

Sample Email

This sample email could be used in the Package Welcome Email section to help you get started. Be sure to enter content for your welcome email in both the HTML and Text sections.

Thanks for choosing us for your VPS!

Your server {service.vultr_hostname} is now being spun up and you can manage it through our client area by clicking the "Manage" button next to the server on your Dashboard. The initial password can be found under the "Statistics" section. It may take a few minutes for the server to finish booting.

When creating or editing a package that uses this module, the following tags will be available:

TagsDescriptionNotes
{service.vultr_hostname}The host name of the Vultr server.e.g. "vultr.domain.com".
{service.vultr_location}The location of the Vultr server.

The Vultr server location.

Due to the nature of tag objects containing several fields, many of which are likely irrelevant for use in email templates, but may be useful to you in certain circumstances, a dump of the tags are shown below.

 

The {package} object
stdClass Object
        (
            [id] => 7
            [id_format] => {num}
            [id_value] => 7
            [module_id] => 3
            [name] => VPS 1
            [description] => 
            [description_html] => 
            [qty] => 
            [module_row] => 2
            [module_group] => 
            [taxable] => 0
            [single_term] => 0
            [status] => active
            [company_id] => 1
            [prorata_day] => 
            [prorata_cutoff] => 
            [id_code] => 7
            [email_content] => Array
                (
                    [0] => stdClass Object
                        (
                            [lang] => en_us
                            [html] => <p>Thanks for choosing us for your VPS!</p>

<p>Your server {service.vultr_hostname}&nbsp;is now being spun up and you can manage it through our client area by clicking the "Manage" button next to the server on your Dashboard. The initial password can be found&nbsp;under the "Statistics" section. It may take a few minutes for the server to finish booting.</p>


                            [text] => Thanks for choosing us for your VPS!

Your server {service.vultr_hostname} is now being spun up and you can manage it through our client area by clicking the "Manage" button next to the server on your Dashboard. The initial password can be found under the "Statistics" section. It may take a few minutes for the server to finish booting.

                        )

                )

            [pricing] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 13
                            [pricing_id] => 14
                            [package_id] => 7
                            [term] => 1
                            [period] => month
                            [price] => 5.0000
                            [setup_fee] => 0.0000
                            [cancel_fee] => 0.0000
                            [currency] => USD
                        )

                )

            [meta] => stdClass Object
                (
                    [baremetal_plan] => 100
                    [server_plan] => 201
                    [server_type] => server
                    [set_template] => client
                    [surcharge_templates] => disallow
                    [template] => os-127
                )

            [groups] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 4
                            [name] => Cloud VPS
                            [description] => 
                            [type] => standard
                            [company_id] => 1
                            [allow_upgrades] => 1
                        )

                )

            [option_groups] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 1
                            [name] => Vultr Options
                            [description] => Vultr Configurable Options
                        )

                )

            [baremetal_plan] => 100
            [server_plan] => 201
            [server_type] => server
            [set_template] => client
            [surcharge_templates] => disallow
            [template] => os-127
        )
The {service} object
stdClass Object
        (
            [id] => 4
            [parent_service_id] => 
            [package_group_id] => 4
            [id_format] => {num}
            [id_value] => 4
            [pricing_id] => 13
            [client_id] => 1
            [module_row_id] => 2
            [coupon_id] => 
            [qty] => 1
            [override_price] => 
            [override_currency] => 
            [status] => active
            [date_added] => 2018-03-08 21:11:28
            [date_renews] => 2018-04-08 21:11:28
            [date_last_renewed] => 
            [date_suspended] => 
            [date_canceled] => 
            [id_code] => 4
            [fields] => Array
                (
                    [0] => stdClass Object
                        (
                            [key] => vultr_dns_domains
                            [value] => Array
                                (
                                )

                            [serialized] => 1
                            [encrypted] => 0
                        )

                    [1] => stdClass Object
                        (
                            [key] => vultr_enable_ipv6
                            [value] => disable
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [2] => stdClass Object
                        (
                            [key] => vultr_hostname
                            [value] => vltr.blesta.com
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [3] => stdClass Object
                        (
                            [key] => vultr_location
                            [value] => 3
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [4] => stdClass Object
                        (
                            [key] => vultr_snapshots
                            [value] => Array
                                (
                                )

                            [serialized] => 1
                            [encrypted] => 0
                        )

                    [5] => stdClass Object
                        (
                            [key] => vultr_subid
                            [value] => 14027745
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [6] => stdClass Object
                        (
                            [key] => vultr_template
                            [value] => app-41
                            [serialized] => 0
                            [encrypted] => 0
                        )

                )

            [package_pricing] => stdClass Object
                (
                    [id] => 13
                    [package_id] => 7
                    [pricing_id] => 14
                    [term] => 1
                    [period] => Month
                    [price] => 5.0000
                    [setup_fee] => 0.0000
                    [cancel_fee] => 0.0000
                    [currency] => USD
                )

            [package] => stdClass Object
                (
                    [id] => 7
                    [id_format] => {num}
                    [id_value] => 7
                    [module_id] => 3
                    [name] => VPS 1
                    [description] => 
                    [description_html] => 
                    [qty] => 
                    [module_row] => 2
                    [module_group] => 
                    [taxable] => 0
                    [single_term] => 0
                    [status] => active
                    [company_id] => 1
                    [prorata_day] => 
                    [prorata_cutoff] => 
                )

            [options] => Array
                (
                )

            [name] => vltr.blesta.com
            [vultr_dns_domains] => Array
                (
                )

            [vultr_enable_ipv6] => disable
            [vultr_hostname] => vltr.blesta.com
            [vultr_location] => 3
            [vultr_snapshots] => Array
                (
                )

            [vultr_subid] => 14027745
            [vultr_template] => app-41
        )

Group Membership

If this is the first Package you are creating with this module, select the "Create a New Group" option, and enter a Group name. If you are adding a subsequent Package and wish for it to be part of the same group, select "Select from Available Groups", and move the group from the right to the left of the multi-select box.

When finished, click "Create Package" to create this package.

Final Steps

The only thing left to do is to add this Package Group to an order form so clients may place orders for your Vultr servers. See Creating an Order Form for more details.



  • No labels