UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

131 lines 6.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const omit_js_1 = tslib_1.__importDefault(require("lodash-es/omit.js")); const ClustersAPI_1 = tslib_1.__importDefault(require("../../common/api/assisted-service/ClustersAPI")); const HostsService_1 = tslib_1.__importDefault(require("./HostsService")); const InfraEnvsService_1 = tslib_1.__importDefault(require("./InfraEnvsService")); const constants_1 = require("../../common/config/constants"); const axiosClient_1 = require("../../common/api/axiosClient"); const ClustersService = { findHost(hosts = [], hostId) { return hosts.find((host) => host.id === hostId); }, create(params, isAssistedMigration) { var _a, _b; return tslib_1.__awaiter(this, void 0, void 0, function* () { if (isAssistedMigration) { params.tags = constants_1.AI_ASSISTED_MIGRATION_TAG; } const { data: cluster } = yield ClustersAPI_1.default.register((0, omit_js_1.default)(params, 'staticNetworkConfig')); const infraEnvCreateParams = { name: `${params.name}_infra-env`, pullSecret: params.pullSecret, clusterId: cluster.id, openshiftVersion: params.openshiftVersion, cpuArchitecture: params.cpuArchitecture, staticNetworkConfig: params.staticNetworkConfig, }; if (((_a = params.platform) === null || _a === void 0 ? void 0 : _a.type) === 'external' && ((_b = params.platform.external) === null || _b === void 0 ? void 0 : _b.platformName) === 'oci') { infraEnvCreateParams.imageType = 'minimal-iso'; } yield InfraEnvsService_1.default.create(infraEnvCreateParams); return cluster; }); }, remove(clusterId) { var _a; return tslib_1.__awaiter(this, void 0, void 0, function* () { const { data: cluster } = yield ClustersAPI_1.default.get(clusterId); const hosts = (_a = cluster.hosts) !== null && _a !== void 0 ? _a : []; if (hosts.length > 0) { yield HostsService_1.default.removeAll(hosts); } yield InfraEnvsService_1.default.removeAll(clusterId); yield ClustersAPI_1.default.deregister(clusterId); }); }, downloadLogs(clusterId, hostId) { var _a; return tslib_1.__awaiter(this, void 0, void 0, function* () { const { data, headers } = yield ClustersAPI_1.default.downloadLogs(clusterId, hostId); const contentHeader = headers['content-disposition']; const fileName = (_a = contentHeader === null || contentHeader === void 0 ? void 0 : contentHeader.match(/filename="(.+)"/)) === null || _a === void 0 ? void 0 : _a[1]; return { data, fileName }; }); }, update(clusterId, clusterTags, params) { ClustersAPI_1.default.abortLastGetRequest(); if (axiosClient_1.isInOcm) { params = ClustersService.updateClusterTags(clusterTags, params); } return ClustersAPI_1.default.update(clusterId, params); }, install(clusterId, clusterTags) { return tslib_1.__awaiter(this, void 0, void 0, function* () { if (axiosClient_1.isInOcm) { const params = ClustersService.updateClusterTags(clusterTags, {}); if (params.tags) { yield ClustersService.update(clusterId, clusterTags, {}); } } return ClustersAPI_1.default.install(clusterId); }); }, updateClusterTags(clusterTags, params) { const tags = (clusterTags === null || clusterTags === void 0 ? void 0 : clusterTags.split(',')) || []; if (tags.includes(constants_1.AI_UI_TAG)) { if (params.tags && params.tags.includes(constants_1.AI_CISCO_INTERSIGHT_TAG)) { tags === null || tags === void 0 ? void 0 : tags.push(constants_1.AI_CISCO_INTERSIGHT_TAG); params.tags = tags === null || tags === void 0 ? void 0 : tags.join(','); } else { delete params.tags; } } else { tags === null || tags === void 0 ? void 0 : tags.push(constants_1.AI_UI_TAG); params.tags = tags === null || tags === void 0 ? void 0 : tags.join(','); } return params; }, get(clusterId) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const { data: cluster } = yield ClustersAPI_1.default.get(clusterId); return cluster; }); }, transformFormViewManifest(manifest) { return { folder: manifest.folder, fileName: manifest.filename, content: window.btoa(manifest.manifestYaml), }; }, getUpdateManifestParams(existingManifest, updatedManifest) { return { folder: existingManifest.folder, fileName: existingManifest.filename, updatedFolder: updatedManifest.folder, updatedFileName: updatedManifest.filename, updatedContent: window.btoa(updatedManifest.manifestYaml), }; }, createClusterManifests(manifests, clusterId) { const promises = manifests.map((manifest) => { return ClustersAPI_1.default.createCustomManifest(clusterId, this.transformFormViewManifest(manifest)); }); return Promise.all(promises); }, removeClusterManifests(customManifests, clusterId) { const promises = customManifests.map((manifest) => { return ClustersAPI_1.default.removeCustomManifest(clusterId, manifest.folder || '', manifest.fileName || ''); }); return Promise.all(promises); }, updateCustomManifest(existingManifest, updatedManifest, clusterId) { return ClustersAPI_1.default.updateCustomManifest(clusterId, this.getUpdateManifestParams(existingManifest, updatedManifest)); }, }; exports.default = ClustersService; //# sourceMappingURL=ClustersService.js.map