import { IResource, Resource, ResourceProps } from './base'; import * as cdk8s from 'cdk8s'; import { Construct } from 'constructs'; /** * @experimental */ export interface SecretProps extends ResourceProps { /** * (experimental) stringData allows specifying non-binary secret data in string form. * * It is * provided as a write-only convenience method. All keys and values are merged * into the data field on write, overwriting any existing values. It is never * output when reading from the API. * * @experimental */ readonly stringData?: { [key: string]: string; }; } /** * @experimental */ export interface ISecret extends IResource { } /** * (experimental) Represents a specific value in JSON secret. * * @experimental */ export interface SecretValue { /** * (experimental) The secret. * * @experimental */ readonly secret: ISecret; /** * (experimental) The JSON key. * * @experimental */ readonly key: string; } /** * (experimental) Kubernetes Secrets let you store and manage sensitive information, such as passwords, OAuth tokens, and ssh keys. * * Storing confidential information in a * Secret is safer and more flexible than putting it verbatim in a Pod * definition or in a container image. * * @see https://kubernetes.io/docs/concepts/configuration/secret * @experimental */ export declare class Secret extends Resource implements ISecret { /** * (experimental) Imports a secret from the cluster as a reference. * * @param name The name of the secret to reference. * @experimental */ static fromSecretName(name: string): ISecret; /** * (experimental) The underlying cdk8s API object. * * @see base.Resource.apiObject * @experimental */ protected readonly apiObject: cdk8s.ApiObject; private readonly stringData; /** * @experimental */ constructor(scope: Construct, id: string, props?: SecretProps); /** * (experimental) Adds a string data field to the secert. * * @param key Key. * @param value Value. * @experimental */ addStringData(key: string, value: string): void; /** * (experimental) Gets a string data by key or undefined. * * @param key Key. * @experimental */ getStringData(key: string): string | undefined; }