HomeNamespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/app.js.html b/docs/app.js.html
index 5545df4e..5bf103c9 100644
--- a/docs/app.js.html
+++ b/docs/app.js.html
@@ -54,13 +54,13 @@ Source: app.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/backup.html b/docs/backup.html
index 1350ea98..9459f2f7 100644
--- a/docs/backup.html
+++ b/docs/backup.html
@@ -354,13 +354,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/backup.js.html b/docs/backup.js.html
index fd6ed2cd..5d236e47 100644
--- a/docs/backup.js.html
+++ b/docs/backup.js.html
@@ -67,13 +67,13 @@ Source: backup.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/baremetal.html b/docs/baremetal.html
index 846f3b7c..32f4a5ec 100644
--- a/docs/baremetal.html
+++ b/docs/baremetal.html
@@ -4396,13 +4396,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/baremetal.js.html b/docs/baremetal.js.html
index 416b4857..2a13c3cd 100644
--- a/docs/baremetal.js.html
+++ b/docs/baremetal.js.html
@@ -545,13 +545,13 @@ Source: baremetal.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/block.html b/docs/block.html
index dd9b8f4a..49620448 100644
--- a/docs/block.html
+++ b/docs/block.html
@@ -1657,13 +1657,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/block.js.html b/docs/block.js.html
index b0a96929..16adcc26 100644
--- a/docs/block.js.html
+++ b/docs/block.js.html
@@ -222,13 +222,13 @@ Source: block.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/dns.html b/docs/dns.html
index 79860379..871cee6d 100644
--- a/docs/dns.html
+++ b/docs/dns.html
@@ -2349,13 +2349,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/dns.js.html b/docs/dns.js.html
index 988101ec..4f0dc4c6 100644
--- a/docs/dns.js.html
+++ b/docs/dns.js.html
@@ -334,13 +334,13 @@ Source: dns.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/firewall.html b/docs/firewall.html
index aad25e81..42be4505 100644
--- a/docs/firewall.html
+++ b/docs/firewall.html
@@ -1778,13 +1778,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/firewall.js.html b/docs/firewall.js.html
index c81c2b61..7fe76620 100644
--- a/docs/firewall.js.html
+++ b/docs/firewall.js.html
@@ -243,13 +243,13 @@ Source: firewall.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/index.html b/docs/index.html
index 9a047e45..654ee890 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -53,7 +53,7 @@ Installation
npm install @vultr/vultr-node
Usage
-Vultr uses a PAT (Personal Access token) to interact/authenticate with the APIs. An API Key can be generated and acquired from the API menu in settings .
+Vultr uses a PAT (Personal Access Token) to interact/authenticate with the APIs. An API Key can be generated and acquired from the API menu in settings .
Initialize
const VultrNode = require('@vultr/vultr-node')
@@ -94,13 +94,13 @@ Authors
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/iso.html b/docs/iso.html
index f8fa963e..de8ffee5 100644
--- a/docs/iso.html
+++ b/docs/iso.html
@@ -674,13 +674,13 @@ listPublic<
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/iso.js.html b/docs/iso.js.html
index efd3ae48..3d7c4f7f 100644
--- a/docs/iso.js.html
+++ b/docs/iso.js.html
@@ -109,13 +109,13 @@ Source: iso.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/load-balancer.js.html b/docs/load-balancer.js.html
new file mode 100644
index 00000000..372183c5
--- /dev/null
+++ b/docs/load-balancer.js.html
@@ -0,0 +1,378 @@
+
+
+
+
+ JSDoc: Source: load-balancer.js
+
+
+
+
+
+
+
+
+
+
+
+
+
Source: load-balancer.js
+
+
+
+
+
+
+
+
+ /**
+ * Methods for interacting with the Load Balancer endpoints<br>
+ * {@link https://www.vultr.com/api/#loadbalancer}
+ * @namespace loadBalancer
+ */
+
+/**
+ * Retrieve the entire configuration of a load balancer subscription.<br>
+ * {@link https://www.vultr.com/api/#loadbalancer_getFullLBConf}
+ * @function getConfInfo
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier for this subscription.
+ */
+exports.getFullConfig = {
+ url: '/loadbalancer/conf_info',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Create a load balancer subscription.<br>
+ * {@link https://www.vultr.com/api/#loadbalancer_create}
+ * @function create
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.DCID - Location in which to create the load balancer.
+ * @param {string} [parameters.label] - Text label to be associated with the subscription.
+ * @param {boolean} [parameters.config_ssl_redirect] - Forces redirect from HTTP to HTTPS.
+ * @param {string} [parameters.sticky_sessions] - Enables sticky sessions for your load balancer; use `on` or `off`.
+ * @param {string} [parameters.cookie_name] - Name for your sticky session cookie.
+ * @param {string} [parameters.balancing_algorithm] - Balancing algorithm for your load balancer; use `roundrobin` or `leastconn`.
+ * @param {object} [parameters.health_check] - Define health checks for your attached back end nodes.
+ * @param {object} [parameters.forwarding_rules] - Define forwarding rules the load balancer will follow.
+ * @param {string} [parameters.ssl_private_key] - The SSL certificate's private key.
+ * @param {string} [parameters.ssl_certificate] - The SSL certificate.
+ * @param {string} [parameters.ssl_chain] - The SSL certificate chain.
+ */
+exports.create = {
+ url: '/loadbalancer/create',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Destroy a load balancer subscription. All data will be permanently lost.
+ * Web traffic passing through the load balancer will be abruptly terminated.
+ * There is no going back from this call.<br>
+ * {@link https://www.vultr.com/api/#loadbalancer_destroy}
+ * @function delete
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier for this subscription.
+ */
+exports.delete = {
+ url: '/loadbalancer/destroy',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Create a new forwarding rule
+ * {@link https://www.vultr.com/api/#loadbalancer_createForwardRule}
+ * @function createForwardingRule
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} parameters.frontend_protocol - Endpoint protocol on load balancer side; use `http`, `https`, or `tcp`.
+ * @param {number} parameters.frontend_port - Endpoint port on load balancer side.
+ * @param {number} parameters.backend_protocol - Endpoint protocol on instance side; use `http`, `https`, or `tcp`.
+ * @param {number} parameters.backend_port - Enpoint port on instance side.
+ */
+exports.createForwardingRule = {
+ url: '/loadbalancer/forward_rule_create',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Delete a forwarding rule.
+ * {@link https://www.vultr.com/api/#loadbalancer_deleteForwardRule}
+ * @function deleteForwardingRule
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} parameters.RULEID - Unique identifier or a forwarding rule.
+ */
+exports.deleteForwardingRule = {
+ url: '/loadbalancer/forward_rule_delete',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * List the forwarding rules of a load balancer subscription
+ * {@link https://www.vultr.com/api/#loadbalancer_ListForwardRules}
+ * @function listForwardingRules
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.listForwardingRules = {
+ url: '/loadbalancer/forward_rule_list',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Retrieve the generic configuration of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_getBasicLBInfo}
+ * @function getGenericInfo
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.getGenericInfo = {
+ url: '/loadbalancer/generic_info',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Update the generic configuration of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_updateBasicInfo}
+ * @function updateGenericInfo
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} [parameters.label] - Label to give your load balancer
+ * @param {string} [parameters.balancing_algorithm] - Balancing algorithm for your load balancer; use `roundrobin` or `leastconn`.
+ * @param {string} [parameters.sticky_sessions] - Enables sticky sessions for your load balancer; use `on` or `off`.
+ * @param {string} [parameters.cookie_name] - Name for your sticky session.
+ * @param {boolean} [parameters.ssl_redirect] - Force HTTP to HTTPS.
+ */
+exports.updateGenericInfo = {
+ url: '/loadbalancer/generic_update',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Retrieve the health checking configuration of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_getHealthCheck}
+ * @function getHealthCheckInfo
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.getHealthCheckInfo = {
+ url: '/loadbalancer/health_check_info',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Update the health checking configuration of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_updateHealthCheck}
+ * @function setHealthCheck
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} [parameters.protocol] - Connection protocol; use `http`, `http`, or `tcp`.
+ * @param {number} [parameters.check_interval] - Time in seconds to perform a health check.
+ * @param {number} [parameters.response_timeout] - Time in seconds to wait for a health check response.
+ * @param {number} [parameters.unhealthy_threshold] - Number of failed attempts allowed before failover.
+ * @param {number} [parameters.healthy_threshold] - Number of successful attempts allowed before success.
+ * @param {string} [parameters.path] - Path used for the health check; must return an HTTP 200 success code.
+ */
+exports.setHealthCheck = {
+ url: '/loadbalancer/health_check_update',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Attach an instance to a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_attachInstance}
+ * @function attachInstance
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {number} parameters.backendNode - Unique identifier or a VPS or bare metal subscription.
+ */
+exports.attachInstance = {
+ url: '/loadbalancer/instance_attach',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Detach an instance from a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_detachInstance}
+ * @function detachInstance
+ * @memberof loadBalancer
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {number} parameters.backendNode - Unique identifier or a VPS or bare metal subscription.
+ */
+exports.detachInstance = {
+ url: '/loadbalancer/instance_detach',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * List the instances attached to a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_listInstance}
+ * @function attachedInstances
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.attachedInstances = {
+ url: '/loadbalancer/instance_list',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Set the label of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_setLabel}
+ * @function setLabel
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} parameters.label - Text label of the load balancer that will be shown in the control panel.
+ */
+exports.setLabel = {
+ url: '/loadbalancer/label_set',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * List all load balancer subscriptions on the current account. This list will
+ * include both pending and active subscriptions.
+ * {@link https://www.vultr.com/api/#loadbalancer_lbList}
+ * @function list
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} [parameters.SUBID] - Unique identifier of a load balancer subscription.
+ */
+exports.list = {
+ url: '/loadbalancer/list',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Add an SSL certificate to a load balancer.
+ * {@link https://www.vultr.com/api/#loadbalancer_addSSL}
+ * @function addSSL
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} parameters.ssl_private_key - The SSL certficate's private key.
+ * @param {string} parameters.ssl_certificate - The SSL certificate to add.
+ * @param {string} [parameters.ssl_chain] - The SSL certificate chain.
+ */
+exports.addSSL = {
+ url: '/loadbalancer/ssl_add',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Retrive whether or not the load balancer subscription has an SSL certificate attached.
+ * {@link https://www.vultr.com/api/#loadbalancer_getSSL}
+ * @function hasSSL
+ * @memberof loadBalancer
+ * @instance
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.hasSSL = {
+ url: '/loadBalancer/ssl_info',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+/**
+ * Remove an SSL certificate from a load balancer.
+ * {@link https://www.vultr.com/api/#loadbalancer_removeSSL}
+ * @function removeSSL
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.removeSSL = {
+ url: '/loadbalancer/ssl_remove',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {}
+}
+
+
+
+
+
+
+
+
+
+ Namespaces
+
+
+
+
+
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
+
+
+
+
+
+
diff --git a/docs/loadBalancer.html b/docs/loadBalancer.html
new file mode 100644
index 00000000..3222440a
--- /dev/null
+++ b/docs/loadBalancer.html
@@ -0,0 +1,4530 @@
+
+
+
+
+ JSDoc: Namespace: loadBalancer
+
+
+
+
+
+
+
+
+
+
+
+
+
Namespace: loadBalancer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Methods
+
+
+
+
+
+
+
+ (static) detachInstance(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+ backendNode
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier or a VPS or bare metal subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ addSSL(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+ Attributes
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+ ssl_private_key
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The SSL certficate's private key.
+
+
+
+
+
+
+ ssl_certificate
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The SSL certificate to add.
+
+
+
+
+
+
+ ssl_chain
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ The SSL certificate chain.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ attachedInstances(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ attachInstance(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+ backendNode
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier or a VPS or bare metal subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ create(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+ Attributes
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ DCID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Location in which to create the load balancer.
+
+
+
+
+
+
+ label
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Text label to be associated with the subscription.
+
+
+
+
+
+
+ config_ssl_redirect
+
+
+
+
+
+boolean
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Forces redirect from HTTP to HTTPS.
+
+
+
+
+
+
+ sticky_sessions
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Enables sticky sessions for your load balancer; use `on` or `off`.
+
+
+
+
+
+
+ cookie_name
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Name for your sticky session cookie.
+
+
+
+
+
+
+ balancing_algorithm
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Balancing algorithm for your load balancer; use `roundrobin` or `leastconn`.
+
+
+
+
+
+
+ health_check
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Define health checks for your attached back end nodes.
+
+
+
+
+
+
+ forwarding_rules
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Define forwarding rules the load balancer will follow.
+
+
+
+
+
+
+ ssl_private_key
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ The SSL certificate's private key.
+
+
+
+
+
+
+ ssl_certificate
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ The SSL certificate.
+
+
+
+
+
+
+ ssl_chain
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ The SSL certificate chain.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ createForwardingRule(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+ frontend_protocol
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+
+ Endpoint protocol on load balancer side; use `http`, `https`, or `tcp`.
+
+
+
+
+
+
+ frontend_port
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Endpoint port on load balancer side.
+
+
+
+
+
+
+ backend_protocol
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Endpoint protocol on instance side; use `http`, `https`, or `tcp`.
+
+
+
+
+
+
+ backend_port
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Enpoint port on instance side.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ delete(parameters)
+
+
+
+
+
+
+
+ Destroy a load balancer subscription. All data will be permanently lost.
+Web traffic passing through the load balancer will be abruptly terminated.
+There is no going back from this call.
+
https://www.vultr.com/api/#loadbalancer_destroy
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier for this subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ deleteForwardingRule(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+ RULEID
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+
+ Unique identifier or a forwarding rule.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getConfInfo(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier for this subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getGenericInfo(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ getHealthCheckInfo(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hasSSL(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ list(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+ Attributes
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ listForwardingRules(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ removeSSL(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setHealthCheck(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+ Attributes
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+ protocol
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Connection protocol; use `http`, `http`, or `tcp`.
+
+
+
+
+
+
+ check_interval
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Time in seconds to perform a health check.
+
+
+
+
+
+
+ response_timeout
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Time in seconds to wait for a health check response.
+
+
+
+
+
+
+ unhealthy_threshold
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Number of failed attempts allowed before failover.
+
+
+
+
+
+
+ healthy_threshold
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Number of successful attempts allowed before success.
+
+
+
+
+
+
+ path
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Path used for the health check; must return an HTTP 200 success code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setLabel(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+ label
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+
+ Text label of the load balancer that will be shown in the control panel.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ updateGenericInfo(parameters)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ parameters
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+ Properties
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+ Attributes
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ SUBID
+
+
+
+
+
+number
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unique identifier of a load balancer subscription.
+
+
+
+
+
+
+ label
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Label to give your load balancer
+
+
+
+
+
+
+ balancing_algorithm
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Balancing algorithm for your load balancer; use `roundrobin` or `leastconn`.
+
+
+
+
+
+
+ sticky_sessions
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Enables sticky sessions for your load balancer; use `on` or `off`.
+
+
+
+
+
+
+ cookie_name
+
+
+
+
+
+string
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Name for your sticky session.
+
+
+
+
+
+
+ ssl_redirect
+
+
+
+
+
+boolean
+
+
+
+
+
+
+
+
+ <optional>
+
+
+
+
+
+
+
+
+
+
+ Force HTTP to HTTPS.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Namespaces
+
+
+
+
+
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/network.html b/docs/network.html
index 29ce07a7..ff7e456b 100644
--- a/docs/network.html
+++ b/docs/network.html
@@ -694,13 +694,13 @@ listHomeNamespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/network.js.html b/docs/network.js.html
index 3026f00d..7ae5fee6 100644
--- a/docs/network.js.html
+++ b/docs/network.js.html
@@ -111,13 +111,13 @@ Source: network.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/object-storage.js.html b/docs/object-storage.js.html
index 9adde92d..79215a9d 100644
--- a/docs/object-storage.js.html
+++ b/docs/object-storage.js.html
@@ -184,13 +184,13 @@ Source: object-storage.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/objectStorage.html b/docs/objectStorage.html
index c5717bd6..a9067d38 100644
--- a/docs/objectStorage.html
+++ b/docs/objectStorage.html
@@ -1329,13 +1329,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/os.html b/docs/os.html
index baf14c90..380a42db 100644
--- a/docs/os.html
+++ b/docs/os.html
@@ -211,13 +211,13 @@ listHomeNamespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/os.js.html b/docs/os.js.html
index a7a33992..b4912c26 100644
--- a/docs/os.js.html
+++ b/docs/os.js.html
@@ -54,13 +54,13 @@ Source: os.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/plans.html b/docs/plans.html
index 63afdcc5..a8f5a34b 100644
--- a/docs/plans.html
+++ b/docs/plans.html
@@ -677,13 +677,13 @@ listVdc2
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/plans.js.html b/docs/plans.js.html
index ce522e58..ee018944 100644
--- a/docs/plans.js.html
+++ b/docs/plans.js.html
@@ -114,13 +114,13 @@ Source: plans.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/regions.html b/docs/regions.html
index 46faa3c9..5ee21d6a 100644
--- a/docs/regions.html
+++ b/docs/regions.html
@@ -1116,13 +1116,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/regions.js.html b/docs/regions.js.html
index d837383f..4ff32250 100644
--- a/docs/regions.js.html
+++ b/docs/regions.js.html
@@ -155,13 +155,13 @@ Source: regions.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/reserved-ip.js.html b/docs/reserved-ip.js.html
index 6ad78ce0..7a093a6f 100644
--- a/docs/reserved-ip.js.html
+++ b/docs/reserved-ip.js.html
@@ -193,13 +193,13 @@ Source: reserved-ip.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/reservedIp.html b/docs/reservedIp.html
index d0cc1acd..faea04c5 100644
--- a/docs/reservedIp.html
+++ b/docs/reservedIp.html
@@ -1344,13 +1344,13 @@ listHomeNamespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/server.html b/docs/server.html
index cee8f8e7..d4b12154 100644
--- a/docs/server.html
+++ b/docs/server.html
@@ -9752,13 +9752,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/server.js.html b/docs/server.js.html
index ffb92566..c3f9b4e5 100644
--- a/docs/server.js.html
+++ b/docs/server.js.html
@@ -1171,13 +1171,13 @@ Source: server.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/snapshot.html b/docs/snapshot.html
index 2b570a2d..3286f91b 100644
--- a/docs/snapshot.html
+++ b/docs/snapshot.html
@@ -925,13 +925,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/snapshot.js.html b/docs/snapshot.js.html
index 084bd066..17b7de33 100644
--- a/docs/snapshot.js.html
+++ b/docs/snapshot.js.html
@@ -130,13 +130,13 @@ Source: snapshot.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/sshkey.html b/docs/sshkey.html
index 2bdf65d6..d3b17455 100644
--- a/docs/sshkey.html
+++ b/docs/sshkey.html
@@ -891,13 +891,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:54 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/sshkey.js.html b/docs/sshkey.js.html
index a04fcee1..4bd67806 100644
--- a/docs/sshkey.js.html
+++ b/docs/sshkey.js.html
@@ -132,13 +132,13 @@ Source: sshkey.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/startup-script.js.html b/docs/startup-script.js.html
index 37ccf0a1..27d7c9b6 100644
--- a/docs/startup-script.js.html
+++ b/docs/startup-script.js.html
@@ -137,13 +137,13 @@ Source: startup-script.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/startupScript.html b/docs/startupScript.html
index 8cd6efe0..f6d1ac4a 100644
--- a/docs/startupScript.html
+++ b/docs/startupScript.html
@@ -938,13 +938,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:54 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/user.html b/docs/user.html
index 3eed1610..5ca77d4e 100644
--- a/docs/user.html
+++ b/docs/user.html
@@ -1107,13 +1107,13 @@ Properties
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:54 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/docs/user.js.html b/docs/user.js.html
index 31f3b2b6..9ef3ce33 100644
--- a/docs/user.js.html
+++ b/docs/user.js.html
@@ -162,13 +162,13 @@ Source: user.js
- Namespaces
+ Namespaces
- Documentation generated by JSDoc 3.6.3 on Fri Feb 21 2020 11:33:53 GMT-0500 (EST)
+ Documentation generated by JSDoc 3.6.4 on Sat Apr 25 2020 13:08:06 GMT-0400 (Eastern Daylight Time)
diff --git a/package.json b/package.json
index 34257293..493f7dd9 100644
--- a/package.json
+++ b/package.json
@@ -56,4 +56,4 @@
"publishConfig": {
"access": "public"
}
-}
+}
\ No newline at end of file
diff --git a/src/api/load-balancer.js b/src/api/load-balancer.js
new file mode 100644
index 00000000..58231fb3
--- /dev/null
+++ b/src/api/load-balancer.js
@@ -0,0 +1,560 @@
+/**
+ * Methods for interacting with the Load Balancer endpoints
+ * {@link https://www.vultr.com/api/#loadbalancer}
+ * @namespace loadBalancer
+ */
+
+/**
+ * Retrieve the entire configuration of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_getFullLBConf}
+ * @function getConfInfo
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier for this subscription.
+ */
+exports.getFullConfig = {
+ url: '/loadbalancer/conf_info',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * Create a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_create}
+ * @function create
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.DCID - Location in which to create the load balancer.
+ * @param {string} [parameters.label] - Text label to be associated with the subscription.
+ * @param {boolean} [parameters.config_ssl_redirect] - Forces redirect from HTTP to HTTPS.
+ * @param {string} [parameters.sticky_sessions] - Enables sticky sessions for your load balancer; use `on` or `off`.
+ * @param {string} [parameters.cookie_name] - Name for your sticky session cookie.
+ * @param {string} [parameters.balancing_algorithm] - Balancing algorithm for your load balancer; use `roundrobin` or `leastconn`.
+ * @param {string} [parameters.proxy_protocol] - Enables proxy protocol; use `on` or `off`.
+ * @param {object} [parameters.health_check] - Define health checks for your attached back end nodes.
+ * @param {array} [parameters.forwarding_rules] - Define forwarding rules the load balancer will follow.
+ * @param {string} [parameters.ssl_private_key] - The SSL certificate's private key.
+ * @param {string} [parameters.ssl_certificate] - The SSL certificate.
+ * @param {string} [parameters.ssl_chain] - The SSL certificate chain.
+ * @param {string} [parameters.attached_nodes] - List which instances to attach to the load balancer.
+ */
+exports.create = {
+ url: '/loadbalancer/create',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ DCID: {
+ type: 'number',
+ required: true
+ },
+ label: {
+ type: 'string',
+ required: false
+ },
+ config_ssl_redirect: {
+ type: 'boolean',
+ required: false
+ },
+ sticky_sessions: {
+ type: 'string',
+ required: false
+ },
+ cookie_name: {
+ type: 'string',
+ required: false
+ },
+ balancing_algorithm: {
+ type: 'string',
+ required: false
+ },
+ proxy_protocol: {
+ type: 'string',
+ required: false
+ },
+ health_check: {
+ type: 'object',
+ required: false
+ },
+ forwarding_rules: {
+ type: 'array',
+ required: false
+ },
+ ssl_private_key: {
+ type: 'string',
+ required: false
+ },
+ ssl_certificate: {
+ type: 'string',
+ required: false
+ },
+ ssl_chain: {
+ type: 'string',
+ required: false
+ },
+ attached_nodes: {
+ type: 'array',
+ required: false
+ }
+ }
+}
+
+/**
+ * Destroy a load balancer subscription. All data will be permanently lost.
+ * Web traffic passing through the load balancer will be abruptly terminated.
+ * There is no going back from this call.
+ * {@link https://www.vultr.com/api/#loadbalancer_destroy}
+ * @function delete
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier for this subscription.
+ */
+exports.delete = {
+ url: '/loadbalancer/destroy',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * Create a new forwarding rule.
+ * {@link https://www.vultr.com/api/#loadbalancer_createForwardRule}
+ * @function createForwardingRule
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} parameters.frontend_protocol - Endpoint protocol on load balancer side; use `http`, `https`, or `tcp`.
+ * @param {number} parameters.frontend_port - Endpoint port on load balancer side.
+ * @param {string} parameters.backend_protocol - Endpoint protocol on instance side; use `http`, `https`, or `tcp`.
+ * @param {number} parameters.backend_port - Enpoint port on instance side.
+ */
+exports.createForwardingRule = {
+ url: '/loadbalancer/forward_rule_create',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ },
+ frontend_protocol: {
+ type: 'string',
+ required: true
+ },
+ frontend_port: {
+ type: 'number',
+ required: true
+ },
+ backend_protocol: {
+ type: 'string',
+ required: true
+ },
+ backend_port: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * Delete a forwarding rule.
+ * {@link https://www.vultr.com/api/#loadbalancer_deleteForwardRule}
+ * @function deleteForwardingRule
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} parameters.RULEID - Unique identifier or a forwarding rule.
+ */
+exports.deleteForwardingRule = {
+ url: '/loadbalancer/forward_rule_delete',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ },
+ RULEID: {
+ type: 'string',
+ required: true
+ }
+ }
+}
+
+/**
+ * List the forwarding rules of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_ListForwardRules}
+ * @function listForwardingRules
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.listForwardingRules = {
+ url: '/loadbalancer/forward_rule_list',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * Retrieve the generic configuration of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_getBasicLBInfo}
+ * @function getGenericInfo
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.getGenericInfo = {
+ url: '/loadbalancer/generic_info',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * Update the generic configuration of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_updateBasicInfo}
+ * @function updateGenericInfo
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} [parameters.label] - Label to give your load balancer
+ * @param {string} [parameters.balancing_algorithm] - Balancing algorithm for your load balancer; use `roundrobin` or `leastconn`.
+ * @param {string} [parameters.sticky_sessions] - Enables sticky sessions for your load balancer; use `on` or `off`.
+ * @param {string} [parameters.cookie_name] - Name for your sticky session.
+ * @param {boolean} [parameters.ssl_redirect] - Force HTTP to HTTPS.
+ * @param {string} [parameters.proxy_protocol] - Enables proxy protocol; use `on` or `off`.
+ */
+exports.updateGenericInfo = {
+ url: '/loadbalancer/generic_update',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ },
+ label: {
+ type: 'string',
+ required: false
+ },
+ balancing_algorithm: {
+ type: 'string',
+ required: false
+ },
+ sticky_sessions: {
+ type: 'string',
+ required: false
+ },
+ cookie_name: {
+ type: 'string',
+ required: false
+ },
+ ssl_redirect: {
+ type: 'boolean',
+ required: false
+ },
+ proxy_protocol: {
+ type: 'string',
+ required: false
+ }
+ }
+}
+
+/**
+ * Retrieve the health checking configuration of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_getHealthCheck}
+ * @function getHealthCheckInfo
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.getHealthCheckInfo = {
+ url: '/loadbalancer/health_check_info',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * Update the health checking configuration of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_updateHealthCheck}
+ * @function setHealthCheck
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} [parameters.protocol] - Connection protocol; use `http`, `http`, or `tcp`.
+ * @param {number} [parameters.check_interval] - Time in seconds to perform a health check.
+ * @param {number} [parameters.response_timeout] - Time in seconds to wait for a health check response.
+ * @param {number} [parameters.unhealthy_threshold] - Number of failed attempts allowed before failover.
+ * @param {number} [parameters.healthy_threshold] - Number of successful attempts allowed before success.
+ * @param {string} [parameters.path] - Path used for the health check; must return an HTTP 200 success code.
+ */
+exports.setHealthCheck = {
+ url: '/loadbalancer/health_check_update',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ },
+ protocol: {
+ type: 'string',
+ required: false
+ },
+ check_interval: {
+ type: 'number',
+ required: false
+ },
+ response_timeout: {
+ type: 'number',
+ required: false
+ },
+ unhealthy_threshold: {
+ type: 'number',
+ required: false
+ },
+ healthy_threshold: {
+ type: 'number',
+ required: false
+ },
+ path: {
+ type: 'string',
+ required: false
+ }
+ }
+}
+
+/**
+ * Attach an instance to a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_attachInstance}
+ * @function attachInstance
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {number} parameters.backendNode - Unique identifier or a VPS or bare metal subscription.
+ */
+exports.attachInstance = {
+ url: '/loadbalancer/instance_attach',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ },
+ backendNode: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * Detach an instance from a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_detachInstance}
+ * @function detachInstance
+ * @memberof loadBalancer
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {number} parameters.backendNode - Unique identifier or a VPS or bare metal subscription.
+ */
+exports.detachInstance = {
+ url: '/loadbalancer/instance_detach',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ },
+ backendNode: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * List the instances attached to a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_listInstance}
+ * @function attachedInstances
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.attachedInstances = {
+ url: '/loadbalancer/instance_list',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * Set the label of a load balancer subscription.
+ * {@link https://www.vultr.com/api/#loadbalancer_setLabel}
+ * @function setLabel
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} parameters.label - Text label of the load balancer that will be shown in the control panel.
+ */
+exports.setLabel = {
+ url: '/loadbalancer/label_set',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ },
+ label: {
+ type: 'string',
+ required: true
+ }
+ }
+}
+
+/**
+ * List all load balancer subscriptions on the current account. This list will
+ * include both pending and active subscriptions.
+ * {@link https://www.vultr.com/api/#loadbalancer_lbList}
+ * @function list
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} [parameters.SUBID] - Unique identifier of a load balancer subscription.
+ */
+exports.list = {
+ url: '/loadbalancer/list',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: false
+ }
+ }
+}
+
+/**
+ * Add an SSL certificate to a load balancer.
+ * {@link https://www.vultr.com/api/#loadbalancer_addSSL}
+ * @function addSSL
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ * @param {string} parameters.ssl_private_key - The SSL certficate's private key.
+ * @param {string} parameters.ssl_certificate - The SSL certificate to add.
+ * @param {string} [parameters.ssl_chain] - The SSL certificate chain.
+ */
+exports.addSSL = {
+ url: '/loadbalancer/ssl_add',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ },
+ ssl_private_key: {
+ type: 'string',
+ required: true
+ },
+ ssl_certificate: {
+ type: 'string',
+ required: true
+ },
+ ssl_chain: {
+ type: 'string',
+ required: false
+ }
+ }
+}
+
+/**
+ * Retrive whether or not the load balancer subscription has an SSL certificate attached.
+ * {@link https://www.vultr.com/api/#loadbalancer_getSSL}
+ * @function hasSSL
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.hasSSL = {
+ url: '/loadBalancer/ssl_info',
+ requestType: 'GET',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ }
+ }
+}
+
+/**
+ * Remove an SSL certificate from a load balancer.
+ * {@link https://www.vultr.com/api/#loadbalancer_removeSSL}
+ * @function removeSSL
+ * @memberof loadBalancer
+ * @instance
+ * @param {object} parameters
+ * @param {number} parameters.SUBID - Unique identifier of a load balancer subscription.
+ */
+exports.removeSSL = {
+ url: '/loadbalancer/ssl_remove',
+ requestType: 'POST',
+ apiKeyRequired: true,
+ parameters: {
+ SUBID: {
+ type: 'number',
+ required: true
+ }
+ }
+}
diff --git a/src/index.js b/src/index.js
index 2e2866bb..f1425f01 100644
--- a/src/index.js
+++ b/src/index.js
@@ -9,6 +9,7 @@ exports.initialize = config => {
const dns = require('./api/dns')
const firewall = require('./api/firewall')
const iso = require('./api/iso')
+ const loadBalancer = require('./api/load-balancer')
const network = require('./api/network')
const objectStorage = require('./api/object-storage')
const os = require('./api/os')
@@ -59,8 +60,8 @@ exports.initialize = config => {
if (
endpointParameter.type !== 'array' &&
typeof userParameter !==
- // eslint-disable-next-line valid-typeof
- endpointParameter.type
+ // eslint-disable-next-line valid-typeof
+ endpointParameter.type
) {
throw new Error(`Invalid parameter type: ${parameter}`)
} else if (
@@ -166,6 +167,26 @@ exports.initialize = config => {
list: createRequestFunction(iso.list),
listPublic: createRequestFunction(iso.listPublic)
},
+ loadBalancer: {
+ getFullConfig: createRequestFunction(loadBalancer.getFullConfig),
+ create: createRequestFunction(loadBalancer.create),
+ delete: createRequestFunction(loadBalancer.delete),
+ createForwardingRule: createRequestFunction(loadBalancer.createForwardingRule),
+ deleteForwardingRule: createRequestFunction(loadBalancer.deleteForwardingRule),
+ listForwardingRules: createRequestFunction(loadBalancer.listForwardingRules),
+ getGenericInfo: createRequestFunction(loadBalancer.getGenericInfo),
+ updateGenericInfo: createRequestFunction(loadBalancer.updateGenericInfo),
+ getHealthCheckInfo: createRequestFunction(loadBalancer.getHealthCheckInfo),
+ setHealthCheck: createRequestFunction(loadBalancer.setHealthCheck),
+ attachInstance: createRequestFunction(loadBalancer.attachInstance),
+ detachInstance: createRequestFunction(loadBalancer.detachInstance),
+ attachedInstances: createRequestFunction(loadBalancer.attachedInstances),
+ setLabel: createRequestFunction(loadBalancer.setLabel),
+ list: createRequestFunction(loadBalancer.list),
+ addSSL: createRequestFunction(loadBalancer.addSSL),
+ hasSSL: createRequestFunction(loadBalancer.hasSSL),
+ removeSSL: createRequestFunction(loadBalancer.removeSSL)
+ },
network: {
create: createRequestFunction(network.create),
delete: createRequestFunction(network.delete),
diff --git a/test/api/load-balancer.test.js b/test/api/load-balancer.test.js
new file mode 100644
index 00000000..e3dd7839
--- /dev/null
+++ b/test/api/load-balancer.test.js
@@ -0,0 +1,196 @@
+const util = require('../util')
+
+const mock = {
+ getFullConfig: {
+ generic_info: {
+ balancing_algorithm: 'roundrobin',
+ ssl_redirect: false,
+ sticky_sessions: {
+ cookie_name: 'tests'
+ },
+ proxy_protocol: false
+ },
+ health_checks_info: {
+ protocol: 'http',
+ port: 80,
+ path: '/',
+ check_interval: 15,
+ response_timeout: 5,
+ unhealthy_threshold: 5,
+ healthy_threshold: 5
+ },
+ has_ssl: true,
+ forward_rule_list: [
+ {
+ RULEID: 'e8d9e2d83d97bc39',
+ frontend_protocol: 'https',
+ frontend_port: 80,
+ backend_protocol: 'http',
+ backend_port: 80
+ }
+ ],
+ instance_list: [1317281]
+ },
+ create: {
+ SUBID: 1314840
+ },
+ createForwardingRule: {
+ RULEID: '1'
+ },
+ listForwardingRules: {
+ forward_rule_list: [
+ {
+ RULEID: '3f099fb3c45d5a51',
+ frontend_protocol: 'tcp',
+ frontend_port: 8080,
+ backend_protocol: 'tcp',
+ backend_port: 8080
+ }
+ ]
+ },
+ getGenericInfo: {
+ balancing_algorithm: 'roundrobin',
+ ssl_redirect: false,
+ sticky_sessions: {
+ cookie_name: ''
+ },
+ proxy_protocol: false
+ },
+ getHealthCheckinfo: {
+ protocol: 'https',
+ port: 80,
+ path: '/',
+ check_interval: 15,
+ response_timeout: 5,
+ unhealthy_threshold: 5,
+ healthy_threshold: 5
+ },
+ attachedInstances: {
+ instance_list: [1314841, 1314842]
+ },
+ list: [
+ {
+ SUBID: 1314217,
+ date_created: '2019-09-07 07:07:00',
+ DCID: 1,
+ location: 'New Jersey',
+ label: 'lb1',
+ status: 'active',
+ ipv4: '203.0.113.20',
+ ipv6: 'fd06:30bd:6374:dc29:ffff:ffff:ffff:ffff'
+ }
+ ],
+ hasSSL: {
+ has_ssl: true
+ }
+}
+
+const mockParameters = {
+ getFullConfig: {
+ SUBID: 1314840
+ },
+ create: {
+ DCID: 1,
+ label: 'lb1',
+ config_ssl_redirect: true,
+ sticky_sessions: 'on',
+ cookie_name: 'lbCookie1',
+ balancing_algorithm: 'roundrobin',
+ proxy_protocol: 'off',
+ health_check: {
+ protocol: 'https',
+ port: 81,
+ check_interval: 17,
+ response_timeout: 5,
+ unhealthy_threshold: 5,
+ healthy_threshold: 5,
+ path: '/health'
+ },
+ forwarding_rules: [
+ {
+ frontend_protocol: 'https',
+ frontend_port: 81,
+ backend_protocol: 'https',
+ backend_port: 81
+ }
+ ],
+ ssl_private_key: '1111',
+ ssl_certificate: 'path/to/certificate',
+ ssl_chain: '2222',
+ attached_nodes: [12345, 54321]
+ },
+ delete: {
+ SUBID: 1314840
+ },
+ createForwardingRule: {
+ SUBID: 1314840,
+ frontend_protocol: 'https',
+ frontend_port: 8081,
+ backend_protocol: 'tcp',
+ backend_port: 8443
+ },
+ deleteForwardingRule: {
+ SUBID: 1314840,
+ RULEID: '1'
+ },
+ listForwardingRules: {
+ SUBID: 1314840
+ },
+ getGenericInfo: {
+ SUBID: 1314840
+ },
+ updateGenericInfo: {
+ SUBID: 1314840,
+ label: 'generic',
+ balancing_algorithm: 'leastconn',
+ sticky_sessions: 'off',
+ cookie_name: 'genericCookie',
+ ssl_redirect: true,
+ proxy_protocol: 'off'
+ },
+ getHealthCheckInfo: {
+ SUBID: 1314840
+ },
+ setHealthCheck: {
+ SUBID: 1314840,
+ protocol: 'https',
+ port: 8080,
+ check_interval: 5,
+ response_timeout: 10,
+ unhealthy_threshold: 60,
+ healthy_threshold: 15,
+ path: '/health'
+ },
+ attachInstance: {
+ SUBID: 1314840,
+ backendNode: 1384841
+ },
+ detachInstance: {
+ SUBID: 1314840,
+ backendNode: 1384841
+ },
+ attachedInstances: {
+ SUBID: 1314840
+ },
+ setLabel: {
+ SUBID: 1314840,
+ label: 'example'
+ },
+ list: {
+ SUBID: 1314840
+ },
+ addSSL: {
+ SUBID: 1314840,
+ ssl_private_key: '1111',
+ ssl_certificate: 'path/to/certificate',
+ ssl_chain: '2222'
+ },
+ hasSSL: {
+ SUBID: 1314840
+ },
+ removeSSL: {
+ SUBID: 1314840
+ }
+}
+
+util.createTestSuite('load-balancer', mock, mockParameters)