@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
48 lines (47 loc) • 1.67 kB
TypeScript
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;
}