import { SecretSkeleton, VersionOfSecretSkeleton, VersionOfSecretStatus } from '../../api/cloud/SecretsApi'; import { State } from '../../shared/State'; import { ExportMetaData } from '../OpsTypes'; export type Secret = { /** * Read all secrets * @returns {Promise} a promise that resolves to an array of secrets */ readSecrets(): Promise; /** * Read secret * @param {string} secretId secret id/name * @returns {Promise} a promise that resolves to a secret */ readSecret(secretId: string): Promise; /** * Read the value of a secret * @param {string} secretId secret id/name * @param {string} target Host URL of target environment to encrypt secret value for * @param {boolean} decrypt retrieve secret value in the clear (default: false) * @returns {Promise} a promise that resolves to the value of the secret */ readSecretValue(secretId: string, target?: string, decrypt?: boolean): Promise; /** * Read the values of an array of secrets * @param {string} secretIds secret id/name * @param {string} target Host URL of target environment to encrypt secret values for * @param {boolean} decrypt retrieve secret values in the clear (default: false) * @returns {Promise<{ [key: string]: string }>} a promise that resolves to a map of secret ids and values */ readSecretValues(secretIds: string[], target?: string, decrypt?: boolean): Promise<{ [key: string]: string; }>; /** * Export secret. The response can be saved to file as is. * @param {string} secretId secret id/name * @param {boolean} includeActiveValue include active value of secret (default: false) * @param {string} target Host URL of target environment to encrypt secret value for * @returns {Promise} Promise resolving to a SecretsExportInterface object. */ exportSecret(secretId: string, includeActiveValue?: boolean, target?: string): Promise; /** * Export all secrets * @param {boolean} includeActiveValues include active values of secrets (default: false) * @param {string} target Host URL of target environment to encrypt secret values for * @returns {Promise} Promise resolving to an SecretsExportInterface object. */ exportSecrets(includeActiveValues?: boolean, target?: string): Promise; /** * Import secret by id * @param {string} secretId secret id/name * @param {SecretsExportInterface} importData import data * @param {boolean} includeActiveValue include active value of secret (default: false) * @param {string} source Host URL of source environment where the secret was exported from * @returns {Promise} imported secret object */ importSecret(secretId: string, importData: SecretsExportInterface, includeActiveValue?: boolean, source?: string): Promise; /** * Import secrets * @param {SecretsExportInterface} importData import data * @param {boolean} includeActiveValues include active values of secrets (default: false) * @param {string} source Host URL of source environment where the secrets were exported from * @returns {Promise} array of imported secret objects */ importSecrets(importData: SecretsExportInterface, includeActiveValues?: boolean, source?: string): Promise; /** * Create secret * @param {string} secretId secret id/name * @param {string} value secret value * @param {string} description secret description * @param {string} encoding secret encoding (only `generic` is supported) * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders * @returns {Promise} a promise that resolves to a secret */ createSecret(secretId: string, value: string, description: string, encoding?: string, useInPlaceholders?: boolean): Promise; /** * Update secret description * @param {string} secretId secret id/name * @param {string} description secret description * @returns {Promise} a promise that resolves to an empty string */ updateSecretDescription(secretId: string, description: string): Promise; /** * Delete secret * @param {string} secretId secret id/name * @returns {Promise} a promise that resolves to a secret object */ deleteSecret(secretId: string): Promise; /** * Read versions of secret * @param {string} secretId secret id/name * @returns {Promise} a promise that resolves to an array of secret versions */ readVersionsOfSecret(secretId: string): Promise; /** * Create version of secret * @param {string} secretId secret id/name * @param {string} value secret value * @returns {Promise} a promise that resolves to a version object */ createVersionOfSecret(secretId: string, value: string): Promise; /** * Read version of secret * @param {string} secretId secret id/name * @param {string} version secret version * @returns {Promise} a promise that resolves to a version object */ readVersionOfSecret(secretId: string, version: string): Promise; /** * Enable a version of a secret * @param {string} secretId secret id/name * @param {string} version secret version * @returns {Promise} a promise that resolves to a status object */ enableVersionOfSecret(secretId: string, version: string): Promise; /** * Disable a version of a secret * @param {string} secretId secret id/name * @param {string} version secret version * @returns {Promise} a promise that resolves to a status object */ disableVersionOfSecret(secretId: string, version: string): Promise; /** * Delete version of secret * @param {string} secretId secret id/name * @param {string} version secret version * @returns {Promise} a promise that resolves to a version object */ deleteVersionOfSecret(secretId: string, version: string): Promise; /** * Get all secrets * @returns {Promise} a promise that resolves to an array of secrets * @deprecated since v2.0.0 use {@link Secret.readSecrets | readSecrets} instead * ```javascript * readSecrets(): Promise * ``` * @group Deprecated */ getSecrets(): Promise; /** * Get secret * @param secretId secret id/name * @returns {Promise} a promise that resolves to a secret * @deprecated since v2.0.0 use {@link Secret.readSecret | readSecret} instead * ```javascript * readSecret(secretId: string): Promise * ``` * @group Deprecated */ getSecret(secretId: string): Promise; /** * Create secret * @param {string} secretId secret id/name * @param {string} value secret value * @param {string} description secret description * @param {string} encoding secret encoding (only `generic` is supported) * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders * @returns {Promise} a promise that resolves to a secret * @deprecated since v2.0.0 use {@link Secret.createSecret | createSecret} instead * ```javascript * createSecret(secretId: string, value: string, description: string, encoding?: string, useInPlaceholders?: boolean): Promise * ``` * @group Deprecated */ putSecret(secretId: string, value: string, description: string, encoding?: string, useInPlaceholders?: boolean): Promise; /** * Set secret description * @param {string} secretId secret id/name * @param {string} description secret description * @returns {Promise} a promise that resolves to an empty string * @deprecated since v2.0.0 use {@link Secret.updateSecretDescription | updateSecretDescription} instead * ```javascript * updateSecretDescription(secretId: string, description: string): Promise * ``` * @group Deprecated */ setSecretDescription(secretId: string, description: string): Promise; /** * Get secret versions * @param {string} secretId secret id/name * @returns {Promise} a promise that resolves to an array of secret versions * @deprecated since v2.0.0 use {@link Secret.readVersionsOfSecret | readVersionsOfSecret} instead * ```javascript * readVersionsOfSecret(secretId: string): Promise * ``` * @group Deprecated */ getSecretVersions(secretId: string): Promise; /** * Create new secret version * @param {string} secretId secret id/name * @param {string} value secret value * @returns {Promise} a promise that resolves to a version object * @deprecated since v2.0.0 use {@link Secret.createVersionOfSecret | createVersionOfSecret} instead * ```javascript * createVersionOfSecret(secretId: string, value: string): Promise * ``` * @group Deprecated */ createNewVersionOfSecret(secretId: string, value: string): Promise; /** * Get version of secret * @param {string} secretId secret id/name * @param {string} version secret version * @returns {Promise} a promise that resolves to a version object * @deprecated since v2.0.0 use {@link Secret.readVersionOfSecret | readVersionOfSecret} instead * ```javascript * readVersionOfSecret(secretId: string, version: string): Promise * ``` * @group Deprecated */ getVersionOfSecret(secretId: string, version: string): Promise; /** * Update the status of a version of a secret * @param {string} secretId secret id/name * @param {string} version secret version * @param {VersionOfSecretStatus} status status * @returns {Promise} a promise that resolves to a status object * @deprecated since v2.0.0 use {@link Secret.enableVersionOfSecret | enableVersionOfSecret} or {@link Secret.disableVersionOfSecret | disableVersionOfSecret} instead * ```javascript * enableVersionOfSecret(secretId: string, version: string): Promise * disableVersionOfSecret(secretId: string, version: string): Promise * ``` * @group Deprecated */ setStatusOfVersionOfSecret(secretId: string, version: string, status: VersionOfSecretStatus): Promise; }; declare const _default: (state: State) => Secret; export default _default; export interface SecretsExportInterface { meta?: ExportMetaData; secret: Record; } /** * Secrets import options */ export interface SecretImportOptions { /** * Import active values of secret */ includeActiveValues: boolean; /** * Host URL of source environment to decrypt secret values from */ source?: string; } /** * Secrets export options */ export interface SecretExportOptions { /** * Export active values of secret */ includeActiveValues: boolean; /** * Host URL of target environment to encrypt secret values for */ target?: string; } export declare function createSecretsExportTemplate({ state, }: { state: State; }): SecretsExportInterface; export declare function exportSecret({ secretId, options, state, }: { secretId: string; options?: SecretExportOptions; state: State; }): Promise; export declare function exportSecrets({ options, state, }: { options?: SecretExportOptions; state: State; }): Promise; export declare function readSecretValue({ secretId, decrypt, target, state, }: { secretId: string; decrypt?: boolean; target?: string; state: State; }): Promise; export declare function readSecretValues({ secretIds, decrypt, target, state, }: { secretIds: string[]; decrypt?: boolean; target?: string; state: State; }): Promise<{ [key: string]: string; }>; /** * Import secret * @param {string} secretId secret id/name * @param {SecretsExportInterface} importData import data * @returns {Promise} array of imported secret objects */ export declare function importSecret({ secretId, importData, options, state, }: { secretId: string; importData: SecretsExportInterface; options?: SecretImportOptions; state: State; }): Promise; /** * Import secrets * @param {SecretsExportInterface} importData import data * @returns {Promise} array of imported secret objects */ export declare function importSecrets({ importData, options, state, }: { importData: SecretsExportInterface; options?: SecretImportOptions; state: State; }): Promise; export declare function enableVersionOfSecret({ secretId, version, state, }: { secretId: string; version: string; state: State; }): Promise; export declare function disableVersionOfSecret({ secretId, version, state, }: { secretId: string; version: string; state: State; }): Promise; export declare function readSecret({ secretId, state, }: { secretId: string; state: State; }): Promise; export declare function readSecrets({ state, }: { state: State; }): Promise; export declare function createSecret({ secretId, value, description, encoding, useInPlaceholders, state, }: { secretId: string; value: string; description: string; encoding: string; useInPlaceholders: boolean; state: State; }): Promise; export declare function createVersionOfSecret({ secretId, value, state, }: { secretId: string; value: string; state: State; }): Promise; export declare function deleteSecret({ secretId, state, }: { secretId: string; state: State; }): Promise; export declare function readVersionOfSecret({ secretId, version, state, }: { secretId: string; version: string; state: State; }): Promise; export declare function readVersionsOfSecret({ secretId, state, }: { secretId: string; state: State; }): Promise; export declare function updateSecretDescription({ secretId, description, state, }: { secretId: string; description: string; state: State; }): Promise; //# sourceMappingURL=SecretsOps.d.ts.map