@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
82 lines (74 loc) • 2.25 kB
text/typescript
/**
* SPDX-License-Identifier: Apache-2.0
*/
import {type Optional} from '../../../../types/index.js';
import {type NamespaceName} from '../namespace/namespace_name.js';
import {type SecretType} from './secret_type.js';
export interface Secrets {
/**
* creates a new Kubernetes secret with the provided attributes
* @param namespace - the namespace to store the secret
* @param name - the name of the new secret
* @param secretType - the secret type
* @param data - the secret, any values of a key:value pair must be base64 encoded
* @param labels - the label to use for future label selector queries
* @returns whether the secret was created successfully
*/
create(
namespace: NamespaceName,
name: string,
secretType: SecretType,
data: Record<string, string>,
labels: Optional<Record<string, string>>,
): Promise<boolean>;
createOrReplace(
namespace: NamespaceName,
name: string,
secretType: SecretType,
data: Record<string, string>,
labels: Optional<Record<string, string>>,
): Promise<boolean>;
replace(
namespace: NamespaceName,
name: string,
secretType: SecretType,
data: Record<string, string>,
labels: Optional<Record<string, string>>,
): Promise<boolean>;
read(
namespace: NamespaceName,
name: string,
): Promise<{
data: Record<string, string>;
name: string;
namespace: string;
type: string;
labels: Record<string, string>;
}>;
/**
* Delete a secret from the namespace
* @param namespace - the namespace to store the secret
* @param name - the name of the existing secret
* @returns whether the secret was deleted successfully
*/
delete(namespace: NamespaceName, name: string): Promise<boolean>;
/**
* Get secrets by labels
* @param namespace - the namespace of the secret
* @param labels - list of labels
* @returns the list of secrets that match the labels
*/
list(
namespace: NamespaceName,
labels?: string[],
): Promise<
Array<{
data: Record<string, string>;
name: string;
namespace: string;
type: string;
labels: Record<string, string>;
}>
>;
exists(namespace: NamespaceName, name: string): Promise<boolean>;
}