1. Packages
  2. Tencentcloud Provider
  3. API Docs
  4. MonitorGrafanaIntegration
tencentcloud 1.81.189 published on Wednesday, Apr 30, 2025 by tencentcloudstack

tencentcloud.MonitorGrafanaIntegration

Explore with Pulumi AI

tencentcloud logo
tencentcloud 1.81.189 published on Wednesday, Apr 30, 2025 by tencentcloudstack

    Provides a resource to create a monitor grafanaIntegration

    Example Usage

    Create a grafan instance and integrate the configuration

    import * as pulumi from "@pulumi/pulumi";
    import * as tencentcloud from "@pulumi/tencentcloud";
    
    const config = new pulumi.Config();
    const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-6";
    const vpc = new tencentcloud.Vpc("vpc", {cidrBlock: "10.0.0.0/16"});
    const subnet = new tencentcloud.Subnet("subnet", {
        vpcId: vpc.vpcId,
        availabilityZone: availabilityZone,
        cidrBlock: "10.0.1.0/24",
    });
    const foo = new tencentcloud.MonitorGrafanaInstance("foo", {
        instanceName: "test-grafana",
        vpcId: vpc.vpcId,
        subnetIds: [subnet.subnetId],
        grafanaInitPassword: "1234567890",
        enableInternet: false,
        tags: {
            createdBy: "test",
        },
    });
    const grafanaIntegration = new tencentcloud.MonitorGrafanaIntegration("grafanaIntegration", {
        instanceId: foo.monitorGrafanaInstanceId,
        kind: "tencentcloud-monitor-app",
        content: "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}",
    });
    
    import pulumi
    import pulumi_tencentcloud as tencentcloud
    
    config = pulumi.Config()
    availability_zone = config.get("availabilityZone")
    if availability_zone is None:
        availability_zone = "ap-guangzhou-6"
    vpc = tencentcloud.Vpc("vpc", cidr_block="10.0.0.0/16")
    subnet = tencentcloud.Subnet("subnet",
        vpc_id=vpc.vpc_id,
        availability_zone=availability_zone,
        cidr_block="10.0.1.0/24")
    foo = tencentcloud.MonitorGrafanaInstance("foo",
        instance_name="test-grafana",
        vpc_id=vpc.vpc_id,
        subnet_ids=[subnet.subnet_id],
        grafana_init_password="1234567890",
        enable_internet=False,
        tags={
            "createdBy": "test",
        })
    grafana_integration = tencentcloud.MonitorGrafanaIntegration("grafanaIntegration",
        instance_id=foo.monitor_grafana_instance_id,
        kind="tencentcloud-monitor-app",
        content="{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/tencentcloud/tencentcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		availabilityZone := "ap-guangzhou-6"
    		if param := cfg.Get("availabilityZone"); param != "" {
    			availabilityZone = param
    		}
    		vpc, err := tencentcloud.NewVpc(ctx, "vpc", &tencentcloud.VpcArgs{
    			CidrBlock: pulumi.String("10.0.0.0/16"),
    		})
    		if err != nil {
    			return err
    		}
    		subnet, err := tencentcloud.NewSubnet(ctx, "subnet", &tencentcloud.SubnetArgs{
    			VpcId:            vpc.VpcId,
    			AvailabilityZone: pulumi.String(availabilityZone),
    			CidrBlock:        pulumi.String("10.0.1.0/24"),
    		})
    		if err != nil {
    			return err
    		}
    		foo, err := tencentcloud.NewMonitorGrafanaInstance(ctx, "foo", &tencentcloud.MonitorGrafanaInstanceArgs{
    			InstanceName: pulumi.String("test-grafana"),
    			VpcId:        vpc.VpcId,
    			SubnetIds: pulumi.StringArray{
    				subnet.SubnetId,
    			},
    			GrafanaInitPassword: pulumi.String("1234567890"),
    			EnableInternet:      pulumi.Bool(false),
    			Tags: pulumi.StringMap{
    				"createdBy": pulumi.String("test"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = tencentcloud.NewMonitorGrafanaIntegration(ctx, "grafanaIntegration", &tencentcloud.MonitorGrafanaIntegrationArgs{
    			InstanceId: foo.MonitorGrafanaInstanceId,
    			Kind:       pulumi.String("tencentcloud-monitor-app"),
    			Content:    pulumi.String("{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Tencentcloud = Pulumi.Tencentcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-6";
        var vpc = new Tencentcloud.Vpc("vpc", new()
        {
            CidrBlock = "10.0.0.0/16",
        });
    
        var subnet = new Tencentcloud.Subnet("subnet", new()
        {
            VpcId = vpc.VpcId,
            AvailabilityZone = availabilityZone,
            CidrBlock = "10.0.1.0/24",
        });
    
        var foo = new Tencentcloud.MonitorGrafanaInstance("foo", new()
        {
            InstanceName = "test-grafana",
            VpcId = vpc.VpcId,
            SubnetIds = new[]
            {
                subnet.SubnetId,
            },
            GrafanaInitPassword = "1234567890",
            EnableInternet = false,
            Tags = 
            {
                { "createdBy", "test" },
            },
        });
    
        var grafanaIntegration = new Tencentcloud.MonitorGrafanaIntegration("grafanaIntegration", new()
        {
            InstanceId = foo.MonitorGrafanaInstanceId,
            Kind = "tencentcloud-monitor-app",
            Content = "{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.tencentcloud.Vpc;
    import com.pulumi.tencentcloud.VpcArgs;
    import com.pulumi.tencentcloud.Subnet;
    import com.pulumi.tencentcloud.SubnetArgs;
    import com.pulumi.tencentcloud.MonitorGrafanaInstance;
    import com.pulumi.tencentcloud.MonitorGrafanaInstanceArgs;
    import com.pulumi.tencentcloud.MonitorGrafanaIntegration;
    import com.pulumi.tencentcloud.MonitorGrafanaIntegrationArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var config = ctx.config();
            final var availabilityZone = config.get("availabilityZone").orElse("ap-guangzhou-6");
            var vpc = new Vpc("vpc", VpcArgs.builder()
                .cidrBlock("10.0.0.0/16")
                .build());
    
            var subnet = new Subnet("subnet", SubnetArgs.builder()
                .vpcId(vpc.vpcId())
                .availabilityZone(availabilityZone)
                .cidrBlock("10.0.1.0/24")
                .build());
    
            var foo = new MonitorGrafanaInstance("foo", MonitorGrafanaInstanceArgs.builder()
                .instanceName("test-grafana")
                .vpcId(vpc.vpcId())
                .subnetIds(subnet.subnetId())
                .grafanaInitPassword("1234567890")
                .enableInternet(false)
                .tags(Map.of("createdBy", "test"))
                .build());
    
            var grafanaIntegration = new MonitorGrafanaIntegration("grafanaIntegration", MonitorGrafanaIntegrationArgs.builder()
                .instanceId(foo.monitorGrafanaInstanceId())
                .kind("tencentcloud-monitor-app")
                .content("{\"kind\":\"tencentcloud-monitor-app\",\"spec\":{\"dataSourceSpec\":{\"authProvider\":{\"__anyOf\":\"使用密钥\",\"useRole\":true,\"secretId\":\"arunma@tencent.com\",\"secretKey\":\"12345678\"},\"name\":\"uint-test\"},\"grafanaSpec\":{\"organizationIds\":[]}}}")
                .build());
    
        }
    }
    
    configuration:
      availabilityZone:
        type: string
        default: ap-guangzhou-6
    resources:
      vpc:
        type: tencentcloud:Vpc
        properties:
          cidrBlock: 10.0.0.0/16
      subnet:
        type: tencentcloud:Subnet
        properties:
          vpcId: ${vpc.vpcId}
          availabilityZone: ${availabilityZone}
          cidrBlock: 10.0.1.0/24
      foo:
        type: tencentcloud:MonitorGrafanaInstance
        properties:
          instanceName: test-grafana
          vpcId: ${vpc.vpcId}
          subnetIds:
            - ${subnet.subnetId}
          grafanaInitPassword: '1234567890'
          enableInternet: false
          tags:
            createdBy: test
      grafanaIntegration:
        type: tencentcloud:MonitorGrafanaIntegration
        properties:
          instanceId: ${foo.monitorGrafanaInstanceId}
          kind: tencentcloud-monitor-app
          content: '{"kind":"tencentcloud-monitor-app","spec":{"dataSourceSpec":{"authProvider":{"__anyOf":"使用密钥","useRole":true,"secretId":"arunma@tencent.com","secretKey":"12345678"},"name":"uint-test"},"grafanaSpec":{"organizationIds":[]}}}'
    

    Create MonitorGrafanaIntegration Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new MonitorGrafanaIntegration(name: string, args: MonitorGrafanaIntegrationArgs, opts?: CustomResourceOptions);
    @overload
    def MonitorGrafanaIntegration(resource_name: str,
                                  args: MonitorGrafanaIntegrationArgs,
                                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def MonitorGrafanaIntegration(resource_name: str,
                                  opts: Optional[ResourceOptions] = None,
                                  instance_id: Optional[str] = None,
                                  content: Optional[str] = None,
                                  description: Optional[str] = None,
                                  kind: Optional[str] = None,
                                  monitor_grafana_integration_id: Optional[str] = None)
    func NewMonitorGrafanaIntegration(ctx *Context, name string, args MonitorGrafanaIntegrationArgs, opts ...ResourceOption) (*MonitorGrafanaIntegration, error)
    public MonitorGrafanaIntegration(string name, MonitorGrafanaIntegrationArgs args, CustomResourceOptions? opts = null)
    public MonitorGrafanaIntegration(String name, MonitorGrafanaIntegrationArgs args)
    public MonitorGrafanaIntegration(String name, MonitorGrafanaIntegrationArgs args, CustomResourceOptions options)
    
    type: tencentcloud:MonitorGrafanaIntegration
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args MonitorGrafanaIntegrationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args MonitorGrafanaIntegrationArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args MonitorGrafanaIntegrationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args MonitorGrafanaIntegrationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args MonitorGrafanaIntegrationArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    MonitorGrafanaIntegration Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The MonitorGrafanaIntegration resource accepts the following input properties:

    InstanceId string
    grafana instance id.
    Content string
    generated json string of given integration json schema.
    Description string
    integration desc.
    Kind string
    integration json schema kind.
    MonitorGrafanaIntegrationId string
    ID of the resource.
    InstanceId string
    grafana instance id.
    Content string
    generated json string of given integration json schema.
    Description string
    integration desc.
    Kind string
    integration json schema kind.
    MonitorGrafanaIntegrationId string
    ID of the resource.
    instanceId String
    grafana instance id.
    content String
    generated json string of given integration json schema.
    description String
    integration desc.
    kind String
    integration json schema kind.
    monitorGrafanaIntegrationId String
    ID of the resource.
    instanceId string
    grafana instance id.
    content string
    generated json string of given integration json schema.
    description string
    integration desc.
    kind string
    integration json schema kind.
    monitorGrafanaIntegrationId string
    ID of the resource.
    instance_id str
    grafana instance id.
    content str
    generated json string of given integration json schema.
    description str
    integration desc.
    kind str
    integration json schema kind.
    monitor_grafana_integration_id str
    ID of the resource.
    instanceId String
    grafana instance id.
    content String
    generated json string of given integration json schema.
    description String
    integration desc.
    kind String
    integration json schema kind.
    monitorGrafanaIntegrationId String
    ID of the resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the MonitorGrafanaIntegration resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    IntegrationId string
    integration id.
    Id string
    The provider-assigned unique ID for this managed resource.
    IntegrationId string
    integration id.
    id String
    The provider-assigned unique ID for this managed resource.
    integrationId String
    integration id.
    id string
    The provider-assigned unique ID for this managed resource.
    integrationId string
    integration id.
    id str
    The provider-assigned unique ID for this managed resource.
    integration_id str
    integration id.
    id String
    The provider-assigned unique ID for this managed resource.
    integrationId String
    integration id.

    Look up Existing MonitorGrafanaIntegration Resource

    Get an existing MonitorGrafanaIntegration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: MonitorGrafanaIntegrationState, opts?: CustomResourceOptions): MonitorGrafanaIntegration
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            content: Optional[str] = None,
            description: Optional[str] = None,
            instance_id: Optional[str] = None,
            integration_id: Optional[str] = None,
            kind: Optional[str] = None,
            monitor_grafana_integration_id: Optional[str] = None) -> MonitorGrafanaIntegration
    func GetMonitorGrafanaIntegration(ctx *Context, name string, id IDInput, state *MonitorGrafanaIntegrationState, opts ...ResourceOption) (*MonitorGrafanaIntegration, error)
    public static MonitorGrafanaIntegration Get(string name, Input<string> id, MonitorGrafanaIntegrationState? state, CustomResourceOptions? opts = null)
    public static MonitorGrafanaIntegration get(String name, Output<String> id, MonitorGrafanaIntegrationState state, CustomResourceOptions options)
    resources:  _:    type: tencentcloud:MonitorGrafanaIntegration    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Content string
    generated json string of given integration json schema.
    Description string
    integration desc.
    InstanceId string
    grafana instance id.
    IntegrationId string
    integration id.
    Kind string
    integration json schema kind.
    MonitorGrafanaIntegrationId string
    ID of the resource.
    Content string
    generated json string of given integration json schema.
    Description string
    integration desc.
    InstanceId string
    grafana instance id.
    IntegrationId string
    integration id.
    Kind string
    integration json schema kind.
    MonitorGrafanaIntegrationId string
    ID of the resource.
    content String
    generated json string of given integration json schema.
    description String
    integration desc.
    instanceId String
    grafana instance id.
    integrationId String
    integration id.
    kind String
    integration json schema kind.
    monitorGrafanaIntegrationId String
    ID of the resource.
    content string
    generated json string of given integration json schema.
    description string
    integration desc.
    instanceId string
    grafana instance id.
    integrationId string
    integration id.
    kind string
    integration json schema kind.
    monitorGrafanaIntegrationId string
    ID of the resource.
    content str
    generated json string of given integration json schema.
    description str
    integration desc.
    instance_id str
    grafana instance id.
    integration_id str
    integration id.
    kind str
    integration json schema kind.
    monitor_grafana_integration_id str
    ID of the resource.
    content String
    generated json string of given integration json schema.
    description String
    integration desc.
    instanceId String
    grafana instance id.
    integrationId String
    integration id.
    kind String
    integration json schema kind.
    monitorGrafanaIntegrationId String
    ID of the resource.

    Package Details

    Repository
    tencentcloud tencentcloudstack/terraform-provider-tencentcloud
    License
    Notes
    This Pulumi package is based on the tencentcloud Terraform Provider.
    tencentcloud logo
    tencentcloud 1.81.189 published on Wednesday, Apr 30, 2025 by tencentcloudstack