UNPKG

@pulumiverse/grafana

Version:

A Pulumi package for creating and managing grafana.

561 lines (560 loc) 23.2 kB
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>; }