@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
51 lines (50 loc) • 1.78 kB
TypeScript
import { ImageCacheHandler } from './image-cache-handler.js';
import { type CacheTargetProvider } from '../target-providers/cache-target-provider.js';
import { type ContainerEngineClient } from '../../container-engine/container-engine-client.js';
/**
* Builder for {@link ImageCacheHandler}.
*
* This builder allows runtime construction of an image cache handler by
* providing a target provider directly or by creating a YAML-backed target
* provider from a file path.
*/
export declare class ImageCacheHandlerBuilder {
private _provider?;
private _engine?;
private get name();
/**
* Creates a new builder preconfigured with a YAML-backed image target provider.
*
* @param filePath path to the image targets YAML file
* @returns a new builder instance
*/
static fromYaml(filePath: string): ImageCacheHandlerBuilder;
/**
* Sets the target provider explicitly.
*
* @param provider provider supplying image cache targets
* @returns this builder
*/
provider(provider: CacheTargetProvider): ImageCacheHandlerBuilder;
/**
* Creates and sets a YAML-backed image target provider using the given file path.
*
* @param filePath path to the image targets YAML file
* @returns this builder
*/
private yamlProvider;
/**
* Sets the container engine client to be used by the handler.
*
* @param engine container engine client
* @returns this builder
*/
engine(engine: ContainerEngineClient): ImageCacheHandlerBuilder;
/**
* Builds a ready-to-use {@link ImageCacheHandler}.
*
* @returns the configured image cache handler
* @throws Error if any required dependency is missing
*/
build(): ImageCacheHandler;
}