UNPKG

@hashgraph/solo

Version:

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

48 lines (47 loc) 1.67 kB
import { type ConfigManager } from '../config_manager.js'; import { type K8Factory } from '../../core/kube/k8_factory.js'; import { type SoloLogger } from '../logging.js'; import { type Lease, type LeaseRenewalService } from './lease.js'; /** * Manages the acquisition and renewal of leases. */ export declare class LeaseManager { private readonly _renewalService?; private readonly _logger?; private readonly k8Factory?; private readonly configManager?; /** * Creates a new lease manager. * * @param _renewalService - the lease renewal service. * @param _logger - the logger. * @param k8Factory - the Kubernetes client. * @param configManager - the configuration manager. */ constructor(_renewalService?: LeaseRenewalService, _logger?: SoloLogger, k8Factory?: K8Factory, configManager?: ConfigManager); /** * Creates a new lease. This lease is not acquired until the `acquire` method is called. * * @returns a new lease instance. */ create(): Promise<Lease>; /** * Retrieves the renewal service implementation. * * @returns the lease renewal service. */ get renewalService(): LeaseRenewalService; /** * 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 LeaseAcquisitionError if the namespace does not exist and cannot be created. */ private currentNamespace; }