UNPKG

@hashgraph/solo

Version:

An opinionated CLI tool to deploy and manage private Hedera Networks.

51 lines (50 loc) 1.94 kB
import { type ConfigManager } from '../config-manager.js'; import { type K8Factory } from '../../integration/kube/k8-factory.js'; import { type SoloLogger } from '../logging/solo-logger.js'; import { type Lock, type LockRenewalService } from './lock.js'; import { type RemoteConfigRuntimeStateApi } from '../../business/runtime-state/api/remote-config-runtime-state-api.js'; /** * Manages the acquisition and renewal of locks. */ export declare class LockManager { private readonly _renewalService?; private readonly _logger?; private readonly k8Factory?; private readonly configManager?; private readonly remoteConfigRuntimeState?; /** * Creates a new lock manager. * * @param _renewalService - the lock renewal service. * @param _logger - the logger. * @param k8Factory - the Kubernetes client. * @param configManager - the configuration manager. * @param remoteConfigRuntimeState */ constructor(_renewalService?: LockRenewalService, _logger?: SoloLogger, k8Factory?: K8Factory, configManager?: ConfigManager, remoteConfigRuntimeState?: RemoteConfigRuntimeStateApi); /** * Creates a new lease. This lease is not acquired until the `acquire` method is called. * * @returns a new lease instance. */ create(): Promise<Lock>; /** * Retrieves the renewal service implementation. * * @returns the lease renewal service. */ get renewalService(): LockRenewalService; /** * Retrieves the logger instance. * * @returns the logger. */ get logger(): SoloLogger; /** * Retrieves the user or configuration supplied namespace to use for lease acquisition. * * @returns the namespace to use for lease acquisition or null if no namespace is specified. * @throws LockAcquisitionError if the namespace does not exist and cannot be created. */ private currentNamespace; }