@kubernetes-models/argo-rollouts
Version:
97 lines (96 loc) • 4.58 kB
TypeScript
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunStrategy } from "./AnalysisRunStrategy.js";
import { IIoK8sApimachineryPkgApisMetaV1Time } from "@kubernetes-models/apimachinery/apis/meta/v1/Time";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RollbackWindowSpec } from "./RollbackWindowSpec.js";
import { IIoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/apis/meta/v1/LabelSelector";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutStrategy } from "./RolloutStrategy.js";
import { IIoK8sApiCoreV1PodTemplateSpec } from "kubernetes-models/v1/PodTemplateSpec";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ObjectRef } from "./ObjectRef.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
* RolloutSpec is the spec for a Rollout resource
*/
export interface IRolloutSpec {
/**
* Analysis configuration for the analysis runs to retain
*/
"analysis"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunStrategy;
/**
* Minimum number of seconds for which a newly created pod should be ready
* without any of its container crashing, for it to be considered available.
* Defaults to 0 (pod will be considered available as soon as it is ready)
*/
"minReadySeconds"?: number;
/**
* Paused pauses the rollout at its current step.
*/
"paused"?: boolean;
/**
* ProgressDeadlineAbort is whether to abort the update when ProgressDeadlineSeconds
* is exceeded.
*/
"progressDeadlineAbort"?: boolean;
/**
* ProgressDeadlineSeconds The maximum time in seconds for a rollout to
* make progress before it is considered to be failed. Argo Rollouts will
* continue to process failed rollouts and a condition with a
* ProgressDeadlineExceeded reason will be surfaced in the rollout status.
* Note that progress will not be estimated during the time a rollout is paused.
* Defaults to 600s.
*/
"progressDeadlineSeconds"?: number;
/**
* Number of desired pods. This is a pointer to distinguish between explicit
* zero and not specified. Defaults to 1.
*/
"replicas"?: number;
/**
* RestartAt indicates when all the pods of a Rollout should be restarted
*/
"restartAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
/**
* The number of old ReplicaSets to retain. If unspecified, will retain 10 old ReplicaSets
*/
"revisionHistoryLimit"?: number;
/**
* The window in which a rollback will be fast tracked (fully promoted)
*/
"rollbackWindow"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RollbackWindowSpec;
/**
* Label selector for pods. Existing ReplicaSets whose pods are
* selected by this will be the ones affected by this rollout.
* It must match the pod template's labels.
*/
"selector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
/**
* The deployment strategy to use to replace existing pods with new ones.
*/
"strategy"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutStrategy;
/**
* Template describes the pods that will be created.
*/
"template"?: IIoK8sApiCoreV1PodTemplateSpec;
/**
* WorkloadRef holds a references to a workload that provides Pod template
*/
"workloadRef"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ObjectRef;
}
/**
* RolloutSpec is the spec for a Rollout resource
*/
export declare class RolloutSpec extends Model<IRolloutSpec> implements IRolloutSpec {
"analysis"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunStrategy;
"minReadySeconds"?: number;
"paused"?: boolean;
"progressDeadlineAbort"?: boolean;
"progressDeadlineSeconds"?: number;
"replicas"?: number;
"restartAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
"revisionHistoryLimit"?: number;
"rollbackWindow"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RollbackWindowSpec;
"selector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
"strategy"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutStrategy;
"template"?: IIoK8sApiCoreV1PodTemplateSpec;
"workloadRef"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ObjectRef;
constructor(data?: ModelData<IRolloutSpec>);
}
export type { IRolloutSpec as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutSpec, RolloutSpec as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutSpec };