@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
175 lines • 7.55 kB
TypeScript
import { type LockResponse, type LockStatus, type PromotionReport, type PromotionReportStub, type PromotionRequestConfig, type PromotionResponse, type PromotionStatus, type RollbackConfig, type RollbackResponse } from '../../api/cloud/EnvPromotionApi';
import { State } from '../../shared/State';
export type EnvPromotion = {
/**
* Lock environment
* @returns {Promise<LockResponse>} a promise that resolves to a LockResponse object.
*/
lockEnvironment(): Promise<LockResponse>;
/**
* Unlock environment
* @param {string} promotionId Promotion id.
* @returns {Promise<LockResponse>} a promise that resolves to a LockResponse object
*/
unlockEnvironment(promotionId: string): Promise<LockResponse>;
/**
* Read lock status
* @returns {Promise<LockStatus>} a promise that resolves to a LockStatus object
*/
readLockStatus(): Promise<LockStatus>;
/**
* Promote configuration
* @param {PromotionRequestConfig} config Promotion request config
* @returns {Promise<PromotionResponse>} a promise that resolves to a PromotionResponse object.
*/
promoteConfiguration(config: PromotionRequestConfig): Promise<PromotionResponse>;
/**
* Read promotion status
* @returns {Promise<PromotionStatus>} a promise that resolves to a PromotionStatus object
*/
readPromotionStatus(): Promise<PromotionStatus>;
/**
* Read last promotion report
* @returns {Promise<PromotionReport>} a promise that resolves to a PromotionReport object
*/
readLastPromotionReport(): Promise<PromotionReport>;
/**
* Read promotion report
* @param {string} reportId Promotion id
* @returns {Promise<PromotionReport>} a promise that resolves to a PromotionReport object
*/
readPromotionReport(reportId: string): Promise<PromotionReport>;
/**
* Run a provisional report of changes since the last time the lower environment was promoted to the upper environment.
* The report generated is for informational purposes only and may not reflect all the changes in a full promotion.
* A dry-run promotion is always recommended prior to a full promotion between environments.
* @returns {Promise<PromotionReport>} a promise that resolves to a PromotionReport object
*/
runProvisionalPromotionReport(): Promise<PromotionReport>;
/**
* Run a provisional rollback report of changes when we rollback the configuration to the previous promotion.
* @returns {Promise<PromotionReport>} a promise that resolves to a PromotionReport object
*/
runProvisionalRollbackReport(): Promise<PromotionReport>;
/**
* Read a list of promotion reports in date order.
* @returns {Promise<PromotionReportStub[]>} a promise that resolves to an array of PromotionReportStub objects
*/
readPromotionReports(): Promise<PromotionReportStub[]>;
/**
* Rollback a promotion
* @param {RollbackConfig} config Rollback config
* @returns {Promise<RollbackResponse>} a promise that resolves to a RollbackResponse object.
*/
rollbackPromotion(config: RollbackConfig): Promise<RollbackResponse>;
};
declare const _default: (state: State) => EnvPromotion;
export default _default;
/**
* Lock environment
* @param {Object} params Parameters object.
* @param {State} params.state State object.
* @returns {Promise<LockResponse>} a promise that resolves to a LockResponse object.
*/
export declare function lockEnvironment({ state, }: {
state: State;
}): Promise<LockResponse>;
/**
* Unlock environment
* @param {Object} params Parameters object.
* @param {string} params.promotionId Promotion id.
* @param {State} params.state State object.
* @returns {Promise<LockResponse>} a promise that resolves to a LockResponse object
*/
export declare function unlockEnvironment({ promotionId, state, }: {
promotionId: string;
state: State;
}): Promise<LockResponse>;
/**
* Read lock status
* @returns {Promise<LockStatus>} a promise that resolves to a LockStatus object
*/
export declare function readLockStatus({ state, }: {
state: State;
}): Promise<LockStatus>;
/**
* Promote configuration
* @param {Object} params Parameters object.
* @param {PromotionRequestConfig} params.config Promotion request config
* @param {State} params.state State object.
* @returns {Promise<PromotionResponse>} a promise that resolves to a PromotionResponse object.
*/
export declare function promoteConfiguration({ config, state, }: {
config: PromotionRequestConfig;
state: State;
}): Promise<PromotionResponse>;
/**
* Read promotion status
* @param {Object} params Parameters object.
* @param {State} params.state State object.
* @returns {Promise<PromotionStatus>} a promise that resolves to a PromotionStatus object
*/
export declare function readPromotionStatus({ state, }: {
state: State;
}): Promise<PromotionStatus>;
/**
* Read last promotion report
* @param {Object} params Parameters object.
* @param {State} params.state State object.
* @returns {Promise<PromotionReport>} a promise that resolves to a PromotionReport object
*/
export declare function readLastPromotionReport({ state, }: {
state: State;
}): Promise<PromotionReport>;
/**
* Read promotion report
* @param {Object} params Parameters object.
* @param {string} params.reportId Promotion id
* @param {State} params.state State object.
* @returns {Promise<PromotionReport>} a promise that resolves to a PromotionReport object
*/
export declare function readPromotionReport({ reportId, state, }: {
reportId: string;
state: State;
}): Promise<PromotionReport>;
/**
* Run a provisional report of changes since the last time the lower environment was promoted to the upper environment.
* The report generated is for informational purposes only and may not reflect all the changes in a full promotion.
* A dry-run promotion is always recommended prior to a full promotion between environments.
* @param {Object} params Parameters object.
* @param {State} params.state State object.
* @returns {Promise<PromotionReport>} a promise that resolves to a PromotionReport object
*/
export declare function runProvisionalPromotionReport({ state, }: {
state: State;
}): Promise<PromotionReport>;
/**
* Run a provisional rollback report of changes when we rollback the configuration to the previous promotion.
* @param {Object} params Parameters object.
* @param {State} params.state State object.
* @returns {Promise<PromotionReport>} a promise that resolves to a PromotionReport object
*/
export declare function runProvisionalRollbackReport({ state, }: {
state: State;
}): Promise<PromotionReport>;
/**
* Read a list of promotion reports in date order.
* @param {Object} params Parameters object.
* @param {State} params.state State object.
* @returns {Promise<PromotionReportStub[]>} a promise that resolves to an array of PromotionReportStub objects
*/
export declare function readPromotionReports({ state, }: {
state: State;
}): Promise<PromotionReportStub[]>;
/**
* Rollback a promotion
* @param {Object} params Parameters object.
* @param {RollbackConfig} params.config Rollback config
* @param {State} params.state State object.
* @returns {Promise<RollbackResponse>} a promise that resolves to a RollbackResponse object.
*/
export declare function rollbackPromotion({ config, state, }: {
config: RollbackConfig;
state: State;
}): Promise<RollbackResponse>;
//# sourceMappingURL=EnvPromotionOps.d.ts.map