From c643342c705f5ef04039ea658aaeadce520cc621 Mon Sep 17 00:00:00 2001 From: hellertang Date: Fri, 26 Jan 2024 10:13:49 +0800 Subject: [PATCH] sysnc provider v1.81.70 --- .../pulumi-resource-tencentcloud/schema.json | 649 +++++++++++++++++- provider/go.mod | 14 +- provider/go.sum | 35 +- sdk/dotnet/Tencentcloud/Cfw/EdgePolicy.cs | 12 + .../Cfw/Inputs/VpcPolicyBetaListArgs.cs | 29 + .../Cfw/Inputs/VpcPolicyBetaListGetArgs.cs | 29 + sdk/dotnet/Tencentcloud/Cfw/NatPolicy.cs | 12 + .../Cfw/Outputs/VpcPolicyBetaList.cs | 34 + sdk/dotnet/Tencentcloud/Cfw/VpcPolicy.cs | 42 ++ sdk/dotnet/Tencentcloud/Clb/Instance.cs | 58 ++ sdk/dotnet/Tencentcloud/Clb/Listener.cs | 8 +- .../Clickhouse/GetInstanceNodes.cs | 198 ++++++ ...ceNodesInstanceNodesListNodeGroupResult.cs | 43 ++ ...GetInstanceNodesInstanceNodesListResult.cs | 92 +++ .../Tencentcloud/Monitor/GrafanaInstance.cs | 18 + ...GroupCustomReceiverAllowedTimeRangeArgs.cs | 32 + ...upCustomReceiverAllowedTimeRangeGetArgs.cs | 32 + .../Inputs/TmpAlertGroupCustomReceiverArgs.cs | 56 ++ .../TmpAlertGroupCustomReceiverGetArgs.cs | 56 ++ .../Monitor/Inputs/TmpAlertGroupRuleArgs.cs | 68 ++ .../Inputs/TmpAlertGroupRuleGetArgs.cs | 68 ++ .../Outputs/TmpAlertGroupCustomReceiver.cs | 57 ++ ...lertGroupCustomReceiverAllowedTimeRange.cs | 36 + .../Monitor/Outputs/TmpAlertGroupRule.cs | 64 ++ .../Tencentcloud/Monitor/TmpAlertGroup.cs | 277 ++++++++ .../Tencentcloud/Monitor/TmpAlertRule.cs | 2 + .../Tencentcloud/Monitor/TmpTkeAlertPolicy.cs | 2 + sdk/dotnet/Tencentcloud/Vpc/Acl.cs | 12 +- sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs | 36 + sdk/dotnet/Tencentcloud/Vpn/Connection.cs | 6 +- sdk/go/tencentcloud/cfw/edgePolicy.go | 11 + sdk/go/tencentcloud/cfw/natPolicy.go | 11 + sdk/go/tencentcloud/cfw/pulumiTypes.go | 110 +++ sdk/go/tencentcloud/cfw/vpcPolicy.go | 33 + sdk/go/tencentcloud/clb/instance.go | 60 ++ sdk/go/tencentcloud/clb/listener.go | 18 +- .../clickhouse/getInstanceNodes.go | 156 +++++ sdk/go/tencentcloud/clickhouse/pulumiTypes.go | 303 ++++++++ .../tencentcloud/monitor/grafanaInstance.go | 15 + sdk/go/tencentcloud/monitor/init.go | 7 + sdk/go/tencentcloud/monitor/pulumiTypes.go | 475 +++++++++++++ sdk/go/tencentcloud/monitor/tmpAlertGroup.go | 357 ++++++++++ sdk/go/tencentcloud/monitor/tmpAlertRule.go | 2 + .../tencentcloud/monitor/tmpTkeAlertPolicy.go | 2 + sdk/go/tencentcloud/vpc/acl.go | 24 +- sdk/go/tencentcloud/vpc/endPoint.go | 24 +- sdk/go/tencentcloud/vpn/connection.go | 12 +- sdk/nodejs/cfw/edgePolicy.ts | 10 + sdk/nodejs/cfw/natPolicy.ts | 10 + sdk/nodejs/cfw/vpcPolicy.ts | 31 + sdk/nodejs/clb/instance.ts | 35 + sdk/nodejs/clb/listener.ts | 8 +- sdk/nodejs/clickhouse/getInstanceNodes.ts | 113 +++ sdk/nodejs/clickhouse/index.ts | 1 + sdk/nodejs/monitor/grafanaInstance.ts | 14 + sdk/nodejs/monitor/index.ts | 5 + sdk/nodejs/monitor/tmpAlertGroup.ts | 203 ++++++ sdk/nodejs/monitor/tmpAlertRule.ts | 2 + sdk/nodejs/monitor/tmpTkeAlertPolicy.ts | 2 + sdk/nodejs/tsconfig.json | 2 + sdk/nodejs/types/input.ts | 92 ++- sdk/nodejs/types/output.ts | 126 ++++ sdk/nodejs/vpc/acl.ts | 12 +- sdk/nodejs/vpc/endPoint.ts | 19 + sdk/nodejs/vpn/connection.ts | 6 +- .../tencentcloud_iac_pulumi/__init__.py | 8 + .../tencentcloud_iac_pulumi/cfw/_inputs.py | 42 ++ .../cfw/edge_policy.py | 28 + .../tencentcloud_iac_pulumi/cfw/nat_policy.py | 28 + .../tencentcloud_iac_pulumi/cfw/outputs.py | 51 ++ .../tencentcloud_iac_pulumi/cfw/vpc_policy.py | 86 +++ .../tencentcloud_iac_pulumi/clb/instance.py | 87 +++ .../tencentcloud_iac_pulumi/clb/listener.py | 16 +- .../clickhouse/__init__.py | 1 + .../clickhouse/get_instance_nodes.py | 185 +++++ .../clickhouse/outputs.py | 159 +++++ .../monitor/__init__.py | 1 + .../monitor/_inputs.py | 232 +++++++ .../monitor/grafana_instance.py | 47 ++ .../monitor/outputs.py | 218 ++++++ .../monitor/tmp_alert_group.py | 488 +++++++++++++ .../monitor/tmp_alert_rule.py | 4 + .../monitor/tmp_tke_alert_policy.py | 4 + sdk/python/tencentcloud_iac_pulumi/vpc/acl.py | 28 +- .../tencentcloud_iac_pulumi/vpc/end_point.py | 59 +- .../tencentcloud_iac_pulumi/vpn/connection.py | 14 +- 86 files changed, 6032 insertions(+), 142 deletions(-) create mode 100644 sdk/dotnet/Tencentcloud/Cfw/Inputs/VpcPolicyBetaListArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cfw/Inputs/VpcPolicyBetaListGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Cfw/Outputs/VpcPolicyBetaList.cs create mode 100644 sdk/dotnet/Tencentcloud/Clickhouse/GetInstanceNodes.cs create mode 100644 sdk/dotnet/Tencentcloud/Clickhouse/Outputs/GetInstanceNodesInstanceNodesListNodeGroupResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Clickhouse/Outputs/GetInstanceNodesInstanceNodesListResult.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverAllowedTimeRangeArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverAllowedTimeRangeGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupRuleArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupRuleGetArgs.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupCustomReceiver.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupCustomReceiverAllowedTimeRange.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupRule.cs create mode 100644 sdk/dotnet/Tencentcloud/Monitor/TmpAlertGroup.cs create mode 100644 sdk/go/tencentcloud/clickhouse/getInstanceNodes.go create mode 100644 sdk/go/tencentcloud/monitor/tmpAlertGroup.go create mode 100644 sdk/nodejs/clickhouse/getInstanceNodes.ts create mode 100644 sdk/nodejs/monitor/tmpAlertGroup.ts create mode 100644 sdk/python/tencentcloud_iac_pulumi/clickhouse/get_instance_nodes.py create mode 100644 sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_group.py diff --git a/provider/cmd/pulumi-resource-tencentcloud/schema.json b/provider/cmd/pulumi-resource-tencentcloud/schema.json index 6ad431acb..e83cae951 100644 --- a/provider/cmd/pulumi-resource-tencentcloud/schema.json +++ b/provider/cmd/pulumi-resource-tencentcloud/schema.json @@ -16107,6 +16107,35 @@ "zoneSets" ] }, + "tencentcloud:Cfw/VpcPolicyBetaList:VpcPolicyBetaList": { + "properties": { + "lastTime": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "taskId": { + "type": "integer", + "language": { + "python": { + "mapCase": false + } + } + }, + "taskName": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, "tencentcloud:Cfw/getEdgeFwSwitchesData:getEdgeFwSwitchesData": { "properties": { "assetType": { @@ -42866,6 +42895,163 @@ } } }, + "tencentcloud:Clickhouse/getInstanceNodesInstanceNodesList:getInstanceNodesInstanceNodesList": { + "properties": { + "cluster": { + "type": "string", + "description": "Name of the clickhouse cluster to which it belongs.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "core": { + "type": "integer", + "description": "CPU cores.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "diskSize": { + "type": "integer", + "description": "Disk size.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "diskType": { + "type": "string", + "description": "Disk type.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "ip": { + "type": "string", + "description": "IP Address.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "isChProxy": { + "type": "boolean", + "description": "When true, it indicates that the chproxy process has been deployed on the node.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "memory": { + "type": "integer", + "description": "Memory size.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "nodeGroups": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Clickhouse/getInstanceNodesInstanceNodesListNodeGroup:getInstanceNodesInstanceNodesListNodeGroup" + }, + "description": "Group information to which the node belongs.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "rip": { + "type": "string", + "description": "VPC IP.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "spec": { + "type": "string", + "description": "Model, such as S1.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "cluster", + "core", + "diskSize", + "diskType", + "ip", + "isChProxy", + "memory", + "nodeGroups", + "rip", + "spec" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Clickhouse/getInstanceNodesInstanceNodesListNodeGroup:getInstanceNodesInstanceNodesListNodeGroup": { + "properties": { + "groupName": { + "type": "string", + "description": "Group Name.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "replicaName": { + "type": "string", + "description": "Copy variable name.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "shardName": { + "type": "string", + "description": "Fragmented variable name.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "groupName", + "replicaName", + "shardName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Clickhouse/getSpecAttachCbsSpec:getSpecAttachCbsSpec": { "properties": { "diskCount": { @@ -103336,6 +103522,147 @@ } } }, + "tencentcloud:Monitor/TmpAlertGroupCustomReceiver:TmpAlertGroupCustomReceiver": { + "properties": { + "allowedTimeRanges": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Monitor/TmpAlertGroupCustomReceiverAllowedTimeRange:TmpAlertGroupCustomReceiverAllowedTimeRange" + }, + "description": "Time ranges which allow alert message send.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "clusterId": { + "type": "string", + "description": "Only effect when alertmanager in user cluster, this cluster id.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "clusterType": { + "type": "string", + "description": "Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc).\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "type": { + "type": "string", + "description": "Custom receiver type, webhook|alertmanager.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "url": { + "type": "string", + "description": "Custom receiver address, can be accessed by process in prometheus instance subnet.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "tencentcloud:Monitor/TmpAlertGroupCustomReceiverAllowedTimeRange:TmpAlertGroupCustomReceiverAllowedTimeRange": { + "properties": { + "end": { + "type": "string", + "description": "Time range end, seconds since 0 o'clock.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "start": { + "type": "string", + "description": "Time range start, seconds since 0 o'clock.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, + "tencentcloud:Monitor/TmpAlertGroupRule:TmpAlertGroupRule": { + "properties": { + "annotations": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "duration": { + "type": "string", + "description": "Rule alarm duration.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "expr": { + "type": "string", + "description": "Prometheus alert expression.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Labels of alert rule.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "ruleName": { + "type": "string", + "description": "Alert rule name.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "state": { + "type": "integer", + "description": "Rule state. `2`-enable, `3`-disable, default `2`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, "tencentcloud:Monitor/TmpAlertRuleAnnotation:TmpAlertRuleAnnotation": { "properties": { "key": { @@ -208839,6 +209166,10 @@ "type": "string", "description": "Rule status, true means enabled, false means disabled. Default is true.\n" }, + "paramTemplateId": { + "type": "string", + "description": "Parameter template id.\n" + }, "port": { "type": "string", "description": "The port for the access control policy. Value: -1/-1: All ports 80: Port 80.\n" @@ -208878,6 +209209,7 @@ }, "required": [ "direction", + "paramTemplateId", "port", "protocol", "ruleAction", @@ -208958,6 +209290,10 @@ "type": "string", "description": "Rule status, true means enabled, false means disabled. Default is true.\n" }, + "paramTemplateId": { + "type": "string", + "description": "Parameter template id.\n" + }, "port": { "type": "string", "description": "The port for the access control policy. Value: -1/-1: All ports 80: Port 80.\n" @@ -209202,6 +209538,10 @@ "type": "string", "description": "Rule status, true means enabled, false means disabled. Default is true.\n" }, + "paramTemplateId": { + "type": "string", + "description": "Parameter template id. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, "port": { "type": "string", "description": "The port for the access control policy. Value: -1/-1: All ports 80: Port 80.\n" @@ -209237,6 +209577,7 @@ }, "required": [ "direction", + "paramTemplateId", "port", "protocol", "ruleAction", @@ -209313,6 +209654,10 @@ "type": "string", "description": "Rule status, true means enabled, false means disabled. Default is true.\n" }, + "paramTemplateId": { + "type": "string", + "description": "Parameter template id. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, "port": { "type": "string", "description": "The port for the access control policy. Value: -1/-1: All ports 80: Port 80.\n" @@ -209574,6 +209919,13 @@ "tencentcloud:Cfw/vpcPolicy:VpcPolicy": { "description": "Provides a resource to create a cfw vpc_policy\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = new tencentcloud.Cfw.VpcPolicy(\"example\", {\n description: \"description.\",\n destContent: \"192.168.0.2\",\n destType: \"net\",\n enable: \"true\",\n fwGroupId: \"ALL\",\n port: \"-1/-1\",\n protocol: \"ANY\",\n ruleAction: \"log\",\n sourceContent: \"0.0.0.0/0\",\n sourceType: \"net\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.cfw.VpcPolicy(\"example\",\n description=\"description.\",\n dest_content=\"192.168.0.2\",\n dest_type=\"net\",\n enable=\"true\",\n fw_group_id=\"ALL\",\n port=\"-1/-1\",\n protocol=\"ANY\",\n rule_action=\"log\",\n source_content=\"0.0.0.0/0\",\n source_type=\"net\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Tencentcloud.Cfw.VpcPolicy(\"example\", new Tencentcloud.Cfw.VpcPolicyArgs\n {\n Description = \"description.\",\n DestContent = \"192.168.0.2\",\n DestType = \"net\",\n Enable = \"true\",\n FwGroupId = \"ALL\",\n Port = \"-1/-1\",\n Protocol = \"ANY\",\n RuleAction = \"log\",\n SourceContent = \"0.0.0.0/0\",\n SourceType = \"net\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cfw\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cfw.NewVpcPolicy(ctx, \"example\", \u0026Cfw.VpcPolicyArgs{\n\t\t\tDescription: pulumi.String(\"description.\"),\n\t\t\tDestContent: pulumi.String(\"192.168.0.2\"),\n\t\t\tDestType: pulumi.String(\"net\"),\n\t\t\tEnable: pulumi.String(\"true\"),\n\t\t\tFwGroupId: pulumi.String(\"ALL\"),\n\t\t\tPort: pulumi.String(\"-1/-1\"),\n\t\t\tProtocol: pulumi.String(\"ANY\"),\n\t\t\tRuleAction: pulumi.String(\"log\"),\n\t\t\tSourceContent: pulumi.String(\"0.0.0.0/0\"),\n\t\t\tSourceType: pulumi.String(\"net\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VpcPolicy(\"example\", VpcPolicyArgs.builder() \n .description(\"description.\")\n .destContent(\"192.168.0.2\")\n .destType(\"net\")\n .enable(\"true\")\n .fwGroupId(\"ALL\")\n .port(\"-1/-1\")\n .protocol(\"ANY\")\n .ruleAction(\"log\")\n .sourceContent(\"0.0.0.0/0\")\n .sourceType(\"net\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Cfw:VpcPolicy\n properties:\n description: description.\n destContent: 192.168.0.2\n destType: net\n enable: true\n fwGroupId: ALL\n port: -1/-1\n protocol: ANY\n ruleAction: log\n sourceContent: 0.0.0.0/0\n sourceType: net\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\ncfw vpc_policy can be imported using the id, e.g.\n\n```sh\n $ pulumi import tencentcloud:Cfw/vpcPolicy:VpcPolicy vpc_policy vpc_policy_id\n```\n\n ", "properties": { + "betaLists": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cfw/VpcPolicyBetaList:VpcPolicyBetaList" + }, + "description": "Beta mission details. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, "description": { "type": "string", "description": "Describe.\n" @@ -209602,6 +209954,14 @@ "type": "integer", "description": "Uuid used internally, this field is generally not used.\n" }, + "paramTemplateId": { + "type": "string", + "description": "Parameter template id. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "paramTemplateName": { + "type": "string", + "description": "Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, "port": { "type": "string", "description": "The port for the access control policy. Value: -1/-1: All ports; 80: port 80.\n" @@ -209628,11 +209988,14 @@ } }, "required": [ + "betaLists", "description", "destContent", "destType", "fwGroupName", "internalUuid", + "paramTemplateId", + "paramTemplateName", "port", "protocol", "ruleAction", @@ -209695,6 +210058,13 @@ "stateInputs": { "description": "Input properties used for looking up and filtering VpcPolicy resources.\n", "properties": { + "betaLists": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Cfw/VpcPolicyBetaList:VpcPolicyBetaList" + }, + "description": "Beta mission details. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, "description": { "type": "string", "description": "Describe.\n" @@ -209723,6 +210093,14 @@ "type": "integer", "description": "Uuid used internally, this field is generally not used.\n" }, + "paramTemplateId": { + "type": "string", + "description": "Parameter template id. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, + "paramTemplateName": { + "type": "string", + "description": "Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained.\n" + }, "port": { "type": "string", "description": "The port for the access control policy. Value: -1/-1: All ports; 80: port 80.\n" @@ -213782,7 +214160,7 @@ } }, "tencentcloud:Clb/instance:Instance": { - "description": "Provides a resource to create a CLB instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### INTERNAL CLB\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst internalClb = new tencentcloud.Clb.Instance(\"internal_clb\", {\n clbName: \"myclb\",\n networkType: \"INTERNAL\",\n projectId: 0,\n subnetId: \"subnet-12rastkr\",\n tags: {\n test: \"tf\",\n },\n vpcId: \"vpc-7007ll7q\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n network_type=\"INTERNAL\",\n project_id=0,\n subnet_id=\"subnet-12rastkr\",\n tags={\n \"test\": \"tf\",\n },\n vpc_id=\"vpc-7007ll7q\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"myclb\",\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SubnetId = \"subnet-12rastkr\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = \"vpc-7007ll7q\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSubnetId: pulumi.String(\"subnet-12rastkr\"),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-7007ll7q\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"INTERNAL\")\n .projectId(0)\n .subnetId(\"subnet-12rastkr\")\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(\"vpc-7007ll7q\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: INTERNAL\n projectId: 0\n subnetId: subnet-12rastkr\n tags:\n test: tf\n vpcId: vpc-7007ll7q\n```\n{{% /example %}}\n{{% example %}}\n### LCU-supported CLB\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst internalClb = new tencentcloud.Clb.Instance(\"internal_clb\", {\n clbName: \"myclb\",\n networkType: \"INTERNAL\",\n projectId: 0,\n slaType: \"clb.c3.medium\",\n subnetId: \"subnet-o3a5nt20\",\n tags: {\n test: \"tf\",\n },\n vpcId: \"vpc-2hfyray3\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n network_type=\"INTERNAL\",\n project_id=0,\n sla_type=\"clb.c3.medium\",\n subnet_id=\"subnet-o3a5nt20\",\n tags={\n \"test\": \"tf\",\n },\n vpc_id=\"vpc-2hfyray3\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"myclb\",\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SlaType = \"clb.c3.medium\",\n SubnetId = \"subnet-o3a5nt20\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = \"vpc-2hfyray3\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSlaType: pulumi.String(\"clb.c3.medium\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-o3a5nt20\"),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-2hfyray3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"INTERNAL\")\n .projectId(0)\n .slaType(\"clb.c3.medium\")\n .subnetId(\"subnet-o3a5nt20\")\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(\"vpc-2hfyray3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: INTERNAL\n projectId: 0\n slaType: clb.c3.medium\n subnetId: subnet-o3a5nt20\n tags:\n test: tf\n vpcId: vpc-2hfyray3\n```\n{{% /example %}}\n{{% example %}}\n### OPEN CLB\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst openClb = new tencentcloud.Clb.Instance(\"open_clb\", {\n clbName: \"myclb\",\n networkType: \"OPEN\",\n projectId: 0,\n securityGroups: [\"sg-o0ek7r93\"],\n tags: {\n test: \"tf\",\n },\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: \"vpc-da7ffa61\",\n vpcId: \"vpc-da7ffa61\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n clb_name=\"myclb\",\n network_type=\"OPEN\",\n project_id=0,\n security_groups=[\"sg-o0ek7r93\"],\n tags={\n \"test\": \"tf\",\n },\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=\"vpc-da7ffa61\",\n vpc_id=\"vpc-da7ffa61\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"myclb\",\n NetworkType = \"OPEN\",\n ProjectId = 0,\n SecurityGroups = \n {\n \"sg-o0ek7r93\",\n },\n Tags = \n {\n { \"test\", \"tf\" },\n },\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = \"vpc-da7ffa61\",\n VpcId = \"vpc-da7ffa61\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-o0ek7r93\"),\n\t\t\t},\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: pulumi.String(\"vpc-da7ffa61\"),\n\t\t\tVpcId: pulumi.String(\"vpc-da7ffa61\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"OPEN\")\n .projectId(0)\n .securityGroups(\"sg-o0ek7r93\")\n .tags(Map.of(\"test\", \"tf\"))\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(\"vpc-da7ffa61\")\n .vpcId(\"vpc-da7ffa61\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: OPEN\n projectId: 0\n securityGroups:\n - sg-o0ek7r93\n tags:\n test: tf\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: vpc-da7ffa61\n vpcId: vpc-da7ffa61\n```\n{{% /example %}}\n{{% example %}}\n### OPNE CLB with VipIsp\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst example = new tencentcloud.vpc.BandwidthPackage(\"example\", {\n networkType: \"SINGLEISP_CMCC\",\n chargeType: \"ENHANCED95_POSTPAID_BY_MONTH\",\n bandwidthPackageName: \"tf-example\",\n internetMaxBandwidth: 300,\n egress: \"center_egress1\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n networkType: \"OPEN\",\n clbName: \"my-open-clb\",\n projectId: 0,\n vpcId: \"vpc-4owdpnwr\",\n vipIsp: \"CMCC\",\n internetChargeType: \"BANDWIDTH_PACKAGE\",\n bandwidthPackageId: example.id,\n tags: {\n test: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.vpc.BandwidthPackage(\"example\",\n network_type=\"SINGLEISP_CMCC\",\n charge_type=\"ENHANCED95_POSTPAID_BY_MONTH\",\n bandwidth_package_name=\"tf-example\",\n internet_max_bandwidth=300,\n egress=\"center_egress1\",\n tags={\n \"createdBy\": \"terraform\",\n })\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n network_type=\"OPEN\",\n clb_name=\"my-open-clb\",\n project_id=0,\n vpc_id=\"vpc-4owdpnwr\",\n vip_isp=\"CMCC\",\n internet_charge_type=\"BANDWIDTH_PACKAGE\",\n bandwidth_package_id=example.id,\n tags={\n \"test\": \"open\",\n })\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Tencentcloud.Vpc.BandwidthPackage(\"example\", new Tencentcloud.Vpc.BandwidthPackageArgs\n {\n NetworkType = \"SINGLEISP_CMCC\",\n ChargeType = \"ENHANCED95_POSTPAID_BY_MONTH\",\n BandwidthPackageName = \"tf-example\",\n InternetMaxBandwidth = 300,\n Egress = \"center_egress1\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new Tencentcloud.Clb.InstanceArgs\n {\n NetworkType = \"OPEN\",\n ClbName = \"my-open-clb\",\n ProjectId = 0,\n VpcId = \"vpc-4owdpnwr\",\n VipIsp = \"CMCC\",\n InternetChargeType = \"BANDWIDTH_PACKAGE\",\n BandwidthPackageId = example.Id,\n Tags = \n {\n { \"test\", \"open\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := Vpc.NewBandwidthPackage(ctx, \"example\", \u0026Vpc.BandwidthPackageArgs{\n\t\t\tNetworkType: pulumi.String(\"SINGLEISP_CMCC\"),\n\t\t\tChargeType: pulumi.String(\"ENHANCED95_POSTPAID_BY_MONTH\"),\n\t\t\tBandwidthPackageName: pulumi.String(\"tf-example\"),\n\t\t\tInternetMaxBandwidth: pulumi.Int(300),\n\t\t\tEgress: pulumi.String(\"center_egress1\"),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"my-open-clb\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: pulumi.String(\"vpc-4owdpnwr\"),\n\t\t\tVipIsp: pulumi.String(\"CMCC\"),\n\t\t\tInternetChargeType: pulumi.String(\"BANDWIDTH_PACKAGE\"),\n\t\t\tBandwidthPackageId: example.ID(),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"open\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BandwidthPackage(\"example\", BandwidthPackageArgs.builder() \n .networkType(\"SINGLEISP_CMCC\")\n .chargeType(\"ENHANCED95_POSTPAID_BY_MONTH\")\n .bandwidthPackageName(\"tf-example\")\n .internetMaxBandwidth(300)\n .egress(\"center_egress1\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"my-open-clb\")\n .projectId(0)\n .vpcId(\"vpc-4owdpnwr\")\n .vipIsp(\"CMCC\")\n .internetChargeType(\"BANDWIDTH_PACKAGE\")\n .bandwidthPackageId(example.id())\n .tags(Map.of(\"test\", \"open\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Vpc:BandwidthPackage\n properties:\n networkType: SINGLEISP_CMCC\n chargeType: ENHANCED95_POSTPAID_BY_MONTH\n bandwidthPackageName: tf-example\n internetMaxBandwidth: 300\n egress: center_egress1\n tags:\n createdBy: terraform\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: my-open-clb\n projectId: 0\n vpcId: vpc-4owdpnwr\n vipIsp: CMCC\n internetChargeType: BANDWIDTH_PACKAGE\n bandwidthPackageId: ${example.id}\n tags:\n test: open\n```\n{{% /example %}}\n{{% example %}}\n### Dynamic Vip Instance\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst fooGroup = new tencentcloud.security.Group(\"fooGroup\", {});\nconst fooInstance = new tencentcloud.vpc.Instance(\"fooInstance\", {cidrBlock: \"10.0.0.0/16\"});\nconst clbOpen = new tencentcloud.clb.Instance(\"clbOpen\", {\n networkType: \"OPEN\",\n clbName: \"clb-instance-open\",\n projectId: 0,\n vpcId: fooInstance.id,\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: fooInstance.id,\n securityGroups: [fooGroup.id],\n dynamicVip: true,\n tags: {\n test: \"tf\",\n },\n});\nexport const domain = clbOpen.domain;\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo_group = tencentcloud.security.Group(\"fooGroup\")\nfoo_instance = tencentcloud.vpc.Instance(\"fooInstance\", cidr_block=\"10.0.0.0/16\")\nclb_open = tencentcloud.clb.Instance(\"clbOpen\",\n network_type=\"OPEN\",\n clb_name=\"clb-instance-open\",\n project_id=0,\n vpc_id=foo_instance.id,\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=foo_instance.id,\n security_groups=[foo_group.id],\n dynamic_vip=True,\n tags={\n \"test\": \"tf\",\n })\npulumi.export(\"domain\", clb_open.domain)\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var fooGroup = new Tencentcloud.Security.Group(\"fooGroup\", new Tencentcloud.Security.GroupArgs\n {\n });\n var fooInstance = new Tencentcloud.Vpc.Instance(\"fooInstance\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n var clbOpen = new Tencentcloud.Clb.Instance(\"clbOpen\", new Tencentcloud.Clb.InstanceArgs\n {\n NetworkType = \"OPEN\",\n ClbName = \"clb-instance-open\",\n ProjectId = 0,\n VpcId = fooInstance.Id,\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = fooInstance.Id,\n SecurityGroups = \n {\n fooGroup.Id,\n },\n DynamicVip = true,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n this.Domain = clbOpen.Domain;\n }\n\n [Output(\"domain\")]\n public Output\u003cstring\u003e Domain { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooGroup, err := Security.NewGroup(ctx, \"fooGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooInstance, err := Vpc.NewInstance(ctx, \"fooInstance\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclbOpen, err := Clb.NewInstance(ctx, \"clbOpen\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"clb-instance-open\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: fooInstance.ID(),\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: fooInstance.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tfooGroup.ID(),\n\t\t\t},\n\t\t\tDynamicVip: pulumi.Bool(true),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"domain\", clbOpen.Domain)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooGroup = new Group(\"fooGroup\");\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var clbOpen = new Instance(\"clbOpen\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"clb-instance-open\")\n .projectId(0)\n .vpcId(fooInstance.id())\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(fooInstance.id())\n .securityGroups(fooGroup.id())\n .dynamicVip(true)\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n ctx.export(\"domain\", clbOpen.domain());\n }\n}\n```\n```yaml\nresources:\n fooGroup:\n type: tencentcloud:Security:Group\n fooInstance:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n clbOpen:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: clb-instance-open\n projectId: 0\n vpcId: ${fooInstance.id}\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: ${fooInstance.id}\n securityGroups:\n - ${fooGroup.id}\n dynamicVip: true\n tags:\n test: tf\noutputs:\n domain: ${clbOpen.domain}\n```\n{{% /example %}}\n{{% example %}}\n### Default enable\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst foo = new tencentcloud.vpc.Instance(\"foo\", {\n cidrBlock: \"10.0.0.0/16\",\n tags: {\n test: \"mytest\",\n },\n});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: \"ap-guangzhou-1\",\n vpcId: foo.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\nconst sglab = new tencentcloud.security.Group(\"sglab\", {\n description: \"favourite sg\",\n projectId: 0,\n});\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n networkType: \"OPEN\",\n clbName: \"my-open-clb\",\n projectId: 0,\n vpcId: foo.id,\n loadBalancerPassToTarget: true,\n securityGroups: [sglab.id],\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: foo.id,\n tags: {\n test: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.vpc.Instance(\"foo\",\n cidr_block=\"10.0.0.0/16\",\n tags={\n \"test\": \"mytest\",\n })\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=\"ap-guangzhou-1\",\n vpc_id=foo.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\nsglab = tencentcloud.security.Group(\"sglab\",\n description=\"favourite sg\",\n project_id=0)\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n network_type=\"OPEN\",\n clb_name=\"my-open-clb\",\n project_id=0,\n vpc_id=foo.id,\n load_balancer_pass_to_target=True,\n security_groups=[sglab.id],\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=foo.id,\n tags={\n \"test\": \"open\",\n })\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var foo = new Tencentcloud.Vpc.Instance(\"foo\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n Tags = \n {\n { \"test\", \"mytest\" },\n },\n });\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new Tencentcloud.Subnet.InstanceArgs\n {\n AvailabilityZone = \"ap-guangzhou-1\",\n VpcId = foo.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n var sglab = new Tencentcloud.Security.Group(\"sglab\", new Tencentcloud.Security.GroupArgs\n {\n Description = \"favourite sg\",\n ProjectId = 0,\n });\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new Tencentcloud.Clb.InstanceArgs\n {\n NetworkType = \"OPEN\",\n ClbName = \"my-open-clb\",\n ProjectId = 0,\n VpcId = foo.Id,\n LoadBalancerPassToTarget = true,\n SecurityGroups = \n {\n sglab.Id,\n },\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = foo.Id,\n Tags = \n {\n { \"test\", \"open\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := Vpc.NewInstance(ctx, \"foo\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"mytest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-1\"),\n\t\t\tVpcId: foo.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsglab, err := Security.NewGroup(ctx, \"sglab\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"favourite sg\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"my-open-clb\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: foo.ID(),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsglab.ID(),\n\t\t\t},\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: foo.ID(),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"open\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Instance(\"foo\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .tags(Map.of(\"test\", \"mytest\"))\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-1\")\n .vpcId(foo.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n var sglab = new Group(\"sglab\", GroupArgs.builder() \n .description(\"favourite sg\")\n .projectId(0)\n .build());\n\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"my-open-clb\")\n .projectId(0)\n .vpcId(foo.id())\n .loadBalancerPassToTarget(true)\n .securityGroups(sglab.id())\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(foo.id())\n .tags(Map.of(\"test\", \"open\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ap-guangzhou-1\n vpcId: ${foo.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n sglab:\n type: tencentcloud:Security:Group\n properties:\n description: favourite sg\n projectId: 0\n foo:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n tags:\n test: mytest\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: my-open-clb\n projectId: 0\n vpcId: ${foo.id}\n loadBalancerPassToTarget: true\n securityGroups:\n - ${sglab.id}\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: ${foo.id}\n tags:\n test: open\n```\n{{% /example %}}\n{{% example %}}\n### CREATE multiple instance\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst openClb1 = new tencentcloud.Clb.Instance(\"open_clb1\", {\n clbName: \"hello\",\n masterZoneId: \"ap-guangzhou-3\",\n networkType: \"OPEN\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_clb1 = tencentcloud.clb.Instance(\"openClb1\",\n clb_name=\"hello\",\n master_zone_id=\"ap-guangzhou-3\",\n network_type=\"OPEN\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var openClb1 = new Tencentcloud.Clb.Instance(\"openClb1\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"hello\",\n MasterZoneId = \"ap-guangzhou-3\",\n NetworkType = \"OPEN\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"openClb1\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"hello\"),\n\t\t\tMasterZoneId: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var openClb1 = new Instance(\"openClb1\", InstanceArgs.builder() \n .clbName(\"hello\")\n .masterZoneId(\"ap-guangzhou-3\")\n .networkType(\"OPEN\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openClb1:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: hello\n masterZoneId: ap-guangzhou-3\n networkType: OPEN\n```\n{{% /example %}}\n{{% example %}}\n### CREATE instance with log\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst vpcTest = new tencentcloud.Vpc.Instance(\"vpc_test\", {\n cidrBlock: \"10.0.0.0/16\",\n});\nconst rtbTest = new tencentcloud.Route.Table(\"rtb_test\", {\n vpcId: vpcTest.id,\n});\nconst subnetTest = new tencentcloud.Subnet.Instance(\"subnet_test\", {\n availabilityZone: \"ap-guangzhou-3\",\n cidrBlock: \"10.0.1.0/24\",\n routeTableId: rtbTest.id,\n vpcId: vpcTest.id,\n});\nconst set = new tencentcloud.Clb.LogSet(\"set\", {\n period: 7,\n});\nconst topic = new tencentcloud.Clb.LogTopic(\"topic\", {\n logSetId: set.id,\n topicName: \"clb-topic\",\n});\nconst internalClb = new tencentcloud.Clb.Instance(\"internal_clb\", {\n clbName: \"myclb\",\n loadBalancerPassToTarget: true,\n logSetId: set.id,\n logTopicId: topic.id,\n networkType: \"INTERNAL\",\n projectId: 0,\n subnetId: subnetTest.id,\n tags: {\n test: \"tf\",\n },\n vpcId: vpcTest.id,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nvpc_test = tencentcloud.vpc.Instance(\"vpcTest\", cidr_block=\"10.0.0.0/16\")\nrtb_test = tencentcloud.route.Table(\"rtbTest\", vpc_id=vpc_test.id)\nsubnet_test = tencentcloud.subnet.Instance(\"subnetTest\",\n availability_zone=\"ap-guangzhou-3\",\n cidr_block=\"10.0.1.0/24\",\n route_table_id=rtb_test.id,\n vpc_id=vpc_test.id)\nset = tencentcloud.clb.LogSet(\"set\", period=7)\ntopic = tencentcloud.clb.LogTopic(\"topic\",\n log_set_id=set.id,\n topic_name=\"clb-topic\")\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n load_balancer_pass_to_target=True,\n log_set_id=set.id,\n log_topic_id=topic.id,\n network_type=\"INTERNAL\",\n project_id=0,\n subnet_id=subnet_test.id,\n tags={\n \"test\": \"tf\",\n },\n vpc_id=vpc_test.id)\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var vpcTest = new Tencentcloud.Vpc.Instance(\"vpcTest\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n var rtbTest = new Tencentcloud.Route.Table(\"rtbTest\", new Tencentcloud.Route.TableArgs\n {\n VpcId = vpcTest.Id,\n });\n var subnetTest = new Tencentcloud.Subnet.Instance(\"subnetTest\", new Tencentcloud.Subnet.InstanceArgs\n {\n AvailabilityZone = \"ap-guangzhou-3\",\n CidrBlock = \"10.0.1.0/24\",\n RouteTableId = rtbTest.Id,\n VpcId = vpcTest.Id,\n });\n var @set = new Tencentcloud.Clb.LogSet(\"set\", new Tencentcloud.Clb.LogSetArgs\n {\n Period = 7,\n });\n var topic = new Tencentcloud.Clb.LogTopic(\"topic\", new Tencentcloud.Clb.LogTopicArgs\n {\n LogSetId = @set.Id,\n TopicName = \"clb-topic\",\n });\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"myclb\",\n LoadBalancerPassToTarget = true,\n LogSetId = @set.Id,\n LogTopicId = topic.Id,\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SubnetId = subnetTest.Id,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = vpcTest.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Route\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpcTest, err := Vpc.NewInstance(ctx, \"vpcTest\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trtbTest, err := Route.NewTable(ctx, \"rtbTest\", \u0026Route.TableArgs{\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetTest, err := Subnet.NewInstance(ctx, \"subnetTest\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tRouteTableId: rtbTest.ID(),\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tset, err := Clb.NewLogSet(ctx, \"set\", \u0026Clb.LogSetArgs{\n\t\t\tPeriod: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopic, err := Clb.NewLogTopic(ctx, \"topic\", \u0026Clb.LogTopicArgs{\n\t\t\tLogSetId: set.ID(),\n\t\t\tTopicName: pulumi.String(\"clb-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tLogSetId: set.ID(),\n\t\t\tLogTopicId: topic.ID(),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSubnetId: subnetTest.ID(),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vpcTest = new Instance(\"vpcTest\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var rtbTest = new Table(\"rtbTest\", TableArgs.builder() \n .vpcId(vpcTest.id())\n .build());\n\n var subnetTest = new Instance(\"subnetTest\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-3\")\n .cidrBlock(\"10.0.1.0/24\")\n .routeTableId(rtbTest.id())\n .vpcId(vpcTest.id())\n .build());\n\n var set = new LogSet(\"set\", LogSetArgs.builder() \n .period(7)\n .build());\n\n var topic = new LogTopic(\"topic\", LogTopicArgs.builder() \n .logSetId(set.id())\n .topicName(\"clb-topic\")\n .build());\n\n var internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .loadBalancerPassToTarget(true)\n .logSetId(set.id())\n .logTopicId(topic.id())\n .networkType(\"INTERNAL\")\n .projectId(0)\n .subnetId(subnetTest.id())\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(vpcTest.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpcTest:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n rtbTest:\n type: tencentcloud:Route:Table\n properties:\n vpcId: ${vpcTest.id}\n subnetTest:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ap-guangzhou-3\n cidrBlock: 10.0.1.0/24\n routeTableId: ${rtbTest.id}\n vpcId: ${vpcTest.id}\n set:\n type: tencentcloud:Clb:LogSet\n properties:\n period: 7\n topic:\n type: tencentcloud:Clb:LogTopic\n properties:\n logSetId: ${set.id}\n topicName: clb-topic\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n loadBalancerPassToTarget: true\n logSetId: ${set.id}\n logTopicId: ${topic.id}\n networkType: INTERNAL\n projectId: 0\n subnetId: ${subnetTest.id}\n tags:\n test: tf\n vpcId: ${vpcTest.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCLB instance can be imported using the id, e.g.\n\n```sh\n $ pulumi import tencentcloud:Clb/instance:Instance foo lb-7a0t6zqb\n```\n\n ", + "description": "Provides a resource to create a CLB instance.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### INTERNAL CLB\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst internalClb = new tencentcloud.Clb.Instance(\"internal_clb\", {\n clbName: \"myclb\",\n networkType: \"INTERNAL\",\n projectId: 0,\n subnetId: \"subnet-12rastkr\",\n tags: {\n test: \"tf\",\n },\n vpcId: \"vpc-7007ll7q\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n network_type=\"INTERNAL\",\n project_id=0,\n subnet_id=\"subnet-12rastkr\",\n tags={\n \"test\": \"tf\",\n },\n vpc_id=\"vpc-7007ll7q\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"myclb\",\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SubnetId = \"subnet-12rastkr\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = \"vpc-7007ll7q\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSubnetId: pulumi.String(\"subnet-12rastkr\"),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-7007ll7q\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"INTERNAL\")\n .projectId(0)\n .subnetId(\"subnet-12rastkr\")\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(\"vpc-7007ll7q\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: INTERNAL\n projectId: 0\n subnetId: subnet-12rastkr\n tags:\n test: tf\n vpcId: vpc-7007ll7q\n```\n{{% /example %}}\n{{% example %}}\n### LCU-supported CLB\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst internalClb = new tencentcloud.Clb.Instance(\"internal_clb\", {\n clbName: \"myclb\",\n networkType: \"INTERNAL\",\n projectId: 0,\n slaType: \"clb.c3.medium\",\n subnetId: \"subnet-o3a5nt20\",\n tags: {\n test: \"tf\",\n },\n vpcId: \"vpc-2hfyray3\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n network_type=\"INTERNAL\",\n project_id=0,\n sla_type=\"clb.c3.medium\",\n subnet_id=\"subnet-o3a5nt20\",\n tags={\n \"test\": \"tf\",\n },\n vpc_id=\"vpc-2hfyray3\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"myclb\",\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SlaType = \"clb.c3.medium\",\n SubnetId = \"subnet-o3a5nt20\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = \"vpc-2hfyray3\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSlaType: pulumi.String(\"clb.c3.medium\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-o3a5nt20\"),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-2hfyray3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"INTERNAL\")\n .projectId(0)\n .slaType(\"clb.c3.medium\")\n .subnetId(\"subnet-o3a5nt20\")\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(\"vpc-2hfyray3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: INTERNAL\n projectId: 0\n slaType: clb.c3.medium\n subnetId: subnet-o3a5nt20\n tags:\n test: tf\n vpcId: vpc-2hfyray3\n```\n{{% /example %}}\n{{% example %}}\n### OPEN CLB\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst openClb = new tencentcloud.Clb.Instance(\"open_clb\", {\n clbName: \"myclb\",\n networkType: \"OPEN\",\n projectId: 0,\n securityGroups: [\"sg-o0ek7r93\"],\n tags: {\n test: \"tf\",\n },\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: \"vpc-da7ffa61\",\n vpcId: \"vpc-da7ffa61\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n clb_name=\"myclb\",\n network_type=\"OPEN\",\n project_id=0,\n security_groups=[\"sg-o0ek7r93\"],\n tags={\n \"test\": \"tf\",\n },\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=\"vpc-da7ffa61\",\n vpc_id=\"vpc-da7ffa61\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"myclb\",\n NetworkType = \"OPEN\",\n ProjectId = 0,\n SecurityGroups = \n {\n \"sg-o0ek7r93\",\n },\n Tags = \n {\n { \"test\", \"tf\" },\n },\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = \"vpc-da7ffa61\",\n VpcId = \"vpc-da7ffa61\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-o0ek7r93\"),\n\t\t\t},\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: pulumi.String(\"vpc-da7ffa61\"),\n\t\t\tVpcId: pulumi.String(\"vpc-da7ffa61\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"OPEN\")\n .projectId(0)\n .securityGroups(\"sg-o0ek7r93\")\n .tags(Map.of(\"test\", \"tf\"))\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(\"vpc-da7ffa61\")\n .vpcId(\"vpc-da7ffa61\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: OPEN\n projectId: 0\n securityGroups:\n - sg-o0ek7r93\n tags:\n test: tf\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: vpc-da7ffa61\n vpcId: vpc-da7ffa61\n```\n{{% /example %}}\n{{% example %}}\n### OPNE CLB with VipIsp\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst example = new tencentcloud.vpc.BandwidthPackage(\"example\", {\n networkType: \"SINGLEISP_CMCC\",\n chargeType: \"ENHANCED95_POSTPAID_BY_MONTH\",\n bandwidthPackageName: \"tf-example\",\n internetMaxBandwidth: 300,\n egress: \"center_egress1\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n networkType: \"OPEN\",\n clbName: \"my-open-clb\",\n projectId: 0,\n vpcId: \"vpc-4owdpnwr\",\n vipIsp: \"CMCC\",\n internetChargeType: \"BANDWIDTH_PACKAGE\",\n bandwidthPackageId: example.id,\n tags: {\n test: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.vpc.BandwidthPackage(\"example\",\n network_type=\"SINGLEISP_CMCC\",\n charge_type=\"ENHANCED95_POSTPAID_BY_MONTH\",\n bandwidth_package_name=\"tf-example\",\n internet_max_bandwidth=300,\n egress=\"center_egress1\",\n tags={\n \"createdBy\": \"terraform\",\n })\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n network_type=\"OPEN\",\n clb_name=\"my-open-clb\",\n project_id=0,\n vpc_id=\"vpc-4owdpnwr\",\n vip_isp=\"CMCC\",\n internet_charge_type=\"BANDWIDTH_PACKAGE\",\n bandwidth_package_id=example.id,\n tags={\n \"test\": \"open\",\n })\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new Tencentcloud.Vpc.BandwidthPackage(\"example\", new Tencentcloud.Vpc.BandwidthPackageArgs\n {\n NetworkType = \"SINGLEISP_CMCC\",\n ChargeType = \"ENHANCED95_POSTPAID_BY_MONTH\",\n BandwidthPackageName = \"tf-example\",\n InternetMaxBandwidth = 300,\n Egress = \"center_egress1\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new Tencentcloud.Clb.InstanceArgs\n {\n NetworkType = \"OPEN\",\n ClbName = \"my-open-clb\",\n ProjectId = 0,\n VpcId = \"vpc-4owdpnwr\",\n VipIsp = \"CMCC\",\n InternetChargeType = \"BANDWIDTH_PACKAGE\",\n BandwidthPackageId = example.Id,\n Tags = \n {\n { \"test\", \"open\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := Vpc.NewBandwidthPackage(ctx, \"example\", \u0026Vpc.BandwidthPackageArgs{\n\t\t\tNetworkType: pulumi.String(\"SINGLEISP_CMCC\"),\n\t\t\tChargeType: pulumi.String(\"ENHANCED95_POSTPAID_BY_MONTH\"),\n\t\t\tBandwidthPackageName: pulumi.String(\"tf-example\"),\n\t\t\tInternetMaxBandwidth: pulumi.Int(300),\n\t\t\tEgress: pulumi.String(\"center_egress1\"),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"my-open-clb\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: pulumi.String(\"vpc-4owdpnwr\"),\n\t\t\tVipIsp: pulumi.String(\"CMCC\"),\n\t\t\tInternetChargeType: pulumi.String(\"BANDWIDTH_PACKAGE\"),\n\t\t\tBandwidthPackageId: example.ID(),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"open\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new BandwidthPackage(\"example\", BandwidthPackageArgs.builder() \n .networkType(\"SINGLEISP_CMCC\")\n .chargeType(\"ENHANCED95_POSTPAID_BY_MONTH\")\n .bandwidthPackageName(\"tf-example\")\n .internetMaxBandwidth(300)\n .egress(\"center_egress1\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"my-open-clb\")\n .projectId(0)\n .vpcId(\"vpc-4owdpnwr\")\n .vipIsp(\"CMCC\")\n .internetChargeType(\"BANDWIDTH_PACKAGE\")\n .bandwidthPackageId(example.id())\n .tags(Map.of(\"test\", \"open\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Vpc:BandwidthPackage\n properties:\n networkType: SINGLEISP_CMCC\n chargeType: ENHANCED95_POSTPAID_BY_MONTH\n bandwidthPackageName: tf-example\n internetMaxBandwidth: 300\n egress: center_egress1\n tags:\n createdBy: terraform\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: my-open-clb\n projectId: 0\n vpcId: vpc-4owdpnwr\n vipIsp: CMCC\n internetChargeType: BANDWIDTH_PACKAGE\n bandwidthPackageId: ${example.id}\n tags:\n test: open\n```\n{{% /example %}}\n{{% example %}}\n### Dynamic Vip Instance\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst fooGroup = new tencentcloud.security.Group(\"fooGroup\", {});\nconst fooInstance = new tencentcloud.vpc.Instance(\"fooInstance\", {cidrBlock: \"10.0.0.0/16\"});\nconst clbOpen = new tencentcloud.clb.Instance(\"clbOpen\", {\n networkType: \"OPEN\",\n clbName: \"clb-instance-open\",\n projectId: 0,\n vpcId: fooInstance.id,\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: fooInstance.id,\n securityGroups: [fooGroup.id],\n dynamicVip: true,\n tags: {\n test: \"tf\",\n },\n});\nexport const domain = clbOpen.domain;\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo_group = tencentcloud.security.Group(\"fooGroup\")\nfoo_instance = tencentcloud.vpc.Instance(\"fooInstance\", cidr_block=\"10.0.0.0/16\")\nclb_open = tencentcloud.clb.Instance(\"clbOpen\",\n network_type=\"OPEN\",\n clb_name=\"clb-instance-open\",\n project_id=0,\n vpc_id=foo_instance.id,\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=foo_instance.id,\n security_groups=[foo_group.id],\n dynamic_vip=True,\n tags={\n \"test\": \"tf\",\n })\npulumi.export(\"domain\", clb_open.domain)\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var fooGroup = new Tencentcloud.Security.Group(\"fooGroup\", new Tencentcloud.Security.GroupArgs\n {\n });\n var fooInstance = new Tencentcloud.Vpc.Instance(\"fooInstance\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n var clbOpen = new Tencentcloud.Clb.Instance(\"clbOpen\", new Tencentcloud.Clb.InstanceArgs\n {\n NetworkType = \"OPEN\",\n ClbName = \"clb-instance-open\",\n ProjectId = 0,\n VpcId = fooInstance.Id,\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = fooInstance.Id,\n SecurityGroups = \n {\n fooGroup.Id,\n },\n DynamicVip = true,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n this.Domain = clbOpen.Domain;\n }\n\n [Output(\"domain\")]\n public Output\u003cstring\u003e Domain { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooGroup, err := Security.NewGroup(ctx, \"fooGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooInstance, err := Vpc.NewInstance(ctx, \"fooInstance\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclbOpen, err := Clb.NewInstance(ctx, \"clbOpen\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"clb-instance-open\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: fooInstance.ID(),\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: fooInstance.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tfooGroup.ID(),\n\t\t\t},\n\t\t\tDynamicVip: pulumi.Bool(true),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"domain\", clbOpen.Domain)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooGroup = new Group(\"fooGroup\");\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var clbOpen = new Instance(\"clbOpen\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"clb-instance-open\")\n .projectId(0)\n .vpcId(fooInstance.id())\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(fooInstance.id())\n .securityGroups(fooGroup.id())\n .dynamicVip(true)\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n ctx.export(\"domain\", clbOpen.domain());\n }\n}\n```\n```yaml\nresources:\n fooGroup:\n type: tencentcloud:Security:Group\n fooInstance:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n clbOpen:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: clb-instance-open\n projectId: 0\n vpcId: ${fooInstance.id}\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: ${fooInstance.id}\n securityGroups:\n - ${fooGroup.id}\n dynamicVip: true\n tags:\n test: tf\noutputs:\n domain: ${clbOpen.domain}\n```\n{{% /example %}}\n{{% example %}}\n### Specified Vip Instance\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst fooGroup = new tencentcloud.security.Group(\"fooGroup\", {});\nconst fooInstance = new tencentcloud.vpc.Instance(\"fooInstance\", {cidrBlock: \"10.0.0.0/16\"});\nconst clbOpen = new tencentcloud.clb.Instance(\"clbOpen\", {\n networkType: \"OPEN\",\n clbName: \"clb-instance-open\",\n projectId: 0,\n vpcId: fooInstance.id,\n securityGroups: [fooGroup.id],\n vip: \"111.230.4.204\",\n tags: {\n test: \"tf\",\n },\n});\nexport const domain = tencentcloud_clb_instance.vip;\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo_group = tencentcloud.security.Group(\"fooGroup\")\nfoo_instance = tencentcloud.vpc.Instance(\"fooInstance\", cidr_block=\"10.0.0.0/16\")\nclb_open = tencentcloud.clb.Instance(\"clbOpen\",\n network_type=\"OPEN\",\n clb_name=\"clb-instance-open\",\n project_id=0,\n vpc_id=foo_instance.id,\n security_groups=[foo_group.id],\n vip=\"111.230.4.204\",\n tags={\n \"test\": \"tf\",\n })\npulumi.export(\"domain\", tencentcloud_clb_instance[\"vip\"])\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var fooGroup = new Tencentcloud.Security.Group(\"fooGroup\", new Tencentcloud.Security.GroupArgs\n {\n });\n var fooInstance = new Tencentcloud.Vpc.Instance(\"fooInstance\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n var clbOpen = new Tencentcloud.Clb.Instance(\"clbOpen\", new Tencentcloud.Clb.InstanceArgs\n {\n NetworkType = \"OPEN\",\n ClbName = \"clb-instance-open\",\n ProjectId = 0,\n VpcId = fooInstance.Id,\n SecurityGroups = \n {\n fooGroup.Id,\n },\n Vip = \"111.230.4.204\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n this.Domain = tencentcloud_clb_instance.Vip;\n }\n\n [Output(\"domain\")]\n public Output\u003cstring\u003e Domain { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooGroup, err := Security.NewGroup(ctx, \"fooGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooInstance, err := Vpc.NewInstance(ctx, \"fooInstance\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"clbOpen\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"clb-instance-open\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: fooInstance.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tfooGroup.ID(),\n\t\t\t},\n\t\t\tVip: pulumi.String(\"111.230.4.204\"),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"domain\", tencentcloud_clb_instance.Vip)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fooGroup = new Group(\"fooGroup\");\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var clbOpen = new Instance(\"clbOpen\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"clb-instance-open\")\n .projectId(0)\n .vpcId(fooInstance.id())\n .securityGroups(fooGroup.id())\n .vip(\"111.230.4.204\")\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n ctx.export(\"domain\", tencentcloud_clb_instance.vip());\n }\n}\n```\n```yaml\nresources:\n fooGroup:\n type: tencentcloud:Security:Group\n fooInstance:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n clbOpen:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: clb-instance-open\n projectId: 0\n vpcId: ${fooInstance.id}\n securityGroups:\n - ${fooGroup.id}\n vip: 111.230.4.204\n tags:\n test: tf\noutputs:\n domain: ${tencentcloud_clb_instance.vip}\n```\n{{% /example %}}\n{{% example %}}\n### Default enable\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst foo = new tencentcloud.vpc.Instance(\"foo\", {\n cidrBlock: \"10.0.0.0/16\",\n tags: {\n test: \"mytest\",\n },\n});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: \"ap-guangzhou-1\",\n vpcId: foo.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\nconst sglab = new tencentcloud.security.Group(\"sglab\", {\n description: \"favourite sg\",\n projectId: 0,\n});\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n networkType: \"OPEN\",\n clbName: \"my-open-clb\",\n projectId: 0,\n vpcId: foo.id,\n loadBalancerPassToTarget: true,\n securityGroups: [sglab.id],\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: foo.id,\n tags: {\n test: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.vpc.Instance(\"foo\",\n cidr_block=\"10.0.0.0/16\",\n tags={\n \"test\": \"mytest\",\n })\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=\"ap-guangzhou-1\",\n vpc_id=foo.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\nsglab = tencentcloud.security.Group(\"sglab\",\n description=\"favourite sg\",\n project_id=0)\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n network_type=\"OPEN\",\n clb_name=\"my-open-clb\",\n project_id=0,\n vpc_id=foo.id,\n load_balancer_pass_to_target=True,\n security_groups=[sglab.id],\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=foo.id,\n tags={\n \"test\": \"open\",\n })\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var foo = new Tencentcloud.Vpc.Instance(\"foo\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n Tags = \n {\n { \"test\", \"mytest\" },\n },\n });\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new Tencentcloud.Subnet.InstanceArgs\n {\n AvailabilityZone = \"ap-guangzhou-1\",\n VpcId = foo.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n var sglab = new Tencentcloud.Security.Group(\"sglab\", new Tencentcloud.Security.GroupArgs\n {\n Description = \"favourite sg\",\n ProjectId = 0,\n });\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new Tencentcloud.Clb.InstanceArgs\n {\n NetworkType = \"OPEN\",\n ClbName = \"my-open-clb\",\n ProjectId = 0,\n VpcId = foo.Id,\n LoadBalancerPassToTarget = true,\n SecurityGroups = \n {\n sglab.Id,\n },\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = foo.Id,\n Tags = \n {\n { \"test\", \"open\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := Vpc.NewInstance(ctx, \"foo\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"mytest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-1\"),\n\t\t\tVpcId: foo.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsglab, err := Security.NewGroup(ctx, \"sglab\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"favourite sg\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"my-open-clb\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: foo.ID(),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsglab.ID(),\n\t\t\t},\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: foo.ID(),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"open\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Instance(\"foo\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .tags(Map.of(\"test\", \"mytest\"))\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-1\")\n .vpcId(foo.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n var sglab = new Group(\"sglab\", GroupArgs.builder() \n .description(\"favourite sg\")\n .projectId(0)\n .build());\n\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"my-open-clb\")\n .projectId(0)\n .vpcId(foo.id())\n .loadBalancerPassToTarget(true)\n .securityGroups(sglab.id())\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(foo.id())\n .tags(Map.of(\"test\", \"open\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ap-guangzhou-1\n vpcId: ${foo.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n sglab:\n type: tencentcloud:Security:Group\n properties:\n description: favourite sg\n projectId: 0\n foo:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n tags:\n test: mytest\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: my-open-clb\n projectId: 0\n vpcId: ${foo.id}\n loadBalancerPassToTarget: true\n securityGroups:\n - ${sglab.id}\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: ${foo.id}\n tags:\n test: open\n```\n{{% /example %}}\n{{% example %}}\n### CREATE multiple instance\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst openClb1 = new tencentcloud.Clb.Instance(\"open_clb1\", {\n clbName: \"hello\",\n masterZoneId: \"ap-guangzhou-3\",\n networkType: \"OPEN\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_clb1 = tencentcloud.clb.Instance(\"openClb1\",\n clb_name=\"hello\",\n master_zone_id=\"ap-guangzhou-3\",\n network_type=\"OPEN\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var openClb1 = new Tencentcloud.Clb.Instance(\"openClb1\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"hello\",\n MasterZoneId = \"ap-guangzhou-3\",\n NetworkType = \"OPEN\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"openClb1\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"hello\"),\n\t\t\tMasterZoneId: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var openClb1 = new Instance(\"openClb1\", InstanceArgs.builder() \n .clbName(\"hello\")\n .masterZoneId(\"ap-guangzhou-3\")\n .networkType(\"OPEN\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openClb1:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: hello\n masterZoneId: ap-guangzhou-3\n networkType: OPEN\n```\n{{% /example %}}\n{{% example %}}\n### CREATE instance with log\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst vpcTest = new tencentcloud.Vpc.Instance(\"vpc_test\", {\n cidrBlock: \"10.0.0.0/16\",\n});\nconst rtbTest = new tencentcloud.Route.Table(\"rtb_test\", {\n vpcId: vpcTest.id,\n});\nconst subnetTest = new tencentcloud.Subnet.Instance(\"subnet_test\", {\n availabilityZone: \"ap-guangzhou-3\",\n cidrBlock: \"10.0.1.0/24\",\n routeTableId: rtbTest.id,\n vpcId: vpcTest.id,\n});\nconst set = new tencentcloud.Clb.LogSet(\"set\", {\n period: 7,\n});\nconst topic = new tencentcloud.Clb.LogTopic(\"topic\", {\n logSetId: set.id,\n topicName: \"clb-topic\",\n});\nconst internalClb = new tencentcloud.Clb.Instance(\"internal_clb\", {\n clbName: \"myclb\",\n loadBalancerPassToTarget: true,\n logSetId: set.id,\n logTopicId: topic.id,\n networkType: \"INTERNAL\",\n projectId: 0,\n subnetId: subnetTest.id,\n tags: {\n test: \"tf\",\n },\n vpcId: vpcTest.id,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nvpc_test = tencentcloud.vpc.Instance(\"vpcTest\", cidr_block=\"10.0.0.0/16\")\nrtb_test = tencentcloud.route.Table(\"rtbTest\", vpc_id=vpc_test.id)\nsubnet_test = tencentcloud.subnet.Instance(\"subnetTest\",\n availability_zone=\"ap-guangzhou-3\",\n cidr_block=\"10.0.1.0/24\",\n route_table_id=rtb_test.id,\n vpc_id=vpc_test.id)\nset = tencentcloud.clb.LogSet(\"set\", period=7)\ntopic = tencentcloud.clb.LogTopic(\"topic\",\n log_set_id=set.id,\n topic_name=\"clb-topic\")\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n load_balancer_pass_to_target=True,\n log_set_id=set.id,\n log_topic_id=topic.id,\n network_type=\"INTERNAL\",\n project_id=0,\n subnet_id=subnet_test.id,\n tags={\n \"test\": \"tf\",\n },\n vpc_id=vpc_test.id)\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var vpcTest = new Tencentcloud.Vpc.Instance(\"vpcTest\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n var rtbTest = new Tencentcloud.Route.Table(\"rtbTest\", new Tencentcloud.Route.TableArgs\n {\n VpcId = vpcTest.Id,\n });\n var subnetTest = new Tencentcloud.Subnet.Instance(\"subnetTest\", new Tencentcloud.Subnet.InstanceArgs\n {\n AvailabilityZone = \"ap-guangzhou-3\",\n CidrBlock = \"10.0.1.0/24\",\n RouteTableId = rtbTest.Id,\n VpcId = vpcTest.Id,\n });\n var @set = new Tencentcloud.Clb.LogSet(\"set\", new Tencentcloud.Clb.LogSetArgs\n {\n Period = 7,\n });\n var topic = new Tencentcloud.Clb.LogTopic(\"topic\", new Tencentcloud.Clb.LogTopicArgs\n {\n LogSetId = @set.Id,\n TopicName = \"clb-topic\",\n });\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new Tencentcloud.Clb.InstanceArgs\n {\n ClbName = \"myclb\",\n LoadBalancerPassToTarget = true,\n LogSetId = @set.Id,\n LogTopicId = topic.Id,\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SubnetId = subnetTest.Id,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = vpcTest.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Route\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpcTest, err := Vpc.NewInstance(ctx, \"vpcTest\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trtbTest, err := Route.NewTable(ctx, \"rtbTest\", \u0026Route.TableArgs{\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetTest, err := Subnet.NewInstance(ctx, \"subnetTest\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tRouteTableId: rtbTest.ID(),\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tset, err := Clb.NewLogSet(ctx, \"set\", \u0026Clb.LogSetArgs{\n\t\t\tPeriod: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopic, err := Clb.NewLogTopic(ctx, \"topic\", \u0026Clb.LogTopicArgs{\n\t\t\tLogSetId: set.ID(),\n\t\t\tTopicName: pulumi.String(\"clb-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tLogSetId: set.ID(),\n\t\t\tLogTopicId: topic.ID(),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSubnetId: subnetTest.ID(),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vpcTest = new Instance(\"vpcTest\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var rtbTest = new Table(\"rtbTest\", TableArgs.builder() \n .vpcId(vpcTest.id())\n .build());\n\n var subnetTest = new Instance(\"subnetTest\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-3\")\n .cidrBlock(\"10.0.1.0/24\")\n .routeTableId(rtbTest.id())\n .vpcId(vpcTest.id())\n .build());\n\n var set = new LogSet(\"set\", LogSetArgs.builder() \n .period(7)\n .build());\n\n var topic = new LogTopic(\"topic\", LogTopicArgs.builder() \n .logSetId(set.id())\n .topicName(\"clb-topic\")\n .build());\n\n var internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .loadBalancerPassToTarget(true)\n .logSetId(set.id())\n .logTopicId(topic.id())\n .networkType(\"INTERNAL\")\n .projectId(0)\n .subnetId(subnetTest.id())\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(vpcTest.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpcTest:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n rtbTest:\n type: tencentcloud:Route:Table\n properties:\n vpcId: ${vpcTest.id}\n subnetTest:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ap-guangzhou-3\n cidrBlock: 10.0.1.0/24\n routeTableId: ${rtbTest.id}\n vpcId: ${vpcTest.id}\n set:\n type: tencentcloud:Clb:LogSet\n properties:\n period: 7\n topic:\n type: tencentcloud:Clb:LogTopic\n properties:\n logSetId: ${set.id}\n topicName: clb-topic\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n loadBalancerPassToTarget: true\n logSetId: ${set.id}\n logTopicId: ${topic.id}\n networkType: INTERNAL\n projectId: 0\n subnetId: ${subnetTest.id}\n tags:\n test: tf\n vpcId: ${vpcTest.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nCLB instance can be imported using the id, e.g.\n\n```sh\n $ pulumi import tencentcloud:Clb/instance:Instance foo lb-7a0t6zqb\n```\n\n ", "properties": { "addressIpVersion": { "type": "string", @@ -213892,6 +214270,10 @@ "type": "string", "description": "Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs.\n" }, + "vip": { + "type": "string", + "description": "Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not.\n" + }, "vipIsp": { "type": "string", "description": "Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE).\n" @@ -213916,6 +214298,7 @@ "slaType", "targetRegionInfoRegion", "targetRegionInfoVpcId", + "vip", "vipIsp", "vpcId" ], @@ -214020,6 +214403,11 @@ "type": "string", "description": "Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs.\n" }, + "vip": { + "type": "string", + "description": "Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not.\n", + "willReplaceOnChanges": true + }, "vipIsp": { "type": "string", "description": "Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE).\n", @@ -214153,6 +214541,11 @@ "type": "string", "description": "Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs.\n" }, + "vip": { + "type": "string", + "description": "Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not.\n", + "willReplaceOnChanges": true + }, "vipIsp": { "type": "string", "description": "Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE).\n", @@ -214340,7 +214733,7 @@ }, "healthCheckType": { "type": "string", - "description": "Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`.\n" + "description": "Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`.\n" }, "healthCheckUnhealthNum": { "type": "integer", @@ -214394,6 +214787,7 @@ "required": [ "clbId", "endPort", + "healthCheckContextType", "healthCheckHealthNum", "healthCheckHttpMethod", "healthCheckIntervalTime", @@ -214486,7 +214880,7 @@ }, "healthCheckType": { "type": "string", - "description": "Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`.\n" + "description": "Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`.\n" }, "healthCheckUnhealthNum": { "type": "integer", @@ -214620,7 +215014,7 @@ }, "healthCheckType": { "type": "string", - "description": "Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`.\n" + "description": "Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`.\n" }, "healthCheckUnhealthNum": { "type": "integer", @@ -253176,6 +253570,10 @@ "tencentcloud:Monitor/grafanaInstance:GrafanaInstance": { "description": "Provides a resource to create a monitor grafanaInstance\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-6\";\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n});\nconst foo = new tencentcloud.monitor.GrafanaInstance(\"foo\", {\n instanceName: \"test-grafana\",\n vpcId: vpc.id,\n subnetIds: [subnet.id],\n grafanaInitPassword: \"1234567890\",\n enableInternet: false,\n isDestroy: true,\n tags: {\n createdBy: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-6\"\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\")\nfoo = tencentcloud.monitor.GrafanaInstance(\"foo\",\n instance_name=\"test-grafana\",\n vpc_id=vpc.id,\n subnet_ids=[subnet.id],\n grafana_init_password=\"1234567890\",\n enable_internet=False,\n is_destroy=True,\n tags={\n \"createdBy\": \"test\",\n })\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-6\";\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new Tencentcloud.Subnet.InstanceArgs\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n });\n var foo = new Tencentcloud.Monitor.GrafanaInstance(\"foo\", new Tencentcloud.Monitor.GrafanaInstanceArgs\n {\n InstanceName = \"test-grafana\",\n VpcId = vpc.Id,\n SubnetIds = \n {\n subnet.Id,\n },\n GrafanaInitPassword = \"1234567890\",\n EnableInternet = false,\n IsDestroy = true,\n Tags = \n {\n { \"createdBy\", \"test\" },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-6\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Monitor.NewGrafanaInstance(ctx, \"foo\", \u0026Monitor.GrafanaInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"test-grafana\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tsubnet.ID(),\n\t\t\t},\n\t\t\tGrafanaInitPassword: pulumi.String(\"1234567890\"),\n\t\t\tEnableInternet: pulumi.Bool(false),\n\t\t\tIsDestroy: pulumi.Bool(true),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"createdBy\": pulumi.Any(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-6\");\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var foo = new GrafanaInstance(\"foo\", GrafanaInstanceArgs.builder() \n .instanceName(\"test-grafana\")\n .vpcId(vpc.id())\n .subnetIds(subnet.id())\n .grafanaInitPassword(\"1234567890\")\n .enableInternet(false)\n .isDestroy(true)\n .tags(Map.of(\"createdBy\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-6\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n foo:\n type: tencentcloud:Monitor:GrafanaInstance\n properties:\n instanceName: test-grafana\n vpcId: ${vpc.id}\n subnetIds:\n - ${subnet.id}\n grafanaInitPassword: 1234567890\n enableInternet: false\n isDestroy: true\n tags:\n createdBy: test\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nmonitor grafanaInstance can be imported using the id, e.g.\n\n```sh\n $ pulumi import tencentcloud:Monitor/grafanaInstance:GrafanaInstance foo grafanaInstance_id\n```\n\n ", "properties": { + "autoVoucher": { + "type": "boolean", + "description": "Whether to automatically use vouchers.\n" + }, "enableInternet": { "type": "boolean", "description": "Control whether grafana could be accessed by internet.\n" @@ -253249,6 +253647,10 @@ "vpcId" ], "inputProperties": { + "autoVoucher": { + "type": "boolean", + "description": "Whether to automatically use vouchers.\n" + }, "enableInternet": { "type": "boolean", "description": "Control whether grafana could be accessed by internet.\n" @@ -253295,6 +253697,10 @@ "stateInputs": { "description": "Input properties used for looking up and filtering GrafanaInstance resources.\n", "properties": { + "autoVoucher": { + "type": "boolean", + "description": "Whether to automatically use vouchers.\n" + }, "enableInternet": { "type": "boolean", "description": "Control whether grafana could be accessed by internet.\n" @@ -253937,8 +254343,122 @@ "type": "object" } }, + "tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup": { + "description": "Provides a resource to create a monitor tmp_alert_group\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst tmpAlertGroup = new tencentcloud.Monitor.TmpAlertGroup(\"tmp_alert_group\", {\n ampReceivers: [\"notice-om017kc2\"],\n customReceiver: {\n type: \"amp\",\n },\n groupName: \"tf-test\",\n instanceId: \"prom-ip429jis\",\n repeatInterval: \"5m\",\n rules: [{\n annotations: {\n description: \"Agent {{$labels.instance}} is deactivated, please pay attention!\",\n summary: \"Agent health check\",\n },\n duration: \"1m\",\n expr: \"up{job=\\\"prometheus-agent\\\"} != 1\",\n labels: {\n severity: \"critical\",\n },\n ruleName: \"Agent health check\",\n state: 2,\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ntmp_alert_group = tencentcloud.monitor.TmpAlertGroup(\"tmpAlertGroup\",\n amp_receivers=[\"notice-om017kc2\"],\n custom_receiver=tencentcloud.monitor.TmpAlertGroupCustomReceiverArgs(\n type=\"amp\",\n ),\n group_name=\"tf-test\",\n instance_id=\"prom-ip429jis\",\n repeat_interval=\"5m\",\n rules=[tencentcloud.monitor.TmpAlertGroupRuleArgs(\n annotations={\n \"description\": \"Agent {{$labels.instance}} is deactivated, please pay attention!\",\n \"summary\": \"Agent health check\",\n },\n duration=\"1m\",\n expr=\"up{job=\\\"prometheus-agent\\\"} != 1\",\n labels={\n \"severity\": \"critical\",\n },\n rule_name=\"Agent health check\",\n state=2,\n )])\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var tmpAlertGroup = new Tencentcloud.Monitor.TmpAlertGroup(\"tmpAlertGroup\", new Tencentcloud.Monitor.TmpAlertGroupArgs\n {\n AmpReceivers = \n {\n \"notice-om017kc2\",\n },\n CustomReceiver = new Tencentcloud.Monitor.Inputs.TmpAlertGroupCustomReceiverArgs\n {\n Type = \"amp\",\n },\n GroupName = \"tf-test\",\n InstanceId = \"prom-ip429jis\",\n RepeatInterval = \"5m\",\n Rules = \n {\n new Tencentcloud.Monitor.Inputs.TmpAlertGroupRuleArgs\n {\n Annotations = \n {\n { \"description\", \"Agent {{$labels.instance}} is deactivated, please pay attention!\" },\n { \"summary\", \"Agent health check\" },\n },\n Duration = \"1m\",\n Expr = \"up{job=\\\"prometheus-agent\\\"} != 1\",\n Labels = \n {\n { \"severity\", \"critical\" },\n },\n RuleName = \"Agent health check\",\n State = 2,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Monitor.NewTmpAlertGroup(ctx, \"tmpAlertGroup\", \u0026Monitor.TmpAlertGroupArgs{\n\t\t\tAmpReceivers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"notice-om017kc2\"),\n\t\t\t},\n\t\t\tCustomReceiver: \u0026monitor.TmpAlertGroupCustomReceiverArgs{\n\t\t\t\tType: pulumi.String(\"amp\"),\n\t\t\t},\n\t\t\tGroupName: pulumi.String(\"tf-test\"),\n\t\t\tInstanceId: pulumi.String(\"prom-ip429jis\"),\n\t\t\tRepeatInterval: pulumi.String(\"5m\"),\n\t\t\tRules: monitor.TmpAlertGroupRuleArray{\n\t\t\t\t\u0026monitor.TmpAlertGroupRuleArgs{\n\t\t\t\t\tAnnotations: pulumi.AnyMap{\n\t\t\t\t\t\t\"description\": pulumi.Any(fmt.Sprintf(\"%v%v%v\", \"Agent {{\", \"$\", \"labels.instance}} is deactivated, please pay attention!\")),\n\t\t\t\t\t\t\"summary\": pulumi.Any(\"Agent health check\"),\n\t\t\t\t\t},\n\t\t\t\t\tDuration: pulumi.String(\"1m\"),\n\t\t\t\t\tExpr: pulumi.String(\"up{job=\\\"prometheus-agent\\\"} != 1\"),\n\t\t\t\t\tLabels: pulumi.AnyMap{\n\t\t\t\t\t\t\"severity\": pulumi.Any(\"critical\"),\n\t\t\t\t\t},\n\t\t\t\t\tRuleName: pulumi.String(\"Agent health check\"),\n\t\t\t\t\tState: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tmpAlertGroup = new TmpAlertGroup(\"tmpAlertGroup\", TmpAlertGroupArgs.builder() \n .ampReceivers(\"notice-om017kc2\")\n .customReceiver(TmpAlertGroupCustomReceiverArgs.builder()\n .type(\"amp\")\n .build())\n .groupName(\"tf-test\")\n .instanceId(\"prom-ip429jis\")\n .repeatInterval(\"5m\")\n .rules(TmpAlertGroupRuleArgs.builder()\n .annotations(Map.ofEntries(\n Map.entry(\"description\", \"Agent {{$labels.instance}} is deactivated, please pay attention!\"),\n Map.entry(\"summary\", \"Agent health check\")\n ))\n .duration(\"1m\")\n .expr(\"up{job=\\\"prometheus-agent\\\"} != 1\")\n .labels(Map.of(\"severity\", \"critical\"))\n .ruleName(\"Agent health check\")\n .state(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tmpAlertGroup:\n type: tencentcloud:Monitor:TmpAlertGroup\n properties:\n ampReceivers:\n - notice-om017kc2\n customReceiver:\n type: amp\n groupName: tf-test\n instanceId: prom-ip429jis\n repeatInterval: 5m\n rules:\n - annotations:\n description: Agent {{$labels.instance}} is deactivated, please pay attention!\n summary: Agent health check\n duration: 1m\n expr: up{job=\"prometheus-agent\"} != 1\n labels:\n severity: critical\n ruleName: Agent health check\n state: 2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nmonitor tmp_alert_group can be imported using the id, e.g.\n\n```sh\n $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id\n```\n\n ", + "properties": { + "ampReceivers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Tencent cloud notification template id list.\n" + }, + "customReceiver": { + "$ref": "#/types/tencentcloud:Monitor/TmpAlertGroupCustomReceiver:TmpAlertGroupCustomReceiver", + "description": "User custom notification template, such as webhook, alertmanager.\n" + }, + "groupId": { + "type": "string", + "description": "Alarm group id.\n" + }, + "groupName": { + "type": "string", + "description": "Unique alert group name.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance id.\n" + }, + "repeatInterval": { + "type": "string", + "description": "Alert message send interval, default 1 hour.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Monitor/TmpAlertGroupRule:TmpAlertGroupRule" + }, + "description": "A list of alert rules.\n" + } + }, + "required": [ + "groupId" + ], + "inputProperties": { + "ampReceivers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Tencent cloud notification template id list.\n" + }, + "customReceiver": { + "$ref": "#/types/tencentcloud:Monitor/TmpAlertGroupCustomReceiver:TmpAlertGroupCustomReceiver", + "description": "User custom notification template, such as webhook, alertmanager.\n" + }, + "groupName": { + "type": "string", + "description": "Unique alert group name.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance id.\n" + }, + "repeatInterval": { + "type": "string", + "description": "Alert message send interval, default 1 hour.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Monitor/TmpAlertGroupRule:TmpAlertGroupRule" + }, + "description": "A list of alert rules.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering TmpAlertGroup resources.\n", + "properties": { + "ampReceivers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Tencent cloud notification template id list.\n" + }, + "customReceiver": { + "$ref": "#/types/tencentcloud:Monitor/TmpAlertGroupCustomReceiver:TmpAlertGroupCustomReceiver", + "description": "User custom notification template, such as webhook, alertmanager.\n" + }, + "groupId": { + "type": "string", + "description": "Alarm group id.\n" + }, + "groupName": { + "type": "string", + "description": "Unique alert group name.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance id.\n" + }, + "repeatInterval": { + "type": "string", + "description": "Alert message send interval, default 1 hour.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Monitor/TmpAlertGroupRule:TmpAlertGroupRule" + }, + "description": "A list of alert rules.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Monitor/tmpAlertRule:TmpAlertRule": { - "description": "Provides a resource to create a monitor tmpAlertRule\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n});\nconst fooTmpInstance = new tencentcloud.monitor.TmpInstance(\"fooTmpInstance\", {\n instanceName: \"tf-tmp-instance\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n dataRetentionTime: 30,\n zone: availabilityZone,\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst fooTmpCvmAgent = new tencentcloud.monitor.TmpCvmAgent(\"fooTmpCvmAgent\", {instanceId: fooTmpInstance.id});\nconst fooTmpAlertRule = new tencentcloud.monitor.TmpAlertRule(\"fooTmpAlertRule\", {\n duration: \"2m\",\n expr: \"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\",\n instanceId: fooTmpInstance.id,\n receivers: [\"notice-f2svbu3w\"],\n ruleName: \"MySQL 连接数过多\",\n ruleState: 2,\n type: \"MySQL/MySQL 连接数过多\",\n annotations: [\n {\n key: \"description\",\n value: `MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。`,\n },\n {\n key: \"summary\",\n value: `MySQL 连接数过多(\u003e80%)`,\n },\n ],\n labels: [{\n key: \"severity\",\n value: \"warning\",\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\")\nfoo_tmp_instance = tencentcloud.monitor.TmpInstance(\"fooTmpInstance\",\n instance_name=\"tf-tmp-instance\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n data_retention_time=30,\n zone=availability_zone,\n tags={\n \"createdBy\": \"terraform\",\n })\nfoo_tmp_cvm_agent = tencentcloud.monitor.TmpCvmAgent(\"fooTmpCvmAgent\", instance_id=foo_tmp_instance.id)\nfoo_tmp_alert_rule = tencentcloud.monitor.TmpAlertRule(\"fooTmpAlertRule\",\n duration=\"2m\",\n expr=\"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\",\n instance_id=foo_tmp_instance.id,\n receivers=[\"notice-f2svbu3w\"],\n rule_name=\"MySQL 连接数过多\",\n rule_state=2,\n type=\"MySQL/MySQL 连接数过多\",\n annotations=[\n tencentcloud.monitor.TmpAlertRuleAnnotationArgs(\n key=\"description\",\n value=\"MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。\",\n ),\n tencentcloud.monitor.TmpAlertRuleAnnotationArgs(\n key=\"summary\",\n value=\"MySQL 连接数过多(\u003e80%)\",\n ),\n ],\n labels=[tencentcloud.monitor.TmpAlertRuleLabelArgs(\n key=\"severity\",\n value=\"warning\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new Tencentcloud.Subnet.InstanceArgs\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n });\n var fooTmpInstance = new Tencentcloud.Monitor.TmpInstance(\"fooTmpInstance\", new Tencentcloud.Monitor.TmpInstanceArgs\n {\n InstanceName = \"tf-tmp-instance\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DataRetentionTime = 30,\n Zone = availabilityZone,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n var fooTmpCvmAgent = new Tencentcloud.Monitor.TmpCvmAgent(\"fooTmpCvmAgent\", new Tencentcloud.Monitor.TmpCvmAgentArgs\n {\n InstanceId = fooTmpInstance.Id,\n });\n var fooTmpAlertRule = new Tencentcloud.Monitor.TmpAlertRule(\"fooTmpAlertRule\", new Tencentcloud.Monitor.TmpAlertRuleArgs\n {\n Duration = \"2m\",\n Expr = \"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\",\n InstanceId = fooTmpInstance.Id,\n Receivers = \n {\n \"notice-f2svbu3w\",\n },\n RuleName = \"MySQL 连接数过多\",\n RuleState = 2,\n Type = \"MySQL/MySQL 连接数过多\",\n Annotations = \n {\n new Tencentcloud.Monitor.Inputs.TmpAlertRuleAnnotationArgs\n {\n Key = \"description\",\n Value = \"MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。\",\n },\n new Tencentcloud.Monitor.Inputs.TmpAlertRuleAnnotationArgs\n {\n Key = \"summary\",\n Value = \"MySQL 连接数过多(\u003e80%)\",\n },\n },\n Labels = \n {\n new Tencentcloud.Monitor.Inputs.TmpAlertRuleLabelArgs\n {\n Key = \"severity\",\n Value = \"warning\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooTmpInstance, err := Monitor.NewTmpInstance(ctx, \"fooTmpInstance\", \u0026Monitor.TmpInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-tmp-instance\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDataRetentionTime: pulumi.Int(30),\n\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Monitor.NewTmpCvmAgent(ctx, \"fooTmpCvmAgent\", \u0026Monitor.TmpCvmAgentArgs{\n\t\t\tInstanceId: fooTmpInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Monitor.NewTmpAlertRule(ctx, \"fooTmpAlertRule\", \u0026Monitor.TmpAlertRuleArgs{\n\t\t\tDuration: pulumi.String(\"2m\"),\n\t\t\tExpr: pulumi.String(\"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\"),\n\t\t\tInstanceId: fooTmpInstance.ID(),\n\t\t\tReceivers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"notice-f2svbu3w\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"MySQL 连接数过多\"),\n\t\t\tRuleState: pulumi.Int(2),\n\t\t\tType: pulumi.String(\"MySQL/MySQL 连接数过多\"),\n\t\t\tAnnotations: monitor.TmpAlertRuleAnnotationArray{\n\t\t\t\t\u0026monitor.TmpAlertRuleAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"description\"),\n\t\t\t\t\tValue: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v\", \"MySQL 连接数过多, 实例: {{\", \"$\", \"labels.instance}},当前值: {{ \", \"$\", \"value | humanizePercentage }}。\")),\n\t\t\t\t},\n\t\t\t\t\u0026monitor.TmpAlertRuleAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"summary\"),\n\t\t\t\t\tValue: pulumi.String(fmt.Sprintf(\"%v%v%v\", \"MySQL 连接数过多(\u003e80\", \"%\", \")\")),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: monitor.TmpAlertRuleLabelArray{\n\t\t\t\t\u0026monitor.TmpAlertRuleLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"severity\"),\n\t\t\t\t\tValue: pulumi.String(\"warning\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var fooTmpInstance = new TmpInstance(\"fooTmpInstance\", TmpInstanceArgs.builder() \n .instanceName(\"tf-tmp-instance\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dataRetentionTime(30)\n .zone(availabilityZone)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var fooTmpCvmAgent = new TmpCvmAgent(\"fooTmpCvmAgent\", TmpCvmAgentArgs.builder() \n .instanceId(fooTmpInstance.id())\n .build());\n\n var fooTmpAlertRule = new TmpAlertRule(\"fooTmpAlertRule\", TmpAlertRuleArgs.builder() \n .duration(\"2m\")\n .expr(\"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\")\n .instanceId(fooTmpInstance.id())\n .receivers(\"notice-f2svbu3w\")\n .ruleName(\"MySQL 连接数过多\")\n .ruleState(2)\n .type(\"MySQL/MySQL 连接数过多\")\n .annotations( \n TmpAlertRuleAnnotationArgs.builder()\n .key(\"description\")\n .value(\"MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。\")\n .build(),\n TmpAlertRuleAnnotationArgs.builder()\n .key(\"summary\")\n .value(\"MySQL 连接数过多(\u003e80%)\")\n .build())\n .labels(TmpAlertRuleLabelArgs.builder()\n .key(\"severity\")\n .value(\"warning\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n fooTmpInstance:\n type: tencentcloud:Monitor:TmpInstance\n properties:\n instanceName: tf-tmp-instance\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dataRetentionTime: 30\n zone: ${availabilityZone}\n tags:\n createdBy: terraform\n fooTmpCvmAgent:\n type: tencentcloud:Monitor:TmpCvmAgent\n properties:\n instanceId: ${fooTmpInstance.id}\n fooTmpAlertRule:\n type: tencentcloud:Monitor:TmpAlertRule\n properties:\n duration: 2m\n expr: avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\n instanceId: ${fooTmpInstance.id}\n receivers:\n - notice-f2svbu3w\n ruleName: MySQL 连接数过多\n ruleState: 2\n type: MySQL/MySQL 连接数过多\n annotations:\n - key: description\n value: 'MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。'\n - key: summary\n value: MySQL 连接数过多(\u003e80%)\n labels:\n - key: severity\n value: warning\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nmonitor tmpAlertRule can be imported using the id, e.g.\n\n```sh\n $ pulumi import tencentcloud:Monitor/tmpAlertRule:TmpAlertRule tmpAlertRule instanceId#Rule_id\n```\n\n ", + "description": "Provides a resource to create a monitor tmpAlertRule\n\n\u003e **NOTE:** This resource will be deprecated in a future version, please use `tencentcloud.Monitor.TmpAlertGroup`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-4\";\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: availabilityZone,\n cidrBlock: \"10.0.1.0/24\",\n});\nconst fooTmpInstance = new tencentcloud.monitor.TmpInstance(\"fooTmpInstance\", {\n instanceName: \"tf-tmp-instance\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n dataRetentionTime: 30,\n zone: availabilityZone,\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst fooTmpCvmAgent = new tencentcloud.monitor.TmpCvmAgent(\"fooTmpCvmAgent\", {instanceId: fooTmpInstance.id});\nconst fooTmpAlertRule = new tencentcloud.monitor.TmpAlertRule(\"fooTmpAlertRule\", {\n duration: \"2m\",\n expr: \"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\",\n instanceId: fooTmpInstance.id,\n receivers: [\"notice-f2svbu3w\"],\n ruleName: \"MySQL 连接数过多\",\n ruleState: 2,\n type: \"MySQL/MySQL 连接数过多\",\n annotations: [\n {\n key: \"description\",\n value: `MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。`,\n },\n {\n key: \"summary\",\n value: `MySQL 连接数过多(\u003e80%)`,\n },\n ],\n labels: [{\n key: \"severity\",\n value: \"warning\",\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-4\"\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=availability_zone,\n cidr_block=\"10.0.1.0/24\")\nfoo_tmp_instance = tencentcloud.monitor.TmpInstance(\"fooTmpInstance\",\n instance_name=\"tf-tmp-instance\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n data_retention_time=30,\n zone=availability_zone,\n tags={\n \"createdBy\": \"terraform\",\n })\nfoo_tmp_cvm_agent = tencentcloud.monitor.TmpCvmAgent(\"fooTmpCvmAgent\", instance_id=foo_tmp_instance.id)\nfoo_tmp_alert_rule = tencentcloud.monitor.TmpAlertRule(\"fooTmpAlertRule\",\n duration=\"2m\",\n expr=\"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\",\n instance_id=foo_tmp_instance.id,\n receivers=[\"notice-f2svbu3w\"],\n rule_name=\"MySQL 连接数过多\",\n rule_state=2,\n type=\"MySQL/MySQL 连接数过多\",\n annotations=[\n tencentcloud.monitor.TmpAlertRuleAnnotationArgs(\n key=\"description\",\n value=\"MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。\",\n ),\n tencentcloud.monitor.TmpAlertRuleAnnotationArgs(\n key=\"summary\",\n value=\"MySQL 连接数过多(\u003e80%)\",\n ),\n ],\n labels=[tencentcloud.monitor.TmpAlertRuleLabelArgs(\n key=\"severity\",\n value=\"warning\",\n )])\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-4\";\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new Tencentcloud.Vpc.InstanceArgs\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new Tencentcloud.Subnet.InstanceArgs\n {\n VpcId = vpc.Id,\n AvailabilityZone = availabilityZone,\n CidrBlock = \"10.0.1.0/24\",\n });\n var fooTmpInstance = new Tencentcloud.Monitor.TmpInstance(\"fooTmpInstance\", new Tencentcloud.Monitor.TmpInstanceArgs\n {\n InstanceName = \"tf-tmp-instance\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DataRetentionTime = 30,\n Zone = availabilityZone,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n var fooTmpCvmAgent = new Tencentcloud.Monitor.TmpCvmAgent(\"fooTmpCvmAgent\", new Tencentcloud.Monitor.TmpCvmAgentArgs\n {\n InstanceId = fooTmpInstance.Id,\n });\n var fooTmpAlertRule = new Tencentcloud.Monitor.TmpAlertRule(\"fooTmpAlertRule\", new Tencentcloud.Monitor.TmpAlertRuleArgs\n {\n Duration = \"2m\",\n Expr = \"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\",\n InstanceId = fooTmpInstance.Id,\n Receivers = \n {\n \"notice-f2svbu3w\",\n },\n RuleName = \"MySQL 连接数过多\",\n RuleState = 2,\n Type = \"MySQL/MySQL 连接数过多\",\n Annotations = \n {\n new Tencentcloud.Monitor.Inputs.TmpAlertRuleAnnotationArgs\n {\n Key = \"description\",\n Value = \"MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。\",\n },\n new Tencentcloud.Monitor.Inputs.TmpAlertRuleAnnotationArgs\n {\n Key = \"summary\",\n Value = \"MySQL 连接数过多(\u003e80%)\",\n },\n },\n Labels = \n {\n new Tencentcloud.Monitor.Inputs.TmpAlertRuleLabelArgs\n {\n Key = \"severity\",\n Value = \"warning\",\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-4\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooTmpInstance, err := Monitor.NewTmpInstance(ctx, \"fooTmpInstance\", \u0026Monitor.TmpInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-tmp-instance\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDataRetentionTime: pulumi.Int(30),\n\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Monitor.NewTmpCvmAgent(ctx, \"fooTmpCvmAgent\", \u0026Monitor.TmpCvmAgentArgs{\n\t\t\tInstanceId: fooTmpInstance.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Monitor.NewTmpAlertRule(ctx, \"fooTmpAlertRule\", \u0026Monitor.TmpAlertRuleArgs{\n\t\t\tDuration: pulumi.String(\"2m\"),\n\t\t\tExpr: pulumi.String(\"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\"),\n\t\t\tInstanceId: fooTmpInstance.ID(),\n\t\t\tReceivers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"notice-f2svbu3w\"),\n\t\t\t},\n\t\t\tRuleName: pulumi.String(\"MySQL 连接数过多\"),\n\t\t\tRuleState: pulumi.Int(2),\n\t\t\tType: pulumi.String(\"MySQL/MySQL 连接数过多\"),\n\t\t\tAnnotations: monitor.TmpAlertRuleAnnotationArray{\n\t\t\t\t\u0026monitor.TmpAlertRuleAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"description\"),\n\t\t\t\t\tValue: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v\", \"MySQL 连接数过多, 实例: {{\", \"$\", \"labels.instance}},当前值: {{ \", \"$\", \"value | humanizePercentage }}。\")),\n\t\t\t\t},\n\t\t\t\t\u0026monitor.TmpAlertRuleAnnotationArgs{\n\t\t\t\t\tKey: pulumi.String(\"summary\"),\n\t\t\t\t\tValue: pulumi.String(fmt.Sprintf(\"%v%v%v\", \"MySQL 连接数过多(\u003e80\", \"%\", \")\")),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: monitor.TmpAlertRuleLabelArray{\n\t\t\t\t\u0026monitor.TmpAlertRuleLabelArgs{\n\t\t\t\t\tKey: pulumi.String(\"severity\"),\n\t\t\t\t\tValue: pulumi.String(\"warning\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var availabilityZone = config.get(\"availabilityZone\").orElse(\"ap-guangzhou-4\");\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(availabilityZone)\n .cidrBlock(\"10.0.1.0/24\")\n .build());\n\n var fooTmpInstance = new TmpInstance(\"fooTmpInstance\", TmpInstanceArgs.builder() \n .instanceName(\"tf-tmp-instance\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dataRetentionTime(30)\n .zone(availabilityZone)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var fooTmpCvmAgent = new TmpCvmAgent(\"fooTmpCvmAgent\", TmpCvmAgentArgs.builder() \n .instanceId(fooTmpInstance.id())\n .build());\n\n var fooTmpAlertRule = new TmpAlertRule(\"fooTmpAlertRule\", TmpAlertRuleArgs.builder() \n .duration(\"2m\")\n .expr(\"avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\")\n .instanceId(fooTmpInstance.id())\n .receivers(\"notice-f2svbu3w\")\n .ruleName(\"MySQL 连接数过多\")\n .ruleState(2)\n .type(\"MySQL/MySQL 连接数过多\")\n .annotations( \n TmpAlertRuleAnnotationArgs.builder()\n .key(\"description\")\n .value(\"MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。\")\n .build(),\n TmpAlertRuleAnnotationArgs.builder()\n .key(\"summary\")\n .value(\"MySQL 连接数过多(\u003e80%)\")\n .build())\n .labels(TmpAlertRuleLabelArgs.builder()\n .key(\"severity\")\n .value(\"warning\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-4\nresources:\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ${availabilityZone}\n cidrBlock: 10.0.1.0/24\n fooTmpInstance:\n type: tencentcloud:Monitor:TmpInstance\n properties:\n instanceName: tf-tmp-instance\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dataRetentionTime: 30\n zone: ${availabilityZone}\n tags:\n createdBy: terraform\n fooTmpCvmAgent:\n type: tencentcloud:Monitor:TmpCvmAgent\n properties:\n instanceId: ${fooTmpInstance.id}\n fooTmpAlertRule:\n type: tencentcloud:Monitor:TmpAlertRule\n properties:\n duration: 2m\n expr: avg by (instance) (mysql_global_status_threads_connected) / avg by (instance) (mysql_global_variables_max_connections) \u003e 0.8\n instanceId: ${fooTmpInstance.id}\n receivers:\n - notice-f2svbu3w\n ruleName: MySQL 连接数过多\n ruleState: 2\n type: MySQL/MySQL 连接数过多\n annotations:\n - key: description\n value: 'MySQL 连接数过多, 实例: {{$labels.instance}},当前值: {{ $value | humanizePercentage }}。'\n - key: summary\n value: MySQL 连接数过多(\u003e80%)\n labels:\n - key: severity\n value: warning\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nmonitor tmpAlertRule can be imported using the id, e.g.\n\n```sh\n $ pulumi import tencentcloud:Monitor/tmpAlertRule:TmpAlertRule tmpAlertRule instanceId#Rule_id\n```\n\n ", "properties": { "annotations": { "type": "array", @@ -254607,7 +255127,7 @@ } }, "tencentcloud:Monitor/tmpTkeAlertPolicy:TmpTkeAlertPolicy": { - "description": "Provides a resource to create a tke tmpAlertPolicy\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"SA1.MEDIUM2\";\nconst availabilityZoneFirst = config.get(\"availabilityZoneFirst\") || \"ap-guangzhou-3\";\nconst availabilityZoneSecond = config.get(\"availabilityZoneSecond\") || \"ap-guangzhou-4\";\nconst exampleClusterCidr = config.get(\"exampleClusterCidr\") || \"10.31.0.0/16\";\nconst vpcOne = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZoneFirst,\n});\nconst firstVpcId = vpcOne.then(vpcOne =\u003e vpcOne.instanceLists?[0]?.vpcId);\nconst firstSubnetId = vpcOne.then(vpcOne =\u003e vpcOne.instanceLists?[0]?.subnetId);\nconst vpcTwo = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZoneSecond,\n});\nconst secondVpcId = vpcTwo.then(vpcTwo =\u003e vpcTwo.instanceLists?[0]?.vpcId);\nconst secondSubnetId = vpcTwo.then(vpcTwo =\u003e vpcTwo.instanceLists?[0]?.subnetId);\nconst sg = new tencentcloud.security.Group(\"sg\", {});\nconst sgId = sg.id;\nconst default = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n imageNameRegex: \"Final\",\n});\nconst imageId = _default.then(_default =\u003e _default.imageId);\nconst sgRule = new tencentcloud.security.GroupLiteRule(\"sgRule\", {\n securityGroupId: sg.id,\n ingresses: [\n \"ACCEPT#10.0.0.0/16#ALL#ALL\",\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n \"DROP#0.0.0.0/0#ALL#ALL\",\n ],\n egresses: [\"ACCEPT#172.16.0.0/22#ALL#ALL\"],\n});\nconst example = new tencentcloud.kubernetes.Cluster(\"example\", {\n vpcId: firstVpcId,\n clusterCidr: exampleClusterCidr,\n clusterMaxPodNum: 32,\n clusterName: \"tf_example_cluster\",\n clusterDesc: \"example for tke cluster\",\n clusterMaxServiceNum: 32,\n clusterInternet: false,\n clusterInternetSecurityGroup: sgId,\n clusterVersion: \"1.22.5\",\n clusterDeployType: \"MANAGED_CLUSTER\",\n workerConfigs: [\n {\n count: 1,\n availabilityZone: availabilityZoneFirst,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: firstSubnetId,\n imgId: imageId,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"ZZXXccvv1212\",\n },\n {\n count: 1,\n availabilityZone: availabilityZoneSecond,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: secondSubnetId,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n camRoleName: \"CVM_QcsRole\",\n password: \"ZZXXccvv1212\",\n },\n ],\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n});\nconst zone = config.get(\"zone\") || \"ap-guangzhou\";\nconst clusterType = config.get(\"clusterType\") || \"tke\";\nconst fooTmpInstance = new tencentcloud.monitor.TmpInstance(\"fooTmpInstance\", {\n instanceName: \"tf-tmp-instance\",\n vpcId: firstVpcId,\n subnetId: firstSubnetId,\n dataRetentionTime: 30,\n zone: availabilityZoneSecond,\n tags: {\n createdBy: \"terraform\",\n },\n});\n// tmp tke bind\nconst fooTmpTkeClusterAgent = new tencentcloud.monitor.TmpTkeClusterAgent(\"fooTmpTkeClusterAgent\", {\n instanceId: fooTmpInstance.id,\n agents: {\n region: zone,\n clusterType: clusterType,\n clusterId: example.id,\n enableExternal: false,\n },\n});\n// create record rule\nconst basic = new tencentcloud.monitor.TmpTkeAlertPolicy(\"basic\", {\n instanceId: fooTmpInstance.id,\n alertRule: {\n name: \"alert_rule-test\",\n rules: [{\n name: \"rules-test\",\n rule: \"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\",\n template: `The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}`,\n \"for\": \"5m\",\n labels: [{\n name: \"severity\",\n value: \"warning\",\n }],\n }],\n notification: {\n type: \"amp\",\n enabled: true,\n alertManager: {\n url: \"xxx\",\n },\n },\n },\n}, {\n dependsOn: [fooTmpTkeClusterAgent],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"SA1.MEDIUM2\"\navailability_zone_first = config.get(\"availabilityZoneFirst\")\nif availability_zone_first is None:\n availability_zone_first = \"ap-guangzhou-3\"\navailability_zone_second = config.get(\"availabilityZoneSecond\")\nif availability_zone_second is None:\n availability_zone_second = \"ap-guangzhou-4\"\nexample_cluster_cidr = config.get(\"exampleClusterCidr\")\nif example_cluster_cidr is None:\n example_cluster_cidr = \"10.31.0.0/16\"\nvpc_one = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone_first)\nfirst_vpc_id = vpc_one.instance_lists[0].vpc_id\nfirst_subnet_id = vpc_one.instance_lists[0].subnet_id\nvpc_two = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone_second)\nsecond_vpc_id = vpc_two.instance_lists[0].vpc_id\nsecond_subnet_id = vpc_two.instance_lists[0].subnet_id\nsg = tencentcloud.security.Group(\"sg\")\nsg_id = sg.id\ndefault = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n image_name_regex=\"Final\")\nimage_id = default.image_id\nsg_rule = tencentcloud.security.GroupLiteRule(\"sgRule\",\n security_group_id=sg.id,\n ingresses=[\n \"ACCEPT#10.0.0.0/16#ALL#ALL\",\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n \"DROP#0.0.0.0/0#ALL#ALL\",\n ],\n egresses=[\"ACCEPT#172.16.0.0/22#ALL#ALL\"])\nexample = tencentcloud.kubernetes.Cluster(\"example\",\n vpc_id=first_vpc_id,\n cluster_cidr=example_cluster_cidr,\n cluster_max_pod_num=32,\n cluster_name=\"tf_example_cluster\",\n cluster_desc=\"example for tke cluster\",\n cluster_max_service_num=32,\n cluster_internet=False,\n cluster_internet_security_group=sg_id,\n cluster_version=\"1.22.5\",\n cluster_deploy_type=\"MANAGED_CLUSTER\",\n worker_configs=[\n tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone_first,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=first_subnet_id,\n img_id=image_id,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"ZZXXccvv1212\",\n ),\n tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone_second,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=second_subnet_id,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n cam_role_name=\"CVM_QcsRole\",\n password=\"ZZXXccvv1212\",\n ),\n ],\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n })\nzone = config.get(\"zone\")\nif zone is None:\n zone = \"ap-guangzhou\"\ncluster_type = config.get(\"clusterType\")\nif cluster_type is None:\n cluster_type = \"tke\"\nfoo_tmp_instance = tencentcloud.monitor.TmpInstance(\"fooTmpInstance\",\n instance_name=\"tf-tmp-instance\",\n vpc_id=first_vpc_id,\n subnet_id=first_subnet_id,\n data_retention_time=30,\n zone=availability_zone_second,\n tags={\n \"createdBy\": \"terraform\",\n })\n# tmp tke bind\nfoo_tmp_tke_cluster_agent = tencentcloud.monitor.TmpTkeClusterAgent(\"fooTmpTkeClusterAgent\",\n instance_id=foo_tmp_instance.id,\n agents=tencentcloud.monitor.TmpTkeClusterAgentAgentsArgs(\n region=zone,\n cluster_type=cluster_type,\n cluster_id=example.id,\n enable_external=False,\n ))\n# create record rule\nbasic = tencentcloud.monitor.TmpTkeAlertPolicy(\"basic\",\n instance_id=foo_tmp_instance.id,\n alert_rule=tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleArgs(\n name=\"alert_rule-test\",\n rules=[tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleRuleArgs(\n name=\"rules-test\",\n rule=\"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\",\n template=\"The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}\",\n for_=\"5m\",\n labels=[tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleRuleLabelArgs(\n name=\"severity\",\n value=\"warning\",\n )],\n )],\n notification=tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleNotificationArgs(\n type=\"amp\",\n enabled=True,\n alert_manager=tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs(\n url=\"xxx\",\n ),\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[foo_tmp_tke_cluster_agent]))\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var config = new Config();\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"SA1.MEDIUM2\";\n var availabilityZoneFirst = config.Get(\"availabilityZoneFirst\") ?? \"ap-guangzhou-3\";\n var availabilityZoneSecond = config.Get(\"availabilityZoneSecond\") ?? \"ap-guangzhou-4\";\n var exampleClusterCidr = config.Get(\"exampleClusterCidr\") ?? \"10.31.0.0/16\";\n var vpcOne = Output.Create(Tencentcloud.Vpc.GetSubnets.InvokeAsync(new Tencentcloud.Vpc.GetSubnetsArgs\n {\n IsDefault = true,\n AvailabilityZone = availabilityZoneFirst,\n }));\n var firstVpcId = vpcOne.Apply(vpcOne =\u003e vpcOne.InstanceLists?[0]?.VpcId);\n var firstSubnetId = vpcOne.Apply(vpcOne =\u003e vpcOne.InstanceLists?[0]?.SubnetId);\n var vpcTwo = Output.Create(Tencentcloud.Vpc.GetSubnets.InvokeAsync(new Tencentcloud.Vpc.GetSubnetsArgs\n {\n IsDefault = true,\n AvailabilityZone = availabilityZoneSecond,\n }));\n var secondVpcId = vpcTwo.Apply(vpcTwo =\u003e vpcTwo.InstanceLists?[0]?.VpcId);\n var secondSubnetId = vpcTwo.Apply(vpcTwo =\u003e vpcTwo.InstanceLists?[0]?.SubnetId);\n var sg = new Tencentcloud.Security.Group(\"sg\", new Tencentcloud.Security.GroupArgs\n {\n });\n var sgId = sg.Id;\n var @default = Output.Create(Tencentcloud.Images.GetInstance.InvokeAsync(new Tencentcloud.Images.GetInstanceArgs\n {\n ImageTypes = \n {\n \"PUBLIC_IMAGE\",\n },\n ImageNameRegex = \"Final\",\n }));\n var imageId = @default.Apply(@default =\u003e @default.ImageId);\n var sgRule = new Tencentcloud.Security.GroupLiteRule(\"sgRule\", new Tencentcloud.Security.GroupLiteRuleArgs\n {\n SecurityGroupId = sg.Id,\n Ingresses = \n {\n \"ACCEPT#10.0.0.0/16#ALL#ALL\",\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n \"DROP#0.0.0.0/0#ALL#ALL\",\n },\n Egresses = \n {\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n },\n });\n var example = new Tencentcloud.Kubernetes.Cluster(\"example\", new Tencentcloud.Kubernetes.ClusterArgs\n {\n VpcId = firstVpcId,\n ClusterCidr = exampleClusterCidr,\n ClusterMaxPodNum = 32,\n ClusterName = \"tf_example_cluster\",\n ClusterDesc = \"example for tke cluster\",\n ClusterMaxServiceNum = 32,\n ClusterInternet = false,\n ClusterInternetSecurityGroup = sgId,\n ClusterVersion = \"1.22.5\",\n ClusterDeployType = \"MANAGED_CLUSTER\",\n WorkerConfigs = \n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZoneFirst,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = firstSubnetId,\n ImgId = imageId,\n DataDisks = \n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"ZZXXccvv1212\",\n },\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZoneSecond,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = secondSubnetId,\n DataDisks = \n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n CamRoleName = \"CVM_QcsRole\",\n Password = \"ZZXXccvv1212\",\n },\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n });\n var zone = config.Get(\"zone\") ?? \"ap-guangzhou\";\n var clusterType = config.Get(\"clusterType\") ?? \"tke\";\n var fooTmpInstance = new Tencentcloud.Monitor.TmpInstance(\"fooTmpInstance\", new Tencentcloud.Monitor.TmpInstanceArgs\n {\n InstanceName = \"tf-tmp-instance\",\n VpcId = firstVpcId,\n SubnetId = firstSubnetId,\n DataRetentionTime = 30,\n Zone = availabilityZoneSecond,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n // tmp tke bind\n var fooTmpTkeClusterAgent = new Tencentcloud.Monitor.TmpTkeClusterAgent(\"fooTmpTkeClusterAgent\", new Tencentcloud.Monitor.TmpTkeClusterAgentArgs\n {\n InstanceId = fooTmpInstance.Id,\n Agents = new Tencentcloud.Monitor.Inputs.TmpTkeClusterAgentAgentsArgs\n {\n Region = zone,\n ClusterType = clusterType,\n ClusterId = example.Id,\n EnableExternal = false,\n },\n });\n // create record rule\n var basic = new Tencentcloud.Monitor.TmpTkeAlertPolicy(\"basic\", new Tencentcloud.Monitor.TmpTkeAlertPolicyArgs\n {\n InstanceId = fooTmpInstance.Id,\n AlertRule = new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleArgs\n {\n Name = \"alert_rule-test\",\n Rules = \n {\n new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleRuleArgs\n {\n Name = \"rules-test\",\n Rule = \"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\",\n Template = \"The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}\",\n For = \"5m\",\n Labels = \n {\n new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleRuleLabelArgs\n {\n Name = \"severity\",\n Value = \"warning\",\n },\n },\n },\n },\n Notification = new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleNotificationArgs\n {\n Type = \"amp\",\n Enabled = true,\n AlertManager = new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs\n {\n Url = \"xxx\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = \n {\n fooTmpTkeClusterAgent,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdefaultInstanceType := \"SA1.MEDIUM2\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\tavailabilityZoneFirst := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZoneFirst\"); param != \"\" {\n\t\t\tavailabilityZoneFirst = param\n\t\t}\n\t\tavailabilityZoneSecond := \"ap-guangzhou-4\"\n\t\tif param := cfg.Get(\"availabilityZoneSecond\"); param != \"\" {\n\t\t\tavailabilityZoneSecond = param\n\t\t}\n\t\texampleClusterCidr := \"10.31.0.0/16\"\n\t\tif param := cfg.Get(\"exampleClusterCidr\"); param != \"\" {\n\t\t\texampleClusterCidr = param\n\t\t}\n\t\tvpcOne, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZoneFirst),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirstVpcId := vpcOne.InstanceLists[0].VpcId\n\t\tfirstSubnetId := vpcOne.InstanceLists[0].SubnetId\n\t\tvpcTwo, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZoneSecond),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ := vpcTwo.InstanceLists[0].VpcId\n\t\tsecondSubnetId := vpcTwo.InstanceLists[0].SubnetId\n\t\tsg, err := Security.NewGroup(ctx, \"sg\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsgId := sg.ID()\n\t\t_default, err := Images.GetInstance(ctx, \u0026images.GetInstanceArgs{\n\t\t\tImageTypes: []string{\n\t\t\t\t\"PUBLIC_IMAGE\",\n\t\t\t},\n\t\t\tImageNameRegex: pulumi.StringRef(\"Final\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timageId := _default.ImageId\n\t\t_, err = Security.NewGroupLiteRule(ctx, \"sgRule\", \u0026Security.GroupLiteRuleArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tIngresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACCEPT#10.0.0.0/16#ALL#ALL\"),\n\t\t\t\tpulumi.String(\"ACCEPT#172.16.0.0/22#ALL#ALL\"),\n\t\t\t\tpulumi.String(\"DROP#0.0.0.0/0#ALL#ALL\"),\n\t\t\t},\n\t\t\tEgresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACCEPT#172.16.0.0/22#ALL#ALL\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := Kubernetes.NewCluster(ctx, \"example\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(firstVpcId),\n\t\t\tClusterCidr: pulumi.String(exampleClusterCidr),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"tf_example_cluster\"),\n\t\t\tClusterDesc: pulumi.String(\"example for tke cluster\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tClusterInternet: pulumi.Bool(false),\n\t\t\tClusterInternetSecurityGroup: pulumi.String(sgId),\n\t\t\tClusterVersion: pulumi.String(\"1.22.5\"),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZoneFirst),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(firstSubnetId),\n\t\t\t\t\tImgId: pulumi.String(imageId),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tPassword: pulumi.String(\"ZZXXccvv1212\"),\n\t\t\t\t},\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZoneSecond),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(secondSubnetId),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tCamRoleName: pulumi.String(\"CVM_QcsRole\"),\n\t\t\t\t\tPassword: pulumi.String(\"ZZXXccvv1212\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: pulumi.AnyMap{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tzone := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"zone\"); param != \"\" {\n\t\t\tzone = param\n\t\t}\n\t\tclusterType := \"tke\"\n\t\tif param := cfg.Get(\"clusterType\"); param != \"\" {\n\t\t\tclusterType = param\n\t\t}\n\t\tfooTmpInstance, err := Monitor.NewTmpInstance(ctx, \"fooTmpInstance\", \u0026Monitor.TmpInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-tmp-instance\"),\n\t\t\tVpcId: pulumi.String(firstVpcId),\n\t\t\tSubnetId: pulumi.String(firstSubnetId),\n\t\t\tDataRetentionTime: pulumi.Int(30),\n\t\t\tZone: pulumi.String(availabilityZoneSecond),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooTmpTkeClusterAgent, err := Monitor.NewTmpTkeClusterAgent(ctx, \"fooTmpTkeClusterAgent\", \u0026Monitor.TmpTkeClusterAgentArgs{\n\t\t\tInstanceId: fooTmpInstance.ID(),\n\t\t\tAgents: \u0026monitor.TmpTkeClusterAgentAgentsArgs{\n\t\t\t\tRegion: pulumi.String(zone),\n\t\t\t\tClusterType: pulumi.String(clusterType),\n\t\t\t\tClusterId: example.ID(),\n\t\t\t\tEnableExternal: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Monitor.NewTmpTkeAlertPolicy(ctx, \"basic\", \u0026Monitor.TmpTkeAlertPolicyArgs{\n\t\t\tInstanceId: fooTmpInstance.ID(),\n\t\t\tAlertRule: \u0026monitor.TmpTkeAlertPolicyAlertRuleArgs{\n\t\t\t\tName: pulumi.String(\"alert_rule-test\"),\n\t\t\t\tRules: monitor.TmpTkeAlertPolicyAlertRuleRuleArray{\n\t\t\t\t\t\u0026monitor.TmpTkeAlertPolicyAlertRuleRuleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"rules-test\"),\n\t\t\t\t\t\tRule: pulumi.String(\"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\"),\n\t\t\t\t\t\tTemplate: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v\", \"The CPU requested by the Pod in the cluster {{ \", \"$\", \"labels.cluster }} is overloaded, and the current CPU application ratio is {{ \", \"$\", \"value | humanizePercentage }}\")),\n\t\t\t\t\t\tFor: pulumi.String(\"5m\"),\n\t\t\t\t\t\tLabels: monitor.TmpTkeAlertPolicyAlertRuleRuleLabelArray{\n\t\t\t\t\t\t\t\u0026monitor.TmpTkeAlertPolicyAlertRuleRuleLabelArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"severity\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"warning\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tNotification: \u0026monitor.TmpTkeAlertPolicyAlertRuleNotificationArgs{\n\t\t\t\t\tType: pulumi.String(\"amp\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAlertManager: \u0026monitor.TmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs{\n\t\t\t\t\t\tUrl: pulumi.String(\"xxx\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooTmpTkeClusterAgent,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\nimport com.pulumi.resources.CustomResourceOptions;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"SA1.MEDIUM2\");\n final var availabilityZoneFirst = config.get(\"availabilityZoneFirst\").orElse(\"ap-guangzhou-3\");\n final var availabilityZoneSecond = config.get(\"availabilityZoneSecond\").orElse(\"ap-guangzhou-4\");\n final var exampleClusterCidr = config.get(\"exampleClusterCidr\").orElse(\"10.31.0.0/16\");\n final var vpcOne = Output.of(VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZoneFirst)\n .build()));\n\n final var firstVpcId = vpcOne.apply(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId());\n\n final var firstSubnetId = vpcOne.apply(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId());\n\n final var vpcTwo = Output.of(VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZoneSecond)\n .build()));\n\n final var secondVpcId = vpcTwo.apply(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId());\n\n final var secondSubnetId = vpcTwo.apply(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId());\n\n var sg = new Group(\"sg\");\n\n final var sgId = sg.id();\n\n final var default = Output.of(ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .imageNameRegex(\"Final\")\n .build()));\n\n final var imageId = default_.imageId();\n\n var sgRule = new GroupLiteRule(\"sgRule\", GroupLiteRuleArgs.builder() \n .securityGroupId(sg.id())\n .ingresses( \n \"ACCEPT#10.0.0.0/16#ALL#ALL\",\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n \"DROP#0.0.0.0/0#ALL#ALL\")\n .egresses(\"ACCEPT#172.16.0.0/22#ALL#ALL\")\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .vpcId(firstVpcId)\n .clusterCidr(exampleClusterCidr)\n .clusterMaxPodNum(32)\n .clusterName(\"tf_example_cluster\")\n .clusterDesc(\"example for tke cluster\")\n .clusterMaxServiceNum(32)\n .clusterInternet(false)\n .clusterInternetSecurityGroup(sgId)\n .clusterVersion(\"1.22.5\")\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .workerConfigs( \n ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZoneFirst)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(firstSubnetId)\n .imgId(imageId)\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"ZZXXccvv1212\")\n .build(),\n ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZoneSecond)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(secondSubnetId)\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .camRoleName(\"CVM_QcsRole\")\n .password(\"ZZXXccvv1212\")\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .build());\n\n final var zone = config.get(\"zone\").orElse(\"ap-guangzhou\");\n final var clusterType = config.get(\"clusterType\").orElse(\"tke\");\n var fooTmpInstance = new TmpInstance(\"fooTmpInstance\", TmpInstanceArgs.builder() \n .instanceName(\"tf-tmp-instance\")\n .vpcId(firstVpcId)\n .subnetId(firstSubnetId)\n .dataRetentionTime(30)\n .zone(availabilityZoneSecond)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var fooTmpTkeClusterAgent = new TmpTkeClusterAgent(\"fooTmpTkeClusterAgent\", TmpTkeClusterAgentArgs.builder() \n .instanceId(fooTmpInstance.id())\n .agents(TmpTkeClusterAgentAgentsArgs.builder()\n .region(zone)\n .clusterType(clusterType)\n .clusterId(example.id())\n .enableExternal(false)\n .build())\n .build());\n\n var basic = new TmpTkeAlertPolicy(\"basic\", TmpTkeAlertPolicyArgs.builder() \n .instanceId(fooTmpInstance.id())\n .alertRule(TmpTkeAlertPolicyAlertRuleArgs.builder()\n .name(\"alert_rule-test\")\n .rules(TmpTkeAlertPolicyAlertRuleRuleArgs.builder()\n .name(\"rules-test\")\n .rule(\"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\")\n .template(\"The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}\")\n .for_(\"5m\")\n .labels(TmpTkeAlertPolicyAlertRuleRuleLabelArgs.builder()\n .name(\"severity\")\n .value(\"warning\")\n .build())\n .build())\n .notification(TmpTkeAlertPolicyAlertRuleNotificationArgs.builder()\n .type(\"amp\")\n .enabled(true)\n .alertManager(TmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs.builder()\n .url(\"xxx\")\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooTmpTkeClusterAgent)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n defaultInstanceType:\n type: string\n default: SA1.MEDIUM2\n availabilityZoneFirst:\n type: string\n default: ap-guangzhou-3\n availabilityZoneSecond:\n type: string\n default: ap-guangzhou-4\n exampleClusterCidr:\n type: string\n default: 10.31.0.0/16\n zone:\n type: string\n default: ap-guangzhou\n clusterType:\n type: string\n default: tke\nresources:\n sg:\n type: tencentcloud:Security:Group\n sgRule:\n type: tencentcloud:Security:GroupLiteRule\n properties:\n securityGroupId: ${sg.id}\n ingresses:\n - ACCEPT#10.0.0.0/16#ALL#ALL\n - ACCEPT#172.16.0.0/22#ALL#ALL\n - DROP#0.0.0.0/0#ALL#ALL\n egresses:\n - ACCEPT#172.16.0.0/22#ALL#ALL\n example:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${firstVpcId}\n clusterCidr: ${exampleClusterCidr}\n clusterMaxPodNum: 32\n clusterName: tf_example_cluster\n clusterDesc: example for tke cluster\n clusterMaxServiceNum: 32\n clusterInternet: false\n clusterInternetSecurityGroup: ${sgId}\n clusterVersion: 1.22.5\n clusterDeployType: MANAGED_CLUSTER\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZoneFirst}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${firstSubnetId}\n imgId: ${imageId}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: ZZXXccvv1212\n - count: 1\n availabilityZone: ${availabilityZoneSecond}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${secondSubnetId}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n camRoleName: CVM_QcsRole\n password: ZZXXccvv1212\n labels:\n test1: test1\n test2: test2\n fooTmpInstance:\n type: tencentcloud:Monitor:TmpInstance\n properties:\n instanceName: tf-tmp-instance\n vpcId: ${firstVpcId}\n subnetId: ${firstSubnetId}\n dataRetentionTime: 30\n zone: ${availabilityZoneSecond}\n tags:\n createdBy: terraform\n fooTmpTkeClusterAgent:\n type: tencentcloud:Monitor:TmpTkeClusterAgent\n properties:\n instanceId: ${fooTmpInstance.id}\n agents:\n region: ${zone}\n clusterType: ${clusterType}\n clusterId: ${example.id}\n enableExternal: false\n basic:\n type: tencentcloud:Monitor:TmpTkeAlertPolicy\n properties:\n instanceId: ${fooTmpInstance.id}\n alertRule:\n name: alert_rule-test\n rules:\n - name: rules-test\n rule: (count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\n template: The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}\n for: 5m\n labels:\n - name: severity\n value: warning\n notification:\n type: amp\n enabled: true\n alertManager:\n url: xxx\n options:\n dependson:\n - ${fooTmpTkeClusterAgent}\nvariables:\n firstVpcId: ${vpcOne.instanceLists[0].vpcId}\n firstSubnetId: ${vpcOne.instanceLists[0].subnetId}\n secondVpcId: ${vpcTwo.instanceLists[0].vpcId}\n secondSubnetId: ${vpcTwo.instanceLists[0].subnetId}\n sgId: ${sg.id}\n imageId: ${default.imageId}\n vpcOne:\n Fn::Invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZoneFirst}\n vpcTwo:\n Fn::Invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZoneSecond}\n default:\n Fn::Invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n imageNameRegex: Final\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Provides a resource to create a tke tmpAlertPolicy\n\n\u003e **NOTE:** This resource will be deprecated in a future version, please use `tencentcloud.Monitor.TmpAlertGroup`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as pulumi from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"SA1.MEDIUM2\";\nconst availabilityZoneFirst = config.get(\"availabilityZoneFirst\") || \"ap-guangzhou-3\";\nconst availabilityZoneSecond = config.get(\"availabilityZoneSecond\") || \"ap-guangzhou-4\";\nconst exampleClusterCidr = config.get(\"exampleClusterCidr\") || \"10.31.0.0/16\";\nconst vpcOne = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZoneFirst,\n});\nconst firstVpcId = vpcOne.then(vpcOne =\u003e vpcOne.instanceLists?[0]?.vpcId);\nconst firstSubnetId = vpcOne.then(vpcOne =\u003e vpcOne.instanceLists?[0]?.subnetId);\nconst vpcTwo = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZoneSecond,\n});\nconst secondVpcId = vpcTwo.then(vpcTwo =\u003e vpcTwo.instanceLists?[0]?.vpcId);\nconst secondSubnetId = vpcTwo.then(vpcTwo =\u003e vpcTwo.instanceLists?[0]?.subnetId);\nconst sg = new tencentcloud.security.Group(\"sg\", {});\nconst sgId = sg.id;\nconst default = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n imageNameRegex: \"Final\",\n});\nconst imageId = _default.then(_default =\u003e _default.imageId);\nconst sgRule = new tencentcloud.security.GroupLiteRule(\"sgRule\", {\n securityGroupId: sg.id,\n ingresses: [\n \"ACCEPT#10.0.0.0/16#ALL#ALL\",\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n \"DROP#0.0.0.0/0#ALL#ALL\",\n ],\n egresses: [\"ACCEPT#172.16.0.0/22#ALL#ALL\"],\n});\nconst example = new tencentcloud.kubernetes.Cluster(\"example\", {\n vpcId: firstVpcId,\n clusterCidr: exampleClusterCidr,\n clusterMaxPodNum: 32,\n clusterName: \"tf_example_cluster\",\n clusterDesc: \"example for tke cluster\",\n clusterMaxServiceNum: 32,\n clusterInternet: false,\n clusterInternetSecurityGroup: sgId,\n clusterVersion: \"1.22.5\",\n clusterDeployType: \"MANAGED_CLUSTER\",\n workerConfigs: [\n {\n count: 1,\n availabilityZone: availabilityZoneFirst,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: firstSubnetId,\n imgId: imageId,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"ZZXXccvv1212\",\n },\n {\n count: 1,\n availabilityZone: availabilityZoneSecond,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: secondSubnetId,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n camRoleName: \"CVM_QcsRole\",\n password: \"ZZXXccvv1212\",\n },\n ],\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n});\nconst zone = config.get(\"zone\") || \"ap-guangzhou\";\nconst clusterType = config.get(\"clusterType\") || \"tke\";\nconst fooTmpInstance = new tencentcloud.monitor.TmpInstance(\"fooTmpInstance\", {\n instanceName: \"tf-tmp-instance\",\n vpcId: firstVpcId,\n subnetId: firstSubnetId,\n dataRetentionTime: 30,\n zone: availabilityZoneSecond,\n tags: {\n createdBy: \"terraform\",\n },\n});\n// tmp tke bind\nconst fooTmpTkeClusterAgent = new tencentcloud.monitor.TmpTkeClusterAgent(\"fooTmpTkeClusterAgent\", {\n instanceId: fooTmpInstance.id,\n agents: {\n region: zone,\n clusterType: clusterType,\n clusterId: example.id,\n enableExternal: false,\n },\n});\n// create record rule\nconst basic = new tencentcloud.monitor.TmpTkeAlertPolicy(\"basic\", {\n instanceId: fooTmpInstance.id,\n alertRule: {\n name: \"alert_rule-test\",\n rules: [{\n name: \"rules-test\",\n rule: \"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\",\n template: `The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}`,\n \"for\": \"5m\",\n labels: [{\n name: \"severity\",\n value: \"warning\",\n }],\n }],\n notification: {\n type: \"amp\",\n enabled: true,\n alertManager: {\n url: \"xxx\",\n },\n },\n },\n}, {\n dependsOn: [fooTmpTkeClusterAgent],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"SA1.MEDIUM2\"\navailability_zone_first = config.get(\"availabilityZoneFirst\")\nif availability_zone_first is None:\n availability_zone_first = \"ap-guangzhou-3\"\navailability_zone_second = config.get(\"availabilityZoneSecond\")\nif availability_zone_second is None:\n availability_zone_second = \"ap-guangzhou-4\"\nexample_cluster_cidr = config.get(\"exampleClusterCidr\")\nif example_cluster_cidr is None:\n example_cluster_cidr = \"10.31.0.0/16\"\nvpc_one = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone_first)\nfirst_vpc_id = vpc_one.instance_lists[0].vpc_id\nfirst_subnet_id = vpc_one.instance_lists[0].subnet_id\nvpc_two = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone_second)\nsecond_vpc_id = vpc_two.instance_lists[0].vpc_id\nsecond_subnet_id = vpc_two.instance_lists[0].subnet_id\nsg = tencentcloud.security.Group(\"sg\")\nsg_id = sg.id\ndefault = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n image_name_regex=\"Final\")\nimage_id = default.image_id\nsg_rule = tencentcloud.security.GroupLiteRule(\"sgRule\",\n security_group_id=sg.id,\n ingresses=[\n \"ACCEPT#10.0.0.0/16#ALL#ALL\",\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n \"DROP#0.0.0.0/0#ALL#ALL\",\n ],\n egresses=[\"ACCEPT#172.16.0.0/22#ALL#ALL\"])\nexample = tencentcloud.kubernetes.Cluster(\"example\",\n vpc_id=first_vpc_id,\n cluster_cidr=example_cluster_cidr,\n cluster_max_pod_num=32,\n cluster_name=\"tf_example_cluster\",\n cluster_desc=\"example for tke cluster\",\n cluster_max_service_num=32,\n cluster_internet=False,\n cluster_internet_security_group=sg_id,\n cluster_version=\"1.22.5\",\n cluster_deploy_type=\"MANAGED_CLUSTER\",\n worker_configs=[\n tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone_first,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=first_subnet_id,\n img_id=image_id,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"ZZXXccvv1212\",\n ),\n tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone_second,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=second_subnet_id,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n cam_role_name=\"CVM_QcsRole\",\n password=\"ZZXXccvv1212\",\n ),\n ],\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n })\nzone = config.get(\"zone\")\nif zone is None:\n zone = \"ap-guangzhou\"\ncluster_type = config.get(\"clusterType\")\nif cluster_type is None:\n cluster_type = \"tke\"\nfoo_tmp_instance = tencentcloud.monitor.TmpInstance(\"fooTmpInstance\",\n instance_name=\"tf-tmp-instance\",\n vpc_id=first_vpc_id,\n subnet_id=first_subnet_id,\n data_retention_time=30,\n zone=availability_zone_second,\n tags={\n \"createdBy\": \"terraform\",\n })\n# tmp tke bind\nfoo_tmp_tke_cluster_agent = tencentcloud.monitor.TmpTkeClusterAgent(\"fooTmpTkeClusterAgent\",\n instance_id=foo_tmp_instance.id,\n agents=tencentcloud.monitor.TmpTkeClusterAgentAgentsArgs(\n region=zone,\n cluster_type=cluster_type,\n cluster_id=example.id,\n enable_external=False,\n ))\n# create record rule\nbasic = tencentcloud.monitor.TmpTkeAlertPolicy(\"basic\",\n instance_id=foo_tmp_instance.id,\n alert_rule=tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleArgs(\n name=\"alert_rule-test\",\n rules=[tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleRuleArgs(\n name=\"rules-test\",\n rule=\"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\",\n template=\"The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}\",\n for_=\"5m\",\n labels=[tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleRuleLabelArgs(\n name=\"severity\",\n value=\"warning\",\n )],\n )],\n notification=tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleNotificationArgs(\n type=\"amp\",\n enabled=True,\n alert_manager=tencentcloud.monitor.TmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs(\n url=\"xxx\",\n ),\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[foo_tmp_tke_cluster_agent]))\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var config = new Config();\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"SA1.MEDIUM2\";\n var availabilityZoneFirst = config.Get(\"availabilityZoneFirst\") ?? \"ap-guangzhou-3\";\n var availabilityZoneSecond = config.Get(\"availabilityZoneSecond\") ?? \"ap-guangzhou-4\";\n var exampleClusterCidr = config.Get(\"exampleClusterCidr\") ?? \"10.31.0.0/16\";\n var vpcOne = Output.Create(Tencentcloud.Vpc.GetSubnets.InvokeAsync(new Tencentcloud.Vpc.GetSubnetsArgs\n {\n IsDefault = true,\n AvailabilityZone = availabilityZoneFirst,\n }));\n var firstVpcId = vpcOne.Apply(vpcOne =\u003e vpcOne.InstanceLists?[0]?.VpcId);\n var firstSubnetId = vpcOne.Apply(vpcOne =\u003e vpcOne.InstanceLists?[0]?.SubnetId);\n var vpcTwo = Output.Create(Tencentcloud.Vpc.GetSubnets.InvokeAsync(new Tencentcloud.Vpc.GetSubnetsArgs\n {\n IsDefault = true,\n AvailabilityZone = availabilityZoneSecond,\n }));\n var secondVpcId = vpcTwo.Apply(vpcTwo =\u003e vpcTwo.InstanceLists?[0]?.VpcId);\n var secondSubnetId = vpcTwo.Apply(vpcTwo =\u003e vpcTwo.InstanceLists?[0]?.SubnetId);\n var sg = new Tencentcloud.Security.Group(\"sg\", new Tencentcloud.Security.GroupArgs\n {\n });\n var sgId = sg.Id;\n var @default = Output.Create(Tencentcloud.Images.GetInstance.InvokeAsync(new Tencentcloud.Images.GetInstanceArgs\n {\n ImageTypes = \n {\n \"PUBLIC_IMAGE\",\n },\n ImageNameRegex = \"Final\",\n }));\n var imageId = @default.Apply(@default =\u003e @default.ImageId);\n var sgRule = new Tencentcloud.Security.GroupLiteRule(\"sgRule\", new Tencentcloud.Security.GroupLiteRuleArgs\n {\n SecurityGroupId = sg.Id,\n Ingresses = \n {\n \"ACCEPT#10.0.0.0/16#ALL#ALL\",\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n \"DROP#0.0.0.0/0#ALL#ALL\",\n },\n Egresses = \n {\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n },\n });\n var example = new Tencentcloud.Kubernetes.Cluster(\"example\", new Tencentcloud.Kubernetes.ClusterArgs\n {\n VpcId = firstVpcId,\n ClusterCidr = exampleClusterCidr,\n ClusterMaxPodNum = 32,\n ClusterName = \"tf_example_cluster\",\n ClusterDesc = \"example for tke cluster\",\n ClusterMaxServiceNum = 32,\n ClusterInternet = false,\n ClusterInternetSecurityGroup = sgId,\n ClusterVersion = \"1.22.5\",\n ClusterDeployType = \"MANAGED_CLUSTER\",\n WorkerConfigs = \n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZoneFirst,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = firstSubnetId,\n ImgId = imageId,\n DataDisks = \n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"ZZXXccvv1212\",\n },\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZoneSecond,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = secondSubnetId,\n DataDisks = \n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n CamRoleName = \"CVM_QcsRole\",\n Password = \"ZZXXccvv1212\",\n },\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n });\n var zone = config.Get(\"zone\") ?? \"ap-guangzhou\";\n var clusterType = config.Get(\"clusterType\") ?? \"tke\";\n var fooTmpInstance = new Tencentcloud.Monitor.TmpInstance(\"fooTmpInstance\", new Tencentcloud.Monitor.TmpInstanceArgs\n {\n InstanceName = \"tf-tmp-instance\",\n VpcId = firstVpcId,\n SubnetId = firstSubnetId,\n DataRetentionTime = 30,\n Zone = availabilityZoneSecond,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n // tmp tke bind\n var fooTmpTkeClusterAgent = new Tencentcloud.Monitor.TmpTkeClusterAgent(\"fooTmpTkeClusterAgent\", new Tencentcloud.Monitor.TmpTkeClusterAgentArgs\n {\n InstanceId = fooTmpInstance.Id,\n Agents = new Tencentcloud.Monitor.Inputs.TmpTkeClusterAgentAgentsArgs\n {\n Region = zone,\n ClusterType = clusterType,\n ClusterId = example.Id,\n EnableExternal = false,\n },\n });\n // create record rule\n var basic = new Tencentcloud.Monitor.TmpTkeAlertPolicy(\"basic\", new Tencentcloud.Monitor.TmpTkeAlertPolicyArgs\n {\n InstanceId = fooTmpInstance.Id,\n AlertRule = new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleArgs\n {\n Name = \"alert_rule-test\",\n Rules = \n {\n new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleRuleArgs\n {\n Name = \"rules-test\",\n Rule = \"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\",\n Template = \"The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}\",\n For = \"5m\",\n Labels = \n {\n new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleRuleLabelArgs\n {\n Name = \"severity\",\n Value = \"warning\",\n },\n },\n },\n },\n Notification = new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleNotificationArgs\n {\n Type = \"amp\",\n Enabled = true,\n AlertManager = new Tencentcloud.Monitor.Inputs.TmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs\n {\n Url = \"xxx\",\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = \n {\n fooTmpTkeClusterAgent,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tdefaultInstanceType := \"SA1.MEDIUM2\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\tavailabilityZoneFirst := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZoneFirst\"); param != \"\" {\n\t\t\tavailabilityZoneFirst = param\n\t\t}\n\t\tavailabilityZoneSecond := \"ap-guangzhou-4\"\n\t\tif param := cfg.Get(\"availabilityZoneSecond\"); param != \"\" {\n\t\t\tavailabilityZoneSecond = param\n\t\t}\n\t\texampleClusterCidr := \"10.31.0.0/16\"\n\t\tif param := cfg.Get(\"exampleClusterCidr\"); param != \"\" {\n\t\t\texampleClusterCidr = param\n\t\t}\n\t\tvpcOne, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZoneFirst),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirstVpcId := vpcOne.InstanceLists[0].VpcId\n\t\tfirstSubnetId := vpcOne.InstanceLists[0].SubnetId\n\t\tvpcTwo, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZoneSecond),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ := vpcTwo.InstanceLists[0].VpcId\n\t\tsecondSubnetId := vpcTwo.InstanceLists[0].SubnetId\n\t\tsg, err := Security.NewGroup(ctx, \"sg\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsgId := sg.ID()\n\t\t_default, err := Images.GetInstance(ctx, \u0026images.GetInstanceArgs{\n\t\t\tImageTypes: []string{\n\t\t\t\t\"PUBLIC_IMAGE\",\n\t\t\t},\n\t\t\tImageNameRegex: pulumi.StringRef(\"Final\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\timageId := _default.ImageId\n\t\t_, err = Security.NewGroupLiteRule(ctx, \"sgRule\", \u0026Security.GroupLiteRuleArgs{\n\t\t\tSecurityGroupId: sg.ID(),\n\t\t\tIngresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACCEPT#10.0.0.0/16#ALL#ALL\"),\n\t\t\t\tpulumi.String(\"ACCEPT#172.16.0.0/22#ALL#ALL\"),\n\t\t\t\tpulumi.String(\"DROP#0.0.0.0/0#ALL#ALL\"),\n\t\t\t},\n\t\t\tEgresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ACCEPT#172.16.0.0/22#ALL#ALL\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := Kubernetes.NewCluster(ctx, \"example\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(firstVpcId),\n\t\t\tClusterCidr: pulumi.String(exampleClusterCidr),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"tf_example_cluster\"),\n\t\t\tClusterDesc: pulumi.String(\"example for tke cluster\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tClusterInternet: pulumi.Bool(false),\n\t\t\tClusterInternetSecurityGroup: pulumi.String(sgId),\n\t\t\tClusterVersion: pulumi.String(\"1.22.5\"),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZoneFirst),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(firstSubnetId),\n\t\t\t\t\tImgId: pulumi.String(imageId),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tPassword: pulumi.String(\"ZZXXccvv1212\"),\n\t\t\t\t},\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZoneSecond),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(secondSubnetId),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tCamRoleName: pulumi.String(\"CVM_QcsRole\"),\n\t\t\t\t\tPassword: pulumi.String(\"ZZXXccvv1212\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: pulumi.AnyMap{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tzone := \"ap-guangzhou\"\n\t\tif param := cfg.Get(\"zone\"); param != \"\" {\n\t\t\tzone = param\n\t\t}\n\t\tclusterType := \"tke\"\n\t\tif param := cfg.Get(\"clusterType\"); param != \"\" {\n\t\t\tclusterType = param\n\t\t}\n\t\tfooTmpInstance, err := Monitor.NewTmpInstance(ctx, \"fooTmpInstance\", \u0026Monitor.TmpInstanceArgs{\n\t\t\tInstanceName: pulumi.String(\"tf-tmp-instance\"),\n\t\t\tVpcId: pulumi.String(firstVpcId),\n\t\t\tSubnetId: pulumi.String(firstSubnetId),\n\t\t\tDataRetentionTime: pulumi.Int(30),\n\t\t\tZone: pulumi.String(availabilityZoneSecond),\n\t\t\tTags: pulumi.AnyMap{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooTmpTkeClusterAgent, err := Monitor.NewTmpTkeClusterAgent(ctx, \"fooTmpTkeClusterAgent\", \u0026Monitor.TmpTkeClusterAgentArgs{\n\t\t\tInstanceId: fooTmpInstance.ID(),\n\t\t\tAgents: \u0026monitor.TmpTkeClusterAgentAgentsArgs{\n\t\t\t\tRegion: pulumi.String(zone),\n\t\t\t\tClusterType: pulumi.String(clusterType),\n\t\t\t\tClusterId: example.ID(),\n\t\t\t\tEnableExternal: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Monitor.NewTmpTkeAlertPolicy(ctx, \"basic\", \u0026Monitor.TmpTkeAlertPolicyArgs{\n\t\t\tInstanceId: fooTmpInstance.ID(),\n\t\t\tAlertRule: \u0026monitor.TmpTkeAlertPolicyAlertRuleArgs{\n\t\t\t\tName: pulumi.String(\"alert_rule-test\"),\n\t\t\t\tRules: monitor.TmpTkeAlertPolicyAlertRuleRuleArray{\n\t\t\t\t\t\u0026monitor.TmpTkeAlertPolicyAlertRuleRuleArgs{\n\t\t\t\t\t\tName: pulumi.String(\"rules-test\"),\n\t\t\t\t\t\tRule: pulumi.String(\"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\"),\n\t\t\t\t\t\tTemplate: pulumi.String(fmt.Sprintf(\"%v%v%v%v%v\", \"The CPU requested by the Pod in the cluster {{ \", \"$\", \"labels.cluster }} is overloaded, and the current CPU application ratio is {{ \", \"$\", \"value | humanizePercentage }}\")),\n\t\t\t\t\t\tFor: pulumi.String(\"5m\"),\n\t\t\t\t\t\tLabels: monitor.TmpTkeAlertPolicyAlertRuleRuleLabelArray{\n\t\t\t\t\t\t\t\u0026monitor.TmpTkeAlertPolicyAlertRuleRuleLabelArgs{\n\t\t\t\t\t\t\t\tName: pulumi.String(\"severity\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"warning\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tNotification: \u0026monitor.TmpTkeAlertPolicyAlertRuleNotificationArgs{\n\t\t\t\t\tType: pulumi.String(\"amp\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tAlertManager: \u0026monitor.TmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs{\n\t\t\t\t\t\tUrl: pulumi.String(\"xxx\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfooTmpTkeClusterAgent,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\nimport com.pulumi.resources.CustomResourceOptions;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"SA1.MEDIUM2\");\n final var availabilityZoneFirst = config.get(\"availabilityZoneFirst\").orElse(\"ap-guangzhou-3\");\n final var availabilityZoneSecond = config.get(\"availabilityZoneSecond\").orElse(\"ap-guangzhou-4\");\n final var exampleClusterCidr = config.get(\"exampleClusterCidr\").orElse(\"10.31.0.0/16\");\n final var vpcOne = Output.of(VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZoneFirst)\n .build()));\n\n final var firstVpcId = vpcOne.apply(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId());\n\n final var firstSubnetId = vpcOne.apply(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId());\n\n final var vpcTwo = Output.of(VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZoneSecond)\n .build()));\n\n final var secondVpcId = vpcTwo.apply(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId());\n\n final var secondSubnetId = vpcTwo.apply(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId());\n\n var sg = new Group(\"sg\");\n\n final var sgId = sg.id();\n\n final var default = Output.of(ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .imageNameRegex(\"Final\")\n .build()));\n\n final var imageId = default_.imageId();\n\n var sgRule = new GroupLiteRule(\"sgRule\", GroupLiteRuleArgs.builder() \n .securityGroupId(sg.id())\n .ingresses( \n \"ACCEPT#10.0.0.0/16#ALL#ALL\",\n \"ACCEPT#172.16.0.0/22#ALL#ALL\",\n \"DROP#0.0.0.0/0#ALL#ALL\")\n .egresses(\"ACCEPT#172.16.0.0/22#ALL#ALL\")\n .build());\n\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .vpcId(firstVpcId)\n .clusterCidr(exampleClusterCidr)\n .clusterMaxPodNum(32)\n .clusterName(\"tf_example_cluster\")\n .clusterDesc(\"example for tke cluster\")\n .clusterMaxServiceNum(32)\n .clusterInternet(false)\n .clusterInternetSecurityGroup(sgId)\n .clusterVersion(\"1.22.5\")\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .workerConfigs( \n ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZoneFirst)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(firstSubnetId)\n .imgId(imageId)\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"ZZXXccvv1212\")\n .build(),\n ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZoneSecond)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(secondSubnetId)\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .camRoleName(\"CVM_QcsRole\")\n .password(\"ZZXXccvv1212\")\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .build());\n\n final var zone = config.get(\"zone\").orElse(\"ap-guangzhou\");\n final var clusterType = config.get(\"clusterType\").orElse(\"tke\");\n var fooTmpInstance = new TmpInstance(\"fooTmpInstance\", TmpInstanceArgs.builder() \n .instanceName(\"tf-tmp-instance\")\n .vpcId(firstVpcId)\n .subnetId(firstSubnetId)\n .dataRetentionTime(30)\n .zone(availabilityZoneSecond)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var fooTmpTkeClusterAgent = new TmpTkeClusterAgent(\"fooTmpTkeClusterAgent\", TmpTkeClusterAgentArgs.builder() \n .instanceId(fooTmpInstance.id())\n .agents(TmpTkeClusterAgentAgentsArgs.builder()\n .region(zone)\n .clusterType(clusterType)\n .clusterId(example.id())\n .enableExternal(false)\n .build())\n .build());\n\n var basic = new TmpTkeAlertPolicy(\"basic\", TmpTkeAlertPolicyArgs.builder() \n .instanceId(fooTmpInstance.id())\n .alertRule(TmpTkeAlertPolicyAlertRuleArgs.builder()\n .name(\"alert_rule-test\")\n .rules(TmpTkeAlertPolicyAlertRuleRuleArgs.builder()\n .name(\"rules-test\")\n .rule(\"(count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\")\n .template(\"The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}\")\n .for_(\"5m\")\n .labels(TmpTkeAlertPolicyAlertRuleRuleLabelArgs.builder()\n .name(\"severity\")\n .value(\"warning\")\n .build())\n .build())\n .notification(TmpTkeAlertPolicyAlertRuleNotificationArgs.builder()\n .type(\"amp\")\n .enabled(true)\n .alertManager(TmpTkeAlertPolicyAlertRuleNotificationAlertManagerArgs.builder()\n .url(\"xxx\")\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(fooTmpTkeClusterAgent)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n defaultInstanceType:\n type: string\n default: SA1.MEDIUM2\n availabilityZoneFirst:\n type: string\n default: ap-guangzhou-3\n availabilityZoneSecond:\n type: string\n default: ap-guangzhou-4\n exampleClusterCidr:\n type: string\n default: 10.31.0.0/16\n zone:\n type: string\n default: ap-guangzhou\n clusterType:\n type: string\n default: tke\nresources:\n sg:\n type: tencentcloud:Security:Group\n sgRule:\n type: tencentcloud:Security:GroupLiteRule\n properties:\n securityGroupId: ${sg.id}\n ingresses:\n - ACCEPT#10.0.0.0/16#ALL#ALL\n - ACCEPT#172.16.0.0/22#ALL#ALL\n - DROP#0.0.0.0/0#ALL#ALL\n egresses:\n - ACCEPT#172.16.0.0/22#ALL#ALL\n example:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${firstVpcId}\n clusterCidr: ${exampleClusterCidr}\n clusterMaxPodNum: 32\n clusterName: tf_example_cluster\n clusterDesc: example for tke cluster\n clusterMaxServiceNum: 32\n clusterInternet: false\n clusterInternetSecurityGroup: ${sgId}\n clusterVersion: 1.22.5\n clusterDeployType: MANAGED_CLUSTER\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZoneFirst}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${firstSubnetId}\n imgId: ${imageId}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: ZZXXccvv1212\n - count: 1\n availabilityZone: ${availabilityZoneSecond}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${secondSubnetId}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n camRoleName: CVM_QcsRole\n password: ZZXXccvv1212\n labels:\n test1: test1\n test2: test2\n fooTmpInstance:\n type: tencentcloud:Monitor:TmpInstance\n properties:\n instanceName: tf-tmp-instance\n vpcId: ${firstVpcId}\n subnetId: ${firstSubnetId}\n dataRetentionTime: 30\n zone: ${availabilityZoneSecond}\n tags:\n createdBy: terraform\n fooTmpTkeClusterAgent:\n type: tencentcloud:Monitor:TmpTkeClusterAgent\n properties:\n instanceId: ${fooTmpInstance.id}\n agents:\n region: ${zone}\n clusterType: ${clusterType}\n clusterId: ${example.id}\n enableExternal: false\n basic:\n type: tencentcloud:Monitor:TmpTkeAlertPolicy\n properties:\n instanceId: ${fooTmpInstance.id}\n alertRule:\n name: alert_rule-test\n rules:\n - name: rules-test\n rule: (count(kube_node_status_allocatable_cpu_cores) by (cluster) -1) / count(kube_node_status_allocatable_cpu_cores) by (cluster)\n template: The CPU requested by the Pod in the cluster {{ $labels.cluster }} is overloaded, and the current CPU application ratio is {{ $value | humanizePercentage }}\n for: 5m\n labels:\n - name: severity\n value: warning\n notification:\n type: amp\n enabled: true\n alertManager:\n url: xxx\n options:\n dependson:\n - ${fooTmpTkeClusterAgent}\nvariables:\n firstVpcId: ${vpcOne.instanceLists[0].vpcId}\n firstSubnetId: ${vpcOne.instanceLists[0].subnetId}\n secondVpcId: ${vpcTwo.instanceLists[0].vpcId}\n secondSubnetId: ${vpcTwo.instanceLists[0].subnetId}\n sgId: ${sg.id}\n imageId: ${default.imageId}\n vpcOne:\n Fn::Invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZoneFirst}\n vpcTwo:\n Fn::Invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZoneSecond}\n default:\n Fn::Invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n imageNameRegex: Final\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "alertRule": { "$ref": "#/types/tencentcloud:Monitor/TmpTkeAlertPolicyAlertRule:TmpTkeAlertPolicyAlertRule", @@ -258720,8 +259240,7 @@ }, "availabilityZone": { "type": "string", - "description": "Indicates which availability zone will be used.\n", - "willReplaceOnChanges": true + "description": "Indicates which availability zone will be used.\n" }, "chargeType": { "type": "string", @@ -258866,8 +259385,7 @@ }, "availabilityZone": { "type": "string", - "description": "Indicates which availability zone will be used.\n", - "willReplaceOnChanges": true + "description": "Indicates which availability zone will be used.\n" }, "chargeType": { "type": "string", @@ -295363,14 +295881,14 @@ "items": { "type": "string" }, - "description": "Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" + "description": "Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" }, "ingresses": { "type": "array", "items": { "type": "string" }, - "description": "Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" + "description": "Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" }, "name": { "type": "string", @@ -295399,14 +295917,14 @@ "items": { "type": "string" }, - "description": "Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" + "description": "Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" }, "ingresses": { "type": "array", "items": { "type": "string" }, - "description": "Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" + "description": "Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" }, "name": { "type": "string", @@ -295439,14 +295957,14 @@ "items": { "type": "string" }, - "description": "Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" + "description": "Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" }, "ingresses": { "type": "array", "items": { "type": "string" }, - "description": "Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" + "description": "Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`.\n" }, "name": { "type": "string", @@ -295948,7 +296466,7 @@ } }, "tencentcloud:Vpc/endPoint:EndPoint": { - "description": "Provides a resource to create a vpc end_point\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst endPoint = new tencentcloud.Vpc.EndPoint(\"end_point\", {\n endPointName: \"terraform-test\",\n endPointServiceId: \"vpcsvc-69y13tdb\",\n endPointVip: \"10.0.2.1\",\n subnetId: \"subnet-ljyn7h30\",\n vpcId: \"vpc-391sv4w3\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nend_point = tencentcloud.vpc.EndPoint(\"endPoint\",\n end_point_name=\"terraform-test\",\n end_point_service_id=\"vpcsvc-69y13tdb\",\n end_point_vip=\"10.0.2.1\",\n subnet_id=\"subnet-ljyn7h30\",\n vpc_id=\"vpc-391sv4w3\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var endPoint = new Tencentcloud.Vpc.EndPoint(\"endPoint\", new Tencentcloud.Vpc.EndPointArgs\n {\n EndPointName = \"terraform-test\",\n EndPointServiceId = \"vpcsvc-69y13tdb\",\n EndPointVip = \"10.0.2.1\",\n SubnetId = \"subnet-ljyn7h30\",\n VpcId = \"vpc-391sv4w3\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vpc.NewEndPoint(ctx, \"endPoint\", \u0026Vpc.EndPointArgs{\n\t\t\tEndPointName: pulumi.String(\"terraform-test\"),\n\t\t\tEndPointServiceId: pulumi.String(\"vpcsvc-69y13tdb\"),\n\t\t\tEndPointVip: pulumi.String(\"10.0.2.1\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-ljyn7h30\"),\n\t\t\tVpcId: pulumi.String(\"vpc-391sv4w3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var endPoint = new EndPoint(\"endPoint\", EndPointArgs.builder() \n .endPointName(\"terraform-test\")\n .endPointServiceId(\"vpcsvc-69y13tdb\")\n .endPointVip(\"10.0.2.1\")\n .subnetId(\"subnet-ljyn7h30\")\n .vpcId(\"vpc-391sv4w3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n endPoint:\n type: tencentcloud:Vpc:EndPoint\n properties:\n endPointName: terraform-test\n endPointServiceId: vpcsvc-69y13tdb\n endPointVip: 10.0.2.1\n subnetId: subnet-ljyn7h30\n vpcId: vpc-391sv4w3\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nvpc end_point can be imported using the id, e.g.\n\n```sh\n $ pulumi import tencentcloud:Vpc/endPoint:EndPoint end_point end_point_id\n```\n\n ", + "description": "Provides a resource to create a vpc end_point\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst endPoint = new tencentcloud.Vpc.EndPoint(\"end_point\", {\n endPointName: \"terraform-test\",\n endPointServiceId: \"vpcsvc-69y13tdb\",\n endPointVip: \"10.0.2.1\",\n securityGroupsIds: [\n \"sg-ghvp9djf\",\n \"sg-if748odn\",\n \"sg-3k7vtgf7\",\n ],\n subnetId: \"subnet-ljyn7h30\",\n vpcId: \"vpc-391sv4w3\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nend_point = tencentcloud.vpc.EndPoint(\"endPoint\",\n end_point_name=\"terraform-test\",\n end_point_service_id=\"vpcsvc-69y13tdb\",\n end_point_vip=\"10.0.2.1\",\n security_groups_ids=[\n \"sg-ghvp9djf\",\n \"sg-if748odn\",\n \"sg-3k7vtgf7\",\n ],\n subnet_id=\"subnet-ljyn7h30\",\n vpc_id=\"vpc-391sv4w3\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var endPoint = new Tencentcloud.Vpc.EndPoint(\"endPoint\", new Tencentcloud.Vpc.EndPointArgs\n {\n EndPointName = \"terraform-test\",\n EndPointServiceId = \"vpcsvc-69y13tdb\",\n EndPointVip = \"10.0.2.1\",\n SecurityGroupsIds = \n {\n \"sg-ghvp9djf\",\n \"sg-if748odn\",\n \"sg-3k7vtgf7\",\n },\n SubnetId = \"subnet-ljyn7h30\",\n VpcId = \"vpc-391sv4w3\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Vpc.NewEndPoint(ctx, \"endPoint\", \u0026Vpc.EndPointArgs{\n\t\t\tEndPointName: pulumi.String(\"terraform-test\"),\n\t\t\tEndPointServiceId: pulumi.String(\"vpcsvc-69y13tdb\"),\n\t\t\tEndPointVip: pulumi.String(\"10.0.2.1\"),\n\t\t\tSecurityGroupsIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-ghvp9djf\"),\n\t\t\t\tpulumi.String(\"sg-if748odn\"),\n\t\t\t\tpulumi.String(\"sg-3k7vtgf7\"),\n\t\t\t},\n\t\t\tSubnetId: pulumi.String(\"subnet-ljyn7h30\"),\n\t\t\tVpcId: pulumi.String(\"vpc-391sv4w3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var endPoint = new EndPoint(\"endPoint\", EndPointArgs.builder() \n .endPointName(\"terraform-test\")\n .endPointServiceId(\"vpcsvc-69y13tdb\")\n .endPointVip(\"10.0.2.1\")\n .securityGroupsIds( \n \"sg-ghvp9djf\",\n \"sg-if748odn\",\n \"sg-3k7vtgf7\")\n .subnetId(\"subnet-ljyn7h30\")\n .vpcId(\"vpc-391sv4w3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n endPoint:\n type: tencentcloud:Vpc:EndPoint\n properties:\n endPointName: terraform-test\n endPointServiceId: vpcsvc-69y13tdb\n endPointVip: 10.0.2.1\n securityGroupsIds:\n - sg-ghvp9djf\n - sg-if748odn\n - sg-3k7vtgf7\n subnetId: subnet-ljyn7h30\n vpcId: vpc-391sv4w3\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nvpc end_point can be imported using the id, e.g.\n\n```sh\n $ pulumi import tencentcloud:Vpc/endPoint:EndPoint end_point end_point_id\n```\n\n ", "properties": { "createTime": { "type": "string", @@ -295970,6 +296488,13 @@ "type": "string", "description": "VIP of endpoint ip.\n" }, + "securityGroupsIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Ordered security groups associated with the endpoint.\n" + }, "state": { "type": "string", "description": "state of end point.\n" @@ -295988,6 +296513,7 @@ "endPointName", "endPointOwner", "endPointServiceId", + "securityGroupsIds", "state", "subnetId", "vpcId" @@ -296005,6 +296531,13 @@ "type": "string", "description": "VIP of endpoint ip.\n" }, + "securityGroupsIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Ordered security groups associated with the endpoint.\n" + }, "subnetId": { "type": "string", "description": "ID of subnet instance.\n" @@ -296043,6 +296576,13 @@ "type": "string", "description": "VIP of endpoint ip.\n" }, + "securityGroupsIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Ordered security groups associated with the endpoint.\n" + }, "state": { "type": "string", "description": "state of end point.\n" @@ -297770,7 +298310,7 @@ }, "ipsecPfsDhGroup": { "type": "string", - "description": "PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`.\n" + "description": "PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`.\n" }, "ipsecSaLifetimeSeconds": { "type": "integer", @@ -297938,7 +298478,7 @@ }, "ipsecPfsDhGroup": { "type": "string", - "description": "PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`.\n" + "description": "PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`.\n" }, "ipsecSaLifetimeSeconds": { "type": "integer", @@ -298089,7 +298629,7 @@ }, "ipsecPfsDhGroup": { "type": "string", - "description": "PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`.\n" + "description": "PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`.\n" }, "ipsecSaLifetimeSeconds": { "type": "integer", @@ -311618,6 +312158,75 @@ ] } }, + "tencentcloud:Clickhouse/getInstanceNodes:getInstanceNodes": { + "description": "Use this data source to query detailed information of clickhouse instance_nodes\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst instanceNodes = pulumi.output(tencentcloud.Clickhouse.getInstanceNodes({\n displayPolicy: \"all\",\n forceAll: true,\n instanceId: \"cdwch-mvfjh373\",\n nodeRole: \"data\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ninstance_nodes = tencentcloud.Clickhouse.get_instance_nodes(display_policy=\"all\",\n force_all=True,\n instance_id=\"cdwch-mvfjh373\",\n node_role=\"data\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var instanceNodes = Output.Create(Tencentcloud.Clickhouse.GetInstanceNodes.InvokeAsync(new Tencentcloud.Clickhouse.GetInstanceNodesArgs\n {\n DisplayPolicy = \"all\",\n ForceAll = true,\n InstanceId = \"cdwch-mvfjh373\",\n NodeRole = \"data\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Clickhouse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clickhouse\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clickhouse.GetInstanceNodes(ctx, \u0026clickhouse.GetInstanceNodesArgs{\n\t\t\tDisplayPolicy: pulumi.StringRef(\"all\"),\n\t\t\tForceAll: pulumi.BoolRef(true),\n\t\t\tInstanceId: \"cdwch-mvfjh373\",\n\t\t\tNodeRole: pulumi.StringRef(\"data\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instanceNodes = Output.of(ClickhouseFunctions.getInstanceNodes(GetInstanceNodesArgs.builder()\n .displayPolicy(\"all\")\n .forceAll(true)\n .instanceId(\"cdwch-mvfjh373\")\n .nodeRole(\"data\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n instanceNodes:\n Fn::Invoke:\n Function: tencentcloud:Clickhouse:getInstanceNodes\n Arguments:\n displayPolicy: all\n forceAll: true\n instanceId: cdwch-mvfjh373\n nodeRole: data\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getInstanceNodes.\n", + "properties": { + "displayPolicy": { + "type": "string", + "description": "Display strategy, display all when All.\n" + }, + "forceAll": { + "type": "boolean", + "description": "When true, returns all nodes, that is, the Limit is infinitely large.\n" + }, + "instanceId": { + "type": "string", + "description": "InstanceId.\n" + }, + "nodeRole": { + "type": "string", + "description": "Cluster role type, default is `data` data node.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object", + "required": [ + "instanceId" + ] + }, + "outputs": { + "description": "A collection of values returned by getInstanceNodes.\n", + "properties": { + "displayPolicy": { + "type": "string" + }, + "forceAll": { + "type": "boolean" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "instanceId": { + "type": "string" + }, + "instanceNodesLists": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Clickhouse/getInstanceNodesInstanceNodesList:getInstanceNodesInstanceNodesList" + }, + "description": "Total number of instance nodes.\n" + }, + "nodeRole": { + "type": "string" + }, + "resultOutputFile": { + "type": "string" + } + }, + "type": "object", + "required": [ + "instanceId", + "instanceNodesLists", + "id" + ] + } + }, "tencentcloud:Clickhouse/getInstanceShards:getInstanceShards": { "description": "Use this data source to query detailed information of clickhouse instance_shards\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst instanceShards = pulumi.output(tencentcloud.Clickhouse.getInstanceShards({\n instanceId: \"cdwch-datuhk3z\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ninstance_shards = tencentcloud.Clickhouse.get_instance_shards(instance_id=\"cdwch-datuhk3z\")\n```\n```csharp\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var instanceShards = Output.Create(Tencentcloud.Clickhouse.GetInstanceShards.InvokeAsync(new Tencentcloud.Clickhouse.GetInstanceShardsArgs\n {\n InstanceId = \"cdwch-datuhk3z\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Clickhouse\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clickhouse\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clickhouse.GetInstanceShards(ctx, \u0026clickhouse.GetInstanceShardsArgs{\n\t\t\tInstanceId: \"cdwch-datuhk3z\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var instanceShards = Output.of(ClickhouseFunctions.getInstanceShards(GetInstanceShardsArgs.builder()\n .instanceId(\"cdwch-datuhk3z\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n instanceShards:\n Fn::Invoke:\n Function: tencentcloud:Clickhouse:getInstanceShards\n Arguments:\n instanceId: cdwch-datuhk3z\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index e8ef533e4..bb6236cb2 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -11,7 +11,7 @@ require ( github.com/hashicorp/terraform-plugin-sdk/v2 v2.20.0 github.com/pulumi/pulumi-terraform-bridge/v3 v3.24.1 github.com/pulumi/pulumi/pkg/v3 v3.33.1 - github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.64 + github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.70 ) require ( @@ -191,17 +191,17 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.800 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.745 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.627 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.759 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.841 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.693 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.847 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.711 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.833 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.847 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692 // indirect @@ -223,7 +223,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.777 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.815 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.770 // indirect @@ -253,7 +253,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.0.804 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.779 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.845 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.833 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199 // indirect diff --git a/provider/go.sum b/provider/go.sum index aff639266..d705a54d0 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -949,22 +949,22 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.800 h1:VnnmCIa github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.800/go.mod h1:8wiecMvcwN6785rTWLJmdm/Y7u1DjFmqI/iqiWwpm5o= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539 h1:0L6nZhT2bToTc/n1z3HOpNgdu5VX5ulmqIuPY+8UozA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539/go.mod h1:6Syk7W5fdDf0BLvX+RXL5obQ6unkt3Id4aN2QqVrV6U= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.745 h1:y3CtDHGwJ8VDpAlNjluxZMdPbj4MQTD0RFIwQjKei4Q= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.745/go.mod h1:DxjJ8NLE8FGPaQP5k08z1gUqQCSwBuXgPs0u869VoyE= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843 h1:3Xr3UPscUfi5jAzCtwQjDfDf4TPsbUxsCrDdHo6xIRI= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843/go.mod h1:XTZXr3hF0pPTd3jD/vm90FhJEOvILL3d2u43Q52xZX8= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772 h1:tn8b0VAqKV4cglYrubtwONiHfXhoyZSmYMmgL/oX/RU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772/go.mod h1:vkWjnf7Qvtesn0efpiaVj5mIQsQhomkA2keE2yskfmg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.627 h1:nChNdoCUWQZciiJj3gRCWoHBO/8LituLQOdCRREIrS4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.627/go.mod h1:lr3IyWgJk4rLWr0vVd8J1Tfs5O+wNcwSZ9ciMhGUrlI= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.759 h1:xQ7s3VZPLFHRu6m2Vra2qGgsEfC7vu8wkRAf74VMYNI= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.759/go.mod h1:V0PvdfiaRTBUvtlwHihxTT8dSCl/ZOOZIymMlhknISA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.841 h1:1GWCoGe7puNJxAtLqV1CqHuZ48zMEkONJc5WEyDNHqk= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfw v1.0.841/go.mod h1:X82Do5gZwZf42fx9uE0DdQjWn0ALF21vhvyITzIhuG8= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600 h1:qSpp4rEgAzfXhi1rPxes+AJp2mwnsyRGPY/Km1FuYGs= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs v1.0.600/go.mod h1:xud1dQ7Rc23yC5kS00TYRrvZ/A+94EOkwquaI6xGVac= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695 h1:FGwsF1/PgY+M92bEC+0NH4tJkI8i0qjrLbZWVjLXOAY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ciam v1.0.695/go.mod h1:HAasVoWz8ed6kAg7Q/DTg+8uZXiOgW7lmJeAGGrquEQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748 h1:rVvRHow8cFGJFT31sk3cEVW17a9OewHWhC1acUGNg7c= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748/go.mod h1:nvb4W+PgsAe8NFG1ZevZa9ZLfto3aeBcJqxzYCRI9V4= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.693 h1:3eI2Ciq3NOXgoxeW/eY6vgCzi8vcqEZv+FzHww6K9oU= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.693/go.mod h1:WhFqrn14QuRHB01xA5Q9sC+xw73BpqSE5+ZnqEznCW8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.847 h1:VfUval30/CDPnvS5KpvTpM6v7HcErCgwPTsyN9VDqpM= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.847/go.mod h1:zR4WM8Cg+v4daLgPLfmmzFrXCQFrQYIn+7DqBL60uRc= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 h1:ApY6rS7I9otgujOdAFy0+Epno1PNVCQmsOoWQxx724Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544/go.mod h1:c37rIdL3LrJXYwrfp9c8L4MabTqKIZUe1xvnWhN75oc= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.711 h1:v6ffPkv3kmT6bC0d3JLVVJsh61zdvaLJZ5RHwmKNBHk= @@ -994,17 +994,14 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.674/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.677/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.691/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.692/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.693/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.695/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.696/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.711/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.729/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.744/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.745/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.748/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.756/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.758/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.759/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.760/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.762/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.763/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= @@ -1012,7 +1009,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.770/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.771/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.772/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.777/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.779/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.792/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.797/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.798/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= @@ -1028,8 +1024,13 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.822/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.824/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.825/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.831/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.833 h1:EE3PbnS+BiCjPcfbf2Tel03YglInffxV+mIbmzoFEag= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.833/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.841/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.843/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.844/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.845/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.847 h1:ITZmxAWfbr5yikJ4T30yVYMW3jpa/oTmNbPnw/h1Vq0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.847/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624/go.mod h1:+TXSVyeKwt1IhZRqKPbTREteBcP+K07Q846/ilNzLWA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 h1:2egy69SP/wPsmnfozcQVZ6tUY6F6N/TpEe/7xtXrc/8= @@ -1072,8 +1073,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672 h1:sR3 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672/go.mod h1:o3rBKhtfIJfw4BG22M0CQVLQAc0WqIsbyRI/EW52Ka0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651 h1:Ohb58H6gIlTcd73CF+goUlEdNJ2CYkYUHTYxV/M4UL4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.651/go.mod h1:HLqsSgUnwgkE+XecQajekinjz1B7S+1U1J66puH4jpQ= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.815 h1:wsTtihNYIpnCz+R01imMGrEfahf+J/wF4bivxnUwr8w= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.815/go.mod h1:0nU7o/VOMYZ1/xjIsFVivQ3RZkdDeGTdezSlyjyG7GI= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844 h1:ZR7FSnv4k1j0BpJHg6JDbJ6YJ2YfLhX2xVIUcuweKm4= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844/go.mod h1:a7PfDWl0B3QV+g99asQHumDNScEEMl+7lkXP0KXt8Xg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777 h1:SoH/KkqkEUw8iDmQDZCw5Saf319Ceyt3v8Vqodo8DiY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.777/go.mod h1:sBmwqD3GkczHFiArdYpHPp9QriIbzNtO99DueYVyGwE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831 h1:oyazF5wgAgoinGo/SDGfUReE3JFxqcpI6/pstWhK7yE= @@ -1132,16 +1133,16 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674 h1:VsMV1/v github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674/go.mod h1:6+MWxaNR4y+spZHYNntulOyj628owTLuWmEFebJOWdA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199 h1:6Yt74l4pA5QtzhwMNIEUt0spXdSBKH744DDqTHJOCP0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199/go.mod h1:Yw6OQ33z3s4k0HVYTNSffB12qOzEJ2Zf1Vj4+5S3sRs= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.779 h1:4NpjQiFgnIH662ydP7AecllyrhH+CVoGlzQ9V7RfD08= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.779/go.mod h1:kYBG2jgpjL7CuhYM+K1fkEtbWvNXrtt7NSLwXVCqmKA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.845 h1:c9TSh+kuEwxAuPndCMI7QeERfY/XWkZWRniFI1Gak60= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.845/go.mod h1:sz+RI5GLDNIQMKJAR2N93fyxFv/FQo322xq/iAg2Z/g= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.833 h1:avaBlZ+Qqv7bfMg/u0jlRsbEBbE18CfqKWbfGc84PLg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.833/go.mod h1:fUWG217b//46Oa3VXxC5mgeYeewVAbF+lc81uET89EM= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792 h1:NLgKNOIHWa38AmW7dyfI9Jlcp2Kr9VRD94f48pPNmxM= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792/go.mod h1:Xz6vPV3gHlzPwtEcmWdWO1EUXJDgn2p7UMCXbJiVioQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199 h1:hMBLtiJPnZ9GvA677cTB6ELBR6B68wCR2QY1sNoGQc4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199/go.mod h1:nnY91/H3j/Gu7V/oCA6Zeg8T5D3q36EUdBh4EjmHwqY= -github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.64 h1:on5QLSy53Zh0ruz0rBEzsDemfaboX84CSATnzw6mq0g= -github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.64/go.mod h1:GVqnwqhbF/dgW+jRRWGw0yaF9jJGaQJhALihgDz08wM= +github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.70 h1:vR01Z+nqSRg2TrNw+Z3HNQ5t5O9MiZdntwLpdaErsPs= +github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.70/go.mod h1:Mpp5Qv2P8QNKrBNHA6g+h2jJqolg9ozhCmXUb7/+FsI= github.com/tencentyun/cos-go-sdk-v5 v0.7.42-0.20230629101357-7edd77448a0f h1:yTMDoBvFuXjZat10d98DIKbPnN9FQG+drt1SbNfMW5U= github.com/tencentyun/cos-go-sdk-v5 v0.7.42-0.20230629101357-7edd77448a0f/go.mod h1:LUFnaqRmGk6pEHOaRmdn2dCZR2j0cSsM5xowWFPTPao= github.com/terraform-providers/terraform-provider-archive v1.3.0 h1:8WzDXMwTdTd4Z7KAUjnYwopk1DgGJ/DLH0xowJ8h+/8= diff --git a/sdk/dotnet/Tencentcloud/Cfw/EdgePolicy.cs b/sdk/dotnet/Tencentcloud/Cfw/EdgePolicy.cs index 0ace106e7..1cb8d7615 100644 --- a/sdk/dotnet/Tencentcloud/Cfw/EdgePolicy.cs +++ b/sdk/dotnet/Tencentcloud/Cfw/EdgePolicy.cs @@ -105,6 +105,12 @@ public partial class EdgePolicy : Pulumi.CustomResource [Output("enable")] public Output Enable { get; private set; } = null!; + /// + /// Parameter template id. + /// + [Output("paramTemplateId")] + public Output ParamTemplateId { get; private set; } = null!; + /// /// The port for the access control policy. Value: -1/-1: All ports 80: Port 80. /// @@ -297,6 +303,12 @@ public sealed class EdgePolicyState : Pulumi.ResourceArgs [Input("enable")] public Input? Enable { get; set; } + /// + /// Parameter template id. + /// + [Input("paramTemplateId")] + public Input? ParamTemplateId { get; set; } + /// /// The port for the access control policy. Value: -1/-1: All ports 80: Port 80. /// diff --git a/sdk/dotnet/Tencentcloud/Cfw/Inputs/VpcPolicyBetaListArgs.cs b/sdk/dotnet/Tencentcloud/Cfw/Inputs/VpcPolicyBetaListArgs.cs new file mode 100644 index 000000000..4c71ef750 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cfw/Inputs/VpcPolicyBetaListArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cfw.Inputs +{ + + public sealed class VpcPolicyBetaListArgs : Pulumi.ResourceArgs + { + [Input("lastTime")] + public Input? LastTime { get; set; } + + [Input("taskId")] + public Input? TaskId { get; set; } + + [Input("taskName")] + public Input? TaskName { get; set; } + + public VpcPolicyBetaListArgs() + { + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cfw/Inputs/VpcPolicyBetaListGetArgs.cs b/sdk/dotnet/Tencentcloud/Cfw/Inputs/VpcPolicyBetaListGetArgs.cs new file mode 100644 index 000000000..ff5e4075c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cfw/Inputs/VpcPolicyBetaListGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cfw.Inputs +{ + + public sealed class VpcPolicyBetaListGetArgs : Pulumi.ResourceArgs + { + [Input("lastTime")] + public Input? LastTime { get; set; } + + [Input("taskId")] + public Input? TaskId { get; set; } + + [Input("taskName")] + public Input? TaskName { get; set; } + + public VpcPolicyBetaListGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cfw/NatPolicy.cs b/sdk/dotnet/Tencentcloud/Cfw/NatPolicy.cs index 97fca3087..b43fc3bc0 100644 --- a/sdk/dotnet/Tencentcloud/Cfw/NatPolicy.cs +++ b/sdk/dotnet/Tencentcloud/Cfw/NatPolicy.cs @@ -70,6 +70,12 @@ public partial class NatPolicy : Pulumi.CustomResource [Output("enable")] public Output Enable { get; private set; } = null!; + /// + /// Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Output("paramTemplateId")] + public Output ParamTemplateId { get; private set; } = null!; + /// /// The port for the access control policy. Value: -1/-1: All ports 80: Port 80. /// @@ -250,6 +256,12 @@ public sealed class NatPolicyState : Pulumi.ResourceArgs [Input("enable")] public Input? Enable { get; set; } + /// + /// Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("paramTemplateId")] + public Input? ParamTemplateId { get; set; } + /// /// The port for the access control policy. Value: -1/-1: All ports 80: Port 80. /// diff --git a/sdk/dotnet/Tencentcloud/Cfw/Outputs/VpcPolicyBetaList.cs b/sdk/dotnet/Tencentcloud/Cfw/Outputs/VpcPolicyBetaList.cs new file mode 100644 index 000000000..d5f10db7a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Cfw/Outputs/VpcPolicyBetaList.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cfw.Outputs +{ + + [OutputType] + public sealed class VpcPolicyBetaList + { + public readonly string? LastTime; + public readonly int? TaskId; + public readonly string? TaskName; + + [OutputConstructor] + private VpcPolicyBetaList( + string? lastTime, + + int? taskId, + + string? taskName) + { + LastTime = lastTime; + TaskId = taskId; + TaskName = taskName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Cfw/VpcPolicy.cs b/sdk/dotnet/Tencentcloud/Cfw/VpcPolicy.cs index f77b047c7..167d138df 100644 --- a/sdk/dotnet/Tencentcloud/Cfw/VpcPolicy.cs +++ b/sdk/dotnet/Tencentcloud/Cfw/VpcPolicy.cs @@ -52,6 +52,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cfw [TencentcloudResourceType("tencentcloud:Cfw/vpcPolicy:VpcPolicy")] public partial class VpcPolicy : Pulumi.CustomResource { + /// + /// Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Output("betaLists")] + public Output> BetaLists { get; private set; } = null!; + /// /// Describe. /// @@ -94,6 +100,18 @@ public partial class VpcPolicy : Pulumi.CustomResource [Output("internalUuid")] public Output InternalUuid { get; private set; } = null!; + /// + /// Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Output("paramTemplateId")] + public Output ParamTemplateId { get; private set; } = null!; + + /// + /// Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Output("paramTemplateName")] + public Output ParamTemplateName { get; private set; } = null!; + /// /// The port for the access control policy. Value: -1/-1: All ports; 80: port 80. /// @@ -244,6 +262,18 @@ public VpcPolicyArgs() public sealed class VpcPolicyState : Pulumi.ResourceArgs { + [Input("betaLists")] + private InputList? _betaLists; + + /// + /// Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. + /// + public InputList BetaLists + { + get => _betaLists ?? (_betaLists = new InputList()); + set => _betaLists = value; + } + /// /// Describe. /// @@ -286,6 +316,18 @@ public sealed class VpcPolicyState : Pulumi.ResourceArgs [Input("internalUuid")] public Input? InternalUuid { get; set; } + /// + /// Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("paramTemplateId")] + public Input? ParamTemplateId { get; set; } + + /// + /// Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. + /// + [Input("paramTemplateName")] + public Input? ParamTemplateName { get; set; } + /// /// The port for the access control policy. Value: -1/-1: All ports; 80: port 80. /// diff --git a/sdk/dotnet/Tencentcloud/Clb/Instance.cs b/sdk/dotnet/Tencentcloud/Clb/Instance.cs index dad032e20..e242ba41f 100644 --- a/sdk/dotnet/Tencentcloud/Clb/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Clb/Instance.cs @@ -180,6 +180,46 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// public Output<string> Domain { get; set; } /// } /// ``` + /// ### Specified Vip Instance + /// + /// ```csharp + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var fooGroup = new Tencentcloud.Security.Group("fooGroup", new Tencentcloud.Security.GroupArgs + /// { + /// }); + /// var fooInstance = new Tencentcloud.Vpc.Instance("fooInstance", new Tencentcloud.Vpc.InstanceArgs + /// { + /// CidrBlock = "10.0.0.0/16", + /// }); + /// var clbOpen = new Tencentcloud.Clb.Instance("clbOpen", new Tencentcloud.Clb.InstanceArgs + /// { + /// NetworkType = "OPEN", + /// ClbName = "clb-instance-open", + /// ProjectId = 0, + /// VpcId = fooInstance.Id, + /// SecurityGroups = + /// { + /// fooGroup.Id, + /// }, + /// Vip = "111.230.4.204", + /// Tags = + /// { + /// { "test", "tf" }, + /// }, + /// }); + /// this.Domain = tencentcloud_clb_instance.Vip; + /// } + /// + /// [Output("domain")] + /// public Output<string> Domain { get; set; } + /// } + /// ``` /// ### Default enable /// /// ```csharp @@ -461,6 +501,12 @@ public partial class Instance : Pulumi.CustomResource [Output("targetRegionInfoVpcId")] public Output TargetRegionInfoVpcId { get; private set; } = null!; + /// + /// Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + /// + [Output("vip")] + public Output Vip { get; private set; } = null!; + /// /// Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). /// @@ -676,6 +722,12 @@ public InputMap Tags [Input("targetRegionInfoVpcId")] public Input? TargetRegionInfoVpcId { get; set; } + /// + /// Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + /// + [Input("vip")] + public Input? Vip { get; set; } + /// /// Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). /// @@ -869,6 +921,12 @@ public InputMap Tags [Input("targetRegionInfoVpcId")] public Input? TargetRegionInfoVpcId { get; set; } + /// + /// Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + /// + [Input("vip")] + public Input? Vip { get; set; } + /// /// Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). /// diff --git a/sdk/dotnet/Tencentcloud/Clb/Listener.cs b/sdk/dotnet/Tencentcloud/Clb/Listener.cs index 926c52f07..dab887070 100644 --- a/sdk/dotnet/Tencentcloud/Clb/Listener.cs +++ b/sdk/dotnet/Tencentcloud/Clb/Listener.cs @@ -297,7 +297,7 @@ public partial class Listener : Pulumi.CustomResource /// Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. /// [Output("healthCheckContextType")] - public Output HealthCheckContextType { get; private set; } = null!; + public Output HealthCheckContextType { get; private set; } = null!; /// /// Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. @@ -372,7 +372,7 @@ public partial class Listener : Pulumi.CustomResource public Output HealthCheckTimeOut { get; private set; } = null!; /// - /// Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + /// Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. /// [Output("healthCheckType")] public Output HealthCheckType { get; private set; } = null!; @@ -605,7 +605,7 @@ public sealed class ListenerArgs : Pulumi.ResourceArgs public Input? HealthCheckTimeOut { get; set; } /// - /// Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + /// Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. /// [Input("healthCheckType")] public Input? HealthCheckType { get; set; } @@ -792,7 +792,7 @@ public sealed class ListenerState : Pulumi.ResourceArgs public Input? HealthCheckTimeOut { get; set; } /// - /// Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + /// Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. /// [Input("healthCheckType")] public Input? HealthCheckType { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Clickhouse/GetInstanceNodes.cs b/sdk/dotnet/Tencentcloud/Clickhouse/GetInstanceNodes.cs new file mode 100644 index 000000000..b2653d2d7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Clickhouse/GetInstanceNodes.cs @@ -0,0 +1,198 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clickhouse +{ + public static class GetInstanceNodes + { + /// + /// Use this data source to query detailed information of clickhouse instance_nodes + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var instanceNodes = Output.Create(Tencentcloud.Clickhouse.GetInstanceNodes.InvokeAsync(new Tencentcloud.Clickhouse.GetInstanceNodesArgs + /// { + /// DisplayPolicy = "all", + /// ForceAll = true, + /// InstanceId = "cdwch-mvfjh373", + /// NodeRole = "data", + /// })); + /// } + /// + /// } + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetInstanceNodesArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Clickhouse/getInstanceNodes:getInstanceNodes", args ?? new GetInstanceNodesArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of clickhouse instance_nodes + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var instanceNodes = Output.Create(Tencentcloud.Clickhouse.GetInstanceNodes.InvokeAsync(new Tencentcloud.Clickhouse.GetInstanceNodesArgs + /// { + /// DisplayPolicy = "all", + /// ForceAll = true, + /// InstanceId = "cdwch-mvfjh373", + /// NodeRole = "data", + /// })); + /// } + /// + /// } + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetInstanceNodesInvokeArgs args, InvokeOptions? options = null) + => Pulumi.Deployment.Instance.Invoke("tencentcloud:Clickhouse/getInstanceNodes:getInstanceNodes", args ?? new GetInstanceNodesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetInstanceNodesArgs : Pulumi.InvokeArgs + { + /// + /// Display strategy, display all when All. + /// + [Input("displayPolicy")] + public string? DisplayPolicy { get; set; } + + /// + /// When true, returns all nodes, that is, the Limit is infinitely large. + /// + [Input("forceAll")] + public bool? ForceAll { get; set; } + + /// + /// InstanceId. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// Cluster role type, default is `data` data node. + /// + [Input("nodeRole")] + public string? NodeRole { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetInstanceNodesArgs() + { + } + } + + public sealed class GetInstanceNodesInvokeArgs : Pulumi.InvokeArgs + { + /// + /// Display strategy, display all when All. + /// + [Input("displayPolicy")] + public Input? DisplayPolicy { get; set; } + + /// + /// When true, returns all nodes, that is, the Limit is infinitely large. + /// + [Input("forceAll")] + public Input? ForceAll { get; set; } + + /// + /// InstanceId. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Cluster role type, default is `data` data node. + /// + [Input("nodeRole")] + public Input? NodeRole { get; set; } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetInstanceNodesInvokeArgs() + { + } + } + + + [OutputType] + public sealed class GetInstanceNodesResult + { + public readonly string? DisplayPolicy; + public readonly bool? ForceAll; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string InstanceId; + /// + /// Total number of instance nodes. + /// + public readonly ImmutableArray InstanceNodesLists; + public readonly string? NodeRole; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetInstanceNodesResult( + string? displayPolicy, + + bool? forceAll, + + string id, + + string instanceId, + + ImmutableArray instanceNodesLists, + + string? nodeRole, + + string? resultOutputFile) + { + DisplayPolicy = displayPolicy; + ForceAll = forceAll; + Id = id; + InstanceId = instanceId; + InstanceNodesLists = instanceNodesLists; + NodeRole = nodeRole; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Clickhouse/Outputs/GetInstanceNodesInstanceNodesListNodeGroupResult.cs b/sdk/dotnet/Tencentcloud/Clickhouse/Outputs/GetInstanceNodesInstanceNodesListNodeGroupResult.cs new file mode 100644 index 000000000..dade2e814 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Clickhouse/Outputs/GetInstanceNodesInstanceNodesListNodeGroupResult.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clickhouse.Outputs +{ + + [OutputType] + public sealed class GetInstanceNodesInstanceNodesListNodeGroupResult + { + /// + /// Group Name. + /// + public readonly string GroupName; + /// + /// Copy variable name. + /// + public readonly string ReplicaName; + /// + /// Fragmented variable name. + /// + public readonly string ShardName; + + [OutputConstructor] + private GetInstanceNodesInstanceNodesListNodeGroupResult( + string groupName, + + string replicaName, + + string shardName) + { + GroupName = groupName; + ReplicaName = replicaName; + ShardName = shardName; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Clickhouse/Outputs/GetInstanceNodesInstanceNodesListResult.cs b/sdk/dotnet/Tencentcloud/Clickhouse/Outputs/GetInstanceNodesInstanceNodesListResult.cs new file mode 100644 index 000000000..faf2ca25c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Clickhouse/Outputs/GetInstanceNodesInstanceNodesListResult.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clickhouse.Outputs +{ + + [OutputType] + public sealed class GetInstanceNodesInstanceNodesListResult + { + /// + /// Name of the clickhouse cluster to which it belongs. + /// + public readonly string Cluster; + /// + /// CPU cores. + /// + public readonly int Core; + /// + /// Disk size. + /// + public readonly int DiskSize; + /// + /// Disk type. + /// + public readonly string DiskType; + /// + /// IP Address. + /// + public readonly string Ip; + /// + /// When true, it indicates that the chproxy process has been deployed on the node. + /// + public readonly bool IsChProxy; + /// + /// Memory size. + /// + public readonly int Memory; + /// + /// Group information to which the node belongs. + /// + public readonly ImmutableArray NodeGroups; + /// + /// VPC IP. + /// + public readonly string Rip; + /// + /// Model, such as S1. + /// + public readonly string Spec; + + [OutputConstructor] + private GetInstanceNodesInstanceNodesListResult( + string cluster, + + int core, + + int diskSize, + + string diskType, + + string ip, + + bool isChProxy, + + int memory, + + ImmutableArray nodeGroups, + + string rip, + + string spec) + { + Cluster = cluster; + Core = core; + DiskSize = diskSize; + DiskType = diskType; + Ip = ip; + IsChProxy = isChProxy; + Memory = memory; + NodeGroups = nodeGroups; + Rip = rip; + Spec = spec; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/GrafanaInstance.cs b/sdk/dotnet/Tencentcloud/Monitor/GrafanaInstance.cs index e96e5a6d1..17303e0a4 100644 --- a/sdk/dotnet/Tencentcloud/Monitor/GrafanaInstance.cs +++ b/sdk/dotnet/Tencentcloud/Monitor/GrafanaInstance.cs @@ -67,6 +67,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor [TencentcloudResourceType("tencentcloud:Monitor/grafanaInstance:GrafanaInstance")] public partial class GrafanaInstance : Pulumi.CustomResource { + /// + /// Whether to automatically use vouchers. + /// + [Output("autoVoucher")] + public Output AutoVoucher { get; private set; } = null!; + /// /// Control whether grafana could be accessed by internet. /// @@ -192,6 +198,12 @@ public static GrafanaInstance Get(string name, Input id, GrafanaInstance public sealed class GrafanaInstanceArgs : Pulumi.ResourceArgs { + /// + /// Whether to automatically use vouchers. + /// + [Input("autoVoucher")] + public Input? AutoVoucher { get; set; } + /// /// Control whether grafana could be accessed by internet. /// @@ -259,6 +271,12 @@ public GrafanaInstanceArgs() public sealed class GrafanaInstanceState : Pulumi.ResourceArgs { + /// + /// Whether to automatically use vouchers. + /// + [Input("autoVoucher")] + public Input? AutoVoucher { get; set; } + /// /// Control whether grafana could be accessed by internet. /// diff --git a/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverAllowedTimeRangeArgs.cs b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverAllowedTimeRangeArgs.cs new file mode 100644 index 000000000..5ea9ec40e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverAllowedTimeRangeArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Inputs +{ + + public sealed class TmpAlertGroupCustomReceiverAllowedTimeRangeArgs : Pulumi.ResourceArgs + { + /// + /// Time range end, seconds since 0 o'clock. + /// + [Input("end")] + public Input? End { get; set; } + + /// + /// Time range start, seconds since 0 o'clock. + /// + [Input("start")] + public Input? Start { get; set; } + + public TmpAlertGroupCustomReceiverAllowedTimeRangeArgs() + { + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverAllowedTimeRangeGetArgs.cs b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverAllowedTimeRangeGetArgs.cs new file mode 100644 index 000000000..a0ab02756 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverAllowedTimeRangeGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Inputs +{ + + public sealed class TmpAlertGroupCustomReceiverAllowedTimeRangeGetArgs : Pulumi.ResourceArgs + { + /// + /// Time range end, seconds since 0 o'clock. + /// + [Input("end")] + public Input? End { get; set; } + + /// + /// Time range start, seconds since 0 o'clock. + /// + [Input("start")] + public Input? Start { get; set; } + + public TmpAlertGroupCustomReceiverAllowedTimeRangeGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverArgs.cs b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverArgs.cs new file mode 100644 index 000000000..5952b2d11 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Inputs +{ + + public sealed class TmpAlertGroupCustomReceiverArgs : Pulumi.ResourceArgs + { + [Input("allowedTimeRanges")] + private InputList? _allowedTimeRanges; + + /// + /// Time ranges which allow alert message send. + /// + public InputList AllowedTimeRanges + { + get => _allowedTimeRanges ?? (_allowedTimeRanges = new InputList()); + set => _allowedTimeRanges = value; + } + + /// + /// Only effect when alertmanager in user cluster, this cluster id. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + /// + [Input("clusterType")] + public Input? ClusterType { get; set; } + + /// + /// Custom receiver type, webhook|alertmanager. + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Custom receiver address, can be accessed by process in prometheus instance subnet. + /// + [Input("url")] + public Input? Url { get; set; } + + public TmpAlertGroupCustomReceiverArgs() + { + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverGetArgs.cs b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverGetArgs.cs new file mode 100644 index 000000000..4825189e2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupCustomReceiverGetArgs.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Inputs +{ + + public sealed class TmpAlertGroupCustomReceiverGetArgs : Pulumi.ResourceArgs + { + [Input("allowedTimeRanges")] + private InputList? _allowedTimeRanges; + + /// + /// Time ranges which allow alert message send. + /// + public InputList AllowedTimeRanges + { + get => _allowedTimeRanges ?? (_allowedTimeRanges = new InputList()); + set => _allowedTimeRanges = value; + } + + /// + /// Only effect when alertmanager in user cluster, this cluster id. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + /// + [Input("clusterType")] + public Input? ClusterType { get; set; } + + /// + /// Custom receiver type, webhook|alertmanager. + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Custom receiver address, can be accessed by process in prometheus instance subnet. + /// + [Input("url")] + public Input? Url { get; set; } + + public TmpAlertGroupCustomReceiverGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupRuleArgs.cs b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupRuleArgs.cs new file mode 100644 index 000000000..d506fc1f8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupRuleArgs.cs @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Inputs +{ + + public sealed class TmpAlertGroupRuleArgs : Pulumi.ResourceArgs + { + [Input("annotations")] + private InputMap? _annotations; + + /// + /// Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + /// + public InputMap Annotations + { + get => _annotations ?? (_annotations = new InputMap()); + set => _annotations = value; + } + + /// + /// Rule alarm duration. + /// + [Input("duration")] + public Input? Duration { get; set; } + + /// + /// Prometheus alert expression. + /// + [Input("expr")] + public Input? Expr { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels of alert rule. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// Alert rule name. + /// + [Input("ruleName")] + public Input? RuleName { get; set; } + + /// + /// Rule state. `2`-enable, `3`-disable, default `2`. + /// + [Input("state")] + public Input? State { get; set; } + + public TmpAlertGroupRuleArgs() + { + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupRuleGetArgs.cs b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupRuleGetArgs.cs new file mode 100644 index 000000000..e98e0f5c9 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Inputs/TmpAlertGroupRuleGetArgs.cs @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Inputs +{ + + public sealed class TmpAlertGroupRuleGetArgs : Pulumi.ResourceArgs + { + [Input("annotations")] + private InputMap? _annotations; + + /// + /// Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + /// + public InputMap Annotations + { + get => _annotations ?? (_annotations = new InputMap()); + set => _annotations = value; + } + + /// + /// Rule alarm duration. + /// + [Input("duration")] + public Input? Duration { get; set; } + + /// + /// Prometheus alert expression. + /// + [Input("expr")] + public Input? Expr { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels of alert rule. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// Alert rule name. + /// + [Input("ruleName")] + public Input? RuleName { get; set; } + + /// + /// Rule state. `2`-enable, `3`-disable, default `2`. + /// + [Input("state")] + public Input? State { get; set; } + + public TmpAlertGroupRuleGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupCustomReceiver.cs b/sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupCustomReceiver.cs new file mode 100644 index 000000000..7ee0b42cf --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupCustomReceiver.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Outputs +{ + + [OutputType] + public sealed class TmpAlertGroupCustomReceiver + { + /// + /// Time ranges which allow alert message send. + /// + public readonly ImmutableArray AllowedTimeRanges; + /// + /// Only effect when alertmanager in user cluster, this cluster id. + /// + public readonly string? ClusterId; + /// + /// Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + /// + public readonly string? ClusterType; + /// + /// Custom receiver type, webhook|alertmanager. + /// + public readonly string? Type; + /// + /// Custom receiver address, can be accessed by process in prometheus instance subnet. + /// + public readonly string? Url; + + [OutputConstructor] + private TmpAlertGroupCustomReceiver( + ImmutableArray allowedTimeRanges, + + string? clusterId, + + string? clusterType, + + string? type, + + string? url) + { + AllowedTimeRanges = allowedTimeRanges; + ClusterId = clusterId; + ClusterType = clusterType; + Type = type; + Url = url; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupCustomReceiverAllowedTimeRange.cs b/sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupCustomReceiverAllowedTimeRange.cs new file mode 100644 index 000000000..bbc320bc8 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupCustomReceiverAllowedTimeRange.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Outputs +{ + + [OutputType] + public sealed class TmpAlertGroupCustomReceiverAllowedTimeRange + { + /// + /// Time range end, seconds since 0 o'clock. + /// + public readonly string? End; + /// + /// Time range start, seconds since 0 o'clock. + /// + public readonly string? Start; + + [OutputConstructor] + private TmpAlertGroupCustomReceiverAllowedTimeRange( + string? end, + + string? start) + { + End = end; + Start = start; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupRule.cs b/sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupRule.cs new file mode 100644 index 000000000..56961c238 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/Outputs/TmpAlertGroupRule.cs @@ -0,0 +1,64 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor.Outputs +{ + + [OutputType] + public sealed class TmpAlertGroupRule + { + /// + /// Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + /// + public readonly ImmutableDictionary? Annotations; + /// + /// Rule alarm duration. + /// + public readonly string? Duration; + /// + /// Prometheus alert expression. + /// + public readonly string? Expr; + /// + /// Labels of alert rule. + /// + public readonly ImmutableDictionary? Labels; + /// + /// Alert rule name. + /// + public readonly string? RuleName; + /// + /// Rule state. `2`-enable, `3`-disable, default `2`. + /// + public readonly int? State; + + [OutputConstructor] + private TmpAlertGroupRule( + ImmutableDictionary? annotations, + + string? duration, + + string? expr, + + ImmutableDictionary? labels, + + string? ruleName, + + int? state) + { + Annotations = annotations; + Duration = duration; + Expr = expr; + Labels = labels; + RuleName = ruleName; + State = state; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/TmpAlertGroup.cs b/sdk/dotnet/Tencentcloud/Monitor/TmpAlertGroup.cs new file mode 100644 index 000000000..aedcfb2b4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Monitor/TmpAlertGroup.cs @@ -0,0 +1,277 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor +{ + /// + /// Provides a resource to create a monitor tmp_alert_group + /// + /// ## Example Usage + /// + /// ```csharp + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var tmpAlertGroup = new Tencentcloud.Monitor.TmpAlertGroup("tmpAlertGroup", new Tencentcloud.Monitor.TmpAlertGroupArgs + /// { + /// AmpReceivers = + /// { + /// "notice-om017kc2", + /// }, + /// CustomReceiver = new Tencentcloud.Monitor.Inputs.TmpAlertGroupCustomReceiverArgs + /// { + /// Type = "amp", + /// }, + /// GroupName = "tf-test", + /// InstanceId = "prom-ip429jis", + /// RepeatInterval = "5m", + /// Rules = + /// { + /// new Tencentcloud.Monitor.Inputs.TmpAlertGroupRuleArgs + /// { + /// Annotations = + /// { + /// { "description", "Agent {{$labels.instance}} is deactivated, please pay attention!" }, + /// { "summary", "Agent health check" }, + /// }, + /// Duration = "1m", + /// Expr = "up{job=\"prometheus-agent\"} != 1", + /// Labels = + /// { + /// { "severity", "critical" }, + /// }, + /// RuleName = "Agent health check", + /// State = 2, + /// }, + /// }, + /// }); + /// } + /// + /// } + /// ``` + /// + /// ## Import + /// + /// monitor tmp_alert_group can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup")] + public partial class TmpAlertGroup : Pulumi.CustomResource + { + /// + /// Tencent cloud notification template id list. + /// + [Output("ampReceivers")] + public Output> AmpReceivers { get; private set; } = null!; + + /// + /// User custom notification template, such as webhook, alertmanager. + /// + [Output("customReceiver")] + public Output CustomReceiver { get; private set; } = null!; + + /// + /// Alarm group id. + /// + [Output("groupId")] + public Output GroupId { get; private set; } = null!; + + /// + /// Unique alert group name. + /// + [Output("groupName")] + public Output GroupName { get; private set; } = null!; + + /// + /// Instance id. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Alert message send interval, default 1 hour. + /// + [Output("repeatInterval")] + public Output RepeatInterval { get; private set; } = null!; + + /// + /// A list of alert rules. + /// + [Output("rules")] + public Output> Rules { get; private set; } = null!; + + + /// + /// Create a TmpAlertGroup resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public TmpAlertGroup(string name, TmpAlertGroupArgs? args = null, CustomResourceOptions? options = null) + : base("tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup", name, args ?? new TmpAlertGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private TmpAlertGroup(string name, Input id, TmpAlertGroupState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/tencentcloudstack", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing TmpAlertGroup resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static TmpAlertGroup Get(string name, Input id, TmpAlertGroupState? state = null, CustomResourceOptions? options = null) + { + return new TmpAlertGroup(name, id, state, options); + } + } + + public sealed class TmpAlertGroupArgs : Pulumi.ResourceArgs + { + [Input("ampReceivers")] + private InputList? _ampReceivers; + + /// + /// Tencent cloud notification template id list. + /// + public InputList AmpReceivers + { + get => _ampReceivers ?? (_ampReceivers = new InputList()); + set => _ampReceivers = value; + } + + /// + /// User custom notification template, such as webhook, alertmanager. + /// + [Input("customReceiver")] + public Input? CustomReceiver { get; set; } + + /// + /// Unique alert group name. + /// + [Input("groupName")] + public Input? GroupName { get; set; } + + /// + /// Instance id. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Alert message send interval, default 1 hour. + /// + [Input("repeatInterval")] + public Input? RepeatInterval { get; set; } + + [Input("rules")] + private InputList? _rules; + + /// + /// A list of alert rules. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public TmpAlertGroupArgs() + { + } + } + + public sealed class TmpAlertGroupState : Pulumi.ResourceArgs + { + [Input("ampReceivers")] + private InputList? _ampReceivers; + + /// + /// Tencent cloud notification template id list. + /// + public InputList AmpReceivers + { + get => _ampReceivers ?? (_ampReceivers = new InputList()); + set => _ampReceivers = value; + } + + /// + /// User custom notification template, such as webhook, alertmanager. + /// + [Input("customReceiver")] + public Input? CustomReceiver { get; set; } + + /// + /// Alarm group id. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// Unique alert group name. + /// + [Input("groupName")] + public Input? GroupName { get; set; } + + /// + /// Instance id. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Alert message send interval, default 1 hour. + /// + [Input("repeatInterval")] + public Input? RepeatInterval { get; set; } + + [Input("rules")] + private InputList? _rules; + + /// + /// A list of alert rules. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public TmpAlertGroupState() + { + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Monitor/TmpAlertRule.cs b/sdk/dotnet/Tencentcloud/Monitor/TmpAlertRule.cs index 9d5920cb2..c7c5b1982 100644 --- a/sdk/dotnet/Tencentcloud/Monitor/TmpAlertRule.cs +++ b/sdk/dotnet/Tencentcloud/Monitor/TmpAlertRule.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor /// /// Provides a resource to create a monitor tmpAlertRule /// + /// > **NOTE:** This resource will be deprecated in a future version, please use `tencentcloud.Monitor.TmpAlertGroup`. + /// /// ## Example Usage /// /// ```csharp diff --git a/sdk/dotnet/Tencentcloud/Monitor/TmpTkeAlertPolicy.cs b/sdk/dotnet/Tencentcloud/Monitor/TmpTkeAlertPolicy.cs index dfc2bd06d..59562926c 100644 --- a/sdk/dotnet/Tencentcloud/Monitor/TmpTkeAlertPolicy.cs +++ b/sdk/dotnet/Tencentcloud/Monitor/TmpTkeAlertPolicy.cs @@ -13,6 +13,8 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Monitor /// /// Provides a resource to create a tke tmpAlertPolicy /// + /// > **NOTE:** This resource will be deprecated in a future version, please use `tencentcloud.Monitor.TmpAlertGroup`. + /// /// ## Example Usage /// /// ```csharp diff --git a/sdk/dotnet/Tencentcloud/Vpc/Acl.cs b/sdk/dotnet/Tencentcloud/Vpc/Acl.cs index 0f8178a5f..5887e67c3 100644 --- a/sdk/dotnet/Tencentcloud/Vpc/Acl.cs +++ b/sdk/dotnet/Tencentcloud/Vpc/Acl.cs @@ -64,13 +64,13 @@ public partial class Acl : Pulumi.CustomResource public Output CreateTime { get; private set; } = null!; /// - /// Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + /// Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. /// [Output("egresses")] public Output> Egresses { get; private set; } = null!; /// - /// Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + /// Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. /// [Output("ingresses")] public Output> Ingresses { get; private set; } = null!; @@ -144,7 +144,7 @@ public sealed class AclArgs : Pulumi.ResourceArgs private InputList? _egresses; /// - /// Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + /// Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. /// public InputList Egresses { @@ -156,7 +156,7 @@ public InputList Egresses private InputList? _ingresses; /// - /// Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + /// Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. /// public InputList Ingresses { @@ -205,7 +205,7 @@ public sealed class AclState : Pulumi.ResourceArgs private InputList? _egresses; /// - /// Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + /// Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. /// public InputList Egresses { @@ -217,7 +217,7 @@ public InputList Egresses private InputList? _ingresses; /// - /// Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + /// Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. /// public InputList Ingresses { diff --git a/sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs b/sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs index be6eb6298..6e0a4306d 100644 --- a/sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs +++ b/sdk/dotnet/Tencentcloud/Vpc/EndPoint.cs @@ -28,6 +28,12 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Vpc /// EndPointName = "terraform-test", /// EndPointServiceId = "vpcsvc-69y13tdb", /// EndPointVip = "10.0.2.1", + /// SecurityGroupsIds = + /// { + /// "sg-ghvp9djf", + /// "sg-if748odn", + /// "sg-3k7vtgf7", + /// }, /// SubnetId = "subnet-ljyn7h30", /// VpcId = "vpc-391sv4w3", /// }); @@ -77,6 +83,12 @@ public partial class EndPoint : Pulumi.CustomResource [Output("endPointVip")] public Output EndPointVip { get; private set; } = null!; + /// + /// Ordered security groups associated with the endpoint. + /// + [Output("securityGroupsIds")] + public Output> SecurityGroupsIds { get; private set; } = null!; + /// /// state of end point. /// @@ -160,6 +172,18 @@ public sealed class EndPointArgs : Pulumi.ResourceArgs [Input("endPointVip")] public Input? EndPointVip { get; set; } + [Input("securityGroupsIds")] + private InputList? _securityGroupsIds; + + /// + /// Ordered security groups associated with the endpoint. + /// + public InputList SecurityGroupsIds + { + get => _securityGroupsIds ?? (_securityGroupsIds = new InputList()); + set => _securityGroupsIds = value; + } + /// /// ID of subnet instance. /// @@ -209,6 +233,18 @@ public sealed class EndPointState : Pulumi.ResourceArgs [Input("endPointVip")] public Input? EndPointVip { get; set; } + [Input("securityGroupsIds")] + private InputList? _securityGroupsIds; + + /// + /// Ordered security groups associated with the endpoint. + /// + public InputList SecurityGroupsIds + { + get => _securityGroupsIds ?? (_securityGroupsIds = new InputList()); + set => _securityGroupsIds = value; + } + /// /// state of end point. /// diff --git a/sdk/dotnet/Tencentcloud/Vpn/Connection.cs b/sdk/dotnet/Tencentcloud/Vpn/Connection.cs index b907a88ff..a1bd0696a 100644 --- a/sdk/dotnet/Tencentcloud/Vpn/Connection.cs +++ b/sdk/dotnet/Tencentcloud/Vpn/Connection.cs @@ -214,7 +214,7 @@ public partial class Connection : Pulumi.CustomResource public Output IpsecIntegrityAlgorithm { get; private set; } = null!; /// - /// PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + /// PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. /// [Output("ipsecPfsDhGroup")] public Output IpsecPfsDhGroup { get; private set; } = null!; @@ -471,7 +471,7 @@ public sealed class ConnectionArgs : Pulumi.ResourceArgs public Input? IpsecIntegrityAlgorithm { get; set; } /// - /// PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + /// PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. /// [Input("ipsecPfsDhGroup")] public Input? IpsecPfsDhGroup { get; set; } @@ -688,7 +688,7 @@ public sealed class ConnectionState : Pulumi.ResourceArgs public Input? IpsecIntegrityAlgorithm { get; set; } /// - /// PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + /// PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. /// [Input("ipsecPfsDhGroup")] public Input? IpsecPfsDhGroup { get; set; } diff --git a/sdk/go/tencentcloud/cfw/edgePolicy.go b/sdk/go/tencentcloud/cfw/edgePolicy.go index d1ba2fe0f..1d4cf2c4f 100644 --- a/sdk/go/tencentcloud/cfw/edgePolicy.go +++ b/sdk/go/tencentcloud/cfw/edgePolicy.go @@ -104,6 +104,8 @@ type EdgePolicy struct { Direction pulumi.IntOutput `pulumi:"direction"` // Rule status, true means enabled, false means disabled. Default is true. Enable pulumi.StringPtrOutput `pulumi:"enable"` + // Parameter template id. + ParamTemplateId pulumi.StringOutput `pulumi:"paramTemplateId"` // The port for the access control policy. Value: -1/-1: All ports 80: Port 80. Port pulumi.StringOutput `pulumi:"port"` // Protocol. If Direction=1 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=1 && Scope!=serial, optional values: TCP; If Direction=0 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=0 && Scope!=serial, optional values: TCP HTTP/HTTPS TLS/SSL. @@ -184,6 +186,8 @@ type edgePolicyState struct { Direction *int `pulumi:"direction"` // Rule status, true means enabled, false means disabled. Default is true. Enable *string `pulumi:"enable"` + // Parameter template id. + ParamTemplateId *string `pulumi:"paramTemplateId"` // The port for the access control policy. Value: -1/-1: All ports 80: Port 80. Port *string `pulumi:"port"` // Protocol. If Direction=1 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=1 && Scope!=serial, optional values: TCP; If Direction=0 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=0 && Scope!=serial, optional values: TCP HTTP/HTTPS TLS/SSL. @@ -211,6 +215,8 @@ type EdgePolicyState struct { Direction pulumi.IntPtrInput // Rule status, true means enabled, false means disabled. Default is true. Enable pulumi.StringPtrInput + // Parameter template id. + ParamTemplateId pulumi.StringPtrInput // The port for the access control policy. Value: -1/-1: All ports 80: Port 80. Port pulumi.StringPtrInput // Protocol. If Direction=1 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=1 && Scope!=serial, optional values: TCP; If Direction=0 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=0 && Scope!=serial, optional values: TCP HTTP/HTTPS TLS/SSL. @@ -388,6 +394,11 @@ func (o EdgePolicyOutput) Enable() pulumi.StringPtrOutput { return o.ApplyT(func(v *EdgePolicy) pulumi.StringPtrOutput { return v.Enable }).(pulumi.StringPtrOutput) } +// Parameter template id. +func (o EdgePolicyOutput) ParamTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *EdgePolicy) pulumi.StringOutput { return v.ParamTemplateId }).(pulumi.StringOutput) +} + // The port for the access control policy. Value: -1/-1: All ports 80: Port 80. func (o EdgePolicyOutput) Port() pulumi.StringOutput { return o.ApplyT(func(v *EdgePolicy) pulumi.StringOutput { return v.Port }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/cfw/natPolicy.go b/sdk/go/tencentcloud/cfw/natPolicy.go index e14608c2a..f365cf1be 100644 --- a/sdk/go/tencentcloud/cfw/natPolicy.go +++ b/sdk/go/tencentcloud/cfw/natPolicy.go @@ -61,6 +61,8 @@ type NatPolicy struct { Direction pulumi.IntOutput `pulumi:"direction"` // Rule status, true means enabled, false means disabled. Default is true. Enable pulumi.StringPtrOutput `pulumi:"enable"` + // Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + ParamTemplateId pulumi.StringOutput `pulumi:"paramTemplateId"` // The port for the access control policy. Value: -1/-1: All ports 80: Port 80. Port pulumi.StringOutput `pulumi:"port"` // Protocol. If Direction=1, optional values: TCP, UDP, ANY; If Direction=0, optional values: TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, and DNS. @@ -139,6 +141,8 @@ type natPolicyState struct { Direction *int `pulumi:"direction"` // Rule status, true means enabled, false means disabled. Default is true. Enable *string `pulumi:"enable"` + // Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + ParamTemplateId *string `pulumi:"paramTemplateId"` // The port for the access control policy. Value: -1/-1: All ports 80: Port 80. Port *string `pulumi:"port"` // Protocol. If Direction=1, optional values: TCP, UDP, ANY; If Direction=0, optional values: TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, and DNS. @@ -164,6 +168,8 @@ type NatPolicyState struct { Direction pulumi.IntPtrInput // Rule status, true means enabled, false means disabled. Default is true. Enable pulumi.StringPtrInput + // Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + ParamTemplateId pulumi.StringPtrInput // The port for the access control policy. Value: -1/-1: All ports 80: Port 80. Port pulumi.StringPtrInput // Protocol. If Direction=1, optional values: TCP, UDP, ANY; If Direction=0, optional values: TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, and DNS. @@ -335,6 +341,11 @@ func (o NatPolicyOutput) Enable() pulumi.StringPtrOutput { return o.ApplyT(func(v *NatPolicy) pulumi.StringPtrOutput { return v.Enable }).(pulumi.StringPtrOutput) } +// Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. +func (o NatPolicyOutput) ParamTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *NatPolicy) pulumi.StringOutput { return v.ParamTemplateId }).(pulumi.StringOutput) +} + // The port for the access control policy. Value: -1/-1: All ports 80: Port 80. func (o NatPolicyOutput) Port() pulumi.StringOutput { return o.ApplyT(func(v *NatPolicy) pulumi.StringOutput { return v.Port }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/cfw/pulumiTypes.go b/sdk/go/tencentcloud/cfw/pulumiTypes.go index 15c62f545..ce11a54e1 100644 --- a/sdk/go/tencentcloud/cfw/pulumiTypes.go +++ b/sdk/go/tencentcloud/cfw/pulumiTypes.go @@ -366,6 +366,112 @@ func (o VpcInstanceVpcFwInstanceFwDeployOutput) ZoneSets() pulumi.StringArrayOut return o.ApplyT(func(v VpcInstanceVpcFwInstanceFwDeploy) []string { return v.ZoneSets }).(pulumi.StringArrayOutput) } +type VpcPolicyBetaList struct { + LastTime *string `pulumi:"lastTime"` + TaskId *int `pulumi:"taskId"` + TaskName *string `pulumi:"taskName"` +} + +// VpcPolicyBetaListInput is an input type that accepts VpcPolicyBetaListArgs and VpcPolicyBetaListOutput values. +// You can construct a concrete instance of `VpcPolicyBetaListInput` via: +// +// VpcPolicyBetaListArgs{...} +type VpcPolicyBetaListInput interface { + pulumi.Input + + ToVpcPolicyBetaListOutput() VpcPolicyBetaListOutput + ToVpcPolicyBetaListOutputWithContext(context.Context) VpcPolicyBetaListOutput +} + +type VpcPolicyBetaListArgs struct { + LastTime pulumi.StringPtrInput `pulumi:"lastTime"` + TaskId pulumi.IntPtrInput `pulumi:"taskId"` + TaskName pulumi.StringPtrInput `pulumi:"taskName"` +} + +func (VpcPolicyBetaListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcPolicyBetaList)(nil)).Elem() +} + +func (i VpcPolicyBetaListArgs) ToVpcPolicyBetaListOutput() VpcPolicyBetaListOutput { + return i.ToVpcPolicyBetaListOutputWithContext(context.Background()) +} + +func (i VpcPolicyBetaListArgs) ToVpcPolicyBetaListOutputWithContext(ctx context.Context) VpcPolicyBetaListOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcPolicyBetaListOutput) +} + +// VpcPolicyBetaListArrayInput is an input type that accepts VpcPolicyBetaListArray and VpcPolicyBetaListArrayOutput values. +// You can construct a concrete instance of `VpcPolicyBetaListArrayInput` via: +// +// VpcPolicyBetaListArray{ VpcPolicyBetaListArgs{...} } +type VpcPolicyBetaListArrayInput interface { + pulumi.Input + + ToVpcPolicyBetaListArrayOutput() VpcPolicyBetaListArrayOutput + ToVpcPolicyBetaListArrayOutputWithContext(context.Context) VpcPolicyBetaListArrayOutput +} + +type VpcPolicyBetaListArray []VpcPolicyBetaListInput + +func (VpcPolicyBetaListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VpcPolicyBetaList)(nil)).Elem() +} + +func (i VpcPolicyBetaListArray) ToVpcPolicyBetaListArrayOutput() VpcPolicyBetaListArrayOutput { + return i.ToVpcPolicyBetaListArrayOutputWithContext(context.Background()) +} + +func (i VpcPolicyBetaListArray) ToVpcPolicyBetaListArrayOutputWithContext(ctx context.Context) VpcPolicyBetaListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcPolicyBetaListArrayOutput) +} + +type VpcPolicyBetaListOutput struct{ *pulumi.OutputState } + +func (VpcPolicyBetaListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcPolicyBetaList)(nil)).Elem() +} + +func (o VpcPolicyBetaListOutput) ToVpcPolicyBetaListOutput() VpcPolicyBetaListOutput { + return o +} + +func (o VpcPolicyBetaListOutput) ToVpcPolicyBetaListOutputWithContext(ctx context.Context) VpcPolicyBetaListOutput { + return o +} + +func (o VpcPolicyBetaListOutput) LastTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcPolicyBetaList) *string { return v.LastTime }).(pulumi.StringPtrOutput) +} + +func (o VpcPolicyBetaListOutput) TaskId() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpcPolicyBetaList) *int { return v.TaskId }).(pulumi.IntPtrOutput) +} + +func (o VpcPolicyBetaListOutput) TaskName() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcPolicyBetaList) *string { return v.TaskName }).(pulumi.StringPtrOutput) +} + +type VpcPolicyBetaListArrayOutput struct{ *pulumi.OutputState } + +func (VpcPolicyBetaListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VpcPolicyBetaList)(nil)).Elem() +} + +func (o VpcPolicyBetaListArrayOutput) ToVpcPolicyBetaListArrayOutput() VpcPolicyBetaListArrayOutput { + return o +} + +func (o VpcPolicyBetaListArrayOutput) ToVpcPolicyBetaListArrayOutputWithContext(ctx context.Context) VpcPolicyBetaListArrayOutput { + return o +} + +func (o VpcPolicyBetaListArrayOutput) Index(i pulumi.IntInput) VpcPolicyBetaListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VpcPolicyBetaList { + return vs[0].([]VpcPolicyBetaList)[vs[1].(int)] + }).(VpcPolicyBetaListOutput) +} + type GetEdgeFwSwitchesData struct { // Asset Type. AssetType string `pulumi:"assetType"` @@ -924,6 +1030,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*VpcInstanceVpcFwInstanceInput)(nil)).Elem(), VpcInstanceVpcFwInstanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcInstanceVpcFwInstanceArrayInput)(nil)).Elem(), VpcInstanceVpcFwInstanceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcInstanceVpcFwInstanceFwDeployInput)(nil)).Elem(), VpcInstanceVpcFwInstanceFwDeployArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcPolicyBetaListInput)(nil)).Elem(), VpcPolicyBetaListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcPolicyBetaListArrayInput)(nil)).Elem(), VpcPolicyBetaListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEdgeFwSwitchesDataInput)(nil)).Elem(), GetEdgeFwSwitchesDataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEdgeFwSwitchesDataArrayInput)(nil)).Elem(), GetEdgeFwSwitchesDataArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNatFwSwitchesDataInput)(nil)).Elem(), GetNatFwSwitchesDataArgs{}) @@ -935,6 +1043,8 @@ func init() { pulumi.RegisterOutputType(VpcInstanceVpcFwInstanceOutput{}) pulumi.RegisterOutputType(VpcInstanceVpcFwInstanceArrayOutput{}) pulumi.RegisterOutputType(VpcInstanceVpcFwInstanceFwDeployOutput{}) + pulumi.RegisterOutputType(VpcPolicyBetaListOutput{}) + pulumi.RegisterOutputType(VpcPolicyBetaListArrayOutput{}) pulumi.RegisterOutputType(GetEdgeFwSwitchesDataOutput{}) pulumi.RegisterOutputType(GetEdgeFwSwitchesDataArrayOutput{}) pulumi.RegisterOutputType(GetNatFwSwitchesDataOutput{}) diff --git a/sdk/go/tencentcloud/cfw/vpcPolicy.go b/sdk/go/tencentcloud/cfw/vpcPolicy.go index 761097741..1aa7407c0 100644 --- a/sdk/go/tencentcloud/cfw/vpcPolicy.go +++ b/sdk/go/tencentcloud/cfw/vpcPolicy.go @@ -55,6 +55,8 @@ import ( type VpcPolicy struct { pulumi.CustomResourceState + // Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. + BetaLists VpcPolicyBetaListArrayOutput `pulumi:"betaLists"` // Describe. Description pulumi.StringOutput `pulumi:"description"` // Access purpose example: net:IP/CIDR(192.168.0.2) domain:domain rule, for example*.qq.com. @@ -69,6 +71,10 @@ type VpcPolicy struct { FwGroupName pulumi.StringOutput `pulumi:"fwGroupName"` // Uuid used internally, this field is generally not used. InternalUuid pulumi.IntOutput `pulumi:"internalUuid"` + // Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + ParamTemplateId pulumi.StringOutput `pulumi:"paramTemplateId"` + // Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. + ParamTemplateName pulumi.StringOutput `pulumi:"paramTemplateName"` // The port for the access control policy. Value: -1/-1: All ports; 80: port 80. Port pulumi.StringOutput `pulumi:"port"` // Protocol, optional value:TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, DNS, TLS/SSL. @@ -137,6 +143,8 @@ func GetVpcPolicy(ctx *pulumi.Context, // Input properties used for looking up and filtering VpcPolicy resources. type vpcPolicyState struct { + // Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. + BetaLists []VpcPolicyBetaList `pulumi:"betaLists"` // Describe. Description *string `pulumi:"description"` // Access purpose example: net:IP/CIDR(192.168.0.2) domain:domain rule, for example*.qq.com. @@ -151,6 +159,10 @@ type vpcPolicyState struct { FwGroupName *string `pulumi:"fwGroupName"` // Uuid used internally, this field is generally not used. InternalUuid *int `pulumi:"internalUuid"` + // Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + ParamTemplateId *string `pulumi:"paramTemplateId"` + // Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. + ParamTemplateName *string `pulumi:"paramTemplateName"` // The port for the access control policy. Value: -1/-1: All ports; 80: port 80. Port *string `pulumi:"port"` // Protocol, optional value:TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, DNS, TLS/SSL. @@ -166,6 +178,8 @@ type vpcPolicyState struct { } type VpcPolicyState struct { + // Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. + BetaLists VpcPolicyBetaListArrayInput // Describe. Description pulumi.StringPtrInput // Access purpose example: net:IP/CIDR(192.168.0.2) domain:domain rule, for example*.qq.com. @@ -180,6 +194,10 @@ type VpcPolicyState struct { FwGroupName pulumi.StringPtrInput // Uuid used internally, this field is generally not used. InternalUuid pulumi.IntPtrInput + // Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + ParamTemplateId pulumi.StringPtrInput + // Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. + ParamTemplateName pulumi.StringPtrInput // The port for the access control policy. Value: -1/-1: All ports; 80: port 80. Port pulumi.StringPtrInput // Protocol, optional value:TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, DNS, TLS/SSL. @@ -332,6 +350,11 @@ func (o VpcPolicyOutput) ToVpcPolicyOutputWithContext(ctx context.Context) VpcPo return o } +// Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. +func (o VpcPolicyOutput) BetaLists() VpcPolicyBetaListArrayOutput { + return o.ApplyT(func(v *VpcPolicy) VpcPolicyBetaListArrayOutput { return v.BetaLists }).(VpcPolicyBetaListArrayOutput) +} + // Describe. func (o VpcPolicyOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *VpcPolicy) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) @@ -367,6 +390,16 @@ func (o VpcPolicyOutput) InternalUuid() pulumi.IntOutput { return o.ApplyT(func(v *VpcPolicy) pulumi.IntOutput { return v.InternalUuid }).(pulumi.IntOutput) } +// Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. +func (o VpcPolicyOutput) ParamTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcPolicy) pulumi.StringOutput { return v.ParamTemplateId }).(pulumi.StringOutput) +} + +// Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. +func (o VpcPolicyOutput) ParamTemplateName() pulumi.StringOutput { + return o.ApplyT(func(v *VpcPolicy) pulumi.StringOutput { return v.ParamTemplateName }).(pulumi.StringOutput) +} + // The port for the access control policy. Value: -1/-1: All ports; 80: port 80. func (o VpcPolicyOutput) Port() pulumi.StringOutput { return o.ApplyT(func(v *VpcPolicy) pulumi.StringOutput { return v.Port }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/clb/instance.go b/sdk/go/tencentcloud/clb/instance.go index 8ff918b95..94107a177 100644 --- a/sdk/go/tencentcloud/clb/instance.go +++ b/sdk/go/tencentcloud/clb/instance.go @@ -198,6 +198,51 @@ import ( // }) // } // ``` +// ### Specified Vip Instance +// +// ```go +// package main +// +// import ( +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// fooGroup, err := Security.NewGroup(ctx, "fooGroup", nil) +// if err != nil { +// return err +// } +// fooInstance, err := Vpc.NewInstance(ctx, "fooInstance", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// _, err = Clb.NewInstance(ctx, "clbOpen", &Clb.InstanceArgs{ +// NetworkType: pulumi.String("OPEN"), +// ClbName: pulumi.String("clb-instance-open"), +// ProjectId: pulumi.Int(0), +// VpcId: fooInstance.ID(), +// SecurityGroups: pulumi.StringArray{ +// fooGroup.ID(), +// }, +// Vip: pulumi.String("111.230.4.204"), +// Tags: pulumi.AnyMap{ +// "test": pulumi.Any("tf"), +// }, +// }) +// if err != nil { +// return err +// } +// ctx.Export("domain", tencentcloud_clb_instance.Vip) +// return nil +// }) +// } +// ``` // ### Default enable // // ```go @@ -412,6 +457,8 @@ type Instance struct { TargetRegionInfoRegion pulumi.StringOutput `pulumi:"targetRegionInfoRegion"` // Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. TargetRegionInfoVpcId pulumi.StringOutput `pulumi:"targetRegionInfoVpcId"` + // Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + Vip pulumi.StringOutput `pulumi:"vip"` // Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). VipIsp pulumi.StringOutput `pulumi:"vipIsp"` // VPC ID of the CLB. @@ -504,6 +551,8 @@ type instanceState struct { TargetRegionInfoRegion *string `pulumi:"targetRegionInfoRegion"` // Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. TargetRegionInfoVpcId *string `pulumi:"targetRegionInfoVpcId"` + // Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + Vip *string `pulumi:"vip"` // Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). VipIsp *string `pulumi:"vipIsp"` // VPC ID of the CLB. @@ -561,6 +610,8 @@ type InstanceState struct { TargetRegionInfoRegion pulumi.StringPtrInput // Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. TargetRegionInfoVpcId pulumi.StringPtrInput + // Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + Vip pulumi.StringPtrInput // Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). VipIsp pulumi.StringPtrInput // VPC ID of the CLB. @@ -618,6 +669,8 @@ type instanceArgs struct { TargetRegionInfoRegion *string `pulumi:"targetRegionInfoRegion"` // Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. TargetRegionInfoVpcId *string `pulumi:"targetRegionInfoVpcId"` + // Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + Vip *string `pulumi:"vip"` // Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). VipIsp *string `pulumi:"vipIsp"` // VPC ID of the CLB. @@ -672,6 +725,8 @@ type InstanceArgs struct { TargetRegionInfoRegion pulumi.StringPtrInput // Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. TargetRegionInfoVpcId pulumi.StringPtrInput + // Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + Vip pulumi.StringPtrInput // Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). VipIsp pulumi.StringPtrInput // VPC ID of the CLB. @@ -887,6 +942,11 @@ func (o InstanceOutput) TargetRegionInfoVpcId() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.TargetRegionInfoVpcId }).(pulumi.StringOutput) } +// Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. +func (o InstanceOutput) Vip() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Vip }).(pulumi.StringOutput) +} + // Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). func (o InstanceOutput) VipIsp() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.VipIsp }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/clb/listener.go b/sdk/go/tencentcloud/clb/listener.go index 6b56009b1..10826cd7a 100644 --- a/sdk/go/tencentcloud/clb/listener.go +++ b/sdk/go/tencentcloud/clb/listener.go @@ -307,7 +307,7 @@ type Listener struct { // This parameter is used to specify the end port and is required when creating a port range listener. Only one member can be passed in when inputting the `Ports` parameter, which is used to specify the start port. If you want to try the port range feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). EndPort pulumi.IntOutput `pulumi:"endPort"` // Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. - HealthCheckContextType pulumi.StringPtrOutput `pulumi:"healthCheckContextType"` + HealthCheckContextType pulumi.StringOutput `pulumi:"healthCheckContextType"` // Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. HealthCheckHealthNum pulumi.IntOutput `pulumi:"healthCheckHealthNum"` // HTTP health check code of TCP listener, Valid value ranges: [1~31]. When the value of `healthCheckType` of the health check protocol is `HTTP`, this field is required. Valid values: `1`, `2`, `4`, `8`, `16`. `1` means http_1xx, `2` means http_2xx, `4` means http_3xx, `8` means http_4xx, `16` means http_5xx.If you want multiple return codes to indicate health, need to add the corresponding values. @@ -332,7 +332,7 @@ type Listener struct { HealthCheckSwitch pulumi.BoolOutput `pulumi:"healthCheckSwitch"` // Response timeout of health check. Valid value ranges: [2~60] sec. Default is 2 sec. Response timeout needs to be less than check interval. NOTES: Only supports listeners of `TCP`,`UDP`,`TCP_SSL` protocol. HealthCheckTimeOut pulumi.IntOutput `pulumi:"healthCheckTimeOut"` - // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. HealthCheckType pulumi.StringOutput `pulumi:"healthCheckType"` // Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, the CVM is identified as unhealthy. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. HealthCheckUnhealthNum pulumi.IntOutput `pulumi:"healthCheckUnhealthNum"` @@ -435,7 +435,7 @@ type listenerState struct { HealthCheckSwitch *bool `pulumi:"healthCheckSwitch"` // Response timeout of health check. Valid value ranges: [2~60] sec. Default is 2 sec. Response timeout needs to be less than check interval. NOTES: Only supports listeners of `TCP`,`UDP`,`TCP_SSL` protocol. HealthCheckTimeOut *int `pulumi:"healthCheckTimeOut"` - // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. HealthCheckType *string `pulumi:"healthCheckType"` // Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, the CVM is identified as unhealthy. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. HealthCheckUnhealthNum *int `pulumi:"healthCheckUnhealthNum"` @@ -500,7 +500,7 @@ type ListenerState struct { HealthCheckSwitch pulumi.BoolPtrInput // Response timeout of health check. Valid value ranges: [2~60] sec. Default is 2 sec. Response timeout needs to be less than check interval. NOTES: Only supports listeners of `TCP`,`UDP`,`TCP_SSL` protocol. HealthCheckTimeOut pulumi.IntPtrInput - // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. HealthCheckType pulumi.StringPtrInput // Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, the CVM is identified as unhealthy. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. HealthCheckUnhealthNum pulumi.IntPtrInput @@ -569,7 +569,7 @@ type listenerArgs struct { HealthCheckSwitch *bool `pulumi:"healthCheckSwitch"` // Response timeout of health check. Valid value ranges: [2~60] sec. Default is 2 sec. Response timeout needs to be less than check interval. NOTES: Only supports listeners of `TCP`,`UDP`,`TCP_SSL` protocol. HealthCheckTimeOut *int `pulumi:"healthCheckTimeOut"` - // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. HealthCheckType *string `pulumi:"healthCheckType"` // Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, the CVM is identified as unhealthy. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. HealthCheckUnhealthNum *int `pulumi:"healthCheckUnhealthNum"` @@ -633,7 +633,7 @@ type ListenerArgs struct { HealthCheckSwitch pulumi.BoolPtrInput // Response timeout of health check. Valid value ranges: [2~60] sec. Default is 2 sec. Response timeout needs to be less than check interval. NOTES: Only supports listeners of `TCP`,`UDP`,`TCP_SSL` protocol. HealthCheckTimeOut pulumi.IntPtrInput - // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + // Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. HealthCheckType pulumi.StringPtrInput // Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, the CVM is identified as unhealthy. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. HealthCheckUnhealthNum pulumi.IntPtrInput @@ -772,8 +772,8 @@ func (o ListenerOutput) EndPort() pulumi.IntOutput { } // Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. -func (o ListenerOutput) HealthCheckContextType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Listener) pulumi.StringPtrOutput { return v.HealthCheckContextType }).(pulumi.StringPtrOutput) +func (o ListenerOutput) HealthCheckContextType() pulumi.StringOutput { + return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.HealthCheckContextType }).(pulumi.StringOutput) } // Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. @@ -836,7 +836,7 @@ func (o ListenerOutput) HealthCheckTimeOut() pulumi.IntOutput { return o.ApplyT(func(v *Listener) pulumi.IntOutput { return v.HealthCheckTimeOut }).(pulumi.IntOutput) } -// Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. +// Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. func (o ListenerOutput) HealthCheckType() pulumi.StringOutput { return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.HealthCheckType }).(pulumi.StringOutput) } diff --git a/sdk/go/tencentcloud/clickhouse/getInstanceNodes.go b/sdk/go/tencentcloud/clickhouse/getInstanceNodes.go new file mode 100644 index 000000000..837ac42b2 --- /dev/null +++ b/sdk/go/tencentcloud/clickhouse/getInstanceNodes.go @@ -0,0 +1,156 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package clickhouse + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this data source to query detailed information of clickhouse instanceNodes +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Clickhouse" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clickhouse" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Clickhouse.GetInstanceNodes(ctx, &clickhouse.GetInstanceNodesArgs{ +// DisplayPolicy: pulumi.StringRef("all"), +// ForceAll: pulumi.BoolRef(true), +// InstanceId: "cdwch-mvfjh373", +// NodeRole: pulumi.StringRef("data"), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +func GetInstanceNodes(ctx *pulumi.Context, args *GetInstanceNodesArgs, opts ...pulumi.InvokeOption) (*GetInstanceNodesResult, error) { + opts = pkgInvokeDefaultOpts(opts) + var rv GetInstanceNodesResult + err := ctx.Invoke("tencentcloud:Clickhouse/getInstanceNodes:getInstanceNodes", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getInstanceNodes. +type GetInstanceNodesArgs struct { + // Display strategy, display all when All. + DisplayPolicy *string `pulumi:"displayPolicy"` + // When true, returns all nodes, that is, the Limit is infinitely large. + ForceAll *bool `pulumi:"forceAll"` + // InstanceId. + InstanceId string `pulumi:"instanceId"` + // Cluster role type, default is `data` data node. + NodeRole *string `pulumi:"nodeRole"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getInstanceNodes. +type GetInstanceNodesResult struct { + DisplayPolicy *string `pulumi:"displayPolicy"` + ForceAll *bool `pulumi:"forceAll"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + InstanceId string `pulumi:"instanceId"` + // Total number of instance nodes. + InstanceNodesLists []GetInstanceNodesInstanceNodesList `pulumi:"instanceNodesLists"` + NodeRole *string `pulumi:"nodeRole"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetInstanceNodesOutput(ctx *pulumi.Context, args GetInstanceNodesOutputArgs, opts ...pulumi.InvokeOption) GetInstanceNodesResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetInstanceNodesResult, error) { + args := v.(GetInstanceNodesArgs) + r, err := GetInstanceNodes(ctx, &args, opts...) + var s GetInstanceNodesResult + if r != nil { + s = *r + } + return s, err + }).(GetInstanceNodesResultOutput) +} + +// A collection of arguments for invoking getInstanceNodes. +type GetInstanceNodesOutputArgs struct { + // Display strategy, display all when All. + DisplayPolicy pulumi.StringPtrInput `pulumi:"displayPolicy"` + // When true, returns all nodes, that is, the Limit is infinitely large. + ForceAll pulumi.BoolPtrInput `pulumi:"forceAll"` + // InstanceId. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // Cluster role type, default is `data` data node. + NodeRole pulumi.StringPtrInput `pulumi:"nodeRole"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetInstanceNodesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceNodesArgs)(nil)).Elem() +} + +// A collection of values returned by getInstanceNodes. +type GetInstanceNodesResultOutput struct{ *pulumi.OutputState } + +func (GetInstanceNodesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceNodesResult)(nil)).Elem() +} + +func (o GetInstanceNodesResultOutput) ToGetInstanceNodesResultOutput() GetInstanceNodesResultOutput { + return o +} + +func (o GetInstanceNodesResultOutput) ToGetInstanceNodesResultOutputWithContext(ctx context.Context) GetInstanceNodesResultOutput { + return o +} + +func (o GetInstanceNodesResultOutput) DisplayPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstanceNodesResult) *string { return v.DisplayPolicy }).(pulumi.StringPtrOutput) +} + +func (o GetInstanceNodesResultOutput) ForceAll() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetInstanceNodesResult) *bool { return v.ForceAll }).(pulumi.BoolPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetInstanceNodesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetInstanceNodesResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// Total number of instance nodes. +func (o GetInstanceNodesResultOutput) InstanceNodesLists() GetInstanceNodesInstanceNodesListArrayOutput { + return o.ApplyT(func(v GetInstanceNodesResult) []GetInstanceNodesInstanceNodesList { return v.InstanceNodesLists }).(GetInstanceNodesInstanceNodesListArrayOutput) +} + +func (o GetInstanceNodesResultOutput) NodeRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstanceNodesResult) *string { return v.NodeRole }).(pulumi.StringPtrOutput) +} + +func (o GetInstanceNodesResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetInstanceNodesResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetInstanceNodesResultOutput{}) +} diff --git a/sdk/go/tencentcloud/clickhouse/pulumiTypes.go b/sdk/go/tencentcloud/clickhouse/pulumiTypes.go index a5a9939e4..a87d686cc 100644 --- a/sdk/go/tencentcloud/clickhouse/pulumiTypes.go +++ b/sdk/go/tencentcloud/clickhouse/pulumiTypes.go @@ -1759,6 +1759,301 @@ func (o GetBackupTablesAvailableTableArrayOutput) Index(i pulumi.IntInput) GetBa }).(GetBackupTablesAvailableTableOutput) } +type GetInstanceNodesInstanceNodesList struct { + // Name of the clickhouse cluster to which it belongs. + Cluster string `pulumi:"cluster"` + // CPU cores. + Core int `pulumi:"core"` + // Disk size. + DiskSize int `pulumi:"diskSize"` + // Disk type. + DiskType string `pulumi:"diskType"` + // IP Address. + Ip string `pulumi:"ip"` + // When true, it indicates that the chproxy process has been deployed on the node. + IsChProxy bool `pulumi:"isChProxy"` + // Memory size. + Memory int `pulumi:"memory"` + // Group information to which the node belongs. + NodeGroups []GetInstanceNodesInstanceNodesListNodeGroup `pulumi:"nodeGroups"` + // VPC IP. + Rip string `pulumi:"rip"` + // Model, such as S1. + Spec string `pulumi:"spec"` +} + +// GetInstanceNodesInstanceNodesListInput is an input type that accepts GetInstanceNodesInstanceNodesListArgs and GetInstanceNodesInstanceNodesListOutput values. +// You can construct a concrete instance of `GetInstanceNodesInstanceNodesListInput` via: +// +// GetInstanceNodesInstanceNodesListArgs{...} +type GetInstanceNodesInstanceNodesListInput interface { + pulumi.Input + + ToGetInstanceNodesInstanceNodesListOutput() GetInstanceNodesInstanceNodesListOutput + ToGetInstanceNodesInstanceNodesListOutputWithContext(context.Context) GetInstanceNodesInstanceNodesListOutput +} + +type GetInstanceNodesInstanceNodesListArgs struct { + // Name of the clickhouse cluster to which it belongs. + Cluster pulumi.StringInput `pulumi:"cluster"` + // CPU cores. + Core pulumi.IntInput `pulumi:"core"` + // Disk size. + DiskSize pulumi.IntInput `pulumi:"diskSize"` + // Disk type. + DiskType pulumi.StringInput `pulumi:"diskType"` + // IP Address. + Ip pulumi.StringInput `pulumi:"ip"` + // When true, it indicates that the chproxy process has been deployed on the node. + IsChProxy pulumi.BoolInput `pulumi:"isChProxy"` + // Memory size. + Memory pulumi.IntInput `pulumi:"memory"` + // Group information to which the node belongs. + NodeGroups GetInstanceNodesInstanceNodesListNodeGroupArrayInput `pulumi:"nodeGroups"` + // VPC IP. + Rip pulumi.StringInput `pulumi:"rip"` + // Model, such as S1. + Spec pulumi.StringInput `pulumi:"spec"` +} + +func (GetInstanceNodesInstanceNodesListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceNodesInstanceNodesList)(nil)).Elem() +} + +func (i GetInstanceNodesInstanceNodesListArgs) ToGetInstanceNodesInstanceNodesListOutput() GetInstanceNodesInstanceNodesListOutput { + return i.ToGetInstanceNodesInstanceNodesListOutputWithContext(context.Background()) +} + +func (i GetInstanceNodesInstanceNodesListArgs) ToGetInstanceNodesInstanceNodesListOutputWithContext(ctx context.Context) GetInstanceNodesInstanceNodesListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceNodesInstanceNodesListOutput) +} + +// GetInstanceNodesInstanceNodesListArrayInput is an input type that accepts GetInstanceNodesInstanceNodesListArray and GetInstanceNodesInstanceNodesListArrayOutput values. +// You can construct a concrete instance of `GetInstanceNodesInstanceNodesListArrayInput` via: +// +// GetInstanceNodesInstanceNodesListArray{ GetInstanceNodesInstanceNodesListArgs{...} } +type GetInstanceNodesInstanceNodesListArrayInput interface { + pulumi.Input + + ToGetInstanceNodesInstanceNodesListArrayOutput() GetInstanceNodesInstanceNodesListArrayOutput + ToGetInstanceNodesInstanceNodesListArrayOutputWithContext(context.Context) GetInstanceNodesInstanceNodesListArrayOutput +} + +type GetInstanceNodesInstanceNodesListArray []GetInstanceNodesInstanceNodesListInput + +func (GetInstanceNodesInstanceNodesListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceNodesInstanceNodesList)(nil)).Elem() +} + +func (i GetInstanceNodesInstanceNodesListArray) ToGetInstanceNodesInstanceNodesListArrayOutput() GetInstanceNodesInstanceNodesListArrayOutput { + return i.ToGetInstanceNodesInstanceNodesListArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceNodesInstanceNodesListArray) ToGetInstanceNodesInstanceNodesListArrayOutputWithContext(ctx context.Context) GetInstanceNodesInstanceNodesListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceNodesInstanceNodesListArrayOutput) +} + +type GetInstanceNodesInstanceNodesListOutput struct{ *pulumi.OutputState } + +func (GetInstanceNodesInstanceNodesListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceNodesInstanceNodesList)(nil)).Elem() +} + +func (o GetInstanceNodesInstanceNodesListOutput) ToGetInstanceNodesInstanceNodesListOutput() GetInstanceNodesInstanceNodesListOutput { + return o +} + +func (o GetInstanceNodesInstanceNodesListOutput) ToGetInstanceNodesInstanceNodesListOutputWithContext(ctx context.Context) GetInstanceNodesInstanceNodesListOutput { + return o +} + +// Name of the clickhouse cluster to which it belongs. +func (o GetInstanceNodesInstanceNodesListOutput) Cluster() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) string { return v.Cluster }).(pulumi.StringOutput) +} + +// CPU cores. +func (o GetInstanceNodesInstanceNodesListOutput) Core() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) int { return v.Core }).(pulumi.IntOutput) +} + +// Disk size. +func (o GetInstanceNodesInstanceNodesListOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) int { return v.DiskSize }).(pulumi.IntOutput) +} + +// Disk type. +func (o GetInstanceNodesInstanceNodesListOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) string { return v.DiskType }).(pulumi.StringOutput) +} + +// IP Address. +func (o GetInstanceNodesInstanceNodesListOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) string { return v.Ip }).(pulumi.StringOutput) +} + +// When true, it indicates that the chproxy process has been deployed on the node. +func (o GetInstanceNodesInstanceNodesListOutput) IsChProxy() pulumi.BoolOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) bool { return v.IsChProxy }).(pulumi.BoolOutput) +} + +// Memory size. +func (o GetInstanceNodesInstanceNodesListOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) int { return v.Memory }).(pulumi.IntOutput) +} + +// Group information to which the node belongs. +func (o GetInstanceNodesInstanceNodesListOutput) NodeGroups() GetInstanceNodesInstanceNodesListNodeGroupArrayOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) []GetInstanceNodesInstanceNodesListNodeGroup { + return v.NodeGroups + }).(GetInstanceNodesInstanceNodesListNodeGroupArrayOutput) +} + +// VPC IP. +func (o GetInstanceNodesInstanceNodesListOutput) Rip() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) string { return v.Rip }).(pulumi.StringOutput) +} + +// Model, such as S1. +func (o GetInstanceNodesInstanceNodesListOutput) Spec() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesList) string { return v.Spec }).(pulumi.StringOutput) +} + +type GetInstanceNodesInstanceNodesListArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceNodesInstanceNodesListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceNodesInstanceNodesList)(nil)).Elem() +} + +func (o GetInstanceNodesInstanceNodesListArrayOutput) ToGetInstanceNodesInstanceNodesListArrayOutput() GetInstanceNodesInstanceNodesListArrayOutput { + return o +} + +func (o GetInstanceNodesInstanceNodesListArrayOutput) ToGetInstanceNodesInstanceNodesListArrayOutputWithContext(ctx context.Context) GetInstanceNodesInstanceNodesListArrayOutput { + return o +} + +func (o GetInstanceNodesInstanceNodesListArrayOutput) Index(i pulumi.IntInput) GetInstanceNodesInstanceNodesListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceNodesInstanceNodesList { + return vs[0].([]GetInstanceNodesInstanceNodesList)[vs[1].(int)] + }).(GetInstanceNodesInstanceNodesListOutput) +} + +type GetInstanceNodesInstanceNodesListNodeGroup struct { + // Group Name. + GroupName string `pulumi:"groupName"` + // Copy variable name. + ReplicaName string `pulumi:"replicaName"` + // Fragmented variable name. + ShardName string `pulumi:"shardName"` +} + +// GetInstanceNodesInstanceNodesListNodeGroupInput is an input type that accepts GetInstanceNodesInstanceNodesListNodeGroupArgs and GetInstanceNodesInstanceNodesListNodeGroupOutput values. +// You can construct a concrete instance of `GetInstanceNodesInstanceNodesListNodeGroupInput` via: +// +// GetInstanceNodesInstanceNodesListNodeGroupArgs{...} +type GetInstanceNodesInstanceNodesListNodeGroupInput interface { + pulumi.Input + + ToGetInstanceNodesInstanceNodesListNodeGroupOutput() GetInstanceNodesInstanceNodesListNodeGroupOutput + ToGetInstanceNodesInstanceNodesListNodeGroupOutputWithContext(context.Context) GetInstanceNodesInstanceNodesListNodeGroupOutput +} + +type GetInstanceNodesInstanceNodesListNodeGroupArgs struct { + // Group Name. + GroupName pulumi.StringInput `pulumi:"groupName"` + // Copy variable name. + ReplicaName pulumi.StringInput `pulumi:"replicaName"` + // Fragmented variable name. + ShardName pulumi.StringInput `pulumi:"shardName"` +} + +func (GetInstanceNodesInstanceNodesListNodeGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceNodesInstanceNodesListNodeGroup)(nil)).Elem() +} + +func (i GetInstanceNodesInstanceNodesListNodeGroupArgs) ToGetInstanceNodesInstanceNodesListNodeGroupOutput() GetInstanceNodesInstanceNodesListNodeGroupOutput { + return i.ToGetInstanceNodesInstanceNodesListNodeGroupOutputWithContext(context.Background()) +} + +func (i GetInstanceNodesInstanceNodesListNodeGroupArgs) ToGetInstanceNodesInstanceNodesListNodeGroupOutputWithContext(ctx context.Context) GetInstanceNodesInstanceNodesListNodeGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceNodesInstanceNodesListNodeGroupOutput) +} + +// GetInstanceNodesInstanceNodesListNodeGroupArrayInput is an input type that accepts GetInstanceNodesInstanceNodesListNodeGroupArray and GetInstanceNodesInstanceNodesListNodeGroupArrayOutput values. +// You can construct a concrete instance of `GetInstanceNodesInstanceNodesListNodeGroupArrayInput` via: +// +// GetInstanceNodesInstanceNodesListNodeGroupArray{ GetInstanceNodesInstanceNodesListNodeGroupArgs{...} } +type GetInstanceNodesInstanceNodesListNodeGroupArrayInput interface { + pulumi.Input + + ToGetInstanceNodesInstanceNodesListNodeGroupArrayOutput() GetInstanceNodesInstanceNodesListNodeGroupArrayOutput + ToGetInstanceNodesInstanceNodesListNodeGroupArrayOutputWithContext(context.Context) GetInstanceNodesInstanceNodesListNodeGroupArrayOutput +} + +type GetInstanceNodesInstanceNodesListNodeGroupArray []GetInstanceNodesInstanceNodesListNodeGroupInput + +func (GetInstanceNodesInstanceNodesListNodeGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceNodesInstanceNodesListNodeGroup)(nil)).Elem() +} + +func (i GetInstanceNodesInstanceNodesListNodeGroupArray) ToGetInstanceNodesInstanceNodesListNodeGroupArrayOutput() GetInstanceNodesInstanceNodesListNodeGroupArrayOutput { + return i.ToGetInstanceNodesInstanceNodesListNodeGroupArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceNodesInstanceNodesListNodeGroupArray) ToGetInstanceNodesInstanceNodesListNodeGroupArrayOutputWithContext(ctx context.Context) GetInstanceNodesInstanceNodesListNodeGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceNodesInstanceNodesListNodeGroupArrayOutput) +} + +type GetInstanceNodesInstanceNodesListNodeGroupOutput struct{ *pulumi.OutputState } + +func (GetInstanceNodesInstanceNodesListNodeGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceNodesInstanceNodesListNodeGroup)(nil)).Elem() +} + +func (o GetInstanceNodesInstanceNodesListNodeGroupOutput) ToGetInstanceNodesInstanceNodesListNodeGroupOutput() GetInstanceNodesInstanceNodesListNodeGroupOutput { + return o +} + +func (o GetInstanceNodesInstanceNodesListNodeGroupOutput) ToGetInstanceNodesInstanceNodesListNodeGroupOutputWithContext(ctx context.Context) GetInstanceNodesInstanceNodesListNodeGroupOutput { + return o +} + +// Group Name. +func (o GetInstanceNodesInstanceNodesListNodeGroupOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesListNodeGroup) string { return v.GroupName }).(pulumi.StringOutput) +} + +// Copy variable name. +func (o GetInstanceNodesInstanceNodesListNodeGroupOutput) ReplicaName() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesListNodeGroup) string { return v.ReplicaName }).(pulumi.StringOutput) +} + +// Fragmented variable name. +func (o GetInstanceNodesInstanceNodesListNodeGroupOutput) ShardName() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceNodesInstanceNodesListNodeGroup) string { return v.ShardName }).(pulumi.StringOutput) +} + +type GetInstanceNodesInstanceNodesListNodeGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceNodesInstanceNodesListNodeGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceNodesInstanceNodesListNodeGroup)(nil)).Elem() +} + +func (o GetInstanceNodesInstanceNodesListNodeGroupArrayOutput) ToGetInstanceNodesInstanceNodesListNodeGroupArrayOutput() GetInstanceNodesInstanceNodesListNodeGroupArrayOutput { + return o +} + +func (o GetInstanceNodesInstanceNodesListNodeGroupArrayOutput) ToGetInstanceNodesInstanceNodesListNodeGroupArrayOutputWithContext(ctx context.Context) GetInstanceNodesInstanceNodesListNodeGroupArrayOutput { + return o +} + +func (o GetInstanceNodesInstanceNodesListNodeGroupArrayOutput) Index(i pulumi.IntInput) GetInstanceNodesInstanceNodesListNodeGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceNodesInstanceNodesListNodeGroup { + return vs[0].([]GetInstanceNodesInstanceNodesListNodeGroup)[vs[1].(int)] + }).(GetInstanceNodesInstanceNodesListNodeGroupOutput) +} + type GetSpecAttachCbsSpec struct { // Number of disks. DiskCount int `pulumi:"diskCount"` @@ -2823,6 +3118,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetBackupJobsBackUpJobArrayInput)(nil)).Elem(), GetBackupJobsBackUpJobArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupTablesAvailableTableInput)(nil)).Elem(), GetBackupTablesAvailableTableArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetBackupTablesAvailableTableArrayInput)(nil)).Elem(), GetBackupTablesAvailableTableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceNodesInstanceNodesListInput)(nil)).Elem(), GetInstanceNodesInstanceNodesListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceNodesInstanceNodesListArrayInput)(nil)).Elem(), GetInstanceNodesInstanceNodesListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceNodesInstanceNodesListNodeGroupInput)(nil)).Elem(), GetInstanceNodesInstanceNodesListNodeGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceNodesInstanceNodesListNodeGroupArrayInput)(nil)).Elem(), GetInstanceNodesInstanceNodesListNodeGroupArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSpecAttachCbsSpecInput)(nil)).Elem(), GetSpecAttachCbsSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSpecAttachCbsSpecArrayInput)(nil)).Elem(), GetSpecAttachCbsSpecArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSpecCommonSpecInput)(nil)).Elem(), GetSpecCommonSpecArgs{}) @@ -2861,6 +3160,10 @@ func init() { pulumi.RegisterOutputType(GetBackupJobsBackUpJobArrayOutput{}) pulumi.RegisterOutputType(GetBackupTablesAvailableTableOutput{}) pulumi.RegisterOutputType(GetBackupTablesAvailableTableArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceNodesInstanceNodesListOutput{}) + pulumi.RegisterOutputType(GetInstanceNodesInstanceNodesListArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceNodesInstanceNodesListNodeGroupOutput{}) + pulumi.RegisterOutputType(GetInstanceNodesInstanceNodesListNodeGroupArrayOutput{}) pulumi.RegisterOutputType(GetSpecAttachCbsSpecOutput{}) pulumi.RegisterOutputType(GetSpecAttachCbsSpecArrayOutput{}) pulumi.RegisterOutputType(GetSpecCommonSpecOutput{}) diff --git a/sdk/go/tencentcloud/monitor/grafanaInstance.go b/sdk/go/tencentcloud/monitor/grafanaInstance.go index cbdc3cf81..c2bec83d5 100644 --- a/sdk/go/tencentcloud/monitor/grafanaInstance.go +++ b/sdk/go/tencentcloud/monitor/grafanaInstance.go @@ -78,6 +78,8 @@ import ( type GrafanaInstance struct { pulumi.CustomResourceState + // Whether to automatically use vouchers. + AutoVoucher pulumi.BoolPtrOutput `pulumi:"autoVoucher"` // Control whether grafana could be accessed by internet. EnableInternet pulumi.BoolOutput `pulumi:"enableInternet"` // Grafana server admin password. @@ -141,6 +143,8 @@ func GetGrafanaInstance(ctx *pulumi.Context, // Input properties used for looking up and filtering GrafanaInstance resources. type grafanaInstanceState struct { + // Whether to automatically use vouchers. + AutoVoucher *bool `pulumi:"autoVoucher"` // Control whether grafana could be accessed by internet. EnableInternet *bool `pulumi:"enableInternet"` // Grafana server admin password. @@ -172,6 +176,8 @@ type grafanaInstanceState struct { } type GrafanaInstanceState struct { + // Whether to automatically use vouchers. + AutoVoucher pulumi.BoolPtrInput // Control whether grafana could be accessed by internet. EnableInternet pulumi.BoolPtrInput // Grafana server admin password. @@ -207,6 +213,8 @@ func (GrafanaInstanceState) ElementType() reflect.Type { } type grafanaInstanceArgs struct { + // Whether to automatically use vouchers. + AutoVoucher *bool `pulumi:"autoVoucher"` // Control whether grafana could be accessed by internet. EnableInternet *bool `pulumi:"enableInternet"` // Grafana server admin password. @@ -229,6 +237,8 @@ type grafanaInstanceArgs struct { // The set of arguments for constructing a GrafanaInstance resource. type GrafanaInstanceArgs struct { + // Whether to automatically use vouchers. + AutoVoucher pulumi.BoolPtrInput // Control whether grafana could be accessed by internet. EnableInternet pulumi.BoolPtrInput // Grafana server admin password. @@ -336,6 +346,11 @@ func (o GrafanaInstanceOutput) ToGrafanaInstanceOutputWithContext(ctx context.Co return o } +// Whether to automatically use vouchers. +func (o GrafanaInstanceOutput) AutoVoucher() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GrafanaInstance) pulumi.BoolPtrOutput { return v.AutoVoucher }).(pulumi.BoolPtrOutput) +} + // Control whether grafana could be accessed by internet. func (o GrafanaInstanceOutput) EnableInternet() pulumi.BoolOutput { return o.ApplyT(func(v *GrafanaInstance) pulumi.BoolOutput { return v.EnableInternet }).(pulumi.BoolOutput) diff --git a/sdk/go/tencentcloud/monitor/init.go b/sdk/go/tencentcloud/monitor/init.go index 37b407e42..3417dabc4 100644 --- a/sdk/go/tencentcloud/monitor/init.go +++ b/sdk/go/tencentcloud/monitor/init.go @@ -53,6 +53,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &GrafanaWhitelistConfig{} case "tencentcloud:Monitor/policyBindingObject:PolicyBindingObject": r = &PolicyBindingObject{} + case "tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup": + r = &TmpAlertGroup{} case "tencentcloud:Monitor/tmpAlertRule:TmpAlertRule": r = &TmpAlertRule{} case "tencentcloud:Monitor/tmpCvmAgent:TmpCvmAgent": @@ -178,6 +180,11 @@ func init() { "Monitor/policyBindingObject", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Monitor/tmpAlertGroup", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Monitor/tmpAlertRule", diff --git a/sdk/go/tencentcloud/monitor/pulumiTypes.go b/sdk/go/tencentcloud/monitor/pulumiTypes.go index 00d1746b7..d0d202b2c 100644 --- a/sdk/go/tencentcloud/monitor/pulumiTypes.go +++ b/sdk/go/tencentcloud/monitor/pulumiTypes.go @@ -2151,6 +2151,469 @@ func (o PolicyBindingObjectDimensionArrayOutput) Index(i pulumi.IntInput) Policy }).(PolicyBindingObjectDimensionOutput) } +type TmpAlertGroupCustomReceiver struct { + // Time ranges which allow alert message send. + AllowedTimeRanges []TmpAlertGroupCustomReceiverAllowedTimeRange `pulumi:"allowedTimeRanges"` + // Only effect when alertmanager in user cluster, this cluster id. + ClusterId *string `pulumi:"clusterId"` + // Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + ClusterType *string `pulumi:"clusterType"` + // Custom receiver type, webhook|alertmanager. + Type *string `pulumi:"type"` + // Custom receiver address, can be accessed by process in prometheus instance subnet. + Url *string `pulumi:"url"` +} + +// TmpAlertGroupCustomReceiverInput is an input type that accepts TmpAlertGroupCustomReceiverArgs and TmpAlertGroupCustomReceiverOutput values. +// You can construct a concrete instance of `TmpAlertGroupCustomReceiverInput` via: +// +// TmpAlertGroupCustomReceiverArgs{...} +type TmpAlertGroupCustomReceiverInput interface { + pulumi.Input + + ToTmpAlertGroupCustomReceiverOutput() TmpAlertGroupCustomReceiverOutput + ToTmpAlertGroupCustomReceiverOutputWithContext(context.Context) TmpAlertGroupCustomReceiverOutput +} + +type TmpAlertGroupCustomReceiverArgs struct { + // Time ranges which allow alert message send. + AllowedTimeRanges TmpAlertGroupCustomReceiverAllowedTimeRangeArrayInput `pulumi:"allowedTimeRanges"` + // Only effect when alertmanager in user cluster, this cluster id. + ClusterId pulumi.StringPtrInput `pulumi:"clusterId"` + // Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + ClusterType pulumi.StringPtrInput `pulumi:"clusterType"` + // Custom receiver type, webhook|alertmanager. + Type pulumi.StringPtrInput `pulumi:"type"` + // Custom receiver address, can be accessed by process in prometheus instance subnet. + Url pulumi.StringPtrInput `pulumi:"url"` +} + +func (TmpAlertGroupCustomReceiverArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TmpAlertGroupCustomReceiver)(nil)).Elem() +} + +func (i TmpAlertGroupCustomReceiverArgs) ToTmpAlertGroupCustomReceiverOutput() TmpAlertGroupCustomReceiverOutput { + return i.ToTmpAlertGroupCustomReceiverOutputWithContext(context.Background()) +} + +func (i TmpAlertGroupCustomReceiverArgs) ToTmpAlertGroupCustomReceiverOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupCustomReceiverOutput) +} + +func (i TmpAlertGroupCustomReceiverArgs) ToTmpAlertGroupCustomReceiverPtrOutput() TmpAlertGroupCustomReceiverPtrOutput { + return i.ToTmpAlertGroupCustomReceiverPtrOutputWithContext(context.Background()) +} + +func (i TmpAlertGroupCustomReceiverArgs) ToTmpAlertGroupCustomReceiverPtrOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupCustomReceiverOutput).ToTmpAlertGroupCustomReceiverPtrOutputWithContext(ctx) +} + +// TmpAlertGroupCustomReceiverPtrInput is an input type that accepts TmpAlertGroupCustomReceiverArgs, TmpAlertGroupCustomReceiverPtr and TmpAlertGroupCustomReceiverPtrOutput values. +// You can construct a concrete instance of `TmpAlertGroupCustomReceiverPtrInput` via: +// +// TmpAlertGroupCustomReceiverArgs{...} +// +// or: +// +// nil +type TmpAlertGroupCustomReceiverPtrInput interface { + pulumi.Input + + ToTmpAlertGroupCustomReceiverPtrOutput() TmpAlertGroupCustomReceiverPtrOutput + ToTmpAlertGroupCustomReceiverPtrOutputWithContext(context.Context) TmpAlertGroupCustomReceiverPtrOutput +} + +type tmpAlertGroupCustomReceiverPtrType TmpAlertGroupCustomReceiverArgs + +func TmpAlertGroupCustomReceiverPtr(v *TmpAlertGroupCustomReceiverArgs) TmpAlertGroupCustomReceiverPtrInput { + return (*tmpAlertGroupCustomReceiverPtrType)(v) +} + +func (*tmpAlertGroupCustomReceiverPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TmpAlertGroupCustomReceiver)(nil)).Elem() +} + +func (i *tmpAlertGroupCustomReceiverPtrType) ToTmpAlertGroupCustomReceiverPtrOutput() TmpAlertGroupCustomReceiverPtrOutput { + return i.ToTmpAlertGroupCustomReceiverPtrOutputWithContext(context.Background()) +} + +func (i *tmpAlertGroupCustomReceiverPtrType) ToTmpAlertGroupCustomReceiverPtrOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupCustomReceiverPtrOutput) +} + +type TmpAlertGroupCustomReceiverOutput struct{ *pulumi.OutputState } + +func (TmpAlertGroupCustomReceiverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TmpAlertGroupCustomReceiver)(nil)).Elem() +} + +func (o TmpAlertGroupCustomReceiverOutput) ToTmpAlertGroupCustomReceiverOutput() TmpAlertGroupCustomReceiverOutput { + return o +} + +func (o TmpAlertGroupCustomReceiverOutput) ToTmpAlertGroupCustomReceiverOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverOutput { + return o +} + +func (o TmpAlertGroupCustomReceiverOutput) ToTmpAlertGroupCustomReceiverPtrOutput() TmpAlertGroupCustomReceiverPtrOutput { + return o.ToTmpAlertGroupCustomReceiverPtrOutputWithContext(context.Background()) +} + +func (o TmpAlertGroupCustomReceiverOutput) ToTmpAlertGroupCustomReceiverPtrOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TmpAlertGroupCustomReceiver) *TmpAlertGroupCustomReceiver { + return &v + }).(TmpAlertGroupCustomReceiverPtrOutput) +} + +// Time ranges which allow alert message send. +func (o TmpAlertGroupCustomReceiverOutput) AllowedTimeRanges() TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput { + return o.ApplyT(func(v TmpAlertGroupCustomReceiver) []TmpAlertGroupCustomReceiverAllowedTimeRange { + return v.AllowedTimeRanges + }).(TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput) +} + +// Only effect when alertmanager in user cluster, this cluster id. +func (o TmpAlertGroupCustomReceiverOutput) ClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v TmpAlertGroupCustomReceiver) *string { return v.ClusterId }).(pulumi.StringPtrOutput) +} + +// Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). +func (o TmpAlertGroupCustomReceiverOutput) ClusterType() pulumi.StringPtrOutput { + return o.ApplyT(func(v TmpAlertGroupCustomReceiver) *string { return v.ClusterType }).(pulumi.StringPtrOutput) +} + +// Custom receiver type, webhook|alertmanager. +func (o TmpAlertGroupCustomReceiverOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v TmpAlertGroupCustomReceiver) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +// Custom receiver address, can be accessed by process in prometheus instance subnet. +func (o TmpAlertGroupCustomReceiverOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v TmpAlertGroupCustomReceiver) *string { return v.Url }).(pulumi.StringPtrOutput) +} + +type TmpAlertGroupCustomReceiverPtrOutput struct{ *pulumi.OutputState } + +func (TmpAlertGroupCustomReceiverPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TmpAlertGroupCustomReceiver)(nil)).Elem() +} + +func (o TmpAlertGroupCustomReceiverPtrOutput) ToTmpAlertGroupCustomReceiverPtrOutput() TmpAlertGroupCustomReceiverPtrOutput { + return o +} + +func (o TmpAlertGroupCustomReceiverPtrOutput) ToTmpAlertGroupCustomReceiverPtrOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverPtrOutput { + return o +} + +func (o TmpAlertGroupCustomReceiverPtrOutput) Elem() TmpAlertGroupCustomReceiverOutput { + return o.ApplyT(func(v *TmpAlertGroupCustomReceiver) TmpAlertGroupCustomReceiver { + if v != nil { + return *v + } + var ret TmpAlertGroupCustomReceiver + return ret + }).(TmpAlertGroupCustomReceiverOutput) +} + +// Time ranges which allow alert message send. +func (o TmpAlertGroupCustomReceiverPtrOutput) AllowedTimeRanges() TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput { + return o.ApplyT(func(v *TmpAlertGroupCustomReceiver) []TmpAlertGroupCustomReceiverAllowedTimeRange { + if v == nil { + return nil + } + return v.AllowedTimeRanges + }).(TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput) +} + +// Only effect when alertmanager in user cluster, this cluster id. +func (o TmpAlertGroupCustomReceiverPtrOutput) ClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TmpAlertGroupCustomReceiver) *string { + if v == nil { + return nil + } + return v.ClusterId + }).(pulumi.StringPtrOutput) +} + +// Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). +func (o TmpAlertGroupCustomReceiverPtrOutput) ClusterType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TmpAlertGroupCustomReceiver) *string { + if v == nil { + return nil + } + return v.ClusterType + }).(pulumi.StringPtrOutput) +} + +// Custom receiver type, webhook|alertmanager. +func (o TmpAlertGroupCustomReceiverPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TmpAlertGroupCustomReceiver) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +// Custom receiver address, can be accessed by process in prometheus instance subnet. +func (o TmpAlertGroupCustomReceiverPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TmpAlertGroupCustomReceiver) *string { + if v == nil { + return nil + } + return v.Url + }).(pulumi.StringPtrOutput) +} + +type TmpAlertGroupCustomReceiverAllowedTimeRange struct { + // Time range end, seconds since 0 o'clock. + End *string `pulumi:"end"` + // Time range start, seconds since 0 o'clock. + Start *string `pulumi:"start"` +} + +// TmpAlertGroupCustomReceiverAllowedTimeRangeInput is an input type that accepts TmpAlertGroupCustomReceiverAllowedTimeRangeArgs and TmpAlertGroupCustomReceiverAllowedTimeRangeOutput values. +// You can construct a concrete instance of `TmpAlertGroupCustomReceiverAllowedTimeRangeInput` via: +// +// TmpAlertGroupCustomReceiverAllowedTimeRangeArgs{...} +type TmpAlertGroupCustomReceiverAllowedTimeRangeInput interface { + pulumi.Input + + ToTmpAlertGroupCustomReceiverAllowedTimeRangeOutput() TmpAlertGroupCustomReceiverAllowedTimeRangeOutput + ToTmpAlertGroupCustomReceiverAllowedTimeRangeOutputWithContext(context.Context) TmpAlertGroupCustomReceiverAllowedTimeRangeOutput +} + +type TmpAlertGroupCustomReceiverAllowedTimeRangeArgs struct { + // Time range end, seconds since 0 o'clock. + End pulumi.StringPtrInput `pulumi:"end"` + // Time range start, seconds since 0 o'clock. + Start pulumi.StringPtrInput `pulumi:"start"` +} + +func (TmpAlertGroupCustomReceiverAllowedTimeRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TmpAlertGroupCustomReceiverAllowedTimeRange)(nil)).Elem() +} + +func (i TmpAlertGroupCustomReceiverAllowedTimeRangeArgs) ToTmpAlertGroupCustomReceiverAllowedTimeRangeOutput() TmpAlertGroupCustomReceiverAllowedTimeRangeOutput { + return i.ToTmpAlertGroupCustomReceiverAllowedTimeRangeOutputWithContext(context.Background()) +} + +func (i TmpAlertGroupCustomReceiverAllowedTimeRangeArgs) ToTmpAlertGroupCustomReceiverAllowedTimeRangeOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverAllowedTimeRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupCustomReceiverAllowedTimeRangeOutput) +} + +// TmpAlertGroupCustomReceiverAllowedTimeRangeArrayInput is an input type that accepts TmpAlertGroupCustomReceiverAllowedTimeRangeArray and TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput values. +// You can construct a concrete instance of `TmpAlertGroupCustomReceiverAllowedTimeRangeArrayInput` via: +// +// TmpAlertGroupCustomReceiverAllowedTimeRangeArray{ TmpAlertGroupCustomReceiverAllowedTimeRangeArgs{...} } +type TmpAlertGroupCustomReceiverAllowedTimeRangeArrayInput interface { + pulumi.Input + + ToTmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput() TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput + ToTmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutputWithContext(context.Context) TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput +} + +type TmpAlertGroupCustomReceiverAllowedTimeRangeArray []TmpAlertGroupCustomReceiverAllowedTimeRangeInput + +func (TmpAlertGroupCustomReceiverAllowedTimeRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TmpAlertGroupCustomReceiverAllowedTimeRange)(nil)).Elem() +} + +func (i TmpAlertGroupCustomReceiverAllowedTimeRangeArray) ToTmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput() TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput { + return i.ToTmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutputWithContext(context.Background()) +} + +func (i TmpAlertGroupCustomReceiverAllowedTimeRangeArray) ToTmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput) +} + +type TmpAlertGroupCustomReceiverAllowedTimeRangeOutput struct{ *pulumi.OutputState } + +func (TmpAlertGroupCustomReceiverAllowedTimeRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TmpAlertGroupCustomReceiverAllowedTimeRange)(nil)).Elem() +} + +func (o TmpAlertGroupCustomReceiverAllowedTimeRangeOutput) ToTmpAlertGroupCustomReceiverAllowedTimeRangeOutput() TmpAlertGroupCustomReceiverAllowedTimeRangeOutput { + return o +} + +func (o TmpAlertGroupCustomReceiverAllowedTimeRangeOutput) ToTmpAlertGroupCustomReceiverAllowedTimeRangeOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverAllowedTimeRangeOutput { + return o +} + +// Time range end, seconds since 0 o'clock. +func (o TmpAlertGroupCustomReceiverAllowedTimeRangeOutput) End() pulumi.StringPtrOutput { + return o.ApplyT(func(v TmpAlertGroupCustomReceiverAllowedTimeRange) *string { return v.End }).(pulumi.StringPtrOutput) +} + +// Time range start, seconds since 0 o'clock. +func (o TmpAlertGroupCustomReceiverAllowedTimeRangeOutput) Start() pulumi.StringPtrOutput { + return o.ApplyT(func(v TmpAlertGroupCustomReceiverAllowedTimeRange) *string { return v.Start }).(pulumi.StringPtrOutput) +} + +type TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput struct{ *pulumi.OutputState } + +func (TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TmpAlertGroupCustomReceiverAllowedTimeRange)(nil)).Elem() +} + +func (o TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput) ToTmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput() TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput { + return o +} + +func (o TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput) ToTmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutputWithContext(ctx context.Context) TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput { + return o +} + +func (o TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput) Index(i pulumi.IntInput) TmpAlertGroupCustomReceiverAllowedTimeRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TmpAlertGroupCustomReceiverAllowedTimeRange { + return vs[0].([]TmpAlertGroupCustomReceiverAllowedTimeRange)[vs[1].(int)] + }).(TmpAlertGroupCustomReceiverAllowedTimeRangeOutput) +} + +type TmpAlertGroupRule struct { + // Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + Annotations map[string]interface{} `pulumi:"annotations"` + // Rule alarm duration. + Duration *string `pulumi:"duration"` + // Prometheus alert expression. + Expr *string `pulumi:"expr"` + // Labels of alert rule. + Labels map[string]interface{} `pulumi:"labels"` + // Alert rule name. + RuleName *string `pulumi:"ruleName"` + // Rule state. `2`-enable, `3`-disable, default `2`. + State *int `pulumi:"state"` +} + +// TmpAlertGroupRuleInput is an input type that accepts TmpAlertGroupRuleArgs and TmpAlertGroupRuleOutput values. +// You can construct a concrete instance of `TmpAlertGroupRuleInput` via: +// +// TmpAlertGroupRuleArgs{...} +type TmpAlertGroupRuleInput interface { + pulumi.Input + + ToTmpAlertGroupRuleOutput() TmpAlertGroupRuleOutput + ToTmpAlertGroupRuleOutputWithContext(context.Context) TmpAlertGroupRuleOutput +} + +type TmpAlertGroupRuleArgs struct { + // Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + Annotations pulumi.MapInput `pulumi:"annotations"` + // Rule alarm duration. + Duration pulumi.StringPtrInput `pulumi:"duration"` + // Prometheus alert expression. + Expr pulumi.StringPtrInput `pulumi:"expr"` + // Labels of alert rule. + Labels pulumi.MapInput `pulumi:"labels"` + // Alert rule name. + RuleName pulumi.StringPtrInput `pulumi:"ruleName"` + // Rule state. `2`-enable, `3`-disable, default `2`. + State pulumi.IntPtrInput `pulumi:"state"` +} + +func (TmpAlertGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TmpAlertGroupRule)(nil)).Elem() +} + +func (i TmpAlertGroupRuleArgs) ToTmpAlertGroupRuleOutput() TmpAlertGroupRuleOutput { + return i.ToTmpAlertGroupRuleOutputWithContext(context.Background()) +} + +func (i TmpAlertGroupRuleArgs) ToTmpAlertGroupRuleOutputWithContext(ctx context.Context) TmpAlertGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupRuleOutput) +} + +// TmpAlertGroupRuleArrayInput is an input type that accepts TmpAlertGroupRuleArray and TmpAlertGroupRuleArrayOutput values. +// You can construct a concrete instance of `TmpAlertGroupRuleArrayInput` via: +// +// TmpAlertGroupRuleArray{ TmpAlertGroupRuleArgs{...} } +type TmpAlertGroupRuleArrayInput interface { + pulumi.Input + + ToTmpAlertGroupRuleArrayOutput() TmpAlertGroupRuleArrayOutput + ToTmpAlertGroupRuleArrayOutputWithContext(context.Context) TmpAlertGroupRuleArrayOutput +} + +type TmpAlertGroupRuleArray []TmpAlertGroupRuleInput + +func (TmpAlertGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TmpAlertGroupRule)(nil)).Elem() +} + +func (i TmpAlertGroupRuleArray) ToTmpAlertGroupRuleArrayOutput() TmpAlertGroupRuleArrayOutput { + return i.ToTmpAlertGroupRuleArrayOutputWithContext(context.Background()) +} + +func (i TmpAlertGroupRuleArray) ToTmpAlertGroupRuleArrayOutputWithContext(ctx context.Context) TmpAlertGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupRuleArrayOutput) +} + +type TmpAlertGroupRuleOutput struct{ *pulumi.OutputState } + +func (TmpAlertGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TmpAlertGroupRule)(nil)).Elem() +} + +func (o TmpAlertGroupRuleOutput) ToTmpAlertGroupRuleOutput() TmpAlertGroupRuleOutput { + return o +} + +func (o TmpAlertGroupRuleOutput) ToTmpAlertGroupRuleOutputWithContext(ctx context.Context) TmpAlertGroupRuleOutput { + return o +} + +// Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. +func (o TmpAlertGroupRuleOutput) Annotations() pulumi.MapOutput { + return o.ApplyT(func(v TmpAlertGroupRule) map[string]interface{} { return v.Annotations }).(pulumi.MapOutput) +} + +// Rule alarm duration. +func (o TmpAlertGroupRuleOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v TmpAlertGroupRule) *string { return v.Duration }).(pulumi.StringPtrOutput) +} + +// Prometheus alert expression. +func (o TmpAlertGroupRuleOutput) Expr() pulumi.StringPtrOutput { + return o.ApplyT(func(v TmpAlertGroupRule) *string { return v.Expr }).(pulumi.StringPtrOutput) +} + +// Labels of alert rule. +func (o TmpAlertGroupRuleOutput) Labels() pulumi.MapOutput { + return o.ApplyT(func(v TmpAlertGroupRule) map[string]interface{} { return v.Labels }).(pulumi.MapOutput) +} + +// Alert rule name. +func (o TmpAlertGroupRuleOutput) RuleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v TmpAlertGroupRule) *string { return v.RuleName }).(pulumi.StringPtrOutput) +} + +// Rule state. `2`-enable, `3`-disable, default `2`. +func (o TmpAlertGroupRuleOutput) State() pulumi.IntPtrOutput { + return o.ApplyT(func(v TmpAlertGroupRule) *int { return v.State }).(pulumi.IntPtrOutput) +} + +type TmpAlertGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (TmpAlertGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TmpAlertGroupRule)(nil)).Elem() +} + +func (o TmpAlertGroupRuleArrayOutput) ToTmpAlertGroupRuleArrayOutput() TmpAlertGroupRuleArrayOutput { + return o +} + +func (o TmpAlertGroupRuleArrayOutput) ToTmpAlertGroupRuleArrayOutputWithContext(ctx context.Context) TmpAlertGroupRuleArrayOutput { + return o +} + +func (o TmpAlertGroupRuleArrayOutput) Index(i pulumi.IntInput) TmpAlertGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TmpAlertGroupRule { + return vs[0].([]TmpAlertGroupRule)[vs[1].(int)] + }).(TmpAlertGroupRuleOutput) +} + type TmpAlertRuleAnnotation struct { // key. Key string `pulumi:"key"` @@ -18233,6 +18696,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GrafanaSsoAccountRoleArrayInput)(nil)).Elem(), GrafanaSsoAccountRoleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyBindingObjectDimensionInput)(nil)).Elem(), PolicyBindingObjectDimensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyBindingObjectDimensionArrayInput)(nil)).Elem(), PolicyBindingObjectDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertGroupCustomReceiverInput)(nil)).Elem(), TmpAlertGroupCustomReceiverArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertGroupCustomReceiverPtrInput)(nil)).Elem(), TmpAlertGroupCustomReceiverArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertGroupCustomReceiverAllowedTimeRangeInput)(nil)).Elem(), TmpAlertGroupCustomReceiverAllowedTimeRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertGroupCustomReceiverAllowedTimeRangeArrayInput)(nil)).Elem(), TmpAlertGroupCustomReceiverAllowedTimeRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertGroupRuleInput)(nil)).Elem(), TmpAlertGroupRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertGroupRuleArrayInput)(nil)).Elem(), TmpAlertGroupRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertRuleAnnotationInput)(nil)).Elem(), TmpAlertRuleAnnotationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertRuleAnnotationArrayInput)(nil)).Elem(), TmpAlertRuleAnnotationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertRuleLabelInput)(nil)).Elem(), TmpAlertRuleLabelArgs{}) @@ -18467,6 +18936,12 @@ func init() { pulumi.RegisterOutputType(GrafanaSsoAccountRoleArrayOutput{}) pulumi.RegisterOutputType(PolicyBindingObjectDimensionOutput{}) pulumi.RegisterOutputType(PolicyBindingObjectDimensionArrayOutput{}) + pulumi.RegisterOutputType(TmpAlertGroupCustomReceiverOutput{}) + pulumi.RegisterOutputType(TmpAlertGroupCustomReceiverPtrOutput{}) + pulumi.RegisterOutputType(TmpAlertGroupCustomReceiverAllowedTimeRangeOutput{}) + pulumi.RegisterOutputType(TmpAlertGroupCustomReceiverAllowedTimeRangeArrayOutput{}) + pulumi.RegisterOutputType(TmpAlertGroupRuleOutput{}) + pulumi.RegisterOutputType(TmpAlertGroupRuleArrayOutput{}) pulumi.RegisterOutputType(TmpAlertRuleAnnotationOutput{}) pulumi.RegisterOutputType(TmpAlertRuleAnnotationArrayOutput{}) pulumi.RegisterOutputType(TmpAlertRuleLabelOutput{}) diff --git a/sdk/go/tencentcloud/monitor/tmpAlertGroup.go b/sdk/go/tencentcloud/monitor/tmpAlertGroup.go new file mode 100644 index 000000000..ee58fed4e --- /dev/null +++ b/sdk/go/tencentcloud/monitor/tmpAlertGroup.go @@ -0,0 +1,357 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package monitor + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a resource to create a monitor tmpAlertGroup +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "fmt" +// +// "github.com/pulumi/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Monitor" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Monitor.NewTmpAlertGroup(ctx, "tmpAlertGroup", &Monitor.TmpAlertGroupArgs{ +// AmpReceivers: pulumi.StringArray{ +// pulumi.String("notice-om017kc2"), +// }, +// CustomReceiver: &monitor.TmpAlertGroupCustomReceiverArgs{ +// Type: pulumi.String("amp"), +// }, +// GroupName: pulumi.String("tf-test"), +// InstanceId: pulumi.String("prom-ip429jis"), +// RepeatInterval: pulumi.String("5m"), +// Rules: monitor.TmpAlertGroupRuleArray{ +// &monitor.TmpAlertGroupRuleArgs{ +// Annotations: pulumi.AnyMap{ +// "description": pulumi.Any(fmt.Sprintf("%v%v%v", "Agent {{", "$", "labels.instance}} is deactivated, please pay attention!")), +// "summary": pulumi.Any("Agent health check"), +// }, +// Duration: pulumi.String("1m"), +// Expr: pulumi.String("up{job=\"prometheus-agent\"} != 1"), +// Labels: pulumi.AnyMap{ +// "severity": pulumi.Any("critical"), +// }, +// RuleName: pulumi.String("Agent health check"), +// State: pulumi.Int(2), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// +// ## Import +// +// monitor tmp_alert_group can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id +// ``` +type TmpAlertGroup struct { + pulumi.CustomResourceState + + // Tencent cloud notification template id list. + AmpReceivers pulumi.StringArrayOutput `pulumi:"ampReceivers"` + // User custom notification template, such as webhook, alertmanager. + CustomReceiver TmpAlertGroupCustomReceiverPtrOutput `pulumi:"customReceiver"` + // Alarm group id. + GroupId pulumi.StringOutput `pulumi:"groupId"` + // Unique alert group name. + GroupName pulumi.StringPtrOutput `pulumi:"groupName"` + // Instance id. + InstanceId pulumi.StringPtrOutput `pulumi:"instanceId"` + // Alert message send interval, default 1 hour. + RepeatInterval pulumi.StringPtrOutput `pulumi:"repeatInterval"` + // A list of alert rules. + Rules TmpAlertGroupRuleArrayOutput `pulumi:"rules"` +} + +// NewTmpAlertGroup registers a new resource with the given unique name, arguments, and options. +func NewTmpAlertGroup(ctx *pulumi.Context, + name string, args *TmpAlertGroupArgs, opts ...pulumi.ResourceOption) (*TmpAlertGroup, error) { + if args == nil { + args = &TmpAlertGroupArgs{} + } + + opts = pkgResourceDefaultOpts(opts) + var resource TmpAlertGroup + err := ctx.RegisterResource("tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTmpAlertGroup gets an existing TmpAlertGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetTmpAlertGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TmpAlertGroupState, opts ...pulumi.ResourceOption) (*TmpAlertGroup, error) { + var resource TmpAlertGroup + err := ctx.ReadResource("tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TmpAlertGroup resources. +type tmpAlertGroupState struct { + // Tencent cloud notification template id list. + AmpReceivers []string `pulumi:"ampReceivers"` + // User custom notification template, such as webhook, alertmanager. + CustomReceiver *TmpAlertGroupCustomReceiver `pulumi:"customReceiver"` + // Alarm group id. + GroupId *string `pulumi:"groupId"` + // Unique alert group name. + GroupName *string `pulumi:"groupName"` + // Instance id. + InstanceId *string `pulumi:"instanceId"` + // Alert message send interval, default 1 hour. + RepeatInterval *string `pulumi:"repeatInterval"` + // A list of alert rules. + Rules []TmpAlertGroupRule `pulumi:"rules"` +} + +type TmpAlertGroupState struct { + // Tencent cloud notification template id list. + AmpReceivers pulumi.StringArrayInput + // User custom notification template, such as webhook, alertmanager. + CustomReceiver TmpAlertGroupCustomReceiverPtrInput + // Alarm group id. + GroupId pulumi.StringPtrInput + // Unique alert group name. + GroupName pulumi.StringPtrInput + // Instance id. + InstanceId pulumi.StringPtrInput + // Alert message send interval, default 1 hour. + RepeatInterval pulumi.StringPtrInput + // A list of alert rules. + Rules TmpAlertGroupRuleArrayInput +} + +func (TmpAlertGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*tmpAlertGroupState)(nil)).Elem() +} + +type tmpAlertGroupArgs struct { + // Tencent cloud notification template id list. + AmpReceivers []string `pulumi:"ampReceivers"` + // User custom notification template, such as webhook, alertmanager. + CustomReceiver *TmpAlertGroupCustomReceiver `pulumi:"customReceiver"` + // Unique alert group name. + GroupName *string `pulumi:"groupName"` + // Instance id. + InstanceId *string `pulumi:"instanceId"` + // Alert message send interval, default 1 hour. + RepeatInterval *string `pulumi:"repeatInterval"` + // A list of alert rules. + Rules []TmpAlertGroupRule `pulumi:"rules"` +} + +// The set of arguments for constructing a TmpAlertGroup resource. +type TmpAlertGroupArgs struct { + // Tencent cloud notification template id list. + AmpReceivers pulumi.StringArrayInput + // User custom notification template, such as webhook, alertmanager. + CustomReceiver TmpAlertGroupCustomReceiverPtrInput + // Unique alert group name. + GroupName pulumi.StringPtrInput + // Instance id. + InstanceId pulumi.StringPtrInput + // Alert message send interval, default 1 hour. + RepeatInterval pulumi.StringPtrInput + // A list of alert rules. + Rules TmpAlertGroupRuleArrayInput +} + +func (TmpAlertGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*tmpAlertGroupArgs)(nil)).Elem() +} + +type TmpAlertGroupInput interface { + pulumi.Input + + ToTmpAlertGroupOutput() TmpAlertGroupOutput + ToTmpAlertGroupOutputWithContext(ctx context.Context) TmpAlertGroupOutput +} + +func (*TmpAlertGroup) ElementType() reflect.Type { + return reflect.TypeOf((**TmpAlertGroup)(nil)).Elem() +} + +func (i *TmpAlertGroup) ToTmpAlertGroupOutput() TmpAlertGroupOutput { + return i.ToTmpAlertGroupOutputWithContext(context.Background()) +} + +func (i *TmpAlertGroup) ToTmpAlertGroupOutputWithContext(ctx context.Context) TmpAlertGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupOutput) +} + +// TmpAlertGroupArrayInput is an input type that accepts TmpAlertGroupArray and TmpAlertGroupArrayOutput values. +// You can construct a concrete instance of `TmpAlertGroupArrayInput` via: +// +// TmpAlertGroupArray{ TmpAlertGroupArgs{...} } +type TmpAlertGroupArrayInput interface { + pulumi.Input + + ToTmpAlertGroupArrayOutput() TmpAlertGroupArrayOutput + ToTmpAlertGroupArrayOutputWithContext(context.Context) TmpAlertGroupArrayOutput +} + +type TmpAlertGroupArray []TmpAlertGroupInput + +func (TmpAlertGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TmpAlertGroup)(nil)).Elem() +} + +func (i TmpAlertGroupArray) ToTmpAlertGroupArrayOutput() TmpAlertGroupArrayOutput { + return i.ToTmpAlertGroupArrayOutputWithContext(context.Background()) +} + +func (i TmpAlertGroupArray) ToTmpAlertGroupArrayOutputWithContext(ctx context.Context) TmpAlertGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupArrayOutput) +} + +// TmpAlertGroupMapInput is an input type that accepts TmpAlertGroupMap and TmpAlertGroupMapOutput values. +// You can construct a concrete instance of `TmpAlertGroupMapInput` via: +// +// TmpAlertGroupMap{ "key": TmpAlertGroupArgs{...} } +type TmpAlertGroupMapInput interface { + pulumi.Input + + ToTmpAlertGroupMapOutput() TmpAlertGroupMapOutput + ToTmpAlertGroupMapOutputWithContext(context.Context) TmpAlertGroupMapOutput +} + +type TmpAlertGroupMap map[string]TmpAlertGroupInput + +func (TmpAlertGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TmpAlertGroup)(nil)).Elem() +} + +func (i TmpAlertGroupMap) ToTmpAlertGroupMapOutput() TmpAlertGroupMapOutput { + return i.ToTmpAlertGroupMapOutputWithContext(context.Background()) +} + +func (i TmpAlertGroupMap) ToTmpAlertGroupMapOutputWithContext(ctx context.Context) TmpAlertGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TmpAlertGroupMapOutput) +} + +type TmpAlertGroupOutput struct{ *pulumi.OutputState } + +func (TmpAlertGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TmpAlertGroup)(nil)).Elem() +} + +func (o TmpAlertGroupOutput) ToTmpAlertGroupOutput() TmpAlertGroupOutput { + return o +} + +func (o TmpAlertGroupOutput) ToTmpAlertGroupOutputWithContext(ctx context.Context) TmpAlertGroupOutput { + return o +} + +// Tencent cloud notification template id list. +func (o TmpAlertGroupOutput) AmpReceivers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *TmpAlertGroup) pulumi.StringArrayOutput { return v.AmpReceivers }).(pulumi.StringArrayOutput) +} + +// User custom notification template, such as webhook, alertmanager. +func (o TmpAlertGroupOutput) CustomReceiver() TmpAlertGroupCustomReceiverPtrOutput { + return o.ApplyT(func(v *TmpAlertGroup) TmpAlertGroupCustomReceiverPtrOutput { return v.CustomReceiver }).(TmpAlertGroupCustomReceiverPtrOutput) +} + +// Alarm group id. +func (o TmpAlertGroupOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v *TmpAlertGroup) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) +} + +// Unique alert group name. +func (o TmpAlertGroupOutput) GroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TmpAlertGroup) pulumi.StringPtrOutput { return v.GroupName }).(pulumi.StringPtrOutput) +} + +// Instance id. +func (o TmpAlertGroupOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TmpAlertGroup) pulumi.StringPtrOutput { return v.InstanceId }).(pulumi.StringPtrOutput) +} + +// Alert message send interval, default 1 hour. +func (o TmpAlertGroupOutput) RepeatInterval() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TmpAlertGroup) pulumi.StringPtrOutput { return v.RepeatInterval }).(pulumi.StringPtrOutput) +} + +// A list of alert rules. +func (o TmpAlertGroupOutput) Rules() TmpAlertGroupRuleArrayOutput { + return o.ApplyT(func(v *TmpAlertGroup) TmpAlertGroupRuleArrayOutput { return v.Rules }).(TmpAlertGroupRuleArrayOutput) +} + +type TmpAlertGroupArrayOutput struct{ *pulumi.OutputState } + +func (TmpAlertGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TmpAlertGroup)(nil)).Elem() +} + +func (o TmpAlertGroupArrayOutput) ToTmpAlertGroupArrayOutput() TmpAlertGroupArrayOutput { + return o +} + +func (o TmpAlertGroupArrayOutput) ToTmpAlertGroupArrayOutputWithContext(ctx context.Context) TmpAlertGroupArrayOutput { + return o +} + +func (o TmpAlertGroupArrayOutput) Index(i pulumi.IntInput) TmpAlertGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TmpAlertGroup { + return vs[0].([]*TmpAlertGroup)[vs[1].(int)] + }).(TmpAlertGroupOutput) +} + +type TmpAlertGroupMapOutput struct{ *pulumi.OutputState } + +func (TmpAlertGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TmpAlertGroup)(nil)).Elem() +} + +func (o TmpAlertGroupMapOutput) ToTmpAlertGroupMapOutput() TmpAlertGroupMapOutput { + return o +} + +func (o TmpAlertGroupMapOutput) ToTmpAlertGroupMapOutputWithContext(ctx context.Context) TmpAlertGroupMapOutput { + return o +} + +func (o TmpAlertGroupMapOutput) MapIndex(k pulumi.StringInput) TmpAlertGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TmpAlertGroup { + return vs[0].(map[string]*TmpAlertGroup)[vs[1].(string)] + }).(TmpAlertGroupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertGroupInput)(nil)).Elem(), &TmpAlertGroup{}) + pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertGroupArrayInput)(nil)).Elem(), TmpAlertGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TmpAlertGroupMapInput)(nil)).Elem(), TmpAlertGroupMap{}) + pulumi.RegisterOutputType(TmpAlertGroupOutput{}) + pulumi.RegisterOutputType(TmpAlertGroupArrayOutput{}) + pulumi.RegisterOutputType(TmpAlertGroupMapOutput{}) +} diff --git a/sdk/go/tencentcloud/monitor/tmpAlertRule.go b/sdk/go/tencentcloud/monitor/tmpAlertRule.go index f732230f0..9abe98823 100644 --- a/sdk/go/tencentcloud/monitor/tmpAlertRule.go +++ b/sdk/go/tencentcloud/monitor/tmpAlertRule.go @@ -13,6 +13,8 @@ import ( // Provides a resource to create a monitor tmpAlertRule // +// > **NOTE:** This resource will be deprecated in a future version, please use `Monitor.TmpAlertGroup`. +// // ## Example Usage // // ```go diff --git a/sdk/go/tencentcloud/monitor/tmpTkeAlertPolicy.go b/sdk/go/tencentcloud/monitor/tmpTkeAlertPolicy.go index 3cc6bd160..f360ac071 100644 --- a/sdk/go/tencentcloud/monitor/tmpTkeAlertPolicy.go +++ b/sdk/go/tencentcloud/monitor/tmpTkeAlertPolicy.go @@ -13,6 +13,8 @@ import ( // Provides a resource to create a tke tmpAlertPolicy // +// > **NOTE:** This resource will be deprecated in a future version, please use `Monitor.TmpAlertGroup`. +// // ## Example Usage // // ```go diff --git a/sdk/go/tencentcloud/vpc/acl.go b/sdk/go/tencentcloud/vpc/acl.go index d8e283574..ab7140a0e 100644 --- a/sdk/go/tencentcloud/vpc/acl.go +++ b/sdk/go/tencentcloud/vpc/acl.go @@ -62,9 +62,9 @@ type Acl struct { // Creation time of ACL. CreateTime pulumi.StringOutput `pulumi:"createTime"` - // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Egresses pulumi.StringArrayOutput `pulumi:"egresses"` - // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Ingresses pulumi.StringArrayOutput `pulumi:"ingresses"` // Name of the network ACL. Name pulumi.StringOutput `pulumi:"name"` @@ -109,9 +109,9 @@ func GetAcl(ctx *pulumi.Context, type aclState struct { // Creation time of ACL. CreateTime *string `pulumi:"createTime"` - // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Egresses []string `pulumi:"egresses"` - // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Ingresses []string `pulumi:"ingresses"` // Name of the network ACL. Name *string `pulumi:"name"` @@ -124,9 +124,9 @@ type aclState struct { type AclState struct { // Creation time of ACL. CreateTime pulumi.StringPtrInput - // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Egresses pulumi.StringArrayInput - // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Ingresses pulumi.StringArrayInput // Name of the network ACL. Name pulumi.StringPtrInput @@ -141,9 +141,9 @@ func (AclState) ElementType() reflect.Type { } type aclArgs struct { - // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Egresses []string `pulumi:"egresses"` - // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Ingresses []string `pulumi:"ingresses"` // Name of the network ACL. Name *string `pulumi:"name"` @@ -155,9 +155,9 @@ type aclArgs struct { // The set of arguments for constructing a Acl resource. type AclArgs struct { - // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Egresses pulumi.StringArrayInput - // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + // Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. Ingresses pulumi.StringArrayInput // Name of the network ACL. Name pulumi.StringPtrInput @@ -259,12 +259,12 @@ func (o AclOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Acl) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) } -// Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. +// Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. func (o AclOutput) Egresses() pulumi.StringArrayOutput { return o.ApplyT(func(v *Acl) pulumi.StringArrayOutput { return v.Egresses }).(pulumi.StringArrayOutput) } -// Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. +// Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. func (o AclOutput) Ingresses() pulumi.StringArrayOutput { return o.ApplyT(func(v *Acl) pulumi.StringArrayOutput { return v.Ingresses }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/tencentcloud/vpc/endPoint.go b/sdk/go/tencentcloud/vpc/endPoint.go index 5a8423e39..40109a0f3 100644 --- a/sdk/go/tencentcloud/vpc/endPoint.go +++ b/sdk/go/tencentcloud/vpc/endPoint.go @@ -29,8 +29,13 @@ import ( // EndPointName: pulumi.String("terraform-test"), // EndPointServiceId: pulumi.String("vpcsvc-69y13tdb"), // EndPointVip: pulumi.String("10.0.2.1"), -// SubnetId: pulumi.String("subnet-ljyn7h30"), -// VpcId: pulumi.String("vpc-391sv4w3"), +// SecurityGroupsIds: pulumi.StringArray{ +// pulumi.String("sg-ghvp9djf"), +// pulumi.String("sg-if748odn"), +// pulumi.String("sg-3k7vtgf7"), +// }, +// SubnetId: pulumi.String("subnet-ljyn7h30"), +// VpcId: pulumi.String("vpc-391sv4w3"), // }) // if err != nil { // return err @@ -60,6 +65,8 @@ type EndPoint struct { EndPointServiceId pulumi.StringOutput `pulumi:"endPointServiceId"` // VIP of endpoint ip. EndPointVip pulumi.StringPtrOutput `pulumi:"endPointVip"` + // Ordered security groups associated with the endpoint. + SecurityGroupsIds pulumi.StringArrayOutput `pulumi:"securityGroupsIds"` // state of end point. State pulumi.StringOutput `pulumi:"state"` // ID of subnet instance. @@ -120,6 +127,8 @@ type endPointState struct { EndPointServiceId *string `pulumi:"endPointServiceId"` // VIP of endpoint ip. EndPointVip *string `pulumi:"endPointVip"` + // Ordered security groups associated with the endpoint. + SecurityGroupsIds []string `pulumi:"securityGroupsIds"` // state of end point. State *string `pulumi:"state"` // ID of subnet instance. @@ -139,6 +148,8 @@ type EndPointState struct { EndPointServiceId pulumi.StringPtrInput // VIP of endpoint ip. EndPointVip pulumi.StringPtrInput + // Ordered security groups associated with the endpoint. + SecurityGroupsIds pulumi.StringArrayInput // state of end point. State pulumi.StringPtrInput // ID of subnet instance. @@ -158,6 +169,8 @@ type endPointArgs struct { EndPointServiceId string `pulumi:"endPointServiceId"` // VIP of endpoint ip. EndPointVip *string `pulumi:"endPointVip"` + // Ordered security groups associated with the endpoint. + SecurityGroupsIds []string `pulumi:"securityGroupsIds"` // ID of subnet instance. SubnetId string `pulumi:"subnetId"` // ID of vpc instance. @@ -172,6 +185,8 @@ type EndPointArgs struct { EndPointServiceId pulumi.StringInput // VIP of endpoint ip. EndPointVip pulumi.StringPtrInput + // Ordered security groups associated with the endpoint. + SecurityGroupsIds pulumi.StringArrayInput // ID of subnet instance. SubnetId pulumi.StringInput // ID of vpc instance. @@ -290,6 +305,11 @@ func (o EndPointOutput) EndPointVip() pulumi.StringPtrOutput { return o.ApplyT(func(v *EndPoint) pulumi.StringPtrOutput { return v.EndPointVip }).(pulumi.StringPtrOutput) } +// Ordered security groups associated with the endpoint. +func (o EndPointOutput) SecurityGroupsIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *EndPoint) pulumi.StringArrayOutput { return v.SecurityGroupsIds }).(pulumi.StringArrayOutput) +} + // state of end point. func (o EndPointOutput) State() pulumi.StringOutput { return o.ApplyT(func(v *EndPoint) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/vpn/connection.go b/sdk/go/tencentcloud/vpn/connection.go index 575791848..816720ff0 100644 --- a/sdk/go/tencentcloud/vpn/connection.go +++ b/sdk/go/tencentcloud/vpn/connection.go @@ -121,7 +121,7 @@ type Connection struct { IpsecEncryptAlgorithm pulumi.StringPtrOutput `pulumi:"ipsecEncryptAlgorithm"` // Integrity algorithm of the IPSEC operation specification. Valid values: `SHA1`, `MD5`, `SHA-256`. Default value is `MD5`. IpsecIntegrityAlgorithm pulumi.StringPtrOutput `pulumi:"ipsecIntegrityAlgorithm"` - // PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + // PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. IpsecPfsDhGroup pulumi.StringPtrOutput `pulumi:"ipsecPfsDhGroup"` // SA lifetime of the IPSEC operation specification, unit is second. Valid value ranges: [180~604800]. Default value is 3600 seconds. IpsecSaLifetimeSeconds pulumi.IntPtrOutput `pulumi:"ipsecSaLifetimeSeconds"` @@ -236,7 +236,7 @@ type connectionState struct { IpsecEncryptAlgorithm *string `pulumi:"ipsecEncryptAlgorithm"` // Integrity algorithm of the IPSEC operation specification. Valid values: `SHA1`, `MD5`, `SHA-256`. Default value is `MD5`. IpsecIntegrityAlgorithm *string `pulumi:"ipsecIntegrityAlgorithm"` - // PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + // PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. IpsecPfsDhGroup *string `pulumi:"ipsecPfsDhGroup"` // SA lifetime of the IPSEC operation specification, unit is second. Valid value ranges: [180~604800]. Default value is 3600 seconds. IpsecSaLifetimeSeconds *int `pulumi:"ipsecSaLifetimeSeconds"` @@ -313,7 +313,7 @@ type ConnectionState struct { IpsecEncryptAlgorithm pulumi.StringPtrInput // Integrity algorithm of the IPSEC operation specification. Valid values: `SHA1`, `MD5`, `SHA-256`. Default value is `MD5`. IpsecIntegrityAlgorithm pulumi.StringPtrInput - // PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + // PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. IpsecPfsDhGroup pulumi.StringPtrInput // SA lifetime of the IPSEC operation specification, unit is second. Valid value ranges: [180~604800]. Default value is 3600 seconds. IpsecSaLifetimeSeconds pulumi.IntPtrInput @@ -390,7 +390,7 @@ type connectionArgs struct { IpsecEncryptAlgorithm *string `pulumi:"ipsecEncryptAlgorithm"` // Integrity algorithm of the IPSEC operation specification. Valid values: `SHA1`, `MD5`, `SHA-256`. Default value is `MD5`. IpsecIntegrityAlgorithm *string `pulumi:"ipsecIntegrityAlgorithm"` - // PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + // PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. IpsecPfsDhGroup *string `pulumi:"ipsecPfsDhGroup"` // SA lifetime of the IPSEC operation specification, unit is second. Valid value ranges: [180~604800]. Default value is 3600 seconds. IpsecSaLifetimeSeconds *int `pulumi:"ipsecSaLifetimeSeconds"` @@ -456,7 +456,7 @@ type ConnectionArgs struct { IpsecEncryptAlgorithm pulumi.StringPtrInput // Integrity algorithm of the IPSEC operation specification. Valid values: `SHA1`, `MD5`, `SHA-256`. Default value is `MD5`. IpsecIntegrityAlgorithm pulumi.StringPtrInput - // PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + // PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. IpsecPfsDhGroup pulumi.StringPtrInput // SA lifetime of the IPSEC operation specification, unit is second. Valid value ranges: [180~604800]. Default value is 3600 seconds. IpsecSaLifetimeSeconds pulumi.IntPtrInput @@ -680,7 +680,7 @@ func (o ConnectionOutput) IpsecIntegrityAlgorithm() pulumi.StringPtrOutput { return o.ApplyT(func(v *Connection) pulumi.StringPtrOutput { return v.IpsecIntegrityAlgorithm }).(pulumi.StringPtrOutput) } -// PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. +// PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. func (o ConnectionOutput) IpsecPfsDhGroup() pulumi.StringPtrOutput { return o.ApplyT(func(v *Connection) pulumi.StringPtrOutput { return v.IpsecPfsDhGroup }).(pulumi.StringPtrOutput) } diff --git a/sdk/nodejs/cfw/edgePolicy.ts b/sdk/nodejs/cfw/edgePolicy.ts index fd9df2a22..efe0d5457 100644 --- a/sdk/nodejs/cfw/edgePolicy.ts +++ b/sdk/nodejs/cfw/edgePolicy.ts @@ -99,6 +99,10 @@ export class EdgePolicy extends pulumi.CustomResource { * Rule status, true means enabled, false means disabled. Default is true. */ public readonly enable!: pulumi.Output; + /** + * Parameter template id. + */ + public /*out*/ readonly paramTemplateId!: pulumi.Output; /** * The port for the access control policy. Value: -1/-1: All ports 80: Port 80. */ @@ -152,6 +156,7 @@ export class EdgePolicy extends pulumi.CustomResource { resourceInputs["description"] = state ? state.description : undefined; resourceInputs["direction"] = state ? state.direction : undefined; resourceInputs["enable"] = state ? state.enable : undefined; + resourceInputs["paramTemplateId"] = state ? state.paramTemplateId : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["protocol"] = state ? state.protocol : undefined; resourceInputs["ruleAction"] = state ? state.ruleAction : undefined; @@ -198,6 +203,7 @@ export class EdgePolicy extends pulumi.CustomResource { resourceInputs["sourceType"] = args ? args.sourceType : undefined; resourceInputs["targetContent"] = args ? args.targetContent : undefined; resourceInputs["targetType"] = args ? args.targetType : undefined; + resourceInputs["paramTemplateId"] = undefined /*out*/; resourceInputs["uuid"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -221,6 +227,10 @@ export interface EdgePolicyState { * Rule status, true means enabled, false means disabled. Default is true. */ enable?: pulumi.Input; + /** + * Parameter template id. + */ + paramTemplateId?: pulumi.Input; /** * The port for the access control policy. Value: -1/-1: All ports 80: Port 80. */ diff --git a/sdk/nodejs/cfw/natPolicy.ts b/sdk/nodejs/cfw/natPolicy.ts index df1ce0778..3deec6d8d 100644 --- a/sdk/nodejs/cfw/natPolicy.ts +++ b/sdk/nodejs/cfw/natPolicy.ts @@ -75,6 +75,10 @@ export class NatPolicy extends pulumi.CustomResource { * Rule status, true means enabled, false means disabled. Default is true. */ public readonly enable!: pulumi.Output; + /** + * Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + */ + public /*out*/ readonly paramTemplateId!: pulumi.Output; /** * The port for the access control policy. Value: -1/-1: All ports 80: Port 80. */ @@ -124,6 +128,7 @@ export class NatPolicy extends pulumi.CustomResource { resourceInputs["description"] = state ? state.description : undefined; resourceInputs["direction"] = state ? state.direction : undefined; resourceInputs["enable"] = state ? state.enable : undefined; + resourceInputs["paramTemplateId"] = state ? state.paramTemplateId : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["protocol"] = state ? state.protocol : undefined; resourceInputs["ruleAction"] = state ? state.ruleAction : undefined; @@ -168,6 +173,7 @@ export class NatPolicy extends pulumi.CustomResource { resourceInputs["sourceType"] = args ? args.sourceType : undefined; resourceInputs["targetContent"] = args ? args.targetContent : undefined; resourceInputs["targetType"] = args ? args.targetType : undefined; + resourceInputs["paramTemplateId"] = undefined /*out*/; resourceInputs["uuid"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -191,6 +197,10 @@ export interface NatPolicyState { * Rule status, true means enabled, false means disabled. Default is true. */ enable?: pulumi.Input; + /** + * Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + */ + paramTemplateId?: pulumi.Input; /** * The port for the access control policy. Value: -1/-1: All ports 80: Port 80. */ diff --git a/sdk/nodejs/cfw/vpcPolicy.ts b/sdk/nodejs/cfw/vpcPolicy.ts index 198e2dfcb..984564abe 100644 --- a/sdk/nodejs/cfw/vpcPolicy.ts +++ b/sdk/nodejs/cfw/vpcPolicy.ts @@ -2,6 +2,7 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import { input as inputs, output as outputs } from "../types"; import * as utilities from "../utilities"; /** @@ -63,6 +64,10 @@ export class VpcPolicy extends pulumi.CustomResource { return obj['__pulumiType'] === VpcPolicy.__pulumiType; } + /** + * Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. + */ + public /*out*/ readonly betaLists!: pulumi.Output; /** * Describe. */ @@ -91,6 +96,14 @@ export class VpcPolicy extends pulumi.CustomResource { * Uuid used internally, this field is generally not used. */ public /*out*/ readonly internalUuid!: pulumi.Output; + /** + * Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + */ + public /*out*/ readonly paramTemplateId!: pulumi.Output; + /** + * Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. + */ + public /*out*/ readonly paramTemplateName!: pulumi.Output; /** * The port for the access control policy. Value: -1/-1: All ports; 80: port 80. */ @@ -129,6 +142,7 @@ export class VpcPolicy extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as VpcPolicyState | undefined; + resourceInputs["betaLists"] = state ? state.betaLists : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["destContent"] = state ? state.destContent : undefined; resourceInputs["destType"] = state ? state.destType : undefined; @@ -136,6 +150,8 @@ export class VpcPolicy extends pulumi.CustomResource { resourceInputs["fwGroupId"] = state ? state.fwGroupId : undefined; resourceInputs["fwGroupName"] = state ? state.fwGroupName : undefined; resourceInputs["internalUuid"] = state ? state.internalUuid : undefined; + resourceInputs["paramTemplateId"] = state ? state.paramTemplateId : undefined; + resourceInputs["paramTemplateName"] = state ? state.paramTemplateName : undefined; resourceInputs["port"] = state ? state.port : undefined; resourceInputs["protocol"] = state ? state.protocol : undefined; resourceInputs["ruleAction"] = state ? state.ruleAction : undefined; @@ -178,8 +194,11 @@ export class VpcPolicy extends pulumi.CustomResource { resourceInputs["ruleAction"] = args ? args.ruleAction : undefined; resourceInputs["sourceContent"] = args ? args.sourceContent : undefined; resourceInputs["sourceType"] = args ? args.sourceType : undefined; + resourceInputs["betaLists"] = undefined /*out*/; resourceInputs["fwGroupName"] = undefined /*out*/; resourceInputs["internalUuid"] = undefined /*out*/; + resourceInputs["paramTemplateId"] = undefined /*out*/; + resourceInputs["paramTemplateName"] = undefined /*out*/; resourceInputs["uuid"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -191,6 +210,10 @@ export class VpcPolicy extends pulumi.CustomResource { * Input properties used for looking up and filtering VpcPolicy resources. */ export interface VpcPolicyState { + /** + * Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. + */ + betaLists?: pulumi.Input[]>; /** * Describe. */ @@ -219,6 +242,14 @@ export interface VpcPolicyState { * Uuid used internally, this field is generally not used. */ internalUuid?: pulumi.Input; + /** + * Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + */ + paramTemplateId?: pulumi.Input; + /** + * Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. + */ + paramTemplateName?: pulumi.Input; /** * The port for the access control policy. Value: -1/-1: All ports; 80: port 80. */ diff --git a/sdk/nodejs/clb/instance.ts b/sdk/nodejs/clb/instance.ts index 737447354..4689fa942 100644 --- a/sdk/nodejs/clb/instance.ts +++ b/sdk/nodejs/clb/instance.ts @@ -115,6 +115,27 @@ import * as utilities from "../utilities"; * }); * export const domain = clbOpen.domain; * ``` + * ### Specified Vip Instance + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as pulumi from "@tencentcloud_iac/pulumi"; + * + * const fooGroup = new tencentcloud.security.Group("fooGroup", {}); + * const fooInstance = new tencentcloud.vpc.Instance("fooInstance", {cidrBlock: "10.0.0.0/16"}); + * const clbOpen = new tencentcloud.clb.Instance("clbOpen", { + * networkType: "OPEN", + * clbName: "clb-instance-open", + * projectId: 0, + * vpcId: fooInstance.id, + * securityGroups: [fooGroup.id], + * vip: "111.230.4.204", + * tags: { + * test: "tf", + * }, + * }); + * export const domain = tencentcloud_clb_instance.vip; + * ``` * ### Default enable * * ```typescript @@ -335,6 +356,10 @@ export class Instance extends pulumi.CustomResource { * Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. */ public readonly targetRegionInfoVpcId!: pulumi.Output; + /** + * Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + */ + public readonly vip!: pulumi.Output; /** * Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). */ @@ -385,6 +410,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["targetRegionInfoRegion"] = state ? state.targetRegionInfoRegion : undefined; resourceInputs["targetRegionInfoVpcId"] = state ? state.targetRegionInfoVpcId : undefined; + resourceInputs["vip"] = state ? state.vip : undefined; resourceInputs["vipIsp"] = state ? state.vipIsp : undefined; resourceInputs["vpcId"] = state ? state.vpcId : undefined; resourceInputs["zoneId"] = state ? state.zoneId : undefined; @@ -418,6 +444,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["targetRegionInfoRegion"] = args ? args.targetRegionInfoRegion : undefined; resourceInputs["targetRegionInfoVpcId"] = args ? args.targetRegionInfoVpcId : undefined; + resourceInputs["vip"] = args ? args.vip : undefined; resourceInputs["vipIsp"] = args ? args.vipIsp : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; resourceInputs["zoneId"] = args ? args.zoneId : undefined; @@ -529,6 +556,10 @@ export interface InstanceState { * Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. */ targetRegionInfoVpcId?: pulumi.Input; + /** + * Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + */ + vip?: pulumi.Input; /** * Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). */ @@ -635,6 +666,10 @@ export interface InstanceArgs { * Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. */ targetRegionInfoVpcId?: pulumi.Input; + /** + * Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + */ + vip?: pulumi.Input; /** * Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). */ diff --git a/sdk/nodejs/clb/listener.ts b/sdk/nodejs/clb/listener.ts index 7c1b879b0..eba81ab17 100644 --- a/sdk/nodejs/clb/listener.ts +++ b/sdk/nodejs/clb/listener.ts @@ -240,7 +240,7 @@ export class Listener extends pulumi.CustomResource { /** * Health check protocol. When the value of `healthCheckType` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. */ - public readonly healthCheckContextType!: pulumi.Output; + public readonly healthCheckContextType!: pulumi.Output; /** * Health threshold of health check, and the default is `3`. If a success result is returned for the health check for 3 consecutive times, the backend CVM is identified as healthy. The value range is 2-10. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in tencentcloud_clb_listener_rule. */ @@ -290,7 +290,7 @@ export class Listener extends pulumi.CustomResource { */ public readonly healthCheckTimeOut!: pulumi.Output; /** - * Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + * Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. */ public readonly healthCheckType!: pulumi.Output; /** @@ -511,7 +511,7 @@ export interface ListenerState { */ healthCheckTimeOut?: pulumi.Input; /** - * Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + * Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. */ healthCheckType?: pulumi.Input; /** @@ -641,7 +641,7 @@ export interface ListenerArgs { */ healthCheckTimeOut?: pulumi.Input; /** - * Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + * Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. */ healthCheckType?: pulumi.Input; /** diff --git a/sdk/nodejs/clickhouse/getInstanceNodes.ts b/sdk/nodejs/clickhouse/getInstanceNodes.ts new file mode 100644 index 000000000..ce9e3ab7e --- /dev/null +++ b/sdk/nodejs/clickhouse/getInstanceNodes.ts @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import { input as inputs, output as outputs } from "../types"; +import * as utilities from "../utilities"; + +/** + * Use this data source to query detailed information of clickhouse instanceNodes + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const instanceNodes = pulumi.output(tencentcloud.Clickhouse.getInstanceNodes({ + * displayPolicy: "all", + * forceAll: true, + * instanceId: "cdwch-mvfjh373", + * nodeRole: "data", + * })); + * ``` + */ +export function getInstanceNodes(args: GetInstanceNodesArgs, opts?: pulumi.InvokeOptions): Promise { + if (!opts) { + opts = {} + } + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + return pulumi.runtime.invoke("tencentcloud:Clickhouse/getInstanceNodes:getInstanceNodes", { + "displayPolicy": args.displayPolicy, + "forceAll": args.forceAll, + "instanceId": args.instanceId, + "nodeRole": args.nodeRole, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getInstanceNodes. + */ +export interface GetInstanceNodesArgs { + /** + * Display strategy, display all when All. + */ + displayPolicy?: string; + /** + * When true, returns all nodes, that is, the Limit is infinitely large. + */ + forceAll?: boolean; + /** + * InstanceId. + */ + instanceId: string; + /** + * Cluster role type, default is `data` data node. + */ + nodeRole?: string; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getInstanceNodes. + */ +export interface GetInstanceNodesResult { + readonly displayPolicy?: string; + readonly forceAll?: boolean; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly instanceId: string; + /** + * Total number of instance nodes. + */ + readonly instanceNodesLists: outputs.Clickhouse.GetInstanceNodesInstanceNodesList[]; + readonly nodeRole?: string; + readonly resultOutputFile?: string; +} + +export function getInstanceNodesOutput(args: GetInstanceNodesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply(a => getInstanceNodes(a, opts)) +} + +/** + * A collection of arguments for invoking getInstanceNodes. + */ +export interface GetInstanceNodesOutputArgs { + /** + * Display strategy, display all when All. + */ + displayPolicy?: pulumi.Input; + /** + * When true, returns all nodes, that is, the Limit is infinitely large. + */ + forceAll?: pulumi.Input; + /** + * InstanceId. + */ + instanceId: pulumi.Input; + /** + * Cluster role type, default is `data` data node. + */ + nodeRole?: pulumi.Input; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/clickhouse/index.ts b/sdk/nodejs/clickhouse/index.ts index 9c05090e3..b7dbd533e 100644 --- a/sdk/nodejs/clickhouse/index.ts +++ b/sdk/nodejs/clickhouse/index.ts @@ -13,6 +13,7 @@ export * from "./deleteBackupData"; export * from "./getBackupJobDetail"; export * from "./getBackupJobs"; export * from "./getBackupTables"; +export * from "./getInstanceNodes"; export * from "./getInstanceShards"; export * from "./getSpec"; export * from "./instance"; diff --git a/sdk/nodejs/monitor/grafanaInstance.ts b/sdk/nodejs/monitor/grafanaInstance.ts index 29353f3f2..fd61c5a32 100644 --- a/sdk/nodejs/monitor/grafanaInstance.ts +++ b/sdk/nodejs/monitor/grafanaInstance.ts @@ -70,6 +70,10 @@ export class GrafanaInstance extends pulumi.CustomResource { return obj['__pulumiType'] === GrafanaInstance.__pulumiType; } + /** + * Whether to automatically use vouchers. + */ + public readonly autoVoucher!: pulumi.Output; /** * Control whether grafana could be accessed by internet. */ @@ -138,6 +142,7 @@ export class GrafanaInstance extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as GrafanaInstanceState | undefined; + resourceInputs["autoVoucher"] = state ? state.autoVoucher : undefined; resourceInputs["enableInternet"] = state ? state.enableInternet : undefined; resourceInputs["grafanaInitPassword"] = state ? state.grafanaInitPassword : undefined; resourceInputs["instanceId"] = state ? state.instanceId : undefined; @@ -156,6 +161,7 @@ export class GrafanaInstance extends pulumi.CustomResource { if ((!args || args.instanceName === undefined) && !opts.urn) { throw new Error("Missing required property 'instanceName'"); } + resourceInputs["autoVoucher"] = args ? args.autoVoucher : undefined; resourceInputs["enableInternet"] = args ? args.enableInternet : undefined; resourceInputs["grafanaInitPassword"] = args ? args.grafanaInitPassword : undefined; resourceInputs["instanceName"] = args ? args.instanceName : undefined; @@ -179,6 +185,10 @@ export class GrafanaInstance extends pulumi.CustomResource { * Input properties used for looking up and filtering GrafanaInstance resources. */ export interface GrafanaInstanceState { + /** + * Whether to automatically use vouchers. + */ + autoVoucher?: pulumi.Input; /** * Control whether grafana could be accessed by internet. */ @@ -239,6 +249,10 @@ export interface GrafanaInstanceState { * The set of arguments for constructing a GrafanaInstance resource. */ export interface GrafanaInstanceArgs { + /** + * Whether to automatically use vouchers. + */ + autoVoucher?: pulumi.Input; /** * Control whether grafana could be accessed by internet. */ diff --git a/sdk/nodejs/monitor/index.ts b/sdk/nodejs/monitor/index.ts index 9f94ce8c0..5ffab2871 100644 --- a/sdk/nodejs/monitor/index.ts +++ b/sdk/nodejs/monitor/index.ts @@ -40,6 +40,7 @@ export * from "./grafanaSsoConfig"; export * from "./grafanaVersionUpgrade"; export * from "./grafanaWhitelistConfig"; export * from "./policyBindingObject"; +export * from "./tmpAlertGroup"; export * from "./tmpAlertRule"; export * from "./tmpCvmAgent"; export * from "./tmpExporterIntegration"; @@ -74,6 +75,7 @@ import { GrafanaSsoConfig } from "./grafanaSsoConfig"; import { GrafanaVersionUpgrade } from "./grafanaVersionUpgrade"; import { GrafanaWhitelistConfig } from "./grafanaWhitelistConfig"; import { PolicyBindingObject } from "./policyBindingObject"; +import { TmpAlertGroup } from "./tmpAlertGroup"; import { TmpAlertRule } from "./tmpAlertRule"; import { TmpCvmAgent } from "./tmpCvmAgent"; import { TmpExporterIntegration } from "./tmpExporterIntegration"; @@ -127,6 +129,8 @@ const _module = { return new GrafanaWhitelistConfig(name, undefined, { urn }) case "tencentcloud:Monitor/policyBindingObject:PolicyBindingObject": return new PolicyBindingObject(name, undefined, { urn }) + case "tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup": + return new TmpAlertGroup(name, undefined, { urn }) case "tencentcloud:Monitor/tmpAlertRule:TmpAlertRule": return new TmpAlertRule(name, undefined, { urn }) case "tencentcloud:Monitor/tmpCvmAgent:TmpCvmAgent": @@ -180,6 +184,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Monitor/grafanaSsoConfig" pulumi.runtime.registerResourceModule("tencentcloud", "Monitor/grafanaVersionUpgrade", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Monitor/grafanaWhitelistConfig", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Monitor/policyBindingObject", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Monitor/tmpAlertGroup", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Monitor/tmpAlertRule", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Monitor/tmpCvmAgent", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Monitor/tmpExporterIntegration", _module) diff --git a/sdk/nodejs/monitor/tmpAlertGroup.ts b/sdk/nodejs/monitor/tmpAlertGroup.ts new file mode 100644 index 000000000..2c185fc52 --- /dev/null +++ b/sdk/nodejs/monitor/tmpAlertGroup.ts @@ -0,0 +1,203 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import { input as inputs, output as outputs } from "../types"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create a monitor tmpAlertGroup + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const tmpAlertGroup = new tencentcloud.Monitor.TmpAlertGroup("tmp_alert_group", { + * ampReceivers: ["notice-om017kc2"], + * customReceiver: { + * type: "amp", + * }, + * groupName: "tf-test", + * instanceId: "prom-ip429jis", + * repeatInterval: "5m", + * rules: [{ + * annotations: { + * description: "Agent {{$labels.instance}} is deactivated, please pay attention!", + * summary: "Agent health check", + * }, + * duration: "1m", + * expr: "up{job=\"prometheus-agent\"} != 1", + * labels: { + * severity: "critical", + * }, + * ruleName: "Agent health check", + * state: 2, + * }], + * }); + * ``` + * + * ## Import + * + * monitor tmp_alert_group can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id + * ``` + */ +export class TmpAlertGroup extends pulumi.CustomResource { + /** + * Get an existing TmpAlertGroup 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. + */ + public static get(name: string, id: pulumi.Input, state?: TmpAlertGroupState, opts?: pulumi.CustomResourceOptions): TmpAlertGroup { + return new TmpAlertGroup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup'; + + /** + * Returns true if the given object is an instance of TmpAlertGroup. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is TmpAlertGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TmpAlertGroup.__pulumiType; + } + + /** + * Tencent cloud notification template id list. + */ + public readonly ampReceivers!: pulumi.Output; + /** + * User custom notification template, such as webhook, alertmanager. + */ + public readonly customReceiver!: pulumi.Output; + /** + * Alarm group id. + */ + public /*out*/ readonly groupId!: pulumi.Output; + /** + * Unique alert group name. + */ + public readonly groupName!: pulumi.Output; + /** + * Instance id. + */ + public readonly instanceId!: pulumi.Output; + /** + * Alert message send interval, default 1 hour. + */ + public readonly repeatInterval!: pulumi.Output; + /** + * A list of alert rules. + */ + public readonly rules!: pulumi.Output; + + /** + * Create a TmpAlertGroup 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. + */ + constructor(name: string, args?: TmpAlertGroupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TmpAlertGroupArgs | TmpAlertGroupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TmpAlertGroupState | undefined; + resourceInputs["ampReceivers"] = state ? state.ampReceivers : undefined; + resourceInputs["customReceiver"] = state ? state.customReceiver : undefined; + resourceInputs["groupId"] = state ? state.groupId : undefined; + resourceInputs["groupName"] = state ? state.groupName : undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + resourceInputs["repeatInterval"] = state ? state.repeatInterval : undefined; + resourceInputs["rules"] = state ? state.rules : undefined; + } else { + const args = argsOrState as TmpAlertGroupArgs | undefined; + resourceInputs["ampReceivers"] = args ? args.ampReceivers : undefined; + resourceInputs["customReceiver"] = args ? args.customReceiver : undefined; + resourceInputs["groupName"] = args ? args.groupName : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["repeatInterval"] = args ? args.repeatInterval : undefined; + resourceInputs["rules"] = args ? args.rules : undefined; + resourceInputs["groupId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(TmpAlertGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TmpAlertGroup resources. + */ +export interface TmpAlertGroupState { + /** + * Tencent cloud notification template id list. + */ + ampReceivers?: pulumi.Input[]>; + /** + * User custom notification template, such as webhook, alertmanager. + */ + customReceiver?: pulumi.Input; + /** + * Alarm group id. + */ + groupId?: pulumi.Input; + /** + * Unique alert group name. + */ + groupName?: pulumi.Input; + /** + * Instance id. + */ + instanceId?: pulumi.Input; + /** + * Alert message send interval, default 1 hour. + */ + repeatInterval?: pulumi.Input; + /** + * A list of alert rules. + */ + rules?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a TmpAlertGroup resource. + */ +export interface TmpAlertGroupArgs { + /** + * Tencent cloud notification template id list. + */ + ampReceivers?: pulumi.Input[]>; + /** + * User custom notification template, such as webhook, alertmanager. + */ + customReceiver?: pulumi.Input; + /** + * Unique alert group name. + */ + groupName?: pulumi.Input; + /** + * Instance id. + */ + instanceId?: pulumi.Input; + /** + * Alert message send interval, default 1 hour. + */ + repeatInterval?: pulumi.Input; + /** + * A list of alert rules. + */ + rules?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/monitor/tmpAlertRule.ts b/sdk/nodejs/monitor/tmpAlertRule.ts index 5820a1370..7c4ca6130 100644 --- a/sdk/nodejs/monitor/tmpAlertRule.ts +++ b/sdk/nodejs/monitor/tmpAlertRule.ts @@ -8,6 +8,8 @@ import * as utilities from "../utilities"; /** * Provides a resource to create a monitor tmpAlertRule * + * > **NOTE:** This resource will be deprecated in a future version, please use `tencentcloud.Monitor.TmpAlertGroup`. + * * ## Example Usage * * ```typescript diff --git a/sdk/nodejs/monitor/tmpTkeAlertPolicy.ts b/sdk/nodejs/monitor/tmpTkeAlertPolicy.ts index 2d759139a..243deaaab 100644 --- a/sdk/nodejs/monitor/tmpTkeAlertPolicy.ts +++ b/sdk/nodejs/monitor/tmpTkeAlertPolicy.ts @@ -8,6 +8,8 @@ import * as utilities from "../utilities"; /** * Provides a resource to create a tke tmpAlertPolicy * + * > **NOTE:** This resource will be deprecated in a future version, please use `tencentcloud.Monitor.TmpAlertGroup`. + * * ## Example Usage * * ```typescript diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 7ca72888c..e9deaaf6d 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -347,6 +347,7 @@ "clickhouse/getBackupJobDetail.ts", "clickhouse/getBackupJobs.ts", "clickhouse/getBackupTables.ts", + "clickhouse/getInstanceNodes.ts", "clickhouse/getInstanceShards.ts", "clickhouse/getSpec.ts", "clickhouse/index.ts", @@ -1001,6 +1002,7 @@ "monitor/grafanaWhitelistConfig.ts", "monitor/index.ts", "monitor/policyBindingObject.ts", + "monitor/tmpAlertGroup.ts", "monitor/tmpAlertRule.ts", "monitor/tmpCvmAgent.ts", "monitor/tmpExporterIntegration.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index f764683af..1206decce 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -2300,6 +2300,12 @@ export namespace Cfw { */ zoneSets: pulumi.Input[]>; } + + export interface VpcPolicyBetaList { + lastTime?: pulumi.Input; + taskId?: pulumi.Input; + taskName?: pulumi.Input; + } } export namespace Chdfs { @@ -7369,7 +7375,6 @@ export namespace Clickhouse { */ newConfValue: pulumi.Input; } - } export namespace Cls { @@ -15198,26 +15203,26 @@ export namespace Monitor { startTime?: pulumi.Input; } - export interface GetAlarmHistoryNamespace { + export interface GetAlarmHistoryNamespaceArgs { /** * Monitor type. */ - monitorType: string; + monitorType: pulumi.Input; /** * Policy type. */ - namespace: string; + namespace: pulumi.Input; } - export interface GetAlarmHistoryNamespaceArgs { + export interface GetAlarmHistoryNamespace { /** * Monitor type. */ - monitorType: pulumi.Input; + monitorType: string; /** * Policy type. */ - namespace: pulumi.Input; + namespace: string; } export interface GetAlarmPolicyTriggerTaskArgs { @@ -15286,18 +15291,18 @@ export namespace Monitor { value?: pulumi.Input; } - export interface GetStatisticDataCondition { - key: string; - operator: string; - values: string[]; - } - export interface GetStatisticDataConditionArgs { key: pulumi.Input; operator: pulumi.Input; values: pulumi.Input[]>; } + export interface GetStatisticDataCondition { + key: string; + operator: string; + values: string[]; + } + export interface GrafanaSsoAccountRole { /** * Grafana organization id string. @@ -15317,6 +15322,67 @@ export namespace Monitor { uniqueId?: pulumi.Input; } + export interface TmpAlertGroupCustomReceiver { + /** + * Time ranges which allow alert message send. + */ + allowedTimeRanges?: pulumi.Input[]>; + /** + * Only effect when alertmanager in user cluster, this cluster id. + */ + clusterId?: pulumi.Input; + /** + * Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + */ + clusterType?: pulumi.Input; + /** + * Custom receiver type, webhook|alertmanager. + */ + type?: pulumi.Input; + /** + * Custom receiver address, can be accessed by process in prometheus instance subnet. + */ + url?: pulumi.Input; + } + + export interface TmpAlertGroupCustomReceiverAllowedTimeRange { + /** + * Time range end, seconds since 0 o'clock. + */ + end?: pulumi.Input; + /** + * Time range start, seconds since 0 o'clock. + */ + start?: pulumi.Input; + } + + export interface TmpAlertGroupRule { + /** + * Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + */ + annotations?: pulumi.Input<{[key: string]: any}>; + /** + * Rule alarm duration. + */ + duration?: pulumi.Input; + /** + * Prometheus alert expression. + */ + expr?: pulumi.Input; + /** + * Labels of alert rule. + */ + labels?: pulumi.Input<{[key: string]: any}>; + /** + * Alert rule name. + */ + ruleName?: pulumi.Input; + /** + * Rule state. `2`-enable, `3`-disable, default `2`. + */ + state?: pulumi.Input; + } + export interface TmpAlertRuleAnnotation { /** * key. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 8c2d84342..f26dbc05d 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -6167,6 +6167,12 @@ export namespace Cfw { zoneSets: string[]; } + export interface VpcPolicyBetaList { + lastTime?: string; + taskId?: number; + taskName?: string; + } + } export namespace Chdfs { @@ -16505,6 +16511,64 @@ export namespace Clickhouse { zooPath: string; } + export interface GetInstanceNodesInstanceNodesList { + /** + * Name of the clickhouse cluster to which it belongs. + */ + cluster: string; + /** + * CPU cores. + */ + core: number; + /** + * Disk size. + */ + diskSize: number; + /** + * Disk type. + */ + diskType: string; + /** + * IP Address. + */ + ip: string; + /** + * When true, it indicates that the chproxy process has been deployed on the node. + */ + isChProxy: boolean; + /** + * Memory size. + */ + memory: number; + /** + * Group information to which the node belongs. + */ + nodeGroups: outputs.Clickhouse.GetInstanceNodesInstanceNodesListNodeGroup[]; + /** + * VPC IP. + */ + rip: string; + /** + * Model, such as S1. + */ + spec: string; + } + + export interface GetInstanceNodesInstanceNodesListNodeGroup { + /** + * Group Name. + */ + groupName: string; + /** + * Copy variable name. + */ + replicaName: string; + /** + * Fragmented variable name. + */ + shardName: string; + } + export interface GetSpecAttachCbsSpec { /** * Number of disks. @@ -41302,6 +41366,67 @@ export namespace Monitor { uniqueId: string; } + export interface TmpAlertGroupCustomReceiver { + /** + * Time ranges which allow alert message send. + */ + allowedTimeRanges?: outputs.Monitor.TmpAlertGroupCustomReceiverAllowedTimeRange[]; + /** + * Only effect when alertmanager in user cluster, this cluster id. + */ + clusterId?: string; + /** + * Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + */ + clusterType?: string; + /** + * Custom receiver type, webhook|alertmanager. + */ + type?: string; + /** + * Custom receiver address, can be accessed by process in prometheus instance subnet. + */ + url?: string; + } + + export interface TmpAlertGroupCustomReceiverAllowedTimeRange { + /** + * Time range end, seconds since 0 o'clock. + */ + end?: string; + /** + * Time range start, seconds since 0 o'clock. + */ + start?: string; + } + + export interface TmpAlertGroupRule { + /** + * Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + */ + annotations?: {[key: string]: any}; + /** + * Rule alarm duration. + */ + duration?: string; + /** + * Prometheus alert expression. + */ + expr?: string; + /** + * Labels of alert rule. + */ + labels?: {[key: string]: any}; + /** + * Alert rule name. + */ + ruleName?: string; + /** + * Rule state. `2`-enable, `3`-disable, default `2`. + */ + state?: number; + } + export interface TmpAlertRuleAnnotation { /** * key. @@ -41835,6 +41960,7 @@ export namespace Monitor { */ templateId?: string; } + } export namespace Mps { diff --git a/sdk/nodejs/vpc/acl.ts b/sdk/nodejs/vpc/acl.ts index e3e01da04..296f05f95 100644 --- a/sdk/nodejs/vpc/acl.ts +++ b/sdk/nodejs/vpc/acl.ts @@ -68,11 +68,11 @@ export class Acl extends pulumi.CustomResource { */ public /*out*/ readonly createTime!: pulumi.Output; /** - * Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + * Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. */ public readonly egresses!: pulumi.Output; /** - * Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + * Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. */ public readonly ingresses!: pulumi.Output; /** @@ -133,11 +133,11 @@ export interface AclState { */ createTime?: pulumi.Input; /** - * Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + * Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. */ egresses?: pulumi.Input[]>; /** - * Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + * Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. */ ingresses?: pulumi.Input[]>; /** @@ -159,11 +159,11 @@ export interface AclState { */ export interface AclArgs { /** - * Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + * Egress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. */ egresses?: pulumi.Input[]>; /** - * Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + * Ingress rules. A rule must match the following format: [action]#[cidrIp]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. */ ingresses?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/vpc/endPoint.ts b/sdk/nodejs/vpc/endPoint.ts index 18de30cfa..641d3d116 100644 --- a/sdk/nodejs/vpc/endPoint.ts +++ b/sdk/nodejs/vpc/endPoint.ts @@ -17,6 +17,11 @@ import * as utilities from "../utilities"; * endPointName: "terraform-test", * endPointServiceId: "vpcsvc-69y13tdb", * endPointVip: "10.0.2.1", + * securityGroupsIds: [ + * "sg-ghvp9djf", + * "sg-if748odn", + * "sg-3k7vtgf7", + * ], * subnetId: "subnet-ljyn7h30", * vpcId: "vpc-391sv4w3", * }); @@ -78,6 +83,10 @@ export class EndPoint extends pulumi.CustomResource { * VIP of endpoint ip. */ public readonly endPointVip!: pulumi.Output; + /** + * Ordered security groups associated with the endpoint. + */ + public readonly securityGroupsIds!: pulumi.Output; /** * state of end point. */ @@ -109,6 +118,7 @@ export class EndPoint extends pulumi.CustomResource { resourceInputs["endPointOwner"] = state ? state.endPointOwner : undefined; resourceInputs["endPointServiceId"] = state ? state.endPointServiceId : undefined; resourceInputs["endPointVip"] = state ? state.endPointVip : undefined; + resourceInputs["securityGroupsIds"] = state ? state.securityGroupsIds : undefined; resourceInputs["state"] = state ? state.state : undefined; resourceInputs["subnetId"] = state ? state.subnetId : undefined; resourceInputs["vpcId"] = state ? state.vpcId : undefined; @@ -129,6 +139,7 @@ export class EndPoint extends pulumi.CustomResource { resourceInputs["endPointName"] = args ? args.endPointName : undefined; resourceInputs["endPointServiceId"] = args ? args.endPointServiceId : undefined; resourceInputs["endPointVip"] = args ? args.endPointVip : undefined; + resourceInputs["securityGroupsIds"] = args ? args.securityGroupsIds : undefined; resourceInputs["subnetId"] = args ? args.subnetId : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; resourceInputs["createTime"] = undefined /*out*/; @@ -164,6 +175,10 @@ export interface EndPointState { * VIP of endpoint ip. */ endPointVip?: pulumi.Input; + /** + * Ordered security groups associated with the endpoint. + */ + securityGroupsIds?: pulumi.Input[]>; /** * state of end point. */ @@ -194,6 +209,10 @@ export interface EndPointArgs { * VIP of endpoint ip. */ endPointVip?: pulumi.Input; + /** + * Ordered security groups associated with the endpoint. + */ + securityGroupsIds?: pulumi.Input[]>; /** * ID of subnet instance. */ diff --git a/sdk/nodejs/vpn/connection.ts b/sdk/nodejs/vpn/connection.ts index 655cabdac..dc4a5f95a 100644 --- a/sdk/nodejs/vpn/connection.ts +++ b/sdk/nodejs/vpn/connection.ts @@ -172,7 +172,7 @@ export class Connection extends pulumi.CustomResource { */ public readonly ipsecIntegrityAlgorithm!: pulumi.Output; /** - * PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + * PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. */ public readonly ipsecPfsDhGroup!: pulumi.Output; /** @@ -429,7 +429,7 @@ export interface ConnectionState { */ ipsecIntegrityAlgorithm?: pulumi.Input; /** - * PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + * PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. */ ipsecPfsDhGroup?: pulumi.Input; /** @@ -575,7 +575,7 @@ export interface ConnectionArgs { */ ipsecIntegrityAlgorithm?: pulumi.Input; /** - * PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + * PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. */ ipsecPfsDhGroup?: pulumi.Input; /** diff --git a/sdk/python/tencentcloud_iac_pulumi/__init__.py b/sdk/python/tencentcloud_iac_pulumi/__init__.py index 2bec14eaa..9daf49e80 100644 --- a/sdk/python/tencentcloud_iac_pulumi/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/__init__.py @@ -4446,6 +4446,14 @@ "tencentcloud:Monitor/policyBindingObject:PolicyBindingObject": "PolicyBindingObject" } }, + { + "pkg": "tencentcloud", + "mod": "Monitor/tmpAlertGroup", + "fqn": "tencentcloud_iac_pulumi.monitor", + "classes": { + "tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup": "TmpAlertGroup" + } + }, { "pkg": "tencentcloud", "mod": "Monitor/tmpAlertRule", diff --git a/sdk/python/tencentcloud_iac_pulumi/cfw/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/cfw/_inputs.py index 3a59e8531..8530426aa 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cfw/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cfw/_inputs.py @@ -12,6 +12,7 @@ 'NatInstanceNewModeItemsArgs', 'VpcInstanceVpcFwInstanceArgs', 'VpcInstanceVpcFwInstanceFwDeployArgs', + 'VpcPolicyBetaListArgs', ] @pulumi.input_type @@ -184,3 +185,44 @@ def cross_a_zone(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "cross_a_zone", value) +@pulumi.input_type +class VpcPolicyBetaListArgs: + def __init__(__self__, *, + last_time: Optional[pulumi.Input[str]] = None, + task_id: Optional[pulumi.Input[int]] = None, + task_name: Optional[pulumi.Input[str]] = None): + if last_time is not None: + pulumi.set(__self__, "last_time", last_time) + if task_id is not None: + pulumi.set(__self__, "task_id", task_id) + if task_name is not None: + pulumi.set(__self__, "task_name", task_name) + + @property + @pulumi.getter(name="lastTime") + def last_time(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "last_time") + + @last_time.setter + def last_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_time", value) + + @property + @pulumi.getter(name="taskId") + def task_id(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "task_id") + + @task_id.setter + def task_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "task_id", value) + + @property + @pulumi.getter(name="taskName") + def task_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "task_name") + + @task_name.setter + def task_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "task_name", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/cfw/edge_policy.py b/sdk/python/tencentcloud_iac_pulumi/cfw/edge_policy.py index 16f5b0ce3..a9f770e23 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cfw/edge_policy.py +++ b/sdk/python/tencentcloud_iac_pulumi/cfw/edge_policy.py @@ -192,6 +192,7 @@ def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, direction: Optional[pulumi.Input[int]] = None, enable: Optional[pulumi.Input[str]] = None, + param_template_id: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[str]] = None, protocol: Optional[pulumi.Input[str]] = None, rule_action: Optional[pulumi.Input[str]] = None, @@ -206,6 +207,7 @@ def __init__(__self__, *, :param pulumi.Input[str] description: Description. :param pulumi.Input[int] direction: Rule direction: 1, inbound; 0, outbound. :param pulumi.Input[str] enable: Rule status, true means enabled, false means disabled. Default is true. + :param pulumi.Input[str] param_template_id: Parameter template id. :param pulumi.Input[str] port: The port for the access control policy. Value: -1/-1: All ports 80: Port 80. :param pulumi.Input[str] protocol: Protocol. If Direction=1 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=1 && Scope!=serial, optional values: TCP; If Direction=0 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=0 && Scope!=serial, optional values: TCP HTTP/HTTPS TLS/SSL. :param pulumi.Input[str] rule_action: How the traffic set in the access control policy passes through the cloud firewall. Values: accept: allow; drop: reject; log: observe. @@ -222,6 +224,8 @@ def __init__(__self__, *, pulumi.set(__self__, "direction", direction) if enable is not None: pulumi.set(__self__, "enable", enable) + if param_template_id is not None: + pulumi.set(__self__, "param_template_id", param_template_id) if port is not None: pulumi.set(__self__, "port", port) if protocol is not None: @@ -277,6 +281,18 @@ def enable(self) -> Optional[pulumi.Input[str]]: def enable(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "enable", value) + @property + @pulumi.getter(name="paramTemplateId") + def param_template_id(self) -> Optional[pulumi.Input[str]]: + """ + Parameter template id. + """ + return pulumi.get(self, "param_template_id") + + @param_template_id.setter + def param_template_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "param_template_id", value) + @property @pulumi.getter def port(self) -> Optional[pulumi.Input[str]]: @@ -598,6 +614,7 @@ def _internal_init(__self__, if target_type is None and not opts.urn: raise TypeError("Missing required property 'target_type'") __props__.__dict__["target_type"] = target_type + __props__.__dict__["param_template_id"] = None __props__.__dict__["uuid"] = None super(EdgePolicy, __self__).__init__( 'tencentcloud:Cfw/edgePolicy:EdgePolicy', @@ -612,6 +629,7 @@ def get(resource_name: str, description: Optional[pulumi.Input[str]] = None, direction: Optional[pulumi.Input[int]] = None, enable: Optional[pulumi.Input[str]] = None, + param_template_id: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[str]] = None, protocol: Optional[pulumi.Input[str]] = None, rule_action: Optional[pulumi.Input[str]] = None, @@ -631,6 +649,7 @@ def get(resource_name: str, :param pulumi.Input[str] description: Description. :param pulumi.Input[int] direction: Rule direction: 1, inbound; 0, outbound. :param pulumi.Input[str] enable: Rule status, true means enabled, false means disabled. Default is true. + :param pulumi.Input[str] param_template_id: Parameter template id. :param pulumi.Input[str] port: The port for the access control policy. Value: -1/-1: All ports 80: Port 80. :param pulumi.Input[str] protocol: Protocol. If Direction=1 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=1 && Scope!=serial, optional values: TCP; If Direction=0 && Scope=serial, optional values: TCP UDP ICMP ANY HTTP HTTPS HTTP/HTTPS SMTP SMTPS SMTP/SMTPS FTP DNS; If Direction=0 && Scope!=serial, optional values: TCP HTTP/HTTPS TLS/SSL. :param pulumi.Input[str] rule_action: How the traffic set in the access control policy passes through the cloud firewall. Values: accept: allow; drop: reject; log: observe. @@ -648,6 +667,7 @@ def get(resource_name: str, __props__.__dict__["description"] = description __props__.__dict__["direction"] = direction __props__.__dict__["enable"] = enable + __props__.__dict__["param_template_id"] = param_template_id __props__.__dict__["port"] = port __props__.__dict__["protocol"] = protocol __props__.__dict__["rule_action"] = rule_action @@ -683,6 +703,14 @@ def enable(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "enable") + @property + @pulumi.getter(name="paramTemplateId") + def param_template_id(self) -> pulumi.Output[str]: + """ + Parameter template id. + """ + return pulumi.get(self, "param_template_id") + @property @pulumi.getter def port(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/cfw/nat_policy.py b/sdk/python/tencentcloud_iac_pulumi/cfw/nat_policy.py index 819372621..6987b8410 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cfw/nat_policy.py +++ b/sdk/python/tencentcloud_iac_pulumi/cfw/nat_policy.py @@ -176,6 +176,7 @@ def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, direction: Optional[pulumi.Input[int]] = None, enable: Optional[pulumi.Input[str]] = None, + param_template_id: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[str]] = None, protocol: Optional[pulumi.Input[str]] = None, rule_action: Optional[pulumi.Input[str]] = None, @@ -189,6 +190,7 @@ def __init__(__self__, *, :param pulumi.Input[str] description: Description. :param pulumi.Input[int] direction: Rule direction: 1, inbound; 0, outbound. :param pulumi.Input[str] enable: Rule status, true means enabled, false means disabled. Default is true. + :param pulumi.Input[str] param_template_id: Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. :param pulumi.Input[str] port: The port for the access control policy. Value: -1/-1: All ports 80: Port 80. :param pulumi.Input[str] protocol: Protocol. If Direction=1, optional values: TCP, UDP, ANY; If Direction=0, optional values: TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, and DNS. :param pulumi.Input[str] rule_action: How the traffic set in the access control policy passes through the cloud firewall. Values: accept: allow; drop: reject; log: observe. @@ -204,6 +206,8 @@ def __init__(__self__, *, pulumi.set(__self__, "direction", direction) if enable is not None: pulumi.set(__self__, "enable", enable) + if param_template_id is not None: + pulumi.set(__self__, "param_template_id", param_template_id) if port is not None: pulumi.set(__self__, "port", port) if protocol is not None: @@ -257,6 +261,18 @@ def enable(self) -> Optional[pulumi.Input[str]]: def enable(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "enable", value) + @property + @pulumi.getter(name="paramTemplateId") + def param_template_id(self) -> Optional[pulumi.Input[str]]: + """ + Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "param_template_id") + + @param_template_id.setter + def param_template_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "param_template_id", value) + @property @pulumi.getter def port(self) -> Optional[pulumi.Input[str]]: @@ -514,6 +530,7 @@ def _internal_init(__self__, if target_type is None and not opts.urn: raise TypeError("Missing required property 'target_type'") __props__.__dict__["target_type"] = target_type + __props__.__dict__["param_template_id"] = None __props__.__dict__["uuid"] = None super(NatPolicy, __self__).__init__( 'tencentcloud:Cfw/natPolicy:NatPolicy', @@ -528,6 +545,7 @@ def get(resource_name: str, description: Optional[pulumi.Input[str]] = None, direction: Optional[pulumi.Input[int]] = None, enable: Optional[pulumi.Input[str]] = None, + param_template_id: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[str]] = None, protocol: Optional[pulumi.Input[str]] = None, rule_action: Optional[pulumi.Input[str]] = None, @@ -546,6 +564,7 @@ def get(resource_name: str, :param pulumi.Input[str] description: Description. :param pulumi.Input[int] direction: Rule direction: 1, inbound; 0, outbound. :param pulumi.Input[str] enable: Rule status, true means enabled, false means disabled. Default is true. + :param pulumi.Input[str] param_template_id: Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. :param pulumi.Input[str] port: The port for the access control policy. Value: -1/-1: All ports 80: Port 80. :param pulumi.Input[str] protocol: Protocol. If Direction=1, optional values: TCP, UDP, ANY; If Direction=0, optional values: TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, and DNS. :param pulumi.Input[str] rule_action: How the traffic set in the access control policy passes through the cloud firewall. Values: accept: allow; drop: reject; log: observe. @@ -562,6 +581,7 @@ def get(resource_name: str, __props__.__dict__["description"] = description __props__.__dict__["direction"] = direction __props__.__dict__["enable"] = enable + __props__.__dict__["param_template_id"] = param_template_id __props__.__dict__["port"] = port __props__.__dict__["protocol"] = protocol __props__.__dict__["rule_action"] = rule_action @@ -596,6 +616,14 @@ def enable(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "enable") + @property + @pulumi.getter(name="paramTemplateId") + def param_template_id(self) -> pulumi.Output[str]: + """ + Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "param_template_id") + @property @pulumi.getter def port(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/cfw/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cfw/outputs.py index 214f0499c..6da411957 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cfw/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cfw/outputs.py @@ -13,6 +13,7 @@ 'NatInstanceNewModeItems', 'VpcInstanceVpcFwInstance', 'VpcInstanceVpcFwInstanceFwDeploy', + 'VpcPolicyBetaList', 'GetEdgeFwSwitchesDataResult', 'GetNatFwSwitchesDataResult', 'GetVpcFwSwitchesSwitchListResult', @@ -207,6 +208,56 @@ def cross_a_zone(self) -> Optional[int]: return pulumi.get(self, "cross_a_zone") +@pulumi.output_type +class VpcPolicyBetaList(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lastTime": + suggest = "last_time" + elif key == "taskId": + suggest = "task_id" + elif key == "taskName": + suggest = "task_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpcPolicyBetaList. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpcPolicyBetaList.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpcPolicyBetaList.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + last_time: Optional[str] = None, + task_id: Optional[int] = None, + task_name: Optional[str] = None): + if last_time is not None: + pulumi.set(__self__, "last_time", last_time) + if task_id is not None: + pulumi.set(__self__, "task_id", task_id) + if task_name is not None: + pulumi.set(__self__, "task_name", task_name) + + @property + @pulumi.getter(name="lastTime") + def last_time(self) -> Optional[str]: + return pulumi.get(self, "last_time") + + @property + @pulumi.getter(name="taskId") + def task_id(self) -> Optional[int]: + return pulumi.get(self, "task_id") + + @property + @pulumi.getter(name="taskName") + def task_name(self) -> Optional[str]: + return pulumi.get(self, "task_name") + + @pulumi.output_type class GetEdgeFwSwitchesDataResult(dict): def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/cfw/vpc_policy.py b/sdk/python/tencentcloud_iac_pulumi/cfw/vpc_policy.py index 601fc051a..4298beab6 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cfw/vpc_policy.py +++ b/sdk/python/tencentcloud_iac_pulumi/cfw/vpc_policy.py @@ -7,6 +7,8 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs +from ._inputs import * __all__ = ['VpcPolicyArgs', 'VpcPolicy'] @@ -173,6 +175,7 @@ def fw_group_id(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class _VpcPolicyState: def __init__(__self__, *, + beta_lists: Optional[pulumi.Input[Sequence[pulumi.Input['VpcPolicyBetaListArgs']]]] = None, description: Optional[pulumi.Input[str]] = None, dest_content: Optional[pulumi.Input[str]] = None, dest_type: Optional[pulumi.Input[str]] = None, @@ -180,6 +183,8 @@ def __init__(__self__, *, fw_group_id: Optional[pulumi.Input[str]] = None, fw_group_name: Optional[pulumi.Input[str]] = None, internal_uuid: Optional[pulumi.Input[int]] = None, + param_template_id: Optional[pulumi.Input[str]] = None, + param_template_name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[str]] = None, protocol: Optional[pulumi.Input[str]] = None, rule_action: Optional[pulumi.Input[str]] = None, @@ -188,6 +193,7 @@ def __init__(__self__, *, uuid: Optional[pulumi.Input[int]] = None): """ Input properties used for looking up and filtering VpcPolicy resources. + :param pulumi.Input[Sequence[pulumi.Input['VpcPolicyBetaListArgs']]] beta_lists: Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. :param pulumi.Input[str] description: Describe. :param pulumi.Input[str] dest_content: Access purpose example: net:IP/CIDR(192.168.0.2) domain:domain rule, for example*.qq.com. :param pulumi.Input[str] dest_type: Access purpose type, the type can be: net, template. @@ -195,6 +201,8 @@ def __init__(__self__, *, :param pulumi.Input[str] fw_group_id: Firewall instance ID where the rule takes effect. Default is ALL. :param pulumi.Input[str] fw_group_name: Firewall name. :param pulumi.Input[int] internal_uuid: Uuid used internally, this field is generally not used. + :param pulumi.Input[str] param_template_id: Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[str] param_template_name: Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. :param pulumi.Input[str] port: The port for the access control policy. Value: -1/-1: All ports; 80: port 80. :param pulumi.Input[str] protocol: Protocol, optional value:TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, DNS, TLS/SSL. :param pulumi.Input[str] rule_action: How traffic set in the access control policy passes through the cloud firewall. Value: accept:accept, drop:drop, log:log. @@ -202,6 +210,8 @@ def __init__(__self__, *, :param pulumi.Input[str] source_type: Access source type, the type can be: net, template. :param pulumi.Input[int] uuid: The unique id corresponding to the rule. """ + if beta_lists is not None: + pulumi.set(__self__, "beta_lists", beta_lists) if description is not None: pulumi.set(__self__, "description", description) if dest_content is not None: @@ -216,6 +226,10 @@ def __init__(__self__, *, pulumi.set(__self__, "fw_group_name", fw_group_name) if internal_uuid is not None: pulumi.set(__self__, "internal_uuid", internal_uuid) + if param_template_id is not None: + pulumi.set(__self__, "param_template_id", param_template_id) + if param_template_name is not None: + pulumi.set(__self__, "param_template_name", param_template_name) if port is not None: pulumi.set(__self__, "port", port) if protocol is not None: @@ -229,6 +243,18 @@ def __init__(__self__, *, if uuid is not None: pulumi.set(__self__, "uuid", uuid) + @property + @pulumi.getter(name="betaLists") + def beta_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpcPolicyBetaListArgs']]]]: + """ + Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "beta_lists") + + @beta_lists.setter + def beta_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpcPolicyBetaListArgs']]]]): + pulumi.set(self, "beta_lists", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -313,6 +339,30 @@ def internal_uuid(self) -> Optional[pulumi.Input[int]]: def internal_uuid(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "internal_uuid", value) + @property + @pulumi.getter(name="paramTemplateId") + def param_template_id(self) -> Optional[pulumi.Input[str]]: + """ + Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "param_template_id") + + @param_template_id.setter + def param_template_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "param_template_id", value) + + @property + @pulumi.getter(name="paramTemplateName") + def param_template_name(self) -> Optional[pulumi.Input[str]]: + """ + Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "param_template_name") + + @param_template_name.setter + def param_template_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "param_template_name", value) + @property @pulumi.getter def port(self) -> Optional[pulumi.Input[str]]: @@ -546,8 +596,11 @@ def _internal_init(__self__, if source_type is None and not opts.urn: raise TypeError("Missing required property 'source_type'") __props__.__dict__["source_type"] = source_type + __props__.__dict__["beta_lists"] = None __props__.__dict__["fw_group_name"] = None __props__.__dict__["internal_uuid"] = None + __props__.__dict__["param_template_id"] = None + __props__.__dict__["param_template_name"] = None __props__.__dict__["uuid"] = None super(VpcPolicy, __self__).__init__( 'tencentcloud:Cfw/vpcPolicy:VpcPolicy', @@ -559,6 +612,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + beta_lists: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpcPolicyBetaListArgs']]]]] = None, description: Optional[pulumi.Input[str]] = None, dest_content: Optional[pulumi.Input[str]] = None, dest_type: Optional[pulumi.Input[str]] = None, @@ -566,6 +620,8 @@ def get(resource_name: str, fw_group_id: Optional[pulumi.Input[str]] = None, fw_group_name: Optional[pulumi.Input[str]] = None, internal_uuid: Optional[pulumi.Input[int]] = None, + param_template_id: Optional[pulumi.Input[str]] = None, + param_template_name: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[str]] = None, protocol: Optional[pulumi.Input[str]] = None, rule_action: Optional[pulumi.Input[str]] = None, @@ -579,6 +635,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpcPolicyBetaListArgs']]]] beta_lists: Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. :param pulumi.Input[str] description: Describe. :param pulumi.Input[str] dest_content: Access purpose example: net:IP/CIDR(192.168.0.2) domain:domain rule, for example*.qq.com. :param pulumi.Input[str] dest_type: Access purpose type, the type can be: net, template. @@ -586,6 +643,8 @@ def get(resource_name: str, :param pulumi.Input[str] fw_group_id: Firewall instance ID where the rule takes effect. Default is ALL. :param pulumi.Input[str] fw_group_name: Firewall name. :param pulumi.Input[int] internal_uuid: Uuid used internally, this field is generally not used. + :param pulumi.Input[str] param_template_id: Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + :param pulumi.Input[str] param_template_name: Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. :param pulumi.Input[str] port: The port for the access control policy. Value: -1/-1: All ports; 80: port 80. :param pulumi.Input[str] protocol: Protocol, optional value:TCP, UDP, ICMP, ANY, HTTP, HTTPS, HTTP/HTTPS, SMTP, SMTPS, SMTP/SMTPS, FTP, DNS, TLS/SSL. :param pulumi.Input[str] rule_action: How traffic set in the access control policy passes through the cloud firewall. Value: accept:accept, drop:drop, log:log. @@ -597,6 +656,7 @@ def get(resource_name: str, __props__ = _VpcPolicyState.__new__(_VpcPolicyState) + __props__.__dict__["beta_lists"] = beta_lists __props__.__dict__["description"] = description __props__.__dict__["dest_content"] = dest_content __props__.__dict__["dest_type"] = dest_type @@ -604,6 +664,8 @@ def get(resource_name: str, __props__.__dict__["fw_group_id"] = fw_group_id __props__.__dict__["fw_group_name"] = fw_group_name __props__.__dict__["internal_uuid"] = internal_uuid + __props__.__dict__["param_template_id"] = param_template_id + __props__.__dict__["param_template_name"] = param_template_name __props__.__dict__["port"] = port __props__.__dict__["protocol"] = protocol __props__.__dict__["rule_action"] = rule_action @@ -612,6 +674,14 @@ def get(resource_name: str, __props__.__dict__["uuid"] = uuid return VpcPolicy(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="betaLists") + def beta_lists(self) -> pulumi.Output[Sequence['outputs.VpcPolicyBetaList']]: + """ + Beta mission details. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "beta_lists") + @property @pulumi.getter def description(self) -> pulumi.Output[str]: @@ -668,6 +738,22 @@ def internal_uuid(self) -> pulumi.Output[int]: """ return pulumi.get(self, "internal_uuid") + @property + @pulumi.getter(name="paramTemplateId") + def param_template_id(self) -> pulumi.Output[str]: + """ + Parameter template id. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "param_template_id") + + @property + @pulumi.getter(name="paramTemplateName") + def param_template_name(self) -> pulumi.Output[str]: + """ + Parameter template Name. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "param_template_name") + @property @pulumi.getter def port(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/clb/instance.py b/sdk/python/tencentcloud_iac_pulumi/clb/instance.py index 60fdd7436..7006b203f 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clb/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/clb/instance.py @@ -37,6 +37,7 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, target_region_info_region: Optional[pulumi.Input[str]] = None, target_region_info_vpc_id: Optional[pulumi.Input[str]] = None, + vip: Optional[pulumi.Input[str]] = None, vip_isp: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, zone_id: Optional[pulumi.Input[str]] = None): @@ -64,6 +65,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, Any]] tags: The available tags within this CLB. :param pulumi.Input[str] target_region_info_region: Region information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. :param pulumi.Input[str] target_region_info_vpc_id: Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. + :param pulumi.Input[str] vip: Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. :param pulumi.Input[str] vip_isp: Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). :param pulumi.Input[str] vpc_id: VPC ID of the CLB. :param pulumi.Input[str] zone_id: Available zone id, only applicable to open CLB. @@ -110,6 +112,8 @@ def __init__(__self__, *, pulumi.set(__self__, "target_region_info_region", target_region_info_region) if target_region_info_vpc_id is not None: pulumi.set(__self__, "target_region_info_vpc_id", target_region_info_vpc_id) + if vip is not None: + pulumi.set(__self__, "vip", vip) if vip_isp is not None: pulumi.set(__self__, "vip_isp", vip_isp) if vpc_id is not None: @@ -381,6 +385,18 @@ def target_region_info_vpc_id(self) -> Optional[pulumi.Input[str]]: def target_region_info_vpc_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "target_region_info_vpc_id", value) + @property + @pulumi.getter + def vip(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + """ + return pulumi.get(self, "vip") + + @vip.setter + def vip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vip", value) + @property @pulumi.getter(name="vipIsp") def vip_isp(self) -> Optional[pulumi.Input[str]]: @@ -445,6 +461,7 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, target_region_info_region: Optional[pulumi.Input[str]] = None, target_region_info_vpc_id: Optional[pulumi.Input[str]] = None, + vip: Optional[pulumi.Input[str]] = None, vip_isp: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, zone_id: Optional[pulumi.Input[str]] = None): @@ -474,6 +491,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, Any]] tags: The available tags within this CLB. :param pulumi.Input[str] target_region_info_region: Region information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. :param pulumi.Input[str] target_region_info_vpc_id: Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. + :param pulumi.Input[str] vip: Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. :param pulumi.Input[str] vip_isp: Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). :param pulumi.Input[str] vpc_id: VPC ID of the CLB. :param pulumi.Input[str] zone_id: Available zone id, only applicable to open CLB. @@ -526,6 +544,8 @@ def __init__(__self__, *, pulumi.set(__self__, "target_region_info_region", target_region_info_region) if target_region_info_vpc_id is not None: pulumi.set(__self__, "target_region_info_vpc_id", target_region_info_vpc_id) + if vip is not None: + pulumi.set(__self__, "vip", vip) if vip_isp is not None: pulumi.set(__self__, "vip_isp", vip_isp) if vpc_id is not None: @@ -821,6 +841,18 @@ def target_region_info_vpc_id(self) -> Optional[pulumi.Input[str]]: def target_region_info_vpc_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "target_region_info_vpc_id", value) + @property + @pulumi.getter + def vip(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + """ + return pulumi.get(self, "vip") + + @vip.setter + def vip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vip", value) + @property @pulumi.getter(name="vipIsp") def vip_isp(self) -> Optional[pulumi.Input[str]]: @@ -885,6 +917,7 @@ def __init__(__self__, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, target_region_info_region: Optional[pulumi.Input[str]] = None, target_region_info_vpc_id: Optional[pulumi.Input[str]] = None, + vip: Optional[pulumi.Input[str]] = None, vip_isp: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, zone_id: Optional[pulumi.Input[str]] = None, @@ -993,6 +1026,26 @@ def __init__(__self__, }) pulumi.export("domain", clb_open.domain) ``` + ### Specified Vip Instance + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + foo_group = tencentcloud.security.Group("fooGroup") + foo_instance = tencentcloud.vpc.Instance("fooInstance", cidr_block="10.0.0.0/16") + clb_open = tencentcloud.clb.Instance("clbOpen", + network_type="OPEN", + clb_name="clb-instance-open", + project_id=0, + vpc_id=foo_instance.id, + security_groups=[foo_group.id], + vip="111.230.4.204", + tags={ + "test": "tf", + }) + pulumi.export("domain", tencentcloud_clb_instance["vip"]) + ``` ### Default enable ```python @@ -1099,6 +1152,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, Any]] tags: The available tags within this CLB. :param pulumi.Input[str] target_region_info_region: Region information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. :param pulumi.Input[str] target_region_info_vpc_id: Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. + :param pulumi.Input[str] vip: Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. :param pulumi.Input[str] vip_isp: Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). :param pulumi.Input[str] vpc_id: VPC ID of the CLB. :param pulumi.Input[str] zone_id: Available zone id, only applicable to open CLB. @@ -1213,6 +1267,26 @@ def __init__(__self__, }) pulumi.export("domain", clb_open.domain) ``` + ### Specified Vip Instance + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + foo_group = tencentcloud.security.Group("fooGroup") + foo_instance = tencentcloud.vpc.Instance("fooInstance", cidr_block="10.0.0.0/16") + clb_open = tencentcloud.clb.Instance("clbOpen", + network_type="OPEN", + clb_name="clb-instance-open", + project_id=0, + vpc_id=foo_instance.id, + security_groups=[foo_group.id], + vip="111.230.4.204", + tags={ + "test": "tf", + }) + pulumi.export("domain", tencentcloud_clb_instance["vip"]) + ``` ### Default enable ```python @@ -1332,6 +1406,7 @@ def _internal_init(__self__, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, target_region_info_region: Optional[pulumi.Input[str]] = None, target_region_info_vpc_id: Optional[pulumi.Input[str]] = None, + vip: Optional[pulumi.Input[str]] = None, vip_isp: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, zone_id: Optional[pulumi.Input[str]] = None, @@ -1375,6 +1450,7 @@ def _internal_init(__self__, __props__.__dict__["tags"] = tags __props__.__dict__["target_region_info_region"] = target_region_info_region __props__.__dict__["target_region_info_vpc_id"] = target_region_info_vpc_id + __props__.__dict__["vip"] = vip __props__.__dict__["vip_isp"] = vip_isp __props__.__dict__["vpc_id"] = vpc_id __props__.__dict__["zone_id"] = zone_id @@ -1414,6 +1490,7 @@ def get(resource_name: str, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, target_region_info_region: Optional[pulumi.Input[str]] = None, target_region_info_vpc_id: Optional[pulumi.Input[str]] = None, + vip: Optional[pulumi.Input[str]] = None, vip_isp: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, zone_id: Optional[pulumi.Input[str]] = None) -> 'Instance': @@ -1448,6 +1525,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, Any]] tags: The available tags within this CLB. :param pulumi.Input[str] target_region_info_region: Region information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. :param pulumi.Input[str] target_region_info_vpc_id: Vpc information of backend services are attached the CLB instance. Only supports `OPEN` CLBs. + :param pulumi.Input[str] vip: Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. :param pulumi.Input[str] vip_isp: Network operator, only applicable to open CLB. Valid values are `CMCC`(China Mobile), `CTCC`(Telecom), `CUCC`(China Unicom) and `BGP`. If this ISP is specified, network billing method can only use the bandwidth package billing (BANDWIDTH_PACKAGE). :param pulumi.Input[str] vpc_id: VPC ID of the CLB. :param pulumi.Input[str] zone_id: Available zone id, only applicable to open CLB. @@ -1480,6 +1558,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["target_region_info_region"] = target_region_info_region __props__.__dict__["target_region_info_vpc_id"] = target_region_info_vpc_id + __props__.__dict__["vip"] = vip __props__.__dict__["vip_isp"] = vip_isp __props__.__dict__["vpc_id"] = vpc_id __props__.__dict__["zone_id"] = zone_id @@ -1677,6 +1756,14 @@ def target_region_info_vpc_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "target_region_info_vpc_id") + @property + @pulumi.getter + def vip(self) -> pulumi.Output[str]: + """ + Specifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not. + """ + return pulumi.get(self, "vip") + @property @pulumi.getter(name="vipIsp") def vip_isp(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/clb/listener.py b/sdk/python/tencentcloud_iac_pulumi/clb/listener.py index 3576436a6..505aed4d8 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clb/listener.py +++ b/sdk/python/tencentcloud_iac_pulumi/clb/listener.py @@ -65,7 +65,7 @@ def __init__(__self__, *, :param pulumi.Input[str] health_check_send_context: It represents the content of the request sent by the health check. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required. Only visible ASCII characters are allowed and the maximum length is 500. When `health_check_context_type` value is `HEX`, the characters of SendContext and RecvContext can only be selected in `0123456789ABCDEF` and the length must be even digits. :param pulumi.Input[bool] health_check_switch: Indicates whether health check is enabled. :param pulumi.Input[int] health_check_time_out: Response timeout of health check. Valid value ranges: [2~60] sec. Default is 2 sec. Response timeout needs to be less than check interval. NOTES: Only supports listeners of `TCP`,`UDP`,`TCP_SSL` protocol. - :param pulumi.Input[str] health_check_type: Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + :param pulumi.Input[str] health_check_type: Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. :param pulumi.Input[int] health_check_unhealth_num: Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, the CVM is identified as unhealthy. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[int] health_source_ip_type: Specifies the type of health check source IP. `0` (default): CLB VIP. `1`: 100.64 IP range. :param pulumi.Input[int] keepalive_enable: Whether to enable a persistent connection. This parameter is applicable only to HTTP and HTTPS listeners. Valid values: 0 (disable; default value) and 1 (enable). @@ -378,7 +378,7 @@ def health_check_time_out(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="healthCheckType") def health_check_type(self) -> Optional[pulumi.Input[str]]: """ - Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. """ return pulumi.get(self, "health_check_type") @@ -549,7 +549,7 @@ def __init__(__self__, *, :param pulumi.Input[str] health_check_send_context: It represents the content of the request sent by the health check. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required. Only visible ASCII characters are allowed and the maximum length is 500. When `health_check_context_type` value is `HEX`, the characters of SendContext and RecvContext can only be selected in `0123456789ABCDEF` and the length must be even digits. :param pulumi.Input[bool] health_check_switch: Indicates whether health check is enabled. :param pulumi.Input[int] health_check_time_out: Response timeout of health check. Valid value ranges: [2~60] sec. Default is 2 sec. Response timeout needs to be less than check interval. NOTES: Only supports listeners of `TCP`,`UDP`,`TCP_SSL` protocol. - :param pulumi.Input[str] health_check_type: Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + :param pulumi.Input[str] health_check_type: Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. :param pulumi.Input[int] health_check_unhealth_num: Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, the CVM is identified as unhealthy. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[int] health_source_ip_type: Specifies the type of health check source IP. `0` (default): CLB VIP. `1`: 100.64 IP range. :param pulumi.Input[int] keepalive_enable: Whether to enable a persistent connection. This parameter is applicable only to HTTP and HTTPS listeners. Valid values: 0 (disable; default value) and 1 (enable). @@ -846,7 +846,7 @@ def health_check_time_out(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="healthCheckType") def health_check_type(self) -> Optional[pulumi.Input[str]]: """ - Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. """ return pulumi.get(self, "health_check_type") @@ -1231,7 +1231,7 @@ def __init__(__self__, :param pulumi.Input[str] health_check_send_context: It represents the content of the request sent by the health check. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required. Only visible ASCII characters are allowed and the maximum length is 500. When `health_check_context_type` value is `HEX`, the characters of SendContext and RecvContext can only be selected in `0123456789ABCDEF` and the length must be even digits. :param pulumi.Input[bool] health_check_switch: Indicates whether health check is enabled. :param pulumi.Input[int] health_check_time_out: Response timeout of health check. Valid value ranges: [2~60] sec. Default is 2 sec. Response timeout needs to be less than check interval. NOTES: Only supports listeners of `TCP`,`UDP`,`TCP_SSL` protocol. - :param pulumi.Input[str] health_check_type: Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + :param pulumi.Input[str] health_check_type: Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. :param pulumi.Input[int] health_check_unhealth_num: Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, the CVM is identified as unhealthy. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[int] health_source_ip_type: Specifies the type of health check source IP. `0` (default): CLB VIP. `1`: 100.64 IP range. :param pulumi.Input[int] keepalive_enable: Whether to enable a persistent connection. This parameter is applicable only to HTTP and HTTPS listeners. Valid values: 0 (disable; default value) and 1 (enable). @@ -1588,7 +1588,7 @@ def get(resource_name: str, :param pulumi.Input[str] health_check_send_context: It represents the content of the request sent by the health check. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required. Only visible ASCII characters are allowed and the maximum length is 500. When `health_check_context_type` value is `HEX`, the characters of SendContext and RecvContext can only be selected in `0123456789ABCDEF` and the length must be even digits. :param pulumi.Input[bool] health_check_switch: Indicates whether health check is enabled. :param pulumi.Input[int] health_check_time_out: Response timeout of health check. Valid value ranges: [2~60] sec. Default is 2 sec. Response timeout needs to be less than check interval. NOTES: Only supports listeners of `TCP`,`UDP`,`TCP_SSL` protocol. - :param pulumi.Input[str] health_check_type: Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + :param pulumi.Input[str] health_check_type: Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. :param pulumi.Input[int] health_check_unhealth_num: Unhealthy threshold of health check, and the default is `3`. If a success result is returned for the health check 3 consecutive times, the CVM is identified as unhealthy. The value range is [2-10]. NOTES: TCP/UDP/TCP_SSL listener allows direct configuration, HTTP/HTTPS listener needs to be configured in `Clb.ListenerRule`. :param pulumi.Input[int] health_source_ip_type: Specifies the type of health check source IP. `0` (default): CLB VIP. `1`: 100.64 IP range. :param pulumi.Input[int] keepalive_enable: Whether to enable a persistent connection. This parameter is applicable only to HTTP and HTTPS listeners. Valid values: 0 (disable; default value) and 1 (enable). @@ -1681,7 +1681,7 @@ def end_port(self) -> pulumi.Output[int]: @property @pulumi.getter(name="healthCheckContextType") - def health_check_context_type(self) -> pulumi.Output[Optional[str]]: + def health_check_context_type(self) -> pulumi.Output[str]: """ Health check protocol. When the value of `health_check_type` of the health check protocol is `CUSTOM`, this field is required, which represents the input format of the health check. Valid values: `HEX`, `TEXT`. """ @@ -1787,7 +1787,7 @@ def health_check_time_out(self) -> pulumi.Output[int]: @pulumi.getter(name="healthCheckType") def health_check_type(self) -> pulumi.Output[str]: """ - Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`. + Protocol used for health check. Valid values: `CUSTOM`, `TCP`, `HTTP`,`HTTPS`, `PING`, `GRPC`. """ return pulumi.get(self, "health_check_type") diff --git a/sdk/python/tencentcloud_iac_pulumi/clickhouse/__init__.py b/sdk/python/tencentcloud_iac_pulumi/clickhouse/__init__.py index 1ca387704..6624bd292 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clickhouse/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/clickhouse/__init__.py @@ -13,6 +13,7 @@ from .get_backup_job_detail import * from .get_backup_jobs import * from .get_backup_tables import * +from .get_instance_nodes import * from .get_instance_shards import * from .get_spec import * from .instance import * diff --git a/sdk/python/tencentcloud_iac_pulumi/clickhouse/get_instance_nodes.py b/sdk/python/tencentcloud_iac_pulumi/clickhouse/get_instance_nodes.py new file mode 100644 index 000000000..db04a30f0 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/clickhouse/get_instance_nodes.py @@ -0,0 +1,185 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetInstanceNodesResult', + 'AwaitableGetInstanceNodesResult', + 'get_instance_nodes', + 'get_instance_nodes_output', +] + +@pulumi.output_type +class GetInstanceNodesResult: + """ + A collection of values returned by getInstanceNodes. + """ + def __init__(__self__, display_policy=None, force_all=None, id=None, instance_id=None, instance_nodes_lists=None, node_role=None, result_output_file=None): + if display_policy and not isinstance(display_policy, str): + raise TypeError("Expected argument 'display_policy' to be a str") + pulumi.set(__self__, "display_policy", display_policy) + if force_all and not isinstance(force_all, bool): + raise TypeError("Expected argument 'force_all' to be a bool") + pulumi.set(__self__, "force_all", force_all) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if instance_nodes_lists and not isinstance(instance_nodes_lists, list): + raise TypeError("Expected argument 'instance_nodes_lists' to be a list") + pulumi.set(__self__, "instance_nodes_lists", instance_nodes_lists) + if node_role and not isinstance(node_role, str): + raise TypeError("Expected argument 'node_role' to be a str") + pulumi.set(__self__, "node_role", node_role) + if result_output_file and not isinstance(result_output_file, str): + raise TypeError("Expected argument 'result_output_file' to be a str") + pulumi.set(__self__, "result_output_file", result_output_file) + + @property + @pulumi.getter(name="displayPolicy") + def display_policy(self) -> Optional[str]: + return pulumi.get(self, "display_policy") + + @property + @pulumi.getter(name="forceAll") + def force_all(self) -> Optional[bool]: + return pulumi.get(self, "force_all") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> str: + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceNodesLists") + def instance_nodes_lists(self) -> Sequence['outputs.GetInstanceNodesInstanceNodesListResult']: + """ + Total number of instance nodes. + """ + return pulumi.get(self, "instance_nodes_lists") + + @property + @pulumi.getter(name="nodeRole") + def node_role(self) -> Optional[str]: + return pulumi.get(self, "node_role") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + +class AwaitableGetInstanceNodesResult(GetInstanceNodesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetInstanceNodesResult( + display_policy=self.display_policy, + force_all=self.force_all, + id=self.id, + instance_id=self.instance_id, + instance_nodes_lists=self.instance_nodes_lists, + node_role=self.node_role, + result_output_file=self.result_output_file) + + +def get_instance_nodes(display_policy: Optional[str] = None, + force_all: Optional[bool] = None, + instance_id: Optional[str] = None, + node_role: Optional[str] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetInstanceNodesResult: + """ + Use this data source to query detailed information of clickhouse instance_nodes + + ## Example Usage + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + instance_nodes = tencentcloud.Clickhouse.get_instance_nodes(display_policy="all", + force_all=True, + instance_id="cdwch-mvfjh373", + node_role="data") + ``` + + + :param str display_policy: Display strategy, display all when All. + :param bool force_all: When true, returns all nodes, that is, the Limit is infinitely large. + :param str instance_id: InstanceId. + :param str node_role: Cluster role type, default is `data` data node. + :param str result_output_file: Used to save results. + """ + __args__ = dict() + __args__['displayPolicy'] = display_policy + __args__['forceAll'] = force_all + __args__['instanceId'] = instance_id + __args__['nodeRole'] = node_role + __args__['resultOutputFile'] = result_output_file + if opts is None: + opts = pulumi.InvokeOptions() + if opts.version is None: + opts.version = _utilities.get_version() + if opts.plugin_download_url is None: + opts.plugin_download_url = _utilities.get_plugin_download_url() + __ret__ = pulumi.runtime.invoke('tencentcloud:Clickhouse/getInstanceNodes:getInstanceNodes', __args__, opts=opts, typ=GetInstanceNodesResult).value + + return AwaitableGetInstanceNodesResult( + display_policy=__ret__.display_policy, + force_all=__ret__.force_all, + id=__ret__.id, + instance_id=__ret__.instance_id, + instance_nodes_lists=__ret__.instance_nodes_lists, + node_role=__ret__.node_role, + result_output_file=__ret__.result_output_file) + + +@_utilities.lift_output_func(get_instance_nodes) +def get_instance_nodes_output(display_policy: Optional[pulumi.Input[Optional[str]]] = None, + force_all: Optional[pulumi.Input[Optional[bool]]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + node_role: Optional[pulumi.Input[Optional[str]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceNodesResult]: + """ + Use this data source to query detailed information of clickhouse instance_nodes + + ## Example Usage + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + instance_nodes = tencentcloud.Clickhouse.get_instance_nodes(display_policy="all", + force_all=True, + instance_id="cdwch-mvfjh373", + node_role="data") + ``` + + + :param str display_policy: Display strategy, display all when All. + :param bool force_all: When true, returns all nodes, that is, the Limit is infinitely large. + :param str instance_id: InstanceId. + :param str node_role: Cluster role type, default is `data` data node. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/clickhouse/outputs.py b/sdk/python/tencentcloud_iac_pulumi/clickhouse/outputs.py index cda0db023..4292af7c3 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clickhouse/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/clickhouse/outputs.py @@ -22,6 +22,8 @@ 'GetBackupJobDetailTableContentResult', 'GetBackupJobsBackUpJobResult', 'GetBackupTablesAvailableTableResult', + 'GetInstanceNodesInstanceNodesListResult', + 'GetInstanceNodesInstanceNodesListNodeGroupResult', 'GetSpecAttachCbsSpecResult', 'GetSpecCommonSpecResult', 'GetSpecCommonSpecDataDiskResult', @@ -869,6 +871,163 @@ def zoo_path(self) -> str: return pulumi.get(self, "zoo_path") +@pulumi.output_type +class GetInstanceNodesInstanceNodesListResult(dict): + def __init__(__self__, *, + cluster: str, + core: int, + disk_size: int, + disk_type: str, + ip: str, + is_ch_proxy: bool, + memory: int, + node_groups: Sequence['outputs.GetInstanceNodesInstanceNodesListNodeGroupResult'], + rip: str, + spec: str): + """ + :param str cluster: Name of the clickhouse cluster to which it belongs. + :param int core: CPU cores. + :param int disk_size: Disk size. + :param str disk_type: Disk type. + :param str ip: IP Address. + :param bool is_ch_proxy: When true, it indicates that the chproxy process has been deployed on the node. + :param int memory: Memory size. + :param Sequence['GetInstanceNodesInstanceNodesListNodeGroupArgs'] node_groups: Group information to which the node belongs. + :param str rip: VPC IP. + :param str spec: Model, such as S1. + """ + pulumi.set(__self__, "cluster", cluster) + pulumi.set(__self__, "core", core) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "disk_type", disk_type) + pulumi.set(__self__, "ip", ip) + pulumi.set(__self__, "is_ch_proxy", is_ch_proxy) + pulumi.set(__self__, "memory", memory) + pulumi.set(__self__, "node_groups", node_groups) + pulumi.set(__self__, "rip", rip) + pulumi.set(__self__, "spec", spec) + + @property + @pulumi.getter + def cluster(self) -> str: + """ + Name of the clickhouse cluster to which it belongs. + """ + return pulumi.get(self, "cluster") + + @property + @pulumi.getter + def core(self) -> int: + """ + CPU cores. + """ + return pulumi.get(self, "core") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> int: + """ + Disk size. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> str: + """ + Disk type. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def ip(self) -> str: + """ + IP Address. + """ + return pulumi.get(self, "ip") + + @property + @pulumi.getter(name="isChProxy") + def is_ch_proxy(self) -> bool: + """ + When true, it indicates that the chproxy process has been deployed on the node. + """ + return pulumi.get(self, "is_ch_proxy") + + @property + @pulumi.getter + def memory(self) -> int: + """ + Memory size. + """ + return pulumi.get(self, "memory") + + @property + @pulumi.getter(name="nodeGroups") + def node_groups(self) -> Sequence['outputs.GetInstanceNodesInstanceNodesListNodeGroupResult']: + """ + Group information to which the node belongs. + """ + return pulumi.get(self, "node_groups") + + @property + @pulumi.getter + def rip(self) -> str: + """ + VPC IP. + """ + return pulumi.get(self, "rip") + + @property + @pulumi.getter + def spec(self) -> str: + """ + Model, such as S1. + """ + return pulumi.get(self, "spec") + + +@pulumi.output_type +class GetInstanceNodesInstanceNodesListNodeGroupResult(dict): + def __init__(__self__, *, + group_name: str, + replica_name: str, + shard_name: str): + """ + :param str group_name: Group Name. + :param str replica_name: Copy variable name. + :param str shard_name: Fragmented variable name. + """ + pulumi.set(__self__, "group_name", group_name) + pulumi.set(__self__, "replica_name", replica_name) + pulumi.set(__self__, "shard_name", shard_name) + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> str: + """ + Group Name. + """ + return pulumi.get(self, "group_name") + + @property + @pulumi.getter(name="replicaName") + def replica_name(self) -> str: + """ + Copy variable name. + """ + return pulumi.get(self, "replica_name") + + @property + @pulumi.getter(name="shardName") + def shard_name(self) -> str: + """ + Fragmented variable name. + """ + return pulumi.get(self, "shard_name") + + @pulumi.output_type class GetSpecAttachCbsSpecResult(dict): def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/__init__.py b/sdk/python/tencentcloud_iac_pulumi/monitor/__init__.py index 013b64c82..51726f972 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/__init__.py @@ -40,6 +40,7 @@ from .grafana_version_upgrade import * from .grafana_whitelist_config import * from .policy_binding_object import * +from .tmp_alert_group import * from .tmp_alert_rule import * from .tmp_cvm_agent import * from .tmp_exporter_integration import * diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/monitor/_inputs.py index 0b40e9d54..741d5d8ce 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/_inputs.py @@ -23,6 +23,9 @@ 'BindingReceiverReceiversArgs', 'GrafanaSsoAccountRoleArgs', 'PolicyBindingObjectDimensionArgs', + 'TmpAlertGroupCustomReceiverArgs', + 'TmpAlertGroupCustomReceiverAllowedTimeRangeArgs', + 'TmpAlertGroupRuleArgs', 'TmpAlertRuleAnnotationArgs', 'TmpAlertRuleLabelArgs', 'TmpTkeAlertPolicyAlertRuleArgs', @@ -1218,6 +1221,235 @@ def unique_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "unique_id", value) +@pulumi.input_type +class TmpAlertGroupCustomReceiverArgs: + def __init__(__self__, *, + allowed_time_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupCustomReceiverAllowedTimeRangeArgs']]]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + cluster_type: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[str]] = None, + url: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupCustomReceiverAllowedTimeRangeArgs']]] allowed_time_ranges: Time ranges which allow alert message send. + :param pulumi.Input[str] cluster_id: Only effect when alertmanager in user cluster, this cluster id. + :param pulumi.Input[str] cluster_type: Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + :param pulumi.Input[str] type: Custom receiver type, webhook|alertmanager. + :param pulumi.Input[str] url: Custom receiver address, can be accessed by process in prometheus instance subnet. + """ + if allowed_time_ranges is not None: + pulumi.set(__self__, "allowed_time_ranges", allowed_time_ranges) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if cluster_type is not None: + pulumi.set(__self__, "cluster_type", cluster_type) + if type is not None: + pulumi.set(__self__, "type", type) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="allowedTimeRanges") + def allowed_time_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupCustomReceiverAllowedTimeRangeArgs']]]]: + """ + Time ranges which allow alert message send. + """ + return pulumi.get(self, "allowed_time_ranges") + + @allowed_time_ranges.setter + def allowed_time_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupCustomReceiverAllowedTimeRangeArgs']]]]): + pulumi.set(self, "allowed_time_ranges", value) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + Only effect when alertmanager in user cluster, this cluster id. + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> Optional[pulumi.Input[str]]: + """ + Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + """ + return pulumi.get(self, "cluster_type") + + @cluster_type.setter + def cluster_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_type", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Custom receiver type, webhook|alertmanager. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def url(self) -> Optional[pulumi.Input[str]]: + """ + Custom receiver address, can be accessed by process in prometheus instance subnet. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "url", value) + + +@pulumi.input_type +class TmpAlertGroupCustomReceiverAllowedTimeRangeArgs: + def __init__(__self__, *, + end: Optional[pulumi.Input[str]] = None, + start: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] end: Time range end, seconds since 0 o'clock. + :param pulumi.Input[str] start: Time range start, seconds since 0 o'clock. + """ + if end is not None: + pulumi.set(__self__, "end", end) + if start is not None: + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> Optional[pulumi.Input[str]]: + """ + Time range end, seconds since 0 o'clock. + """ + return pulumi.get(self, "end") + + @end.setter + def end(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end", value) + + @property + @pulumi.getter + def start(self) -> Optional[pulumi.Input[str]]: + """ + Time range start, seconds since 0 o'clock. + """ + return pulumi.get(self, "start") + + @start.setter + def start(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start", value) + + +@pulumi.input_type +class TmpAlertGroupRuleArgs: + def __init__(__self__, *, + annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, + duration: Optional[pulumi.Input[str]] = None, + expr: Optional[pulumi.Input[str]] = None, + labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, + rule_name: Optional[pulumi.Input[str]] = None, + state: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[Mapping[str, Any]] annotations: Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + :param pulumi.Input[str] duration: Rule alarm duration. + :param pulumi.Input[str] expr: Prometheus alert expression. + :param pulumi.Input[Mapping[str, Any]] labels: Labels of alert rule. + :param pulumi.Input[str] rule_name: Alert rule name. + :param pulumi.Input[int] state: Rule state. `2`-enable, `3`-disable, default `2`. + """ + if annotations is not None: + pulumi.set(__self__, "annotations", annotations) + if duration is not None: + pulumi.set(__self__, "duration", duration) + if expr is not None: + pulumi.set(__self__, "expr", expr) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if rule_name is not None: + pulumi.set(__self__, "rule_name", rule_name) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def annotations(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + """ + return pulumi.get(self, "annotations") + + @annotations.setter + def annotations(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "annotations", value) + + @property + @pulumi.getter + def duration(self) -> Optional[pulumi.Input[str]]: + """ + Rule alarm duration. + """ + return pulumi.get(self, "duration") + + @duration.setter + def duration(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "duration", value) + + @property + @pulumi.getter + def expr(self) -> Optional[pulumi.Input[str]]: + """ + Prometheus alert expression. + """ + return pulumi.get(self, "expr") + + @expr.setter + def expr(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expr", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Labels of alert rule. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter(name="ruleName") + def rule_name(self) -> Optional[pulumi.Input[str]]: + """ + Alert rule name. + """ + return pulumi.get(self, "rule_name") + + @rule_name.setter + def rule_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rule_name", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input[int]]: + """ + Rule state. `2`-enable, `3`-disable, default `2`. + """ + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "state", value) + + @pulumi.input_type class TmpAlertRuleAnnotationArgs: def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/grafana_instance.py b/sdk/python/tencentcloud_iac_pulumi/monitor/grafana_instance.py index b7ee58b8a..09f42822c 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/grafana_instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/grafana_instance.py @@ -14,6 +14,7 @@ class GrafanaInstanceArgs: def __init__(__self__, *, instance_name: pulumi.Input[str], + auto_voucher: Optional[pulumi.Input[bool]] = None, enable_internet: Optional[pulumi.Input[bool]] = None, grafana_init_password: Optional[pulumi.Input[str]] = None, is_destroy: Optional[pulumi.Input[bool]] = None, @@ -24,6 +25,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a GrafanaInstance resource. :param pulumi.Input[str] instance_name: Instance name. + :param pulumi.Input[bool] auto_voucher: Whether to automatically use vouchers. :param pulumi.Input[bool] enable_internet: Control whether grafana could be accessed by internet. :param pulumi.Input[str] grafana_init_password: Grafana server admin password. :param pulumi.Input[bool] is_destroy: Whether to clean up completely, the default is false. @@ -33,6 +35,8 @@ def __init__(__self__, *, :param pulumi.Input[str] vpc_id: Vpc Id. """ pulumi.set(__self__, "instance_name", instance_name) + if auto_voucher is not None: + pulumi.set(__self__, "auto_voucher", auto_voucher) if enable_internet is not None: pulumi.set(__self__, "enable_internet", enable_internet) if grafana_init_password is not None: @@ -63,6 +67,18 @@ def instance_name(self) -> pulumi.Input[str]: def instance_name(self, value: pulumi.Input[str]): pulumi.set(self, "instance_name", value) + @property + @pulumi.getter(name="autoVoucher") + def auto_voucher(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to automatically use vouchers. + """ + return pulumi.get(self, "auto_voucher") + + @auto_voucher.setter + def auto_voucher(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_voucher", value) + @property @pulumi.getter(name="enableInternet") def enable_internet(self) -> Optional[pulumi.Input[bool]]: @@ -151,6 +167,7 @@ def vpc_id(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class _GrafanaInstanceState: def __init__(__self__, *, + auto_voucher: Optional[pulumi.Input[bool]] = None, enable_internet: Optional[pulumi.Input[bool]] = None, grafana_init_password: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, @@ -166,6 +183,7 @@ def __init__(__self__, *, vpc_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering GrafanaInstance resources. + :param pulumi.Input[bool] auto_voucher: Whether to automatically use vouchers. :param pulumi.Input[bool] enable_internet: Control whether grafana could be accessed by internet. :param pulumi.Input[str] grafana_init_password: Grafana server admin password. :param pulumi.Input[str] instance_id: Grafana instance id. @@ -180,6 +198,8 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. :param pulumi.Input[str] vpc_id: Vpc Id. """ + if auto_voucher is not None: + pulumi.set(__self__, "auto_voucher", auto_voucher) if enable_internet is not None: pulumi.set(__self__, "enable_internet", enable_internet) if grafana_init_password is not None: @@ -210,6 +230,18 @@ def __init__(__self__, *, if vpc_id is not None: pulumi.set(__self__, "vpc_id", vpc_id) + @property + @pulumi.getter(name="autoVoucher") + def auto_voucher(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to automatically use vouchers. + """ + return pulumi.get(self, "auto_voucher") + + @auto_voucher.setter + def auto_voucher(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_voucher", value) + @property @pulumi.getter(name="enableInternet") def enable_internet(self) -> Optional[pulumi.Input[bool]]: @@ -372,6 +404,7 @@ class GrafanaInstance(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + auto_voucher: Optional[pulumi.Input[bool]] = None, enable_internet: Optional[pulumi.Input[bool]] = None, grafana_init_password: Optional[pulumi.Input[str]] = None, instance_name: Optional[pulumi.Input[str]] = None, @@ -421,6 +454,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] auto_voucher: Whether to automatically use vouchers. :param pulumi.Input[bool] enable_internet: Control whether grafana could be accessed by internet. :param pulumi.Input[str] grafana_init_password: Grafana server admin password. :param pulumi.Input[str] instance_name: Instance name. @@ -489,6 +523,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + auto_voucher: Optional[pulumi.Input[bool]] = None, enable_internet: Optional[pulumi.Input[bool]] = None, grafana_init_password: Optional[pulumi.Input[str]] = None, instance_name: Optional[pulumi.Input[str]] = None, @@ -511,6 +546,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = GrafanaInstanceArgs.__new__(GrafanaInstanceArgs) + __props__.__dict__["auto_voucher"] = auto_voucher __props__.__dict__["enable_internet"] = enable_internet __props__.__dict__["grafana_init_password"] = grafana_init_password if instance_name is None and not opts.urn: @@ -539,6 +575,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + auto_voucher: Optional[pulumi.Input[bool]] = None, enable_internet: Optional[pulumi.Input[bool]] = None, grafana_init_password: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, @@ -559,6 +596,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] auto_voucher: Whether to automatically use vouchers. :param pulumi.Input[bool] enable_internet: Control whether grafana could be accessed by internet. :param pulumi.Input[str] grafana_init_password: Grafana server admin password. :param pulumi.Input[str] instance_id: Grafana instance id. @@ -577,6 +615,7 @@ def get(resource_name: str, __props__ = _GrafanaInstanceState.__new__(_GrafanaInstanceState) + __props__.__dict__["auto_voucher"] = auto_voucher __props__.__dict__["enable_internet"] = enable_internet __props__.__dict__["grafana_init_password"] = grafana_init_password __props__.__dict__["instance_id"] = instance_id @@ -592,6 +631,14 @@ def get(resource_name: str, __props__.__dict__["vpc_id"] = vpc_id return GrafanaInstance(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="autoVoucher") + def auto_voucher(self) -> pulumi.Output[Optional[bool]]: + """ + Whether to automatically use vouchers. + """ + return pulumi.get(self, "auto_voucher") + @property @pulumi.getter(name="enableInternet") def enable_internet(self) -> pulumi.Output[bool]: diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/outputs.py b/sdk/python/tencentcloud_iac_pulumi/monitor/outputs.py index 9a27cd2f9..38183b62e 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/outputs.py @@ -24,6 +24,9 @@ 'BindingReceiverReceivers', 'GrafanaSsoAccountRole', 'PolicyBindingObjectDimension', + 'TmpAlertGroupCustomReceiver', + 'TmpAlertGroupCustomReceiverAllowedTimeRange', + 'TmpAlertGroupRule', 'TmpAlertRuleAnnotation', 'TmpAlertRuleLabel', 'TmpTkeAlertPolicyAlertRule', @@ -1234,6 +1237,221 @@ def unique_id(self) -> Optional[str]: return pulumi.get(self, "unique_id") +@pulumi.output_type +class TmpAlertGroupCustomReceiver(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowedTimeRanges": + suggest = "allowed_time_ranges" + elif key == "clusterId": + suggest = "cluster_id" + elif key == "clusterType": + suggest = "cluster_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TmpAlertGroupCustomReceiver. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TmpAlertGroupCustomReceiver.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TmpAlertGroupCustomReceiver.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allowed_time_ranges: Optional[Sequence['outputs.TmpAlertGroupCustomReceiverAllowedTimeRange']] = None, + cluster_id: Optional[str] = None, + cluster_type: Optional[str] = None, + type: Optional[str] = None, + url: Optional[str] = None): + """ + :param Sequence['TmpAlertGroupCustomReceiverAllowedTimeRangeArgs'] allowed_time_ranges: Time ranges which allow alert message send. + :param str cluster_id: Only effect when alertmanager in user cluster, this cluster id. + :param str cluster_type: Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + :param str type: Custom receiver type, webhook|alertmanager. + :param str url: Custom receiver address, can be accessed by process in prometheus instance subnet. + """ + if allowed_time_ranges is not None: + pulumi.set(__self__, "allowed_time_ranges", allowed_time_ranges) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if cluster_type is not None: + pulumi.set(__self__, "cluster_type", cluster_type) + if type is not None: + pulumi.set(__self__, "type", type) + if url is not None: + pulumi.set(__self__, "url", url) + + @property + @pulumi.getter(name="allowedTimeRanges") + def allowed_time_ranges(self) -> Optional[Sequence['outputs.TmpAlertGroupCustomReceiverAllowedTimeRange']]: + """ + Time ranges which allow alert message send. + """ + return pulumi.get(self, "allowed_time_ranges") + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[str]: + """ + Only effect when alertmanager in user cluster, this cluster id. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> Optional[str]: + """ + Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). + """ + return pulumi.get(self, "cluster_type") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Custom receiver type, webhook|alertmanager. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def url(self) -> Optional[str]: + """ + Custom receiver address, can be accessed by process in prometheus instance subnet. + """ + return pulumi.get(self, "url") + + +@pulumi.output_type +class TmpAlertGroupCustomReceiverAllowedTimeRange(dict): + def __init__(__self__, *, + end: Optional[str] = None, + start: Optional[str] = None): + """ + :param str end: Time range end, seconds since 0 o'clock. + :param str start: Time range start, seconds since 0 o'clock. + """ + if end is not None: + pulumi.set(__self__, "end", end) + if start is not None: + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> Optional[str]: + """ + Time range end, seconds since 0 o'clock. + """ + return pulumi.get(self, "end") + + @property + @pulumi.getter + def start(self) -> Optional[str]: + """ + Time range start, seconds since 0 o'clock. + """ + return pulumi.get(self, "start") + + +@pulumi.output_type +class TmpAlertGroupRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ruleName": + suggest = "rule_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TmpAlertGroupRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TmpAlertGroupRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TmpAlertGroupRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + annotations: Optional[Mapping[str, Any]] = None, + duration: Optional[str] = None, + expr: Optional[str] = None, + labels: Optional[Mapping[str, Any]] = None, + rule_name: Optional[str] = None, + state: Optional[int] = None): + """ + :param Mapping[str, Any] annotations: Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + :param str duration: Rule alarm duration. + :param str expr: Prometheus alert expression. + :param Mapping[str, Any] labels: Labels of alert rule. + :param str rule_name: Alert rule name. + :param int state: Rule state. `2`-enable, `3`-disable, default `2`. + """ + if annotations is not None: + pulumi.set(__self__, "annotations", annotations) + if duration is not None: + pulumi.set(__self__, "duration", duration) + if expr is not None: + pulumi.set(__self__, "expr", expr) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if rule_name is not None: + pulumi.set(__self__, "rule_name", rule_name) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def annotations(self) -> Optional[Mapping[str, Any]]: + """ + Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. + """ + return pulumi.get(self, "annotations") + + @property + @pulumi.getter + def duration(self) -> Optional[str]: + """ + Rule alarm duration. + """ + return pulumi.get(self, "duration") + + @property + @pulumi.getter + def expr(self) -> Optional[str]: + """ + Prometheus alert expression. + """ + return pulumi.get(self, "expr") + + @property + @pulumi.getter + def labels(self) -> Optional[Mapping[str, Any]]: + """ + Labels of alert rule. + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter(name="ruleName") + def rule_name(self) -> Optional[str]: + """ + Alert rule name. + """ + return pulumi.get(self, "rule_name") + + @property + @pulumi.getter + def state(self) -> Optional[int]: + """ + Rule state. `2`-enable, `3`-disable, default `2`. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class TmpAlertRuleAnnotation(dict): def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_group.py b/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_group.py new file mode 100644 index 000000000..bd15bdab3 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_group.py @@ -0,0 +1,488 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['TmpAlertGroupArgs', 'TmpAlertGroup'] + +@pulumi.input_type +class TmpAlertGroupArgs: + def __init__(__self__, *, + amp_receivers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + custom_receiver: Optional[pulumi.Input['TmpAlertGroupCustomReceiverArgs']] = None, + group_name: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + repeat_interval: Optional[pulumi.Input[str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupRuleArgs']]]] = None): + """ + The set of arguments for constructing a TmpAlertGroup resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] amp_receivers: Tencent cloud notification template id list. + :param pulumi.Input['TmpAlertGroupCustomReceiverArgs'] custom_receiver: User custom notification template, such as webhook, alertmanager. + :param pulumi.Input[str] group_name: Unique alert group name. + :param pulumi.Input[str] instance_id: Instance id. + :param pulumi.Input[str] repeat_interval: Alert message send interval, default 1 hour. + :param pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupRuleArgs']]] rules: A list of alert rules. + """ + if amp_receivers is not None: + pulumi.set(__self__, "amp_receivers", amp_receivers) + if custom_receiver is not None: + pulumi.set(__self__, "custom_receiver", custom_receiver) + if group_name is not None: + pulumi.set(__self__, "group_name", group_name) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if repeat_interval is not None: + pulumi.set(__self__, "repeat_interval", repeat_interval) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter(name="ampReceivers") + def amp_receivers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Tencent cloud notification template id list. + """ + return pulumi.get(self, "amp_receivers") + + @amp_receivers.setter + def amp_receivers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "amp_receivers", value) + + @property + @pulumi.getter(name="customReceiver") + def custom_receiver(self) -> Optional[pulumi.Input['TmpAlertGroupCustomReceiverArgs']]: + """ + User custom notification template, such as webhook, alertmanager. + """ + return pulumi.get(self, "custom_receiver") + + @custom_receiver.setter + def custom_receiver(self, value: Optional[pulumi.Input['TmpAlertGroupCustomReceiverArgs']]): + pulumi.set(self, "custom_receiver", value) + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> Optional[pulumi.Input[str]]: + """ + Unique alert group name. + """ + return pulumi.get(self, "group_name") + + @group_name.setter + def group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_name", value) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Instance id. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_id", value) + + @property + @pulumi.getter(name="repeatInterval") + def repeat_interval(self) -> Optional[pulumi.Input[str]]: + """ + Alert message send interval, default 1 hour. + """ + return pulumi.get(self, "repeat_interval") + + @repeat_interval.setter + def repeat_interval(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repeat_interval", value) + + @property + @pulumi.getter + def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupRuleArgs']]]]: + """ + A list of alert rules. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupRuleArgs']]]]): + pulumi.set(self, "rules", value) + + +@pulumi.input_type +class _TmpAlertGroupState: + def __init__(__self__, *, + amp_receivers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + custom_receiver: Optional[pulumi.Input['TmpAlertGroupCustomReceiverArgs']] = None, + group_id: Optional[pulumi.Input[str]] = None, + group_name: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + repeat_interval: Optional[pulumi.Input[str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupRuleArgs']]]] = None): + """ + Input properties used for looking up and filtering TmpAlertGroup resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] amp_receivers: Tencent cloud notification template id list. + :param pulumi.Input['TmpAlertGroupCustomReceiverArgs'] custom_receiver: User custom notification template, such as webhook, alertmanager. + :param pulumi.Input[str] group_id: Alarm group id. + :param pulumi.Input[str] group_name: Unique alert group name. + :param pulumi.Input[str] instance_id: Instance id. + :param pulumi.Input[str] repeat_interval: Alert message send interval, default 1 hour. + :param pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupRuleArgs']]] rules: A list of alert rules. + """ + if amp_receivers is not None: + pulumi.set(__self__, "amp_receivers", amp_receivers) + if custom_receiver is not None: + pulumi.set(__self__, "custom_receiver", custom_receiver) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if group_name is not None: + pulumi.set(__self__, "group_name", group_name) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if repeat_interval is not None: + pulumi.set(__self__, "repeat_interval", repeat_interval) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter(name="ampReceivers") + def amp_receivers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Tencent cloud notification template id list. + """ + return pulumi.get(self, "amp_receivers") + + @amp_receivers.setter + def amp_receivers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "amp_receivers", value) + + @property + @pulumi.getter(name="customReceiver") + def custom_receiver(self) -> Optional[pulumi.Input['TmpAlertGroupCustomReceiverArgs']]: + """ + User custom notification template, such as webhook, alertmanager. + """ + return pulumi.get(self, "custom_receiver") + + @custom_receiver.setter + def custom_receiver(self, value: Optional[pulumi.Input['TmpAlertGroupCustomReceiverArgs']]): + pulumi.set(self, "custom_receiver", value) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + """ + Alarm group id. + """ + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_id", value) + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> Optional[pulumi.Input[str]]: + """ + Unique alert group name. + """ + return pulumi.get(self, "group_name") + + @group_name.setter + def group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_name", value) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Instance id. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_id", value) + + @property + @pulumi.getter(name="repeatInterval") + def repeat_interval(self) -> Optional[pulumi.Input[str]]: + """ + Alert message send interval, default 1 hour. + """ + return pulumi.get(self, "repeat_interval") + + @repeat_interval.setter + def repeat_interval(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repeat_interval", value) + + @property + @pulumi.getter + def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupRuleArgs']]]]: + """ + A list of alert rules. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TmpAlertGroupRuleArgs']]]]): + pulumi.set(self, "rules", value) + + +class TmpAlertGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + amp_receivers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + custom_receiver: Optional[pulumi.Input[pulumi.InputType['TmpAlertGroupCustomReceiverArgs']]] = None, + group_name: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + repeat_interval: Optional[pulumi.Input[str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TmpAlertGroupRuleArgs']]]]] = None, + __props__=None): + """ + Provides a resource to create a monitor tmp_alert_group + + ## Example Usage + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + tmp_alert_group = tencentcloud.monitor.TmpAlertGroup("tmpAlertGroup", + amp_receivers=["notice-om017kc2"], + custom_receiver=tencentcloud.monitor.TmpAlertGroupCustomReceiverArgs( + type="amp", + ), + group_name="tf-test", + instance_id="prom-ip429jis", + repeat_interval="5m", + rules=[tencentcloud.monitor.TmpAlertGroupRuleArgs( + annotations={ + "description": "Agent {{$labels.instance}} is deactivated, please pay attention!", + "summary": "Agent health check", + }, + duration="1m", + expr="up{job=\"prometheus-agent\"} != 1", + labels={ + "severity": "critical", + }, + rule_name="Agent health check", + state=2, + )]) + ``` + + ## Import + + monitor tmp_alert_group can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] amp_receivers: Tencent cloud notification template id list. + :param pulumi.Input[pulumi.InputType['TmpAlertGroupCustomReceiverArgs']] custom_receiver: User custom notification template, such as webhook, alertmanager. + :param pulumi.Input[str] group_name: Unique alert group name. + :param pulumi.Input[str] instance_id: Instance id. + :param pulumi.Input[str] repeat_interval: Alert message send interval, default 1 hour. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TmpAlertGroupRuleArgs']]]] rules: A list of alert rules. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[TmpAlertGroupArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a monitor tmp_alert_group + + ## Example Usage + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + tmp_alert_group = tencentcloud.monitor.TmpAlertGroup("tmpAlertGroup", + amp_receivers=["notice-om017kc2"], + custom_receiver=tencentcloud.monitor.TmpAlertGroupCustomReceiverArgs( + type="amp", + ), + group_name="tf-test", + instance_id="prom-ip429jis", + repeat_interval="5m", + rules=[tencentcloud.monitor.TmpAlertGroupRuleArgs( + annotations={ + "description": "Agent {{$labels.instance}} is deactivated, please pay attention!", + "summary": "Agent health check", + }, + duration="1m", + expr="up{job=\"prometheus-agent\"} != 1", + labels={ + "severity": "critical", + }, + rule_name="Agent health check", + state=2, + )]) + ``` + + ## Import + + monitor tmp_alert_group can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup tmp_alert_group instance_id#group_id + ``` + + :param str resource_name: The name of the resource. + :param TmpAlertGroupArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(TmpAlertGroupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + amp_receivers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + custom_receiver: Optional[pulumi.Input[pulumi.InputType['TmpAlertGroupCustomReceiverArgs']]] = None, + group_name: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + repeat_interval: Optional[pulumi.Input[str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TmpAlertGroupRuleArgs']]]]] = None, + __props__=None): + if opts is None: + opts = pulumi.ResourceOptions() + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.version is None: + opts.version = _utilities.get_version() + if opts.plugin_download_url is None: + opts.plugin_download_url = _utilities.get_plugin_download_url() + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = TmpAlertGroupArgs.__new__(TmpAlertGroupArgs) + + __props__.__dict__["amp_receivers"] = amp_receivers + __props__.__dict__["custom_receiver"] = custom_receiver + __props__.__dict__["group_name"] = group_name + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["repeat_interval"] = repeat_interval + __props__.__dict__["rules"] = rules + __props__.__dict__["group_id"] = None + super(TmpAlertGroup, __self__).__init__( + 'tencentcloud:Monitor/tmpAlertGroup:TmpAlertGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + amp_receivers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + custom_receiver: Optional[pulumi.Input[pulumi.InputType['TmpAlertGroupCustomReceiverArgs']]] = None, + group_id: Optional[pulumi.Input[str]] = None, + group_name: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + repeat_interval: Optional[pulumi.Input[str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TmpAlertGroupRuleArgs']]]]] = None) -> 'TmpAlertGroup': + """ + Get an existing TmpAlertGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] amp_receivers: Tencent cloud notification template id list. + :param pulumi.Input[pulumi.InputType['TmpAlertGroupCustomReceiverArgs']] custom_receiver: User custom notification template, such as webhook, alertmanager. + :param pulumi.Input[str] group_id: Alarm group id. + :param pulumi.Input[str] group_name: Unique alert group name. + :param pulumi.Input[str] instance_id: Instance id. + :param pulumi.Input[str] repeat_interval: Alert message send interval, default 1 hour. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TmpAlertGroupRuleArgs']]]] rules: A list of alert rules. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TmpAlertGroupState.__new__(_TmpAlertGroupState) + + __props__.__dict__["amp_receivers"] = amp_receivers + __props__.__dict__["custom_receiver"] = custom_receiver + __props__.__dict__["group_id"] = group_id + __props__.__dict__["group_name"] = group_name + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["repeat_interval"] = repeat_interval + __props__.__dict__["rules"] = rules + return TmpAlertGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="ampReceivers") + def amp_receivers(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + Tencent cloud notification template id list. + """ + return pulumi.get(self, "amp_receivers") + + @property + @pulumi.getter(name="customReceiver") + def custom_receiver(self) -> pulumi.Output[Optional['outputs.TmpAlertGroupCustomReceiver']]: + """ + User custom notification template, such as webhook, alertmanager. + """ + return pulumi.get(self, "custom_receiver") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Output[str]: + """ + Alarm group id. + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> pulumi.Output[Optional[str]]: + """ + Unique alert group name. + """ + return pulumi.get(self, "group_name") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[Optional[str]]: + """ + Instance id. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="repeatInterval") + def repeat_interval(self) -> pulumi.Output[Optional[str]]: + """ + Alert message send interval, default 1 hour. + """ + return pulumi.get(self, "repeat_interval") + + @property + @pulumi.getter + def rules(self) -> pulumi.Output[Optional[Sequence['outputs.TmpAlertGroupRule']]]: + """ + A list of alert rules. + """ + return pulumi.get(self, "rules") + diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_rule.py b/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_rule.py index a133973a1..d6d3c479a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_rule.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_alert_rule.py @@ -330,6 +330,8 @@ def __init__(__self__, """ Provides a resource to create a monitor tmpAlertRule + > **NOTE:** This resource will be deprecated in a future version, please use `Monitor.TmpAlertGroup`. + ## Example Usage ```python @@ -408,6 +410,8 @@ def __init__(__self__, """ Provides a resource to create a monitor tmpAlertRule + > **NOTE:** This resource will be deprecated in a future version, please use `Monitor.TmpAlertGroup`. + ## Example Usage ```python diff --git a/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_tke_alert_policy.py b/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_tke_alert_policy.py index ee5ca4474..06acfac56 100644 --- a/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_tke_alert_policy.py +++ b/sdk/python/tencentcloud_iac_pulumi/monitor/tmp_tke_alert_policy.py @@ -101,6 +101,8 @@ def __init__(__self__, """ Provides a resource to create a tke tmpAlertPolicy + > **NOTE:** This resource will be deprecated in a future version, please use `Monitor.TmpAlertGroup`. + ## Example Usage ```python @@ -263,6 +265,8 @@ def __init__(__self__, """ Provides a resource to create a tke tmpAlertPolicy + > **NOTE:** This resource will be deprecated in a future version, please use `Monitor.TmpAlertGroup`. + ## Example Usage ```python diff --git a/sdk/python/tencentcloud_iac_pulumi/vpc/acl.py b/sdk/python/tencentcloud_iac_pulumi/vpc/acl.py index 4ee1e8d09..28c0e2098 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpc/acl.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/acl.py @@ -21,8 +21,8 @@ def __init__(__self__, *, """ The set of arguments for constructing a Acl resource. :param pulumi.Input[str] vpc_id: ID of the VPC instance. - :param pulumi.Input[Sequence[pulumi.Input[str]]] egresses: Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ingresses: Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] egresses: Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ingresses: Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. :param pulumi.Input[str] name: Name of the network ACL. :param pulumi.Input[Mapping[str, Any]] tags: Tags of the vpc acl. """ @@ -52,7 +52,7 @@ def vpc_id(self, value: pulumi.Input[str]): @pulumi.getter def egresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. """ return pulumi.get(self, "egresses") @@ -64,7 +64,7 @@ def egresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def ingresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. """ return pulumi.get(self, "ingresses") @@ -109,8 +109,8 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Acl resources. :param pulumi.Input[str] create_time: Creation time of ACL. - :param pulumi.Input[Sequence[pulumi.Input[str]]] egresses: Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ingresses: Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] egresses: Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ingresses: Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. :param pulumi.Input[str] name: Name of the network ACL. :param pulumi.Input[Mapping[str, Any]] tags: Tags of the vpc acl. :param pulumi.Input[str] vpc_id: ID of the VPC instance. @@ -144,7 +144,7 @@ def create_time(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def egresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. """ return pulumi.get(self, "egresses") @@ -156,7 +156,7 @@ def egresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def ingresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. """ return pulumi.get(self, "ingresses") @@ -244,8 +244,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] egresses: Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ingresses: Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] egresses: Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ingresses: Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. :param pulumi.Input[str] name: Name of the network ACL. :param pulumi.Input[Mapping[str, Any]] tags: Tags of the vpc acl. :param pulumi.Input[str] vpc_id: ID of the VPC instance. @@ -352,8 +352,8 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] create_time: Creation time of ACL. - :param pulumi.Input[Sequence[pulumi.Input[str]]] egresses: Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ingresses: Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] egresses: Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ingresses: Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. :param pulumi.Input[str] name: Name of the network ACL. :param pulumi.Input[Mapping[str, Any]] tags: Tags of the vpc acl. :param pulumi.Input[str] vpc_id: ID of the VPC instance. @@ -382,7 +382,7 @@ def create_time(self) -> pulumi.Output[str]: @pulumi.getter def egresses(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + Egress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. """ return pulumi.get(self, "egresses") @@ -390,7 +390,7 @@ def egresses(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter def ingresses(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80,443`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. + Ingress rules. A rule must match the following format: [action]#[cidr_ip]#[port]#[protocol]. The available value of 'action' is `ACCEPT` and `DROP`. The 'cidr_ip' must be an IP address network or segment. The 'port' valid format is `80`, `80-90` or `ALL`. The available value of 'protocol' is `TCP`, `UDP`, `ICMP` and `ALL`. When 'protocol' is `ICMP` or `ALL`, the 'port' must be `ALL`. """ return pulumi.get(self, "ingresses") diff --git a/sdk/python/tencentcloud_iac_pulumi/vpc/end_point.py b/sdk/python/tencentcloud_iac_pulumi/vpc/end_point.py index 9e11f4f8d..36f9ddc26 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpc/end_point.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpc/end_point.py @@ -17,7 +17,8 @@ def __init__(__self__, *, end_point_service_id: pulumi.Input[str], subnet_id: pulumi.Input[str], vpc_id: pulumi.Input[str], - end_point_vip: Optional[pulumi.Input[str]] = None): + end_point_vip: Optional[pulumi.Input[str]] = None, + security_groups_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The set of arguments for constructing a EndPoint resource. :param pulumi.Input[str] end_point_name: Name of endpoint. @@ -25,6 +26,7 @@ def __init__(__self__, *, :param pulumi.Input[str] subnet_id: ID of subnet instance. :param pulumi.Input[str] vpc_id: ID of vpc instance. :param pulumi.Input[str] end_point_vip: VIP of endpoint ip. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups_ids: Ordered security groups associated with the endpoint. """ pulumi.set(__self__, "end_point_name", end_point_name) pulumi.set(__self__, "end_point_service_id", end_point_service_id) @@ -32,6 +34,8 @@ def __init__(__self__, *, pulumi.set(__self__, "vpc_id", vpc_id) if end_point_vip is not None: pulumi.set(__self__, "end_point_vip", end_point_vip) + if security_groups_ids is not None: + pulumi.set(__self__, "security_groups_ids", security_groups_ids) @property @pulumi.getter(name="endPointName") @@ -93,6 +97,18 @@ def end_point_vip(self) -> Optional[pulumi.Input[str]]: def end_point_vip(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "end_point_vip", value) + @property + @pulumi.getter(name="securityGroupsIds") + def security_groups_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Ordered security groups associated with the endpoint. + """ + return pulumi.get(self, "security_groups_ids") + + @security_groups_ids.setter + def security_groups_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_groups_ids", value) + @pulumi.input_type class _EndPointState: @@ -102,6 +118,7 @@ def __init__(__self__, *, end_point_owner: Optional[pulumi.Input[str]] = None, end_point_service_id: Optional[pulumi.Input[str]] = None, end_point_vip: Optional[pulumi.Input[str]] = None, + security_groups_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, state: Optional[pulumi.Input[str]] = None, subnet_id: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None): @@ -112,6 +129,7 @@ def __init__(__self__, *, :param pulumi.Input[str] end_point_owner: APPID. :param pulumi.Input[str] end_point_service_id: ID of endpoint service. :param pulumi.Input[str] end_point_vip: VIP of endpoint ip. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups_ids: Ordered security groups associated with the endpoint. :param pulumi.Input[str] state: state of end point. :param pulumi.Input[str] subnet_id: ID of subnet instance. :param pulumi.Input[str] vpc_id: ID of vpc instance. @@ -126,6 +144,8 @@ def __init__(__self__, *, pulumi.set(__self__, "end_point_service_id", end_point_service_id) if end_point_vip is not None: pulumi.set(__self__, "end_point_vip", end_point_vip) + if security_groups_ids is not None: + pulumi.set(__self__, "security_groups_ids", security_groups_ids) if state is not None: pulumi.set(__self__, "state", state) if subnet_id is not None: @@ -193,6 +213,18 @@ def end_point_vip(self) -> Optional[pulumi.Input[str]]: def end_point_vip(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "end_point_vip", value) + @property + @pulumi.getter(name="securityGroupsIds") + def security_groups_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Ordered security groups associated with the endpoint. + """ + return pulumi.get(self, "security_groups_ids") + + @security_groups_ids.setter + def security_groups_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "security_groups_ids", value) + @property @pulumi.getter def state(self) -> Optional[pulumi.Input[str]]: @@ -238,6 +270,7 @@ def __init__(__self__, end_point_name: Optional[pulumi.Input[str]] = None, end_point_service_id: Optional[pulumi.Input[str]] = None, end_point_vip: Optional[pulumi.Input[str]] = None, + security_groups_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, subnet_id: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -254,6 +287,11 @@ def __init__(__self__, end_point_name="terraform-test", end_point_service_id="vpcsvc-69y13tdb", end_point_vip="10.0.2.1", + security_groups_ids=[ + "sg-ghvp9djf", + "sg-if748odn", + "sg-3k7vtgf7", + ], subnet_id="subnet-ljyn7h30", vpc_id="vpc-391sv4w3") ``` @@ -271,6 +309,7 @@ def __init__(__self__, :param pulumi.Input[str] end_point_name: Name of endpoint. :param pulumi.Input[str] end_point_service_id: ID of endpoint service. :param pulumi.Input[str] end_point_vip: VIP of endpoint ip. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups_ids: Ordered security groups associated with the endpoint. :param pulumi.Input[str] subnet_id: ID of subnet instance. :param pulumi.Input[str] vpc_id: ID of vpc instance. """ @@ -293,6 +332,11 @@ def __init__(__self__, end_point_name="terraform-test", end_point_service_id="vpcsvc-69y13tdb", end_point_vip="10.0.2.1", + security_groups_ids=[ + "sg-ghvp9djf", + "sg-if748odn", + "sg-3k7vtgf7", + ], subnet_id="subnet-ljyn7h30", vpc_id="vpc-391sv4w3") ``` @@ -323,6 +367,7 @@ def _internal_init(__self__, end_point_name: Optional[pulumi.Input[str]] = None, end_point_service_id: Optional[pulumi.Input[str]] = None, end_point_vip: Optional[pulumi.Input[str]] = None, + security_groups_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, subnet_id: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -346,6 +391,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'end_point_service_id'") __props__.__dict__["end_point_service_id"] = end_point_service_id __props__.__dict__["end_point_vip"] = end_point_vip + __props__.__dict__["security_groups_ids"] = security_groups_ids if subnet_id is None and not opts.urn: raise TypeError("Missing required property 'subnet_id'") __props__.__dict__["subnet_id"] = subnet_id @@ -370,6 +416,7 @@ def get(resource_name: str, end_point_owner: Optional[pulumi.Input[str]] = None, end_point_service_id: Optional[pulumi.Input[str]] = None, end_point_vip: Optional[pulumi.Input[str]] = None, + security_groups_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, state: Optional[pulumi.Input[str]] = None, subnet_id: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None) -> 'EndPoint': @@ -385,6 +432,7 @@ def get(resource_name: str, :param pulumi.Input[str] end_point_owner: APPID. :param pulumi.Input[str] end_point_service_id: ID of endpoint service. :param pulumi.Input[str] end_point_vip: VIP of endpoint ip. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups_ids: Ordered security groups associated with the endpoint. :param pulumi.Input[str] state: state of end point. :param pulumi.Input[str] subnet_id: ID of subnet instance. :param pulumi.Input[str] vpc_id: ID of vpc instance. @@ -398,6 +446,7 @@ def get(resource_name: str, __props__.__dict__["end_point_owner"] = end_point_owner __props__.__dict__["end_point_service_id"] = end_point_service_id __props__.__dict__["end_point_vip"] = end_point_vip + __props__.__dict__["security_groups_ids"] = security_groups_ids __props__.__dict__["state"] = state __props__.__dict__["subnet_id"] = subnet_id __props__.__dict__["vpc_id"] = vpc_id @@ -443,6 +492,14 @@ def end_point_vip(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "end_point_vip") + @property + @pulumi.getter(name="securityGroupsIds") + def security_groups_ids(self) -> pulumi.Output[Sequence[str]]: + """ + Ordered security groups associated with the endpoint. + """ + return pulumi.get(self, "security_groups_ids") + @property @pulumi.getter def state(self) -> pulumi.Output[str]: diff --git a/sdk/python/tencentcloud_iac_pulumi/vpn/connection.py b/sdk/python/tencentcloud_iac_pulumi/vpn/connection.py index 556e7e9dc..844bd0f90 100644 --- a/sdk/python/tencentcloud_iac_pulumi/vpn/connection.py +++ b/sdk/python/tencentcloud_iac_pulumi/vpn/connection.py @@ -71,7 +71,7 @@ def __init__(__self__, *, :param pulumi.Input[str] ike_version: Version of the IKE operation specification, values: `IKEV1`, `IKEV2`. Default value is `IKEV1`. :param pulumi.Input[str] ipsec_encrypt_algorithm: Encrypt algorithm of the IPSEC operation specification. Valid values: `3DES-CBC`, `AES-CBC-128`, `AES-CBC-192`, `AES-CBC-256`, `DES-CBC`, `SM4`, `NULL`, `AES128GCM128`, `AES192GCM128`, `AES256GCM128`. Default value is `3DES-CBC`. :param pulumi.Input[str] ipsec_integrity_algorithm: Integrity algorithm of the IPSEC operation specification. Valid values: `SHA1`, `MD5`, `SHA-256`. Default value is `MD5`. - :param pulumi.Input[str] ipsec_pfs_dh_group: PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + :param pulumi.Input[str] ipsec_pfs_dh_group: PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. :param pulumi.Input[int] ipsec_sa_lifetime_seconds: SA lifetime of the IPSEC operation specification, unit is second. Valid value ranges: [180~604800]. Default value is 3600 seconds. :param pulumi.Input[int] ipsec_sa_lifetime_traffic: SA lifetime of the IPSEC operation specification, unit is KB. The value should not be less then 2560. Default value is 1843200. :param pulumi.Input[str] name: Name of the VPN connection. The length of character is limited to 1-60. @@ -420,7 +420,7 @@ def ipsec_integrity_algorithm(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="ipsecPfsDhGroup") def ipsec_pfs_dh_group(self) -> Optional[pulumi.Input[str]]: """ - PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. """ return pulumi.get(self, "ipsec_pfs_dh_group") @@ -578,7 +578,7 @@ def __init__(__self__, *, :param pulumi.Input[str] ike_version: Version of the IKE operation specification, values: `IKEV1`, `IKEV2`. Default value is `IKEV1`. :param pulumi.Input[str] ipsec_encrypt_algorithm: Encrypt algorithm of the IPSEC operation specification. Valid values: `3DES-CBC`, `AES-CBC-128`, `AES-CBC-192`, `AES-CBC-256`, `DES-CBC`, `SM4`, `NULL`, `AES128GCM128`, `AES192GCM128`, `AES256GCM128`. Default value is `3DES-CBC`. :param pulumi.Input[str] ipsec_integrity_algorithm: Integrity algorithm of the IPSEC operation specification. Valid values: `SHA1`, `MD5`, `SHA-256`. Default value is `MD5`. - :param pulumi.Input[str] ipsec_pfs_dh_group: PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + :param pulumi.Input[str] ipsec_pfs_dh_group: PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. :param pulumi.Input[int] ipsec_sa_lifetime_seconds: SA lifetime of the IPSEC operation specification, unit is second. Valid value ranges: [180~604800]. Default value is 3600 seconds. :param pulumi.Input[int] ipsec_sa_lifetime_traffic: SA lifetime of the IPSEC operation specification, unit is KB. The value should not be less then 2560. Default value is 1843200. :param pulumi.Input[bool] is_ccn_type: Indicate whether is ccn type. Modification of this field only impacts force new logic of `vpc_id`. If `is_ccn_type` is true, modification of `vpc_id` will be ignored. @@ -948,7 +948,7 @@ def ipsec_integrity_algorithm(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="ipsecPfsDhGroup") def ipsec_pfs_dh_group(self) -> Optional[pulumi.Input[str]]: """ - PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. """ return pulumi.get(self, "ipsec_pfs_dh_group") @@ -1218,7 +1218,7 @@ def __init__(__self__, :param pulumi.Input[str] ike_version: Version of the IKE operation specification, values: `IKEV1`, `IKEV2`. Default value is `IKEV1`. :param pulumi.Input[str] ipsec_encrypt_algorithm: Encrypt algorithm of the IPSEC operation specification. Valid values: `3DES-CBC`, `AES-CBC-128`, `AES-CBC-192`, `AES-CBC-256`, `DES-CBC`, `SM4`, `NULL`, `AES128GCM128`, `AES192GCM128`, `AES256GCM128`. Default value is `3DES-CBC`. :param pulumi.Input[str] ipsec_integrity_algorithm: Integrity algorithm of the IPSEC operation specification. Valid values: `SHA1`, `MD5`, `SHA-256`. Default value is `MD5`. - :param pulumi.Input[str] ipsec_pfs_dh_group: PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + :param pulumi.Input[str] ipsec_pfs_dh_group: PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. :param pulumi.Input[int] ipsec_sa_lifetime_seconds: SA lifetime of the IPSEC operation specification, unit is second. Valid value ranges: [180~604800]. Default value is 3600 seconds. :param pulumi.Input[int] ipsec_sa_lifetime_traffic: SA lifetime of the IPSEC operation specification, unit is KB. The value should not be less then 2560. Default value is 1843200. :param pulumi.Input[str] name: Name of the VPN connection. The length of character is limited to 1-60. @@ -1460,7 +1460,7 @@ def get(resource_name: str, :param pulumi.Input[str] ike_version: Version of the IKE operation specification, values: `IKEV1`, `IKEV2`. Default value is `IKEV1`. :param pulumi.Input[str] ipsec_encrypt_algorithm: Encrypt algorithm of the IPSEC operation specification. Valid values: `3DES-CBC`, `AES-CBC-128`, `AES-CBC-192`, `AES-CBC-256`, `DES-CBC`, `SM4`, `NULL`, `AES128GCM128`, `AES192GCM128`, `AES256GCM128`. Default value is `3DES-CBC`. :param pulumi.Input[str] ipsec_integrity_algorithm: Integrity algorithm of the IPSEC operation specification. Valid values: `SHA1`, `MD5`, `SHA-256`. Default value is `MD5`. - :param pulumi.Input[str] ipsec_pfs_dh_group: PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + :param pulumi.Input[str] ipsec_pfs_dh_group: PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. :param pulumi.Input[int] ipsec_sa_lifetime_seconds: SA lifetime of the IPSEC operation specification, unit is second. Valid value ranges: [180~604800]. Default value is 3600 seconds. :param pulumi.Input[int] ipsec_sa_lifetime_traffic: SA lifetime of the IPSEC operation specification, unit is KB. The value should not be less then 2560. Default value is 1843200. :param pulumi.Input[bool] is_ccn_type: Indicate whether is ccn type. Modification of this field only impacts force new logic of `vpc_id`. If `is_ccn_type` is true, modification of `vpc_id` will be ignored. @@ -1706,7 +1706,7 @@ def ipsec_integrity_algorithm(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="ipsecPfsDhGroup") def ipsec_pfs_dh_group(self) -> pulumi.Output[Optional[str]]: """ - PFS DH group. Valid value: `GROUP1`, `GROUP2`, `GROUP5`, `GROUP14`, `GROUP24`, `NULL`. Default value is `NULL`. + PFS DH group. Valid value: `DH-GROUP1`, `DH-GROUP2`, `DH-GROUP5`, `DH-GROUP14`, `DH-GROUP24`, `NULL`. Default value is `NULL`. """ return pulumi.get(self, "ipsec_pfs_dh_group")