import { IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1LabelName } from "./LabelName.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * RelabelConfig allows dynamic rewriting of the label set for targets, alerts, * scraped samples and remote write samples. * * More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config */ export interface IRelabelConfig { /** * action to perform based on the regex matching. * * `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0. * `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0. * * Default: "Replace" */ "action"?: "replace" | "Replace" | "keep" | "Keep" | "drop" | "Drop" | "hashmod" | "HashMod" | "labelmap" | "LabelMap" | "labeldrop" | "LabelDrop" | "labelkeep" | "LabelKeep" | "lowercase" | "Lowercase" | "uppercase" | "Uppercase" | "keepequal" | "KeepEqual" | "dropequal" | "DropEqual"; /** * modulus to take of the hash of the source label values. * * Only applicable when the action is `HashMod`. */ "modulus"?: number; /** * regex defines the regular expression against which the extracted value is matched. */ "regex"?: string; /** * replacement value against which a Replace action is performed if the * regular expression matches. * * Regex capture groups are available. */ "replacement"?: string; /** * separator defines the string between concatenated SourceLabels. */ "separator"?: string; /** * sourceLabels defines the source labels select values from existing labels. Their content is * concatenated using the configured Separator and matched against the * configured regular expression. */ "sourceLabels"?: Array; /** * targetLabel defines the label to which the resulting string is written in a replacement. * * It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, * `KeepEqual` and `DropEqual` actions. * * Regex capture groups are available. */ "targetLabel"?: string; } /** * RelabelConfig allows dynamic rewriting of the label set for targets, alerts, * scraped samples and remote write samples. * * More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config */ export declare class RelabelConfig extends Model implements IRelabelConfig { "action"?: "replace" | "Replace" | "keep" | "Keep" | "drop" | "Drop" | "hashmod" | "HashMod" | "labelmap" | "LabelMap" | "labeldrop" | "LabelDrop" | "labelkeep" | "LabelKeep" | "lowercase" | "Lowercase" | "uppercase" | "Uppercase" | "keepequal" | "KeepEqual" | "dropequal" | "DropEqual"; "modulus"?: number; "regex"?: string; "replacement"?: string; "separator"?: string; "sourceLabels"?: Array; "targetLabel"?: string; constructor(data?: ModelData); } export type { IRelabelConfig as IComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1RelabelConfig, RelabelConfig as ComGithubPrometheusOperatorPrometheusOperatorPkgApisMonitoringV1RelabelConfig };