@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
32 lines (31 loc) • 2.5 kB
TypeScript
import { type BaseStateSchema } from '../../../../data/schema/model/remote/state/base-state-schema.js';
import { type ComponentTypes } from '../enumerations/component-types.js';
import { type DeploymentPhase } from '../../../../data/schema/model/remote/deployment-phase.js';
import { type ClusterReferenceName, type ComponentId } from '../../../../types/index.js';
import { type DeploymentStateSchema } from '../../../../data/schema/model/remote/deployment-state-schema.js';
import { type ComponentIdsStructure } from '../../../../data/schema/model/remote/interfaces/components-ids-structure.js';
import { type PodReference } from '../../../../integration/kube/resources/pod/pod-reference.js';
import { type K8 } from '../../../../integration/kube/k8.js';
import { type SoloLogger } from '../../../logging/solo-logger.js';
export interface ComponentsDataWrapperApi {
state: DeploymentStateSchema;
componentIds: ComponentIdsStructure;
/**
* When running in one-shot mode, component id increment is skipped
* @param component
* @param type
* @param isReplace
* @param skipIncrement
*/
addNewComponent(component: BaseStateSchema, type: ComponentTypes, isReplace?: boolean, skipIncrement?: boolean): void;
changeNodePhase(componentId: ComponentId, phase: DeploymentPhase): void;
changeComponentPhase(componentId: ComponentId, type: ComponentTypes, phase: DeploymentPhase): void;
removeComponent(componentId: ComponentId, type: ComponentTypes): void;
getComponent<T extends BaseStateSchema>(type: ComponentTypes, componentId: ComponentId): T;
getComponentByType<T extends BaseStateSchema>(type: ComponentTypes): T[];
getComponentsByClusterReference<T extends BaseStateSchema>(type: ComponentTypes, clusterReference: ClusterReferenceName): T[];
getComponentById<T extends BaseStateSchema>(type: ComponentTypes, id: number): T;
getNewComponentId(componentType: ComponentTypes): number;
managePortForward(clusterReference: ClusterReferenceName, podReference: PodReference, podPort: number, localPort: number, k8Client: K8, logger: SoloLogger, componentType: ComponentTypes, label: string, reuse?: boolean, nodeId?: number, persist?: boolean, externalAddress?: string): Promise<number>;
stopPortForwards(clusterReference: ClusterReferenceName, podReference: PodReference, podPort: number, localPort: number, k8Client: K8, logger: SoloLogger, componentType: ComponentTypes, label: string, nodeId?: number): Promise<void>;
}