1/* Do not change, this code is generated from Golang structs */ 2 3import { FieldConfig } from '@grafana/data'; 4 5export interface ChannelAuthCheckConfig { 6 role?: string; 7} 8export interface ChannelAuthConfig { 9 subscribe?: ChannelAuthCheckConfig; 10 publish?: ChannelAuthCheckConfig; 11} 12export interface ChangeLogOutputConfig { 13 fieldName: string; 14 channel: string; 15} 16export interface RemoteWriteOutputConfig { 17 uid: string; 18 sampleMilliseconds: number; 19} 20export interface ThresholdOutputConfig { 21 fieldName: string; 22 channel: string; 23} 24export interface NumberCompareFrameConditionConfig { 25 fieldName: string; 26 op: string; 27 value: number; 28} 29export interface MultipleFrameConditionCheckerConfig { 30 conditionType: string; 31 conditions: FrameConditionCheckerConfig[]; 32} 33export interface FrameConditionCheckerConfig { 34 type: Omit<keyof FrameConditionCheckerConfig, 'type'>; 35 multiple?: MultipleFrameConditionCheckerConfig; 36 numberCompare?: NumberCompareFrameConditionConfig; 37} 38export interface ConditionalOutputConfig { 39 condition?: FrameConditionCheckerConfig; 40 output?: FrameOutputterConfig; 41} 42export interface RedirectOutputConfig { 43 channel: string; 44} 45export interface MultipleOutputterConfig { 46 outputs: FrameOutputterConfig[]; 47} 48export interface ManagedStreamOutputConfig {} 49export interface FrameOutputterConfig { 50 type: Omit<keyof FrameOutputterConfig, 'type'>; 51 managedStream?: ManagedStreamOutputConfig; 52 multiple?: MultipleOutputterConfig; 53 redirect?: RedirectOutputConfig; 54 conditional?: ConditionalOutputConfig; 55 threshold?: ThresholdOutputConfig; 56 remoteWrite?: RemoteWriteOutputConfig; 57 loki?: LokiOutputConfig; 58 changeLog?: ChangeLogOutputConfig; 59} 60export interface MultipleFrameProcessorConfig { 61 processors: FrameProcessorConfig[]; 62} 63export interface KeepFieldsFrameProcessorConfig { 64 fieldNames: string[]; 65} 66export interface DropFieldsFrameProcessorConfig { 67 fieldNames: string[]; 68} 69export interface FrameProcessorConfig { 70 type: Omit<keyof FrameProcessorConfig, 'type'>; 71 dropFields?: DropFieldsFrameProcessorConfig; 72 keepFields?: KeepFieldsFrameProcessorConfig; 73 multiple?: MultipleFrameProcessorConfig; 74} 75export interface JsonFrameConverterConfig {} 76export interface AutoInfluxConverterConfig { 77 frameFormat: string; 78} 79export interface ExactJsonConverterConfig { 80 fields: Field[]; 81} 82export interface Label { 83 name: string; 84 value: string; 85} 86export interface Field { 87 name: string; 88 type: number; 89 value: string; 90 labels?: Label[]; 91 config?: FieldConfig; 92} 93export interface AutoJsonConverterConfig { 94 fieldTips?: { [key: string]: Field }; 95} 96export interface ConverterConfig { 97 type: Omit<keyof ConverterConfig, 'type'>; 98 jsonAuto?: AutoJsonConverterConfig; 99 jsonExact?: ExactJsonConverterConfig; 100 influxAuto?: AutoInfluxConverterConfig; 101 jsonFrame?: JsonFrameConverterConfig; 102} 103export interface LokiOutputConfig { 104 uid: string; 105} 106export interface RedirectDataOutputConfig { 107 channel: string; 108} 109export interface DataOutputterConfig { 110 type: Omit<keyof DataOutputterConfig, 'type'>; 111 redirect?: RedirectDataOutputConfig; 112 loki?: LokiOutputConfig; 113} 114export interface MultipleSubscriberConfig { 115 subscribers: SubscriberConfig[]; 116} 117export interface SubscriberConfig { 118 type: Omit<keyof SubscriberConfig, 'type'>; 119 multiple?: MultipleSubscriberConfig; 120} 121export interface ChannelRuleSettings { 122 auth?: ChannelAuthConfig; 123 subscribers?: SubscriberConfig[]; 124 dataOutputs?: DataOutputterConfig[]; 125 converter?: ConverterConfig; 126 frameProcessors?: FrameProcessorConfig[]; 127 frameOutputs?: FrameOutputterConfig[]; 128} 129export interface ChannelRule { 130 pattern: string; 131 settings: ChannelRuleSettings; 132} 133