UNPKG

@ibm-cloud/watsonx-data

Version:
1,170 lines 349 kB
"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