@studion/infra-code-blocks
Version:
Studion common infra components
33 lines • 1.72 kB
TypeScript
import * as pulumi from '@pulumi/pulumi';
import { AMPConnection, CloudWatchLogsConnection, GrafanaConnection, XRayConnection } from './connections';
import { Grafana } from './grafana';
import type { GrafanaDashboardBuilder } from './dashboards/builder';
import { SloDashboard } from './dashboards/slo';
import { LogsAndTracesDashboard } from './dashboards/logs-and-traces';
export declare class GrafanaBuilder {
private readonly name;
private readonly connectionBuilders;
private readonly dashboardBuilders;
private readonly scopes;
private readonly plugins;
private stackSlug?;
private folderName?;
private serviceAccountTokenRotation?;
private accessPolicyTokenRotation?;
constructor(name: string);
withStackSlug(stackSlug: string): this;
withFolderName(folderName: string): this;
withServiceAccountTokenRotation(rotation: Grafana.ServiceAccountTokenRotation): this;
withAccessPolicyTokenRotation(rotation: Grafana.AccessPolicyTokenRotation): this;
addScope(...scopes: string[]): this;
addPlugin(plugin: Grafana.PluginArgs): this;
addAmp(name: string, args: Omit<AMPConnection.Args, 'stack'>): this;
addCloudWatchLogs(name: string, args: Omit<CloudWatchLogsConnection.Args, 'stack'>): this;
addXRay(name: string, args: Omit<XRayConnection.Args, 'stack'>): this;
addConnection(builder: GrafanaConnection.CreateConnection): this;
addSloDashboard(config: SloDashboard.Args): this;
addLogsAndTracesDashboard(config: LogsAndTracesDashboard.Args): this;
addDashboard(dashboard: GrafanaDashboardBuilder.CreateDashboard): this;
build(opts?: pulumi.ComponentResourceOptions): Grafana;
}
//# sourceMappingURL=builder.d.ts.map