@studion/infra-code-blocks
Version:
Studion common infra components
99 lines • 2.13 kB
TypeScript
import * as pulumi from '@pulumi/pulumi';
export type Panel = {
title: string;
gridPos: Panel.Position;
type: string;
datasource: string;
targets: Target[];
fieldConfig: {
defaults: {
unit?: string;
min?: number;
max?: number;
color?: {
mode: string;
};
thresholds?: {
mode: string;
steps: Threshold[];
};
custom?: {
lineInterpolation?: string;
spanNulls: boolean;
};
};
overrides?: Override[];
};
transformations?: Transformation[];
options?: {
colorMode?: string;
graphMode?: string;
justifyMode?: string;
textMode?: string;
reduceOptions?: {
calcs?: string[];
fields?: string;
values?: boolean;
};
};
};
export declare namespace Panel {
type Position = {
x: number;
y: number;
w: number;
h: number;
};
}
export type Metric = {
label: string;
query: string;
thresholds: Threshold[];
};
export type Threshold = {
value: number | null;
color: string;
};
export type Target = {
expr?: string;
expression?: string;
legendFormat?: string;
logGroups?: {
name: pulumi.Input<string>;
}[];
queryMode?: string;
queryType?: string;
query?: string;
};
export type Override = {
matcher: {
id: string;
options: string;
};
properties: {
id: string;
value: boolean | {
title: string;
url: string;
}[] | {
type: string;
};
}[];
};
export type Transformation = {
id: 'organize';
options: {
renameByName?: Record<string, string>;
excludeByName?: Record<string, boolean>;
indexByName?: Record<string, number>;
};
} | {
id: 'sortBy';
options: {
sort: {
field: string;
desc: boolean;
}[];
};
};
//# sourceMappingURL=types.d.ts.map