@pulumiverse/grafana
Version:
A Pulumi package for creating and managing grafana.
228 lines (227 loc) • 9.37 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* import * as grafana from "@pulumi/grafana";
* import * as grafana from "@pulumiverse/grafana";
*
* const test = grafana.cloud.getStack({
* slug: "gcloudstacktest",
* });
* const testGetRole = aws.iam.getRole({
* name: "my-role",
* });
* const testAwsAccount = new grafana.cloudprovider.AwsAccount("test", {
* stackId: test.then(test => test.id),
* roleArn: testGetRole.then(testGetRole => testGetRole.arn),
* regions: [
* "us-east-1",
* "us-east-2",
* "us-west-1",
* ],
* });
* const testAwsCloudwatchScrapeJob = new grafana.cloudprovider.AwsCloudwatchScrapeJob("test", {
* stackId: test.then(test => test.id),
* name: "my-cloudwatch-scrape-job",
* awsAccountResourceId: testAwsAccount.resourceId,
* exportTags: true,
* services: [{
* name: "AWS/EC2",
* metrics: [
* {
* name: "CPUUtilization",
* statistics: ["Average"],
* },
* {
* name: "StatusCheckFailed",
* statistics: ["Maximum"],
* },
* ],
* scrapeIntervalSeconds: 300,
* resourceDiscoveryTagFilters: [{
* key: "k8s.io/cluster-autoscaler/enabled",
* value: "true",
* }],
* tagsToAddToMetrics: ["eks:cluster-name"],
* }],
* customNamespaces: [{
* name: "CoolApp",
* metrics: [{
* name: "CoolMetric",
* statistics: [
* "Maximum",
* "Sum",
* ],
* }],
* scrapeIntervalSeconds: 300,
* }],
* staticLabels: {
* label1: "value1",
* label2: "value2",
* },
* });
* const testGetAwsCloudwatchScrapeJob = pulumi.all([test, testAwsCloudwatchScrapeJob.name]).apply(([test, name]) => grafana.cloudProvider.getAwsCloudwatchScrapeJobOutput({
* stackId: test.id,
* name: name,
* }));
* ```
*/
/** @deprecated grafana.cloud/getproviderawscloudwatchscrapejob.getProviderAwsCloudwatchScrapeJob has been deprecated in favor of grafana.cloudprovider/getawscloudwatchscrapejob.getAwsCloudwatchScrapeJob */
export declare function getProviderAwsCloudwatchScrapeJob(args: GetProviderAwsCloudwatchScrapeJobArgs, opts?: pulumi.InvokeOptions): Promise<GetProviderAwsCloudwatchScrapeJobResult>;
/**
* A collection of arguments for invoking getProviderAwsCloudwatchScrapeJob.
*/
export interface GetProviderAwsCloudwatchScrapeJobArgs {
/**
* Zero or more configuration blocks to configure custom namespaces for the CloudWatch Scrape Job to scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
*/
customNamespaces?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobCustomNamespace[];
name: string;
/**
* One or more configuration blocks to dictate what this CloudWatch Scrape Job should scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
*/
services?: inputs.cloud.GetProviderAwsCloudwatchScrapeJobService[];
stackId: string;
}
/**
* A collection of values returned by getProviderAwsCloudwatchScrapeJob.
*/
export interface GetProviderAwsCloudwatchScrapeJobResult {
/**
* The ID assigned by the Grafana Cloud Provider API to an AWS Account resource that should be associated with this CloudWatch Scrape Job. This can be provided by the `resourceId` attribute of the `grafana.cloudProvider.AwsAccount` resource.
*/
readonly awsAccountResourceId: string;
/**
* Zero or more configuration blocks to configure custom namespaces for the CloudWatch Scrape Job to scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
*/
readonly customNamespaces?: outputs.cloud.GetProviderAwsCloudwatchScrapeJobCustomNamespace[];
/**
* When the CloudWatch Scrape Job is disabled, this will show the reason that it is in that state.
*/
readonly disabledReason: string;
/**
* Whether the CloudWatch Scrape Job is enabled or not.
*/
readonly enabled: boolean;
/**
* When enabled, AWS resource tags are exported as Prometheus labels to metrics formatted as `aws_<service_name>_info`.
*/
readonly exportTags: boolean;
readonly id: string;
readonly name: string;
/**
* The set of AWS region names that this CloudWatch Scrape Job is configured to scrape.
*/
readonly regions: string[];
/**
* When true, the `regions` attribute will be the set of regions configured in the override. When false, the `regions` attribute will be the set of regions belonging to the AWS Account resource that is associated with this CloudWatch Scrape Job.
*/
readonly regionsSubsetOverrideUsed: boolean;
/**
* The AWS ARN of the IAM role associated with the AWS Account resource that is being used by this CloudWatch Scrape Job.
*/
readonly roleArn: string;
/**
* One or more configuration blocks to dictate what this CloudWatch Scrape Job should scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
*/
readonly services?: outputs.cloud.GetProviderAwsCloudwatchScrapeJobService[];
readonly stackId: string;
/**
* A set of static labels to add to all metrics exported by this scrape job.
*/
readonly staticLabels: {
[key: string]: string;
};
}
/**
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* import * as grafana from "@pulumi/grafana";
* import * as grafana from "@pulumiverse/grafana";
*
* const test = grafana.cloud.getStack({
* slug: "gcloudstacktest",
* });
* const testGetRole = aws.iam.getRole({
* name: "my-role",
* });
* const testAwsAccount = new grafana.cloudprovider.AwsAccount("test", {
* stackId: test.then(test => test.id),
* roleArn: testGetRole.then(testGetRole => testGetRole.arn),
* regions: [
* "us-east-1",
* "us-east-2",
* "us-west-1",
* ],
* });
* const testAwsCloudwatchScrapeJob = new grafana.cloudprovider.AwsCloudwatchScrapeJob("test", {
* stackId: test.then(test => test.id),
* name: "my-cloudwatch-scrape-job",
* awsAccountResourceId: testAwsAccount.resourceId,
* exportTags: true,
* services: [{
* name: "AWS/EC2",
* metrics: [
* {
* name: "CPUUtilization",
* statistics: ["Average"],
* },
* {
* name: "StatusCheckFailed",
* statistics: ["Maximum"],
* },
* ],
* scrapeIntervalSeconds: 300,
* resourceDiscoveryTagFilters: [{
* key: "k8s.io/cluster-autoscaler/enabled",
* value: "true",
* }],
* tagsToAddToMetrics: ["eks:cluster-name"],
* }],
* customNamespaces: [{
* name: "CoolApp",
* metrics: [{
* name: "CoolMetric",
* statistics: [
* "Maximum",
* "Sum",
* ],
* }],
* scrapeIntervalSeconds: 300,
* }],
* staticLabels: {
* label1: "value1",
* label2: "value2",
* },
* });
* const testGetAwsCloudwatchScrapeJob = pulumi.all([test, testAwsCloudwatchScrapeJob.name]).apply(([test, name]) => grafana.cloudProvider.getAwsCloudwatchScrapeJobOutput({
* stackId: test.id,
* name: name,
* }));
* ```
*/
/** @deprecated grafana.cloud/getproviderawscloudwatchscrapejob.getProviderAwsCloudwatchScrapeJob has been deprecated in favor of grafana.cloudprovider/getawscloudwatchscrapejob.getAwsCloudwatchScrapeJob */
export declare function getProviderAwsCloudwatchScrapeJobOutput(args: GetProviderAwsCloudwatchScrapeJobOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetProviderAwsCloudwatchScrapeJobResult>;
/**
* A collection of arguments for invoking getProviderAwsCloudwatchScrapeJob.
*/
export interface GetProviderAwsCloudwatchScrapeJobOutputArgs {
/**
* Zero or more configuration blocks to configure custom namespaces for the CloudWatch Scrape Job to scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
*/
customNamespaces?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobCustomNamespaceArgs>[]>;
name: pulumi.Input<string>;
/**
* One or more configuration blocks to dictate what this CloudWatch Scrape Job should scrape. Each block must have a distinct `name` attribute. When accessing this as an attribute reference, it is a list of objects.
*/
services?: pulumi.Input<pulumi.Input<inputs.cloud.GetProviderAwsCloudwatchScrapeJobServiceArgs>[]>;
stackId: pulumi.Input<string>;
}