import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1CRIStageSpec } from "./CRIStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1DockerStageSpec } from "./DockerStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1DropStageSpec } from "./DropStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1JSONStageSpec } from "./JSONStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1LimitStageSpec } from "./LimitStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MatchStageSpec } from "./MatchStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MetricsStageSpec } from "./MetricsStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MultilineStageSpec } from "./MultilineStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1OutputStageSpec } from "./OutputStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1PackStageSpec } from "./PackStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1RegexStageSpec } from "./RegexStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1ReplaceStageSpec } from "./ReplaceStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1TemplateStageSpec } from "./TemplateStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1TenantStageSpec } from "./TenantStageSpec.js"; import { IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1TimestampStageSpec } from "./TimestampStageSpec.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * PipelineStageSpec defines an individual pipeline stage. Each stage type is * mutually exclusive and no more than one may be set per stage. * * More information on pipelines can be found in the Promtail documentation: * https://grafana.com/docs/loki/latest/clients/promtail/pipelines/ */ export interface IPipelineStageSpec { /** * CRI is a parsing stage that reads log lines using the standard * CRI logging format. Supply cri: {} to enable. */ "cri"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1CRIStageSpec; /** * Docker is a parsing stage that reads log lines using the standard * Docker logging format. Supply docker: {} to enable. */ "docker"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1DockerStageSpec; /** * Drop is a filtering stage that lets you drop certain logs. */ "drop"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1DropStageSpec; /** * JSON is a parsing stage that reads the log line as JSON and accepts * JMESPath expressions to extract data. * * Information on JMESPath: http://jmespath.org/ */ "json"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1JSONStageSpec; /** * LabelAllow is an action stage that only allows the provided labels to be * included in the label set that is sent to Loki with the log entry. */ "labelAllow"?: Array; /** * LabelDrop is an action stage that drops labels from the label set that * is sent to Loki with the log entry. */ "labelDrop"?: Array; /** * Labels is an action stage that takes data from the extracted map and * modifies the label set that is sent to Loki with the log entry. * * The key is REQUIRED and represents the name for the label that will * be created. Value is optional and will be the name from extracted data * to use for the value of the label. If the value is not provided, it * defaults to match the key. */ "labels"?: { [key: string]: string; }; /** * Limit is a rate-limiting stage that throttles logs based on * several options. */ "limit"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1LimitStageSpec; /** * Match is a filtering stage that conditionally applies a set of stages * or drop entries when a log entry matches a configurable LogQL stream * selector and filter expressions. */ "match"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MatchStageSpec; /** * Metrics is an action stage that supports defining and updating metrics * based on data from the extracted map. Created metrics are not pushed to * Loki or Prometheus and are instead exposed via the /metrics endpoint of * the Grafana Agent pod. The Grafana Agent Operator should be configured * with a MetricsInstance that discovers the logging DaemonSet to collect * metrics created by this stage. */ "metrics"?: { [key: string]: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MetricsStageSpec; }; /** * Multiline stage merges multiple lines into a multiline block before * passing it on to the next stage in the pipeline. */ "multiline"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MultilineStageSpec; /** * Output stage is an action stage that takes data from the extracted map and * changes the log line that will be sent to Loki. */ "output"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1OutputStageSpec; /** * Pack is a transform stage that lets you embed extracted values and labels * into the log line by packing the log line and labels inside of a JSON * object. */ "pack"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1PackStageSpec; /** * Regex is a parsing stage that parses a log line using a regular * expression. Named capture groups in the regex allows for adding data into * the extracted map. */ "regex"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1RegexStageSpec; /** * Replace is a parsing stage that parses a log line using a regular * expression and replaces the log line. Named capture groups in the regex * allows for adding data into the extracted map. */ "replace"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1ReplaceStageSpec; /** * Template is a transform stage that manipulates the values in the extracted * map using Go's template syntax. */ "template"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1TemplateStageSpec; /** * Tenant is an action stage that sets the tenant ID for the log entry picking it from a * field in the extracted data map. If the field is missing, the default * LogsClientSpec.tenantId will be used. */ "tenant"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1TenantStageSpec; /** * Timestamp is an action stage that can change the timestamp of a log line * before it is sent to Loki. If not present, the timestamp of a log line * defaults to the time when the log line was read. */ "timestamp"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1TimestampStageSpec; } /** * PipelineStageSpec defines an individual pipeline stage. Each stage type is * mutually exclusive and no more than one may be set per stage. * * More information on pipelines can be found in the Promtail documentation: * https://grafana.com/docs/loki/latest/clients/promtail/pipelines/ */ export declare class PipelineStageSpec extends Model implements IPipelineStageSpec { "cri"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1CRIStageSpec; "docker"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1DockerStageSpec; "drop"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1DropStageSpec; "json"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1JSONStageSpec; "labelAllow"?: Array; "labelDrop"?: Array; "labels"?: { [key: string]: string; }; "limit"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1LimitStageSpec; "match"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MatchStageSpec; "metrics"?: { [key: string]: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MetricsStageSpec; }; "multiline"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1MultilineStageSpec; "output"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1OutputStageSpec; "pack"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1PackStageSpec; "regex"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1RegexStageSpec; "replace"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1ReplaceStageSpec; "template"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1TemplateStageSpec; "tenant"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1TenantStageSpec; "timestamp"?: IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1TimestampStageSpec; constructor(data?: ModelData); } export type { IPipelineStageSpec as IComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1PipelineStageSpec, PipelineStageSpec as ComGithubGrafanaAgentPkgOperatorApisMonitoringV1alpha1PipelineStageSpec };