@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
163 lines • 5.51 kB
TypeScript
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<PagedResult<SecretSkeleton>>} a promise that resolves to an array of secrets
*/
export declare function getSecrets({ state, }: {
state: State;
}): Promise<PagedResult<SecretSkeleton>>;
/**
* Get secret
* @param secretId secret id/name
* @returns {Promise<SecretSkeleton>} a promise that resolves to a secret
*/
export declare function getSecret({ secretId, state, }: {
secretId: string;
state: State;
}): Promise<SecretSkeleton>;
/**
* 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<SecretSkeleton>} 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<SecretSkeleton>;
/**
* Set secret description
* @param {string} secretId secret id/name
* @param {string} description secret description
* @returns {Promise<any>} a promise that resolves to an empty string
*/
export declare function setSecretDescription({ secretId, description, state, }: {
secretId: string;
description: string;
state: State;
}): Promise<any>;
/**
* Delete secret
* @param {string} secretId secret id/name
* @returns {Promise<unknown>} a promise that resolves to a secret object
*/
export declare function deleteSecret({ secretId, state, }: {
secretId: string;
state: State;
}): Promise<any>;
/**
* Get secret versions
* @param {string} secretId secret id/name
* @returns {Promise<VersionOfSecretSkeleton[]>} a promise that resolves to an array of secret versions
*/
export declare function getSecretVersions({ secretId, state, }: {
secretId: string;
state: State;
}): Promise<VersionOfSecretSkeleton[]>;
/**
* Create new secret version
* @param {string} secretId secret id/name
* @param {string} value secret value
* @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object
*/
export declare function createNewVersionOfSecret({ secretId, value, state, }: {
secretId: string;
value: string;
state: State;
}): Promise<VersionOfSecretSkeleton>;
/**
* Get version of secret
* @param {string} secretId secret id/name
* @param {string} version secret version
* @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object
*/
export declare function getVersionOfSecret({ secretId, version, state, }: {
secretId: string;
version: string;
state: State;
}): Promise<VersionOfSecretSkeleton>;
/**
* 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<VersionOfSecretSkeleton>} 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<VersionOfSecretSkeleton>;
/**
* Delete version of secret
* @param {string} secretId secret id/name
* @param {string} version secret version
* @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object
*/
export declare function deleteVersionOfSecret({ secretId, version, state, }: {
secretId: string;
version: string;
state: State;
}): Promise<VersionOfSecretSkeleton>;
//# sourceMappingURL=SecretsApi.d.ts.map