ibm-cloud-databases
Version:
IBM Cloud Databases Node.js SDK
1,196 lines • 53.6 kB
JavaScript
"use strict";
/**
* (C) Copyright IBM Corp. 2021.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
/**
* IBM OpenAPI SDK Code Generator Version: 99-SNAPSHOT-f9bb1b47-20210329-151039
*/
var extend = require("extend");
var ibm_cloud_sdk_core_1 = require("ibm-cloud-sdk-core");
var common_1 = require("../lib/common");
/**
* The IBM Cloud Databases API enables interaction between applications and Cloud Databases database deployments.
*
* Access to the API requires an IAM Bearer Token or an IAM API Key to be presented through bearer authentication.
*
* Deployment IDs are CRNs on the IBM Cloud Databases v5 API platform. No lookup or translation the Compose style UUIDs
* is needed. The Deployment ID is a traditional UUID on the Compose v5 API platform.
*
* When you use CRNs, remember to URL escape the CRN value as they can include the forward-slash (/) character.
*/
var CloudDatabasesV5 = /** @class */ (function (_super) {
__extends(CloudDatabasesV5, _super);
/**
* Construct a CloudDatabasesV5 object.
*
* @param {Object} options - Options for the service.
* @param {string} [options.serviceUrl] - The base url to use when contacting the service. The base url may differ between IBM Cloud regions.
* @param {OutgoingHttpHeaders} [options.headers] - Default headers that shall be included with every request to the service.
* @param {Authenticator} options.authenticator - The Authenticator object used to authenticate requests to the service
* @constructor
* @returns {CloudDatabasesV5}
*/
function CloudDatabasesV5(options) {
var _this = this;
options = options || {};
_this = _super.call(this, options) || this;
if (options.serviceUrl) {
_this.setServiceUrl(options.serviceUrl);
}
return _this;
}
/*************************
* Factory method
************************/
/**
* Constructs an instance of CloudDatabasesV5 with passed in options and external configuration.
*
* @param {UserOptions} [options] - The parameters to send to the service.
* @param {string} [options.serviceName] - The name of the service to configure
* @param {Authenticator} [options.authenticator] - The Authenticator object used to authenticate requests to the service
* @param {string} [options.serviceUrl] - The URL for the service
* @returns {CloudDatabasesV5}
*/
CloudDatabasesV5.newInstance = function (options) {
options = options || {};
if (!options.serviceName) {
options.serviceName = this.DEFAULT_SERVICE_NAME;
}
if (!options.authenticator) {
options.authenticator = ibm_cloud_sdk_core_1.getAuthenticatorFromEnvironment(options.serviceName);
}
var service = new CloudDatabasesV5(options);
service.configureService(options.serviceName);
if (options.serviceUrl) {
service.setServiceUrl(options.serviceUrl);
}
return service;
};
/*************************
* deployments
************************/
/**
* List all deployable databases.
*
* Returns a list of all the types and associated major versions of database deployments that can be provisioned.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.ListDeployablesResponse>>}
*/
CloudDatabasesV5.prototype.listDeployables = function (params) {
var _params = Object.assign({}, params);
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'listDeployables');
var parameters = {
options: {
url: '/deployables',
method: 'GET',
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* List all deployable regions.
*
* Returns a list of all the regions that deployments can be provisioned into from the current region. Used to
* determine region availability for read-only replicas.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.ListRegionsResponse>>}
*/
CloudDatabasesV5.prototype.listRegions = function (params) {
var _params = Object.assign({}, params);
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'listRegions');
var parameters = {
options: {
url: '/regions',
method: 'GET',
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Get deployment information.
*
* Gets the full data that is associated with a deployment. This data includes the ID, name, database type, and
* version.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.GetDeploymentInfoResponse>>}
*/
CloudDatabasesV5.prototype.getDeploymentInfo = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'getDeploymentInfo');
var parameters = {
options: {
url: '/deployments/{id}',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* databaseUsers
************************/
/**
* Creates a user based on user type.
*
* Creates a user in the database that can access the database through a connection.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {string} params.userType - User type.
* @param {CreateDatabaseUserRequestUser} [params.user] -
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.CreateDatabaseUserResponse>>}
*/
CloudDatabasesV5.prototype.createDatabaseUser = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'userType'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var body = {
'user': _params.user
};
var path = {
'id': _params.id,
'user_type': _params.userType
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'createDatabaseUser');
var parameters = {
options: {
url: '/deployments/{id}/users/{user_type}',
method: 'POST',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Set specified user's password.
*
* Sets the password of a specified user.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {string} params.userType - User type.
* @param {string} params.username - User ID.
* @param {APasswordSettingUser} [params.user] -
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.ChangeUserPasswordResponse>>}
*/
CloudDatabasesV5.prototype.changeUserPassword = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'userType', 'username'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var body = {
'user': _params.user
};
var path = {
'id': _params.id,
'user_type': _params.userType,
'username': _params.username
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'changeUserPassword');
var parameters = {
options: {
url: '/deployments/{id}/users/{user_type}/{username}',
method: 'PATCH',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Deletes a user based on user type.
*
* Removes a user from the deployment.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {string} params.userType - User type.
* @param {string} params.username - Username.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.DeleteDatabaseUserResponse>>}
*/
CloudDatabasesV5.prototype.deleteDatabaseUser = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'userType', 'username'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id,
'user_type': _params.userType,
'username': _params.username
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'deleteDatabaseUser');
var parameters = {
options: {
url: '/deployments/{id}/users/{user_type}/{username}',
method: 'DELETE',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* databaseConfiguration
************************/
/**
* Change your database configuration.
*
* Change your database configuration. Available for PostgreSQL, EnterpriseDB, and Redis ONLY.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {SetConfigurationConfiguration} params.configuration -
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.UpdateDatabaseConfigurationResponse>>}
*/
CloudDatabasesV5.prototype.updateDatabaseConfiguration = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'configuration'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var body = {
'configuration': _params.configuration
};
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'updateDatabaseConfiguration');
var parameters = {
options: {
url: '/deployments/{id}/configuration',
method: 'PATCH',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* remotes
************************/
/**
* List read-only replica information.
*
* Get the read-only replicas associated with a deployment. Available for PostgreSQL and EnterpriseDB ONLY.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.ListRemotesResponse>>}
*/
CloudDatabasesV5.prototype.listRemotes = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'listRemotes');
var parameters = {
options: {
url: '/deployments/{id}/remotes',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Resync read-only replica.
*
* Reinitialize a read-only replica. Available for PostgreSQL and EnterpriseDB ONLY.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID of the read-only replica.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.ResyncReplicaResponse>>}
*/
CloudDatabasesV5.prototype.resyncReplica = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'resyncReplica');
var parameters = {
options: {
url: '/deployments/{id}/remotes/resync',
method: 'POST',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Promote read-only replica to a full deployment.
*
* Promote a read-only replica or upgrade and promote a read-only replica. Available for PostgreSQL and EnterpriseDB
* ONLY.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID of the read-only replica to promote.
* @param {SetPromotionPromotion} params.promotion -
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.SetPromotionResponse>>}
*/
CloudDatabasesV5.prototype.setPromotion = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'promotion'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var body = {
'Promotion': _params.promotion
};
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'setPromotion');
var parameters = {
options: {
url: '/deployments/{id}/remotes/promotion',
method: 'POST',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* tasks
************************/
/**
* List currently running tasks on a deployment.
*
* Obtain a list of tasks currently running or recently run on a deployment. Tasks are ephemeral. Records of
* successful tasks are shown for 24-48 hours, and unsuccessful tasks are shown for 7-8 days.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.Tasks>>}
*/
CloudDatabasesV5.prototype.listDeploymentTasks = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'listDeploymentTasks');
var parameters = {
options: {
url: '/deployments/{id}/tasks',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Get information about a task.
*
* Get information about a task and its status. Tasks themselves are persistent so old tasks can be consulted as well
* as running tasks.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Task ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.GetTaskResponse>>}
*/
CloudDatabasesV5.prototype.getTask = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'getTask');
var parameters = {
options: {
url: '/tasks/{id}',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* backups
************************/
/**
* Get information about a backup.
*
* Get information about a backup, such as creation date.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.backupId - Backup ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.GetBackupInfoResponse>>}
*/
CloudDatabasesV5.prototype.getBackupInfo = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['backupId'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'backup_id': _params.backupId
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'getBackupInfo');
var parameters = {
options: {
url: '/backups/{backup_id}',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* List currently available backups from a deployment.
*
* Get details of all currently available backups from a deployment.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.Backups>>}
*/
CloudDatabasesV5.prototype.listDeploymentBackups = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'listDeploymentBackups');
var parameters = {
options: {
url: '/deployments/{id}/backups',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Initiate an on-demand backup.
*
* Signal the platform to create an on-demand backup for the specified deployment. The returned task can be polled to
* track progress of the backup as it takes place.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.StartOndemandBackupResponse>>}
*/
CloudDatabasesV5.prototype.startOndemandBackup = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'startOndemandBackup');
var parameters = {
options: {
url: '/deployments/{id}/backups',
method: 'POST',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Get earliest point-in-time-recovery timestamp.
*
* Returns the earliest available time for point-in-time-recovery in ISO8601 UTC format. PostgreSQL and EnterpriseDB
* only.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.PointInTimeRecoveryData>>}
*/
CloudDatabasesV5.prototype.getPitRdata = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'getPitRdata');
var parameters = {
options: {
url: '/deployments/{id}/point_in_time_recovery_data',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* connections
************************/
/**
* Discover connection information for a deployment for a user with an endpoint type.
*
* Discover connection information for a deployment for a user with an endpoint type.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {string} params.userType - User type.
* @param {string} params.userId - User ID.
* @param {string} params.endpointType - Endpoint Type. The endpoint must be enabled on the deployment before its
* connection information can be fetched.
* @param {string} [params.certificateRoot] - Optional certificate root path to prepend certificate names.
* Certificates would be stored in this directory for use by other commands.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.Connection>>}
*/
CloudDatabasesV5.prototype.getConnection = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'userType', 'userId', 'endpointType'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var query = {
'certificate_root': _params.certificateRoot
};
var path = {
'id': _params.id,
'user_type': _params.userType,
'user_id': _params.userId,
'endpoint_type': _params.endpointType
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'getConnection');
var parameters = {
options: {
url: '/deployments/{id}/users/{user_type}/{user_id}/connections/{endpoint_type}',
method: 'GET',
qs: query,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Discover connection information for a deployment for a user with substitutions and an endpoint type.
*
* Discover connection information for a deployment for a user. Behaves the same as the GET method but substitutes the
* provided password parameter into the returned connection information.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {string} params.userType - User type of `database` is the only currently supported value.
* @param {string} params.userId - User ID.
* @param {string} params.endpointType - Endpoint Type. The select endpoint must be enabled on the deployment before
* its connection information can be fetched.
* @param {string} [params.password] - Password to be substituted into the response.
* @param {string} [params.certificateRoot] - Optional certificate root path to prepend certificate names.
* Certificates would be stored in this directory for use by other commands.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.Connection>>}
*/
CloudDatabasesV5.prototype.completeConnection = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'userType', 'userId', 'endpointType'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var body = {
'password': _params.password,
'certificate_root': _params.certificateRoot
};
var path = {
'id': _params.id,
'user_type': _params.userType,
'user_id': _params.userId,
'endpoint_type': _params.endpointType
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'completeConnection');
var parameters = {
options: {
url: '/deployments/{id}/users/{user_type}/{user_id}/connections/{endpoint_type}',
method: 'POST',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* scaling
************************/
/**
* List currently available scaling groups from a deployment.
*
* Scaling groups represent the various resources that are allocated to a deployment. This command allows for the
* retrieval of all of the groups for a particular deployment.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.Groups>>}
*/
CloudDatabasesV5.prototype.listDeploymentScalingGroups = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'listDeploymentScalingGroups');
var parameters = {
options: {
url: '/deployments/{id}/groups',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Get default scaling groups for a new deployment.
*
* Scaling groups represent the various resources allocated to a deployment. When a new deployment is created, there
* are a set of defaults for each database type. This endpoint returns them for a particular database.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.type - Database type name.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.Groups>>}
*/
CloudDatabasesV5.prototype.getDefaultScalingGroups = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['type'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'type': _params.type
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'getDefaultScalingGroups');
var parameters = {
options: {
url: '/deployables/{type}/groups',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Set scaling values on a specified group.
*
* Set scaling value on a specified group. Can only be performed on is_adjustable=true groups. Values set are for the
* group as a whole and resources are distributed amongst the group. Values must be greater than or equal to the
* minimum size and must be a multiple of the step size.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {string} params.groupId - Group Id.
* @param {SetDeploymentScalingGroupRequest} params.setDeploymentScalingGroupRequest - Scaling group settings.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.SetDeploymentScalingGroupResponse>>}
*/
CloudDatabasesV5.prototype.setDeploymentScalingGroup = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'groupId', 'setDeploymentScalingGroupRequest'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var body = _params.setDeploymentScalingGroupRequest;
var path = {
'id': _params.id,
'group_id': _params.groupId
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'setDeploymentScalingGroup');
var parameters = {
options: {
url: '/deployments/{id}/groups/{group_id}',
method: 'PATCH',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* autoscaling
************************/
/**
* Get the autoscaling configuration from a deployment.
*
* The Autoscaling configuration represents the various conditions that control autoscaling for a deployment. This
* command allows for the retrieval of all autoscaling conditions for a particular deployment.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {string} params.groupId - Group ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.AutoscalingGroup>>}
*/
CloudDatabasesV5.prototype.getAutoscalingConditions = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'groupId'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id,
'group_id': _params.groupId
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'getAutoscalingConditions');
var parameters = {
options: {
url: '/deployments/{id}/groups/{group_id}/autoscaling',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Set the autoscaling configuration from a deployment.
*
* Enable, disable, or set the conditions for autoscaling on your deployment. Memory, disk, and CPU (if available) can
* be set separately and are not all required.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {string} params.groupId - Group ID.
* @param {AutoscalingSetGroupAutoscaling} params.autoscaling -
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.SetAutoscalingConditionsResponse>>}
*/
CloudDatabasesV5.prototype.setAutoscalingConditions = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id', 'groupId', 'autoscaling'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var body = {
'autoscaling': _params.autoscaling
};
var path = {
'id': _params.id,
'group_id': _params.groupId
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'setAutoscalingConditions');
var parameters = {
options: {
url: '/deployments/{id}/groups/{group_id}/autoscaling',
method: 'PATCH',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* management
************************/
/**
* Kill connections to a PostgreSQL or EnterpriseDB deployment.
*
* Closes all the connections on a deployment. Available for PostgreSQL and EnterpriseDB ONLY.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.KillConnectionsResponse>>}
*/
CloudDatabasesV5.prototype.killConnections = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'killConnections');
var parameters = {
options: {
url: '/deployments/{id}/management/database_connections',
method: 'DELETE',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/*************************
* security
************************/
/**
* Retrieve the allowlisted addresses and ranges for a deployment.
*
* Retrieve the allowlisted addresses and ranges for a deployment.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.Allowlist>>}
*/
CloudDatabasesV5.prototype.getAllowlist = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'getAllowlist');
var parameters = {
options: {
url: '/deployments/{id}/whitelists/ip_addresses',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Set the allowlist for a deployment.
*
* Set the allowlist for a deployment. This action overwrites all existing entries, so when you modify the allowlist
* via a GET/update/PUT, provide the GET response's ETag header value in this endpoint's If-Match header to ensure
* that changes that are made by other clients are not accidentally overwritten.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {AllowlistEntry[]} [params.ipAddresses] - An array of allowlist entries.
* @param {string} [params.ifMatch] - Verify that the current allowlist matches a provided ETag value. Use in
* conjunction with the GET operation's ETag header to ensure synchronicity between clients.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.SetAllowlistResponse>>}
*/
CloudDatabasesV5.prototype.setAllowlist = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var body = {
'ip_addresses': _params.ipAddresses
};
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'setAllowlist');
var parameters = {
options: {
url: '/deployments/{id}/whitelists/ip_addresses',
method: 'PUT',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
'If-Match': _params.ifMatch
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Add an address or range to the allowlist for a deployment.
*
* Add an address or range to the allowlist for a deployment.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @param {AllowlistEntry} [params.ipAddress] -
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<CloudDatabasesV5.Response<CloudDatabasesV5.AddAllowlistEntryResponse>>}
*/
CloudDatabasesV5.prototype.addAllowlistEntry = function (params) {
var _params = Object.assign({}, params);
var requiredParams = ['id'];
var missingParams = ibm_cloud_sdk_core_1.getMissingParams(_params, requiredParams);
if (missingParams) {
return Promise.reject(missingParams);
}
var body = {
'ip_address': _params.ipAddress
};
var path = {
'id': _params.id
};
var sdkHeaders = common_1.getSdkHeaders(CloudDatabasesV5.DEFAULT_SERVICE_NAME, 'v5', 'addAllowlistEntry');
var parameters = {
options: {
url: '/deployments/{id}/whitelists/ip_addresses',
method: 'POST',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, {
'Accept': 'application/json',
'Content-Type': 'application/json',
}, _params.headers),
}),
};
return this.createRequest(parameters);
};
;
/**
* Delete an address or range from the allowlist of a deployment.
*
* Delete an address or range from the allowlist of a deployment.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.id - Deployment ID.
* @pa