UNPKG

@kubernetes-models/argo-rollouts

Version:
87 lines (86 loc) 4.4 kB
import { IIoK8sApimachineryPkgUtilIntstrIntOrString } from "@kubernetes-models/apimachinery/util/intstr/IntOrString"; import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString } from "./DurationString.js"; import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider } from "./MetricProvider.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * Metric defines a metric in which to perform analysis */ export interface IMetric { /** * ConsecutiveErrorLimit is the maximum number of times the measurement is allowed to error in * succession, before the metric is considered error (default: 4) */ "consecutiveErrorLimit"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; /** * ConsecutiveSuccessLimit is the number of consecutive times the measurement must succeed for the * entire metric to be considered Successful (default: 0, which means it's disabled) */ "consecutiveSuccessLimit"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; /** * Count is the number of times to run the measurement. If both interval and count are omitted, * the effective count is 1. If only interval is specified, metric runs indefinitely. * If count > 1, interval must be specified. */ "count"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; /** * FailureCondition is an expression which determines if a measurement is considered failed * If both success and failure conditions are specified, and the measurement does not fall into * either condition, the measurement is considered Inconclusive */ "failureCondition"?: string; /** * FailureLimit is the maximum number of times the measurement is allowed to fail, before the * entire metric is considered Failed (default: 0) * -1 for making it disabled (when opting to use ConsecutiveSuccessLimit solely) */ "failureLimit"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; /** * InconclusiveLimit is the maximum number of times the measurement is allowed to measure * Inconclusive, before the entire metric is considered Inconclusive (default: 0) */ "inconclusiveLimit"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; /** * InitialDelay how long the AnalysisRun should wait before starting this metric */ "initialDelay"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString; /** * Interval defines an interval string (e.g. 30s, 5m, 1h) between each measurement. * If omitted, will perform a single measurement */ "interval"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString; /** * Name is the name of the metric */ "name": string; /** * Provider configuration to the external system to use to verify the analysis */ "provider": IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider; /** * SuccessCondition is an expression which determines if a measurement is considered successful * Expression is a goevaluate expression. The keyword `result` is a variable reference to the * value of measurement. Results can be both structured data or primitive. * Examples: * result > 10 * (result.requests_made \* result.requests_succeeded / 100) >= 90 */ "successCondition"?: string; } /** * Metric defines a metric in which to perform analysis */ export declare class Metric extends Model<IMetric> implements IMetric { "consecutiveErrorLimit"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; "consecutiveSuccessLimit"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; "count"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; "failureCondition"?: string; "failureLimit"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; "inconclusiveLimit"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; "initialDelay"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString; "interval"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString; "name": string; "provider": IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MetricProvider; "successCondition"?: string; constructor(data?: ModelData<IMetric>); } export type { IMetric as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Metric, Metric as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Metric };