UNPKG

@hashgraph/solo

Version:

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

72 lines (58 loc) 2.6 kB
// SPDX-License-Identifier: Apache-2.0 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>; }