@pulumiverse/grafana
Version:
A Pulumi package for creating and managing grafana.
435 lines (434 loc) • 16.4 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Data source for Grafana Stack
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as grafana from "@pulumiverse/grafana";
*
* const testStack = new grafana.cloud.Stack("test", {
* name: "gcloudstacktest",
* slug: "gcloudstacktest",
* regionSlug: "eu",
* description: "Test Grafana Cloud Stack",
* });
* const test = grafana.cloud.getStackOutput({
* slug: testStack.slug,
* });
* ```
*/
export declare function getStack(args: GetStackArgs, opts?: pulumi.InvokeOptions): Promise<GetStackResult>;
/**
* A collection of arguments for invoking getStack.
*/
export interface GetStackArgs {
/**
* Subdomain that the Grafana instance will be available at (i.e. setting slug to “\n\n” will make the instance
* available at “https://\n\n.grafana.net".
*/
slug: string;
}
/**
* A collection of values returned by getStack.
*/
export interface GetStackResult {
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Alertmanager instances (Optional)
*/
readonly alertmanagerIpAllowListCname: string;
/**
* Name of the Alertmanager instance configured for this stack.
*/
readonly alertmanagerName: string;
/**
* Status of the Alertmanager instance configured for this stack.
*/
readonly alertmanagerStatus: string;
/**
* Base URL of the Alertmanager instance configured for this stack.
*/
readonly alertmanagerUrl: string;
/**
* User ID of the Alertmanager instance configured for this stack.
*/
readonly alertmanagerUserId: number;
/**
* Base URL of the Cloud Provider API for this stack's cluster. This can be used with the `cloudProviderUrl` provider config option to manage Cloud Provider resources for this stack.
*/
readonly cloudProviderUrl: string;
/**
* Name of the cluster where this stack resides.
*/
readonly clusterName: string;
/**
* Slug of the cluster where this stack resides.
*/
readonly clusterSlug: string;
/**
* Base URL of the Connections API for this stack's cluster. This can be used with the `connectionsApiUrl` provider config option to manage Connections resources for this stack.
*/
readonly connectionsApiUrl: string;
/**
* Whether to enable delete protection for the stack, preventing accidental deletion.
*/
readonly deleteProtection: boolean;
/**
* Description of stack.
*/
readonly description: string;
/**
* Name of the Fleet Management instance configured for this stack.
*/
readonly fleetManagementName: string;
/**
* Availability Zone IDs for Fleet Management when using AWS PrivateLink (only for AWS stacks)
*/
readonly fleetManagementPrivateConnectivityInfoAvailabilityZoneIds: string[];
/**
* Availability Zones for Fleet Management when using AWS PrivateLink (only for AWS stacks)
*/
readonly fleetManagementPrivateConnectivityInfoAvailabilityZones: string[];
/**
* Private DNS for Fleet Management when using AWS PrivateLink (only for AWS stacks)
*/
readonly fleetManagementPrivateConnectivityInfoPrivateDns: string;
/**
* Regions for Fleet Management when using AWS PrivateLink (only for AWS stacks)
*/
readonly fleetManagementPrivateConnectivityInfoRegions: string[];
/**
* Service Name for Fleet Management when using AWS PrivateLink (only for AWS stacks)
*/
readonly fleetManagementPrivateConnectivityInfoServiceName: string;
/**
* Status of the Fleet Management instance configured for this stack.
*/
readonly fleetManagementStatus: string;
/**
* Base URL of the Fleet Management instance configured for this stack.
*/
readonly fleetManagementUrl: string;
/**
* User ID of the Fleet Management instance configured for this stack.
*/
readonly fleetManagementUserId: number;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the grafana instance (Optional)
*/
readonly grafanasIpAllowListCname: string;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Graphite instance (Optional)
*/
readonly graphiteIpAllowListCname: string;
readonly graphiteName: string;
/**
* Availability Zone IDs for Graphite when using AWS PrivateLink (only for AWS stacks)
*/
readonly graphitePrivateConnectivityInfoAvailabilityZoneIds: string[];
/**
* Availability Zones for Graphite when using AWS PrivateLink (only for AWS stacks)
*/
readonly graphitePrivateConnectivityInfoAvailabilityZones: string[];
/**
* Private DNS for Graphite when using AWS PrivateLink (only for AWS stacks)
*/
readonly graphitePrivateConnectivityInfoPrivateDns: string;
/**
* Regions for Graphite when using AWS PrivateLink (only for AWS stacks)
*/
readonly graphitePrivateConnectivityInfoRegions: string[];
/**
* Service Name for Graphite when using AWS PrivateLink (only for AWS stacks)
*/
readonly graphitePrivateConnectivityInfoServiceName: string;
readonly graphiteStatus: string;
readonly graphiteUrl: string;
readonly graphiteUserId: number;
/**
* The stack id assigned to this stack by Grafana.
*/
readonly id: string;
/**
* Base URL of the InfluxDB instance configured for this stack. The username is the same as the metrics' (`prometheusUserId` attribute of this resource). See https://grafana.com/docs/grafana-cloud/send-data/metrics/metrics-influxdb/push-from-telegraf/ for docs on how to use this.
*/
readonly influxUrl: string;
/**
* A map of labels to assign to the stack. Label keys and values must match the following regexp: "^[a-zA-Z0-9/\-._]+$" and stacks cannot have more than 10 labels.
*/
readonly labels: {
[key: string]: string;
};
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Logs instance (Optional)
*/
readonly logsIpAllowListCname: string;
readonly logsName: string;
/**
* Availability Zone IDs for Logs when using AWS PrivateLink (only for AWS stacks)
*/
readonly logsPrivateConnectivityInfoAvailabilityZoneIds: string[];
/**
* Availability Zones for Logs when using AWS PrivateLink (only for AWS stacks)
*/
readonly logsPrivateConnectivityInfoAvailabilityZones: string[];
/**
* Private DNS for Logs when using AWS PrivateLink (only for AWS stacks)
*/
readonly logsPrivateConnectivityInfoPrivateDns: string;
/**
* Regions for Logs when using AWS PrivateLink (only for AWS stacks)
*/
readonly logsPrivateConnectivityInfoRegions: string[];
/**
* Service Name for Logs when using AWS PrivateLink (only for AWS stacks)
*/
readonly logsPrivateConnectivityInfoServiceName: string;
readonly logsStatus: string;
readonly logsUrl: string;
readonly logsUserId: number;
/**
* Name of stack. Conventionally matches the url of the instance (e.g. `<stack_slug>.grafana.net`).
*/
readonly name: string;
/**
* Base URL of the OnCall API instance configured for this stack.
*/
readonly oncallApiUrl: string;
/**
* Organization id to assign to this stack.
*/
readonly orgId: number;
/**
* Organization name to assign to this stack.
*/
readonly orgName: string;
/**
* Organization slug to assign to this stack.
*/
readonly orgSlug: string;
/**
* Availability Zone IDs for OTLP when using AWS PrivateLink (only for AWS stacks)
*/
readonly otlpPrivateConnectivityInfoAvailabilityZoneIds: string[];
/**
* Availability Zones for OTLP when using AWS PrivateLink (only for AWS stacks)
*/
readonly otlpPrivateConnectivityInfoAvailabilityZones: string[];
/**
* Private DNS for OTLP when using AWS PrivateLink (only for AWS stacks)
*/
readonly otlpPrivateConnectivityInfoPrivateDns: string;
/**
* Regions for OTLP when using AWS PrivateLink (only for AWS stacks)
*/
readonly otlpPrivateConnectivityInfoRegions: string[];
/**
* Service Name for OTLP when using AWS PrivateLink (only for AWS stacks)
*/
readonly otlpPrivateConnectivityInfoServiceName: string;
/**
* Base URL of the OTLP instance configured for this stack. The username is the stack's ID (`id` attribute of this resource). See https://grafana.com/docs/grafana-cloud/send-data/otlp/send-data-otlp/ for docs on how to use this.
*/
readonly otlpUrl: string;
/**
* Availability Zone IDs for PDC's API when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcApiPrivateConnectivityInfoAvailabilityZoneIds: string[];
/**
* Availability Zones for PDC's API when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcApiPrivateConnectivityInfoAvailabilityZones: string[];
/**
* Private DNS for PDC's API when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcApiPrivateConnectivityInfoPrivateDns: string;
/**
* Regions for PDC's API when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcApiPrivateConnectivityInfoRegions: string[];
/**
* Service Name for PDC's API when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcApiPrivateConnectivityInfoServiceName: string;
/**
* Availability Zone IDs for PDC's Gateway when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcGatewayPrivateConnectivityInfoAvailabilityZoneIds: string[];
/**
* Availability Zones for PDC's Gateway when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcGatewayPrivateConnectivityInfoAvailabilityZones: string[];
/**
* Private DNS for PDC's Gateway when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcGatewayPrivateConnectivityInfoPrivateDns: string;
/**
* Regions for PDC's Gateway when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcGatewayPrivateConnectivityInfoRegions: string[];
/**
* Service Name for PDC's Gateway when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcGatewayPrivateConnectivityInfoServiceName: string;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Profiles instance (Optional)
*/
readonly profilesIpAllowListCname: string;
readonly profilesName: string;
/**
* Availability Zone IDs for Profiles when using AWS PrivateLink (only for AWS stacks)
*/
readonly profilesPrivateConnectivityInfoAvailabilityZoneIds: string[];
/**
* Availability Zones for Profiles when using AWS PrivateLink (only for AWS stacks)
*/
readonly profilesPrivateConnectivityInfoAvailabilityZones: string[];
/**
* Private DNS for Profiles when using AWS PrivateLink (only for AWS stacks)
*/
readonly profilesPrivateConnectivityInfoPrivateDns: string;
/**
* Regions for Profiles when using AWS PrivateLink (only for AWS stacks)
*/
readonly profilesPrivateConnectivityInfoRegions: string[];
/**
* Service Name for Profiles when using AWS PrivateLink (only for AWS stacks)
*/
readonly profilesPrivateConnectivityInfoServiceName: string;
readonly profilesStatus: string;
readonly profilesUrl: string;
readonly profilesUserId: number;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Prometheus instance (Optional)
*/
readonly prometheusIpAllowListCname: string;
/**
* Prometheus name for this instance.
*/
readonly prometheusName: string;
/**
* Availability Zone IDs for Prometheus when using AWS PrivateLink (only for AWS stacks)
*/
readonly prometheusPrivateConnectivityInfoAvailabilityZoneIds: string[];
/**
* Availability Zones for Prometheus when using AWS PrivateLink (only for AWS stacks)
*/
readonly prometheusPrivateConnectivityInfoAvailabilityZones: string[];
/**
* Private DNS for Prometheus when using AWS PrivateLink (only for AWS stacks)
*/
readonly prometheusPrivateConnectivityInfoPrivateDns: string;
/**
* Regions for Prometheus when using AWS PrivateLink (only for AWS stacks)
*/
readonly prometheusPrivateConnectivityInfoRegions: string[];
/**
* Service Name for Prometheus when using AWS PrivateLink (only for AWS stacks)
*/
readonly prometheusPrivateConnectivityInfoServiceName: string;
/**
* Use this URL to query hosted metrics data e.g. Prometheus data source in Grafana
*/
readonly prometheusRemoteEndpoint: string;
/**
* Use this URL to send prometheus metrics to Grafana cloud
*/
readonly prometheusRemoteWriteEndpoint: string;
/**
* Prometheus status for this instance.
*/
readonly prometheusStatus: string;
/**
* Prometheus url for this instance.
*/
readonly prometheusUrl: string;
/**
* Prometheus user ID. Used for e.g. remote_write.
*/
readonly prometheusUserId: number;
/**
* The region this stack is deployed to.
*/
readonly regionSlug: string;
/**
* Subdomain that the Grafana instance will be available at (i.e. setting slug to “\n\n” will make the instance
* available at “https://\n\n.grafana.net".
*/
readonly slug: string;
/**
* Base URL of the Synthetic Monitoring API for this stack's region. This can be used with the `smUrl` provider config option. Note: Synthetic Monitoring requires activation either via the `grafana.syntheticMonitoring.Installation` resource or manually in the Grafana Cloud UI before it can be used.
*/
readonly smUrl: string;
/**
* Status of the stack.
*/
readonly status: string;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Traces instance (Optional)
*/
readonly tracesIpAllowListCname: string;
readonly tracesName: string;
/**
* Availability Zone IDs for Traces when using AWS PrivateLink (only for AWS stacks)
*/
readonly tracesPrivateConnectivityInfoAvailabilityZoneIds: string[];
/**
* Availability Zones for Traces when using AWS PrivateLink (only for AWS stacks)
*/
readonly tracesPrivateConnectivityInfoAvailabilityZones: string[];
/**
* Private DNS for Traces when using AWS PrivateLink (only for AWS stacks)
*/
readonly tracesPrivateConnectivityInfoPrivateDns: string;
/**
* Regions for Traces when using AWS PrivateLink (only for AWS stacks)
*/
readonly tracesPrivateConnectivityInfoRegions: string[];
/**
* Service Name for Traces when using AWS PrivateLink (only for AWS stacks)
*/
readonly tracesPrivateConnectivityInfoServiceName: string;
readonly tracesStatus: string;
/**
* Base URL of the Traces instance configured for this stack. To use this in the Tempo data source in Grafana, append `/tempo` to the URL.
*/
readonly tracesUrl: string;
readonly tracesUserId: number;
/**
* Custom URL for the Grafana instance. Must have a CNAME setup to point to `.grafana.net` before creating the stack
*/
readonly url: string;
}
/**
* Data source for Grafana Stack
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as grafana from "@pulumiverse/grafana";
*
* const testStack = new grafana.cloud.Stack("test", {
* name: "gcloudstacktest",
* slug: "gcloudstacktest",
* regionSlug: "eu",
* description: "Test Grafana Cloud Stack",
* });
* const test = grafana.cloud.getStackOutput({
* slug: testStack.slug,
* });
* ```
*/
export declare function getStackOutput(args: GetStackOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetStackResult>;
/**
* A collection of arguments for invoking getStack.
*/
export interface GetStackOutputArgs {
/**
* Subdomain that the Grafana instance will be available at (i.e. setting slug to “\n\n” will make the instance
* available at “https://\n\n.grafana.net".
*/
slug: pulumi.Input<string>;
}