UNPKG

@ibm-cloud/platform-services

Version:

Node.js client library for IBM Cloud Platform Services

1,068 lines 372 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.99.1-daeb6e46-20250131-173156 */ /* 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 API to use for managing private catalogs for IBM Cloud. Private catalogs provide a way to centrally * manage access to products in the IBM Cloud catalog and your own catalogs. * * API Version: 1.0 */ var CatalogManagementV1 = /** @class */ (function (_super) { __extends(CatalogManagementV1, _super); /** * Construct a CatalogManagementV1 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 {CatalogManagementV1} */ function CatalogManagementV1(options) { var _this = this; options = options || {}; _this = _super.call(this, options) || this; if (options.serviceUrl) { _this.setServiceUrl(options.serviceUrl); } else { _this.setServiceUrl(CatalogManagementV1.DEFAULT_SERVICE_URL); } return _this; } /************************* * Factory method ************************/ /** * Constructs an instance of CatalogManagementV1 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 {CatalogManagementV1} */ CatalogManagementV1.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 CatalogManagementV1(options); service.configureService(options.serviceName); if (options.serviceUrl) { service.setServiceUrl(options.serviceUrl); } return service; }; /************************* * account ************************/ /** * Get catalog account settings. * * Get the account level settings for the account for private catalog. * * @param {Object} [params] - The parameters to send to the service. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.Account>>} */ CatalogManagementV1.prototype.getCatalogAccount = function (params) { var _params = __assign({}, params); var _requiredParams = []; var _validParams = ['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)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'getCatalogAccount'); var parameters = { options: { url: '/catalogaccount', method: 'GET', }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Update account settings. * * Update the account level settings for the account for private catalog. * * @param {Object} [params] - The parameters to send to the service. * @param {string} [params.id] - Account identification. * @param {string} [params.rev] - Cloudant revision. * @param {boolean} [params.hideIbmCloudCatalog] - Hide the public catalog in this account. * @param {Filters} [params.accountFilters] - Filters for account and catalog filters. * @param {string} [params.regionFilter] - Region filter string. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.Account>>} */ CatalogManagementV1.prototype.updateCatalogAccount = function (params) { var _params = __assign({}, params); var _requiredParams = []; var _validParams = [ 'id', 'rev', 'hideIbmCloudCatalog', 'accountFilters', 'regionFilter', 'headers', ]; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var body = { 'id': _params.id, '_rev': _params.rev, 'hide_IBM_cloud_catalog': _params.hideIbmCloudCatalog, 'account_filters': _params.accountFilters, 'region_filter': _params.regionFilter, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'updateCatalogAccount'); var parameters = { options: { url: '/catalogaccount', method: 'PUT', body: body, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', 'Content-Type': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Get catalog account audit logs. * * Get the audit logs associated with a catalog account. * * @param {Object} [params] - The parameters to send to the service. * @param {string} [params.start] - Start token for a query. * @param {number} [params.limit] - number or results to return in the query. * @param {boolean} [params.lookupnames] - Auditlog Lookup Names - by default names are not returned in auditlog. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AuditLogs>>} */ CatalogManagementV1.prototype.listCatalogAccountAudits = function (params) { var _params = __assign({}, params); var _requiredParams = []; var _validParams = ['start', 'limit', 'lookupnames', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var query = { 'start': _params.start, 'limit': _params.limit, 'lookupnames': _params.lookupnames, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'listCatalogAccountAudits'); var parameters = { options: { url: '/catalogaccount/audits', method: 'GET', qs: query, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Get a catalog account audit log entry. * * Get the full audit log entry associated with a catalog account. * * @param {Object} params - The parameters to send to the service. * @param {string} params.auditlogIdentifier - Auditlog ID. * @param {boolean} [params.lookupnames] - Auditlog Lookup Names - by default names are not returned in auditlog. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AuditLog>>} */ CatalogManagementV1.prototype.getCatalogAccountAudit = function (params) { var _params = __assign({}, params); var _requiredParams = ['auditlogIdentifier']; var _validParams = ['auditlogIdentifier', 'lookupnames', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var query = { 'lookupnames': _params.lookupnames, }; var path = { 'auditlog_identifier': _params.auditlogIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'getCatalogAccountAudit'); var parameters = { options: { url: '/catalogaccount/audits/{auditlog_identifier}', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Get catalog account filters. * * Get the accumulated filters of the account and of the catalogs you have access to. * * @param {Object} [params] - The parameters to send to the service. * @param {string} [params.catalog] - catalog id. Narrow down filters to the account and just the one catalog. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AccumulatedFilters>>} */ CatalogManagementV1.prototype.getCatalogAccountFilters = function (params) { var _params = __assign({}, params); var _requiredParams = []; var _validParams = ['catalog', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var query = { 'catalog': _params.catalog, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'getCatalogAccountFilters'); var parameters = { options: { url: '/catalogaccount/filters', method: 'GET', qs: query, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Get share approval access list. * * Get the share approval access list associated with the specified object type. * * @param {Object} params - The parameters to send to the service. * @param {string} params.objectType - The type for the object. * @param {string} [params.start] - Start token for a query. * @param {number} [params.limit] - number or results to return in the query. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.ShareApprovalListAccessResult>>} */ CatalogManagementV1.prototype.getShareApprovalList = function (params) { var _params = __assign({}, params); var _requiredParams = ['objectType']; var _validParams = ['objectType', 'start', 'limit', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var query = { 'start': _params.start, 'limit': _params.limit, }; var path = { 'object_type': _params.objectType, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'getShareApprovalList'); var parameters = { options: { url: '/shareapproval/{object_type}/access', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Delete share approval access. * * Delete share approval accesses associated with the specified object type. * * @param {Object} params - The parameters to send to the service. * @param {string} params.objectType - The type for the object. * @param {string[]} params.accesses - A list of accesses to delete. An entry with star["*"] will remove all * accesses. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AccessListBulkResponse>>} */ CatalogManagementV1.prototype.deleteShareApprovalList = function (params) { var _params = __assign({}, params); var _requiredParams = ['objectType', 'accesses']; var _validParams = ['objectType', 'accesses', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var body = _params.accesses; var path = { 'object_type': _params.objectType, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'deleteShareApprovalList'); var parameters = { options: { url: '/shareapproval/{object_type}/access', method: 'DELETE', body: body, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', 'Content-Type': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Add accesses to share approval access list. * * Add one or more accesses to the share approval access list for a specific object type. * * @param {Object} params - The parameters to send to the service. * @param {string} params.objectType - The type for the object. * @param {string[]} params.accesses - A list of accesses to add. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AccessListBulkResponse>>} */ CatalogManagementV1.prototype.addShareApprovalList = function (params) { var _params = __assign({}, params); var _requiredParams = ['objectType', 'accesses']; var _validParams = ['objectType', 'accesses', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var body = _params.accesses; var path = { 'object_type': _params.objectType, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'addShareApprovalList'); var parameters = { options: { url: '/shareapproval/{object_type}/access', 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', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Get share approval access list for requesting accounts. * * Get the share approval access list associated with the specified object type in a certain approval state for * requesting accounts. * * @param {Object} params - The parameters to send to the service. * @param {string} params.objectType - The type for the object. * @param {string} params.approvalStateIdentifier - The different possible approval states for share requests or * access request. * @param {string} [params.start] - Start token for a query. * @param {number} [params.limit] - number or results to return in the query. * @param {string} [params.enterpriseId] - Execute the request in the context of an enterprise or enterpise account * group ID. Use '-ent-enterpriseid' for an enterprise and '-entgrp-enterprisegroupid for an enterprise group. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.ShareApprovalListAccessResult>>} */ CatalogManagementV1.prototype.getShareApprovalListAsSource = function (params) { var _params = __assign({}, params); var _requiredParams = ['objectType', 'approvalStateIdentifier']; var _validParams = [ 'objectType', 'approvalStateIdentifier', 'start', 'limit', 'enterpriseId', 'headers', ]; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var query = { 'start': _params.start, 'limit': _params.limit, 'enterprise_id': _params.enterpriseId, }; var path = { 'object_type': _params.objectType, 'approval_state_identifier': _params.approvalStateIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'getShareApprovalListAsSource'); var parameters = { options: { url: '/shareapproval/{object_type}/access/source/{approval_state_identifier}', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Update approval states for share approval access list for requesting accounts. * * Update one or more access approval states from the share approval access list for a specific object type for * requesting accounts. * * @param {Object} params - The parameters to send to the service. * @param {string} params.objectType - The type for the object. * @param {string} params.approvalStateIdentifier - The different possible approval states for share requests or * access request. * @param {string[]} params.accesses - A list of accesses to update to the specified approval state. * @param {string} [params.enterpriseId] - Execute the request in the context of an enterprise or enterpise account * group ID. Use '-ent-enterpriseid' for an enterprise and '-entgrp-enterprisegroupid for an enterprise group. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AccessListBulkResponse>>} */ CatalogManagementV1.prototype.updateShareApprovalListAsSource = function (params) { var _params = __assign({}, params); var _requiredParams = ['objectType', 'approvalStateIdentifier', 'accesses']; var _validParams = [ 'objectType', 'approvalStateIdentifier', 'accesses', 'enterpriseId', 'headers', ]; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var body = _params.accesses; var query = { 'enterprise_id': _params.enterpriseId, }; var path = { 'object_type': _params.objectType, 'approval_state_identifier': _params.approvalStateIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'updateShareApprovalListAsSource'); var parameters = { options: { url: '/shareapproval/{object_type}/access/source/{approval_state_identifier}', method: 'POST', body: body, qs: query, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', 'Content-Type': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /************************* * catalogs ************************/ /** * Get list of catalogs. * * Retrieves the available catalogs for a given account. This can be used by an unauthenticated user to retrieve the * public catalog. * * @param {Object} [params] - The parameters to send to the service. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.CatalogSearchResult>>} */ CatalogManagementV1.prototype.listCatalogs = function (params) { var _params = __assign({}, params); var _requiredParams = []; var _validParams = ['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)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'listCatalogs'); var parameters = { options: { url: '/catalogs', method: 'GET', }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Create a catalog. * * Create a catalog for a given account. * * @param {Object} [params] - The parameters to send to the service. * @param {string} [params.label] - Display Name in the requested language. * @param {JsonObject} [params.labelI18n] - A map of translated strings, by language code. * @param {string} [params.shortDescription] - Description in the requested language. * @param {JsonObject} [params.shortDescriptionI18n] - A map of translated strings, by language code. * @param {string} [params.catalogIconUrl] - URL for an icon associated with this catalog. * @param {string} [params.catalogBannerUrl] - URL for a banner image for this catalog. * @param {string[]} [params.tags] - List of tags associated with this catalog. * @param {Feature[]} [params.features] - List of features associated with this catalog. * @param {boolean} [params.disabled] - Denotes whether a catalog is disabled. * @param {string} [params.resourceGroupId] - Resource group id the catalog is owned by. * @param {string} [params.owningAccount] - Account that owns catalog. * @param {Filters} [params.catalogFilters] - Filters for account and catalog filters. * @param {string} [params.kind] - Kind of catalog. Supported kinds are offering and vpe. * @param {JsonObject} [params.metadata] - Catalog specific metadata. * @param {TargetAccountContext[]} [params.targetAccountContexts] - List of target accounts contexts on this catalog. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.Catalog>>} */ CatalogManagementV1.prototype.createCatalog = function (params) { var _params = __assign({}, params); var _requiredParams = []; var _validParams = [ 'label', 'labelI18n', 'shortDescription', 'shortDescriptionI18n', 'catalogIconUrl', 'catalogBannerUrl', 'tags', 'features', 'disabled', 'resourceGroupId', 'owningAccount', 'catalogFilters', 'kind', 'metadata', 'targetAccountContexts', 'headers', ]; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var body = { 'label': _params.label, 'label_i18n': _params.labelI18n, 'short_description': _params.shortDescription, 'short_description_i18n': _params.shortDescriptionI18n, 'catalog_icon_url': _params.catalogIconUrl, 'catalog_banner_url': _params.catalogBannerUrl, 'tags': _params.tags, 'features': _params.features, 'disabled': _params.disabled, 'resource_group_id': _params.resourceGroupId, 'owning_account': _params.owningAccount, 'catalog_filters': _params.catalogFilters, 'kind': _params.kind, 'metadata': _params.metadata, 'target_account_contexts': _params.targetAccountContexts, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'createCatalog'); var parameters = { options: { url: '/catalogs', method: 'POST', body: body, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', 'Content-Type': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Get catalog. * * Get a catalog. This can also be used by an unauthenticated user to get the public catalog. * * @param {Object} params - The parameters to send to the service. * @param {string} params.catalogIdentifier - Catalog identifier. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.Catalog>>} */ CatalogManagementV1.prototype.getCatalog = function (params) { var _params = __assign({}, params); var _requiredParams = ['catalogIdentifier']; var _validParams = ['catalogIdentifier', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var path = { 'catalog_identifier': _params.catalogIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'getCatalog'); var parameters = { options: { url: '/catalogs/{catalog_identifier}', method: 'GET', path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Update catalog. * * Update a catalog. * * @param {Object} params - The parameters to send to the service. * @param {string} params.catalogIdentifier - Catalog identifier. * @param {string} [params.id] - Unique ID. * @param {string} [params.rev] - Cloudant revision. * @param {string} [params.label] - Display Name in the requested language. * @param {JsonObject} [params.labelI18n] - A map of translated strings, by language code. * @param {string} [params.shortDescription] - Description in the requested language. * @param {JsonObject} [params.shortDescriptionI18n] - A map of translated strings, by language code. * @param {string} [params.catalogIconUrl] - URL for an icon associated with this catalog. * @param {string} [params.catalogBannerUrl] - URL for a banner image for this catalog. * @param {string[]} [params.tags] - List of tags associated with this catalog. * @param {Feature[]} [params.features] - List of features associated with this catalog. * @param {boolean} [params.disabled] - Denotes whether a catalog is disabled. * @param {string} [params.resourceGroupId] - Resource group id the catalog is owned by. * @param {string} [params.owningAccount] - Account that owns catalog. * @param {Filters} [params.catalogFilters] - Filters for account and catalog filters. * @param {string} [params.kind] - Kind of catalog. Supported kinds are offering and vpe. * @param {JsonObject} [params.metadata] - Catalog specific metadata. * @param {TargetAccountContext[]} [params.targetAccountContexts] - List of target accounts contexts on this catalog. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.Catalog>>} */ CatalogManagementV1.prototype.replaceCatalog = function (params) { var _params = __assign({}, params); var _requiredParams = ['catalogIdentifier']; var _validParams = [ 'catalogIdentifier', 'id', 'rev', 'label', 'labelI18n', 'shortDescription', 'shortDescriptionI18n', 'catalogIconUrl', 'catalogBannerUrl', 'tags', 'features', 'disabled', 'resourceGroupId', 'owningAccount', 'catalogFilters', 'kind', 'metadata', 'targetAccountContexts', 'headers', ]; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var body = { 'id': _params.id, '_rev': _params.rev, 'label': _params.label, 'label_i18n': _params.labelI18n, 'short_description': _params.shortDescription, 'short_description_i18n': _params.shortDescriptionI18n, 'catalog_icon_url': _params.catalogIconUrl, 'catalog_banner_url': _params.catalogBannerUrl, 'tags': _params.tags, 'features': _params.features, 'disabled': _params.disabled, 'resource_group_id': _params.resourceGroupId, 'owning_account': _params.owningAccount, 'catalog_filters': _params.catalogFilters, 'kind': _params.kind, 'metadata': _params.metadata, 'target_account_contexts': _params.targetAccountContexts, }; var path = { 'catalog_identifier': _params.catalogIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'replaceCatalog'); var parameters = { options: { url: '/catalogs/{catalog_identifier}', method: 'PUT', body: body, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', 'Content-Type': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Delete catalog. * * Delete a catalog. * * @param {Object} params - The parameters to send to the service. * @param {string} params.catalogIdentifier - Catalog identifier. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.EmptyObject>>} */ CatalogManagementV1.prototype.deleteCatalog = function (params) { var _params = __assign({}, params); var _requiredParams = ['catalogIdentifier']; var _validParams = ['catalogIdentifier', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var path = { 'catalog_identifier': _params.catalogIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'deleteCatalog'); var parameters = { options: { url: '/catalogs/{catalog_identifier}', method: 'DELETE', path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, {}, _params.headers), }), }; return this.createRequest(parameters); }; /** * Get catalog audit logs. * * Get the audit logs associated with a catalog. * * @param {Object} params - The parameters to send to the service. * @param {string} params.catalogIdentifier - Catalog identifier. * @param {string} [params.start] - Start token for a query. * @param {number} [params.limit] - number or results to return in the query. * @param {boolean} [params.lookupnames] - Auditlog Lookup Names - by default names are not returned in auditlog. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AuditLogs>>} */ CatalogManagementV1.prototype.listCatalogAudits = function (params) { var _params = __assign({}, params); var _requiredParams = ['catalogIdentifier']; var _validParams = ['catalogIdentifier', 'start', 'limit', 'lookupnames', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var query = { 'start': _params.start, 'limit': _params.limit, 'lookupnames': _params.lookupnames, }; var path = { 'catalog_identifier': _params.catalogIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'listCatalogAudits'); var parameters = { options: { url: '/catalogs/{catalog_identifier}/audits', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Get a catalog audit log entry. * * Get the full audit log entry associated with a catalog. * * @param {Object} params - The parameters to send to the service. * @param {string} params.catalogIdentifier - Catalog identifier. * @param {string} params.auditlogIdentifier - Auditlog ID. * @param {boolean} [params.lookupnames] - Auditlog Lookup Names - by default names are not returned in auditlog. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AuditLog>>} */ CatalogManagementV1.prototype.getCatalogAudit = function (params) { var _params = __assign({}, params); var _requiredParams = ['catalogIdentifier', 'auditlogIdentifier']; var _validParams = ['catalogIdentifier', 'auditlogIdentifier', 'lookupnames', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var query = { 'lookupnames': _params.lookupnames, }; var path = { 'catalog_identifier': _params.catalogIdentifier, 'auditlog_identifier': _params.auditlogIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'getCatalogAudit'); var parameters = { options: { url: '/catalogs/{catalog_identifier}/audits/{auditlog_identifier}', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /************************* * enterprise ************************/ /** * Get enterprise audit logs. * * Get the audit logs associated with an enterprise. * * @param {Object} params - The parameters to send to the service. * @param {string} params.enterpriseIdentifier - Enterprise ID. * @param {string} [params.start] - Start token for a query. * @param {number} [params.limit] - number or results to return in the query. * @param {boolean} [params.lookupnames] - Auditlog Lookup Names - by default names are not returned in auditlog. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AuditLogs>>} */ CatalogManagementV1.prototype.listEnterpriseAudits = function (params) { var _params = __assign({}, params); var _requiredParams = ['enterpriseIdentifier']; var _validParams = ['enterpriseIdentifier', 'start', 'limit', 'lookupnames', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var query = { 'start': _params.start, 'limit': _params.limit, 'lookupnames': _params.lookupnames, }; var path = { 'enterprise_identifier': _params.enterpriseIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'listEnterpriseAudits'); var parameters = { options: { url: '/enterprises/{enterprise_identifier}/audits', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /** * Get an enterprise audit log entry. * * Get the full audit log entry associated with an enterprise. * * @param {Object} params - The parameters to send to the service. * @param {string} params.enterpriseIdentifier - Enterprise ID. * @param {string} params.auditlogIdentifier - Auditlog ID. * @param {boolean} [params.lookupnames] - Auditlog Lookup Names - by default names are not returned in auditlog. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.AuditLog>>} */ CatalogManagementV1.prototype.getEnterpriseAudit = function (params) { var _params = __assign({}, params); var _requiredParams = ['enterpriseIdentifier', 'auditlogIdentifier']; var _validParams = ['enterpriseIdentifier', 'auditlogIdentifier', 'lookupnames', 'headers']; var _validationErrors = (0, ibm_cloud_sdk_core_1.validateParams)(_params, _requiredParams, _validParams); if (_validationErrors) { return Promise.reject(_validationErrors); } var query = { 'lookupnames': _params.lookupnames, }; var path = { 'enterprise_identifier': _params.enterpriseIdentifier, 'auditlog_identifier': _params.auditlogIdentifier, }; var sdkHeaders = (0, common_1.getSdkHeaders)(CatalogManagementV1.DEFAULT_SERVICE_NAME, 'v1', 'getEnterpriseAudit'); var parameters = { options: { url: '/enterprises/{enterprise_identifier}/audits/{auditlog_identifier}', method: 'GET', qs: query, path: path, }, defaultOptions: extend(true, {}, this.baseOptions, { headers: extend(true, sdkHeaders, this.baseOptions.headers, { 'Accept': 'application/json', }, _params.headers), }), }; return this.createRequest(parameters); }; /************************* * offerings ************************/ /** * Get consumption offerings. * * Retrieve the available offerings from both public and from the account that currently scoped for consumption. These * copies cannot be used for updating. They are not complete and only return what is visible to the caller. This can * be used by an unauthenticated user to retreive publicly available offerings. * * @param {Object} [params] - The parameters to send to the service. * @param {boolean} [params.digest] - true - Strip down the content of what is returned. For example don't return the * readme. Makes the result much smaller. Defaults to false. * @param {string} [params.catalog] - catalog id. Narrow search down to just a particular catalog. It will apply the * catalog's public filters to the public catalog offerings on the result. * @param {string} [params.select] - What should be selected. Default is 'all' which will return both public and * private offerings. 'public' returns only the public offerings and 'private' returns only the private offerings. * @param {boolean} [params.includeHidden] - true - include offerings which have been marked as hidden. The default is * false and hidden offerings are not returned. * @param {number} [params.limit] - number or results to return. * @param {number} [params.offset] - number of results to skip before returning values. * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers * @returns {Promise<CatalogManagementV1.Response<CatalogManagementV1.OfferingSearchResult>>} */ CatalogManagementV1.prototype.getConsumptionOfferings = function (params)