UNPKG

@hashgraph/solo

Version:

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

76 lines (75 loc) 3.3 kB
import { type NamespaceName } from '../../../../types/namespace/namespace-name.js'; import { type ConfigMap } from './config-map.js'; export interface ConfigMaps { /** * Create a new config map. If the config map already exists, it will not be replaced. * * @param namespace - for the config map * @param name - for the config name * @param labels - for the config metadata * @param data - to contain in the config * @throws {ResourceCreateError} if the config map could not be created. * @throws {KubeApiError} if the API call fails for an unexpected reason. */ create(namespace: NamespaceName, name: string, labels: Record<string, string>, data: Record<string, string>): Promise<boolean>; /** * Create or replace a config map. If the config map already exists, it will be replaced. * * @param namespace - for the config map * @param name - for the config name * @param labels - for the config metadata * @param data - to contain in the config * @throws {ResourceCreateError} if the config map could not be created. * @throws {ResourceReplaceError} if the config map could not be replaced. * @throws {KubeApiError} if the API call fails for an unexpected reason. */ createOrReplace(namespace: NamespaceName, name: string, labels: Record<string, string>, data: Record<string, string>): Promise<boolean>; /** * Read a config map * @param namespace - for the config map * @param name - for the config name */ read(namespace: NamespaceName, name: string): Promise<ConfigMap>; /** * Replace an existing config map with a new one * @param namespace - for the config map * @param name - for the config name * @param labels - for the config metadata * @param data - to contain in the config */ replace(namespace: NamespaceName, name: string, labels: Record<string, string>, data: Record<string, string>): Promise<boolean>; /** * Delete a config map * @param namespace - for the config map * @param name - for the config name */ delete(namespace: NamespaceName, name: string): Promise<boolean>; /** * Check if a config map exists * @param namespace - for the config map * @param name - for the config name */ exists(namespace: NamespaceName, name: string): Promise<boolean>; /** * List all config maps in a namespace for the given labels * @param namespace - for the config maps * @param labels - for the config maps * @returns list of config maps * @throws SoloError if the list operation fails */ list(namespace: NamespaceName, labels: string[]): Promise<ConfigMap[]>; /** * List all config maps in all namespaces for the given labels * @param labels - for the config maps * @returns list of config maps * @throws SoloError if the list operation fails */ listForAllNamespaces(labels: string[]): Promise<ConfigMap[]>; /** * Patch a config map * @param namespace - the namespace for the config map * @param name - the name of the config map * @param data - the data to patch */ update(namespace: NamespaceName, name: string, data: Record<string, string>): Promise<void>; }