import * as pulumi from '@pulumi/pulumi'; import * as kubernetes from '@pulumi/kubernetes'; import * as abstractions from '@kloudlib/abstractions'; export interface KubernetesGrafanaInputs { provider?: kubernetes.Provider; namespace?: pulumi.Input; /** * import dasboards into grafana. * defaults to undefined. */ dashboards?: Array; /** * grafana datasources */ datasources?: GrafanaDataSource[]; /** * grafana plugins */ plugins?: string[]; /** * allowAnonymousAccess configures grafana so that * users can access it without needing to login. * defaults to false */ allowAnonymousAccess?: boolean; /** * */ grafanaConfig?: pulumi.Input>>; /** * ingress resource configuration * defaults to undefined (no ingress resource will be created) */ ingress?: abstractions.Ingress; /** * persistent storage configuration * defaults to undefined (no persistent storage will be used) */ persistence?: abstractions.Persistence; } export declare type GrafanaDashboard = { name: string; } & ({ json: string; } | { file: string; } | { gnetId: number; revision?: number; datasource?: string; } | { url: string; b64content?: boolean; }); export interface GrafanaDataSource { name: string; type: 'prometheus' | 'loki'; url: pulumi.Input; } export interface KubernetesGrafanaOutputs { adminUsername: pulumi.Output; adminPassword: pulumi.Output; ingress: pulumi.Output; persistence: pulumi.Output; } /** * @noInheritDoc */ export declare class KubernetesGrafana extends pulumi.ComponentResource implements KubernetesGrafanaOutputs { readonly adminUsername: pulumi.Output; readonly adminPassword: pulumi.Output; readonly ingress: pulumi.Output; readonly persistence: pulumi.Output; constructor(name: string, props?: KubernetesGrafanaInputs, opts?: pulumi.CustomResourceOptions); }