@ibm-cloud/watsonx-data
Version:
IBM Cloud Watsonx.data Node.js SDK
1,170 lines • 349 kB
JavaScript
"use strict";
/**
* (C) Copyright IBM Corp. 2025.
*
* 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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
/**
* IBM OpenAPI SDK Code Generator Version: 3.104.0-b4a47c49-20250418-184351
*/
/* eslint-disable max-classes-per-file */
/* eslint-disable no-await-in-loop */
var extend = require("extend");
var ibm_cloud_sdk_core_1 = require("ibm-cloud-sdk-core");
var common_1 = require("../lib/common");
/**
* This is the Public API for IBM watsonx.data
*
* API Version: 2.0.0
*/
var WatsonxDataV2 = /** @class */ (function (_super) {
__extends(WatsonxDataV2, _super);
/**
* Construct a WatsonxDataV2 object.
*
* @param {Object} options - Options for the service.
* @param {string} [options.serviceUrl] - The base URL for the service
* @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 {WatsonxDataV2}
*/
function WatsonxDataV2(options) {
var _this = this;
options = options || {};
_this = _super.call(this, options) || this;
if (options.serviceUrl) {
_this.setServiceUrl(options.serviceUrl);
}
else {
_this.setServiceUrl(WatsonxDataV2.DEFAULT_SERVICE_URL);
}
return _this;
}
/*************************
* Factory method
************************/
/**
* Constructs an instance of WatsonxDataV2 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 base URL for the service
* @returns {WatsonxDataV2}
*/
WatsonxDataV2.newInstance = function (options) {
options = options || {};
if (!options.serviceName) {
options.serviceName = this.DEFAULT_SERVICE_NAME;
}
if (!options.authenticator) {
options.authenticator = (0, ibm_cloud_sdk_core_1.getAuthenticatorFromEnvironment)(options.serviceName);
}
var service = new WatsonxDataV2(options);
service.configureService(options.serviceName);
if (options.serviceUrl) {
service.setServiceUrl(options.serviceUrl);
}
return service;
};
/*************************
* buckets
************************/
/**
* Get bucket registrations.
*
* Get list of registered buckets.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.BucketRegistrationCollection>>}
*/
WatsonxDataV2.prototype.listBucketRegistrations = function (params) {
var _params = __assign({}, params);
var _requiredParams = [];
var _validParams = ['authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'listBucketRegistrations');
var parameters = {
options: {
url: '/bucket_registrations',
method: 'GET',
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Register bucket.
*
* Register a new bucket.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketType - bucket type.
* @param {string} params.description - bucket description.
* @param {string} params.managedBy - managed by.
* @param {BucketCatalog} [params.associatedCatalog] - bucket catalog.
* @param {BucketDetails} [params.bucketDetails] - bucket details.
* @param {string} [params.bucketDisplayName] - bucket display name.
* @param {string} [params.region] - region where the bucket is located.
* @param {StorageDetails} [params.storageDetails] - storage details.
* @param {string[]} [params.tags] - tags.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.BucketRegistration>>}
*/
WatsonxDataV2.prototype.createBucketRegistration = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['bucketType', 'description', 'managedBy'];
var _validParams = [
'bucketType',
'description',
'managedBy',
'associatedCatalog',
'bucketDetails',
'bucketDisplayName',
'region',
'storageDetails',
'tags',
'authInstanceId',
'signal',
'headers',
];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var body = {
'bucket_type': _params.bucketType,
'description': _params.description,
'managed_by': _params.managedBy,
'associated_catalog': _params.associatedCatalog,
'bucket_details': _params.bucketDetails,
'bucket_display_name': _params.bucketDisplayName,
'region': _params.region,
'storage_details': _params.storageDetails,
'tags': _params.tags,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'createBucketRegistration');
var parameters = {
options: {
url: '/bucket_registrations',
method: 'POST',
body: body,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'Content-Type': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Get bucket.
*
* Get a registered bucket.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketId - bucket id.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.BucketRegistration>>}
*/
WatsonxDataV2.prototype.getBucketRegistration = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['bucketId'];
var _validParams = ['bucketId', 'authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var path = {
'bucket_id': _params.bucketId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'getBucketRegistration');
var parameters = {
options: {
url: '/bucket_registrations/{bucket_id}',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Deregister Bucket.
*
* Deregister a bucket.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketId - bucket id.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.EmptyObject>>}
*/
WatsonxDataV2.prototype.deleteBucketRegistration = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['bucketId'];
var _validParams = ['bucketId', 'authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var path = {
'bucket_id': _params.bucketId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'deleteBucketRegistration');
var parameters = {
options: {
url: '/bucket_registrations/{bucket_id}',
method: 'DELETE',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Update bucket.
*
* Update bucket details & credentials.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketId - bucket id.
* @param {BucketDetails} [params.bucketDetails] - bucket details.
* @param {string} [params.bucketDisplayName] - bucket display name.
* @param {string} [params.description] - modified description.
* @param {string[]} [params.tags] - Tags.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.BucketRegistration>>}
*/
WatsonxDataV2.prototype.updateBucketRegistration = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['bucketId'];
var _validParams = [
'bucketId',
'bucketDetails',
'bucketDisplayName',
'description',
'tags',
'authInstanceId',
'signal',
'headers',
];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var body = {
'bucket_details': _params.bucketDetails,
'bucket_display_name': _params.bucketDisplayName,
'description': _params.description,
'tags': _params.tags,
};
var path = {
'bucket_id': _params.bucketId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'updateBucketRegistration');
var parameters = {
options: {
url: '/bucket_registrations/{bucket_id}',
method: 'PATCH',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'Content-Type': 'application/merge-patch+json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Activate Bucket.
*
* Activate a registered bucket.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketId - bucket id.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.CreateActivateBucketCreatedBody>>}
*/
WatsonxDataV2.prototype.createActivateBucket = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['bucketId'];
var _validParams = ['bucketId', 'authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var path = {
'bucket_id': _params.bucketId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'createActivateBucket');
var parameters = {
options: {
url: '/bucket_registrations/{bucket_id}/activate',
method: 'POST',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Add bucket catalog.
*
* Add bucket catalog.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketId - bucket id.
* @param {string} [params.basePath] - catalog base path.
* @param {string} [params.catalogName] - catalog name.
* @param {string[]} [params.catalogTags] - catalog tags.
* @param {string} [params.catalogType] - catalog type.
* @param {string} [params.authInstanceId] - watsonx.data instance ID.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.SuccessResponse>>}
*/
WatsonxDataV2.prototype.addBucketCatalog = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['bucketId'];
var _validParams = [
'bucketId',
'basePath',
'catalogName',
'catalogTags',
'catalogType',
'authInstanceId',
'signal',
'headers',
];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var body = {
'base_path': _params.basePath,
'catalog_name': _params.catalogName,
'catalog_tags': _params.catalogTags,
'catalog_type': _params.catalogType,
};
var path = {
'bucket_id': _params.bucketId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'addBucketCatalog');
var parameters = {
options: {
url: '/bucket_registrations/{bucket_id}/catalogs',
method: 'POST',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'Content-Type': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Deactivate Bucket.
*
* Deactivate a bucket.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketId - bucket id.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.EmptyObject>>}
*/
WatsonxDataV2.prototype.deleteDeactivateBucket = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['bucketId'];
var _validParams = ['bucketId', 'authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var path = {
'bucket_id': _params.bucketId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'deleteDeactivateBucket');
var parameters = {
options: {
url: '/bucket_registrations/{bucket_id}/deactivate',
method: 'DELETE',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* List bucket objects.
*
* Fetch all objects from a given bucket.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketId - bucket id.
* @param {string} [params.authInstanceId] - CRN.
* @param {string} [params.path] - path.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.BucketRegistrationObjectCollection>>}
*/
WatsonxDataV2.prototype.listBucketObjects = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['bucketId'];
var _validParams = ['bucketId', 'authInstanceId', 'path', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'path': _params.path,
};
var path = {
'bucket_id': _params.bucketId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'listBucketObjects');
var parameters = {
options: {
url: '/bucket_registrations/{bucket_id}/objects',
method: 'GET',
qs: query,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Get bucket object properties.
*
* Get bucket object properties.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketId - bucket id.
* @param {Path[]} [params.paths] - bucket object size.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.BucketObjectProperties>>}
*/
WatsonxDataV2.prototype.getBucketObjectProperties = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['bucketId'];
var _validParams = ['bucketId', 'paths', 'authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var body = {
'paths': _params.paths,
};
var path = {
'bucket_id': _params.bucketId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'getBucketObjectProperties');
var parameters = {
options: {
url: '/bucket_registrations/{bucket_id}/object_properties',
method: 'POST',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'Content-Type': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Add/Create HDFS storage.
*
* Add or create a new HDFS database.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.bucketDisplayName - Bucket display name.
* @param {string} params.bucketType - Bucket type.
* @param {string} params.hmsThriftUri - HMS Thrift URI.
* @param {number} params.hmsThriftPort - HMS Thrift Port.
* @param {string} params.coreSite - contents of core-site.xml file.
* @param {string} params.hdfsSite - contents of hdfs-site.xml file.
* @param {string} params.kerberos - Kerberos Flag.
* @param {string} params.catalogName - Catalog name.
* @param {string} params.catalogType - Catalog type.
* @param {string} [params.krb5Config] - Kerberos config file.
* @param {NodeJS.ReadableStream | Buffer} [params.hiveKeytab] - Hive keytab file.
* @param {string} [params.hiveKeytabContentType] - The content type of hiveKeytab.
* @param {NodeJS.ReadableStream | Buffer} [params.hdfsKeytab] - HDFS keytab file.
* @param {string} [params.hdfsKeytabContentType] - The content type of hdfsKeytab.
* @param {string} [params.hiveServerPrincipal] - Hive server principal.
* @param {string} [params.hiveClientPrincipal] - Hive client principal.
* @param {string} [params.hdfsPrincipal] - HDFS principal.
* @param {string} [params.description] - Database description.
* @param {string} [params.createdOn] - Created on.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.HdfsStorageRegistration>>}
*/
WatsonxDataV2.prototype.createHdfsStorage = function (params) {
var _params = __assign({}, params);
var _requiredParams = [
'bucketDisplayName',
'bucketType',
'hmsThriftUri',
'hmsThriftPort',
'coreSite',
'hdfsSite',
'kerberos',
'catalogName',
'catalogType',
];
var _validParams = [
'bucketDisplayName',
'bucketType',
'hmsThriftUri',
'hmsThriftPort',
'coreSite',
'hdfsSite',
'kerberos',
'catalogName',
'catalogType',
'krb5Config',
'hiveKeytab',
'hiveKeytabContentType',
'hdfsKeytab',
'hdfsKeytabContentType',
'hiveServerPrincipal',
'hiveClientPrincipal',
'hdfsPrincipal',
'description',
'createdOn',
'authInstanceId',
'signal',
'headers',
];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var formData = {
'bucket_display_name': _params.bucketDisplayName,
'bucket_type': _params.bucketType,
'hms_thrift_uri': _params.hmsThriftUri,
'hms_thrift_port': _params.hmsThriftPort,
'core_site': _params.coreSite,
'hdfs_site': _params.hdfsSite,
'kerberos': _params.kerberos,
'catalog_name': _params.catalogName,
'catalog_type': _params.catalogType,
'krb5_config': _params.krb5Config,
'hive_keytab': {
data: _params.hiveKeytab,
contentType: _params.hiveKeytabContentType,
},
'hdfs_keytab': {
data: _params.hdfsKeytab,
contentType: _params.hdfsKeytabContentType,
},
'hive_server_principal': _params.hiveServerPrincipal,
'hive_client_principal': _params.hiveClientPrincipal,
'hdfs_principal': _params.hdfsPrincipal,
'description': _params.description,
'created_on': _params.createdOn,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'createHdfsStorage');
var parameters = {
options: {
url: '/storage_hdfs_registrations',
method: 'POST',
formData: formData,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/*************************
* databases
************************/
/**
* Get databases.
*
* Get list of databases.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.DatabaseRegistrationCollection>>}
*/
WatsonxDataV2.prototype.listDatabaseRegistrations = function (params) {
var _params = __assign({}, params);
var _requiredParams = [];
var _validParams = ['authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'listDatabaseRegistrations');
var parameters = {
options: {
url: '/database_registrations',
method: 'GET',
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Add/Create database.
*
* Add or create a new database.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.databaseDisplayName - Database display name.
* @param {string} params.databaseType - Connector type.
* @param {DatabaseCatalog} [params.associatedCatalog] - database catalog.
* @param {string} [params.createdOn] - Created on.
* @param {DatabaseDetails} [params.databaseDetails] - database details.
* @param {DatabaseRegistrationPrototypeDatabasePropertiesItems[]} [params.databaseProperties] - This will hold all
* the properties for a custom database.
* @param {string} [params.description] - Database description.
* @param {string[]} [params.tags] - tags.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.DatabaseRegistration>>}
*/
WatsonxDataV2.prototype.createDatabaseRegistration = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['databaseDisplayName', 'databaseType'];
var _validParams = [
'databaseDisplayName',
'databaseType',
'associatedCatalog',
'createdOn',
'databaseDetails',
'databaseProperties',
'description',
'tags',
'authInstanceId',
'signal',
'headers',
];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var body = {
'database_display_name': _params.databaseDisplayName,
'database_type': _params.databaseType,
'associated_catalog': _params.associatedCatalog,
'created_on': _params.createdOn,
'database_details': _params.databaseDetails,
'database_properties': _params.databaseProperties,
'description': _params.description,
'tags': _params.tags,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'createDatabaseRegistration');
var parameters = {
options: {
url: '/database_registrations',
method: 'POST',
body: body,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'Content-Type': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Get database.
*
* Get a registered databases.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.databaseId - database id.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.DatabaseRegistration>>}
*/
WatsonxDataV2.prototype.getDatabase = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['databaseId'];
var _validParams = ['databaseId', 'authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var path = {
'database_id': _params.databaseId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'getDatabase');
var parameters = {
options: {
url: '/database_registrations/{database_id}',
method: 'GET',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Delete database.
*
* Delete a database.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.databaseId - database id.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.EmptyObject>>}
*/
WatsonxDataV2.prototype.deleteDatabaseCatalog = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['databaseId'];
var _validParams = ['databaseId', 'authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var path = {
'database_id': _params.databaseId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'deleteDatabaseCatalog');
var parameters = {
options: {
url: '/database_registrations/{database_id}',
method: 'DELETE',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Update database.
*
* Update database details.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.databaseId - database id.
* @param {DatabaseRegistrationPatchDatabaseDetails} [params.databaseDetails] - New database details.
* @param {string} [params.databaseDisplayName] - New database display name.
* @param {string} [params.description] - New database description.
* @param {string[]} [params.tags] - New tags.
* @param {DatabaseRegistrationPatchTopicsItems[]} [params.topics] - List of topics.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.DatabaseRegistration>>}
*/
WatsonxDataV2.prototype.updateDatabase = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['databaseId'];
var _validParams = [
'databaseId',
'databaseDetails',
'databaseDisplayName',
'description',
'tags',
'topics',
'authInstanceId',
'signal',
'headers',
];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var body = {
'database_details': _params.databaseDetails,
'database_display_name': _params.databaseDisplayName,
'description': _params.description,
'tags': _params.tags,
'topics': _params.topics,
};
var path = {
'database_id': _params.databaseId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'updateDatabase');
var parameters = {
options: {
url: '/database_registrations/{database_id}',
method: 'PATCH',
body: body,
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'Content-Type': 'application/merge-patch+json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/*************************
* drivers
************************/
/**
* Get drivers.
*
* Get all driver details.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.DriverRegistrationCollection>>}
*/
WatsonxDataV2.prototype.listDriverRegistration = function (params) {
var _params = __assign({}, params);
var _requiredParams = [];
var _validParams = ['authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'listDriverRegistration');
var parameters = {
options: {
url: '/driver_registrations',
method: 'GET',
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Register driver.
*
* Register a new driver.
*
* @param {Object} params - The parameters to send to the service.
* @param {NodeJS.ReadableStream | Buffer} params.driver - Driver file to upload.
* @param {string} params.driverName - Driver name.
* @param {string} params.connectionType - Driver connection type.
* @param {string} [params.driverContentType] - The content type of driver.
* @param {string} [params.version] - Driver status.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.DriverRegistration>>}
*/
WatsonxDataV2.prototype.createDriverRegistration = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['driver', 'driverName', 'connectionType'];
var _validParams = [
'driver',
'driverName',
'connectionType',
'driverContentType',
'version',
'authInstanceId',
'signal',
'headers',
];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var formData = {
'driver': {
data: _params.driver,
contentType: _params.driverContentType,
},
'driver_name': _params.driverName,
'connection_type': _params.connectionType,
'version': _params.version,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'createDriverRegistration');
var parameters = {
options: {
url: '/driver_registrations',
method: 'POST',
formData: formData,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Delete driver.
*
* Delete a driver.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.driverId - Driver ID.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.EmptyObject>>}
*/
WatsonxDataV2.prototype.deleteDriverRegistration = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['driverId'];
var _validParams = ['driverId', 'authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var path = {
'driver_id': _params.driverId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'deleteDriverRegistration');
var parameters = {
options: {
url: '/driver_registrations/{driver_id}',
method: 'DELETE',
path: path,
},
defaultOptions: extend(true, {}, this.baseOptions, {
headers: extend(true, sdkHeaders, this.baseOptions.headers, {
'AuthInstanceId': _params.authInstanceId,
}, _params.headers),
axiosOptions: {
signal: _params.signal,
},
}),
};
return this.createRequest(parameters);
};
/**
* Disassociate engines from driver.
*
* Disassociate one or more engines from a driver.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.driverId - driver id.
* @param {string} params.engineIds - Engine id(s) to be disassociated from the driver, comma separated.
* @param {string} [params.authInstanceId] - CRN.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise<WatsonxDataV2.Response<WatsonxDataV2.EmptyObject>>}
*/
WatsonxDataV2.prototype.deleteDriverEngines = function (params) {
var _params = __assign({}, params);
var _requiredParams = ['driverId', 'engineIds'];
var _validParams = ['driverId', 'engineIds', 'authInstanceId', 'signal', 'headers'];
var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams);
if (_validationErrors) {
return Promise.reject(_validationErrors);
}
var query = {
'engine_ids': _params.engineIds,
};
var path = {
'driver_id': _params.driverId,
};
var sdkHeaders = (0, common_1.getSdkHeaders)(WatsonxDataV2.DEFAULT_SERVICE_NAME, 'v2', 'deleteDriverEngines');
var parameters = {
options: {
url: '/driver_registrations/{d