import { State } from '../../shared/State'; import { IdObjectSkeletonInterface, PagedResult } from '../ApiTypes'; /** * Secret encoding * * @summary * You can use the encoding parameter to set an encoding format when you create an ESV secret. * You can only choose an encoding format using the API. The UI currently creates secrets only * with the generic encoding format. * * @see * {@link https://backstage.forgerock.com/docs/idcloud/latest/tenants/esvs.html#encoding_format | ForgeRock Documentation} */ export type SecretEncodingType = 'generic' | 'pem' | 'base64hmac' | 'base64aes'; /** * Secret object skeleton */ export type SecretSkeleton = IdObjectSkeletonInterface & { description: string; encoding: SecretEncodingType; lastChangedBy?: string; lastChangeDate?: string; useInPlaceholders: boolean; loaded?: boolean; loadedVersion?: string; activeVersion?: string; activeValue?: any; }; export type VersionOfSecretStatus = 'DISABLED' | 'ENABLED' | 'DESTROYED'; /** * Secret version skeleton */ export type VersionOfSecretSkeleton = IdObjectSkeletonInterface & { /** * Base64-encoded value. Only used when creating a new version of a secret */ valueBase64?: string; /** * Version string. Returned when reading a version of a secret */ version?: string; /** * Date string. Returned when reading a version of a secret */ createDate?: string; /** * True if loaded, false otherwise. Returned when reading a version of a secret */ loaded?: boolean; /** * Status string. Returned when reading a version of a secret */ status?: VersionOfSecretStatus; }; /** * Get all secrets * @returns {Promise>} a promise that resolves to an array of secrets */ export declare function getSecrets({ state, }: { state: State; }): Promise>; /** * Get secret * @param secretId secret id/name * @returns {Promise} a promise that resolves to a secret */ export declare function getSecret({ secretId, state, }: { secretId: string; state: State; }): 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 */ export declare function putSecret({ secretId, value, description, encoding, useInPlaceholders, state, }: { secretId: string; value: string; description: string; encoding?: string; useInPlaceholders?: boolean; state: State; }): 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 */ export declare function setSecretDescription({ secretId, description, state, }: { secretId: string; description: string; state: State; }): Promise; /** * Delete secret * @param {string} secretId secret id/name * @returns {Promise} a promise that resolves to a secret object */ export declare function deleteSecret({ secretId, state, }: { secretId: string; state: State; }): Promise; /** * Get secret versions * @param {string} secretId secret id/name * @returns {Promise} a promise that resolves to an array of secret versions */ export declare function getSecretVersions({ secretId, state, }: { secretId: string; state: State; }): 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 */ export declare function createNewVersionOfSecret({ secretId, value, state, }: { secretId: string; value: string; state: State; }): 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 */ export declare function getVersionOfSecret({ secretId, version, state, }: { secretId: string; version: string; state: State; }): 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 */ export declare function setStatusOfVersionOfSecret({ secretId, version, status, state, }: { secretId: string; version: string; status: VersionOfSecretStatus; state: State; }): 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 */ export declare function deleteVersionOfSecret({ secretId, version, state, }: { secretId: string; version: string; state: State; }): Promise; //# sourceMappingURL=SecretsApi.d.ts.map