tencentcloud.MonitorTmpTkeAlertPolicy
Explore with Pulumi AI
Provides a resource to create a tke tmpAlertPolicy
NOTE: This resource will be deprecated in a future version, please use
tencentcloud.MonitorTmpAlertGroup
.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as tencentcloud from "@pulumi/tencentcloud";
const config = new pulumi.Config();
const defaultInstanceType = config.get("defaultInstanceType") || "SA1.MEDIUM2";
const availabilityZoneFirst = config.get("availabilityZoneFirst") || "ap-guangzhou-3";
const availabilityZoneSecond = config.get("availabilityZoneSecond") || "ap-guangzhou-4";
const exampleClusterCidr = config.get("exampleClusterCidr") || "10.31.0.0/16";
const vpcOne = tencentcloud.getVpcSubnets({
isDefault: true,
availabilityZone: availabilityZoneFirst,
});
const firstVpcId = vpcOne.then(vpcOne => vpcOne.instanceLists?.[0]?.vpcId);
const firstSubnetId = vpcOne.then(vpcOne => vpcOne.instanceLists?.[0]?.subnetId);
const vpcTwo = tencentcloud.getVpcSubnets({
isDefault: true,
availabilityZone: availabilityZoneSecond,
});
const secondVpcId = vpcTwo.then(vpcTwo => vpcTwo.instanceLists?.[0]?.vpcId);
const secondSubnetId = vpcTwo.then(vpcTwo => vpcTwo.instanceLists?.[0]?.subnetId);
const sg = new tencentcloud.SecurityGroup("sg", {});
const sgId = sg.securityGroupId;
const _default = tencentcloud.getImages({
imageTypes: ["PUBLIC_IMAGE"],
imageNameRegex: "Final",
});
const imageId = _default.then(_default => _default.imageId);
const sgRule = new tencentcloud.SecurityGroupLiteRule("sgRule", {
securityGroupId: sg.securityGroupId,
ingresses: [
"ACCEPT#10.0.0.0/16#ALL#ALL",
"ACCEPT#172.16.0.0/22#ALL#ALL",
"DROP#0.0.0.0/0#ALL#ALL",
],
egresses: ["ACCEPT#172.16.0.0/22#ALL#ALL"],
});
const example = new tencentcloud.KubernetesCluster("example", {
vpcId: firstVpcId,
clusterCidr: exampleClusterCidr,
clusterMaxPodNum: 32,
clusterName: "tf_example_cluster",
clusterDesc: "example for tke cluster",
clusterMaxServiceNum: 32,
clusterInternet: false,
clusterInternetSecurityGroup: sgId,
clusterVersion: "1.22.5",
clusterDeployType: "MANAGED_CLUSTER",
workerConfigs: [
{
count: 1,
availabilityZone: availabilityZoneFirst,
instanceType: defaultInstanceType,
systemDiskType: "CLOUD_SSD",
systemDiskSize: 60,
internetChargeType: "TRAFFIC_POSTPAID_BY_HOUR",
internetMaxBandwidthOut: 100,
publicIpAssigned: true,
subnetId: firstSubnetId,
imgId: imageId,
dataDisks: [{
diskType: "CLOUD_PREMIUM",
diskSize: 50,
}],
enhancedSecurityService: false,
enhancedMonitorService: false,
userData: "dGVzdA==",
password: "ZZXXccvv1212",
},
{
count: 1,
availabilityZone: availabilityZoneSecond,
instanceType: defaultInstanceType,
systemDiskType: "CLOUD_SSD",
systemDiskSize: 60,
internetChargeType: "TRAFFIC_POSTPAID_BY_HOUR",
internetMaxBandwidthOut: 100,
publicIpAssigned: true,
subnetId: secondSubnetId,
dataDisks: [{
diskType: "CLOUD_PREMIUM",
diskSize: 50,
}],
enhancedSecurityService: false,
enhancedMonitorService: false,
userData: "dGVzdA==",
camRoleName: "CVM_QcsRole",
password: "ZZXXccvv1212",
},
],
labels: {
test1: "test1",
test2: "test2",
},
});
const zone = config.get("zone") || "ap-guangzhou";
const clusterType = config.get("clusterType") || "tke";
const fooMonitorTmpInstance = new tencentcloud.MonitorTmpInstance("fooMonitorTmpInstance", {
instanceName: "tf-tmp-instance",
vpcId: firstVpcId,
subnetId: firstSubnetId,
dataRetentionTime: 30,
zone: availabilityZoneSecond,
tags: {
createdBy: "terraform",
},
});
// tmp tke bind
const fooMonitorTmpTkeClusterAgent = new tencentcloud.MonitorTmpTkeClusterAgent("fooMonitorTmpTkeClusterAgent", {
instanceId: fooMonitorTmpInstance.monitorTmpInstanceId,
agents: {
region: zone,
clusterType: clusterType,
clusterId: example.kubernetesClusterId,
enableExternal: false,
},
});
// create record rule
const basic = new tencentcloud.MonitorTmpTkeAlertPolicy("basic", {
instanceId: fooMonitorTmpInstance.monitorTmpInstanceId,
alertRule: {
name: "alert_rule-test",
rules: [{
name: "rules-test",
rule: "(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)",
template: "The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}",
"for": "5m",
labels: [{
name: "severity",
value: "warning",
}],
}],
notification: {
type: "amp",
enabled: true,
alertManager: {
url: "xxx",
},
},
},
}, {
dependsOn: [fooMonitorTmpTkeClusterAgent],
});
import pulumi
import pulumi_tencentcloud as tencentcloud
config = pulumi.Config()
default_instance_type = config.get("defaultInstanceType")
if default_instance_type is None:
default_instance_type = "SA1.MEDIUM2"
availability_zone_first = config.get("availabilityZoneFirst")
if availability_zone_first is None:
availability_zone_first = "ap-guangzhou-3"
availability_zone_second = config.get("availabilityZoneSecond")
if availability_zone_second is None:
availability_zone_second = "ap-guangzhou-4"
example_cluster_cidr = config.get("exampleClusterCidr")
if example_cluster_cidr is None:
example_cluster_cidr = "10.31.0.0/16"
vpc_one = tencentcloud.get_vpc_subnets(is_default=True,
availability_zone=availability_zone_first)
first_vpc_id = vpc_one.instance_lists[0].vpc_id
first_subnet_id = vpc_one.instance_lists[0].subnet_id
vpc_two = tencentcloud.get_vpc_subnets(is_default=True,
availability_zone=availability_zone_second)
second_vpc_id = vpc_two.instance_lists[0].vpc_id
second_subnet_id = vpc_two.instance_lists[0].subnet_id
sg = tencentcloud.SecurityGroup("sg")
sg_id = sg.security_group_id
default = tencentcloud.get_images(image_types=["PUBLIC_IMAGE"],
image_name_regex="Final")
image_id = default.image_id
sg_rule = tencentcloud.SecurityGroupLiteRule("sgRule",
security_group_id=sg.security_group_id,
ingresses=[
"ACCEPT#10.0.0.0/16#ALL#ALL",
"ACCEPT#172.16.0.0/22#ALL#ALL",
"DROP#0.0.0.0/0#ALL#ALL",
],
egresses=["ACCEPT#172.16.0.0/22#ALL#ALL"])
example = tencentcloud.KubernetesCluster("example",
vpc_id=first_vpc_id,
cluster_cidr=example_cluster_cidr,
cluster_max_pod_num=32,
cluster_name="tf_example_cluster",
cluster_desc="example for tke cluster",
cluster_max_service_num=32,
cluster_internet=False,
cluster_internet_security_group=sg_id,
cluster_version="1.22.5",
cluster_deploy_type="MANAGED_CLUSTER",
worker_configs=[
{
"count": 1,
"availability_zone": availability_zone_first,
"instance_type": default_instance_type,
"system_disk_type": "CLOUD_SSD",
"system_disk_size": 60,
"internet_charge_type": "TRAFFIC_POSTPAID_BY_HOUR",
"internet_max_bandwidth_out": 100,
"public_ip_assigned": True,
"subnet_id": first_subnet_id,
"img_id": image_id,
"data_disks": [{
"disk_type": "CLOUD_PREMIUM",
"disk_size": 50,
}],
"enhanced_security_service": False,
"enhanced_monitor_service": False,
"user_data": "dGVzdA==",
"password": "ZZXXccvv1212",
},
{
"count": 1,
"availability_zone": availability_zone_second,
"instance_type": default_instance_type,
"system_disk_type": "CLOUD_SSD",
"system_disk_size": 60,
"internet_charge_type": "TRAFFIC_POSTPAID_BY_HOUR",
"internet_max_bandwidth_out": 100,
"public_ip_assigned": True,
"subnet_id": second_subnet_id,
"data_disks": [{
"disk_type": "CLOUD_PREMIUM",
"disk_size": 50,
}],
"enhanced_security_service": False,
"enhanced_monitor_service": False,
"user_data": "dGVzdA==",
"cam_role_name": "CVM_QcsRole",
"password": "ZZXXccvv1212",
},
],
labels={
"test1": "test1",
"test2": "test2",
})
zone = config.get("zone")
if zone is None:
zone = "ap-guangzhou"
cluster_type = config.get("clusterType")
if cluster_type is None:
cluster_type = "tke"
foo_monitor_tmp_instance = tencentcloud.MonitorTmpInstance("fooMonitorTmpInstance",
instance_name="tf-tmp-instance",
vpc_id=first_vpc_id,
subnet_id=first_subnet_id,
data_retention_time=30,
zone=availability_zone_second,
tags={
"createdBy": "terraform",
})
# tmp tke bind
foo_monitor_tmp_tke_cluster_agent = tencentcloud.MonitorTmpTkeClusterAgent("fooMonitorTmpTkeClusterAgent",
instance_id=foo_monitor_tmp_instance.monitor_tmp_instance_id,
agents={
"region": zone,
"cluster_type": cluster_type,
"cluster_id": example.kubernetes_cluster_id,
"enable_external": False,
})
# create record rule
basic = tencentcloud.MonitorTmpTkeAlertPolicy("basic",
instance_id=foo_monitor_tmp_instance.monitor_tmp_instance_id,
alert_rule={
"name": "alert_rule-test",
"rules": [{
"name": "rules-test",
"rule": "(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)",
"template": "The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}",
"for_": "5m",
"labels": [{
"name": "severity",
"value": "warning",
}],
}],
"notification": {
"type": "amp",
"enabled": True,
"alert_manager": {
"url": "xxx",
},
},
},
opts = pulumi.ResourceOptions(depends_on=[foo_monitor_tmp_tke_cluster_agent]))
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, "")
defaultInstanceType := "SA1.MEDIUM2"
if param := cfg.Get("defaultInstanceType"); param != "" {
defaultInstanceType = param
}
availabilityZoneFirst := "ap-guangzhou-3"
if param := cfg.Get("availabilityZoneFirst"); param != "" {
availabilityZoneFirst = param
}
availabilityZoneSecond := "ap-guangzhou-4"
if param := cfg.Get("availabilityZoneSecond"); param != "" {
availabilityZoneSecond = param
}
exampleClusterCidr := "10.31.0.0/16"
if param := cfg.Get("exampleClusterCidr"); param != "" {
exampleClusterCidr = param
}
vpcOne, err := tencentcloud.GetVpcSubnets(ctx, &tencentcloud.GetVpcSubnetsArgs{
IsDefault: pulumi.BoolRef(true),
AvailabilityZone: pulumi.StringRef(availabilityZoneFirst),
}, nil)
if err != nil {
return err
}
firstVpcId := vpcOne.InstanceLists[0].VpcId
firstSubnetId := vpcOne.InstanceLists[0].SubnetId
vpcTwo, err := tencentcloud.GetVpcSubnets(ctx, &tencentcloud.GetVpcSubnetsArgs{
IsDefault: pulumi.BoolRef(true),
AvailabilityZone: pulumi.StringRef(availabilityZoneSecond),
}, nil)
if err != nil {
return err
}
_ := vpcTwo.InstanceLists[0].VpcId
secondSubnetId := vpcTwo.InstanceLists[0].SubnetId
sg, err := tencentcloud.NewSecurityGroup(ctx, "sg", nil)
if err != nil {
return err
}
sgId := sg.SecurityGroupId
_default, err := tencentcloud.GetImages(ctx, &tencentcloud.GetImagesArgs{
ImageTypes: []string{
"PUBLIC_IMAGE",
},
ImageNameRegex: pulumi.StringRef("Final"),
}, nil)
if err != nil {
return err
}
imageId := _default.ImageId
_, err = tencentcloud.NewSecurityGroupLiteRule(ctx, "sgRule", &tencentcloud.SecurityGroupLiteRuleArgs{
SecurityGroupId: sg.SecurityGroupId,
Ingresses: pulumi.StringArray{
pulumi.String("ACCEPT#10.0.0.0/16#ALL#ALL"),
pulumi.String("ACCEPT#172.16.0.0/22#ALL#ALL"),
pulumi.String("DROP#0.0.0.0/0#ALL#ALL"),
},
Egresses: pulumi.StringArray{
pulumi.String("ACCEPT#172.16.0.0/22#ALL#ALL"),
},
})
if err != nil {
return err
}
example, err := tencentcloud.NewKubernetesCluster(ctx, "example", &tencentcloud.KubernetesClusterArgs{
VpcId: pulumi.String(firstVpcId),
ClusterCidr: pulumi.String(exampleClusterCidr),
ClusterMaxPodNum: pulumi.Float64(32),
ClusterName: pulumi.String("tf_example_cluster"),
ClusterDesc: pulumi.String("example for tke cluster"),
ClusterMaxServiceNum: pulumi.Float64(32),
ClusterInternet: pulumi.Bool(false),
ClusterInternetSecurityGroup: pulumi.String(sgId),
ClusterVersion: pulumi.String("1.22.5"),
ClusterDeployType: pulumi.String("MANAGED_CLUSTER"),
WorkerConfigs: tencentcloud.KubernetesClusterWorkerConfigArray{
&tencentcloud.KubernetesClusterWorkerConfigArgs{
Count: pulumi.Float64(1),
AvailabilityZone: pulumi.String(availabilityZoneFirst),
InstanceType: pulumi.String(defaultInstanceType),
SystemDiskType: pulumi.String("CLOUD_SSD"),
SystemDiskSize: pulumi.Float64(60),
InternetChargeType: pulumi.String("TRAFFIC_POSTPAID_BY_HOUR"),
InternetMaxBandwidthOut: pulumi.Float64(100),
PublicIpAssigned: pulumi.Bool(true),
SubnetId: pulumi.String(firstSubnetId),
ImgId: pulumi.String(imageId),
DataDisks: tencentcloud.KubernetesClusterWorkerConfigDataDiskArray{
&tencentcloud.KubernetesClusterWorkerConfigDataDiskArgs{
DiskType: pulumi.String("CLOUD_PREMIUM"),
DiskSize: pulumi.Float64(50),
},
},
EnhancedSecurityService: pulumi.Bool(false),
EnhancedMonitorService: pulumi.Bool(false),
UserData: pulumi.String("dGVzdA=="),
Password: pulumi.String("ZZXXccvv1212"),
},
&tencentcloud.KubernetesClusterWorkerConfigArgs{
Count: pulumi.Float64(1),
AvailabilityZone: pulumi.String(availabilityZoneSecond),
InstanceType: pulumi.String(defaultInstanceType),
SystemDiskType: pulumi.String("CLOUD_SSD"),
SystemDiskSize: pulumi.Float64(60),
InternetChargeType: pulumi.String("TRAFFIC_POSTPAID_BY_HOUR"),
InternetMaxBandwidthOut: pulumi.Float64(100),
PublicIpAssigned: pulumi.Bool(true),
SubnetId: pulumi.String(secondSubnetId),
DataDisks: tencentcloud.KubernetesClusterWorkerConfigDataDiskArray{
&tencentcloud.KubernetesClusterWorkerConfigDataDiskArgs{
DiskType: pulumi.String("CLOUD_PREMIUM"),
DiskSize: pulumi.Float64(50),
},
},
EnhancedSecurityService: pulumi.Bool(false),
EnhancedMonitorService: pulumi.Bool(false),
UserData: pulumi.String("dGVzdA=="),
CamRoleName: pulumi.String("CVM_QcsRole"),
Password: pulumi.String("ZZXXccvv1212"),
},
},
Labels: pulumi.StringMap{
"test1": pulumi.String("test1"),
"test2": pulumi.String("test2"),
},
})
if err != nil {
return err
}
zone := "ap-guangzhou"
if param := cfg.Get("zone"); param != "" {
zone = param
}
clusterType := "tke"
if param := cfg.Get("clusterType"); param != "" {
clusterType = param
}
fooMonitorTmpInstance, err := tencentcloud.NewMonitorTmpInstance(ctx, "fooMonitorTmpInstance", &tencentcloud.MonitorTmpInstanceArgs{
InstanceName: pulumi.String("tf-tmp-instance"),
VpcId: pulumi.String(firstVpcId),
SubnetId: pulumi.String(firstSubnetId),
DataRetentionTime: pulumi.Float64(30),
Zone: pulumi.String(availabilityZoneSecond),
Tags: pulumi.StringMap{
"createdBy": pulumi.String("terraform"),
},
})
if err != nil {
return err
}
// tmp tke bind
fooMonitorTmpTkeClusterAgent, err := tencentcloud.NewMonitorTmpTkeClusterAgent(ctx, "fooMonitorTmpTkeClusterAgent", &tencentcloud.MonitorTmpTkeClusterAgentArgs{
InstanceId: fooMonitorTmpInstance.MonitorTmpInstanceId,
Agents: &tencentcloud.MonitorTmpTkeClusterAgentAgentsArgs{
Region: pulumi.String(zone),
ClusterType: pulumi.String(clusterType),
ClusterId: example.KubernetesClusterId,
EnableExternal: pulumi.Bool(false),
},
})
if err != nil {
return err
}
// create record rule
_, err = tencentcloud.NewMonitorTmpTkeAlertPolicy(ctx, "basic", &tencentcloud.MonitorTmpTkeAlertPolicyArgs{
InstanceId: fooMonitorTmpInstance.MonitorTmpInstanceId,
AlertRule: &tencentcloud.MonitorTmpTkeAlertPolicyAlertRuleArgs{
Name: pulumi.String("alert_rule-test"),
Rules: tencentcloud.MonitorTmpTkeAlertPolicyAlertRuleRuleArray{
&tencentcloud.MonitorTmpTkeAlertPolicyAlertRuleRuleArgs{
Name: pulumi.String("rules-test"),
Rule: pulumi.String("(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)"),
Template: pulumi.String("The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}"),
For: pulumi.String("5m"),
Labels: tencentcloud.MonitorTmpTkeAlertPolicyAlertRuleRuleLabelArray{
&tencentcloud.MonitorTmpTkeAlertPolicyAlertRuleRuleLabelArgs{
Name: pulumi.String("severity"),
Value: pulumi.String("warning"),
},
},
},
},
Notification: &tencentcloud.MonitorTmpTkeAlertPolicyAlertRuleNotificationArgs{
Type: pulumi.String("amp"),
Enabled: pulumi.Bool(true),
AlertManager: &tencentcloud.MonitorTmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs{
Url: pulumi.String("xxx"),
},
},
},
}, pulumi.DependsOn([]pulumi.Resource{
fooMonitorTmpTkeClusterAgent,
}))
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 defaultInstanceType = config.Get("defaultInstanceType") ?? "SA1.MEDIUM2";
var availabilityZoneFirst = config.Get("availabilityZoneFirst") ?? "ap-guangzhou-3";
var availabilityZoneSecond = config.Get("availabilityZoneSecond") ?? "ap-guangzhou-4";
var exampleClusterCidr = config.Get("exampleClusterCidr") ?? "10.31.0.0/16";
var vpcOne = Tencentcloud.GetVpcSubnets.Invoke(new()
{
IsDefault = true,
AvailabilityZone = availabilityZoneFirst,
});
var firstVpcId = vpcOne.Apply(getVpcSubnetsResult => getVpcSubnetsResult.InstanceLists[0]?.VpcId);
var firstSubnetId = vpcOne.Apply(getVpcSubnetsResult => getVpcSubnetsResult.InstanceLists[0]?.SubnetId);
var vpcTwo = Tencentcloud.GetVpcSubnets.Invoke(new()
{
IsDefault = true,
AvailabilityZone = availabilityZoneSecond,
});
var secondVpcId = vpcTwo.Apply(getVpcSubnetsResult => getVpcSubnetsResult.InstanceLists[0]?.VpcId);
var secondSubnetId = vpcTwo.Apply(getVpcSubnetsResult => getVpcSubnetsResult.InstanceLists[0]?.SubnetId);
var sg = new Tencentcloud.SecurityGroup("sg");
var sgId = sg.SecurityGroupId;
var @default = Tencentcloud.GetImages.Invoke(new()
{
ImageTypes = new[]
{
"PUBLIC_IMAGE",
},
ImageNameRegex = "Final",
});
var imageId = @default.Apply(@default => @default.Apply(getImagesResult => getImagesResult.ImageId));
var sgRule = new Tencentcloud.SecurityGroupLiteRule("sgRule", new()
{
SecurityGroupId = sg.SecurityGroupId,
Ingresses = new[]
{
"ACCEPT#10.0.0.0/16#ALL#ALL",
"ACCEPT#172.16.0.0/22#ALL#ALL",
"DROP#0.0.0.0/0#ALL#ALL",
},
Egresses = new[]
{
"ACCEPT#172.16.0.0/22#ALL#ALL",
},
});
var example = new Tencentcloud.KubernetesCluster("example", new()
{
VpcId = firstVpcId,
ClusterCidr = exampleClusterCidr,
ClusterMaxPodNum = 32,
ClusterName = "tf_example_cluster",
ClusterDesc = "example for tke cluster",
ClusterMaxServiceNum = 32,
ClusterInternet = false,
ClusterInternetSecurityGroup = sgId,
ClusterVersion = "1.22.5",
ClusterDeployType = "MANAGED_CLUSTER",
WorkerConfigs = new[]
{
new Tencentcloud.Inputs.KubernetesClusterWorkerConfigArgs
{
Count = 1,
AvailabilityZone = availabilityZoneFirst,
InstanceType = defaultInstanceType,
SystemDiskType = "CLOUD_SSD",
SystemDiskSize = 60,
InternetChargeType = "TRAFFIC_POSTPAID_BY_HOUR",
InternetMaxBandwidthOut = 100,
PublicIpAssigned = true,
SubnetId = firstSubnetId,
ImgId = imageId,
DataDisks = new[]
{
new Tencentcloud.Inputs.KubernetesClusterWorkerConfigDataDiskArgs
{
DiskType = "CLOUD_PREMIUM",
DiskSize = 50,
},
},
EnhancedSecurityService = false,
EnhancedMonitorService = false,
UserData = "dGVzdA==",
Password = "ZZXXccvv1212",
},
new Tencentcloud.Inputs.KubernetesClusterWorkerConfigArgs
{
Count = 1,
AvailabilityZone = availabilityZoneSecond,
InstanceType = defaultInstanceType,
SystemDiskType = "CLOUD_SSD",
SystemDiskSize = 60,
InternetChargeType = "TRAFFIC_POSTPAID_BY_HOUR",
InternetMaxBandwidthOut = 100,
PublicIpAssigned = true,
SubnetId = secondSubnetId,
DataDisks = new[]
{
new Tencentcloud.Inputs.KubernetesClusterWorkerConfigDataDiskArgs
{
DiskType = "CLOUD_PREMIUM",
DiskSize = 50,
},
},
EnhancedSecurityService = false,
EnhancedMonitorService = false,
UserData = "dGVzdA==",
CamRoleName = "CVM_QcsRole",
Password = "ZZXXccvv1212",
},
},
Labels =
{
{ "test1", "test1" },
{ "test2", "test2" },
},
});
var zone = config.Get("zone") ?? "ap-guangzhou";
var clusterType = config.Get("clusterType") ?? "tke";
var fooMonitorTmpInstance = new Tencentcloud.MonitorTmpInstance("fooMonitorTmpInstance", new()
{
InstanceName = "tf-tmp-instance",
VpcId = firstVpcId,
SubnetId = firstSubnetId,
DataRetentionTime = 30,
Zone = availabilityZoneSecond,
Tags =
{
{ "createdBy", "terraform" },
},
});
// tmp tke bind
var fooMonitorTmpTkeClusterAgent = new Tencentcloud.MonitorTmpTkeClusterAgent("fooMonitorTmpTkeClusterAgent", new()
{
InstanceId = fooMonitorTmpInstance.MonitorTmpInstanceId,
Agents = new Tencentcloud.Inputs.MonitorTmpTkeClusterAgentAgentsArgs
{
Region = zone,
ClusterType = clusterType,
ClusterId = example.KubernetesClusterId,
EnableExternal = false,
},
});
// create record rule
var basic = new Tencentcloud.MonitorTmpTkeAlertPolicy("basic", new()
{
InstanceId = fooMonitorTmpInstance.MonitorTmpInstanceId,
AlertRule = new Tencentcloud.Inputs.MonitorTmpTkeAlertPolicyAlertRuleArgs
{
Name = "alert_rule-test",
Rules = new[]
{
new Tencentcloud.Inputs.MonitorTmpTkeAlertPolicyAlertRuleRuleArgs
{
Name = "rules-test",
Rule = "(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)",
Template = "The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}",
For = "5m",
Labels = new[]
{
new Tencentcloud.Inputs.MonitorTmpTkeAlertPolicyAlertRuleRuleLabelArgs
{
Name = "severity",
Value = "warning",
},
},
},
},
Notification = new Tencentcloud.Inputs.MonitorTmpTkeAlertPolicyAlertRuleNotificationArgs
{
Type = "amp",
Enabled = true,
AlertManager = new Tencentcloud.Inputs.MonitorTmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs
{
Url = "xxx",
},
},
},
}, new CustomResourceOptions
{
DependsOn =
{
fooMonitorTmpTkeClusterAgent,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.tencentcloud.TencentcloudFunctions;
import com.pulumi.tencentcloud.inputs.GetVpcSubnetsArgs;
import com.pulumi.tencentcloud.SecurityGroup;
import com.pulumi.tencentcloud.inputs.GetImagesArgs;
import com.pulumi.tencentcloud.SecurityGroupLiteRule;
import com.pulumi.tencentcloud.SecurityGroupLiteRuleArgs;
import com.pulumi.tencentcloud.KubernetesCluster;
import com.pulumi.tencentcloud.KubernetesClusterArgs;
import com.pulumi.tencentcloud.inputs.KubernetesClusterWorkerConfigArgs;
import com.pulumi.tencentcloud.MonitorTmpInstance;
import com.pulumi.tencentcloud.MonitorTmpInstanceArgs;
import com.pulumi.tencentcloud.MonitorTmpTkeClusterAgent;
import com.pulumi.tencentcloud.MonitorTmpTkeClusterAgentArgs;
import com.pulumi.tencentcloud.inputs.MonitorTmpTkeClusterAgentAgentsArgs;
import com.pulumi.tencentcloud.MonitorTmpTkeAlertPolicy;
import com.pulumi.tencentcloud.MonitorTmpTkeAlertPolicyArgs;
import com.pulumi.tencentcloud.inputs.MonitorTmpTkeAlertPolicyAlertRuleArgs;
import com.pulumi.tencentcloud.inputs.MonitorTmpTkeAlertPolicyAlertRuleNotificationArgs;
import com.pulumi.tencentcloud.inputs.MonitorTmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs;
import com.pulumi.resources.CustomResourceOptions;
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 defaultInstanceType = config.get("defaultInstanceType").orElse("SA1.MEDIUM2");
final var availabilityZoneFirst = config.get("availabilityZoneFirst").orElse("ap-guangzhou-3");
final var availabilityZoneSecond = config.get("availabilityZoneSecond").orElse("ap-guangzhou-4");
final var exampleClusterCidr = config.get("exampleClusterCidr").orElse("10.31.0.0/16");
final var vpcOne = TencentcloudFunctions.getVpcSubnets(GetVpcSubnetsArgs.builder()
.isDefault(true)
.availabilityZone(availabilityZoneFirst)
.build());
final var firstVpcId = vpcOne.applyValue(getVpcSubnetsResult -> getVpcSubnetsResult.instanceLists()[0].vpcId());
final var firstSubnetId = vpcOne.applyValue(getVpcSubnetsResult -> getVpcSubnetsResult.instanceLists()[0].subnetId());
final var vpcTwo = TencentcloudFunctions.getVpcSubnets(GetVpcSubnetsArgs.builder()
.isDefault(true)
.availabilityZone(availabilityZoneSecond)
.build());
final var secondVpcId = vpcTwo.applyValue(getVpcSubnetsResult -> getVpcSubnetsResult.instanceLists()[0].vpcId());
final var secondSubnetId = vpcTwo.applyValue(getVpcSubnetsResult -> getVpcSubnetsResult.instanceLists()[0].subnetId());
var sg = new SecurityGroup("sg");
final var sgId = sg.securityGroupId();
final var default = TencentcloudFunctions.getImages(GetImagesArgs.builder()
.imageTypes("PUBLIC_IMAGE")
.imageNameRegex("Final")
.build());
final var imageId = default_.imageId();
var sgRule = new SecurityGroupLiteRule("sgRule", SecurityGroupLiteRuleArgs.builder()
.securityGroupId(sg.securityGroupId())
.ingresses(
"ACCEPT#10.0.0.0/16#ALL#ALL",
"ACCEPT#172.16.0.0/22#ALL#ALL",
"DROP#0.0.0.0/0#ALL#ALL")
.egresses("ACCEPT#172.16.0.0/22#ALL#ALL")
.build());
var example = new KubernetesCluster("example", KubernetesClusterArgs.builder()
.vpcId(firstVpcId)
.clusterCidr(exampleClusterCidr)
.clusterMaxPodNum(32)
.clusterName("tf_example_cluster")
.clusterDesc("example for tke cluster")
.clusterMaxServiceNum(32)
.clusterInternet(false)
.clusterInternetSecurityGroup(sgId)
.clusterVersion("1.22.5")
.clusterDeployType("MANAGED_CLUSTER")
.workerConfigs(
KubernetesClusterWorkerConfigArgs.builder()
.count(1)
.availabilityZone(availabilityZoneFirst)
.instanceType(defaultInstanceType)
.systemDiskType("CLOUD_SSD")
.systemDiskSize(60)
.internetChargeType("TRAFFIC_POSTPAID_BY_HOUR")
.internetMaxBandwidthOut(100)
.publicIpAssigned(true)
.subnetId(firstSubnetId)
.imgId(imageId)
.dataDisks(KubernetesClusterWorkerConfigDataDiskArgs.builder()
.diskType("CLOUD_PREMIUM")
.diskSize(50)
.build())
.enhancedSecurityService(false)
.enhancedMonitorService(false)
.userData("dGVzdA==")
.password("ZZXXccvv1212")
.build(),
KubernetesClusterWorkerConfigArgs.builder()
.count(1)
.availabilityZone(availabilityZoneSecond)
.instanceType(defaultInstanceType)
.systemDiskType("CLOUD_SSD")
.systemDiskSize(60)
.internetChargeType("TRAFFIC_POSTPAID_BY_HOUR")
.internetMaxBandwidthOut(100)
.publicIpAssigned(true)
.subnetId(secondSubnetId)
.dataDisks(KubernetesClusterWorkerConfigDataDiskArgs.builder()
.diskType("CLOUD_PREMIUM")
.diskSize(50)
.build())
.enhancedSecurityService(false)
.enhancedMonitorService(false)
.userData("dGVzdA==")
.camRoleName("CVM_QcsRole")
.password("ZZXXccvv1212")
.build())
.labels(Map.ofEntries(
Map.entry("test1", "test1"),
Map.entry("test2", "test2")
))
.build());
final var zone = config.get("zone").orElse("ap-guangzhou");
final var clusterType = config.get("clusterType").orElse("tke");
var fooMonitorTmpInstance = new MonitorTmpInstance("fooMonitorTmpInstance", MonitorTmpInstanceArgs.builder()
.instanceName("tf-tmp-instance")
.vpcId(firstVpcId)
.subnetId(firstSubnetId)
.dataRetentionTime(30)
.zone(availabilityZoneSecond)
.tags(Map.of("createdBy", "terraform"))
.build());
// tmp tke bind
var fooMonitorTmpTkeClusterAgent = new MonitorTmpTkeClusterAgent("fooMonitorTmpTkeClusterAgent", MonitorTmpTkeClusterAgentArgs.builder()
.instanceId(fooMonitorTmpInstance.monitorTmpInstanceId())
.agents(MonitorTmpTkeClusterAgentAgentsArgs.builder()
.region(zone)
.clusterType(clusterType)
.clusterId(example.kubernetesClusterId())
.enableExternal(false)
.build())
.build());
// create record rule
var basic = new MonitorTmpTkeAlertPolicy("basic", MonitorTmpTkeAlertPolicyArgs.builder()
.instanceId(fooMonitorTmpInstance.monitorTmpInstanceId())
.alertRule(MonitorTmpTkeAlertPolicyAlertRuleArgs.builder()
.name("alert_rule-test")
.rules(MonitorTmpTkeAlertPolicyAlertRuleRuleArgs.builder()
.name("rules-test")
.rule("(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)")
.template("The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}")
.for_("5m")
.labels(MonitorTmpTkeAlertPolicyAlertRuleRuleLabelArgs.builder()
.name("severity")
.value("warning")
.build())
.build())
.notification(MonitorTmpTkeAlertPolicyAlertRuleNotificationArgs.builder()
.type("amp")
.enabled(true)
.alertManager(MonitorTmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs.builder()
.url("xxx")
.build())
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(fooMonitorTmpTkeClusterAgent)
.build());
}
}
configuration:
defaultInstanceType:
type: string
default: SA1.MEDIUM2
availabilityZoneFirst:
type: string
default: ap-guangzhou-3
availabilityZoneSecond:
type: string
default: ap-guangzhou-4
exampleClusterCidr:
type: string
default: 10.31.0.0/16
# create monitor
zone:
type: string
default: ap-guangzhou
clusterType:
type: string
default: tke
resources:
sg:
type: tencentcloud:SecurityGroup
sgRule:
type: tencentcloud:SecurityGroupLiteRule
properties:
securityGroupId: ${sg.securityGroupId}
ingresses:
- ACCEPT#10.0.0.0/16#ALL#ALL
- ACCEPT#172.16.0.0/22#ALL#ALL
- DROP#0.0.0.0/0#ALL#ALL
egresses:
- ACCEPT#172.16.0.0/22#ALL#ALL
example:
type: tencentcloud:KubernetesCluster
properties:
vpcId: ${firstVpcId}
clusterCidr: ${exampleClusterCidr}
clusterMaxPodNum: 32
clusterName: tf_example_cluster
clusterDesc: example for tke cluster
clusterMaxServiceNum: 32
clusterInternet: false
clusterInternetSecurityGroup: ${sgId}
clusterVersion: 1.22.5
clusterDeployType: MANAGED_CLUSTER
workerConfigs:
- count: 1
availabilityZone: ${availabilityZoneFirst}
instanceType: ${defaultInstanceType}
systemDiskType: CLOUD_SSD
systemDiskSize: 60
internetChargeType: TRAFFIC_POSTPAID_BY_HOUR
internetMaxBandwidthOut: 100
publicIpAssigned: true
subnetId: ${firstSubnetId}
imgId: ${imageId}
dataDisks:
- diskType: CLOUD_PREMIUM
diskSize: 50
enhancedSecurityService: false
enhancedMonitorService: false
userData: dGVzdA==
password: ZZXXccvv1212
- count: 1
availabilityZone: ${availabilityZoneSecond}
instanceType: ${defaultInstanceType}
systemDiskType: CLOUD_SSD
systemDiskSize: 60
internetChargeType: TRAFFIC_POSTPAID_BY_HOUR
internetMaxBandwidthOut: 100
publicIpAssigned: true
subnetId: ${secondSubnetId}
dataDisks:
- diskType: CLOUD_PREMIUM
diskSize: 50
enhancedSecurityService: false
enhancedMonitorService: false
userData: dGVzdA==
camRoleName: CVM_QcsRole
password: ZZXXccvv1212
labels:
test1: test1
test2: test2
fooMonitorTmpInstance:
type: tencentcloud:MonitorTmpInstance
properties:
instanceName: tf-tmp-instance
vpcId: ${firstVpcId}
subnetId: ${firstSubnetId}
dataRetentionTime: 30
zone: ${availabilityZoneSecond}
tags:
createdBy: terraform
# tmp tke bind
fooMonitorTmpTkeClusterAgent:
type: tencentcloud:MonitorTmpTkeClusterAgent
properties:
instanceId: ${fooMonitorTmpInstance.monitorTmpInstanceId}
agents:
region: ${zone}
clusterType: ${clusterType}
clusterId: ${example.kubernetesClusterId}
enableExternal: false
# create record rule
basic:
type: tencentcloud:MonitorTmpTkeAlertPolicy
properties:
instanceId: ${fooMonitorTmpInstance.monitorTmpInstanceId}
alertRule:
name: alert_rule-test
rules:
- name: rules-test
rule: (count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)
template: The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}
for: 5m
labels:
- name: severity
value: warning
notification:
type: amp
enabled: true
alertManager:
url: xxx
options:
dependsOn:
- ${fooMonitorTmpTkeClusterAgent}
variables:
firstVpcId: ${vpcOne.instanceLists[0].vpcId}
firstSubnetId: ${vpcOne.instanceLists[0].subnetId}
secondVpcId: ${vpcTwo.instanceLists[0].vpcId}
secondSubnetId: ${vpcTwo.instanceLists[0].subnetId}
sgId: ${sg.securityGroupId}
imageId: ${default.imageId}
vpcOne:
fn::invoke:
function: tencentcloud:getVpcSubnets
arguments:
isDefault: true
availabilityZone: ${availabilityZoneFirst}
vpcTwo:
fn::invoke:
function: tencentcloud:getVpcSubnets
arguments:
isDefault: true
availabilityZone: ${availabilityZoneSecond}
default:
fn::invoke:
function: tencentcloud:getImages
arguments:
imageTypes:
- PUBLIC_IMAGE
imageNameRegex: Final
Create MonitorTmpTkeAlertPolicy Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new MonitorTmpTkeAlertPolicy(name: string, args: MonitorTmpTkeAlertPolicyArgs, opts?: CustomResourceOptions);
@overload
def MonitorTmpTkeAlertPolicy(resource_name: str,
args: MonitorTmpTkeAlertPolicyArgs,
opts: Optional[ResourceOptions] = None)
@overload
def MonitorTmpTkeAlertPolicy(resource_name: str,
opts: Optional[ResourceOptions] = None,
alert_rule: Optional[MonitorTmpTkeAlertPolicyAlertRuleArgs] = None,
instance_id: Optional[str] = None,
monitor_tmp_tke_alert_policy_id: Optional[str] = None)
func NewMonitorTmpTkeAlertPolicy(ctx *Context, name string, args MonitorTmpTkeAlertPolicyArgs, opts ...ResourceOption) (*MonitorTmpTkeAlertPolicy, error)
public MonitorTmpTkeAlertPolicy(string name, MonitorTmpTkeAlertPolicyArgs args, CustomResourceOptions? opts = null)
public MonitorTmpTkeAlertPolicy(String name, MonitorTmpTkeAlertPolicyArgs args)
public MonitorTmpTkeAlertPolicy(String name, MonitorTmpTkeAlertPolicyArgs args, CustomResourceOptions options)
type: tencentcloud:MonitorTmpTkeAlertPolicy
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 MonitorTmpTkeAlertPolicyArgs
- 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 MonitorTmpTkeAlertPolicyArgs
- 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 MonitorTmpTkeAlertPolicyArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args MonitorTmpTkeAlertPolicyArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args MonitorTmpTkeAlertPolicyArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
MonitorTmpTkeAlertPolicy 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 MonitorTmpTkeAlertPolicy resource accepts the following input properties:
- Alert
Rule MonitorTmp Tke Alert Policy Alert Rule - Alarm notification channels.
- Instance
Id string - Instance Id.
- Monitor
Tmp stringTke Alert Policy Id - ID of the resource.
- Alert
Rule MonitorTmp Tke Alert Policy Alert Rule Args - Alarm notification channels.
- Instance
Id string - Instance Id.
- Monitor
Tmp stringTke Alert Policy Id - ID of the resource.
- alert
Rule MonitorTmp Tke Alert Policy Alert Rule - Alarm notification channels.
- instance
Id String - Instance Id.
- monitor
Tmp StringTke Alert Policy Id - ID of the resource.
- alert
Rule MonitorTmp Tke Alert Policy Alert Rule - Alarm notification channels.
- instance
Id string - Instance Id.
- monitor
Tmp stringTke Alert Policy Id - ID of the resource.
- alert_
rule MonitorTmp Tke Alert Policy Alert Rule Args - Alarm notification channels.
- instance_
id str - Instance Id.
- monitor_
tmp_ strtke_ alert_ policy_ id - ID of the resource.
- alert
Rule Property Map - Alarm notification channels.
- instance
Id String - Instance Id.
- monitor
Tmp StringTke Alert Policy Id - ID of the resource.
Outputs
All input properties are implicitly available as output properties. Additionally, the MonitorTmpTkeAlertPolicy resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing MonitorTmpTkeAlertPolicy Resource
Get an existing MonitorTmpTkeAlertPolicy 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?: MonitorTmpTkeAlertPolicyState, opts?: CustomResourceOptions): MonitorTmpTkeAlertPolicy
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
alert_rule: Optional[MonitorTmpTkeAlertPolicyAlertRuleArgs] = None,
instance_id: Optional[str] = None,
monitor_tmp_tke_alert_policy_id: Optional[str] = None) -> MonitorTmpTkeAlertPolicy
func GetMonitorTmpTkeAlertPolicy(ctx *Context, name string, id IDInput, state *MonitorTmpTkeAlertPolicyState, opts ...ResourceOption) (*MonitorTmpTkeAlertPolicy, error)
public static MonitorTmpTkeAlertPolicy Get(string name, Input<string> id, MonitorTmpTkeAlertPolicyState? state, CustomResourceOptions? opts = null)
public static MonitorTmpTkeAlertPolicy get(String name, Output<String> id, MonitorTmpTkeAlertPolicyState state, CustomResourceOptions options)
resources: _: type: tencentcloud:MonitorTmpTkeAlertPolicy 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.
- Alert
Rule MonitorTmp Tke Alert Policy Alert Rule - Alarm notification channels.
- Instance
Id string - Instance Id.
- Monitor
Tmp stringTke Alert Policy Id - ID of the resource.
- Alert
Rule MonitorTmp Tke Alert Policy Alert Rule Args - Alarm notification channels.
- Instance
Id string - Instance Id.
- Monitor
Tmp stringTke Alert Policy Id - ID of the resource.
- alert
Rule MonitorTmp Tke Alert Policy Alert Rule - Alarm notification channels.
- instance
Id String - Instance Id.
- monitor
Tmp StringTke Alert Policy Id - ID of the resource.
- alert
Rule MonitorTmp Tke Alert Policy Alert Rule - Alarm notification channels.
- instance
Id string - Instance Id.
- monitor
Tmp stringTke Alert Policy Id - ID of the resource.
- alert_
rule MonitorTmp Tke Alert Policy Alert Rule Args - Alarm notification channels.
- instance_
id str - Instance Id.
- monitor_
tmp_ strtke_ alert_ policy_ id - ID of the resource.
- alert
Rule Property Map - Alarm notification channels.
- instance
Id String - Instance Id.
- monitor
Tmp StringTke Alert Policy Id - ID of the resource.
Supporting Types
MonitorTmpTkeAlertPolicyAlertRule, MonitorTmpTkeAlertPolicyAlertRuleArgs
- Name string
- Rule name.
- Rules
List<Monitor
Tmp Tke Alert Policy Alert Rule Rule> - A list of rules.
- Cluster
Id string - If the alarm policy is derived from the CRD resource definition of the user cluster, the ClusterId is the cluster ID to which it belongs.
- Id string
- Alarm policy ID. Note: This field may return null, indicating that a valid value could not be retrieved.
- Notification
Monitor
Tmp Tke Alert Policy Alert Rule Notification - Alarm channels, which may be returned using null in the template.
- Template
Id string - If the alarm is sent from a template, the TemplateId is the template id.
- Updated
At string - Last modified time.
- Name string
- Rule name.
- Rules
[]Monitor
Tmp Tke Alert Policy Alert Rule Rule - A list of rules.
- Cluster
Id string - If the alarm policy is derived from the CRD resource definition of the user cluster, the ClusterId is the cluster ID to which it belongs.
- Id string
- Alarm policy ID. Note: This field may return null, indicating that a valid value could not be retrieved.
- Notification
Monitor
Tmp Tke Alert Policy Alert Rule Notification - Alarm channels, which may be returned using null in the template.
- Template
Id string - If the alarm is sent from a template, the TemplateId is the template id.
- Updated
At string - Last modified time.
- name String
- Rule name.
- rules
List<Monitor
Tmp Tke Alert Policy Alert Rule Rule> - A list of rules.
- cluster
Id String - If the alarm policy is derived from the CRD resource definition of the user cluster, the ClusterId is the cluster ID to which it belongs.
- id String
- Alarm policy ID. Note: This field may return null, indicating that a valid value could not be retrieved.
- notification
Monitor
Tmp Tke Alert Policy Alert Rule Notification - Alarm channels, which may be returned using null in the template.
- template
Id String - If the alarm is sent from a template, the TemplateId is the template id.
- updated
At String - Last modified time.
- name string
- Rule name.
- rules
Monitor
Tmp Tke Alert Policy Alert Rule Rule[] - A list of rules.
- cluster
Id string - If the alarm policy is derived from the CRD resource definition of the user cluster, the ClusterId is the cluster ID to which it belongs.
- id string
- Alarm policy ID. Note: This field may return null, indicating that a valid value could not be retrieved.
- notification
Monitor
Tmp Tke Alert Policy Alert Rule Notification - Alarm channels, which may be returned using null in the template.
- template
Id string - If the alarm is sent from a template, the TemplateId is the template id.
- updated
At string - Last modified time.
- name str
- Rule name.
- rules
Sequence[Monitor
Tmp Tke Alert Policy Alert Rule Rule] - A list of rules.
- cluster_
id str - If the alarm policy is derived from the CRD resource definition of the user cluster, the ClusterId is the cluster ID to which it belongs.
- id str
- Alarm policy ID. Note: This field may return null, indicating that a valid value could not be retrieved.
- notification
Monitor
Tmp Tke Alert Policy Alert Rule Notification - Alarm channels, which may be returned using null in the template.
- template_
id str - If the alarm is sent from a template, the TemplateId is the template id.
- updated_
at str - Last modified time.
- name String
- Rule name.
- rules List<Property Map>
- A list of rules.
- cluster
Id String - If the alarm policy is derived from the CRD resource definition of the user cluster, the ClusterId is the cluster ID to which it belongs.
- id String
- Alarm policy ID. Note: This field may return null, indicating that a valid value could not be retrieved.
- notification Property Map
- Alarm channels, which may be returned using null in the template.
- template
Id String - If the alarm is sent from a template, the TemplateId is the template id.
- updated
At String - Last modified time.
MonitorTmpTkeAlertPolicyAlertRuleNotification, MonitorTmpTkeAlertPolicyAlertRuleNotificationArgs
- Enabled bool
- Whether it is enabled.
- Type string
- The channel type, which defaults to amp, supports the following
amp
,webhook
,alertmanager
. - Alert
Manager MonitorTmp Tke Alert Policy Alert Rule Notification Alert Manager - If Type is alertmanager, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved..
- Notify
Ways List<string> - Alarm notification method. At present, there are SMS, EMAIL, CALL, WECHAT methods.
- Phone
Arrive boolNotice - Telephone alerts reach notifications.
- Phone
Circle doubleInterval - Effective end timeTelephone alarm wheel interval. Units: Seconds.
- Phone
Circle doubleTimes - PhoneCircleTimes.
- Phone
Inner doubleInterval - Telephone alarm wheel intervals. Units: Seconds.
- Phone
Notify List<double>Orders - Telephone alarm sequence.
- Receiver
Groups List<string> - Alert Receiving Group (User Group).
- Repeat
Interval string - Convergence time.
- Time
Range stringEnd - Effective end time.
- Time
Range stringStart - The time from which it takes effect.
- Web
Hook string - If Type is webhook, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved.
- Enabled bool
- Whether it is enabled.
- Type string
- The channel type, which defaults to amp, supports the following
amp
,webhook
,alertmanager
. - Alert
Manager MonitorTmp Tke Alert Policy Alert Rule Notification Alert Manager - If Type is alertmanager, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved..
- Notify
Ways []string - Alarm notification method. At present, there are SMS, EMAIL, CALL, WECHAT methods.
- Phone
Arrive boolNotice - Telephone alerts reach notifications.
- Phone
Circle float64Interval - Effective end timeTelephone alarm wheel interval. Units: Seconds.
- Phone
Circle float64Times - PhoneCircleTimes.
- Phone
Inner float64Interval - Telephone alarm wheel intervals. Units: Seconds.
- Phone
Notify []float64Orders - Telephone alarm sequence.
- Receiver
Groups []string - Alert Receiving Group (User Group).
- Repeat
Interval string - Convergence time.
- Time
Range stringEnd - Effective end time.
- Time
Range stringStart - The time from which it takes effect.
- Web
Hook string - If Type is webhook, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved.
- enabled Boolean
- Whether it is enabled.
- type String
- The channel type, which defaults to amp, supports the following
amp
,webhook
,alertmanager
. - alert
Manager MonitorTmp Tke Alert Policy Alert Rule Notification Alert Manager - If Type is alertmanager, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved..
- notify
Ways List<String> - Alarm notification method. At present, there are SMS, EMAIL, CALL, WECHAT methods.
- phone
Arrive BooleanNotice - Telephone alerts reach notifications.
- phone
Circle DoubleInterval - Effective end timeTelephone alarm wheel interval. Units: Seconds.
- phone
Circle DoubleTimes - PhoneCircleTimes.
- phone
Inner DoubleInterval - Telephone alarm wheel intervals. Units: Seconds.
- phone
Notify List<Double>Orders - Telephone alarm sequence.
- receiver
Groups List<String> - Alert Receiving Group (User Group).
- repeat
Interval String - Convergence time.
- time
Range StringEnd - Effective end time.
- time
Range StringStart - The time from which it takes effect.
- web
Hook String - If Type is webhook, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved.
- enabled boolean
- Whether it is enabled.
- type string
- The channel type, which defaults to amp, supports the following
amp
,webhook
,alertmanager
. - alert
Manager MonitorTmp Tke Alert Policy Alert Rule Notification Alert Manager - If Type is alertmanager, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved..
- notify
Ways string[] - Alarm notification method. At present, there are SMS, EMAIL, CALL, WECHAT methods.
- phone
Arrive booleanNotice - Telephone alerts reach notifications.
- phone
Circle numberInterval - Effective end timeTelephone alarm wheel interval. Units: Seconds.
- phone
Circle numberTimes - PhoneCircleTimes.
- phone
Inner numberInterval - Telephone alarm wheel intervals. Units: Seconds.
- phone
Notify number[]Orders - Telephone alarm sequence.
- receiver
Groups string[] - Alert Receiving Group (User Group).
- repeat
Interval string - Convergence time.
- time
Range stringEnd - Effective end time.
- time
Range stringStart - The time from which it takes effect.
- web
Hook string - If Type is webhook, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved.
- enabled bool
- Whether it is enabled.
- type str
- The channel type, which defaults to amp, supports the following
amp
,webhook
,alertmanager
. - alert_
manager MonitorTmp Tke Alert Policy Alert Rule Notification Alert Manager - If Type is alertmanager, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved..
- notify_
ways Sequence[str] - Alarm notification method. At present, there are SMS, EMAIL, CALL, WECHAT methods.
- phone_
arrive_ boolnotice - Telephone alerts reach notifications.
- phone_
circle_ floatinterval - Effective end timeTelephone alarm wheel interval. Units: Seconds.
- phone_
circle_ floattimes - PhoneCircleTimes.
- phone_
inner_ floatinterval - Telephone alarm wheel intervals. Units: Seconds.
- phone_
notify_ Sequence[float]orders - Telephone alarm sequence.
- receiver_
groups Sequence[str] - Alert Receiving Group (User Group).
- repeat_
interval str - Convergence time.
- time_
range_ strend - Effective end time.
- time_
range_ strstart - The time from which it takes effect.
- web_
hook str - If Type is webhook, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved.
- enabled Boolean
- Whether it is enabled.
- type String
- The channel type, which defaults to amp, supports the following
amp
,webhook
,alertmanager
. - alert
Manager Property Map - If Type is alertmanager, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved..
- notify
Ways List<String> - Alarm notification method. At present, there are SMS, EMAIL, CALL, WECHAT methods.
- phone
Arrive BooleanNotice - Telephone alerts reach notifications.
- phone
Circle NumberInterval - Effective end timeTelephone alarm wheel interval. Units: Seconds.
- phone
Circle NumberTimes - PhoneCircleTimes.
- phone
Inner NumberInterval - Telephone alarm wheel intervals. Units: Seconds.
- phone
Notify List<Number>Orders - Telephone alarm sequence.
- receiver
Groups List<String> - Alert Receiving Group (User Group).
- repeat
Interval String - Convergence time.
- time
Range StringEnd - Effective end time.
- time
Range StringStart - The time from which it takes effect.
- web
Hook String - If Type is webhook, the field is required. Note: This field may return null, indicating that a valid value could not be retrieved.
MonitorTmpTkeAlertPolicyAlertRuleNotificationAlertManager, MonitorTmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs
- Url string
- Alertmanager url.
- Cluster
Id string - The ID of the cluster where the alertmanager is deployed. Note: This field may return null, indicating that a valid value could not be retrieved.
- Cluster
Type string - Alertmanager is deployed in the cluster type. Note: This field may return null, indicating that a valid value could not be retrieved.
- Url string
- Alertmanager url.
- Cluster
Id string - The ID of the cluster where the alertmanager is deployed. Note: This field may return null, indicating that a valid value could not be retrieved.
- Cluster
Type string - Alertmanager is deployed in the cluster type. Note: This field may return null, indicating that a valid value could not be retrieved.
- url String
- Alertmanager url.
- cluster
Id String - The ID of the cluster where the alertmanager is deployed. Note: This field may return null, indicating that a valid value could not be retrieved.
- cluster
Type String - Alertmanager is deployed in the cluster type. Note: This field may return null, indicating that a valid value could not be retrieved.
- url string
- Alertmanager url.
- cluster
Id string - The ID of the cluster where the alertmanager is deployed. Note: This field may return null, indicating that a valid value could not be retrieved.
- cluster
Type string - Alertmanager is deployed in the cluster type. Note: This field may return null, indicating that a valid value could not be retrieved.
- url str
- Alertmanager url.
- cluster_
id str - The ID of the cluster where the alertmanager is deployed. Note: This field may return null, indicating that a valid value could not be retrieved.
- cluster_
type str - Alertmanager is deployed in the cluster type. Note: This field may return null, indicating that a valid value could not be retrieved.
- url String
- Alertmanager url.
- cluster
Id String - The ID of the cluster where the alertmanager is deployed. Note: This field may return null, indicating that a valid value could not be retrieved.
- cluster
Type String - Alertmanager is deployed in the cluster type. Note: This field may return null, indicating that a valid value could not be retrieved.
MonitorTmpTkeAlertPolicyAlertRuleRule, MonitorTmpTkeAlertPolicyAlertRuleRuleArgs
- For string
- Time of duration.
- Labels
List<Monitor
Tmp Tke Alert Policy Alert Rule Rule Label> - Extra labels.
- Name string
- Rule name.
- Rule string
- Prometheus statement.
- Template string
- Alert sending template.
- Annotations
List<Monitor
Tmp Tke Alert Policy Alert Rule Rule Annotation> - Refer to annotations in prometheus rule.
- Describe string
- A description of the rule.
- Rule
State double - Alarm rule status.
- For string
- Time of duration.
- Labels
[]Monitor
Tmp Tke Alert Policy Alert Rule Rule Label - Extra labels.
- Name string
- Rule name.
- Rule string
- Prometheus statement.
- Template string
- Alert sending template.
- Annotations
[]Monitor
Tmp Tke Alert Policy Alert Rule Rule Annotation - Refer to annotations in prometheus rule.
- Describe string
- A description of the rule.
- Rule
State float64 - Alarm rule status.
- for_ String
- Time of duration.
- labels
List<Monitor
Tmp Tke Alert Policy Alert Rule Rule Label> - Extra labels.
- name String
- Rule name.
- rule String
- Prometheus statement.
- template String
- Alert sending template.
- annotations
List<Monitor
Tmp Tke Alert Policy Alert Rule Rule Annotation> - Refer to annotations in prometheus rule.
- describe String
- A description of the rule.
- rule
State Double - Alarm rule status.
- for string
- Time of duration.
- labels
Monitor
Tmp Tke Alert Policy Alert Rule Rule Label[] - Extra labels.
- name string
- Rule name.
- rule string
- Prometheus statement.
- template string
- Alert sending template.
- annotations
Monitor
Tmp Tke Alert Policy Alert Rule Rule Annotation[] - Refer to annotations in prometheus rule.
- describe string
- A description of the rule.
- rule
State number - Alarm rule status.
- for_ str
- Time of duration.
- labels
Sequence[Monitor
Tmp Tke Alert Policy Alert Rule Rule Label] - Extra labels.
- name str
- Rule name.
- rule str
- Prometheus statement.
- template str
- Alert sending template.
- annotations
Sequence[Monitor
Tmp Tke Alert Policy Alert Rule Rule Annotation] - Refer to annotations in prometheus rule.
- describe str
- A description of the rule.
- rule_
state float - Alarm rule status.
- for String
- Time of duration.
- labels List<Property Map>
- Extra labels.
- name String
- Rule name.
- rule String
- Prometheus statement.
- template String
- Alert sending template.
- annotations List<Property Map>
- Refer to annotations in prometheus rule.
- describe String
- A description of the rule.
- rule
State Number - Alarm rule status.
MonitorTmpTkeAlertPolicyAlertRuleRuleAnnotation, MonitorTmpTkeAlertPolicyAlertRuleRuleAnnotationArgs
MonitorTmpTkeAlertPolicyAlertRuleRuleLabel, MonitorTmpTkeAlertPolicyAlertRuleRuleLabelArgs
Package Details
- Repository
- tencentcloud tencentcloudstack/terraform-provider-tencentcloud
- License
- Notes
- This Pulumi package is based on the
tencentcloud
Terraform Provider.