/// import type { StateService } from '@uirouter/core'; import type { IQService, ITimeoutService } from 'angular'; import type { Application } from '../../application/application.model'; import type { ApplicationDataSource } from '../../application/service/applicationDataSource'; import type { IExecution } from '../../domain'; import type { IPipeline } from '../../domain/IPipeline'; import type { IRetryablePromise } from '../../utils/retryablePromise'; export declare class ExecutionService { private $q; private $state; private $timeout; get activeStatuses(): string[]; private runningLimit; private ignoredStringValFields; constructor($q: IQService, $state: StateService, $timeout: ITimeoutService); getRunningExecutions(applicationName: string): PromiseLike; private getFilteredExecutions; /** * Returns a filtered list of executions for the given application * @param {string} applicationName the name of the application * @param {Application} application: if supplied, and pipeline parameters are present on the filter model, the * application will be used to correlate and filter the retrieved executions to only include those pipelines * @param {boolean} expand: if true, the resulting executions will include fully hydrated context, outputs, and tasks * fields * @return {} */ getExecutions(applicationName: string, application?: Application, expand?: boolean): PromiseLike; getExecution(executionId: string, pipelineConfigs?: IPipeline[]): PromiseLike; transformExecutions(application: Application, executions: IExecution[], currentData?: IExecution[]): void; private getConfigIdsFromFilterModel; private cleanExecutionForDiffing; toggleDetails(execution: IExecution, stageIndex: number, subIndex: number): void; private removeInstances; startAndMonitorPipeline(app: Application, pipeline: string, trigger: any): PromiseLike>; waitUntilTriggeredPipelineAppears(application: Application, triggeredPipelineId: string): IRetryablePromise; private waitUntilPipelineIsCancelled; private waitUntilPipelineIsDeleted; cancelExecution(application: Application, executionId: string, force?: boolean, reason?: string): PromiseLike; pauseExecution(application: Application, executionId: string): PromiseLike; resumeExecution(application: Application, executionId: string): PromiseLike; deleteExecution(application: Application, executionId: string): PromiseLike; waitUntilExecutionMatches(executionId: string, matchPredicate: (execution: IExecution) => boolean): PromiseLike; getSectionCacheKey(groupBy: string, application: string, heading: string): string; getProjectExecutions(project: string, limit?: number): PromiseLike; addExecutionsToApplication(application: Application, executions?: IExecution[]): IExecution[]; mergeRunningExecutionsIntoExecutions(application: Application): void; removeCompletedExecutionsFromRunningData(application: Application): void; updateExecution(application: Application, updatedExecution: IExecution, dataSource?: ApplicationDataSource): void; /** * Fetches a fully hydrated execution, then assigns all its values to the supplied execution. * If the execution is already hydrated, the operation does not re-fetch the execution. * * If this method is called multiple times, only the first call performs the fetch; * subsequent calls will return the promise produced by the first call. * * This is a mutating operation - it fills the context, outputs, and tasks on the stages of the unhydrated execution. * @param application the application owning the execution; needed because the stupid * transformExecution requires it. * @param unhydrated the execution to hydrate (which may already be hydrated) * @return a Promise, which resolves with the execution itself. */ hydrate(application: Application, unhydrated: IExecution): Promise; getLastExecutionForApplicationByConfigId(appName: string, configId: string): PromiseLike; /** * Returns a list of recent executions for the supplied set of IDs, optionally filtered by status * @param {string[]} pipelineConfigIds the pipeline config IDs * @param {{limit?: number; statuses?: string; transform?: boolean; application?: Application}} options: * transform: if true - and the application option is set, the execution transformer will run on each result (default: false) * application: if transform is true, the application to use when transforming the executions (default: null) * limit: the number of executions per config ID to retrieve (default: whatever Gate sets) * statuses: an optional set of execution statuses (default: all) * @return {PromiseLike} */ getExecutionsForConfigIds(pipelineConfigIds: string[], options?: { limit?: number; statuses?: string; transform?: boolean; application?: Application; }): PromiseLike; patchExecution(executionId: string, stageId: string, data: any): PromiseLike; private stringifyExecution; private stringify; } export declare const EXECUTION_SERVICE = "spinnaker.core.pipeline.executions.service";