UNPKG

@multicloud-io/multicloud-connection-js

Version:

Shared TypeScript/JavaScript library for connecting to Multicloud servers with mTLS authentication

107 lines 4.82 kB
"use strict"; /** * Multicloud Connection Library * * A comprehensive TypeScript/JavaScript library for connecting to Multicloud servers * with mTLS authentication, configuration management, and full REST API support. * * IMPORTANT: This library is designed for server-side use only. * Never expose Multicloud credentials or use this library in client/browser environments. * * @example * ```typescript * import { MulticloudConfig, MulticloudRESTClient } from '@multicloud/connection-js'; * * // Basic usage with default configuration * const params = MulticloudConfig.getConnectionParams(); * const client = new MulticloudRESTClient(params); * const clusters = await client.getClusters(); * * // Usage with custom configuration * const params = MulticloudConfig.getConnectionParams( * { debug: true }, * { envPrefix: 'MY_APP_MULTICLOUD_' } * ); * const client = new MulticloudRESTClient(params); * ``` * * @example * ```typescript * // Check if multicloud is enabled before using * if (MulticloudConfig.isEnabled()) { * const params = MulticloudConfig.getConnectionParams(); * const client = new MulticloudRESTClient(params); * // Use client... * } else { * // Use fallback/mock data * } * ``` */ Object.defineProperty(exports, "__esModule", { value: true }); exports.version = exports.MulticloudResponseError = exports.MulticloudNetworkError = exports.MulticloudConfigurationError = exports.MulticloudAuthenticationError = exports.MulticloudConnectionError = exports.ExtendedLocationRuleType = exports.Orchestration = exports.State = exports.TaskStatus = exports.MulticloudRestClient = exports.MulticloudConfig = void 0; exports.createMulticloudClient = createMulticloudClient; exports.isMulticloudEnabled = isMulticloudEnabled; // Configuration management var config_1 = require("./config"); Object.defineProperty(exports, "MulticloudConfig", { enumerable: true, get: function () { return config_1.MulticloudConfig; } }); // REST API client and data types var client_1 = require("./client"); Object.defineProperty(exports, "MulticloudRestClient", { enumerable: true, get: function () { return client_1.MulticloudRestClient; } }); Object.defineProperty(exports, "TaskStatus", { enumerable: true, get: function () { return client_1.TaskStatus; } }); Object.defineProperty(exports, "State", { enumerable: true, get: function () { return client_1.State; } }); Object.defineProperty(exports, "Orchestration", { enumerable: true, get: function () { return client_1.Orchestration; } }); Object.defineProperty(exports, "ExtendedLocationRuleType", { enumerable: true, get: function () { return client_1.ExtendedLocationRuleType; } }); // Exception classes var exceptions_1 = require("./exceptions"); Object.defineProperty(exports, "MulticloudConnectionError", { enumerable: true, get: function () { return exceptions_1.MulticloudConnectionError; } }); Object.defineProperty(exports, "MulticloudAuthenticationError", { enumerable: true, get: function () { return exceptions_1.MulticloudAuthenticationError; } }); Object.defineProperty(exports, "MulticloudConfigurationError", { enumerable: true, get: function () { return exceptions_1.MulticloudConfigurationError; } }); Object.defineProperty(exports, "MulticloudNetworkError", { enumerable: true, get: function () { return exceptions_1.MulticloudNetworkError; } }); Object.defineProperty(exports, "MulticloudResponseError", { enumerable: true, get: function () { return exceptions_1.MulticloudResponseError; } }); // Import types for utility functions const config_2 = require("./config"); const client_2 = require("./client"); /** * Library version */ exports.version = '1.0.0'; /** * Quick utility to create a configured Multicloud client * * @param overrides Connection parameter overrides * @param options Configuration options * @returns Configured MulticloudRESTClient instance * * @example * ```typescript * import { createMulticloudClient } from '@multicloud/connection-js'; * * const client = createMulticloudClient({ debug: true }); * const clusters = await client.getClusters(); * ``` */ function createMulticloudClient(overrides, options) { const params = config_2.MulticloudConfig.getConnectionParams(overrides, options); return new client_2.MulticloudRestClient(params, params.debug); } /** * Quick utility to check if Multicloud is properly configured * * @param options Configuration options * @returns True if multicloud is enabled and configured * * @example * ```typescript * import { isMulticloudEnabled } from '@multicloud/connection-js'; * * if (isMulticloudEnabled()) { * // Use multicloud * } else { * // Use fallback * } * ``` */ function isMulticloudEnabled(options) { return config_2.MulticloudConfig.isEnabled(options); } //# sourceMappingURL=index.js.map