@multicloud-io/multicloud-connection-js
Version:
Shared TypeScript/JavaScript library for connecting to Multicloud servers with mTLS authentication
107 lines • 4.82 kB
JavaScript
;
/**
* 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