@pulumiverse/grafana
Version:
A Pulumi package for creating and managing grafana.
561 lines (560 loc) • 23.2 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* * [Official documentation](https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#stacks/)
*
* Required access policy scopes:
*
* * stacks:read
* * stacks:write
* * stacks:delete
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as grafana from "@pulumiverse/grafana";
*
* const test = new grafana.cloud.Stack("test", {
* name: "gcloudstacktest",
* slug: "gcloudstacktest",
* regionSlug: "eu",
* description: "Test Grafana Cloud Stack",
* });
* ```
*
* ## Import
*
* ```sh
* $ pulumi import grafana:index/cloudStack:CloudStack name "{{ stackSlugOrID }}"
* ```
*
* @deprecated grafana.index/cloudstack.CloudStack has been deprecated in favor of grafana.cloud/stack.Stack
*/
export declare class CloudStack extends pulumi.CustomResource {
/**
* Get an existing CloudStack resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CloudStackState, opts?: pulumi.CustomResourceOptions): CloudStack;
/**
* Returns true if the given object is an instance of CloudStack. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is CloudStack;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Alertmanager instances (Optional)
*/
readonly alertmanagerIpAllowListCname: pulumi.Output<string>;
/**
* Name of the Alertmanager instance configured for this stack.
*/
readonly alertmanagerName: pulumi.Output<string>;
/**
* Status of the Alertmanager instance configured for this stack.
*/
readonly alertmanagerStatus: pulumi.Output<string>;
/**
* Base URL of the Alertmanager instance configured for this stack.
*/
readonly alertmanagerUrl: pulumi.Output<string>;
/**
* User ID of the Alertmanager instance configured for this stack.
*/
readonly alertmanagerUserId: pulumi.Output<number>;
/**
* Slug of the cluster where this stack resides.
*/
readonly clusterSlug: pulumi.Output<string>;
/**
* Description of stack.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* Name of the Fleet Management instance configured for this stack.
*/
readonly fleetManagementName: pulumi.Output<string>;
/**
* Status of the Fleet Management instance configured for this stack.
*/
readonly fleetManagementStatus: pulumi.Output<string>;
/**
* Base URL of the Fleet Management instance configured for this stack.
*/
readonly fleetManagementUrl: pulumi.Output<string>;
/**
* User ID of the Fleet Management instance configured for this stack.
*/
readonly fleetManagementUserId: pulumi.Output<number>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the grafana instance (Optional)
*/
readonly grafanasIpAllowListCname: pulumi.Output<string>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Graphite instance (Optional)
*/
readonly graphiteIpAllowListCname: pulumi.Output<string>;
readonly graphiteName: pulumi.Output<string>;
/**
* Private DNS for Graphite when using AWS PrivateLink (only for AWS stacks)
*/
readonly graphitePrivateConnectivityInfoPrivateDns: pulumi.Output<string>;
/**
* Service Name for Graphite when using AWS PrivateLink (only for AWS stacks)
*/
readonly graphitePrivateConnectivityInfoServiceName: pulumi.Output<string>;
readonly graphiteStatus: pulumi.Output<string>;
readonly graphiteUrl: pulumi.Output<string>;
readonly graphiteUserId: pulumi.Output<number>;
/**
* 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: pulumi.Output<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: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Logs instance (Optional)
*/
readonly logsIpAllowListCname: pulumi.Output<string>;
readonly logsName: pulumi.Output<string>;
/**
* Private DNS for Logs when using AWS PrivateLink (only for AWS stacks)
*/
readonly logsPrivateConnectivityInfoPrivateDns: pulumi.Output<string>;
/**
* Service Name for Logs when using AWS PrivateLink (only for AWS stacks)
*/
readonly logsPrivateConnectivityInfoServiceName: pulumi.Output<string>;
readonly logsStatus: pulumi.Output<string>;
readonly logsUrl: pulumi.Output<string>;
readonly logsUserId: pulumi.Output<number>;
/**
* Name of stack. Conventionally matches the url of the instance (e.g. `<stack_slug>.grafana.net`).
*/
readonly name: pulumi.Output<string>;
/**
* Organization id to assign to this stack.
*/
readonly orgId: pulumi.Output<number>;
/**
* Organization name to assign to this stack.
*/
readonly orgName: pulumi.Output<string>;
/**
* Organization slug to assign to this stack.
*/
readonly orgSlug: pulumi.Output<string>;
/**
* Private DNS for OTLP when using AWS PrivateLink (only for AWS stacks)
*/
readonly otlpPrivateConnectivityInfoPrivateDns: pulumi.Output<string>;
/**
* Service Name for OTLP when using AWS PrivateLink (only for AWS stacks)
*/
readonly otlpPrivateConnectivityInfoServiceName: pulumi.Output<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: pulumi.Output<string>;
/**
* Private DNS for PDC's API when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcApiPrivateConnectivityInfoPrivateDns: pulumi.Output<string>;
/**
* Service Name for PDC's API when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcApiPrivateConnectivityInfoServiceName: pulumi.Output<string>;
/**
* Private DNS for PDC's Gateway when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcGatewayPrivateConnectivityInfoPrivateDns: pulumi.Output<string>;
/**
* Service Name for PDC's Gateway when using AWS PrivateLink (only for AWS stacks)
*/
readonly pdcGatewayPrivateConnectivityInfoServiceName: pulumi.Output<string>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Profiles instance (Optional)
*/
readonly profilesIpAllowListCname: pulumi.Output<string>;
readonly profilesName: pulumi.Output<string>;
/**
* Private DNS for Profiles when using AWS PrivateLink (only for AWS stacks)
*/
readonly profilesPrivateConnectivityInfoPrivateDns: pulumi.Output<string>;
/**
* Service Name for Profiles when using AWS PrivateLink (only for AWS stacks)
*/
readonly profilesPrivateConnectivityInfoServiceName: pulumi.Output<string>;
readonly profilesStatus: pulumi.Output<string>;
readonly profilesUrl: pulumi.Output<string>;
readonly profilesUserId: pulumi.Output<number>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Prometheus instance (Optional)
*/
readonly prometheusIpAllowListCname: pulumi.Output<string>;
/**
* Prometheus name for this instance.
*/
readonly prometheusName: pulumi.Output<string>;
/**
* Private DNS for Prometheus when using AWS PrivateLink (only for AWS stacks)
*/
readonly prometheusPrivateConnectivityInfoPrivateDns: pulumi.Output<string>;
/**
* Service Name for Prometheus when using AWS PrivateLink (only for AWS stacks)
*/
readonly prometheusPrivateConnectivityInfoServiceName: pulumi.Output<string>;
/**
* Use this URL to query hosted metrics data e.g. Prometheus data source in Grafana
*/
readonly prometheusRemoteEndpoint: pulumi.Output<string>;
/**
* Use this URL to send prometheus metrics to Grafana cloud
*/
readonly prometheusRemoteWriteEndpoint: pulumi.Output<string>;
/**
* Prometheus status for this instance.
*/
readonly prometheusStatus: pulumi.Output<string>;
/**
* Prometheus url for this instance.
*/
readonly prometheusUrl: pulumi.Output<string>;
/**
* Prometheus user ID. Used for e.g. remote_write.
*/
readonly prometheusUserId: pulumi.Output<number>;
/**
* Region slug to assign to this stack. Changing region will destroy the existing stack and create a new one in the desired region. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
*/
readonly regionSlug: pulumi.Output<string | undefined>;
/**
* Subdomain that the Grafana instance will be available at. Setting slug to `<stack_slug>` will make the instance available at `https://<stack_slug>.grafana.net`.
*/
readonly slug: pulumi.Output<string>;
/**
* Status of the stack.
*/
readonly status: pulumi.Output<string>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Traces instance (Optional)
*/
readonly tracesIpAllowListCname: pulumi.Output<string>;
readonly tracesName: pulumi.Output<string>;
/**
* Private DNS for Traces when using AWS PrivateLink (only for AWS stacks)
*/
readonly tracesPrivateConnectivityInfoPrivateDns: pulumi.Output<string>;
/**
* Service Name for Traces when using AWS PrivateLink (only for AWS stacks)
*/
readonly tracesPrivateConnectivityInfoServiceName: pulumi.Output<string>;
readonly tracesStatus: pulumi.Output<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: pulumi.Output<string>;
readonly tracesUserId: pulumi.Output<number>;
/**
* Custom URL for the Grafana instance. Must have a CNAME setup to point to `.grafana.net` before creating the stack
*/
readonly url: pulumi.Output<string | undefined>;
/**
* Whether to wait for readiness of the stack after creating it. The check is a HEAD request to the stack URL (Grafana instance). Defaults to `true`.
*/
readonly waitForReadiness: pulumi.Output<boolean | undefined>;
/**
* How long to wait for readiness (if enabled). Defaults to `5m0s`.
*/
readonly waitForReadinessTimeout: pulumi.Output<string | undefined>;
/**
* Create a CloudStack resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
/** @deprecated grafana.index/cloudstack.CloudStack has been deprecated in favor of grafana.cloud/stack.Stack */
constructor(name: string, args: CloudStackArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering CloudStack resources.
*/
export interface CloudStackState {
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Alertmanager instances (Optional)
*/
alertmanagerIpAllowListCname?: pulumi.Input<string>;
/**
* Name of the Alertmanager instance configured for this stack.
*/
alertmanagerName?: pulumi.Input<string>;
/**
* Status of the Alertmanager instance configured for this stack.
*/
alertmanagerStatus?: pulumi.Input<string>;
/**
* Base URL of the Alertmanager instance configured for this stack.
*/
alertmanagerUrl?: pulumi.Input<string>;
/**
* User ID of the Alertmanager instance configured for this stack.
*/
alertmanagerUserId?: pulumi.Input<number>;
/**
* Slug of the cluster where this stack resides.
*/
clusterSlug?: pulumi.Input<string>;
/**
* Description of stack.
*/
description?: pulumi.Input<string>;
/**
* Name of the Fleet Management instance configured for this stack.
*/
fleetManagementName?: pulumi.Input<string>;
/**
* Status of the Fleet Management instance configured for this stack.
*/
fleetManagementStatus?: pulumi.Input<string>;
/**
* Base URL of the Fleet Management instance configured for this stack.
*/
fleetManagementUrl?: pulumi.Input<string>;
/**
* User ID of the Fleet Management instance configured for this stack.
*/
fleetManagementUserId?: pulumi.Input<number>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the grafana instance (Optional)
*/
grafanasIpAllowListCname?: pulumi.Input<string>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Graphite instance (Optional)
*/
graphiteIpAllowListCname?: pulumi.Input<string>;
graphiteName?: pulumi.Input<string>;
/**
* Private DNS for Graphite when using AWS PrivateLink (only for AWS stacks)
*/
graphitePrivateConnectivityInfoPrivateDns?: pulumi.Input<string>;
/**
* Service Name for Graphite when using AWS PrivateLink (only for AWS stacks)
*/
graphitePrivateConnectivityInfoServiceName?: pulumi.Input<string>;
graphiteStatus?: pulumi.Input<string>;
graphiteUrl?: pulumi.Input<string>;
graphiteUserId?: pulumi.Input<number>;
/**
* 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.
*/
influxUrl?: pulumi.Input<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.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Logs instance (Optional)
*/
logsIpAllowListCname?: pulumi.Input<string>;
logsName?: pulumi.Input<string>;
/**
* Private DNS for Logs when using AWS PrivateLink (only for AWS stacks)
*/
logsPrivateConnectivityInfoPrivateDns?: pulumi.Input<string>;
/**
* Service Name for Logs when using AWS PrivateLink (only for AWS stacks)
*/
logsPrivateConnectivityInfoServiceName?: pulumi.Input<string>;
logsStatus?: pulumi.Input<string>;
logsUrl?: pulumi.Input<string>;
logsUserId?: pulumi.Input<number>;
/**
* Name of stack. Conventionally matches the url of the instance (e.g. `<stack_slug>.grafana.net`).
*/
name?: pulumi.Input<string>;
/**
* Organization id to assign to this stack.
*/
orgId?: pulumi.Input<number>;
/**
* Organization name to assign to this stack.
*/
orgName?: pulumi.Input<string>;
/**
* Organization slug to assign to this stack.
*/
orgSlug?: pulumi.Input<string>;
/**
* Private DNS for OTLP when using AWS PrivateLink (only for AWS stacks)
*/
otlpPrivateConnectivityInfoPrivateDns?: pulumi.Input<string>;
/**
* Service Name for OTLP when using AWS PrivateLink (only for AWS stacks)
*/
otlpPrivateConnectivityInfoServiceName?: pulumi.Input<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.
*/
otlpUrl?: pulumi.Input<string>;
/**
* Private DNS for PDC's API when using AWS PrivateLink (only for AWS stacks)
*/
pdcApiPrivateConnectivityInfoPrivateDns?: pulumi.Input<string>;
/**
* Service Name for PDC's API when using AWS PrivateLink (only for AWS stacks)
*/
pdcApiPrivateConnectivityInfoServiceName?: pulumi.Input<string>;
/**
* Private DNS for PDC's Gateway when using AWS PrivateLink (only for AWS stacks)
*/
pdcGatewayPrivateConnectivityInfoPrivateDns?: pulumi.Input<string>;
/**
* Service Name for PDC's Gateway when using AWS PrivateLink (only for AWS stacks)
*/
pdcGatewayPrivateConnectivityInfoServiceName?: pulumi.Input<string>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Profiles instance (Optional)
*/
profilesIpAllowListCname?: pulumi.Input<string>;
profilesName?: pulumi.Input<string>;
/**
* Private DNS for Profiles when using AWS PrivateLink (only for AWS stacks)
*/
profilesPrivateConnectivityInfoPrivateDns?: pulumi.Input<string>;
/**
* Service Name for Profiles when using AWS PrivateLink (only for AWS stacks)
*/
profilesPrivateConnectivityInfoServiceName?: pulumi.Input<string>;
profilesStatus?: pulumi.Input<string>;
profilesUrl?: pulumi.Input<string>;
profilesUserId?: pulumi.Input<number>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Prometheus instance (Optional)
*/
prometheusIpAllowListCname?: pulumi.Input<string>;
/**
* Prometheus name for this instance.
*/
prometheusName?: pulumi.Input<string>;
/**
* Private DNS for Prometheus when using AWS PrivateLink (only for AWS stacks)
*/
prometheusPrivateConnectivityInfoPrivateDns?: pulumi.Input<string>;
/**
* Service Name for Prometheus when using AWS PrivateLink (only for AWS stacks)
*/
prometheusPrivateConnectivityInfoServiceName?: pulumi.Input<string>;
/**
* Use this URL to query hosted metrics data e.g. Prometheus data source in Grafana
*/
prometheusRemoteEndpoint?: pulumi.Input<string>;
/**
* Use this URL to send prometheus metrics to Grafana cloud
*/
prometheusRemoteWriteEndpoint?: pulumi.Input<string>;
/**
* Prometheus status for this instance.
*/
prometheusStatus?: pulumi.Input<string>;
/**
* Prometheus url for this instance.
*/
prometheusUrl?: pulumi.Input<string>;
/**
* Prometheus user ID. Used for e.g. remote_write.
*/
prometheusUserId?: pulumi.Input<number>;
/**
* Region slug to assign to this stack. Changing region will destroy the existing stack and create a new one in the desired region. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
*/
regionSlug?: pulumi.Input<string>;
/**
* Subdomain that the Grafana instance will be available at. Setting slug to `<stack_slug>` will make the instance available at `https://<stack_slug>.grafana.net`.
*/
slug?: pulumi.Input<string>;
/**
* Status of the stack.
*/
status?: pulumi.Input<string>;
/**
* Comma-separated list of CNAMEs that can be whitelisted to access the Traces instance (Optional)
*/
tracesIpAllowListCname?: pulumi.Input<string>;
tracesName?: pulumi.Input<string>;
/**
* Private DNS for Traces when using AWS PrivateLink (only for AWS stacks)
*/
tracesPrivateConnectivityInfoPrivateDns?: pulumi.Input<string>;
/**
* Service Name for Traces when using AWS PrivateLink (only for AWS stacks)
*/
tracesPrivateConnectivityInfoServiceName?: pulumi.Input<string>;
tracesStatus?: pulumi.Input<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.
*/
tracesUrl?: pulumi.Input<string>;
tracesUserId?: pulumi.Input<number>;
/**
* Custom URL for the Grafana instance. Must have a CNAME setup to point to `.grafana.net` before creating the stack
*/
url?: pulumi.Input<string>;
/**
* Whether to wait for readiness of the stack after creating it. The check is a HEAD request to the stack URL (Grafana instance). Defaults to `true`.
*/
waitForReadiness?: pulumi.Input<boolean>;
/**
* How long to wait for readiness (if enabled). Defaults to `5m0s`.
*/
waitForReadinessTimeout?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a CloudStack resource.
*/
export interface CloudStackArgs {
/**
* Description of stack.
*/
description?: pulumi.Input<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.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Name of stack. Conventionally matches the url of the instance (e.g. `<stack_slug>.grafana.net`).
*/
name?: pulumi.Input<string>;
/**
* Region slug to assign to this stack. Changing region will destroy the existing stack and create a new one in the desired region. Use the region list API to get the list of available regions: https://grafana.com/docs/grafana-cloud/developer-resources/api-reference/cloud-api/#list-regions.
*/
regionSlug?: pulumi.Input<string>;
/**
* Subdomain that the Grafana instance will be available at. Setting slug to `<stack_slug>` will make the instance available at `https://<stack_slug>.grafana.net`.
*/
slug: pulumi.Input<string>;
/**
* Custom URL for the Grafana instance. Must have a CNAME setup to point to `.grafana.net` before creating the stack
*/
url?: pulumi.Input<string>;
/**
* Whether to wait for readiness of the stack after creating it. The check is a HEAD request to the stack URL (Grafana instance). Defaults to `true`.
*/
waitForReadiness?: pulumi.Input<boolean>;
/**
* How long to wait for readiness (if enabled). Defaults to `5m0s`.
*/
waitForReadinessTimeout?: pulumi.Input<string>;
}