@studion/infra-code-blocks
Version:
Studion common infra components
57 lines • 2.34 kB
TypeScript
import * as pulumi from '@pulumi/pulumi';
import * as grafana from '@pulumiverse/grafana';
import type { GrafanaDashboardBuilder } from './dashboards/builder';
import { GrafanaConnection } from './connections';
export declare namespace Grafana {
type ServiceAccountTokenRotation = {
secondsToLive: number;
earlyRotationWindowSeconds: number;
};
type AccessPolicyTokenRotation = {
expireAfter: string;
earlyRotationWindow: string;
};
type PluginArgs = {
name: string;
slug: string;
version?: string;
};
type Args = {
stackSlug: string;
connectionBuilders: GrafanaConnection.CreateConnection[];
dashboardBuilders: GrafanaDashboardBuilder.CreateDashboard[];
folderName?: string;
scopes?: string[];
plugins?: PluginArgs[];
serviceAccountTokenRotation?: ServiceAccountTokenRotation;
accessPolicyTokenRotation?: AccessPolicyTokenRotation;
};
}
/**
* This component requires a grafana cloud access policy token to be created and set
* as `GRAFANA_CLOUD_ACCESS_POLICY_TOKEN` with the following scopes:
* accesspolicies:read, accesspolicies:write, accesspolicies:delete, stacks:read, stack-service-accounts:write
*/
export declare class Grafana extends pulumi.ComponentResource {
readonly name: string;
readonly stack: pulumi.Output<grafana.cloud.GetStackResult>;
readonly accessPolicy: grafana.cloud.AccessPolicy;
readonly accessPolicyToken: grafana.cloud.AccessPolicyRotatingToken;
readonly serviceAccount: grafana.cloud.StackServiceAccount;
readonly serviceAccountToken: grafana.cloud.StackServiceAccountRotatingToken;
readonly provider: grafana.Provider;
readonly plugins?: grafana.cloud.PluginInstallation[];
readonly connections: GrafanaConnection[];
readonly folder: grafana.oss.Folder;
readonly dashboards: grafana.oss.Dashboard[];
constructor(name: string, args: Grafana.Args, opts?: pulumi.ComponentResourceOptions);
static getStackSlug(grafanaUrl: string): string;
private createAccessPolicy;
private createAccessPolicyToken;
private createServiceAccount;
private createServiceAccountToken;
private createFolder;
private createPlugin;
private createProvider;
}
//# sourceMappingURL=grafana.d.ts.map