UNPKG

@multicloud-io/client

Version:

Customer-facing Multicloud API client with limited field exposure

80 lines 2.6 kB
/** * Configuration management for Multicloud connections * * This module provides the MulticloudConfig class for loading and managing * configuration from files, environment variables, and direct parameters * with proper precedence handling. * * Supports both Node.js and browser environments (server-side only for security). */ export interface MulticloudConnectionParams { serverUrl: string; clientCert?: string; clientKey?: string; verifySsl: boolean; timeout: number; debug: boolean; accessToken?: string; } export interface MulticloudConfigOptions { /** Environment variable prefix (default: MULTICLOUD_) */ envPrefix?: string; /** Default configuration file path */ configFile?: string; /** Whether running in production mode */ isProduction?: boolean; } export declare class MulticloudConfig { private static readonly DEFAULT_CONFIG_PATH; /** * Default configuration values */ private static readonly DEFAULT_CONFIG; /** * Get connection parameters with file and environment variable overrides * * Applies configuration precedence: * 1. Direct overrides (highest priority) * 2. Environment variables * 3. Configuration file * 4. Default values (lowest priority) * * @param overrides Direct parameter overrides * @param options Configuration options * @returns Connection parameters */ static getConnectionParams(overrides?: Partial<MulticloudConnectionParams>, options?: MulticloudConfigOptions): MulticloudConnectionParams; /** * Load configuration from YAML file */ private static applyFileConfig; /** * Substitute variables in configuration content * Supports ${variable} syntax with simple replacements */ private static substituteVariables; /** * Apply environment variable overrides to parameters */ private static applyEnvOverrides; /** * Validate that required parameters are present */ private static validateParams; /** * Get configuration information for debugging */ static getConfigInfo(options?: MulticloudConfigOptions): Record<string, any>; /** * Check if configuration file exists */ static hasConfigFile(configFile?: string): boolean; /** * Check if multicloud integration is enabled * * @param options Configuration options * @returns True if multicloud is properly configured */ static isEnabled(options?: MulticloudConfigOptions): boolean; } //# sourceMappingURL=config.d.ts.map