@kubernetes-models/argo-rollouts
Version:
74 lines (73 loc) • 4.21 kB
TypeScript
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentAnalysisTemplateRef } from "./ExperimentAnalysisTemplateRef.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunMetadata } from "./AnalysisRunMetadata.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DryRun } from "./DryRun.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString } from "./DurationString.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MeasurementRetention } from "./MeasurementRetention.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateSpec } from "./TemplateSpec.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
* ExperimentSpec is the spec for a Experiment resource
*/
export interface IExperimentSpec {
/**
* Analyses references AnalysisTemplates to run during the experiment
*/
"analyses"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentAnalysisTemplateRef>;
/**
* AnalysisRunMetadata labels and annotations that will be added to the AnalysisRuns
*/
"analysisRunMetadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunMetadata;
/**
* DryRun object contains the settings for running the analysis in Dry-Run mode
*/
"dryRun"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DryRun>;
/**
* Duration the amount of time for the experiment to run as a duration string (e.g. 30s, 5m, 1h).
* If omitted, the experiment will run indefinitely, stopped either via termination, or a failed analysis run.
*/
"duration"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString;
/**
* MeasurementRetention object contains the settings for retaining the number of measurements during the analysis
*/
"measurementRetention"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MeasurementRetention>;
/**
* ProgressDeadlineSeconds The maximum time in seconds for a experiment to
* make progress before it is considered to be failed. Argo Rollouts will
* continue to process failed experiments and a condition with a
* ProgressDeadlineExceeded reason will be surfaced in the experiment status.
* Defaults to 600s.
*/
"progressDeadlineSeconds"?: number;
/**
* ScaleDownDelaySeconds adds a delay before scaling down the Experiment.
* If omitted, the Experiment waits 30 seconds before scaling down.
* A minimum of 30 seconds is recommended to ensure IP table propagation across the nodes in
* a cluster. See https://github.com/argoproj/argo-rollouts/issues/19#issuecomment-476329960 for
* more information
*/
"scaleDownDelaySeconds"?: number;
/**
* Templates are a list of PodSpecs that define the ReplicaSets that should be run during an experiment.
*/
"templates": Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateSpec>;
/**
* Terminate is used to prematurely stop the experiment
*/
"terminate"?: boolean;
}
/**
* ExperimentSpec is the spec for a Experiment resource
*/
export declare class ExperimentSpec extends Model<IExperimentSpec> implements IExperimentSpec {
"analyses"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentAnalysisTemplateRef>;
"analysisRunMetadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunMetadata;
"dryRun"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DryRun>;
"duration"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString;
"measurementRetention"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MeasurementRetention>;
"progressDeadlineSeconds"?: number;
"scaleDownDelaySeconds"?: number;
"templates": Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateSpec>;
"terminate"?: boolean;
constructor(data?: ModelData<IExperimentSpec>);
}
export type { IExperimentSpec as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentSpec, ExperimentSpec as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentSpec };