@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
76 lines (75 loc) • 3.3 kB
TypeScript
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>;
}