UNPKG

@hashgraph/solo

Version:

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

74 lines (73 loc) 2.9 kB
import { type K8 } from '../k8.js'; import { type Namespaces } from '../../../types/namespace/namespaces.js'; import { type Clusters } from '../resources/cluster/clusters.js'; import { type ConfigMaps } from '../resources/config-map/config-maps.js'; import { type Containers } from '../resources/container/containers.js'; import { type Contexts } from '../resources/context/contexts.js'; import { type Pods } from '../resources/pod/pods.js'; import { type Services } from '../resources/service/services.js'; import { type Pvcs } from '../resources/pvc/pvcs.js'; import { type Leases } from '../resources/lease/leases.js'; import { type IngressClasses } from '../resources/ingress-class/ingress-classes.js'; import { type Secrets } from '../resources/secret/secrets.js'; import { type Ingresses } from '../resources/ingress/ingresses.js'; import { type Crds } from '../resources/crd/crds.js'; import { type Optional } from '../../../types/index.js'; import { K8ClientManifests } from './resources/manifest/k8-client-manifests.js'; import { type Rbacs } from '../resources/rbac/rbacs.js'; /** * A kubernetes API wrapper class providing custom functionalities required by solo * * Note: Take care if the same instance is used for parallel execution, as the behaviour may be unpredictable. * For parallel execution, create separate instances by invoking clone() */ export declare class K8Client implements K8 { private readonly context; private readonly kubectlInstallationDirectory; private kubeConfig; private kubeClient; private coordinationApiClient; private extensionApi; private networkingApi; private rbacApi; private k8sObjectApi; private k8Leases; private k8Clusters; private k8ConfigMaps; private k8Containers; private k8Pods; private k8Contexts; private k8Services; private k8Pvcs; private k8Namespaces; private k8IngressClasses; private k8Secrets; private k8Ingresses; private k8Crds; private k8Rbacs; private k8Manifests; /** * Create a new k8Factory client for the given context, if context is undefined it will use the current context in kubeconfig * @param context - The context to create the k8Factory client for * @param kubectlInstallationDirectory - Path to executable of kubectl */ constructor(context: string, kubectlInstallationDirectory: string); init(context?: Optional<string>): K8; private getKubeConfig; namespaces(): Namespaces; clusters(): Clusters; configMaps(): ConfigMaps; containers(): Containers; contexts(): Contexts; services(): Services; pods(): Pods; pvcs(): Pvcs; leases(): Leases; secrets(): Secrets; ingressClasses(): IngressClasses; ingresses(): Ingresses; crds(): Crds; rbac(): Rbacs; manifests(): K8ClientManifests; getKubectlExecutablePath(): string; }