/* Do not change, this code is generated from Golang structs */ import { FieldConfig } from '@grafana/data'; export interface ChannelAuthCheckConfig { role?: string; } export interface ChannelAuthConfig { subscribe?: ChannelAuthCheckConfig; publish?: ChannelAuthCheckConfig; } export interface ChangeLogOutputConfig { fieldName: string; channel: string; } export interface RemoteWriteOutputConfig { uid: string; sampleMilliseconds: number; } export interface ThresholdOutputConfig { fieldName: string; channel: string; } export interface NumberCompareFrameConditionConfig { fieldName: string; op: string; value: number; } export interface MultipleFrameConditionCheckerConfig { conditionType: string; conditions: FrameConditionCheckerConfig[]; } export interface FrameConditionCheckerConfig { type: Omit; multiple?: MultipleFrameConditionCheckerConfig; numberCompare?: NumberCompareFrameConditionConfig; } export interface ConditionalOutputConfig { condition?: FrameConditionCheckerConfig; output?: FrameOutputterConfig; } export interface RedirectOutputConfig { channel: string; } export interface MultipleOutputterConfig { outputs: FrameOutputterConfig[]; } export interface ManagedStreamOutputConfig {} export interface FrameOutputterConfig { type: Omit; managedStream?: ManagedStreamOutputConfig; multiple?: MultipleOutputterConfig; redirect?: RedirectOutputConfig; conditional?: ConditionalOutputConfig; threshold?: ThresholdOutputConfig; remoteWrite?: RemoteWriteOutputConfig; loki?: LokiOutputConfig; changeLog?: ChangeLogOutputConfig; } export interface MultipleFrameProcessorConfig { processors: FrameProcessorConfig[]; } export interface KeepFieldsFrameProcessorConfig { fieldNames: string[]; } export interface DropFieldsFrameProcessorConfig { fieldNames: string[]; } export interface FrameProcessorConfig { type: Omit; dropFields?: DropFieldsFrameProcessorConfig; keepFields?: KeepFieldsFrameProcessorConfig; multiple?: MultipleFrameProcessorConfig; } export interface JsonFrameConverterConfig {} export interface AutoInfluxConverterConfig { frameFormat: string; } export interface ExactJsonConverterConfig { fields: Field[]; } export interface Label { name: string; value: string; } export interface Field { name: string; type: number; value: string; labels?: Label[]; config?: FieldConfig; } export interface AutoJsonConverterConfig { fieldTips?: { [key: string]: Field }; } export interface ConverterConfig { type: Omit; jsonAuto?: AutoJsonConverterConfig; jsonExact?: ExactJsonConverterConfig; influxAuto?: AutoInfluxConverterConfig; jsonFrame?: JsonFrameConverterConfig; } export interface LokiOutputConfig { uid: string; } export interface RedirectDataOutputConfig { channel: string; } export interface DataOutputterConfig { type: Omit; redirect?: RedirectDataOutputConfig; loki?: LokiOutputConfig; } export interface MultipleSubscriberConfig { subscribers: SubscriberConfig[]; } export interface SubscriberConfig { type: Omit; multiple?: MultipleSubscriberConfig; } export interface ChannelRuleSettings { auth?: ChannelAuthConfig; subscribers?: SubscriberConfig[]; dataOutputs?: DataOutputterConfig[]; converter?: ConverterConfig; frameProcessors?: FrameProcessorConfig[]; frameOutputs?: FrameOutputterConfig[]; } export interface ChannelRule { pattern: string; settings: ChannelRuleSettings; }