diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4db6230a4e..93f68167ca 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,14 @@
-## 1.51.2 (Unreleased)
+## 1.52.0 (Unreleased)
+
+FEATURES:
+
+* **New Resource**: `tencentcloud_kubernetes_node_pool` to support node management.
+
+DEPRECATED:
+
+* Resource: `tencentcloud_kubernetes_as_scaling_group` replaced by `tencentcloud_kubernetes_node_pool`.
+
+
## 1.51.1 (December 22, 2020)
ENHANCEMENTS:
diff --git a/go.mod b/go.mod
index d9d78fad76..b47027283f 100644
--- a/go.mod
+++ b/go.mod
@@ -15,7 +15,7 @@ require (
github.com/mattn/go-colorable v0.1.6 // indirect
github.com/mitchellh/go-homedir v1.1.0
github.com/pkg/errors v0.9.1
- github.com/tencentcloud/tencentcloud-sdk-go v1.0.67
+ github.com/tencentcloud/tencentcloud-sdk-go v1.0.76
github.com/yangwenmai/ratelimit v0.0.0-20180104140304-44221c2292e1
github.com/zclconf/go-cty v1.4.2 // indirect
golang.org/x/sys v0.0.0-20200523222454-059865788121 // indirect
diff --git a/go.sum b/go.sum
index 8df7eb76e7..abcbc7c5e4 100644
--- a/go.sum
+++ b/go.sum
@@ -441,8 +441,8 @@ github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2 h1:Xr9gkxfOP0KQWXKNqmwe8vEeSUiUj4Rlee9CMVX2ZUQ=
github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM=
-github.com/tencentcloud/tencentcloud-sdk-go v1.0.67 h1:fKSwJ7hrvHTxr33EcmrbKcavYJ/U2zNIH8Lvsj2FNTE=
-github.com/tencentcloud/tencentcloud-sdk-go v1.0.67/go.mod h1:asUz5BPXxgoPGaRgZaVm1iGcUAuHyYUo1nXqKa83cvI=
+github.com/tencentcloud/tencentcloud-sdk-go v1.0.76 h1:fVggxeCzlYcIliDjPKC4yGpbfQibWY6HmT9dbS7BKf8=
+github.com/tencentcloud/tencentcloud-sdk-go v1.0.76/go.mod h1:asUz5BPXxgoPGaRgZaVm1iGcUAuHyYUo1nXqKa83cvI=
github.com/tetafro/godot v0.3.7 h1:+mecr7RKrUKB5UQ1gwqEMn13sDKTyDR8KNIquB9mm+8=
github.com/tetafro/godot v0.3.7/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0=
github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e h1:RumXZ56IrCj4CL+g1b9OL/oH0QnsF976bC8xQFYUD5Q=
diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go
index 6dd9788f5f..17143f6e28 100644
--- a/tencentcloud/provider.go
+++ b/tencentcloud/provider.go
@@ -307,6 +307,7 @@ Tencent Kubernetes Engine(TKE)
tencentcloud_kubernetes_scale_worker
tencentcloud_kubernetes_as_scaling_group
tencentcloud_kubernetes_cluster_attachment
+ tencentcloud_kubernetes_node_pool
MongoDB
Data Source
@@ -816,6 +817,7 @@ func Provider() terraform.ResourceProvider {
"tencentcloud_kubernetes_as_scaling_group": ResourceTencentCloudKubernetesAsScalingGroup(),
"tencentcloud_kubernetes_scale_worker": resourceTencentCloudTkeScaleWorker(),
"tencentcloud_kubernetes_cluster_attachment": resourceTencentCloudTkeClusterAttachment(),
+ "tencentcloud_kubernetes_node_pool": ResourceTencentCloudKubernetesNodePool(),
"tencentcloud_mysql_backup_policy": resourceTencentCloudMysqlBackupPolicy(),
"tencentcloud_mysql_account": resourceTencentCloudMysqlAccount(),
"tencentcloud_mysql_account_privilege": resourceTencentCloudMysqlAccountPrivilege(),
diff --git a/tencentcloud/resource_tc_kubernetes_as_scaling_group.go b/tencentcloud/resource_tc_kubernetes_as_scaling_group.go
index de41aa961c..bdc0c9becc 100644
--- a/tencentcloud/resource_tc_kubernetes_as_scaling_group.go
+++ b/tencentcloud/resource_tc_kubernetes_as_scaling_group.go
@@ -1,6 +1,6 @@
/*
Provide a resource to create an auto scaling group for kubernetes cluster.
-
+~> **NOTE:** It has been deprecated and replaced by `tencentcloud_cluster_node_pool`.
~> **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application.
Example Usage
diff --git a/tencentcloud/resource_tc_kubernetes_cluster.go b/tencentcloud/resource_tc_kubernetes_cluster.go
index 733d5ad872..8031babb0d 100644
--- a/tencentcloud/resource_tc_kubernetes_cluster.go
+++ b/tencentcloud/resource_tc_kubernetes_cluster.go
@@ -2,6 +2,7 @@
Provide a resource to create a kubernetes cluster.
~> **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application.
+~> **NOTE:** We recommend the usage of one cluster without worker config + node pool to manage cluster and nodes. It's a more flexible way than manage worker config with tencentcloud_kubernetes_cluster, tencentcloud_kubernetes_scale_worker or exist node management of `tencentcloud_kubernetes_attachment`. Cause some unchangeable parameters of `worker_config` may cause the whole cluster resource `force new`.
Example Usage
@@ -500,7 +501,7 @@ func resourceTencentCloudTkeCluster() *schema.Resource {
Optional: true,
Default: TKE_DEPLOY_TYPE_MANAGED,
ValidateFunc: validateAllowedStringValue(TKE_DEPLOY_TYPES),
- Description: "Deployment type of the cluster, the available values include: 'MANAGED_CLUSTER' and 'INDEPENDENT_CLUSTER', Default is 'MANAGED_CLUSTER'.",
+ Description: "Deployment type of the cluster, the available values include: 'MANAGED_CLUSTER' and 'INDEPENDENT_CLUSTER'. Default is 'MANAGED_CLUSTER'.",
},
"cluster_version": {
Type: schema.TypeString,
diff --git a/tencentcloud/resource_tc_kubernetes_cluster_attachment_test.go b/tencentcloud/resource_tc_kubernetes_cluster_attachment_test.go
index ac19af3e00..7799ae63e7 100644
--- a/tencentcloud/resource_tc_kubernetes_cluster_attachment_test.go
+++ b/tencentcloud/resource_tc_kubernetes_cluster_attachment_test.go
@@ -214,6 +214,10 @@ resource "tencentcloud_kubernetes_cluster_attachment" "test_attach" {
"test1" = "test1",
"test2" = "test2",
}
+
+ extra_args = [
+ "root-dir=/var/lib/kubelet"
+ ]
}
`
}
diff --git a/tencentcloud/resource_tc_kubernetes_node_pool.go b/tencentcloud/resource_tc_kubernetes_node_pool.go
new file mode 100644
index 0000000000..f36708223b
--- /dev/null
+++ b/tencentcloud/resource_tc_kubernetes_node_pool.go
@@ -0,0 +1,810 @@
+/*
+Provide a resource to create an auto scaling group for kubernetes cluster.
+
+~> **NOTE:** We recommend the usage of one cluster without worker config + node pool to manage cluster and nodes. Its a more flexible way than manage worker config with tencentcloud_kubernetes_cluster, tencentcloud_kubernetes_scale_worker or exist node management of `tencentcloud_kubernetes_attachment`. Cause some unchangeable parameters of `worker_config` may cause the whole cluster resource `force new`.
+
+Example Usage
+
+```hcl
+
+variable "availability_zone" {
+ default = "ap-guangzhou-3"
+}
+
+variable "cluster_cidr" {
+ default = "172.31.0.0/16"
+}
+
+data "tencentcloud_vpc_subnets" "vpc" {
+ is_default = true
+ availability_zone = var.availability_zone
+}
+
+variable "default_instance_type" {
+ default = "S1.SMALL1"
+}
+
+//this is the cluster with empty worker config
+resource "tencentcloud_kubernetes_cluster" "managed_cluster" {
+ vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
+ cluster_cidr = var.cluster_cidr
+ cluster_max_pod_num = 32
+ cluster_name = "tf-tke-unit-test"
+ cluster_desc = "test cluster desc"
+ cluster_max_service_num = 32
+ cluster_version = "1.18.4"
+ cluster_deploy_type = "MANAGED_CLUSTER"
+}
+
+//this is one example of managing node using node pool
+resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
+ name = "mynodepool"
+ cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id
+ max_size = 6
+ min_size = 1
+ vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
+ subnet_ids = [data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id]
+ retry_policy = "INCREMENTAL_INTERVALS"
+ desired_capacity = 4
+ enable_auto_scale = true
+
+ auto_scaling_config {
+ instance_type = var.default_instance_type
+ system_disk_type = "CLOUD_PREMIUM"
+ system_disk_size = "50"
+ security_group_ids = ["sg-24vswocp"]
+
+ data_disk {
+ disk_type = "CLOUD_PREMIUM"
+ disk_size = 50
+ }
+
+ internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR"
+ password = "test123#"
+ enhanced_security_service = false
+ enhanced_monitor_service = false
+
+ }
+
+ labels = {
+ "test1" = "test1",
+ "test2" = "test2",
+ }
+
+ taints {
+ key = "test_taint"
+ value = "taint_value"
+ effect = "PreferNoSchedule"
+ }
+
+ node_config {
+ extra_args = [
+ "root-dir=/var/lib/kubelet"
+ ]
+ }
+}
+```
+*/
+package tencentcloud
+
+import (
+ "context"
+ "fmt"
+ "strings"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/resource"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ as "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419"
+ sdkErrors "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
+ tke "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525"
+ "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
+)
+
+func composedKubernetesAsScalingConfigPara() map[string]*schema.Schema {
+ needSchema := map[string]*schema.Schema{
+ "instance_type": {
+ Type: schema.TypeString,
+ Required: true,
+ ForceNew: true,
+ Description: "Specified types of CVM instance.",
+ },
+ "system_disk_type": {
+ Type: schema.TypeString,
+ Optional: true,
+ ForceNew: true,
+ Default: SYSTEM_DISK_TYPE_CLOUD_PREMIUM,
+ ValidateFunc: validateAllowedStringValue(SYSTEM_DISK_ALLOW_TYPE),
+ Description: "Type of a CVM disk. Valid value: `CLOUD_PREMIUM` and `CLOUD_SSD`. Default is `CLOUD_PREMIUM`.",
+ },
+ "system_disk_size": {
+ Type: schema.TypeInt,
+ Optional: true,
+ ForceNew: true,
+ Default: 50,
+ ValidateFunc: validateIntegerInRange(50, 500),
+ Description: "Volume of system disk in GB. Default is `50`.",
+ },
+ "data_disk": {
+ Type: schema.TypeList,
+ Optional: true,
+ ForceNew: true,
+ MaxItems: 11,
+ Description: "Configurations of data disk.",
+ Elem: &schema.Resource{
+ Schema: map[string]*schema.Schema{
+ "disk_type": {
+ Type: schema.TypeString,
+ Optional: true,
+ ForceNew: true,
+ Default: SYSTEM_DISK_TYPE_CLOUD_PREMIUM,
+ ValidateFunc: validateAllowedStringValue(SYSTEM_DISK_ALLOW_TYPE),
+ Description: "Types of disk. Valid value: `CLOUD_PREMIUM` and `CLOUD_SSD`.",
+ },
+ "disk_size": {
+ Type: schema.TypeInt,
+ Optional: true,
+ ForceNew: true,
+ Default: 0,
+ Description: "Volume of disk in GB. Default is `0`.",
+ },
+ "snapshot_id": {
+ Type: schema.TypeString,
+ Optional: true,
+ ForceNew: true,
+ Description: "Data disk snapshot ID.",
+ },
+ },
+ },
+ },
+ "internet_charge_type": {
+ Type: schema.TypeString,
+ Optional: true,
+ ForceNew: true,
+ Default: INTERNET_CHARGE_TYPE_TRAFFIC_POSTPAID_BY_HOUR,
+ ValidateFunc: validateAllowedStringValue(INTERNET_CHARGE_ALLOW_TYPE),
+ Description: "Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`.",
+ },
+ "password": {
+ Type: schema.TypeString,
+ Optional: true,
+ Sensitive: true,
+ ForceNew: true,
+ ValidateFunc: validateAsConfigPassword,
+ ConflictsWith: []string{"auto_scaling_config.0.key_ids"},
+ Description: "Password to access.",
+ },
+ "key_ids": {
+ Type: schema.TypeList,
+ Optional: true,
+ ForceNew: true,
+ Elem: &schema.Schema{Type: schema.TypeString},
+ ConflictsWith: []string{"auto_scaling_config.0.password"},
+ Description: "ID list of keys.",
+ },
+ "security_group_ids": {
+ Type: schema.TypeList,
+ Optional: true,
+ ForceNew: true,
+ Elem: &schema.Schema{Type: schema.TypeString},
+ Description: "Security groups to which a CVM instance belongs.",
+ },
+ "enhanced_security_service": {
+ Type: schema.TypeBool,
+ Optional: true,
+ Default: true,
+ ForceNew: true,
+ Description: "To specify whether to enable cloud security service. Default is TRUE.",
+ },
+ "enhanced_monitor_service": {
+ Type: schema.TypeBool,
+ Optional: true,
+ Default: true,
+ ForceNew: true,
+ Description: "To specify whether to enable cloud monitor service. Default is TRUE.",
+ },
+ }
+
+ return needSchema
+}
+
+func ResourceTencentCloudKubernetesNodePool() *schema.Resource {
+ return &schema.Resource{
+ Create: resourceKubernetesNodePoolCreate,
+ Read: resourceKubernetesNodePoolRead,
+ Delete: resourceKubernetesNodePoolDelete,
+ Update: resourceKubernetesNodePoolUpdate,
+ Schema: map[string]*schema.Schema{
+ "cluster_id": {
+ Type: schema.TypeString,
+ ForceNew: true,
+ Required: true,
+ Description: "ID of the cluster.",
+ },
+ "name": {
+ Type: schema.TypeString,
+ Required: true,
+ ForceNew: true,
+ Description: "Name of the node pool. The name does not exceed 25 characters, and only supports Chinese, English, numbers, underscores, separators (`-`) and decimal points.",
+ },
+ "max_size": {
+ Type: schema.TypeInt,
+ Required: true,
+ ValidateFunc: validateIntegerInRange(0, 2000),
+ Description: "Maximum number of node.",
+ },
+ "min_size": {
+ Type: schema.TypeInt,
+ Required: true,
+ ValidateFunc: validateIntegerInRange(0, 2000),
+ Description: "Minimum number of node.",
+ },
+ "desired_capacity": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Computed: true,
+ ValidateFunc: validateIntegerInRange(0, 2000),
+ Description: "Desired capacity ot the node. If `enable_auto_scale` is set `true`, this will be a computed parameter.",
+ },
+ "enable_auto_scale": {
+ Type: schema.TypeBool,
+ Optional: true,
+ Default: true,
+ Description: "Indicate whether to enable auto scaling or not.",
+ },
+ "retry_policy": {
+ Type: schema.TypeString,
+ Optional: true,
+ ForceNew: true,
+ Description: "Available values for retry policies include `IMMEDIATE_RETRY` and `INCREMENTAL_INTERVALS`.",
+ Default: SCALING_GROUP_RETRY_POLICY_IMMEDIATE_RETRY,
+ ValidateFunc: validateAllowedStringValue([]string{SCALING_GROUP_RETRY_POLICY_IMMEDIATE_RETRY,
+ SCALING_GROUP_RETRY_POLICY_INCREMENTAL_INTERVALS}),
+ },
+ "vpc_id": {
+ Type: schema.TypeString,
+ Required: true,
+ ForceNew: true,
+ Description: "ID of VPC network.",
+ },
+ "subnet_ids": {
+ Type: schema.TypeList,
+ Optional: true,
+ ForceNew: true,
+ Elem: &schema.Schema{Type: schema.TypeString},
+ Description: "ID list of subnet, and for VPC it is required.",
+ },
+ "node_config": {
+ Type: schema.TypeList,
+ Required: true,
+ MaxItems: 1,
+ Elem: &schema.Resource{
+ Schema: TkeInstanceAdvancedSetting(),
+ },
+ Description: "Node config.",
+ },
+ "auto_scaling_config": {
+ Type: schema.TypeList,
+ Required: true,
+ ForceNew: true,
+ MaxItems: 1,
+ Elem: &schema.Resource{
+ Schema: composedKubernetesAsScalingConfigPara(),
+ },
+ Description: "Auto scaling config parameters.",
+ },
+ "labels": {
+ Type: schema.TypeMap,
+ Optional: true,
+ Description: "Labels of kubernetes node pool created nodes. The label key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/').",
+ },
+ "taints": {
+ Type: schema.TypeList,
+ Optional: true,
+ Elem: &schema.Resource{
+ Schema: map[string]*schema.Schema{
+ "key": {
+ Type: schema.TypeString,
+ Required: true,
+ Description: "Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/').",
+ },
+ "value": {
+ Type: schema.TypeString,
+ Required: true,
+ Description: "Value of the taint.",
+ },
+ "effect": {
+ Type: schema.TypeString,
+ Required: true,
+ Description: "Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`.",
+ },
+ },
+ },
+ Description: "Taints of kubernetes node pool created nodes.",
+ },
+ "delete_keep_instance": {
+ Type: schema.TypeBool,
+ Optional: true,
+ Default: true,
+ Description: "Indicate to keep the CVM instance when delete the node pool. Default is `true`.",
+ },
+ "node_os": {
+ Type: schema.TypeString,
+ Optional: true,
+ Default: "tlinux2.4x86_64",
+ Description: "Operating system of the cluster, the available values include: `tlinux2.4x86_64`, `ubuntu18.04.1x86_64`, `ubuntu16.04.1 LTSx86_64`, `centos7.6.0_x64` and `centos7.2x86_64`. Default is 'tlinux2.4x86_64'. This parameter will only affect new nodes, not including the existing nodes.",
+ },
+ "node_os_type": {
+ Type: schema.TypeString,
+ Optional: true,
+ Default: "GENERAL",
+ Description: "The image version of the node. Valida values are `DOCKER_CUSTOMIZE` and `GENERAL`. Default is `GENERAL`. This parameter will only affect new nodes, not including the existing nodes.",
+ },
+ //computed
+ "status": {
+ Type: schema.TypeString,
+ Computed: true,
+ Description: "Status of the node pool.",
+ },
+ "node_count": {
+ Type: schema.TypeInt,
+ Computed: true,
+ Description: "The total node count.",
+ },
+ "launch_config_id": {
+ Type: schema.TypeString,
+ Computed: true,
+ Description: "The launch config ID.",
+ },
+ "auto_scaling_group_id": {
+ Type: schema.TypeString,
+ Computed: true,
+ Description: "The auto scaling group ID.",
+ },
+ },
+ //compare to console, miss cam_role and running_version and lock_initial_node and security_proof
+ }
+}
+
+//this function composes every single parameter to a as scale parameter with json string format
+func composeParameterToAsScalingGroupParaSerial(d *schema.ResourceData) (string, error) {
+ var (
+ result string
+ errRet error
+ )
+
+ request := as.NewCreateAutoScalingGroupRequest()
+
+ //this is an empty string
+ request.MaxSize = helper.IntUint64(d.Get("max_size").(int))
+ request.MinSize = helper.IntUint64(d.Get("min_size").(int))
+
+ if *request.MinSize > *request.MaxSize {
+ return "", fmt.Errorf("constraints `min_size <= desired_capacity <= max_size` must be established,")
+ }
+
+ request.VpcId = helper.String(d.Get("vpc_id").(string))
+
+ if v, ok := d.GetOk("desired_capacity"); ok {
+ request.DesiredCapacity = helper.IntUint64(v.(int))
+ if *request.DesiredCapacity > *request.MaxSize ||
+ *request.DesiredCapacity < *request.MinSize {
+ return "", fmt.Errorf("constraints `min_size <= desired_capacity <= max_size` must be established,")
+ }
+
+ }
+
+ if v, ok := d.GetOk("retry_policy"); ok {
+ request.RetryPolicy = helper.String(v.(string))
+ }
+
+ if v, ok := d.GetOk("subnet_ids"); ok {
+ subnetIds := v.([]interface{})
+ request.SubnetIds = make([]*string, 0, len(subnetIds))
+ for i := range subnetIds {
+ subnetId := subnetIds[i].(string)
+ request.SubnetIds = append(request.SubnetIds, &subnetId)
+ }
+ }
+
+ result = request.ToJsonString()
+
+ return result, errRet
+}
+
+//this function is similar to kubernetesAsScalingConfigParaSerial, but less parameter
+func comosedKubernetesAsScalingConfigParaSerial(dMap map[string]interface{}, meta interface{}) (string, error) {
+ var (
+ result string
+ errRet error
+ )
+
+ request := as.NewCreateLaunchConfigurationRequest()
+
+ instanceType := dMap["instance_type"].(string)
+ request.InstanceType = &instanceType
+
+ request.SystemDisk = &as.SystemDisk{}
+ if v, ok := dMap["system_disk_type"]; ok {
+ request.SystemDisk.DiskType = helper.String(v.(string))
+ }
+
+ if v, ok := dMap["system_disk_size"]; ok {
+ request.SystemDisk.DiskSize = helper.IntUint64(v.(int))
+ }
+
+ if v, ok := dMap["data_disk"]; ok {
+ dataDisks := v.([]interface{})
+ request.DataDisks = make([]*as.DataDisk, 0, len(dataDisks))
+ for _, d := range dataDisks {
+ value := d.(map[string]interface{})
+ diskType := value["disk_type"].(string)
+ diskSize := uint64(value["disk_size"].(int))
+ snapshotId := value["snapshot_id"].(string)
+ dataDisk := as.DataDisk{
+ DiskType: &diskType,
+ DiskSize: &diskSize,
+ }
+ if snapshotId != "" {
+ dataDisk.SnapshotId = &snapshotId
+ }
+ request.DataDisks = append(request.DataDisks, &dataDisk)
+ }
+ }
+
+ request.InternetAccessible = &as.InternetAccessible{}
+ if v, ok := dMap["internet_charge_type"]; ok {
+ request.InternetAccessible.InternetChargeType = helper.String(v.(string))
+ }
+
+ request.LoginSettings = &as.LoginSettings{}
+
+ if v, ok := dMap["password"]; ok {
+ request.LoginSettings.Password = helper.String(v.(string))
+ }
+ if v, ok := dMap["key_ids"]; ok {
+ keyIds := v.([]interface{})
+ request.LoginSettings.KeyIds = make([]*string, 0, len(keyIds))
+ for i := range keyIds {
+ keyId := keyIds[i].(string)
+ request.LoginSettings.KeyIds = append(request.LoginSettings.KeyIds, &keyId)
+ }
+ }
+
+ if request.LoginSettings.Password != nil && *request.LoginSettings.Password == "" {
+ request.LoginSettings.Password = nil
+ }
+
+ if request.LoginSettings.Password == nil && len(request.LoginSettings.KeyIds) == 0 {
+ errRet = fmt.Errorf("Parameters `key_ids` and `password` should be set one")
+ return result, errRet
+ }
+
+ if request.LoginSettings.Password != nil && len(request.LoginSettings.KeyIds) != 0 {
+ errRet = fmt.Errorf("Parameters `key_ids` and `password` can only be supported one")
+ return result, errRet
+ }
+
+ if v, ok := dMap["security_group_ids"]; ok {
+ securityGroups := v.([]interface{})
+ request.SecurityGroupIds = make([]*string, 0, len(securityGroups))
+ for i := range securityGroups {
+ securityGroup := securityGroups[i].(string)
+ request.SecurityGroupIds = append(request.SecurityGroupIds, &securityGroup)
+ }
+ }
+
+ request.EnhancedService = &as.EnhancedService{}
+
+ if v, ok := dMap["enhanced_security_service"]; ok {
+ securityService := v.(bool)
+ request.EnhancedService.SecurityService = &as.RunSecurityServiceEnabled{
+ Enabled: &securityService,
+ }
+ }
+ if v, ok := dMap["enhanced_monitor_service"]; ok {
+ monitorService := v.(bool)
+ request.EnhancedService.MonitorService = &as.RunMonitorServiceEnabled{
+ Enabled: &monitorService,
+ }
+ }
+
+ chargeType := INSTANCE_CHARGE_TYPE_POSTPAID
+ request.InstanceChargeType = &chargeType
+
+ result = request.ToJsonString()
+ return result, errRet
+}
+
+func resourceKubernetesNodePoolRead(d *schema.ResourceData, meta interface{}) error {
+ defer logElapsed("resource.tencentcloud_kubernetes_node_pool.read")()
+
+ var (
+ logId = getLogId(contextNil)
+ ctx = context.WithValue(context.TODO(), logIdKey, logId)
+ service = TkeService{client: meta.(*TencentCloudClient).apiV3Conn}
+ items = strings.Split(d.Id(), FILED_SP)
+ )
+ if len(items) != 2 {
+ return fmt.Errorf("resource_tc_kubernetes_node_pool id is broken")
+ }
+ clusterId := items[0]
+ nodePoolId := items[1]
+
+ _, has, err := service.DescribeCluster(ctx, clusterId)
+ if err != nil {
+ err = resource.Retry(readRetryTimeout, func() *resource.RetryError {
+ _, has, err = service.DescribeCluster(ctx, clusterId)
+ if err != nil {
+ return retryError(err)
+ }
+ return nil
+ })
+ }
+
+ if err != nil {
+ return nil
+ }
+
+ if !has {
+ d.SetId("")
+ return nil
+ }
+
+ //Describe Node Pool
+ nodePool, has, err := service.DescribeNodePool(ctx, clusterId, nodePoolId)
+ if err != nil {
+ err = resource.Retry(readRetryTimeout, func() *resource.RetryError {
+ _, has, err = service.DescribeNodePool(ctx, clusterId, nodePoolId)
+ if err != nil {
+ return retryError(err)
+ }
+ return nil
+ })
+ }
+
+ if err != nil {
+ return nil
+ }
+
+ if !has {
+ d.SetId("")
+ return nil
+ }
+
+ //set not force new parameters
+ d.Set("max_size", nodePool.MaxNodesNum)
+ d.Set("min_size", nodePool.MinNodesNum)
+ d.Set("desired_capacity", nodePool.DesiredNodesNum)
+ d.Set("name", nodePool.Name)
+ d.Set("status", nodePool.LifeState)
+ d.Set("node_count", nodePool.NodeCountSummary)
+ d.Set("auto_scaling_group_id", nodePool.AutoscalingGroupId)
+ d.Set("launch_config_id", nodePool.LaunchConfigurationId)
+ d.Set("enable_auto_scale", *nodePool.AutoscalingGroupStatus == "enabled")
+ d.Set("node_os", *nodePool.NodePoolOs)
+ d.Set("node_system_type", *nodePool.OsCustomizeType)
+
+ //set composed struct
+ lables := make(map[string]interface{}, len(nodePool.Labels))
+ for _, v := range nodePool.Labels {
+ lables[*v.Name] = *v.Value
+ }
+ d.Set("labels", lables)
+
+ taints := make([]map[string]interface{}, len(nodePool.Taints))
+ for i, v := range nodePool.Taints {
+ taint := map[string]interface{}{
+ "key": *v.Key,
+ "value": *v.Value,
+ "effect": *v.Effect,
+ }
+ taints[i] = taint
+ }
+ d.Set("taints", taints)
+
+ return nil
+}
+
+func resourceKubernetesNodePoolCreate(d *schema.ResourceData, meta interface{}) error {
+ defer logElapsed("resource.tencentcloud_kubernetes_node_pool.create")()
+ var (
+ logId = getLogId(contextNil)
+ ctx = context.WithValue(context.TODO(), logIdKey, logId)
+ clusterId = d.Get("cluster_id").(string)
+ nodeConfig = d.Get("node_config").([]interface{})
+ enableAutoScale = d.Get("enable_auto_scale").(bool)
+ configParas = d.Get("auto_scaling_config").([]interface{})
+ name = d.Get("name").(string)
+ iAdvanced tke.InstanceAdvancedSettings
+ )
+ if len(configParas) != 1 {
+ return fmt.Errorf("need only one auto_scaling_config")
+ }
+
+ if len(nodeConfig) != 1 {
+ return fmt.Errorf("need only one node_config")
+ }
+
+ groupParaStr, err := composeParameterToAsScalingGroupParaSerial(d)
+ if err != nil {
+ return err
+ }
+
+ configParaStr, err := comosedKubernetesAsScalingConfigParaSerial(configParas[0].(map[string]interface{}), meta)
+ if err != nil {
+ return err
+ }
+
+ labels := GetTkeLabels(d, "labels")
+ taints := GetTkeTaints(d, "taints")
+
+ //compose InstanceAdvancedSettings
+ if workConfig, ok := d.GetOk("node_config"); ok {
+ workConfigList := workConfig.([]interface{})
+ if len(workConfigList) == 1 {
+ workConfigPara := workConfigList[0].(map[string]interface{})
+ setting := tkeGetInstanceAdvancedPara(workConfigPara, meta)
+ iAdvanced = setting
+ }
+ }
+
+ if temp, ok := d.GetOk("extra_args"); ok {
+ extraArgs := helper.InterfacesStrings(temp.([]interface{}))
+ for _, extraArg := range extraArgs {
+ iAdvanced.ExtraArgs.Kubelet = append(iAdvanced.ExtraArgs.Kubelet, &extraArg)
+ }
+ }
+
+ service := TkeService{client: meta.(*TencentCloudClient).apiV3Conn}
+
+ nodePoolId, err := service.CreateClusterNodePool(ctx, clusterId, name, groupParaStr, configParaStr, enableAutoScale, labels, taints, iAdvanced)
+ if err != nil {
+ return err
+ }
+
+ d.SetId(clusterId + FILED_SP + nodePoolId)
+
+ // wait for status ok
+ err = resource.Retry(5*readRetryTimeout, func() *resource.RetryError {
+ nodePool, _, errRet := service.DescribeNodePool(ctx, clusterId, nodePoolId)
+ if errRet != nil {
+ return retryError(errRet, InternalError)
+ }
+ if nodePool != nil && *nodePool.LifeState == "normal" {
+ return nil
+ }
+ return resource.RetryableError(fmt.Errorf("node pool status is %s, retry...", *nodePool.LifeState))
+ })
+ if err != nil {
+ return err
+ }
+
+ //modify os and image
+ err = resourceKubernetesNodePoolUpdate(d, meta)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func resourceKubernetesNodePoolUpdate(d *schema.ResourceData, meta interface{}) error {
+ defer logElapsed("resource.tencentcloud_kubernetes_node_pool.update")()
+
+ var (
+ logId = getLogId(contextNil)
+ ctx = context.WithValue(context.TODO(), logIdKey, logId)
+ service = TkeService{client: meta.(*TencentCloudClient).apiV3Conn}
+ items = strings.Split(d.Id(), FILED_SP)
+ )
+ if len(items) != 2 {
+ return fmt.Errorf("resource_tc_kubernetes_node_pool id is broken")
+ }
+ clusterId := items[0]
+ nodePoolId := items[1]
+
+ d.Partial(true)
+
+ if d.HasChange("min_size") || d.HasChange("max_size") || d.HasChange("name") || d.HasChange("labels") || d.HasChange("taints") || d.HasChange("enable_auto_scale") || d.HasChange("node_os_type") || d.HasChange("node_os") {
+ maxSize := int64(d.Get("max_size").(int))
+ minSize := int64(d.Get("min_size").(int))
+ enableAutoScale := d.Get("enable_auto_scale").(bool)
+ name := d.Get("name").(string)
+ nodeOs := d.Get("node_os").(string)
+ nodeOsType := d.Get("node_os_type").(string)
+ labels := GetTkeLabels(d, "labels")
+ taints := GetTkeTaints(d, "taints")
+ err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
+ errRet := service.ModifyClusterNodePool(ctx, clusterId, nodePoolId, name, enableAutoScale, minSize, maxSize, nodeOs, nodeOsType, labels, taints)
+ if errRet != nil {
+ return retryError(errRet)
+ }
+ return nil
+ })
+ if err != nil {
+ return err
+ }
+ d.SetPartial("min_size")
+ d.SetPartial("max_size")
+ d.SetPartial("name")
+ d.SetPartial("enable_auto_scale")
+ d.SetPartial("node_os")
+ d.SetPartial("node_os_type")
+ d.SetPartial("labels")
+ d.SetPartial("taints")
+ }
+
+ if d.HasChange("desired_capacity") {
+ desiredCapacity := int64(d.Get("desired_capacity").(int))
+ err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
+ errRet := service.ModifyClusterNodePoolDesiredCapacity(ctx, clusterId, nodePoolId, desiredCapacity)
+ if errRet != nil {
+ return retryError(errRet)
+ }
+ return nil
+ })
+ if err != nil {
+ return err
+ }
+ d.SetPartial("desired_capacity")
+ }
+ d.Partial(false)
+
+ return resourceKubernetesNodePoolRead(d, meta)
+}
+
+func resourceKubernetesNodePoolDelete(d *schema.ResourceData, meta interface{}) error {
+ defer logElapsed("resource.tencentcloud_kubernetes_node_pool.delete")()
+
+ var (
+ logId = getLogId(contextNil)
+ ctx = context.WithValue(context.TODO(), logIdKey, logId)
+ service = TkeService{client: meta.(*TencentCloudClient).apiV3Conn}
+ items = strings.Split(d.Id(), FILED_SP)
+ deleteKeepInstance = d.Get("delete_keep_instance").(bool)
+ )
+ if len(items) != 2 {
+ return fmt.Errorf("resource_tc_kubernetes_node_pool id is broken")
+ }
+ clusterId := items[0]
+ nodePoolId := items[1]
+
+ //delete as group
+ hasDelete := false
+ err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
+ err := service.DeleteClusterNodePool(ctx, clusterId, nodePoolId, deleteKeepInstance)
+
+ if sdkErr, ok := err.(*sdkErrors.TencentCloudSDKError); ok {
+ if sdkErr.Code == "InternalError.Param" && strings.Contains(sdkErr.Message, "Not Found") {
+ hasDelete = true
+ return nil
+ }
+ }
+ if err != nil {
+ return retryError(err, InternalError)
+ }
+ return nil
+ })
+
+ if err != nil {
+ return err
+ }
+
+ if hasDelete {
+ return nil
+ }
+
+ // wait for delete ok
+ err = resource.Retry(5*readRetryTimeout, func() *resource.RetryError {
+ nodePool, has, errRet := service.DescribeNodePool(ctx, clusterId, nodePoolId)
+ if errRet != nil {
+ return retryError(errRet, InternalError)
+ }
+ if has {
+ resource.RetryableError(fmt.Errorf("node pool %s still alive, status %s", nodePoolId, *nodePool.LifeState))
+ }
+ return nil
+ })
+
+ return err
+}
diff --git a/tencentcloud/resource_tc_kubernetes_node_pool_test.go b/tencentcloud/resource_tc_kubernetes_node_pool_test.go
new file mode 100644
index 0000000000..0707a2dd61
--- /dev/null
+++ b/tencentcloud/resource_tc_kubernetes_node_pool_test.go
@@ -0,0 +1,272 @@
+package tencentcloud
+
+import (
+ "context"
+ "fmt"
+ "strings"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/resource"
+ "github.com/hashicorp/terraform-plugin-sdk/terraform"
+)
+
+var testTkeClusterNodePoolName = "tencentcloud_kubernetes_node_pool"
+var testTkeClusterNodePoolResourceKey = testTkeClusterNodePoolName + ".np_test"
+
+func TestAccTencentCloudTkeNodePoolResource(t *testing.T) {
+ resource.Test(t, resource.TestCase{
+ PreCheck: func() { testAccPreCheck(t) },
+ Providers: testAccProviders,
+ CheckDestroy: testAccCheckTkeNodePoolDestroy,
+ Steps: []resource.TestStep{
+ {
+ Config: testAccTkeNodePoolCluster,
+ Check: resource.ComposeTestCheckFunc(
+ testAccCheckTkeNodePoolExists,
+ resource.TestCheckResourceAttrSet(testTkeClusterNodePoolResourceKey, "cluster_id"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "node_config.#", "1"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.#", "1"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "taints.#", "1"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "labels.test1", "test1"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "labels.test2", "test2"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "max_size", "6"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "min_size", "1"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "desired_capacity", "1"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "name", "mynodepool"),
+ ),
+ },
+ {
+ Config: testAccTkeNodePoolClusterUpdate,
+ Check: resource.ComposeTestCheckFunc(
+ testAccCheckTkeNodePoolExists,
+ resource.TestCheckResourceAttrSet(testTkeClusterNodePoolResourceKey, "cluster_id"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "node_config.#", "1"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "auto_scaling_config.#", "1"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "max_size", "5"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "min_size", "2"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "labels.test3", "test3"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "desired_capacity", "2"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "name", "mynodepoolupdate"),
+ resource.TestCheckResourceAttr(testTkeClusterNodePoolResourceKey, "node_os", "ubuntu18.04.1x86_64"),
+ ),
+ },
+ },
+ })
+}
+
+func testAccCheckTkeNodePoolDestroy(s *terraform.State) error {
+ logId := getLogId(contextNil)
+ ctx := context.WithValue(context.TODO(), logIdKey, logId)
+
+ service := TkeService{
+ client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn,
+ }
+
+ rs, ok := s.RootModule().Resources[testTkeClusterNodePoolResourceKey]
+ if !ok {
+ return fmt.Errorf("tke node pool %s is not found", testTkeClusterNodePoolResourceKey)
+ }
+ if rs.Primary.ID == "" {
+ return fmt.Errorf("tke node pool id is not set")
+ }
+ items := strings.Split(rs.Primary.ID, FILED_SP)
+ if len(items) != 2 {
+ return fmt.Errorf("resource_tc_kubernetes_node_pool id %s is broken", rs.Primary.ID)
+ }
+ clusterId := items[0]
+ nodePoolId := items[1]
+
+ _, has, err := service.DescribeNodePool(ctx, clusterId, nodePoolId)
+ if err != nil {
+ return err
+ }
+ if !has {
+ return nil
+ } else {
+ return fmt.Errorf("tke node pool %s still exist", nodePoolId)
+ }
+
+}
+
+func testAccCheckTkeNodePoolExists(s *terraform.State) error {
+
+ logId := getLogId(contextNil)
+ ctx := context.WithValue(context.TODO(), logIdKey, logId)
+
+ service := TkeService{
+ client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn,
+ }
+
+ rs, ok := s.RootModule().Resources[testTkeClusterNodePoolResourceKey]
+ if !ok {
+ return fmt.Errorf("tke node pool %s is not found", testTkeClusterNodePoolResourceKey)
+ }
+ if rs.Primary.ID == "" {
+ return fmt.Errorf("tke node pool id is not set")
+ }
+
+ items := strings.Split(rs.Primary.ID, FILED_SP)
+ if len(items) != 2 {
+ return fmt.Errorf("resource_tc_kubernetes_node_pool id %s is broken", rs.Primary.ID)
+ }
+ clusterId := items[0]
+ nodePoolId := items[1]
+
+ _, has, err := service.DescribeNodePool(ctx, clusterId, nodePoolId)
+ if err != nil {
+ return err
+ }
+ if has {
+ return nil
+ } else {
+ return fmt.Errorf("tke node pool %s query fail.", nodePoolId)
+ }
+
+}
+
+const testAccTkeNodePoolClusterBasic = `
+variable "availability_zone" {
+ default = "ap-guangzhou-3"
+}
+
+variable "cluster_cidr" {
+ default = "172.31.0.0/16"
+}
+
+data "tencentcloud_vpc_subnets" "vpc" {
+ is_default = true
+ availability_zone = var.availability_zone
+}
+
+variable "default_instance_type" {
+ default = "S1.SMALL1"
+}
+
+resource "tencentcloud_kubernetes_cluster" "managed_cluster" {
+ vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
+ cluster_cidr = var.cluster_cidr
+ cluster_max_pod_num = 32
+ cluster_name = "tf-tke-unit-test"
+ cluster_desc = "test cluster desc"
+ cluster_max_service_num = 32
+ cluster_version = "1.18.4"
+
+ worker_config {
+ count = 1
+ availability_zone = var.availability_zone
+ instance_type = var.default_instance_type
+ system_disk_type = "CLOUD_SSD"
+ system_disk_size = 60
+ internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR"
+ internet_max_bandwidth_out = 100
+ public_ip_assigned = true
+ subnet_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id
+
+ data_disk {
+ disk_type = "CLOUD_PREMIUM"
+ disk_size = 50
+ }
+
+ enhanced_security_service = false
+ enhanced_monitor_service = false
+ user_data = "dGVzdA=="
+ password = "ZZXXccvv1212"
+ }
+
+ cluster_deploy_type = "MANAGED_CLUSTER"
+}`
+
+const testAccTkeNodePoolCluster string = testAccTkeNodePoolClusterBasic + `
+resource "tencentcloud_kubernetes_node_pool" "np_test" {
+ name = "mynodepool"
+ cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id
+ max_size = 6
+ min_size = 1
+ vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
+ subnet_ids = [data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id]
+ retry_policy = "INCREMENTAL_INTERVALS"
+ desired_capacity = 1
+ enable_auto_scale = true
+
+ auto_scaling_config {
+ instance_type = var.default_instance_type
+ system_disk_type = "CLOUD_PREMIUM"
+ system_disk_size = "50"
+ security_group_ids = ["sg-24vswocp"]
+
+ data_disk {
+ disk_type = "CLOUD_PREMIUM"
+ disk_size = 50
+ }
+
+ internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR"
+ password = "test123#"
+ enhanced_security_service = false
+ enhanced_monitor_service = false
+
+ }
+
+ labels = {
+ "test1" = "test1",
+ "test2" = "test2",
+ }
+
+ taints {
+ key = "test_taint"
+ value = "taint_value"
+ effect = "PreferNoSchedule"
+ }
+
+ node_config {
+ extra_args = [
+ "root-dir=/var/lib/kubelet"
+ ]
+ }
+}
+
+`
+
+const testAccTkeNodePoolClusterUpdate string = testAccTkeNodePoolClusterBasic + `
+resource "tencentcloud_kubernetes_node_pool" "np_test" {
+ name = "mynodepoolupdate"
+ cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id
+ max_size = 5
+ min_size = 2
+ vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
+ subnet_ids = [data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id]
+ retry_policy = "INCREMENTAL_INTERVALS"
+ desired_capacity = 2
+ enable_auto_scale = false
+ node_os = "ubuntu18.04.1x86_64"
+ delete_keep_instance = true
+
+ auto_scaling_config {
+ instance_type = var.default_instance_type
+ system_disk_type = "CLOUD_PREMIUM"
+ system_disk_size = "50"
+ security_group_ids = ["sg-24vswocp"]
+
+ data_disk {
+ disk_type = "CLOUD_PREMIUM"
+ disk_size = 50
+ }
+
+ internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR"
+ password = "test123#"
+ enhanced_security_service = false
+ enhanced_monitor_service = false
+
+ }
+
+ labels = {
+ "test3" = "test3",
+ "test2" = "test2",
+ }
+
+ node_config {
+ extra_args = [
+ "root-dir=/var/lib/kubelet"
+ ]
+ }
+}
+`
diff --git a/tencentcloud/service_tencentcloud_tke.go b/tencentcloud/service_tencentcloud_tke.go
index ec57dca637..ef5d687741 100644
--- a/tencentcloud/service_tencentcloud_tke.go
+++ b/tencentcloud/service_tencentcloud_tke.go
@@ -861,6 +861,17 @@ func GetTkeLabels(d *schema.ResourceData, k string) []*tke.Label {
return labels
}
+func GetTkeTaints(d *schema.ResourceData, k string) []*tke.Taint {
+ taints := make([]*tke.Taint, 0)
+ if raw, ok := d.GetOk(k); ok {
+ for _, v := range raw.([]interface{}) {
+ vv := v.(map[string]interface{})
+ taints = append(taints, &tke.Taint{Key: helper.String(vv["key"].(string)), Value: helper.String(vv["value"].(string)), Effect: helper.String(vv["effect"].(string))})
+ }
+ }
+ return taints
+}
+
func (me *TkeService) ModifyClusterAsGroupAttribute(ctx context.Context, id, asGroupId string, maxSize, minSize int64) (errRet error) {
logId := getLogId(ctx)
@@ -887,3 +898,168 @@ func (me *TkeService) ModifyClusterAsGroupAttribute(ctx context.Context, id, asG
}
return
}
+
+func (me *TkeService) CreateClusterNodePool(ctx context.Context, clusterId, name, groupPara, configPara string, enableAutoScale bool, labels []*tke.Label, taints []*tke.Taint, iAdvanced tke.InstanceAdvancedSettings) (asGroupId string, errRet error) {
+ logId := getLogId(ctx)
+ request := tke.NewCreateClusterNodePoolRequest()
+
+ defer func() {
+ if errRet != nil {
+ log.Printf("[CRITAL]%s api[%s] fail, reason[%s]\n", logId, request.GetAction(), errRet.Error())
+ }
+ }()
+ request.ClusterId = &clusterId
+ request.Name = &name
+ request.AutoScalingGroupPara = &groupPara
+ request.LaunchConfigurePara = &configPara
+ request.InstanceAdvancedSettings = &iAdvanced
+ request.EnableAutoscale = &enableAutoScale
+
+ if len(labels) > 0 {
+ request.Labels = labels
+ }
+
+ if len(taints) > 0 {
+ request.Taints = taints
+ }
+
+ ratelimit.Check(request.GetAction())
+ response, err := me.client.UseTkeClient().CreateClusterNodePool(request)
+ if err != nil {
+ errRet = err
+ return
+ }
+
+ if response == nil || response.Response == nil || response.Response.NodePoolId == nil {
+ errRet = fmt.Errorf("CreateClusterNodePool return nil response")
+ return
+ }
+
+ asGroupId = *response.Response.NodePoolId
+ return
+}
+
+func (me *TkeService) ModifyClusterNodePool(ctx context.Context, clusterId, nodePoolId string, name string, enableAutoScale bool, minSize int64, maxSize int64, nodeOs string, nodeOsType string, labels []*tke.Label, taints []*tke.Taint) (errRet error) {
+ logId := getLogId(ctx)
+ request := tke.NewModifyClusterNodePoolRequest()
+
+ defer func() {
+ if errRet != nil {
+ log.Printf("[CRITAL]%s api[%s] fail, reason[%s]\n", logId, request.GetAction(), errRet.Error())
+ }
+ }()
+ request.ClusterId = &clusterId
+ request.NodePoolId = &nodePoolId
+ request.Taints = taints
+ request.Labels = labels
+ request.EnableAutoscale = &enableAutoScale
+ request.MaxNodesNum = &maxSize
+ request.MinNodesNum = &minSize
+ request.Name = &name
+ request.OsName = &nodeOs
+ request.OsCustomizeType = &nodeOsType
+
+ if len(labels) > 0 {
+ request.Labels = labels
+ }
+
+ ratelimit.Check(request.GetAction())
+ _, err := me.client.UseTkeClient().ModifyClusterNodePool(request)
+ if err != nil {
+ errRet = err
+ return
+ }
+ return
+}
+
+func (me *TkeService) ModifyClusterNodePoolDesiredCapacity(ctx context.Context, clusterId, nodePoolId string, desiredCapacity int64) (errRet error) {
+ logId := getLogId(ctx)
+ request := tke.NewModifyNodePoolDesiredCapacityAboutAsgRequest()
+
+ defer func() {
+ if errRet != nil {
+ log.Printf("[CRITAL]%s api[%s] fail, reason[%s]\n", logId, request.GetAction(), errRet.Error())
+ }
+ }()
+ request.ClusterId = &clusterId
+ request.NodePoolId = &nodePoolId
+ request.DesiredCapacity = &desiredCapacity
+
+ ratelimit.Check(request.GetAction())
+ _, err := me.client.UseTkeClient().ModifyNodePoolDesiredCapacityAboutAsg(request)
+ if err != nil {
+ errRet = err
+ return
+ }
+ return
+}
+
+func (me *TkeService) DeleteClusterNodePool(ctx context.Context, id, nodePoolId string, deleteKeepInstance bool) (errRet error) {
+
+ logId := getLogId(ctx)
+ request := tke.NewDeleteClusterNodePoolRequest()
+
+ defer func() {
+ if errRet != nil {
+ log.Printf("[CRITAL]%s api[%s] fail, reason[%s]\n", logId, request.GetAction(), errRet.Error())
+ }
+ }()
+ request.ClusterId = &id
+ request.NodePoolIds = []*string{&nodePoolId}
+ request.KeepInstance = &deleteKeepInstance
+
+ ratelimit.Check(request.GetAction())
+ _, err := me.client.UseTkeClient().DeleteClusterNodePool(request)
+ if err != nil {
+ errRet = err
+ }
+ return
+}
+
+func (me *TkeService) DescribeNodePool(ctx context.Context, clusterId string, nodePoolId string) (
+ nodePool *tke.NodePool,
+ has bool,
+ errRet error,
+) {
+
+ logId := getLogId(ctx)
+ //the error code of cluster not exist is InternalError
+ //check cluster exist first
+ _, clusterHas, err := me.DescribeCluster(ctx, clusterId)
+ if err != nil {
+ errRet = err
+ return
+ }
+ if !clusterHas {
+ return
+ }
+
+ request := tke.NewDescribeClusterNodePoolDetailRequest()
+
+ defer func() {
+ if errRet != nil {
+ log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n",
+ logId, request.GetAction(), request.ToJsonString(), errRet.Error())
+ }
+ }()
+
+ request.ClusterId = helper.String(clusterId)
+ request.NodePoolId = helper.String(nodePoolId)
+
+ ratelimit.Check(request.GetAction())
+ response, err := me.client.UseTkeClient().DescribeClusterNodePoolDetail(request)
+
+ if err != nil {
+ errRet = err
+ return
+ }
+
+ if response.Response.NodePool == nil {
+ return
+ }
+
+ has = true
+ nodePool = response.Response.NodePool
+
+ return
+}
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway/v20180808/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway/v20180808/models.go
index 16725136b1..26aa7c055e 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway/v20180808/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway/v20180808/models.go
@@ -603,6 +603,9 @@ type BindSubDomainRequest struct {
// 自定义域名路径映射,最多输入三个Environment,并且只能分别取值“test”、 ”prepub“、”release“。
PathMappingSet []*PathMapping `json:"PathMappingSet,omitempty" name:"PathMappingSet" list`
+
+ // 是否将HTTP请求强制跳转 HTTPS,默认为false。参数为 true时,API网关会将所有使用该自定义域名的 HTTP 协议的请求重定向至 HTTPS 协议进行转发。
+ IsForcedHttps *bool `json:"IsForcedHttps,omitempty" name:"IsForcedHttps"`
}
func (r *BindSubDomainRequest) ToJsonString() string {
@@ -618,6 +621,10 @@ type BindSubDomainResponse struct {
*tchttp.BaseResponse
Response *struct {
+ // 绑定操作是否成功。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Result *bool `json:"Result,omitempty" name:"Result"`
+
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
@@ -3326,6 +3333,9 @@ type ModifySubDomainRequest struct {
// 网络类型 ('INNER' 或 'OUTER')
NetType *string `json:"NetType,omitempty" name:"NetType"`
+
+ // 是否将HTTP请求强制跳转 HTTPS,默认为false。参数为 true时,API网关会将所有使用该自定义域名的 HTTP 协议的请求重定向至 HTTPS 协议进行转发。
+ IsForcedHttps *bool `json:"IsForcedHttps,omitempty" name:"IsForcedHttps"`
}
func (r *ModifySubDomainRequest) ToJsonString() string {
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/client.go
index a08f987485..acaa045c23 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/client.go
@@ -561,6 +561,31 @@ func (c *Client) GetSnapOverview(request *GetSnapOverviewRequest) (response *Get
return
}
+func NewInquirePriceModifyDiskExtraPerformanceRequest() (request *InquirePriceModifyDiskExtraPerformanceRequest) {
+ request = &InquirePriceModifyDiskExtraPerformanceRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("cbs", APIVersion, "InquirePriceModifyDiskExtraPerformance")
+ return
+}
+
+func NewInquirePriceModifyDiskExtraPerformanceResponse() (response *InquirePriceModifyDiskExtraPerformanceResponse) {
+ response = &InquirePriceModifyDiskExtraPerformanceResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 本接口(InquirePriceModifyDiskExtraPerformance)用于调整云硬盘额外性能询价。
+func (c *Client) InquirePriceModifyDiskExtraPerformance(request *InquirePriceModifyDiskExtraPerformanceRequest) (response *InquirePriceModifyDiskExtraPerformanceResponse, err error) {
+ if request == nil {
+ request = NewInquirePriceModifyDiskExtraPerformanceRequest()
+ }
+ response = NewInquirePriceModifyDiskExtraPerformanceResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewInquiryPriceCreateDisksRequest() (request *InquiryPriceCreateDisksRequest) {
request = &InquiryPriceCreateDisksRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -699,6 +724,33 @@ func (c *Client) ModifyDiskAttributes(request *ModifyDiskAttributesRequest) (res
return
}
+func NewModifyDiskExtraPerformanceRequest() (request *ModifyDiskExtraPerformanceRequest) {
+ request = &ModifyDiskExtraPerformanceRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("cbs", APIVersion, "ModifyDiskExtraPerformance")
+ return
+}
+
+func NewModifyDiskExtraPerformanceResponse() (response *ModifyDiskExtraPerformanceResponse) {
+ response = &ModifyDiskExtraPerformanceResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 本接口(ModifyDiskExtraPerformance)用于调整云硬盘额外的性能。
+//
+// * 目前仅支持极速型SSD云硬盘(CLOUD_TSSD)和高性能SSD云硬盘(CLOUD_HSSD)。
+func (c *Client) ModifyDiskExtraPerformance(request *ModifyDiskExtraPerformanceRequest) (response *ModifyDiskExtraPerformanceResponse, err error) {
+ if request == nil {
+ request = NewModifyDiskExtraPerformanceRequest()
+ }
+ response = NewModifyDiskExtraPerformanceResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewModifyDisksChargeTypeRequest() (request *ModifyDisksChargeTypeRequest) {
request = &ModifyDisksChargeTypeRequest{
BaseRequest: &tchttp.BaseRequest{},
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/models.go
index 1919ec8366..145f2ef9e4 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/models.go
@@ -237,7 +237,7 @@ func (r *CreateAutoSnapshotPolicyResponse) FromJsonString(s string) error {
type CreateDisksRequest struct {
*tchttp.BaseRequest
- // 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘。
+ // 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘
CLOUD_TSSD:表示极速型SSD云硬盘。
DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
// 云硬盘计费类型。
PREPAID:预付费,即包年包月
POSTPAID_BY_HOUR:按小时后付费
CDCPAID:独享集群付费
各类型价格请参考云硬盘[价格总览](/document/product/362/2413)。
@@ -272,6 +272,9 @@ type CreateDisksRequest struct {
// 可选参数,默认为False。传入True时,云盘将创建为共享型云盘。
Shareable *bool `json:"Shareable,omitempty" name:"Shareable"`
+
+ // 可选参数。使用此参数可给云硬盘购买额外的性能。
当前仅支持极速型云盘(CLOUD_TSSD)和增强型SSD云硬盘(CLOUD_HSSD)
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
}
func (r *CreateDisksRequest) ToJsonString() string {
@@ -1131,10 +1134,50 @@ type Image struct {
ImageName *string `json:"ImageName,omitempty" name:"ImageName"`
}
+type InquirePriceModifyDiskExtraPerformanceRequest struct {
+ *tchttp.BaseRequest
+
+ // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+
+ // 额外购买的云硬盘性能值,单位MB/s。
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+}
+
+func (r *InquirePriceModifyDiskExtraPerformanceRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *InquirePriceModifyDiskExtraPerformanceRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type InquirePriceModifyDiskExtraPerformanceResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 描述了调整云盘额外性能时对应的价格。
+ DiskPrice *Price `json:"DiskPrice,omitempty" name:"DiskPrice"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *InquirePriceModifyDiskExtraPerformanceResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *InquirePriceModifyDiskExtraPerformanceResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type InquiryPriceCreateDisksRequest struct {
*tchttp.BaseRequest
- // 云硬盘类型。取值范围:
普通云硬盘:CLOUD_BASIC
高性能云硬盘:CLOUD_PREMIUM
SSD云硬盘:CLOUD_SSD。
+ // 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘
CLOUD_TSSD:表示极速型SSD云硬盘。
DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
// 云硬盘大小,单位为GB。云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
@@ -1151,6 +1194,9 @@ type InquiryPriceCreateDisksRequest struct {
// 云盘所属项目ID。
ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+
+ // 额外购买的云硬盘性能值,单位MB/s。
目前仅支持增强型SSD云硬盘(CLOUD_HSSD)和极速型SSD云硬盘(CLOUD_TSSD)
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
}
func (r *InquiryPriceCreateDisksRequest) ToJsonString() string {
@@ -1370,6 +1416,43 @@ func (r *ModifyDiskAttributesResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type ModifyDiskExtraPerformanceRequest struct {
+ *tchttp.BaseRequest
+
+ // 需要创建快照的云硬盘ID,可通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+
+ // 额外购买的云硬盘性能值,单位MB/s。
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+}
+
+func (r *ModifyDiskExtraPerformanceRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ModifyDiskExtraPerformanceRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ModifyDiskExtraPerformanceResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *ModifyDiskExtraPerformanceResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ModifyDiskExtraPerformanceResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type ModifyDisksChargeTypeRequest struct {
*tchttp.BaseRequest
@@ -1587,6 +1670,22 @@ type Price struct {
// 后付费云盘折扣单价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
UnitPriceDiscount *float64 `json:"UnitPriceDiscount,omitempty" name:"UnitPriceDiscount"`
+
+ // 高精度预付费云盘预支费用的原价, 单位:元 。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ OriginalPriceHigh *string `json:"OriginalPriceHigh,omitempty" name:"OriginalPriceHigh"`
+
+ // 高精度预付费云盘预支费用的折扣价, 单位:元
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ DiscountPriceHigh *string `json:"DiscountPriceHigh,omitempty" name:"DiscountPriceHigh"`
+
+ // 高精度后付费云盘原单价, 单位:元
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UnitPriceHigh *string `json:"UnitPriceHigh,omitempty" name:"UnitPriceHigh"`
+
+ // 高精度后付费云盘折扣单价, 单位:元
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UnitPriceDiscountHigh *string `json:"UnitPriceDiscountHigh,omitempty" name:"UnitPriceDiscountHigh"`
}
type RenewDiskRequest struct {
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb/v20170320/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb/v20170320/models.go
index cac6b2d9da..937633604a 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb/v20170320/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb/v20170320/models.go
@@ -2837,7 +2837,7 @@ type DescribeDBPriceRequest struct {
// 数据复制方式,默认为 0,支持值包括:0 - 表示异步复制,1 - 表示半同步复制,2 - 表示强同步复制。
ProtectMode *int64 `json:"ProtectMode,omitempty" name:"ProtectMode"`
- // 部署策略,取值范围:HA-高可用版两节点,FE-金融版三节点;默认值根据数据复制方式决定,数据复制方式为强同步复制时默认值为FE,数据复制方式非强同步时默认值为HA。
+ // 部署策略,取值范围:HA-高可用版
DeviceType *string `json:"DeviceType,omitempty" name:"DeviceType"`
}
@@ -4376,7 +4376,7 @@ type InquiryPriceUpgradeInstancesRequest struct {
// 数据复制方式,支持值包括:0 - 异步复制,1 - 半同步复制,2 - 强同步复制,升级主实例时可指定该参数,升级只读实例或者灾备实例时指定该参数无意义。
ProtectMode *uint64 `json:"ProtectMode,omitempty" name:"ProtectMode"`
- // 部署策略,取值范围:HA-高可用版两节点,FE-金融版三节点;默认值根据数据复制方式决定,数据复制方式为强同步复制时默认值为FE,数据复制方式非强同步时默认值为HA。
+ // 部署策略,取值范围:HA-高可用版
DeviceType *string `json:"DeviceType,omitempty" name:"DeviceType"`
}
@@ -4482,7 +4482,7 @@ type InstanceInfo struct {
// 注意:此字段可能返回 null,表示取不到有效值。
MasterInfo *MasterInfo `json:"MasterInfo,omitempty" name:"MasterInfo"`
- // 实例类型,可能的返回值:“HA”-高可用版;“FE”-金融版;“BASIC”-基础版
+ // 实例类型
DeviceType *string `json:"DeviceType,omitempty" name:"DeviceType"`
// 内核版本
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606/client.go
index b27be4545e..086157eef4 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606/client.go
@@ -818,6 +818,31 @@ func (c *Client) DescribeReportData(request *DescribeReportDataRequest) (respons
return
}
+func NewDescribeScdnConfigRequest() (request *DescribeScdnConfigRequest) {
+ request = &DescribeScdnConfigRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("cdn", APIVersion, "DescribeScdnConfig")
+ return
+}
+
+func NewDescribeScdnConfigResponse() (response *DescribeScdnConfigResponse) {
+ response = &DescribeScdnConfigResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// DescribeScdnConfig 用于查询指定 SCDN 加速域名的安全相关配置
+func (c *Client) DescribeScdnConfig(request *DescribeScdnConfigRequest) (response *DescribeScdnConfigResponse, err error) {
+ if request == nil {
+ request = NewDescribeScdnConfigRequest()
+ }
+ response = NewDescribeScdnConfigResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDescribeScdnTopDataRequest() (request *DescribeScdnTopDataRequest) {
request = &DescribeScdnTopDataRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -1119,6 +1144,31 @@ func (c *Client) ListDiagnoseReport(request *ListDiagnoseReportRequest) (respons
return
}
+func NewListScdnDomainsRequest() (request *ListScdnDomainsRequest) {
+ request = &ListScdnDomainsRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("cdn", APIVersion, "ListScdnDomains")
+ return
+}
+
+func NewListScdnDomainsResponse() (response *ListScdnDomainsResponse) {
+ response = &ListScdnDomainsResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// ListScdnDomains 用于查询 SCDN 安全加速域名列表,及域名基本配置信息
+func (c *Client) ListScdnDomains(request *ListScdnDomainsRequest) (response *ListScdnDomainsResponse, err error) {
+ if request == nil {
+ request = NewListScdnDomainsRequest()
+ }
+ response = NewListScdnDomainsResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewListScdnLogTasksRequest() (request *ListScdnLogTasksRequest) {
request = &ListScdnLogTasksRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -1330,6 +1380,31 @@ func (c *Client) StartCdnDomain(request *StartCdnDomainRequest) (response *Start
return
}
+func NewStartScdnDomainRequest() (request *StartScdnDomainRequest) {
+ request = &StartScdnDomainRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("cdn", APIVersion, "StartScdnDomain")
+ return
+}
+
+func NewStartScdnDomainResponse() (response *StartScdnDomainResponse) {
+ response = &StartScdnDomainResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// StartScdnDomain 用于开启域名的安全防护配置
+func (c *Client) StartScdnDomain(request *StartScdnDomainRequest) (response *StartScdnDomainResponse, err error) {
+ if request == nil {
+ request = NewStartScdnDomainRequest()
+ }
+ response = NewStartScdnDomainResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewStopCdnDomainRequest() (request *StopCdnDomainRequest) {
request = &StopCdnDomainRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -1356,6 +1431,31 @@ func (c *Client) StopCdnDomain(request *StopCdnDomainRequest) (response *StopCdn
return
}
+func NewStopScdnDomainRequest() (request *StopScdnDomainRequest) {
+ request = &StopScdnDomainRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("cdn", APIVersion, "StopScdnDomain")
+ return
+}
+
+func NewStopScdnDomainResponse() (response *StopScdnDomainResponse) {
+ response = &StopScdnDomainResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// StopScdnDomain 用于关闭域名的安全防护配置
+func (c *Client) StopScdnDomain(request *StopScdnDomainRequest) (response *StopScdnDomainResponse, err error) {
+ if request == nil {
+ request = NewStopScdnDomainRequest()
+ }
+ response = NewStopScdnDomainResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewUpdateDomainConfigRequest() (request *UpdateDomainConfigRequest) {
request = &UpdateDomainConfigRequest{
BaseRequest: &tchttp.BaseRequest{},
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606/models.go
index aafc6cd6d3..464fe0c7d9 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606/models.go
@@ -158,6 +158,9 @@ type AddCdnDomainRequest struct {
// 标签配置
Tag []*Tag `json:"Tag,omitempty" name:"Tag" list`
+
+ // Ipv6 访问配置
+ Ipv6Access *Ipv6Access `json:"Ipv6Access,omitempty" name:"Ipv6Access"`
}
func (r *AddCdnDomainRequest) ToJsonString() string {
@@ -213,6 +216,19 @@ type AdvanceCacheRule struct {
CacheTime *int64 `json:"CacheTime,omitempty" name:"CacheTime"`
}
+type AdvanceConfig struct {
+
+ // 高级配置名称。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 是否支持高级配置,
+ // on:支持
+ // off:不支持
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Value *string `json:"Value,omitempty" name:"Value"`
+}
+
type AdvancedAuthentication struct {
// 防盗链配置开关,on或off,开启时必须且只能配置一种模式,其余模式为null。
@@ -1214,6 +1230,12 @@ type CreateScdnLogTaskRequest struct {
// 指定域名查询, 与 Domain 参数同时有值时使用 Domains 参数,不填默认查询全部域名,指定域名查询时最多支持同时选择 5 个域名查询
Domains []*string `json:"Domains,omitempty" name:"Domains" list`
+
+ // 指定攻击类型查询, 与 AttackType 参数同时有值时使用 AttackTypes 参数,不填默认查询全部攻击类型
+ AttackTypes []*string `json:"AttackTypes,omitempty" name:"AttackTypes" list`
+
+ // 查询条件
+ Conditions []*ScdnEventLogConditions `json:"Conditions,omitempty" name:"Conditions" list`
}
func (r *CreateScdnLogTaskRequest) ToJsonString() string {
@@ -2645,6 +2667,59 @@ func (r *DescribeReportDataResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type DescribeScdnConfigRequest struct {
+ *tchttp.BaseRequest
+
+ // 域名
+ Domain *string `json:"Domain,omitempty" name:"Domain"`
+}
+
+func (r *DescribeScdnConfigRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeScdnConfigRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeScdnConfigResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 自定义防护策略配置
+ Acl *ScdnAclConfig `json:"Acl,omitempty" name:"Acl"`
+
+ // Web 攻击防护(WAF)配置
+ Waf *ScdnWafConfig `json:"Waf,omitempty" name:"Waf"`
+
+ // CC 防护配置
+ CC *ScdnConfig `json:"CC,omitempty" name:"CC"`
+
+ // DDOS 防护配置
+ Ddos *ScdnDdosConfig `json:"Ddos,omitempty" name:"Ddos"`
+
+ // BOT 防护配置
+ Bot *ScdnBotConfig `json:"Bot,omitempty" name:"Bot"`
+
+ // 当前状态,取值online | offline
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Status *string `json:"Status,omitempty" name:"Status"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeScdnConfigResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeScdnConfigResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type DescribeScdnTopDataRequest struct {
*tchttp.BaseRequest
@@ -3053,6 +3128,14 @@ type DetailDomain struct {
// 回源鉴权高级配置,白名单功能
// 注意:此字段可能返回 null,表示取不到有效值。
OriginAuthentication *OriginAuthentication `json:"OriginAuthentication,omitempty" name:"OriginAuthentication"`
+
+ // Ipv6访问配置
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Ipv6Access *Ipv6Access `json:"Ipv6Access,omitempty" name:"Ipv6Access"`
+
+ // 高级配置集合。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AdvanceSet []*AdvanceConfig `json:"AdvanceSet,omitempty" name:"AdvanceSet" list`
}
type DiagnoseData struct {
@@ -3499,6 +3582,10 @@ type ForceRedirect struct {
// 支持 301、302
// 注意:此字段可能返回 null,表示取不到有效值。
RedirectStatusCode *int64 `json:"RedirectStatusCode,omitempty" name:"RedirectStatusCode"`
+
+ // 强制跳转时是否返回增加的头部。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ CarryHeaders *string `json:"CarryHeaders,omitempty" name:"CarryHeaders"`
}
type GetDisableRecordsRequest struct {
@@ -3810,6 +3897,13 @@ type Ipv6 struct {
Switch *string `json:"Switch,omitempty" name:"Switch"`
}
+type Ipv6Access struct {
+
+ // 域名是否开启ipv6访问功能,on或off。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Switch *string `json:"Switch,omitempty" name:"Switch"`
+}
+
type KeyRule struct {
// CacheType 对应类型下的匹配内容:
@@ -3990,6 +4084,54 @@ func (r *ListDiagnoseReportResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type ListScdnDomainsRequest struct {
+ *tchttp.BaseRequest
+
+ // 分页起始地址
+ Offset *int64 `json:"Offset,omitempty" name:"Offset"`
+
+ // 列表分页记录条数,最大1000
+ Limit *int64 `json:"Limit,omitempty" name:"Limit"`
+
+ // 域名信息
+ Domain *string `json:"Domain,omitempty" name:"Domain"`
+}
+
+func (r *ListScdnDomainsRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ListScdnDomainsRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ListScdnDomainsResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 域名列表信息
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ DomainList []*ScdnDomain `json:"DomainList,omitempty" name:"DomainList" list`
+
+ // 域名的总条数。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *ListScdnDomainsResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ListScdnDomainsResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type ListScdnLogTasksRequest struct {
*tchttp.BaseRequest
}
@@ -4402,7 +4544,7 @@ type Origin struct {
// 注意:此字段可能返回 null,表示取不到有效值。
BasePath *string `json:"BasePath,omitempty" name:"BasePath"`
- // 分路径回源配置规则
+ // 回源路径重写规则配置
// 注意:此字段可能返回 null,表示取不到有效值。
PathRules []*PathRule `json:"PathRules,omitempty" name:"PathRules" list`
}
@@ -4761,6 +4903,13 @@ type PushUrlsCacheRequest struct {
// 填写"middle"或不填充时预热至中间层节点
Layer *string `json:"Layer,omitempty" name:"Layer"`
+
+ // 是否递归解析m3u8文件中的ts分片预热
+ // 注意事项:
+ // 1. 该功能要求m3u8索引文件能直接请求获取
+ // 2. 当前只支持递归解析一级索引和子索引中的ts分片,递归深度不超过3层
+ // 3. 解析获取的ts分片会正常累加每日预热用量,当用量超出配额时,会静默处理,不再执行预热
+ ParseM3U8 *bool `json:"ParseM3U8,omitempty" name:"ParseM3U8"`
}
func (r *PushUrlsCacheRequest) ToJsonString() string {
@@ -5158,6 +5307,36 @@ type ScdnDdosConfig struct {
Switch *string `json:"Switch,omitempty" name:"Switch"`
}
+type ScdnDomain struct {
+
+ // 域名
+ Domain *string `json:"Domain,omitempty" name:"Domain"`
+
+ // 当前状态,取值online | offline | process
+ Status *string `json:"Status,omitempty" name:"Status"`
+
+ // Waf 状态默认为‘/’,取值 close | intercept | observe
+ Waf *string `json:"Waf,omitempty" name:"Waf"`
+
+ // Acl 状态默认为‘/’,取值 close | open
+ Acl *string `json:"Acl,omitempty" name:"Acl"`
+
+ // CC 状态默认为‘/’,取值 close | open
+ CC *string `json:"CC,omitempty" name:"CC"`
+
+ // Ddos 状态默认为‘/’,取值 close | open
+ Ddos *string `json:"Ddos,omitempty" name:"Ddos"`
+
+ // 项目ID
+ ProjectId *string `json:"ProjectId,omitempty" name:"ProjectId"`
+
+ // Acl 规则数
+ AclRuleNumbers *uint64 `json:"AclRuleNumbers,omitempty" name:"AclRuleNumbers"`
+
+ // Bot 状态默认为‘/’,取值 close | open
+ Bot *string `json:"Bot,omitempty" name:"Bot"`
+}
+
type ScdnErrorPage struct {
// 状态码
@@ -5167,6 +5346,18 @@ type ScdnErrorPage struct {
RedirectUrl *string `json:"RedirectUrl,omitempty" name:"RedirectUrl"`
}
+type ScdnEventLogConditions struct {
+
+ // 匹配关键字,ip, attack_location
+ Key *string `json:"Key,omitempty" name:"Key"`
+
+ // 逻辑操作符,取值 exclude, include
+ Operator *string `json:"Operator,omitempty" name:"Operator"`
+
+ // 匹配值,允许使用通配符(*)查询,匹配零个、单个、多个字符,例如 1.2.*
+ Value *string `json:"Value,omitempty" name:"Value"`
+}
+
type ScdnLogTaskDetail struct {
// scdn域名
@@ -5227,6 +5418,10 @@ type ScdnLogTaskDetail struct {
// observe = '观察模式'
// intercept = '防御模式'
DefenceMode *string `json:"DefenceMode,omitempty" name:"DefenceMode"`
+
+ // 查询条件
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Conditions []*ScdnEventLogConditions `json:"Conditions,omitempty" name:"Conditions" list`
}
type ScdnTopData struct {
@@ -5257,6 +5452,10 @@ type ScdnTopUrlData struct {
// 时间
Time *string `json:"Time,omitempty" name:"Time"`
+
+ // 域名
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Domain *string `json:"Domain,omitempty" name:"Domain"`
}
type ScdnTypeData struct {
@@ -5540,6 +5739,43 @@ func (r *StartCdnDomainResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type StartScdnDomainRequest struct {
+ *tchttp.BaseRequest
+
+ // 域名
+ Domain *string `json:"Domain,omitempty" name:"Domain"`
+}
+
+func (r *StartScdnDomainRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *StartScdnDomainRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type StartScdnDomainResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 开启结果,Success表示成功
+ Result *string `json:"Result,omitempty" name:"Result"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *StartScdnDomainResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *StartScdnDomainResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type StatusCodeCache struct {
// 状态码缓存过期配置开关
@@ -5598,6 +5834,43 @@ func (r *StopCdnDomainResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type StopScdnDomainRequest struct {
+ *tchttp.BaseRequest
+
+ // 域名
+ Domain *string `json:"Domain,omitempty" name:"Domain"`
+}
+
+func (r *StopScdnDomainRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *StopScdnDomainRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type StopScdnDomainResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 关闭结果,Success表示成功
+ Result *string `json:"Result,omitempty" name:"Result"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *StopScdnDomainResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *StopScdnDomainResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type SummarizedData struct {
// 汇总方式,存在以下几种:
@@ -5832,6 +6105,9 @@ type UpdateDomainConfigRequest struct {
// 回源鉴权高级版配置,白名单功能
OriginAuthentication *OriginAuthentication `json:"OriginAuthentication,omitempty" name:"OriginAuthentication"`
+
+ // Ipv6 访问配置
+ Ipv6Access *Ipv6Access `json:"Ipv6Access,omitempty" name:"Ipv6Access"`
}
func (r *UpdateDomainConfigRequest) ToJsonString() string {
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go
index 60d9c264e9..d78c05d4a2 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go
@@ -194,7 +194,7 @@ func CompleteCommonParams(request Request, region string) {
params["Action"] = request.GetAction()
params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10)
params["Nonce"] = strconv.Itoa(rand.Int())
- params["RequestClient"] = "SDK_GO_1.0.67"
+ params["RequestClient"] = "SDK_GO_1.0.76"
}
func ConstructParams(req Request) (err error) {
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/models.go
index 088267c06c..9652105c96 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/models.go
@@ -339,7 +339,7 @@ type DataDisk struct {
// 数据盘大小,单位:GB。最小调整步长为10G,不同数据盘类型取值范围不同,具体限制详见:[存储概述](https://cloud.tencent.com/document/product/213/4952)。默认值为0,表示不购买数据盘。更多限制详见产品文档。
DiskSize *int64 `json:"DiskSize,omitempty" name:"DiskSize"`
- // 数据盘类型。数据盘类型限制详见[存储概述](https://cloud.tencent.com/document/product/213/4952)。取值范围:
LOCAL_BASIC:本地硬盘
LOCAL_SSD:本地SSD硬盘
CLOUD_BASIC:普通云硬盘
CLOUD_PREMIUM:高性能云硬盘
CLOUD_SSD:SSD云硬盘
CLOUD_HSSD:增强型SSD云硬盘
默认取值:LOCAL_BASIC。
该参数对`ResizeInstanceDisk`接口无效。
+ // 数据盘类型。数据盘类型限制详见[存储概述](https://cloud.tencent.com/document/product/213/4952)。取值范围:
LOCAL_BASIC:本地硬盘
LOCAL_SSD:本地SSD硬盘
LOCAL_NVME:本地NVME硬盘,与InstanceType强相关,不支持指定
LOCAL_PRO:本地HDD硬盘,与InstanceType强相关,不支持指定
CLOUD_BASIC:普通云硬盘
CLOUD_PREMIUM:高性能云硬盘
CLOUD_SSD:SSD云硬盘
CLOUD_HSSD:增强型SSD云硬盘
默认取值:LOCAL_BASIC。
该参数对`ResizeInstanceDisk`接口无效。
DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
// 数据盘ID。LOCAL_BASIC 和 LOCAL_SSD 类型没有ID,暂时不支持该参数。
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb/v20190107/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb/v20190107/models.go
index 7f867940d0..e6519920b6 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb/v20190107/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb/v20190107/models.go
@@ -208,18 +208,15 @@ type CreateClustersRequest struct {
// MYSQL可选值:5.7
DbVersion *string `json:"DbVersion,omitempty" name:"DbVersion"`
- // Cpu核数
+ // 所属项目ID
+ ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
+
+ // 普通实例Cpu核数
Cpu *int64 `json:"Cpu,omitempty" name:"Cpu"`
- // 内存
+ // 普通实例内存
Memory *int64 `json:"Memory,omitempty" name:"Memory"`
- // 存储上限,单位GB
- StorageLimit *int64 `json:"StorageLimit,omitempty" name:"StorageLimit"`
-
- // 所属项目ID
- ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
-
// 存储
Storage *int64 `json:"Storage,omitempty" name:"Storage"`
@@ -256,6 +253,9 @@ type CreateClustersRequest struct {
// 时间点回档,指定时间允许范围
ExpectTimeThresh *uint64 `json:"ExpectTimeThresh,omitempty" name:"ExpectTimeThresh"`
+ // 普通实例存储上限,单位GB
+ StorageLimit *int64 `json:"StorageLimit,omitempty" name:"StorageLimit"`
+
// 实例数量
InstanceCount *int64 `json:"InstanceCount,omitempty" name:"InstanceCount"`
@@ -279,6 +279,30 @@ type CreateClustersRequest struct {
// 集群创建需要绑定的tag数组信息
ResourceTags []*Tag `json:"ResourceTags,omitempty" name:"ResourceTags" list`
+
+ // Db类型
+ // 当DbType为MYSQL时可选(默认NORMAL):
+ // NORMAL
+ // SERVERLESS
+ DbMode *string `json:"DbMode,omitempty" name:"DbMode"`
+
+ // 当DbMode为SEVERLESS时必填
+ // cpu最小值,可选范围参考DescribeServerlessInstanceSpecs接口返回
+ MinCpu *float64 `json:"MinCpu,omitempty" name:"MinCpu"`
+
+ // 当DbMode为SEVERLESS时必填:
+ // cpu最大值,可选范围参考DescribeServerlessInstanceSpecs接口返回
+ MaxCpu *float64 `json:"MaxCpu,omitempty" name:"MaxCpu"`
+
+ // 当DbMode为SEVERLESS时,指定集群是否自动暂停,可选范围
+ // yes
+ // no
+ // 默认值:yes
+ AutoPause *string `json:"AutoPause,omitempty" name:"AutoPause"`
+
+ // 当DbMode为SEVERLESS时,指定集群自动暂停的延迟,单位秒,可选范围[600,691200]
+ // 默认值:600
+ AutoPauseDelay *int64 `json:"AutoPauseDelay,omitempty" name:"AutoPauseDelay"`
}
func (r *CreateClustersRequest) ToJsonString() string {
@@ -302,11 +326,11 @@ type CreateClustersResponse struct {
// 注意:此字段可能返回 null,表示取不到有效值。
DealNames []*string `json:"DealNames,omitempty" name:"DealNames" list`
- // 资源ID列表
+ // 资源ID列表(异步发货可能无法返回该字段, 强烈建议使用dealNames字段查询接口DescribeResourcesByDealName获取异步发货的资源ID)
// 注意:此字段可能返回 null,表示取不到有效值。
ResourceIds []*string `json:"ResourceIds,omitempty" name:"ResourceIds" list`
- // 集群ID列表
+ // 集群ID列表(异步发货可能不返回该字段, 强烈建议使用dealNames查询接口DescribeResourcesByDealName获取异步发货的集群ID)
// 注意:此字段可能返回 null,表示取不到有效值。
ClusterIds []*string `json:"ClusterIds,omitempty" name:"ClusterIds" list`
@@ -407,6 +431,14 @@ type CynosdbCluster struct {
// 集群绑定的tag数组
ResourceTags []*Tag `json:"ResourceTags,omitempty" name:"ResourceTags" list`
+
+ // Db类型(NORMAL, SERVERLESS)
+ DbMode *string `json:"DbMode,omitempty" name:"DbMode"`
+
+ // 当Db类型为SERVERLESS时,serverless集群状态,可选值:
+ // resume
+ // pause
+ ServerlessStatus *string `json:"ServerlessStatus,omitempty" name:"ServerlessStatus"`
}
type CynosdbClusterDetail struct {
@@ -593,6 +625,17 @@ type CynosdbInstance struct {
// 续费标志
RenewFlag *int64 `json:"RenewFlag,omitempty" name:"RenewFlag"`
+
+ // serverless实例cpu下限
+ MinCpu *float64 `json:"MinCpu,omitempty" name:"MinCpu"`
+
+ // serverless实例cpu上限
+ MaxCpu *float64 `json:"MaxCpu,omitempty" name:"MaxCpu"`
+
+ // serverless实例状态, 可选值:
+ // resume
+ // pause
+ ServerlessStatus *string `json:"ServerlessStatus,omitempty" name:"ServerlessStatus"`
}
type CynosdbInstanceDetail struct {
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410/client.go
index 3145b652e1..78fe296544 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410/client.go
@@ -68,6 +68,31 @@ func (c *Client) AcceptDirectConnectTunnel(request *AcceptDirectConnectTunnelReq
return
}
+func NewApplyInternetAddressRequest() (request *ApplyInternetAddressRequest) {
+ request = &ApplyInternetAddressRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("dc", APIVersion, "ApplyInternetAddress")
+ return
+}
+
+func NewApplyInternetAddressResponse() (response *ApplyInternetAddressResponse) {
+ response = &ApplyInternetAddressResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 申请互联网CIDR地址
+func (c *Client) ApplyInternetAddress(request *ApplyInternetAddressRequest) (response *ApplyInternetAddressResponse, err error) {
+ if request == nil {
+ request = NewApplyInternetAddressRequest()
+ }
+ response = NewApplyInternetAddressResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewCreateDirectConnectRequest() (request *CreateDirectConnectRequest) {
request = &CreateDirectConnectRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -272,6 +297,81 @@ func (c *Client) DescribeDirectConnects(request *DescribeDirectConnectsRequest)
return
}
+func NewDescribeInternetAddressRequest() (request *DescribeInternetAddressRequest) {
+ request = &DescribeInternetAddressRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("dc", APIVersion, "DescribeInternetAddress")
+ return
+}
+
+func NewDescribeInternetAddressResponse() (response *DescribeInternetAddressResponse) {
+ response = &DescribeInternetAddressResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取用户互联网公网地址信息
+func (c *Client) DescribeInternetAddress(request *DescribeInternetAddressRequest) (response *DescribeInternetAddressResponse, err error) {
+ if request == nil {
+ request = NewDescribeInternetAddressRequest()
+ }
+ response = NewDescribeInternetAddressResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribeInternetAddressQuotaRequest() (request *DescribeInternetAddressQuotaRequest) {
+ request = &DescribeInternetAddressQuotaRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("dc", APIVersion, "DescribeInternetAddressQuota")
+ return
+}
+
+func NewDescribeInternetAddressQuotaResponse() (response *DescribeInternetAddressQuotaResponse) {
+ response = &DescribeInternetAddressQuotaResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取用户互联网公网地址配额
+func (c *Client) DescribeInternetAddressQuota(request *DescribeInternetAddressQuotaRequest) (response *DescribeInternetAddressQuotaResponse, err error) {
+ if request == nil {
+ request = NewDescribeInternetAddressQuotaRequest()
+ }
+ response = NewDescribeInternetAddressQuotaResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribeInternetAddressStatisticsRequest() (request *DescribeInternetAddressStatisticsRequest) {
+ request = &DescribeInternetAddressStatisticsRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("dc", APIVersion, "DescribeInternetAddressStatistics")
+ return
+}
+
+func NewDescribeInternetAddressStatisticsResponse() (response *DescribeInternetAddressStatisticsResponse) {
+ response = &DescribeInternetAddressStatisticsResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取用户互联网公网地址分配统计信息
+func (c *Client) DescribeInternetAddressStatistics(request *DescribeInternetAddressStatisticsRequest) (response *DescribeInternetAddressStatisticsResponse, err error) {
+ if request == nil {
+ request = NewDescribeInternetAddressStatisticsRequest()
+ }
+ response = NewDescribeInternetAddressStatisticsResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDescribePublicDirectConnectTunnelRoutesRequest() (request *DescribePublicDirectConnectTunnelRoutesRequest) {
request = &DescribePublicDirectConnectTunnelRoutesRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -297,6 +397,56 @@ func (c *Client) DescribePublicDirectConnectTunnelRoutes(request *DescribePublic
return
}
+func NewDisableInternetAddressRequest() (request *DisableInternetAddressRequest) {
+ request = &DisableInternetAddressRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("dc", APIVersion, "DisableInternetAddress")
+ return
+}
+
+func NewDisableInternetAddressResponse() (response *DisableInternetAddressResponse) {
+ response = &DisableInternetAddressResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 停用用户申请的公网互联网地址
+func (c *Client) DisableInternetAddress(request *DisableInternetAddressRequest) (response *DisableInternetAddressResponse, err error) {
+ if request == nil {
+ request = NewDisableInternetAddressRequest()
+ }
+ response = NewDisableInternetAddressResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewEnableInternetAddressRequest() (request *EnableInternetAddressRequest) {
+ request = &EnableInternetAddressRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("dc", APIVersion, "EnableInternetAddress")
+ return
+}
+
+func NewEnableInternetAddressResponse() (response *EnableInternetAddressResponse) {
+ response = &EnableInternetAddressResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 启用已停用的互联网公网地址
+func (c *Client) EnableInternetAddress(request *EnableInternetAddressRequest) (response *EnableInternetAddressResponse, err error) {
+ if request == nil {
+ request = NewEnableInternetAddressRequest()
+ }
+ response = NewEnableInternetAddressResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewModifyDirectConnectAttributeRequest() (request *ModifyDirectConnectAttributeRequest) {
request = &ModifyDirectConnectAttributeRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -396,3 +546,28 @@ func (c *Client) RejectDirectConnectTunnel(request *RejectDirectConnectTunnelReq
err = c.Send(request, response)
return
}
+
+func NewReleaseInternetAddressRequest() (request *ReleaseInternetAddressRequest) {
+ request = &ReleaseInternetAddressRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("dc", APIVersion, "ReleaseInternetAddress")
+ return
+}
+
+func NewReleaseInternetAddressResponse() (response *ReleaseInternetAddressResponse) {
+ response = &ReleaseInternetAddressResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 释放已申请的互联网地址
+func (c *Client) ReleaseInternetAddress(request *ReleaseInternetAddressRequest) (response *ReleaseInternetAddressResponse, err error) {
+ if request == nil {
+ request = NewReleaseInternetAddressRequest()
+ }
+ response = NewReleaseInternetAddressResponse()
+ err = c.Send(request, response)
+ return
+}
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410/models.go
index 9866b39df8..163d2400b5 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410/models.go
@@ -79,6 +79,54 @@ type AccessPoint struct {
AvailablePortType []*string `json:"AvailablePortType,omitempty" name:"AvailablePortType" list`
}
+type ApplyInternetAddressRequest struct {
+ *tchttp.BaseRequest
+
+ // CIDR地址掩码长度
+ MaskLen *int64 `json:"MaskLen,omitempty" name:"MaskLen"`
+
+ // 0:BGP类型地址
+ // 1:中国电信
+ // 2:中国移动
+ // 3:中国联通
+ AddrType *int64 `json:"AddrType,omitempty" name:"AddrType"`
+
+ // 0:IPv4
+ // 1:IPv6
+ AddrProto *int64 `json:"AddrProto,omitempty" name:"AddrProto"`
+}
+
+func (r *ApplyInternetAddressRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ApplyInternetAddressRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ApplyInternetAddressResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 互联网公网地址ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *ApplyInternetAddressResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ApplyInternetAddressResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type BFDInfo struct {
// 健康检查次数
@@ -248,6 +296,9 @@ type CreateDirectConnectTunnelRequest struct {
// TencentBackupAddress,腾讯侧备用互联 IP
TencentBackupAddress *string `json:"TencentBackupAddress,omitempty" name:"TencentBackupAddress"`
+
+ // 高速上云服务ID
+ CloudAttachId *string `json:"CloudAttachId,omitempty" name:"CloudAttachId"`
}
func (r *CreateDirectConnectTunnelRequest) ToJsonString() string {
@@ -539,6 +590,147 @@ func (r *DescribeDirectConnectsResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type DescribeInternetAddressQuotaRequest struct {
+ *tchttp.BaseRequest
+}
+
+func (r *DescribeInternetAddressQuotaRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeInternetAddressQuotaRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeInternetAddressQuotaResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // IPv6互联网公网允许的最小前缀长度
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Ipv6PrefixLen *int64 `json:"Ipv6PrefixLen,omitempty" name:"Ipv6PrefixLen"`
+
+ // BGP类型IPv4互联网地址配额
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Ipv4BgpQuota *int64 `json:"Ipv4BgpQuota,omitempty" name:"Ipv4BgpQuota"`
+
+ // 非BGP类型IPv4互联网地址配额
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Ipv4OtherQuota *int64 `json:"Ipv4OtherQuota,omitempty" name:"Ipv4OtherQuota"`
+
+ // BGP类型IPv4互联网地址已使用数量
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Ipv4BgpNum *int64 `json:"Ipv4BgpNum,omitempty" name:"Ipv4BgpNum"`
+
+ // 非BGP类型互联网地址已使用数量
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Ipv4OtherNum *int64 `json:"Ipv4OtherNum,omitempty" name:"Ipv4OtherNum"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeInternetAddressQuotaResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeInternetAddressQuotaResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeInternetAddressRequest struct {
+ *tchttp.BaseRequest
+
+ // 偏移量,默认为0
+ Offset *int64 `json:"Offset,omitempty" name:"Offset"`
+
+ // 返回数量,默认为20,最大值100
+ Limit *int64 `json:"Limit,omitempty" name:"Limit"`
+
+ // 过滤条件:
+ // AddrType, 地址类型。0:BGP 1; 1: 电信, 2:移动, 3:联通
+ // AddrProto地址类型。0:IPv4 1:IPv6
+ // Status 地址状态。 0:使用中, 1:已停用, 2:已退还
+ // Subnet 互联网公网地址,数组
+ // 互联网公网地址ID,数组
+ Filters []*Filter `json:"Filters,omitempty" name:"Filters" list`
+}
+
+func (r *DescribeInternetAddressRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeInternetAddressRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeInternetAddressResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 互联网公网地址数量
+ TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
+
+ // 互联网公网地址列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Subnets []*InternetAddressDetail `json:"Subnets,omitempty" name:"Subnets" list`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeInternetAddressResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeInternetAddressResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeInternetAddressStatisticsRequest struct {
+ *tchttp.BaseRequest
+}
+
+func (r *DescribeInternetAddressStatisticsRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeInternetAddressStatisticsRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeInternetAddressStatisticsResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 互联网公网地址统计信息数量
+ TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
+
+ // 互联网公网地址统计信息列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InternetAddressStatistics []*InternetAddressStatistics `json:"InternetAddressStatistics,omitempty" name:"InternetAddressStatistics" list`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeInternetAddressStatisticsResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeInternetAddressStatisticsResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type DescribePublicDirectConnectTunnelRoutesRequest struct {
*tchttp.BaseRequest
@@ -809,6 +1001,10 @@ type DirectConnectTunnel struct {
// 专用通道关联的物理专线是否签署了用户协议
// 注意:此字段可能返回 null,表示取不到有效值。
SignLaw *bool `json:"SignLaw,omitempty" name:"SignLaw"`
+
+ // 高速上云服务ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ CloudAttachId *string `json:"CloudAttachId,omitempty" name:"CloudAttachId"`
}
type DirectConnectTunnelExtra struct {
@@ -921,6 +1117,26 @@ type DirectConnectTunnelExtra struct {
// BGP状态
BgpStatus *BGPStatus `json:"BgpStatus,omitempty" name:"BgpStatus"`
+
+ // 是否开启IPv6
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IPv6Enable *int64 `json:"IPv6Enable,omitempty" name:"IPv6Enable"`
+
+ // 腾讯侧互联IPv6地址
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TencentIPv6Address *string `json:"TencentIPv6Address,omitempty" name:"TencentIPv6Address"`
+
+ // 腾讯侧备用互联IPv6地址
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TencentBackupIPv6Address *string `json:"TencentBackupIPv6Address,omitempty" name:"TencentBackupIPv6Address"`
+
+ // BGPv6状态
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ BgpIPv6Status *BGPStatus `json:"BgpIPv6Status,omitempty" name:"BgpIPv6Status"`
+
+ // 用户侧互联IPv6地址
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ CustomerIPv6Address *string `json:"CustomerIPv6Address,omitempty" name:"CustomerIPv6Address"`
}
type DirectConnectTunnelRoute struct {
@@ -944,6 +1160,74 @@ type DirectConnectTunnelRoute struct {
NextHop *string `json:"NextHop,omitempty" name:"NextHop"`
}
+type DisableInternetAddressRequest struct {
+ *tchttp.BaseRequest
+
+ // 公网互联网地址ID
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+}
+
+func (r *DisableInternetAddressRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DisableInternetAddressRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DisableInternetAddressResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DisableInternetAddressResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DisableInternetAddressResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type EnableInternetAddressRequest struct {
+ *tchttp.BaseRequest
+
+ // 互联网公网地址ID
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+}
+
+func (r *EnableInternetAddressRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *EnableInternetAddressRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type EnableInternetAddressResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *EnableInternetAddressResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *EnableInternetAddressResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type Filter struct {
// 需要过滤的字段。
@@ -953,6 +1237,72 @@ type Filter struct {
Values []*string `json:"Values,omitempty" name:"Values" list`
}
+type InternetAddressDetail struct {
+
+ // 互联网地址ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+
+ // 互联网网络地址
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Subnet *string `json:"Subnet,omitempty" name:"Subnet"`
+
+ // 网络地址掩码长度
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ MaskLen *int64 `json:"MaskLen,omitempty" name:"MaskLen"`
+
+ // 0:BGP
+ // 1:电信
+ // 2:移动
+ // 3:联通
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AddrType *int64 `json:"AddrType,omitempty" name:"AddrType"`
+
+ // 0:使用中
+ // 1:已停用
+ // 2:已退还
+ Status *int64 `json:"Status,omitempty" name:"Status"`
+
+ // 申请时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ApplyTime *string `json:"ApplyTime,omitempty" name:"ApplyTime"`
+
+ // 停用时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ StopTime *string `json:"StopTime,omitempty" name:"StopTime"`
+
+ // 退还时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ReleaseTime *string `json:"ReleaseTime,omitempty" name:"ReleaseTime"`
+
+ // 地域信息
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Region *string `json:"Region,omitempty" name:"Region"`
+
+ // 用户ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AppId *int64 `json:"AppId,omitempty" name:"AppId"`
+
+ // 0:IPv4 1:IPv6
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AddrProto *int64 `json:"AddrProto,omitempty" name:"AddrProto"`
+
+ // 释放状态的IP地址保留的天数
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ReserveTime *int64 `json:"ReserveTime,omitempty" name:"ReserveTime"`
+}
+
+type InternetAddressStatistics struct {
+
+ // 地域
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Region *string `json:"Region,omitempty" name:"Region"`
+
+ // 互联网公网地址数量
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ SubnetNum *int64 `json:"SubnetNum,omitempty" name:"SubnetNum"`
+}
+
type ModifyDirectConnectAttributeRequest struct {
*tchttp.BaseRequest
@@ -1116,6 +1466,10 @@ type ModifyDirectConnectTunnelExtraRequest struct {
// NQA配置信息
NqaInfo *NQAInfo `json:"NqaInfo,omitempty" name:"NqaInfo"`
+
+ // 0:停用IPv6
+ // 1: 启用IPv6
+ IPv6Enable *int64 `json:"IPv6Enable,omitempty" name:"IPv6Enable"`
}
func (r *ModifyDirectConnectTunnelExtraRequest) ToJsonString() string {
@@ -1191,6 +1545,40 @@ func (r *RejectDirectConnectTunnelResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type ReleaseInternetAddressRequest struct {
+ *tchttp.BaseRequest
+
+ // 公网互联网地址ID
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+}
+
+func (r *ReleaseInternetAddressRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ReleaseInternetAddressRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ReleaseInternetAddressResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *ReleaseInternetAddressResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ReleaseInternetAddressResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type RouteFilterPrefix struct {
// 用户侧网段地址
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416/client.go
index 5961c386e6..4099048bfd 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416/client.go
@@ -168,6 +168,31 @@ func (c *Client) DescribeInstances(request *DescribeInstancesRequest) (response
return
}
+func NewGetRequestTargetNodeTypesRequest() (request *GetRequestTargetNodeTypesRequest) {
+ request = &GetRequestTargetNodeTypesRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("es", APIVersion, "GetRequestTargetNodeTypes")
+ return
+}
+
+func NewGetRequestTargetNodeTypesResponse() (response *GetRequestTargetNodeTypesResponse) {
+ response = &GetRequestTargetNodeTypesResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取接收客户端请求的节点类型
+func (c *Client) GetRequestTargetNodeTypes(request *GetRequestTargetNodeTypesRequest) (response *GetRequestTargetNodeTypesResponse, err error) {
+ if request == nil {
+ request = NewGetRequestTargetNodeTypesRequest()
+ }
+ response = NewGetRequestTargetNodeTypesResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewRestartInstanceRequest() (request *RestartInstanceRequest) {
request = &RestartInstanceRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -300,6 +325,31 @@ func (c *Client) UpdatePlugins(request *UpdatePluginsRequest) (response *UpdateP
return
}
+func NewUpdateRequestTargetNodeTypesRequest() (request *UpdateRequestTargetNodeTypesRequest) {
+ request = &UpdateRequestTargetNodeTypesRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("es", APIVersion, "UpdateRequestTargetNodeTypes")
+ return
+}
+
+func NewUpdateRequestTargetNodeTypesResponse() (response *UpdateRequestTargetNodeTypesResponse) {
+ response = &UpdateRequestTargetNodeTypesResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 更新接收客户端请求的节点类型
+func (c *Client) UpdateRequestTargetNodeTypes(request *UpdateRequestTargetNodeTypesRequest) (response *UpdateRequestTargetNodeTypesResponse, err error) {
+ if request == nil {
+ request = NewUpdateRequestTargetNodeTypesRequest()
+ }
+ response = NewUpdateRequestTargetNodeTypesResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewUpgradeInstanceRequest() (request *UpgradeInstanceRequest) {
request = &UpgradeInstanceRequest{
BaseRequest: &tchttp.BaseRequest{},
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416/models.go
index fe4bb46c9e..17e4c33bc1 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416/models.go
@@ -420,6 +420,43 @@ type EsPublicAcl struct {
WhiteIpList []*string `json:"WhiteIpList,omitempty" name:"WhiteIpList" list`
}
+type GetRequestTargetNodeTypesRequest struct {
+ *tchttp.BaseRequest
+
+ // 实例ID
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+}
+
+func (r *GetRequestTargetNodeTypesRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *GetRequestTargetNodeTypesRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type GetRequestTargetNodeTypesResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 接收请求的目标节点类型列表
+ TargetNodeTypes []*string `json:"TargetNodeTypes,omitempty" name:"TargetNodeTypes" list`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *GetRequestTargetNodeTypesResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *GetRequestTargetNodeTypesResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type InstanceInfo struct {
// 实例ID
@@ -597,6 +634,10 @@ type InstanceInfo struct {
// 场景化模板类型:0、不开启;1、通用场景;2、日志场景;3、搜索场景
// 注意:此字段可能返回 null,表示取不到有效值。
SceneType *int64 `json:"SceneType,omitempty" name:"SceneType"`
+
+ // Kibana配置项
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ KibanaConfig *string `json:"KibanaConfig,omitempty" name:"KibanaConfig"`
}
type InstanceLog struct {
@@ -1037,6 +1078,43 @@ func (r *UpdatePluginsResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type UpdateRequestTargetNodeTypesRequest struct {
+ *tchttp.BaseRequest
+
+ // 实例ID
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+
+ // 接收请求的目标节点类型列表
+ TargetNodeTypes []*string `json:"TargetNodeTypes,omitempty" name:"TargetNodeTypes" list`
+}
+
+func (r *UpdateRequestTargetNodeTypesRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *UpdateRequestTargetNodeTypesRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type UpdateRequestTargetNodeTypesResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *UpdateRequestTargetNodeTypesResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *UpdateRequestTargetNodeTypesResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type UpgradeInstanceRequest struct {
*tchttp.BaseRequest
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go
index e5909ecc5a..7f83dceaae 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/client.go
@@ -68,6 +68,56 @@ func (c *Client) BindingPolicyObject(request *BindingPolicyObjectRequest) (respo
return
}
+func NewCreateAlarmNoticeRequest() (request *CreateAlarmNoticeRequest) {
+ request = &CreateAlarmNoticeRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "CreateAlarmNotice")
+ return
+}
+
+func NewCreateAlarmNoticeResponse() (response *CreateAlarmNoticeResponse) {
+ response = &CreateAlarmNoticeResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 创建通知模板
+func (c *Client) CreateAlarmNotice(request *CreateAlarmNoticeRequest) (response *CreateAlarmNoticeResponse, err error) {
+ if request == nil {
+ request = NewCreateAlarmNoticeRequest()
+ }
+ response = NewCreateAlarmNoticeResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewCreateAlarmPolicyRequest() (request *CreateAlarmPolicyRequest) {
+ request = &CreateAlarmPolicyRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "CreateAlarmPolicy")
+ return
+}
+
+func NewCreateAlarmPolicyResponse() (response *CreateAlarmPolicyResponse) {
+ response = &CreateAlarmPolicyResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 创建告警策略
+func (c *Client) CreateAlarmPolicy(request *CreateAlarmPolicyRequest) (response *CreateAlarmPolicyResponse, err error) {
+ if request == nil {
+ request = NewCreateAlarmPolicyRequest()
+ }
+ response = NewCreateAlarmPolicyResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewCreatePolicyGroupRequest() (request *CreatePolicyGroupRequest) {
request = &CreatePolicyGroupRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -120,6 +170,56 @@ func (c *Client) CreateServiceDiscovery(request *CreateServiceDiscoveryRequest)
return
}
+func NewDeleteAlarmNoticesRequest() (request *DeleteAlarmNoticesRequest) {
+ request = &DeleteAlarmNoticesRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "DeleteAlarmNotices")
+ return
+}
+
+func NewDeleteAlarmNoticesResponse() (response *DeleteAlarmNoticesResponse) {
+ response = &DeleteAlarmNoticesResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 云监控告警删除告警通知模板
+func (c *Client) DeleteAlarmNotices(request *DeleteAlarmNoticesRequest) (response *DeleteAlarmNoticesResponse, err error) {
+ if request == nil {
+ request = NewDeleteAlarmNoticesRequest()
+ }
+ response = NewDeleteAlarmNoticesResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDeleteAlarmPolicyRequest() (request *DeleteAlarmPolicyRequest) {
+ request = &DeleteAlarmPolicyRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "DeleteAlarmPolicy")
+ return
+}
+
+func NewDeleteAlarmPolicyResponse() (response *DeleteAlarmPolicyResponse) {
+ response = &DeleteAlarmPolicyResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 删除告警策略
+func (c *Client) DeleteAlarmPolicy(request *DeleteAlarmPolicyRequest) (response *DeleteAlarmPolicyResponse, err error) {
+ if request == nil {
+ request = NewDeleteAlarmPolicyRequest()
+ }
+ response = NewDeleteAlarmPolicyResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDeletePolicyGroupRequest() (request *DeletePolicyGroupRequest) {
request = &DeletePolicyGroupRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -197,6 +297,31 @@ func (c *Client) DescribeAccidentEventList(request *DescribeAccidentEventListReq
return
}
+func NewDescribeAlarmEventsRequest() (request *DescribeAlarmEventsRequest) {
+ request = &DescribeAlarmEventsRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmEvents")
+ return
+}
+
+func NewDescribeAlarmEventsResponse() (response *DescribeAlarmEventsResponse) {
+ response = &DescribeAlarmEventsResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 查询告警事件列表
+func (c *Client) DescribeAlarmEvents(request *DescribeAlarmEventsRequest) (response *DescribeAlarmEventsResponse, err error) {
+ if request == nil {
+ request = NewDescribeAlarmEventsRequest()
+ }
+ response = NewDescribeAlarmEventsResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDescribeAlarmHistoriesRequest() (request *DescribeAlarmHistoriesRequest) {
request = &DescribeAlarmHistoriesRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -212,7 +337,7 @@ func NewDescribeAlarmHistoriesResponse() (response *DescribeAlarmHistoriesRespon
return
}
-// 告警2.0-告警历史列表
+// 查询告警历史
func (c *Client) DescribeAlarmHistories(request *DescribeAlarmHistoriesRequest) (response *DescribeAlarmHistoriesResponse, err error) {
if request == nil {
request = NewDescribeAlarmHistoriesRequest()
@@ -222,6 +347,156 @@ func (c *Client) DescribeAlarmHistories(request *DescribeAlarmHistoriesRequest)
return
}
+func NewDescribeAlarmMetricsRequest() (request *DescribeAlarmMetricsRequest) {
+ request = &DescribeAlarmMetricsRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmMetrics")
+ return
+}
+
+func NewDescribeAlarmMetricsResponse() (response *DescribeAlarmMetricsResponse) {
+ response = &DescribeAlarmMetricsResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 查询告警指标列表
+func (c *Client) DescribeAlarmMetrics(request *DescribeAlarmMetricsRequest) (response *DescribeAlarmMetricsResponse, err error) {
+ if request == nil {
+ request = NewDescribeAlarmMetricsRequest()
+ }
+ response = NewDescribeAlarmMetricsResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribeAlarmNoticeRequest() (request *DescribeAlarmNoticeRequest) {
+ request = &DescribeAlarmNoticeRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmNotice")
+ return
+}
+
+func NewDescribeAlarmNoticeResponse() (response *DescribeAlarmNoticeResponse) {
+ response = &DescribeAlarmNoticeResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 查询单个通知模板的详情
+func (c *Client) DescribeAlarmNotice(request *DescribeAlarmNoticeRequest) (response *DescribeAlarmNoticeResponse, err error) {
+ if request == nil {
+ request = NewDescribeAlarmNoticeRequest()
+ }
+ response = NewDescribeAlarmNoticeResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribeAlarmNoticeCallbacksRequest() (request *DescribeAlarmNoticeCallbacksRequest) {
+ request = &DescribeAlarmNoticeCallbacksRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmNoticeCallbacks")
+ return
+}
+
+func NewDescribeAlarmNoticeCallbacksResponse() (response *DescribeAlarmNoticeCallbacksResponse) {
+ response = &DescribeAlarmNoticeCallbacksResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 云监控告警获取告警通知模板所有回调URL
+func (c *Client) DescribeAlarmNoticeCallbacks(request *DescribeAlarmNoticeCallbacksRequest) (response *DescribeAlarmNoticeCallbacksResponse, err error) {
+ if request == nil {
+ request = NewDescribeAlarmNoticeCallbacksRequest()
+ }
+ response = NewDescribeAlarmNoticeCallbacksResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribeAlarmNoticesRequest() (request *DescribeAlarmNoticesRequest) {
+ request = &DescribeAlarmNoticesRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmNotices")
+ return
+}
+
+func NewDescribeAlarmNoticesResponse() (response *DescribeAlarmNoticesResponse) {
+ response = &DescribeAlarmNoticesResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 查询通知模板列表
+func (c *Client) DescribeAlarmNotices(request *DescribeAlarmNoticesRequest) (response *DescribeAlarmNoticesResponse, err error) {
+ if request == nil {
+ request = NewDescribeAlarmNoticesRequest()
+ }
+ response = NewDescribeAlarmNoticesResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribeAlarmPoliciesRequest() (request *DescribeAlarmPoliciesRequest) {
+ request = &DescribeAlarmPoliciesRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmPolicies")
+ return
+}
+
+func NewDescribeAlarmPoliciesResponse() (response *DescribeAlarmPoliciesResponse) {
+ response = &DescribeAlarmPoliciesResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 查询告警策略列表
+func (c *Client) DescribeAlarmPolicies(request *DescribeAlarmPoliciesRequest) (response *DescribeAlarmPoliciesResponse, err error) {
+ if request == nil {
+ request = NewDescribeAlarmPoliciesRequest()
+ }
+ response = NewDescribeAlarmPoliciesResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribeAlarmPolicyRequest() (request *DescribeAlarmPolicyRequest) {
+ request = &DescribeAlarmPolicyRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "DescribeAlarmPolicy")
+ return
+}
+
+func NewDescribeAlarmPolicyResponse() (response *DescribeAlarmPolicyResponse) {
+ response = &DescribeAlarmPolicyResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取单个告警策略详情
+func (c *Client) DescribeAlarmPolicy(request *DescribeAlarmPolicyRequest) (response *DescribeAlarmPolicyResponse, err error) {
+ if request == nil {
+ request = NewDescribeAlarmPolicyRequest()
+ }
+ response = NewDescribeAlarmPolicyResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDescribeAllNamespacesRequest() (request *DescribeAllNamespacesRequest) {
request = &DescribeAllNamespacesRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -237,7 +512,7 @@ func NewDescribeAllNamespacesResponse() (response *DescribeAllNamespacesResponse
return
}
-// 拉取所有名字空间
+// 查询所有名字空间
func (c *Client) DescribeAllNamespaces(request *DescribeAllNamespacesRequest) (response *DescribeAllNamespacesResponse, err error) {
if request == nil {
request = NewDescribeAllNamespacesRequest()
@@ -526,6 +801,156 @@ func (c *Client) GetMonitorData(request *GetMonitorDataRequest) (response *GetMo
return
}
+func NewModifyAlarmNoticeRequest() (request *ModifyAlarmNoticeRequest) {
+ request = &ModifyAlarmNoticeRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmNotice")
+ return
+}
+
+func NewModifyAlarmNoticeResponse() (response *ModifyAlarmNoticeResponse) {
+ response = &ModifyAlarmNoticeResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 云监控告警编辑告警通知模板
+func (c *Client) ModifyAlarmNotice(request *ModifyAlarmNoticeRequest) (response *ModifyAlarmNoticeResponse, err error) {
+ if request == nil {
+ request = NewModifyAlarmNoticeRequest()
+ }
+ response = NewModifyAlarmNoticeResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewModifyAlarmPolicyConditionRequest() (request *ModifyAlarmPolicyConditionRequest) {
+ request = &ModifyAlarmPolicyConditionRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyCondition")
+ return
+}
+
+func NewModifyAlarmPolicyConditionResponse() (response *ModifyAlarmPolicyConditionResponse) {
+ response = &ModifyAlarmPolicyConditionResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 编辑告警策略触发条件
+func (c *Client) ModifyAlarmPolicyCondition(request *ModifyAlarmPolicyConditionRequest) (response *ModifyAlarmPolicyConditionResponse, err error) {
+ if request == nil {
+ request = NewModifyAlarmPolicyConditionRequest()
+ }
+ response = NewModifyAlarmPolicyConditionResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewModifyAlarmPolicyInfoRequest() (request *ModifyAlarmPolicyInfoRequest) {
+ request = &ModifyAlarmPolicyInfoRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyInfo")
+ return
+}
+
+func NewModifyAlarmPolicyInfoResponse() (response *ModifyAlarmPolicyInfoResponse) {
+ response = &ModifyAlarmPolicyInfoResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 告警2.0编辑告警策略基本信息,包括策略名、备注
+func (c *Client) ModifyAlarmPolicyInfo(request *ModifyAlarmPolicyInfoRequest) (response *ModifyAlarmPolicyInfoResponse, err error) {
+ if request == nil {
+ request = NewModifyAlarmPolicyInfoRequest()
+ }
+ response = NewModifyAlarmPolicyInfoResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewModifyAlarmPolicyNoticeRequest() (request *ModifyAlarmPolicyNoticeRequest) {
+ request = &ModifyAlarmPolicyNoticeRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyNotice")
+ return
+}
+
+func NewModifyAlarmPolicyNoticeResponse() (response *ModifyAlarmPolicyNoticeResponse) {
+ response = &ModifyAlarmPolicyNoticeResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 云监控告警修改告警策略绑定的告警通知模板
+func (c *Client) ModifyAlarmPolicyNotice(request *ModifyAlarmPolicyNoticeRequest) (response *ModifyAlarmPolicyNoticeResponse, err error) {
+ if request == nil {
+ request = NewModifyAlarmPolicyNoticeRequest()
+ }
+ response = NewModifyAlarmPolicyNoticeResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewModifyAlarmPolicyStatusRequest() (request *ModifyAlarmPolicyStatusRequest) {
+ request = &ModifyAlarmPolicyStatusRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyStatus")
+ return
+}
+
+func NewModifyAlarmPolicyStatusResponse() (response *ModifyAlarmPolicyStatusResponse) {
+ response = &ModifyAlarmPolicyStatusResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 启停告警策略
+func (c *Client) ModifyAlarmPolicyStatus(request *ModifyAlarmPolicyStatusRequest) (response *ModifyAlarmPolicyStatusResponse, err error) {
+ if request == nil {
+ request = NewModifyAlarmPolicyStatusRequest()
+ }
+ response = NewModifyAlarmPolicyStatusResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewModifyAlarmPolicyTasksRequest() (request *ModifyAlarmPolicyTasksRequest) {
+ request = &ModifyAlarmPolicyTasksRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "ModifyAlarmPolicyTasks")
+ return
+}
+
+func NewModifyAlarmPolicyTasksResponse() (response *ModifyAlarmPolicyTasksResponse) {
+ response = &ModifyAlarmPolicyTasksResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 云监控告警修改告警策略的触发任务,TriggerTasks字段放触发任务列表,TriggerTasks传空数组时,代表解绑该策略的所有触发任务。
+func (c *Client) ModifyAlarmPolicyTasks(request *ModifyAlarmPolicyTasksRequest) (response *ModifyAlarmPolicyTasksResponse, err error) {
+ if request == nil {
+ request = NewModifyAlarmPolicyTasksRequest()
+ }
+ response = NewModifyAlarmPolicyTasksResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewModifyAlarmReceiversRequest() (request *ModifyAlarmReceiversRequest) {
request = &ModifyAlarmReceiversRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -632,6 +1057,32 @@ func (c *Client) SendCustomAlarmMsg(request *SendCustomAlarmMsgRequest) (respons
return
}
+func NewSetDefaultAlarmPolicyRequest() (request *SetDefaultAlarmPolicyRequest) {
+ request = &SetDefaultAlarmPolicyRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("monitor", APIVersion, "SetDefaultAlarmPolicy")
+ return
+}
+
+func NewSetDefaultAlarmPolicyResponse() (response *SetDefaultAlarmPolicyResponse) {
+ response = &SetDefaultAlarmPolicyResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 设置一个策略为该告警策略类型、该项目的默认告警策略。
+// 同一项目下相同的告警策略类型,就会被设置为非默认。
+func (c *Client) SetDefaultAlarmPolicy(request *SetDefaultAlarmPolicyRequest) (response *SetDefaultAlarmPolicyResponse, err error) {
+ if request == nil {
+ request = NewSetDefaultAlarmPolicyRequest()
+ }
+ response = NewSetDefaultAlarmPolicyResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewUnBindingAllPolicyObjectRequest() (request *UnBindingAllPolicyObjectRequest) {
request = &UnBindingAllPolicyObjectRequest{
BaseRequest: &tchttp.BaseRequest{},
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go
index 5fb7df3e6d..3ca1719e81 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724/models.go
@@ -20,6 +20,18 @@ import (
tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http"
)
+type AlarmEvent struct {
+
+ // 事件名
+ EventName *string `json:"EventName,omitempty" name:"EventName"`
+
+ // 展示的事件名
+ Description *string `json:"Description,omitempty" name:"Description"`
+
+ // 告警策略类型
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+}
+
type AlarmHistory struct {
// 告警历史Id
@@ -84,6 +96,274 @@ type AlarmHistory struct {
// 地域
Region *string `json:"Region,omitempty" name:"Region"`
+
+ // 策略是否存在 0=不存在 1=存在
+ PolicyExists *int64 `json:"PolicyExists,omitempty" name:"PolicyExists"`
+}
+
+type AlarmNotice struct {
+
+ // 告警通知模板 ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Id *string `json:"Id,omitempty" name:"Id"`
+
+ // 告警通知模板名称
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 上次修改时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"`
+
+ // 上次修改人
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UpdatedBy *string `json:"UpdatedBy,omitempty" name:"UpdatedBy"`
+
+ // 告警通知类型 ALARM=未恢复通知 OK=已恢复通知 ALL=全部通知
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ NoticeType *string `json:"NoticeType,omitempty" name:"NoticeType"`
+
+ // 用户通知列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UserNotices []*UserNotice `json:"UserNotices,omitempty" name:"UserNotices" list`
+
+ // 回调通知列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ URLNotices []*URLNotice `json:"URLNotices,omitempty" name:"URLNotices" list`
+
+ // 是否是系统预设通知模板 0=否 1=是
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsPreset *int64 `json:"IsPreset,omitempty" name:"IsPreset"`
+
+ // 通知语言 zh-CN=中文 en-US=英文
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ NoticeLanguage *string `json:"NoticeLanguage,omitempty" name:"NoticeLanguage"`
+
+ // 告警通知模板绑定的告警策略ID列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PolicyIds []*string `json:"PolicyIds,omitempty" name:"PolicyIds" list`
+}
+
+type AlarmPolicy struct {
+
+ // 告警策略 ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
+
+ // 告警策略名称
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PolicyName *string `json:"PolicyName,omitempty" name:"PolicyName"`
+
+ // 备注信息
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Remark *string `json:"Remark,omitempty" name:"Remark"`
+
+ // 监控类型 MT_QCE=云产品监控
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ MonitorType *string `json:"MonitorType,omitempty" name:"MonitorType"`
+
+ // 启停状态 0=停用 1=启用
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Enable *int64 `json:"Enable,omitempty" name:"Enable"`
+
+ // 策略组绑定的实例数
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UseSum *int64 `json:"UseSum,omitempty" name:"UseSum"`
+
+ // 项目 Id -1=无项目 0=默认项目
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
+
+ // 项目名
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ProjectName *string `json:"ProjectName,omitempty" name:"ProjectName"`
+
+ // 告警策略类型
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+
+ // 触发条件模板 Id
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ConditionTemplateId *string `json:"ConditionTemplateId,omitempty" name:"ConditionTemplateId"`
+
+ // 指标触发条件
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Condition *AlarmPolicyCondition `json:"Condition,omitempty" name:"Condition"`
+
+ // 事件触发条件
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EventCondition *AlarmPolicyEventCondition `json:"EventCondition,omitempty" name:"EventCondition"`
+
+ // 通知规则 id 列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ NoticeIds []*string `json:"NoticeIds,omitempty" name:"NoticeIds" list`
+
+ // 通知规则 列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Notices []*AlarmNotice `json:"Notices,omitempty" name:"Notices" list`
+
+ // 触发任务列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TriggerTasks []*AlarmPolicyTriggerTask `json:"TriggerTasks,omitempty" name:"TriggerTasks" list`
+
+ // 模板策略组
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ConditionsTemp *ConditionsTemp `json:"ConditionsTemp,omitempty" name:"ConditionsTemp"`
+
+ // 最后编辑的用户uin
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+
+ // 更新时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
+
+ // 创建时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
+
+ // 地域
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Region []*string `json:"Region,omitempty" name:"Region" list`
+
+ // namespace显示名字
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ NamespaceShowName *string `json:"NamespaceShowName,omitempty" name:"NamespaceShowName"`
+
+ // 是否默认策略,1是,0否
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"`
+
+ // 能否设置默认策略,1是,0否
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ CanSetDefault *int64 `json:"CanSetDefault,omitempty" name:"CanSetDefault"`
+
+ // 实例分组ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"`
+
+ // 实例分组总实例数
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceSum *int64 `json:"InstanceSum,omitempty" name:"InstanceSum"`
+
+ // 实例分组名称
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceGroupName *string `json:"InstanceGroupName,omitempty" name:"InstanceGroupName"`
+
+ // 触发条件类型 STATIC=静态阈值 DYNAMIC=动态类型
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ RuleType *string `json:"RuleType,omitempty" name:"RuleType"`
+
+ // 用于实例、实例组绑定和解绑接口(BindingPolicyObject、UnBindingAllPolicyObject、UnBindingPolicyObject)的策略 ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ OriginId *string `json:"OriginId,omitempty" name:"OriginId"`
+}
+
+type AlarmPolicyCondition struct {
+
+ // 指标触发与或条件,0=或,1=与
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"`
+
+ // 告警触发条件列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Rules []*AlarmPolicyRule `json:"Rules,omitempty" name:"Rules" list`
+}
+
+type AlarmPolicyEventCondition struct {
+
+ // 告警触发条件列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Rules []*AlarmPolicyRule `json:"Rules,omitempty" name:"Rules" list`
+}
+
+type AlarmPolicyFilter struct {
+
+ // 过滤条件类型 DIMENSION=使用 Dimensions 做过滤
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Type *string `json:"Type,omitempty" name:"Type"`
+
+ // AlarmPolicyDimension 二维数组序列化后的json字符串,一维数组之间互为或关系,一维数组内的元素互为与关系
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"`
+}
+
+type AlarmPolicyRule struct {
+
+ // 指标名
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
+
+ // 秒数 统计周期
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Period *int64 `json:"Period,omitempty" name:"Period"`
+
+ // 英文运算符
+ // intelligent=无阈值智能检测
+ // eq=等于
+ // ge=大于等于
+ // gt=大于
+ // le=小于等于
+ // lt=小于
+ // ne=不等于
+ // day_increase=天同比增长
+ // day_decrease=天同比下降
+ // day_wave=天同比波动
+ // week_increase=周同比增长
+ // week_decrease=周同比下降
+ // week_wave=周同比波动
+ // cycle_increase=环比增长
+ // cycle_decrease=环比下降
+ // cycle_wave=环比波动
+ // re=正则匹配
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Operator *string `json:"Operator,omitempty" name:"Operator"`
+
+ // 阈值
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Value *string `json:"Value,omitempty" name:"Value"`
+
+ // 周期数 持续通知周期 1=持续1个周期 2=持续2个周期...
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ContinuePeriod *int64 `json:"ContinuePeriod,omitempty" name:"ContinuePeriod"`
+
+ // 秒数 告警间隔 0=不重复 300=每5分钟告警一次 600=每10分钟告警一次 900=每15分钟告警一次 1800=每30分钟告警一次 3600=每1小时告警一次 7200=每2小时告警一次 10800=每3小时告警一次 21600=每6小时告警一次 43200=每12小时告警一次 86400=每1天告警一次
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ NoticeFrequency *int64 `json:"NoticeFrequency,omitempty" name:"NoticeFrequency"`
+
+ // 告警频率是否指数增长 0=否 1=是
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsPowerNotice *int64 `json:"IsPowerNotice,omitempty" name:"IsPowerNotice"`
+
+ // 对于单个触发规则的过滤条件
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Filter *AlarmPolicyFilter `json:"Filter,omitempty" name:"Filter"`
+
+ // 指标展示名,用于出参
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Description *string `json:"Description,omitempty" name:"Description"`
+
+ // 单位,用于出参
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Unit *string `json:"Unit,omitempty" name:"Unit"`
+
+ // 触发条件类型 STATIC=静态阈值 DYNAMIC=动态阈值
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ RuleType *string `json:"RuleType,omitempty" name:"RuleType"`
+}
+
+type AlarmPolicyTriggerTask struct {
+
+ // 触发任务类型 AS=弹性伸缩
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Type *string `json:"Type,omitempty" name:"Type"`
+
+ // 用 json 表示配置信息 {"Key1":"Value1","Key2":"Value2"}
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TaskConfig *string `json:"TaskConfig,omitempty" name:"TaskConfig"`
}
type BindingPolicyObjectDimension struct {
@@ -171,98 +451,235 @@ type CommonNamespace struct {
DashboardId *string `json:"DashboardId,omitempty" name:"DashboardId"`
}
-type CreatePolicyGroupCondition struct {
+type ConditionsTemp struct {
- // 指标Id
- MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"`
+ // 模版名称
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TemplateName *string `json:"TemplateName,omitempty" name:"TemplateName"`
- // 告警发送收敛类型。0连续告警,1指数告警
- AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"`
+ // 指标触发条件
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Condition *AlarmPolicyCondition `json:"Condition,omitempty" name:"Condition"`
- // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次
- AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"`
+ // 事件触发条件
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EventCondition *AlarmPolicyEventCondition `json:"EventCondition,omitempty" name:"EventCondition"`
+}
- // 比较类型,1表示大于,2表示大于等于,3表示小于,4表示小于等于,5表示相等,6表示不相等。如果指标有配置默认比较类型值可以不填。
- CalcType *int64 `json:"CalcType,omitempty" name:"CalcType"`
+type CreateAlarmNoticeRequest struct {
+ *tchttp.BaseRequest
- // 比较的值,如果指标不必须CalcValue可不填
- CalcValue *float64 `json:"CalcValue,omitempty" name:"CalcValue"`
+ // 模块名,这里填“monitor”
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 数据聚合周期(单位秒),若指标有默认值可不填
- CalcPeriod *int64 `json:"CalcPeriod,omitempty" name:"CalcPeriod"`
+ // 通知模板名称 60字符以内
+ Name *string `json:"Name,omitempty" name:"Name"`
- // 持续几个检测周期触发规则会告警
- ContinuePeriod *int64 `json:"ContinuePeriod,omitempty" name:"ContinuePeriod"`
+ // 通知类型 ALARM=未恢复通知 OK=已恢复通知 ALL=都通知
+ NoticeType *string `json:"NoticeType,omitempty" name:"NoticeType"`
- // 如果通过模版创建,需要传入模版中该指标的对应RuleId
- RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"`
+ // 通知语言 zh-CN=中文 en-US=英文
+ NoticeLanguage *string `json:"NoticeLanguage,omitempty" name:"NoticeLanguage"`
+
+ // 用户通知 最多5个
+ UserNotices []*UserNotice `json:"UserNotices,omitempty" name:"UserNotices" list`
+
+ // 回调通知 最多3个
+ URLNotices []*URLNotice `json:"URLNotices,omitempty" name:"URLNotices" list`
}
-type CreatePolicyGroupEventCondition struct {
+func (r *CreateAlarmNoticeRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 告警事件的Id
- EventId *int64 `json:"EventId,omitempty" name:"EventId"`
+func (r *CreateAlarmNoticeRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 告警发送收敛类型。0连续告警,1指数告警
- AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"`
+type CreateAlarmNoticeResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次
- AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"`
+ // 告警通知模板ID
+ NoticeId *string `json:"NoticeId,omitempty" name:"NoticeId"`
- // 如果通过模版创建,需要传入模版中该指标的对应RuleId
- RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
}
-type CreatePolicyGroupRequest struct {
- *tchttp.BaseRequest
+func (r *CreateAlarmNoticeResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 组策略名称
- GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+func (r *CreateAlarmNoticeResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type CreateAlarmPolicyRequest struct {
+ *tchttp.BaseRequest
// 固定值,为"monitor"
Module *string `json:"Module,omitempty" name:"Module"`
- // 策略组所属视图的名称,若通过模版创建,可不传入
- ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
-
- // 策略组所属项目Id,会进行鉴权操作
- ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ // 策略名称,不超过20字符
+ PolicyName *string `json:"PolicyName,omitempty" name:"PolicyName"`
- // 模版策略组Id, 通过模版创建时才需要传
- ConditionTempGroupId *int64 `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"`
+ // 监控类型 MT_QCE=云产品监控
+ MonitorType *string `json:"MonitorType,omitempty" name:"MonitorType"`
- // 是否屏蔽策略组,0表示不屏蔽,1表示屏蔽。不填默认为0
- IsShielded *int64 `json:"IsShielded,omitempty" name:"IsShielded"`
+ // 告警策略类型,由 DescribeAllNamespaces 获得,例如 cvm_device
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
- // 策略组的备注信息
+ // 备注,不超过100字符,仅支持中英文、数字、下划线、-
Remark *string `json:"Remark,omitempty" name:"Remark"`
- // 插入时间,戳格式为Unix时间戳,不填则按后台处理时间填充
- InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
+ // 是否启用 0=停用 1=启用,可不传 默认为1
+ Enable *int64 `json:"Enable,omitempty" name:"Enable"`
- // 策略组中的阈值告警规则
- Conditions []*CreatePolicyGroupCondition `json:"Conditions,omitempty" name:"Conditions" list`
+ // 项目 Id -1=无项目 0=默认项目,可不传 默认为-1
+ ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
- // 策略组中的事件告警规则
- EventConditions []*CreatePolicyGroupEventCondition `json:"EventConditions,omitempty" name:"EventConditions" list`
+ // 指标触发条件
+ Condition *AlarmPolicyCondition `json:"Condition,omitempty" name:"Condition"`
- // 是否为后端调用。当且仅当值为1时,后台拉取策略模版中的规则填充入Conditions以及EventConditions字段
- BackEndCall *int64 `json:"BackEndCall,omitempty" name:"BackEndCall"`
+ // 事件触发条件
+ EventCondition *AlarmPolicyEventCondition `json:"EventCondition,omitempty" name:"EventCondition"`
- // 指标告警规则的且或关系,0表示或规则(满足任意规则就告警),1表示且规则(满足所有规则才告警)
- IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"`
+ // 通知规则 Id 列表,由 DescribeAlarmNotices 获得
+ NoticeIds []*string `json:"NoticeIds,omitempty" name:"NoticeIds" list`
+
+ // 触发任务列表
+ TriggerTasks []*AlarmPolicyTriggerTask `json:"TriggerTasks,omitempty" name:"TriggerTasks" list`
}
-func (r *CreatePolicyGroupRequest) ToJsonString() string {
+func (r *CreateAlarmPolicyRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *CreatePolicyGroupRequest) FromJsonString(s string) error {
+func (r *CreateAlarmPolicyRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type CreatePolicyGroupResponse struct {
+type CreateAlarmPolicyResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 告警策略 ID
+ PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
+
+ // 用于实例、实例组绑定和解绑接口(BindingPolicyObject、UnBindingAllPolicyObject、UnBindingPolicyObject)的策略 ID
+ OriginId *string `json:"OriginId,omitempty" name:"OriginId"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *CreateAlarmPolicyResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *CreateAlarmPolicyResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type CreatePolicyGroupCondition struct {
+
+ // 指标Id
+ MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"`
+
+ // 告警发送收敛类型。0连续告警,1指数告警
+ AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"`
+
+ // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次
+ AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"`
+
+ // 比较类型,1表示大于,2表示大于等于,3表示小于,4表示小于等于,5表示相等,6表示不相等。如果指标有配置默认比较类型值可以不填。
+ CalcType *int64 `json:"CalcType,omitempty" name:"CalcType"`
+
+ // 比较的值,如果指标不必须CalcValue可不填
+ CalcValue *float64 `json:"CalcValue,omitempty" name:"CalcValue"`
+
+ // 数据聚合周期(单位秒),若指标有默认值可不填
+ CalcPeriod *int64 `json:"CalcPeriod,omitempty" name:"CalcPeriod"`
+
+ // 持续几个检测周期触发规则会告警
+ ContinuePeriod *int64 `json:"ContinuePeriod,omitempty" name:"ContinuePeriod"`
+
+ // 如果通过模版创建,需要传入模版中该指标的对应RuleId
+ RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"`
+}
+
+type CreatePolicyGroupEventCondition struct {
+
+ // 告警事件的Id
+ EventId *int64 `json:"EventId,omitempty" name:"EventId"`
+
+ // 告警发送收敛类型。0连续告警,1指数告警
+ AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"`
+
+ // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次
+ AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"`
+
+ // 如果通过模版创建,需要传入模版中该指标的对应RuleId
+ RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"`
+}
+
+type CreatePolicyGroupRequest struct {
+ *tchttp.BaseRequest
+
+ // 组策略名称
+ GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+
+ // 固定值,为"monitor"
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 策略组所属视图的名称,若通过模版创建,可不传入
+ ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
+
+ // 策略组所属项目Id,会进行鉴权操作
+ ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
+
+ // 模版策略组Id, 通过模版创建时才需要传
+ ConditionTempGroupId *int64 `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"`
+
+ // 是否屏蔽策略组,0表示不屏蔽,1表示屏蔽。不填默认为0
+ IsShielded *int64 `json:"IsShielded,omitempty" name:"IsShielded"`
+
+ // 策略组的备注信息
+ Remark *string `json:"Remark,omitempty" name:"Remark"`
+
+ // 插入时间,戳格式为Unix时间戳,不填则按后台处理时间填充
+ InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
+
+ // 策略组中的阈值告警规则
+ Conditions []*CreatePolicyGroupCondition `json:"Conditions,omitempty" name:"Conditions" list`
+
+ // 策略组中的事件告警规则
+ EventConditions []*CreatePolicyGroupEventCondition `json:"EventConditions,omitempty" name:"EventConditions" list`
+
+ // 是否为后端调用。当且仅当值为1时,后台拉取策略模版中的规则填充入Conditions以及EventConditions字段
+ BackEndCall *int64 `json:"BackEndCall,omitempty" name:"BackEndCall"`
+
+ // 指标告警规则的且或关系,0表示或规则(满足任意规则就告警),1表示且规则(满足所有规则才告警)
+ IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"`
+}
+
+func (r *CreatePolicyGroupRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *CreatePolicyGroupRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type CreatePolicyGroupResponse struct {
*tchttp.BaseResponse
Response *struct {
@@ -347,6 +764,80 @@ type DataPoint struct {
Values []*float64 `json:"Values,omitempty" name:"Values" list`
}
+type DeleteAlarmNoticesRequest struct {
+ *tchttp.BaseRequest
+
+ // 模块名,这里填“monitor”
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 告警通知模板id列表
+ NoticeIds []*string `json:"NoticeIds,omitempty" name:"NoticeIds" list`
+}
+
+func (r *DeleteAlarmNoticesRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeleteAlarmNoticesRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DeleteAlarmNoticesResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DeleteAlarmNoticesResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeleteAlarmNoticesResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DeleteAlarmPolicyRequest struct {
+ *tchttp.BaseRequest
+
+ // 模块名,固定值 monitor
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 告警策略 ID 列表
+ PolicyIds []*string `json:"PolicyIds,omitempty" name:"PolicyIds" list`
+}
+
+func (r *DeleteAlarmPolicyRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeleteAlarmPolicyRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DeleteAlarmPolicyResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DeleteAlarmPolicyResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeleteAlarmPolicyResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type DeletePolicyGroupRequest struct {
*tchttp.BaseRequest
@@ -543,6 +1034,46 @@ func (r *DescribeAccidentEventListResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type DescribeAlarmEventsRequest struct {
+ *tchttp.BaseRequest
+
+ // 模块名,固定值 monitor
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 告警策略类型,由 DescribeAllNamespaces 获得,例如 cvm_device
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+}
+
+func (r *DescribeAlarmEventsRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeAlarmEventsRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeAlarmEventsResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 告警事件列表
+ Events []*AlarmEvent `json:"Events,omitempty" name:"Events" list`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeAlarmEventsResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeAlarmEventsResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type DescribeAlarmHistoriesRequest struct {
*tchttp.BaseRequest
@@ -564,7 +1095,7 @@ type DescribeAlarmHistoriesRequest struct {
// 结束时间,默认当前时间戳
EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"`
- // 根据监控类型过滤 不选默认查所有类型 "MT_QCE"=云产品监控 "MT_CUSTOM"=自定义监控 "MT_PROME"=prometheus监控
+ // 根据监控类型过滤 不选默认查所有类型 "MT_QCE"=云产品监控 "
MonitorTypes []*string `json:"MonitorTypes,omitempty" name:"MonitorTypes" list`
// 根据告警对象过滤 字符串模糊搜索
@@ -573,7 +1104,7 @@ type DescribeAlarmHistoriesRequest struct {
// 根据告警状态过滤 ALARM=未恢复 OK=已恢复 NO_CONF=已失效 NO_DATA=数据不足,不选默认查所有
AlarmStatus []*string `json:"AlarmStatus,omitempty" name:"AlarmStatus" list`
- // 根据项目ID过滤,-1=“-“项目 0=默认项目
+ // 根据项目ID过滤,-1=无项目 0=默认项目
ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds" list`
// 根据实例组ID过滤
@@ -634,1534 +1165,2148 @@ func (r *DescribeAlarmHistoriesResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeAllNamespacesRequest struct {
+type DescribeAlarmMetricsRequest struct {
*tchttp.BaseRequest
- // 根据使用场景过滤 "ST_DASHBOARD"=Dashboard类型 或 "ST_ALARM"=告警类型
- SceneType *string `json:"SceneType,omitempty" name:"SceneType"`
-
// 固定值,为"monitor"
Module *string `json:"Module,omitempty" name:"Module"`
- // 根据监控类型过滤 不填默认查所有类型 "MT_QCE"=云产品监控 "MT_CUSTOM"=自定义监控
- MonitorTypes []*string `json:"MonitorTypes,omitempty" name:"MonitorTypes" list`
+ // 监控类型过滤 "MT_QCE"=云产品监控
+ MonitorType *string `json:"MonitorType,omitempty" name:"MonitorType"`
- // 根据namespace的Id过滤 不填默认查询所有
- Ids []*string `json:"Ids,omitempty" name:"Ids" list`
+ // 告警策略类型,由 DescribeAllNamespaces 获得,例如 cvm_device
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
}
-func (r *DescribeAllNamespacesRequest) ToJsonString() string {
+func (r *DescribeAlarmMetricsRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeAllNamespacesRequest) FromJsonString(s string) error {
+func (r *DescribeAlarmMetricsRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeAllNamespacesResponse struct {
+type DescribeAlarmMetricsResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 云产品的名字空间
- QceNamespaces *CommonNamespace `json:"QceNamespaces,omitempty" name:"QceNamespaces"`
-
- // 自定义监控的命名空间
- CustomNamespaces *CommonNamespace `json:"CustomNamespaces,omitempty" name:"CustomNamespaces"`
+ // 告警指标列表
+ Metrics []*Metric `json:"Metrics,omitempty" name:"Metrics" list`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeAllNamespacesResponse) ToJsonString() string {
+func (r *DescribeAlarmMetricsResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeAllNamespacesResponse) FromJsonString(s string) error {
+func (r *DescribeAlarmMetricsResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeBaseMetricsRequest struct {
+type DescribeAlarmNoticeCallbacksRequest struct {
*tchttp.BaseRequest
- // 业务命名空间,各个云产品的业务命名空间不同。如需获取业务命名空间,请前往各产品监控指标文档,例如云服务器的命名空间,可参见 [云服务器监控指标](https://cloud.tencent.com/document/product/248/6843)
- Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
-
- // 指标名,各个云产品的指标名不同。如需获取指标名,请前往各产品监控指标文档,例如云服务器的指标名,可参见 [云服务器监控指标](https://cloud.tencent.com/document/product/248/6843)
- MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
+ // 模块名,这里填“monitor”
+ Module *string `json:"Module,omitempty" name:"Module"`
}
-func (r *DescribeBaseMetricsRequest) ToJsonString() string {
+func (r *DescribeAlarmNoticeCallbacksRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeBaseMetricsRequest) FromJsonString(s string) error {
+func (r *DescribeAlarmNoticeCallbacksRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeBaseMetricsResponse struct {
+type DescribeAlarmNoticeCallbacksResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 查询得到的指标描述列表
- MetricSet []*MetricSet `json:"MetricSet,omitempty" name:"MetricSet" list`
+ // 告警回调通知
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ URLNotices []*URLNotice `json:"URLNotices,omitempty" name:"URLNotices" list`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeBaseMetricsResponse) ToJsonString() string {
+func (r *DescribeAlarmNoticeCallbacksResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeBaseMetricsResponse) FromJsonString(s string) error {
+func (r *DescribeAlarmNoticeCallbacksResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeBasicAlarmListAlarms struct {
+type DescribeAlarmNoticeRequest struct {
+ *tchttp.BaseRequest
- // 该条告警的ID
- Id *uint64 `json:"Id,omitempty" name:"Id"`
+ // 模块名,这里填“monitor”
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 项目ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ // 告警通知模板 id
+ NoticeId *string `json:"NoticeId,omitempty" name:"NoticeId"`
+}
- // 项目名称
- // 注意:此字段可能返回 null,表示取不到有效值。
- ProjectName *string `json:"ProjectName,omitempty" name:"ProjectName"`
+func (r *DescribeAlarmNoticeRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 告警状态ID,0表示未恢复;1表示已恢复;2,3,5表示数据不足;4表示已失效
- // 注意:此字段可能返回 null,表示取不到有效值。
- Status *int64 `json:"Status,omitempty" name:"Status"`
+func (r *DescribeAlarmNoticeRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 告警状态,ALARM表示未恢复;OK表示已恢复;NO_DATA表示数据不足;NO_CONF表示已失效
- // 注意:此字段可能返回 null,表示取不到有效值。
- AlarmStatus *string `json:"AlarmStatus,omitempty" name:"AlarmStatus"`
+type DescribeAlarmNoticeResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 策略组ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
+ // 告警通知模板详细信息
+ Notice *AlarmNotice `json:"Notice,omitempty" name:"Notice"`
- // 策略组名
- // 注意:此字段可能返回 null,表示取不到有效值。
- GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
-
- // 发生时间
- // 注意:此字段可能返回 null,表示取不到有效值。
- FirstOccurTime *string `json:"FirstOccurTime,omitempty" name:"FirstOccurTime"`
-
- // 持续时间,单位s
- // 注意:此字段可能返回 null,表示取不到有效值。
- Duration *int64 `json:"Duration,omitempty" name:"Duration"`
-
- // 结束时间
- // 注意:此字段可能返回 null,表示取不到有效值。
- LastOccurTime *string `json:"LastOccurTime,omitempty" name:"LastOccurTime"`
-
- // 告警内容
- // 注意:此字段可能返回 null,表示取不到有效值。
- Content *string `json:"Content,omitempty" name:"Content"`
-
- // 告警对象
- // 注意:此字段可能返回 null,表示取不到有效值。
- ObjName *string `json:"ObjName,omitempty" name:"ObjName"`
-
- // 告警对象ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- ObjId *string `json:"ObjId,omitempty" name:"ObjId"`
-
- // 策略类型
- // 注意:此字段可能返回 null,表示取不到有效值。
- ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
-
- // VPC,只有CVM有
- // 注意:此字段可能返回 null,表示取不到有效值。
- Vpc *string `json:"Vpc,omitempty" name:"Vpc"`
-
- // 指标ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"`
-
- // 指标名
- // 注意:此字段可能返回 null,表示取不到有效值。
- MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
-
- // 告警类型,0表示指标告警,2表示产品事件告警,3表示平台事件告警
- // 注意:此字段可能返回 null,表示取不到有效值。
- AlarmType *int64 `json:"AlarmType,omitempty" name:"AlarmType"`
-
- // 地域
- // 注意:此字段可能返回 null,表示取不到有效值。
- Region *string `json:"Region,omitempty" name:"Region"`
-
- // 告警对象维度信息
- // 注意:此字段可能返回 null,表示取不到有效值。
- Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
- // 通知方式
- // 注意:此字段可能返回 null,表示取不到有效值。
- NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay" list`
+func (r *DescribeAlarmNoticeResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 所属实例组信息
- // 注意:此字段可能返回 null,表示取不到有效值。
- InstanceGroup []*InstanceGroup `json:"InstanceGroup,omitempty" name:"InstanceGroup" list`
+func (r *DescribeAlarmNoticeResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
}
-type DescribeBasicAlarmListRequest struct {
+type DescribeAlarmNoticesRequest struct {
*tchttp.BaseRequest
- // 接口模块名,当前取值monitor
+ // 模块名,这里填“monitor”
Module *string `json:"Module,omitempty" name:"Module"`
- // 起始时间,默认一天前的时间戳
- StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
-
- // 结束时间,默认当前时间戳
- EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"`
-
- // 分页参数,每页返回的数量,取值1~100,默认20
- Limit *int64 `json:"Limit,omitempty" name:"Limit"`
-
- // 分页参数,页偏移量,从0开始计数,默认0
- Offset *int64 `json:"Offset,omitempty" name:"Offset"`
+ // 页码 最小为1
+ PageNumber *int64 `json:"PageNumber,omitempty" name:"PageNumber"`
- // 根据发生时间排序,取值ASC或DESC
- OccurTimeOrder *string `json:"OccurTimeOrder,omitempty" name:"OccurTimeOrder"`
+ // 分页大小 1~200
+ PageSize *int64 `json:"PageSize,omitempty" name:"PageSize"`
- // 根据项目ID过滤
- ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds" list`
+ // 按更新时间排序方式 ASC=正序 DESC=倒序
+ Order *string `json:"Order,omitempty" name:"Order"`
- // 根据策略类型过滤
- ViewNames []*string `json:"ViewNames,omitempty" name:"ViewNames" list`
+ // 主账号 uid 用于创建预设通知
+ OwnerUid *int64 `json:"OwnerUid,omitempty" name:"OwnerUid"`
- // 根据告警状态过滤
- AlarmStatus []*int64 `json:"AlarmStatus,omitempty" name:"AlarmStatus" list`
+ // 告警通知模板名称 用来模糊搜索
+ Name *string `json:"Name,omitempty" name:"Name"`
- // 根据告警对象过滤
- ObjLike *string `json:"ObjLike,omitempty" name:"ObjLike"`
+ // 根据接收人过滤告警通知模板需要选定通知用户类型 USER=用户 GROUP=用户组 传空=不按接收人过滤
+ ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"`
- // 根据实例组ID过滤
- InstanceGroupIds []*int64 `json:"InstanceGroupIds,omitempty" name:"InstanceGroupIds" list`
+ // 接收对象列表
+ UserIds []*int64 `json:"UserIds,omitempty" name:"UserIds" list`
- // 根据指标名过滤
- MetricNames []*string `json:"MetricNames,omitempty" name:"MetricNames" list`
+ // 接收组列表
+ GroupIds []*int64 `json:"GroupIds,omitempty" name:"GroupIds" list`
}
-func (r *DescribeBasicAlarmListRequest) ToJsonString() string {
+func (r *DescribeAlarmNoticesRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeBasicAlarmListRequest) FromJsonString(s string) error {
+func (r *DescribeAlarmNoticesRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeBasicAlarmListResponse struct {
+type DescribeAlarmNoticesResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 告警列表
- // 注意:此字段可能返回 null,表示取不到有效值。
- Alarms []*DescribeBasicAlarmListAlarms `json:"Alarms,omitempty" name:"Alarms" list`
+ // 告警通知模板总数
+ TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
- // 总数
- // 注意:此字段可能返回 null,表示取不到有效值。
- Total *int64 `json:"Total,omitempty" name:"Total"`
+ // 告警通知模板列表
+ Notices []*AlarmNotice `json:"Notices,omitempty" name:"Notices" list`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeBasicAlarmListResponse) ToJsonString() string {
+func (r *DescribeAlarmNoticesResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeBasicAlarmListResponse) FromJsonString(s string) error {
+func (r *DescribeAlarmNoticesResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeBindingPolicyObjectListDimension struct {
+type DescribeAlarmPoliciesRequest struct {
+ *tchttp.BaseRequest
- // 地域id
- RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"`
+ // 固定值,为"monitor"
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 地域简称
- Region *string `json:"Region,omitempty" name:"Region"`
+ // 页数,从 1 开始计数,默认 1
+ PageNumber *int64 `json:"PageNumber,omitempty" name:"PageNumber"`
- // 维度组合json字符串
- Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"`
+ // 每页的数量,取值1~100,默认20
+ PageSize *int64 `json:"PageSize,omitempty" name:"PageSize"`
- // 事件维度组合json字符串
- EventDimensions *string `json:"EventDimensions,omitempty" name:"EventDimensions"`
-}
+ // 按策略名称模糊搜索
+ PolicyName *string `json:"PolicyName,omitempty" name:"PolicyName"`
-type DescribeBindingPolicyObjectListInstance struct {
+ // 根据监控类型过滤 不选默认查所有类型 "MT_QCE"=云产品监控
+ MonitorTypes []*string `json:"MonitorTypes,omitempty" name:"MonitorTypes" list`
- // 对象唯一id
- UniqueId *string `json:"UniqueId,omitempty" name:"UniqueId"`
+ // 根据命名空间过滤
+ Namespaces []*string `json:"Namespaces,omitempty" name:"Namespaces" list`
- // 表示对象实例的维度集合,jsonObj字符串
+ // 告警对象列表
Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"`
- // 对象是否被屏蔽,0表示未屏蔽,1表示被屏蔽
- IsShielded *int64 `json:"IsShielded,omitempty" name:"IsShielded"`
+ // 根据接收人搜索
+ ReceiverUids []*int64 `json:"ReceiverUids,omitempty" name:"ReceiverUids" list`
- // 对象所在的地域
- Region *string `json:"Region,omitempty" name:"Region"`
-}
+ // 根据接收组搜索
+ ReceiverGroups []*int64 `json:"ReceiverGroups,omitempty" name:"ReceiverGroups" list`
-type DescribeBindingPolicyObjectListInstanceGroup struct {
+ // 根据默认策略筛选 不传展示全部策略 DEFAULT=展示默认策略 NOT_DEFAULT=展示非默认策略
+ PolicyType []*string `json:"PolicyType,omitempty" name:"PolicyType" list`
- // 实例分组id
- InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"`
+ // 排序字段
+ Field *string `json:"Field,omitempty" name:"Field"`
- // 告警策略类型名称
- ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
+ // 排序顺序:升序:ASC 降序:DESC
+ Order *string `json:"Order,omitempty" name:"Order"`
- // 最后编辑uin
- LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+ // 项目id数组
+ ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds" list`
- // 实例分组名称
- GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+ // 告警通知id列表
+ NoticeIds []*string `json:"NoticeIds,omitempty" name:"NoticeIds" list`
- // 实例数量
- InstanceSum *int64 `json:"InstanceSum,omitempty" name:"InstanceSum"`
+ // 根据触发条件筛选 不传展示全部策略 STATIC=展示静态阈值策略 DYNAMIC=展示动态阈值策略
+ RuleTypes []*string `json:"RuleTypes,omitempty" name:"RuleTypes" list`
- // 更新时间
- UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
+ // 启停,1:启用 0:停止
+ Enable []*int64 `json:"Enable,omitempty" name:"Enable" list`
+}
- // 创建时间
- InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
+func (r *DescribeAlarmPoliciesRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 实例所在的地域集合
- // 注意:此字段可能返回 null,表示取不到有效值。
- Regions []*string `json:"Regions,omitempty" name:"Regions" list`
+func (r *DescribeAlarmPoliciesRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
}
-type DescribeBindingPolicyObjectListRequest struct {
- *tchttp.BaseRequest
+type DescribeAlarmPoliciesResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 固定值,为"monitor"
- Module *string `json:"Module,omitempty" name:"Module"`
+ // 策略总数
+ TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
- // 策略组id
- GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
+ // 策略数组
+ Policies []*AlarmPolicy `json:"Policies,omitempty" name:"Policies" list`
- // 分页参数,每页返回的数量,取值1~100,默认20
- Limit *int64 `json:"Limit,omitempty" name:"Limit"`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
- // 分页参数,页偏移量,从0开始计数,默认0
- Offset *int64 `json:"Offset,omitempty" name:"Offset"`
+func (r *DescribeAlarmPoliciesResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 筛选对象的维度信息
- Dimensions []*DescribeBindingPolicyObjectListDimension `json:"Dimensions,omitempty" name:"Dimensions" list`
+func (r *DescribeAlarmPoliciesResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
}
-func (r *DescribeBindingPolicyObjectListRequest) ToJsonString() string {
+type DescribeAlarmPolicyRequest struct {
+ *tchttp.BaseRequest
+
+ // 固定值,为"monitor"
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 告警策略ID
+ PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
+}
+
+func (r *DescribeAlarmPolicyRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeBindingPolicyObjectListRequest) FromJsonString(s string) error {
+func (r *DescribeAlarmPolicyRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeBindingPolicyObjectListResponse struct {
+type DescribeAlarmPolicyResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 绑定的对象实例列表
- // 注意:此字段可能返回 null,表示取不到有效值。
- List []*DescribeBindingPolicyObjectListInstance `json:"List,omitempty" name:"List" list`
-
- // 绑定的对象实例总数
- Total *int64 `json:"Total,omitempty" name:"Total"`
-
- // 未屏蔽的对象实例数
- NoShieldedSum *int64 `json:"NoShieldedSum,omitempty" name:"NoShieldedSum"`
-
- // 绑定的实例分组信息,没有绑定实例分组则为空
- // 注意:此字段可能返回 null,表示取不到有效值。
- InstanceGroup *DescribeBindingPolicyObjectListInstanceGroup `json:"InstanceGroup,omitempty" name:"InstanceGroup"`
+ // 策略详情
+ Policy *AlarmPolicy `json:"Policy,omitempty" name:"Policy"`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeBindingPolicyObjectListResponse) ToJsonString() string {
+func (r *DescribeAlarmPolicyResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeBindingPolicyObjectListResponse) FromJsonString(s string) error {
+func (r *DescribeAlarmPolicyResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeMonitorTypesRequest struct {
+type DescribeAllNamespacesRequest struct {
*tchttp.BaseRequest
+ // 根据使用场景过滤 "ST_DASHBOARD"=Dashboard类型 或 "ST_ALARM"=告警类型
+ SceneType *string `json:"SceneType,omitempty" name:"SceneType"`
+
// 固定值,为"monitor"
Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 根据监控类型过滤 不填默认查所有类型 "MT_QCE"=云产品监控
+ MonitorTypes []*string `json:"MonitorTypes,omitempty" name:"MonitorTypes" list`
+
+ // 根据namespace的Id过滤 不填默认查询所有
+ Ids []*string `json:"Ids,omitempty" name:"Ids" list`
}
-func (r *DescribeMonitorTypesRequest) ToJsonString() string {
+func (r *DescribeAllNamespacesRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeMonitorTypesRequest) FromJsonString(s string) error {
+func (r *DescribeAllNamespacesRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeMonitorTypesResponse struct {
+type DescribeAllNamespacesResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 监控类型
- MonitorTypes []*string `json:"MonitorTypes,omitempty" name:"MonitorTypes" list`
+ // 云产品的告警策略类型,已废弃
+ QceNamespaces *CommonNamespace `json:"QceNamespaces,omitempty" name:"QceNamespaces"`
+
+ // 其他告警策略类型,已废弃
+ CustomNamespaces *CommonNamespace `json:"CustomNamespaces,omitempty" name:"CustomNamespaces"`
+
+ // 云产品的告警策略类型
+ QceNamespacesNew []*CommonNamespace `json:"QceNamespacesNew,omitempty" name:"QceNamespacesNew" list`
+
+ // 其他告警策略类型,暂不支持
+ CustomNamespacesNew []*CommonNamespace `json:"CustomNamespacesNew,omitempty" name:"CustomNamespacesNew" list`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeMonitorTypesResponse) ToJsonString() string {
+func (r *DescribeAllNamespacesResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeMonitorTypesResponse) FromJsonString(s string) error {
+func (r *DescribeAllNamespacesResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribePolicyConditionListCondition struct {
+type DescribeBaseMetricsRequest struct {
+ *tchttp.BaseRequest
- // 策略视图名称
- PolicyViewName *string `json:"PolicyViewName,omitempty" name:"PolicyViewName"`
+ // 业务命名空间,各个云产品的业务命名空间不同。如需获取业务命名空间,请前往各产品监控指标文档,例如云服务器的命名空间,可参见 [云服务器监控指标](https://cloud.tencent.com/document/product/248/6843)
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
- // 事件告警条件
- // 注意:此字段可能返回 null,表示取不到有效值。
- EventMetrics []*DescribePolicyConditionListEventMetric `json:"EventMetrics,omitempty" name:"EventMetrics" list`
-
- // 是否支持多地域
- IsSupportMultiRegion *bool `json:"IsSupportMultiRegion,omitempty" name:"IsSupportMultiRegion"`
+ // 指标名,各个云产品的指标名不同。如需获取指标名,请前往各产品监控指标文档,例如云服务器的指标名,可参见 [云服务器监控指标](https://cloud.tencent.com/document/product/248/6843)
+ MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
+}
- // 指标告警条件
- // 注意:此字段可能返回 null,表示取不到有效值。
- Metrics []*DescribePolicyConditionListMetric `json:"Metrics,omitempty" name:"Metrics" list`
+func (r *DescribeBaseMetricsRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 策略类型名称
- Name *string `json:"Name,omitempty" name:"Name"`
+func (r *DescribeBaseMetricsRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 排序id
- SortId *int64 `json:"SortId,omitempty" name:"SortId"`
+type DescribeBaseMetricsResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 是否支持默认策略
- SupportDefault *bool `json:"SupportDefault,omitempty" name:"SupportDefault"`
+ // 查询得到的指标描述列表
+ MetricSet []*MetricSet `json:"MetricSet,omitempty" name:"MetricSet" list`
- // 支持该策略类型的地域列表
- // 注意:此字段可能返回 null,表示取不到有效值。
- SupportRegions []*string `json:"SupportRegions,omitempty" name:"SupportRegions" list`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
}
-type DescribePolicyConditionListConfigManual struct {
-
- // 检测方式
- // 注意:此字段可能返回 null,表示取不到有效值。
- CalcType *DescribePolicyConditionListConfigManualCalcType `json:"CalcType,omitempty" name:"CalcType"`
+func (r *DescribeBaseMetricsResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 检测阈值
- // 注意:此字段可能返回 null,表示取不到有效值。
- CalcValue *DescribePolicyConditionListConfigManualCalcValue `json:"CalcValue,omitempty" name:"CalcValue"`
+func (r *DescribeBaseMetricsResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 持续时间
- // 注意:此字段可能返回 null,表示取不到有效值。
- ContinueTime *DescribePolicyConditionListConfigManualContinueTime `json:"ContinueTime,omitempty" name:"ContinueTime"`
+type DescribeBasicAlarmListAlarms struct {
- // 数据周期
- // 注意:此字段可能返回 null,表示取不到有效值。
- Period *DescribePolicyConditionListConfigManualPeriod `json:"Period,omitempty" name:"Period"`
+ // 该条告警的ID
+ Id *uint64 `json:"Id,omitempty" name:"Id"`
- // 持续周期个数
+ // 项目ID
// 注意:此字段可能返回 null,表示取不到有效值。
- PeriodNum *DescribePolicyConditionListConfigManualPeriodNum `json:"PeriodNum,omitempty" name:"PeriodNum"`
+ ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
- // 聚合方式
+ // 项目名称
// 注意:此字段可能返回 null,表示取不到有效值。
- StatType *DescribePolicyConditionListConfigManualStatType `json:"StatType,omitempty" name:"StatType"`
-}
-
-type DescribePolicyConditionListConfigManualCalcType struct {
+ ProjectName *string `json:"ProjectName,omitempty" name:"ProjectName"`
- // CalcType 取值
+ // 告警状态ID,0表示未恢复;1表示已恢复;2,3,5表示数据不足;4表示已失效
// 注意:此字段可能返回 null,表示取不到有效值。
- Keys []*int64 `json:"Keys,omitempty" name:"Keys" list`
-
- // 是否必须
- Need *bool `json:"Need,omitempty" name:"Need"`
-}
-
-type DescribePolicyConditionListConfigManualCalcValue struct {
+ Status *int64 `json:"Status,omitempty" name:"Status"`
- // 默认值
+ // 告警状态,ALARM表示未恢复;OK表示已恢复;NO_DATA表示数据不足;NO_CONF表示已失效
// 注意:此字段可能返回 null,表示取不到有效值。
- Default *string `json:"Default,omitempty" name:"Default"`
+ AlarmStatus *string `json:"AlarmStatus,omitempty" name:"AlarmStatus"`
- // 固定值
+ // 策略组ID
// 注意:此字段可能返回 null,表示取不到有效值。
- Fixed *string `json:"Fixed,omitempty" name:"Fixed"`
+ GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
- // 最大值
+ // 策略组名
// 注意:此字段可能返回 null,表示取不到有效值。
- Max *string `json:"Max,omitempty" name:"Max"`
+ GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
- // 最小值
+ // 发生时间
// 注意:此字段可能返回 null,表示取不到有效值。
- Min *string `json:"Min,omitempty" name:"Min"`
-
- // 是否必须
- Need *bool `json:"Need,omitempty" name:"Need"`
-}
-
-type DescribePolicyConditionListConfigManualContinueTime struct {
+ FirstOccurTime *string `json:"FirstOccurTime,omitempty" name:"FirstOccurTime"`
- // 默认持续时间,单位:秒
+ // 持续时间,单位s
// 注意:此字段可能返回 null,表示取不到有效值。
- Default *int64 `json:"Default,omitempty" name:"Default"`
+ Duration *int64 `json:"Duration,omitempty" name:"Duration"`
- // 可选持续时间,单位:秒
+ // 结束时间
// 注意:此字段可能返回 null,表示取不到有效值。
- Keys []*int64 `json:"Keys,omitempty" name:"Keys" list`
-
- // 是否必须
- Need *bool `json:"Need,omitempty" name:"Need"`
-}
-
-type DescribePolicyConditionListConfigManualPeriod struct {
+ LastOccurTime *string `json:"LastOccurTime,omitempty" name:"LastOccurTime"`
- // 默认周期,单位:秒
+ // 告警内容
// 注意:此字段可能返回 null,表示取不到有效值。
- Default *int64 `json:"Default,omitempty" name:"Default"`
+ Content *string `json:"Content,omitempty" name:"Content"`
- // 可选周期,单位:秒
+ // 告警对象
// 注意:此字段可能返回 null,表示取不到有效值。
- Keys []*int64 `json:"Keys,omitempty" name:"Keys" list`
-
- // 是否必须
- Need *bool `json:"Need,omitempty" name:"Need"`
-}
-
-type DescribePolicyConditionListConfigManualPeriodNum struct {
+ ObjName *string `json:"ObjName,omitempty" name:"ObjName"`
- // 默认周期数
+ // 告警对象ID
// 注意:此字段可能返回 null,表示取不到有效值。
- Default *int64 `json:"Default,omitempty" name:"Default"`
+ ObjId *string `json:"ObjId,omitempty" name:"ObjId"`
- // 可选周期数
+ // 策略类型
// 注意:此字段可能返回 null,表示取不到有效值。
- Keys []*int64 `json:"Keys,omitempty" name:"Keys" list`
-
- // 是否必须
- Need *bool `json:"Need,omitempty" name:"Need"`
-}
-
-type DescribePolicyConditionListConfigManualStatType struct {
+ ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
- // 数据聚合方式,周期5秒
+ // VPC,只有CVM有
// 注意:此字段可能返回 null,表示取不到有效值。
- P5 *string `json:"P5,omitempty" name:"P5"`
+ Vpc *string `json:"Vpc,omitempty" name:"Vpc"`
- // 数据聚合方式,周期10秒
+ // 指标ID
// 注意:此字段可能返回 null,表示取不到有效值。
- P10 *string `json:"P10,omitempty" name:"P10"`
+ MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"`
- // 数据聚合方式,周期1分钟
+ // 指标名
// 注意:此字段可能返回 null,表示取不到有效值。
- P60 *string `json:"P60,omitempty" name:"P60"`
+ MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
- // 数据聚合方式,周期5分钟
+ // 告警类型,0表示指标告警,2表示产品事件告警,3表示平台事件告警
// 注意:此字段可能返回 null,表示取不到有效值。
- P300 *string `json:"P300,omitempty" name:"P300"`
+ AlarmType *int64 `json:"AlarmType,omitempty" name:"AlarmType"`
- // 数据聚合方式,周期10分钟
+ // 地域
// 注意:此字段可能返回 null,表示取不到有效值。
- P600 *string `json:"P600,omitempty" name:"P600"`
+ Region *string `json:"Region,omitempty" name:"Region"`
- // 数据聚合方式,周期30分钟
+ // 告警对象维度信息
// 注意:此字段可能返回 null,表示取不到有效值。
- P1800 *string `json:"P1800,omitempty" name:"P1800"`
+ Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"`
- // 数据聚合方式,周期1小时
+ // 通知方式
// 注意:此字段可能返回 null,表示取不到有效值。
- P3600 *string `json:"P3600,omitempty" name:"P3600"`
+ NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay" list`
- // 数据聚合方式,周期1天
+ // 所属实例组信息
// 注意:此字段可能返回 null,表示取不到有效值。
- P86400 *string `json:"P86400,omitempty" name:"P86400"`
+ InstanceGroup []*InstanceGroup `json:"InstanceGroup,omitempty" name:"InstanceGroup" list`
}
-type DescribePolicyConditionListEventMetric struct {
+type DescribeBasicAlarmListRequest struct {
+ *tchttp.BaseRequest
- // 事件id
- EventId *int64 `json:"EventId,omitempty" name:"EventId"`
+ // 接口模块名,当前取值monitor
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 事件名称
- EventShowName *string `json:"EventShowName,omitempty" name:"EventShowName"`
+ // 起始时间,默认一天前的时间戳
+ StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
- // 是否需要恢复
- NeedRecovered *bool `json:"NeedRecovered,omitempty" name:"NeedRecovered"`
+ // 结束时间,默认当前时间戳
+ EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"`
- // 事件类型,预留字段,当前固定取值为2
- Type *int64 `json:"Type,omitempty" name:"Type"`
-}
+ // 分页参数,每页返回的数量,取值1~100,默认20
+ Limit *int64 `json:"Limit,omitempty" name:"Limit"`
-type DescribePolicyConditionListMetric struct {
+ // 分页参数,页偏移量,从0开始计数,默认0
+ Offset *int64 `json:"Offset,omitempty" name:"Offset"`
- // 指标配置
- // 注意:此字段可能返回 null,表示取不到有效值。
- ConfigManual *DescribePolicyConditionListConfigManual `json:"ConfigManual,omitempty" name:"ConfigManual"`
+ // 根据发生时间排序,取值ASC或DESC
+ OccurTimeOrder *string `json:"OccurTimeOrder,omitempty" name:"OccurTimeOrder"`
- // 指标id
- MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"`
+ // 根据项目ID过滤
+ ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds" list`
- // 指标名称
- MetricShowName *string `json:"MetricShowName,omitempty" name:"MetricShowName"`
+ // 根据策略类型过滤
+ ViewNames []*string `json:"ViewNames,omitempty" name:"ViewNames" list`
- // 指标单位
- MetricUnit *string `json:"MetricUnit,omitempty" name:"MetricUnit"`
-}
+ // 根据告警状态过滤
+ AlarmStatus []*int64 `json:"AlarmStatus,omitempty" name:"AlarmStatus" list`
-type DescribePolicyConditionListRequest struct {
- *tchttp.BaseRequest
+ // 根据告警对象过滤
+ ObjLike *string `json:"ObjLike,omitempty" name:"ObjLike"`
- // 固定值,为"monitor"
- Module *string `json:"Module,omitempty" name:"Module"`
+ // 根据实例组ID过滤
+ InstanceGroupIds []*int64 `json:"InstanceGroupIds,omitempty" name:"InstanceGroupIds" list`
+
+ // 根据指标名过滤
+ MetricNames []*string `json:"MetricNames,omitempty" name:"MetricNames" list`
}
-func (r *DescribePolicyConditionListRequest) ToJsonString() string {
+func (r *DescribeBasicAlarmListRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribePolicyConditionListRequest) FromJsonString(s string) error {
+func (r *DescribeBasicAlarmListRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribePolicyConditionListResponse struct {
+type DescribeBasicAlarmListResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 告警策略条件列表
- Conditions []*DescribePolicyConditionListCondition `json:"Conditions,omitempty" name:"Conditions" list`
+ // 告警列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Alarms []*DescribeBasicAlarmListAlarms `json:"Alarms,omitempty" name:"Alarms" list`
+
+ // 总数
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Total *int64 `json:"Total,omitempty" name:"Total"`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribePolicyConditionListResponse) ToJsonString() string {
+func (r *DescribeBasicAlarmListResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribePolicyConditionListResponse) FromJsonString(s string) error {
+func (r *DescribeBasicAlarmListResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribePolicyGroupInfoCallback struct {
+type DescribeBindingPolicyObjectListDimension struct {
- // 用户回调接口地址
- CallbackUrl *string `json:"CallbackUrl,omitempty" name:"CallbackUrl"`
+ // 地域id
+ RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"`
- // 用户回调接口状态,0表示未验证,1表示已验证,2表示存在url但没有通过验证
- ValidFlag *int64 `json:"ValidFlag,omitempty" name:"ValidFlag"`
+ // 地域简称
+ Region *string `json:"Region,omitempty" name:"Region"`
- // 用户回调接口验证码
- VerifyCode *string `json:"VerifyCode,omitempty" name:"VerifyCode"`
-}
-
-type DescribePolicyGroupInfoCondition struct {
-
- // 指标名称
- MetricShowName *string `json:"MetricShowName,omitempty" name:"MetricShowName"`
-
- // 数据聚合周期(单位秒)
- Period *int64 `json:"Period,omitempty" name:"Period"`
-
- // 指标id
- MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"`
-
- // 阈值规则id
- RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"`
-
- // 指标单位
- Unit *string `json:"Unit,omitempty" name:"Unit"`
+ // 维度组合json字符串
+ Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"`
- // 告警发送收敛类型。0连续告警,1指数告警
- AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"`
+ // 事件维度组合json字符串
+ EventDimensions *string `json:"EventDimensions,omitempty" name:"EventDimensions"`
+}
- // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次
- AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"`
+type DescribeBindingPolicyObjectListInstance struct {
- // 比较类型,1表示大于,2表示大于等于,3表示小于,4表示小于等于,5表示相等,6表示不相等,7表示日同比上涨,8表示日同比下降,9表示周同比上涨,10表示周同比下降,11表示周期环比上涨,12表示周期环比下降
- // 注意:此字段可能返回 null,表示取不到有效值。
- CalcType *int64 `json:"CalcType,omitempty" name:"CalcType"`
+ // 对象唯一id
+ UniqueId *string `json:"UniqueId,omitempty" name:"UniqueId"`
- // 检测阈值
- // 注意:此字段可能返回 null,表示取不到有效值。
- CalcValue *string `json:"CalcValue,omitempty" name:"CalcValue"`
+ // 表示对象实例的维度集合,jsonObj字符串
+ Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"`
- // 持续多长时间触发规则会告警(单位秒)
- // 注意:此字段可能返回 null,表示取不到有效值。
- ContinueTime *int64 `json:"ContinueTime,omitempty" name:"ContinueTime"`
+ // 对象是否被屏蔽,0表示未屏蔽,1表示被屏蔽
+ IsShielded *int64 `json:"IsShielded,omitempty" name:"IsShielded"`
- // 告警指标名
- // 注意:此字段可能返回 null,表示取不到有效值。
- MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
+ // 对象所在的地域
+ Region *string `json:"Region,omitempty" name:"Region"`
}
-type DescribePolicyGroupInfoConditionTpl struct {
-
- // 策略组id
- GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
+type DescribeBindingPolicyObjectListInstanceGroup struct {
- // 策略组名称
- GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+ // 实例分组id
+ InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"`
- // 策略类型
+ // 告警策略类型名称
ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
- // 策略组说明
- Remark *string `json:"Remark,omitempty" name:"Remark"`
-
- // 最后编辑的用户uin
+ // 最后编辑uin
LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+ // 实例分组名称
+ GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+
+ // 实例数量
+ InstanceSum *int64 `json:"InstanceSum,omitempty" name:"InstanceSum"`
+
// 更新时间
- // 注意:此字段可能返回 null,表示取不到有效值。
UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
// 创建时间
- // 注意:此字段可能返回 null,表示取不到有效值。
InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
- // 是否且规则
+ // 实例所在的地域集合
// 注意:此字段可能返回 null,表示取不到有效值。
- IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"`
+ Regions []*string `json:"Regions,omitempty" name:"Regions" list`
}
-type DescribePolicyGroupInfoEventCondition struct {
+type DescribeBindingPolicyObjectListRequest struct {
+ *tchttp.BaseRequest
- // 事件id
- EventId *int64 `json:"EventId,omitempty" name:"EventId"`
+ // 固定值,为"monitor"
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 事件告警规则id
- RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"`
+ // 策略组id
+ GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
- // 事件名称
- EventShowName *string `json:"EventShowName,omitempty" name:"EventShowName"`
+ // 分页参数,每页返回的数量,取值1~100,默认20
+ Limit *int64 `json:"Limit,omitempty" name:"Limit"`
- // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次
- AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"`
+ // 分页参数,页偏移量,从0开始计数,默认0
+ Offset *int64 `json:"Offset,omitempty" name:"Offset"`
- // 告警发送收敛类型。0连续告警,1指数告警
- AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"`
+ // 筛选对象的维度信息
+ Dimensions []*DescribeBindingPolicyObjectListDimension `json:"Dimensions,omitempty" name:"Dimensions" list`
}
-type DescribePolicyGroupInfoReceiverInfo struct {
-
- // 告警接收组id列表
- ReceiverGroupList []*int64 `json:"ReceiverGroupList,omitempty" name:"ReceiverGroupList" list`
-
- // 告警接收人id列表
- ReceiverUserList []*int64 `json:"ReceiverUserList,omitempty" name:"ReceiverUserList" list`
-
- // 告警时间段开始时间。范围[0,86400),作为unix时间戳转成北京时间后去掉日期,例如7200表示"10:0:0"
- StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
-
- // 告警时间段结束时间。含义同StartTime
- EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"`
+func (r *DescribeBindingPolicyObjectListRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 接收类型。“group”(接收组)或“user”(接收人)
- ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"`
+func (r *DescribeBindingPolicyObjectListRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 告警通知方式。可选 "SMS","SITE","EMAIL","CALL","WECHAT"
- NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay" list`
+type DescribeBindingPolicyObjectListResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 电话告警接收者uid
+ // 绑定的对象实例列表
// 注意:此字段可能返回 null,表示取不到有效值。
- UidList []*int64 `json:"UidList,omitempty" name:"UidList" list`
-
- // 电话告警轮数
- RoundNumber *int64 `json:"RoundNumber,omitempty" name:"RoundNumber"`
+ List []*DescribeBindingPolicyObjectListInstance `json:"List,omitempty" name:"List" list`
- // 电话告警每轮间隔(秒)
- RoundInterval *int64 `json:"RoundInterval,omitempty" name:"RoundInterval"`
+ // 绑定的对象实例总数
+ Total *int64 `json:"Total,omitempty" name:"Total"`
- // 电话告警对个人间隔(秒)
- PersonInterval *int64 `json:"PersonInterval,omitempty" name:"PersonInterval"`
+ // 未屏蔽的对象实例数
+ NoShieldedSum *int64 `json:"NoShieldedSum,omitempty" name:"NoShieldedSum"`
- // 是否需要电话告警触达提示。0不需要,1需要
- NeedSendNotice *int64 `json:"NeedSendNotice,omitempty" name:"NeedSendNotice"`
+ // 绑定的实例分组信息,没有绑定实例分组则为空
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceGroup *DescribeBindingPolicyObjectListInstanceGroup `json:"InstanceGroup,omitempty" name:"InstanceGroup"`
- // 电话告警通知时机。可选"OCCUR"(告警时通知),"RECOVER"(恢复时通知)
- SendFor []*string `json:"SendFor,omitempty" name:"SendFor" list`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
- // 恢复通知方式。可选"SMS"
- RecoverNotify []*string `json:"RecoverNotify,omitempty" name:"RecoverNotify" list`
+func (r *DescribeBindingPolicyObjectListResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 告警发送语言
- // 注意:此字段可能返回 null,表示取不到有效值。
- ReceiveLanguage *string `json:"ReceiveLanguage,omitempty" name:"ReceiveLanguage"`
+func (r *DescribeBindingPolicyObjectListResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
}
-type DescribePolicyGroupInfoRequest struct {
+type DescribeMonitorTypesRequest struct {
*tchttp.BaseRequest
- // 固定值,为"monitor"
+ // 模块名,固定值 monitor
Module *string `json:"Module,omitempty" name:"Module"`
-
- // 策略组id
- GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
}
-func (r *DescribePolicyGroupInfoRequest) ToJsonString() string {
+func (r *DescribeMonitorTypesRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribePolicyGroupInfoRequest) FromJsonString(s string) error {
+func (r *DescribeMonitorTypesRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribePolicyGroupInfoResponse struct {
+type DescribeMonitorTypesResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 策略组名称
- GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+ // 监控类型,云产品监控为 MT_QCE
+ MonitorTypes []*string `json:"MonitorTypes,omitempty" name:"MonitorTypes" list`
- // 策略组所属的项目id
- ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
- // 是否为默认策略,0表示非默认策略,1表示默认策略
- IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"`
+func (r *DescribeMonitorTypesResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 策略类型
- ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
+func (r *DescribeMonitorTypesResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 策略说明
- Remark *string `json:"Remark,omitempty" name:"Remark"`
+type DescribePolicyConditionListCondition struct {
- // 策略类型名称
- ShowName *string `json:"ShowName,omitempty" name:"ShowName"`
+ // 策略视图名称
+ PolicyViewName *string `json:"PolicyViewName,omitempty" name:"PolicyViewName"`
- // 最近编辑的用户uin
- LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+ // 事件告警条件
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EventMetrics []*DescribePolicyConditionListEventMetric `json:"EventMetrics,omitempty" name:"EventMetrics" list`
- // 最近编辑时间
- UpdateTime *string `json:"UpdateTime,omitempty" name:"UpdateTime"`
+ // 是否支持多地域
+ IsSupportMultiRegion *bool `json:"IsSupportMultiRegion,omitempty" name:"IsSupportMultiRegion"`
- // 该策略支持的地域
- Region []*string `json:"Region,omitempty" name:"Region" list`
+ // 指标告警条件
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Metrics []*DescribePolicyConditionListMetric `json:"Metrics,omitempty" name:"Metrics" list`
- // 策略类型的维度列表
- DimensionGroup []*string `json:"DimensionGroup,omitempty" name:"DimensionGroup" list`
+ // 策略类型名称
+ Name *string `json:"Name,omitempty" name:"Name"`
- // 阈值规则列表
- // 注意:此字段可能返回 null,表示取不到有效值。
- ConditionsConfig []*DescribePolicyGroupInfoCondition `json:"ConditionsConfig,omitempty" name:"ConditionsConfig" list`
+ // 排序id
+ SortId *int64 `json:"SortId,omitempty" name:"SortId"`
- // 产品事件规则列表
- // 注意:此字段可能返回 null,表示取不到有效值。
- EventConfig []*DescribePolicyGroupInfoEventCondition `json:"EventConfig,omitempty" name:"EventConfig" list`
+ // 是否支持默认策略
+ SupportDefault *bool `json:"SupportDefault,omitempty" name:"SupportDefault"`
- // 用户接收人列表
+ // 支持该策略类型的地域列表
// 注意:此字段可能返回 null,表示取不到有效值。
- ReceiverInfos []*DescribePolicyGroupInfoReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos" list`
+ SupportRegions []*string `json:"SupportRegions,omitempty" name:"SupportRegions" list`
+}
- // 用户回调信息
+type DescribePolicyConditionListConfigManual struct {
+
+ // 检测方式
// 注意:此字段可能返回 null,表示取不到有效值。
- Callback *DescribePolicyGroupInfoCallback `json:"Callback,omitempty" name:"Callback"`
+ CalcType *DescribePolicyConditionListConfigManualCalcType `json:"CalcType,omitempty" name:"CalcType"`
- // 模板策略组
+ // 检测阈值
// 注意:此字段可能返回 null,表示取不到有效值。
- ConditionsTemp *DescribePolicyGroupInfoConditionTpl `json:"ConditionsTemp,omitempty" name:"ConditionsTemp"`
+ CalcValue *DescribePolicyConditionListConfigManualCalcValue `json:"CalcValue,omitempty" name:"CalcValue"`
- // 是否可以设置成默认策略
- CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"`
+ // 持续时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ContinueTime *DescribePolicyConditionListConfigManualContinueTime `json:"ContinueTime,omitempty" name:"ContinueTime"`
- // 是否且规则
+ // 数据周期
// 注意:此字段可能返回 null,表示取不到有效值。
- IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"`
+ Period *DescribePolicyConditionListConfigManualPeriod `json:"Period,omitempty" name:"Period"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
- } `json:"Response"`
+ // 持续周期个数
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PeriodNum *DescribePolicyConditionListConfigManualPeriodNum `json:"PeriodNum,omitempty" name:"PeriodNum"`
+
+ // 聚合方式
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ StatType *DescribePolicyConditionListConfigManualStatType `json:"StatType,omitempty" name:"StatType"`
}
-func (r *DescribePolicyGroupInfoResponse) ToJsonString() string {
- b, _ := json.Marshal(r)
- return string(b)
+type DescribePolicyConditionListConfigManualCalcType struct {
+
+ // CalcType 取值
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Keys []*int64 `json:"Keys,omitempty" name:"Keys" list`
+
+ // 是否必须
+ Need *bool `json:"Need,omitempty" name:"Need"`
}
-func (r *DescribePolicyGroupInfoResponse) FromJsonString(s string) error {
- return json.Unmarshal([]byte(s), &r)
+type DescribePolicyConditionListConfigManualCalcValue struct {
+
+ // 默认值
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Default *string `json:"Default,omitempty" name:"Default"`
+
+ // 固定值
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Fixed *string `json:"Fixed,omitempty" name:"Fixed"`
+
+ // 最大值
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Max *string `json:"Max,omitempty" name:"Max"`
+
+ // 最小值
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Min *string `json:"Min,omitempty" name:"Min"`
+
+ // 是否必须
+ Need *bool `json:"Need,omitempty" name:"Need"`
}
-type DescribePolicyGroupListGroup struct {
+type DescribePolicyConditionListConfigManualContinueTime struct {
- // 策略组id
- GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
+ // 默认持续时间,单位:秒
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Default *int64 `json:"Default,omitempty" name:"Default"`
- // 策略组名称
- GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+ // 可选持续时间,单位:秒
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Keys []*int64 `json:"Keys,omitempty" name:"Keys" list`
- // 是否开启
- IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"`
+ // 是否必须
+ Need *bool `json:"Need,omitempty" name:"Need"`
+}
- // 策略视图名称
- ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
+type DescribePolicyConditionListConfigManualPeriod struct {
- // 最近编辑的用户uin
- LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+ // 默认周期,单位:秒
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Default *int64 `json:"Default,omitempty" name:"Default"`
- // 最后修改时间
- UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
+ // 可选周期,单位:秒
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Keys []*int64 `json:"Keys,omitempty" name:"Keys" list`
- // 创建时间
- InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
+ // 是否必须
+ Need *bool `json:"Need,omitempty" name:"Need"`
+}
- // 策略组绑定的实例数
- UseSum *int64 `json:"UseSum,omitempty" name:"UseSum"`
+type DescribePolicyConditionListConfigManualPeriodNum struct {
- // 策略组绑定的未屏蔽实例数
- NoShieldedSum *int64 `json:"NoShieldedSum,omitempty" name:"NoShieldedSum"`
+ // 默认周期数
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Default *int64 `json:"Default,omitempty" name:"Default"`
- // 是否为默认策略,0表示非默认策略,1表示默认策略
- IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"`
+ // 可选周期数
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Keys []*int64 `json:"Keys,omitempty" name:"Keys" list`
- // 是否可以设置成默认策略
- CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"`
+ // 是否必须
+ Need *bool `json:"Need,omitempty" name:"Need"`
+}
- // 父策略组id
- ParentGroupId *int64 `json:"ParentGroupId,omitempty" name:"ParentGroupId"`
+type DescribePolicyConditionListConfigManualStatType struct {
- // 策略组备注
- Remark *string `json:"Remark,omitempty" name:"Remark"`
+ // 数据聚合方式,周期5秒
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ P5 *string `json:"P5,omitempty" name:"P5"`
- // 策略组所属项目id
- ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ // 数据聚合方式,周期10秒
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ P10 *string `json:"P10,omitempty" name:"P10"`
- // 阈值规则列表
+ // 数据聚合方式,周期1分钟
// 注意:此字段可能返回 null,表示取不到有效值。
- Conditions []*DescribePolicyGroupInfoCondition `json:"Conditions,omitempty" name:"Conditions" list`
+ P60 *string `json:"P60,omitempty" name:"P60"`
- // 产品事件规则列表
+ // 数据聚合方式,周期5分钟
// 注意:此字段可能返回 null,表示取不到有效值。
- EventConditions []*DescribePolicyGroupInfoEventCondition `json:"EventConditions,omitempty" name:"EventConditions" list`
+ P300 *string `json:"P300,omitempty" name:"P300"`
- // 用户接收人列表
+ // 数据聚合方式,周期10分钟
// 注意:此字段可能返回 null,表示取不到有效值。
- ReceiverInfos []*DescribePolicyGroupInfoReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos" list`
+ P600 *string `json:"P600,omitempty" name:"P600"`
- // 模板策略组
+ // 数据聚合方式,周期30分钟
// 注意:此字段可能返回 null,表示取不到有效值。
- ConditionsTemp *DescribePolicyGroupInfoConditionTpl `json:"ConditionsTemp,omitempty" name:"ConditionsTemp"`
+ P1800 *string `json:"P1800,omitempty" name:"P1800"`
- // 策略组绑定的实例组信息
+ // 数据聚合方式,周期1小时
// 注意:此字段可能返回 null,表示取不到有效值。
- InstanceGroup *DescribePolicyGroupListGroupInstanceGroup `json:"InstanceGroup,omitempty" name:"InstanceGroup"`
+ P3600 *string `json:"P3600,omitempty" name:"P3600"`
- // 且或规则标识, 0表示或规则(任意一条规则满足阈值条件就告警), 1表示且规则(所有规则都满足阈值条件才告警)
+ // 数据聚合方式,周期1天
// 注意:此字段可能返回 null,表示取不到有效值。
- IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"`
+ P86400 *string `json:"P86400,omitempty" name:"P86400"`
}
-type DescribePolicyGroupListGroupInstanceGroup struct {
+type DescribePolicyConditionListEventMetric struct {
- // 实例分组名称id
- InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"`
+ // 事件id
+ EventId *int64 `json:"EventId,omitempty" name:"EventId"`
- // 策略类型视图名称
- ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
+ // 事件名称
+ EventShowName *string `json:"EventShowName,omitempty" name:"EventShowName"`
- // 最近编辑的用户uin
- LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+ // 是否需要恢复
+ NeedRecovered *bool `json:"NeedRecovered,omitempty" name:"NeedRecovered"`
- // 实例分组名称
- GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+ // 事件类型,预留字段,当前固定取值为2
+ Type *int64 `json:"Type,omitempty" name:"Type"`
+}
- // 实例数量
- InstanceSum *int64 `json:"InstanceSum,omitempty" name:"InstanceSum"`
+type DescribePolicyConditionListMetric struct {
- // 更新时间
- UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
+ // 指标配置
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ConfigManual *DescribePolicyConditionListConfigManual `json:"ConfigManual,omitempty" name:"ConfigManual"`
- // 创建时间
- InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
+ // 指标id
+ MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"`
+
+ // 指标名称
+ MetricShowName *string `json:"MetricShowName,omitempty" name:"MetricShowName"`
+
+ // 指标单位
+ MetricUnit *string `json:"MetricUnit,omitempty" name:"MetricUnit"`
}
-type DescribePolicyGroupListRequest struct {
+type DescribePolicyConditionListRequest struct {
*tchttp.BaseRequest
// 固定值,为"monitor"
Module *string `json:"Module,omitempty" name:"Module"`
+}
- // 分页参数,每页返回的数量,取值1~100
- Limit *int64 `json:"Limit,omitempty" name:"Limit"`
+func (r *DescribePolicyConditionListRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 分页参数,页偏移量,从0开始计数
- Offset *int64 `json:"Offset,omitempty" name:"Offset"`
+func (r *DescribePolicyConditionListRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 按策略名搜索
- Like *string `json:"Like,omitempty" name:"Like"`
+type DescribePolicyConditionListResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 实例分组id
- InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"`
+ // 告警策略条件列表
+ Conditions []*DescribePolicyConditionListCondition `json:"Conditions,omitempty" name:"Conditions" list`
- // 按更新时间排序, asc 或者 desc
- UpdateTimeOrder *string `json:"UpdateTimeOrder,omitempty" name:"UpdateTimeOrder"`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
- // 项目id列表
- ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds" list`
+func (r *DescribePolicyConditionListResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 告警策略类型列表
- ViewNames []*string `json:"ViewNames,omitempty" name:"ViewNames" list`
+func (r *DescribePolicyConditionListResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 是否过滤无接收人策略组, 1表示过滤, 0表示不过滤
- FilterUnuseReceiver *int64 `json:"FilterUnuseReceiver,omitempty" name:"FilterUnuseReceiver"`
+type DescribePolicyGroupInfoCallback struct {
- // 过滤条件, 接收组列表
- Receivers []*string `json:"Receivers,omitempty" name:"Receivers" list`
+ // 用户回调接口地址
+ CallbackUrl *string `json:"CallbackUrl,omitempty" name:"CallbackUrl"`
- // 过滤条件, 接收人列表
- ReceiverUserList []*string `json:"ReceiverUserList,omitempty" name:"ReceiverUserList" list`
+ // 用户回调接口状态,0表示未验证,1表示已验证,2表示存在url但没有通过验证
+ ValidFlag *int64 `json:"ValidFlag,omitempty" name:"ValidFlag"`
- // 维度组合字段(json字符串), 例如[[{"name":"unInstanceId","value":"ins-6e4b2aaa"}]]
- Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"`
+ // 用户回调接口验证码
+ VerifyCode *string `json:"VerifyCode,omitempty" name:"VerifyCode"`
+}
- // 模板策略组id, 多个id用逗号分隔
- ConditionTempGroupId *string `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"`
+type DescribePolicyGroupInfoCondition struct {
- // 过滤条件, 接收人或者接收组, user表示接收人, group表示接收组
- ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"`
+ // 指标名称
+ MetricShowName *string `json:"MetricShowName,omitempty" name:"MetricShowName"`
- // 过滤条件,告警策略是否已启动或停止
- IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"`
+ // 数据聚合周期(单位秒)
+ Period *int64 `json:"Period,omitempty" name:"Period"`
+
+ // 指标id
+ MetricId *int64 `json:"MetricId,omitempty" name:"MetricId"`
+
+ // 阈值规则id
+ RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"`
+
+ // 指标单位
+ Unit *string `json:"Unit,omitempty" name:"Unit"`
+
+ // 告警发送收敛类型。0连续告警,1指数告警
+ AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"`
+
+ // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次
+ AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"`
+
+ // 比较类型,1表示大于,2表示大于等于,3表示小于,4表示小于等于,5表示相等,6表示不相等,7表示日同比上涨,8表示日同比下降,9表示周同比上涨,10表示周同比下降,11表示周期环比上涨,12表示周期环比下降
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ CalcType *int64 `json:"CalcType,omitempty" name:"CalcType"`
+
+ // 检测阈值
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ CalcValue *string `json:"CalcValue,omitempty" name:"CalcValue"`
+
+ // 持续多长时间触发规则会告警(单位秒)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ContinueTime *int64 `json:"ContinueTime,omitempty" name:"ContinueTime"`
+
+ // 告警指标名
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
+}
+
+type DescribePolicyGroupInfoConditionTpl struct {
+
+ // 策略组id
+ GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
+
+ // 策略组名称
+ GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+
+ // 策略类型
+ ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
+
+ // 策略组说明
+ Remark *string `json:"Remark,omitempty" name:"Remark"`
+
+ // 最后编辑的用户uin
+ LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+
+ // 更新时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
+
+ // 创建时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
+
+ // 是否且规则
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"`
+}
+
+type DescribePolicyGroupInfoEventCondition struct {
+
+ // 事件id
+ EventId *int64 `json:"EventId,omitempty" name:"EventId"`
+
+ // 事件告警规则id
+ RuleId *int64 `json:"RuleId,omitempty" name:"RuleId"`
+
+ // 事件名称
+ EventShowName *string `json:"EventShowName,omitempty" name:"EventShowName"`
+
+ // 告警发送周期单位秒。<0 不触发, 0 只触发一次, >0 每隔triggerTime秒触发一次
+ AlarmNotifyPeriod *int64 `json:"AlarmNotifyPeriod,omitempty" name:"AlarmNotifyPeriod"`
+
+ // 告警发送收敛类型。0连续告警,1指数告警
+ AlarmNotifyType *int64 `json:"AlarmNotifyType,omitempty" name:"AlarmNotifyType"`
+}
+
+type DescribePolicyGroupInfoReceiverInfo struct {
+
+ // 告警接收组id列表
+ ReceiverGroupList []*int64 `json:"ReceiverGroupList,omitempty" name:"ReceiverGroupList" list`
+
+ // 告警接收人id列表
+ ReceiverUserList []*int64 `json:"ReceiverUserList,omitempty" name:"ReceiverUserList" list`
+
+ // 告警时间段开始时间。范围[0,86400),作为unix时间戳转成北京时间后去掉日期,例如7200表示"10:0:0"
+ StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
+
+ // 告警时间段结束时间。含义同StartTime
+ EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"`
+
+ // 接收类型。“group”(接收组)或“user”(接收人)
+ ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"`
+
+ // 告警通知方式。可选 "SMS","SITE","EMAIL","CALL","WECHAT"
+ NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay" list`
+
+ // 电话告警接收者uid
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UidList []*int64 `json:"UidList,omitempty" name:"UidList" list`
+
+ // 电话告警轮数
+ RoundNumber *int64 `json:"RoundNumber,omitempty" name:"RoundNumber"`
+
+ // 电话告警每轮间隔(秒)
+ RoundInterval *int64 `json:"RoundInterval,omitempty" name:"RoundInterval"`
+
+ // 电话告警对个人间隔(秒)
+ PersonInterval *int64 `json:"PersonInterval,omitempty" name:"PersonInterval"`
+
+ // 是否需要电话告警触达提示。0不需要,1需要
+ NeedSendNotice *int64 `json:"NeedSendNotice,omitempty" name:"NeedSendNotice"`
+
+ // 电话告警通知时机。可选"OCCUR"(告警时通知),"RECOVER"(恢复时通知)
+ SendFor []*string `json:"SendFor,omitempty" name:"SendFor" list`
+
+ // 恢复通知方式。可选"SMS"
+ RecoverNotify []*string `json:"RecoverNotify,omitempty" name:"RecoverNotify" list`
+
+ // 告警发送语言
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ReceiveLanguage *string `json:"ReceiveLanguage,omitempty" name:"ReceiveLanguage"`
+}
+
+type DescribePolicyGroupInfoRequest struct {
+ *tchttp.BaseRequest
+
+ // 固定值,为"monitor"
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 策略组id
+ GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
+}
+
+func (r *DescribePolicyGroupInfoRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribePolicyGroupInfoRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribePolicyGroupInfoResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 策略组名称
+ GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+
+ // 策略组所属的项目id
+ ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
+
+ // 是否为默认策略,0表示非默认策略,1表示默认策略
+ IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"`
+
+ // 策略类型
+ ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
+
+ // 策略说明
+ Remark *string `json:"Remark,omitempty" name:"Remark"`
+
+ // 策略类型名称
+ ShowName *string `json:"ShowName,omitempty" name:"ShowName"`
+
+ // 最近编辑的用户uin
+ LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+
+ // 最近编辑时间
+ UpdateTime *string `json:"UpdateTime,omitempty" name:"UpdateTime"`
+
+ // 该策略支持的地域
+ Region []*string `json:"Region,omitempty" name:"Region" list`
+
+ // 策略类型的维度列表
+ DimensionGroup []*string `json:"DimensionGroup,omitempty" name:"DimensionGroup" list`
+
+ // 阈值规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ConditionsConfig []*DescribePolicyGroupInfoCondition `json:"ConditionsConfig,omitempty" name:"ConditionsConfig" list`
+
+ // 产品事件规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EventConfig []*DescribePolicyGroupInfoEventCondition `json:"EventConfig,omitempty" name:"EventConfig" list`
+
+ // 用户接收人列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ReceiverInfos []*DescribePolicyGroupInfoReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos" list`
+
+ // 用户回调信息
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Callback *DescribePolicyGroupInfoCallback `json:"Callback,omitempty" name:"Callback"`
+
+ // 模板策略组
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ConditionsTemp *DescribePolicyGroupInfoConditionTpl `json:"ConditionsTemp,omitempty" name:"ConditionsTemp"`
+
+ // 是否可以设置成默认策略
+ CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"`
+
+ // 是否且规则
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribePolicyGroupInfoResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribePolicyGroupInfoResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribePolicyGroupListGroup struct {
+
+ // 策略组id
+ GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
+
+ // 策略组名称
+ GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+
+ // 是否开启
+ IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"`
+
+ // 策略视图名称
+ ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
+
+ // 最近编辑的用户uin
+ LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+
+ // 最后修改时间
+ UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
+
+ // 创建时间
+ InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
+
+ // 策略组绑定的实例数
+ UseSum *int64 `json:"UseSum,omitempty" name:"UseSum"`
+
+ // 策略组绑定的未屏蔽实例数
+ NoShieldedSum *int64 `json:"NoShieldedSum,omitempty" name:"NoShieldedSum"`
+
+ // 是否为默认策略,0表示非默认策略,1表示默认策略
+ IsDefault *int64 `json:"IsDefault,omitempty" name:"IsDefault"`
+
+ // 是否可以设置成默认策略
+ CanSetDefault *bool `json:"CanSetDefault,omitempty" name:"CanSetDefault"`
+
+ // 父策略组id
+ ParentGroupId *int64 `json:"ParentGroupId,omitempty" name:"ParentGroupId"`
+
+ // 策略组备注
+ Remark *string `json:"Remark,omitempty" name:"Remark"`
+
+ // 策略组所属项目id
+ ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
+
+ // 阈值规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Conditions []*DescribePolicyGroupInfoCondition `json:"Conditions,omitempty" name:"Conditions" list`
+
+ // 产品事件规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EventConditions []*DescribePolicyGroupInfoEventCondition `json:"EventConditions,omitempty" name:"EventConditions" list`
+
+ // 用户接收人列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ReceiverInfos []*DescribePolicyGroupInfoReceiverInfo `json:"ReceiverInfos,omitempty" name:"ReceiverInfos" list`
+
+ // 模板策略组
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ConditionsTemp *DescribePolicyGroupInfoConditionTpl `json:"ConditionsTemp,omitempty" name:"ConditionsTemp"`
+
+ // 策略组绑定的实例组信息
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceGroup *DescribePolicyGroupListGroupInstanceGroup `json:"InstanceGroup,omitempty" name:"InstanceGroup"`
+
+ // 且或规则标识, 0表示或规则(任意一条规则满足阈值条件就告警), 1表示且规则(所有规则都满足阈值条件才告警)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsUnionRule *int64 `json:"IsUnionRule,omitempty" name:"IsUnionRule"`
+}
+
+type DescribePolicyGroupListGroupInstanceGroup struct {
+
+ // 实例分组名称id
+ InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"`
+
+ // 策略类型视图名称
+ ViewName *string `json:"ViewName,omitempty" name:"ViewName"`
+
+ // 最近编辑的用户uin
+ LastEditUin *string `json:"LastEditUin,omitempty" name:"LastEditUin"`
+
+ // 实例分组名称
+ GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+
+ // 实例数量
+ InstanceSum *int64 `json:"InstanceSum,omitempty" name:"InstanceSum"`
+
+ // 更新时间
+ UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
+
+ // 创建时间
+ InsertTime *int64 `json:"InsertTime,omitempty" name:"InsertTime"`
+}
+
+type DescribePolicyGroupListRequest struct {
+ *tchttp.BaseRequest
+
+ // 固定值,为"monitor"
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 分页参数,每页返回的数量,取值1~100
+ Limit *int64 `json:"Limit,omitempty" name:"Limit"`
+
+ // 分页参数,页偏移量,从0开始计数
+ Offset *int64 `json:"Offset,omitempty" name:"Offset"`
+
+ // 按策略名搜索
+ Like *string `json:"Like,omitempty" name:"Like"`
+
+ // 实例分组id
+ InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"`
+
+ // 按更新时间排序, asc 或者 desc
+ UpdateTimeOrder *string `json:"UpdateTimeOrder,omitempty" name:"UpdateTimeOrder"`
+
+ // 项目id列表
+ ProjectIds []*int64 `json:"ProjectIds,omitempty" name:"ProjectIds" list`
+
+ // 告警策略类型列表
+ ViewNames []*string `json:"ViewNames,omitempty" name:"ViewNames" list`
+
+ // 是否过滤无接收人策略组, 1表示过滤, 0表示不过滤
+ FilterUnuseReceiver *int64 `json:"FilterUnuseReceiver,omitempty" name:"FilterUnuseReceiver"`
+
+ // 过滤条件, 接收组列表
+ Receivers []*string `json:"Receivers,omitempty" name:"Receivers" list`
+
+ // 过滤条件, 接收人列表
+ ReceiverUserList []*string `json:"ReceiverUserList,omitempty" name:"ReceiverUserList" list`
+
+ // 维度组合字段(json字符串), 例如[[{"name":"unInstanceId","value":"ins-6e4b2aaa"}]]
+ Dimensions *string `json:"Dimensions,omitempty" name:"Dimensions"`
+
+ // 模板策略组id, 多个id用逗号分隔
+ ConditionTempGroupId *string `json:"ConditionTempGroupId,omitempty" name:"ConditionTempGroupId"`
+
+ // 过滤条件, 接收人或者接收组, user表示接收人, group表示接收组
+ ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"`
+
+ // 过滤条件,告警策略是否已启动或停止
+ IsOpen *bool `json:"IsOpen,omitempty" name:"IsOpen"`
+}
+
+func (r *DescribePolicyGroupListRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribePolicyGroupListRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribePolicyGroupListResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 策略组列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ GroupList []*DescribePolicyGroupListGroup `json:"GroupList,omitempty" name:"GroupList" list`
+
+ // 策略组总数
+ Total *int64 `json:"Total,omitempty" name:"Total"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribePolicyGroupListResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribePolicyGroupListResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeProductEventListDimensions struct {
+
+ // 维度名
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 维度值
+ Value *string `json:"Value,omitempty" name:"Value"`
+}
+
+type DescribeProductEventListEvents struct {
+
+ // 事件ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EventId *int64 `json:"EventId,omitempty" name:"EventId"`
+
+ // 事件中文名
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EventCName *string `json:"EventCName,omitempty" name:"EventCName"`
+
+ // 事件英文名
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EventEName *string `json:"EventEName,omitempty" name:"EventEName"`
+
+ // 事件简称
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EventName *string `json:"EventName,omitempty" name:"EventName"`
+
+ // 产品中文名
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ProductCName *string `json:"ProductCName,omitempty" name:"ProductCName"`
+
+ // 产品英文名
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ProductEName *string `json:"ProductEName,omitempty" name:"ProductEName"`
+
+ // 产品简称
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ProductName *string `json:"ProductName,omitempty" name:"ProductName"`
+
+ // 实例ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+
+ // 实例名称
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"`
+
+ // 项目ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ProjectId *string `json:"ProjectId,omitempty" name:"ProjectId"`
+
+ // 地域
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Region *string `json:"Region,omitempty" name:"Region"`
+
+ // 状态
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Status *string `json:"Status,omitempty" name:"Status"`
+
+ // 是否支持告警
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ SupportAlarm *int64 `json:"SupportAlarm,omitempty" name:"SupportAlarm"`
+
+ // 事件类型
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Type *string `json:"Type,omitempty" name:"Type"`
+
+ // 开始时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
+
+ // 更新时间
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
+
+ // 实例对象信息
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Dimensions []*DescribeProductEventListEventsDimensions `json:"Dimensions,omitempty" name:"Dimensions" list`
+
+ // 实例对象附加信息
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AdditionMsg []*DescribeProductEventListEventsDimensions `json:"AdditionMsg,omitempty" name:"AdditionMsg" list`
+
+ // 是否配置告警
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"`
+
+ // 策略信息
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ GroupInfo []*DescribeProductEventListEventsGroupInfo `json:"GroupInfo,omitempty" name:"GroupInfo" list`
+}
+
+type DescribeProductEventListEventsDimensions struct {
+
+ // 维度名(英文)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Key *string `json:"Key,omitempty" name:"Key"`
+
+ // 维度名(中文)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 维度值
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Value *string `json:"Value,omitempty" name:"Value"`
+}
+
+type DescribeProductEventListEventsGroupInfo struct {
+
+ // 策略ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
+
+ // 策略名
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+}
+
+type DescribeProductEventListOverView struct {
+
+ // 状态变更的事件数量
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ StatusChangeAmount *int64 `json:"StatusChangeAmount,omitempty" name:"StatusChangeAmount"`
+
+ // 告警状态未配置的事件数量
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UnConfigAlarmAmount *int64 `json:"UnConfigAlarmAmount,omitempty" name:"UnConfigAlarmAmount"`
+
+ // 异常事件数量
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UnNormalEventAmount *int64 `json:"UnNormalEventAmount,omitempty" name:"UnNormalEventAmount"`
+
+ // 未恢复的事件数量
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UnRecoverAmount *int64 `json:"UnRecoverAmount,omitempty" name:"UnRecoverAmount"`
+}
+
+type DescribeProductEventListRequest struct {
+ *tchttp.BaseRequest
+
+ // 接口模块名,固定值"monitor"
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 产品类型过滤,比如"cvm"表示云服务器
+ ProductName []*string `json:"ProductName,omitempty" name:"ProductName" list`
+
+ // 事件名称过滤,比如"guest_reboot"表示机器重启
+ EventName []*string `json:"EventName,omitempty" name:"EventName" list`
+
+ // 影响对象,比如ins-19708ino
+ InstanceId []*string `json:"InstanceId,omitempty" name:"InstanceId" list`
+
+ // 维度过滤,比如外网IP:10.0.0.1
+ Dimensions []*DescribeProductEventListDimensions `json:"Dimensions,omitempty" name:"Dimensions" list`
+
+ // 地域过滤,比如gz
+ RegionList []*string `json:"RegionList,omitempty" name:"RegionList" list`
+
+ // 事件类型过滤,取值范围["status_change","abnormal"],分别表示状态变更、异常事件
+ Type []*string `json:"Type,omitempty" name:"Type" list`
+
+ // 事件状态过滤,取值范围["recover","alarm","-"],分别表示已恢复、未恢复、无状态
+ Status []*string `json:"Status,omitempty" name:"Status" list`
+
+ // 项目ID过滤
+ Project []*string `json:"Project,omitempty" name:"Project" list`
+
+ // 告警状态配置过滤,1表示已配置,0表示未配置
+ IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"`
+
+ // 按更新时间排序,ASC表示升序,DESC表示降序,默认DESC
+ TimeOrder *string `json:"TimeOrder,omitempty" name:"TimeOrder"`
+
+ // 起始时间,默认一天前的时间戳
+ StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
+
+ // 结束时间,默认当前时间戳
+ EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"`
+
+ // 页偏移量,默认0
+ Offset *int64 `json:"Offset,omitempty" name:"Offset"`
+
+ // 每页返回的数量,默认20
+ Limit *int64 `json:"Limit,omitempty" name:"Limit"`
+}
+
+func (r *DescribeProductEventListRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeProductEventListRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeProductEventListResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 事件列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Events []*DescribeProductEventListEvents `json:"Events,omitempty" name:"Events" list`
+
+ // 事件统计
+ OverView *DescribeProductEventListOverView `json:"OverView,omitempty" name:"OverView"`
+
+ // 事件总数
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Total *int64 `json:"Total,omitempty" name:"Total"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeProductEventListResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeProductEventListResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeProductListRequest struct {
+ *tchttp.BaseRequest
+
+ // 固定传值monitor
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 排序方式:DESC/ASC(区分大小写),默认值DESC
+ Order *string `json:"Order,omitempty" name:"Order"`
+
+ // 分页查询的偏移量,默认值0
+ Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+
+ // 分页查询的每页数据量,默认值20
+ Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+}
+
+func (r *DescribeProductListRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeProductListRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeProductListResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 产品信息列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ProductList []*ProductSimple `json:"ProductList,omitempty" name:"ProductList" list`
+
+ // 产品总数
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeProductListResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeProductListResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeServiceDiscoveryRequest struct {
+ *tchttp.BaseRequest
+
+ // Prometheus 实例 ID
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+
+ // 类型是 TKE,为对应的腾讯云容器服务集群 ID
+ KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"`
+
+ // 用户 Kubernetes 集群类型:
+ // 1 = 容器服务集群(TKE)
+ KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"`
}
-func (r *DescribePolicyGroupListRequest) ToJsonString() string {
+func (r *DescribeServiceDiscoveryRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribePolicyGroupListRequest) FromJsonString(s string) error {
+func (r *DescribeServiceDiscoveryRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribePolicyGroupListResponse struct {
+type DescribeServiceDiscoveryResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 策略组列表
+ // 返回服务发现列表信息
// 注意:此字段可能返回 null,表示取不到有效值。
- GroupList []*DescribePolicyGroupListGroup `json:"GroupList,omitempty" name:"GroupList" list`
-
- // 策略组总数
- Total *int64 `json:"Total,omitempty" name:"Total"`
+ ServiceDiscoverySet []*ServiceDiscoveryItem `json:"ServiceDiscoverySet,omitempty" name:"ServiceDiscoverySet" list`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribePolicyGroupListResponse) ToJsonString() string {
+func (r *DescribeServiceDiscoveryResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribePolicyGroupListResponse) FromJsonString(s string) error {
+func (r *DescribeServiceDiscoveryResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeProductEventListDimensions struct {
+type Dimension struct {
- // 维度名
+ // 实例维度名称
Name *string `json:"Name,omitempty" name:"Name"`
- // 维度值
+ // 实例维度值
Value *string `json:"Value,omitempty" name:"Value"`
}
-type DescribeProductEventListEvents struct {
+type DimensionsDesc struct {
- // 事件ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- EventId *int64 `json:"EventId,omitempty" name:"EventId"`
+ // 维度名数组
+ Dimensions []*string `json:"Dimensions,omitempty" name:"Dimensions" list`
+}
- // 事件中文名
- // 注意:此字段可能返回 null,表示取不到有效值。
- EventCName *string `json:"EventCName,omitempty" name:"EventCName"`
+type GetMonitorDataRequest struct {
+ *tchttp.BaseRequest
- // 事件英文名
- // 注意:此字段可能返回 null,表示取不到有效值。
- EventEName *string `json:"EventEName,omitempty" name:"EventEName"`
+ // 命名空间,如QCE/CVM。各个云产品的详细命名空间说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
- // 事件简称
- // 注意:此字段可能返回 null,表示取不到有效值。
- EventName *string `json:"EventName,omitempty" name:"EventName"`
+ // 指标名称,如CPUUsage。各个云产品的详细指标说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的指标英文名即为MetricName
+ MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
- // 产品中文名
- // 注意:此字段可能返回 null,表示取不到有效值。
- ProductCName *string `json:"ProductCName,omitempty" name:"ProductCName"`
+ // 实例对象的维度组合,格式为key-value键值对形式的集合。如[{"Name":"InstanceId","Value":"ins-j0hk02zo"}]。各个云产品的维度请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的维度列即为维度组合的key,value为key对应的值
+ Instances []*Instance `json:"Instances,omitempty" name:"Instances" list`
- // 产品英文名
- // 注意:此字段可能返回 null,表示取不到有效值。
- ProductEName *string `json:"ProductEName,omitempty" name:"ProductEName"`
+ // 监控统计周期,如60。默认为取值为300,单位为s。每个指标支持的统计周期不一定相同,各个云产品支持的统计周期请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档,对应的统计周期列即为支持的统计周期
+ Period *uint64 `json:"Period,omitempty" name:"Period"`
- // 产品简称
- // 注意:此字段可能返回 null,表示取不到有效值。
- ProductName *string `json:"ProductName,omitempty" name:"ProductName"`
+ // 起始时间,如2018-09-22T19:51:23+08:00
+ StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
- // 实例ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+ // 结束时间,如2018-09-22T20:51:23+08:00,默认为当前时间。 EndTime不能小于StartTime
+ EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
+}
- // 实例名称
- // 注意:此字段可能返回 null,表示取不到有效值。
- InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"`
+func (r *GetMonitorDataRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 项目ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- ProjectId *string `json:"ProjectId,omitempty" name:"ProjectId"`
+func (r *GetMonitorDataRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 地域
- // 注意:此字段可能返回 null,表示取不到有效值。
- Region *string `json:"Region,omitempty" name:"Region"`
+type GetMonitorDataResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 状态
- // 注意:此字段可能返回 null,表示取不到有效值。
- Status *string `json:"Status,omitempty" name:"Status"`
+ // 统计周期
+ Period *uint64 `json:"Period,omitempty" name:"Period"`
- // 是否支持告警
- // 注意:此字段可能返回 null,表示取不到有效值。
- SupportAlarm *int64 `json:"SupportAlarm,omitempty" name:"SupportAlarm"`
+ // 指标名
+ MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
- // 事件类型
- // 注意:此字段可能返回 null,表示取不到有效值。
- Type *string `json:"Type,omitempty" name:"Type"`
+ // 数据点数组
+ DataPoints []*DataPoint `json:"DataPoints,omitempty" name:"DataPoints" list`
- // 开始时间
- // 注意:此字段可能返回 null,表示取不到有效值。
- StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
+ // 开始时间
+ StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
- // 更新时间
- // 注意:此字段可能返回 null,表示取不到有效值。
- UpdateTime *int64 `json:"UpdateTime,omitempty" name:"UpdateTime"`
+ // 结束时间
+ EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
- // 实例对象信息
- // 注意:此字段可能返回 null,表示取不到有效值。
- Dimensions []*DescribeProductEventListEventsDimensions `json:"Dimensions,omitempty" name:"Dimensions" list`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
- // 实例对象附加信息
- // 注意:此字段可能返回 null,表示取不到有效值。
- AdditionMsg []*DescribeProductEventListEventsDimensions `json:"AdditionMsg,omitempty" name:"AdditionMsg" list`
+func (r *GetMonitorDataResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 是否配置告警
- // 注意:此字段可能返回 null,表示取不到有效值。
- IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"`
+func (r *GetMonitorDataResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 策略信息
- // 注意:此字段可能返回 null,表示取不到有效值。
- GroupInfo []*DescribeProductEventListEventsGroupInfo `json:"GroupInfo,omitempty" name:"GroupInfo" list`
+type Instance struct {
+
+ // 实例的维度组合
+ Dimensions []*Dimension `json:"Dimensions,omitempty" name:"Dimensions" list`
}
-type DescribeProductEventListEventsDimensions struct {
+type InstanceGroup struct {
- // 维度名(英文)
+ // 实例组ID
// 注意:此字段可能返回 null,表示取不到有效值。
- Key *string `json:"Key,omitempty" name:"Key"`
+ InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"`
- // 维度名(中文)
+ // 实例组名
// 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceGroupName *string `json:"InstanceGroupName,omitempty" name:"InstanceGroupName"`
+}
+
+type InstanceGroups struct {
+
+ // 实例组 Id
+ Id *int64 `json:"Id,omitempty" name:"Id"`
+
+ // 实例组名称
Name *string `json:"Name,omitempty" name:"Name"`
+}
- // 维度值
+type Metric struct {
+
+ // 告警策略类型
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+
+ // 指标名
+ MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
+
+ // 指标展示名
+ Description *string `json:"Description,omitempty" name:"Description"`
+
+ // 最小值
+ Min *float64 `json:"Min,omitempty" name:"Min"`
+
+ // 最大值
+ Max *float64 `json:"Max,omitempty" name:"Max"`
+
+ // 维度列表
+ Dimensions []*string `json:"Dimensions,omitempty" name:"Dimensions" list`
+
+ // 单位
+ Unit *string `json:"Unit,omitempty" name:"Unit"`
+
+ // 指标配置
// 注意:此字段可能返回 null,表示取不到有效值。
- Value *string `json:"Value,omitempty" name:"Value"`
+ MetricConfig *MetricConfig `json:"MetricConfig,omitempty" name:"MetricConfig"`
}
-type DescribeProductEventListEventsGroupInfo struct {
+type MetricConfig struct {
- // 策略ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"`
+ // 允许使用的运算符
+ Operator []*string `json:"Operator,omitempty" name:"Operator" list`
- // 策略名
- // 注意:此字段可能返回 null,表示取不到有效值。
- GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+ // 允许配置的数据周期,以秒为单位
+ Period []*int64 `json:"Period,omitempty" name:"Period" list`
+
+ // 允许配置的持续周期个数
+ ContinuePeriod []*int64 `json:"ContinuePeriod,omitempty" name:"ContinuePeriod" list`
}
-type DescribeProductEventListOverView struct {
+type MetricDatum struct {
- // 状态变更的事件数量
- // 注意:此字段可能返回 null,表示取不到有效值。
- StatusChangeAmount *int64 `json:"StatusChangeAmount,omitempty" name:"StatusChangeAmount"`
+ // 指标名称
+ MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
- // 告警状态未配置的事件数量
- // 注意:此字段可能返回 null,表示取不到有效值。
- UnConfigAlarmAmount *int64 `json:"UnConfigAlarmAmount,omitempty" name:"UnConfigAlarmAmount"`
+ // 指标的值
+ Value *uint64 `json:"Value,omitempty" name:"Value"`
+}
- // 异常事件数量
- // 注意:此字段可能返回 null,表示取不到有效值。
- UnNormalEventAmount *int64 `json:"UnNormalEventAmount,omitempty" name:"UnNormalEventAmount"`
+type MetricObjectMeaning struct {
- // 未恢复的事件数量
- // 注意:此字段可能返回 null,表示取不到有效值。
- UnRecoverAmount *int64 `json:"UnRecoverAmount,omitempty" name:"UnRecoverAmount"`
+ // 指标英文解释
+ En *string `json:"En,omitempty" name:"En"`
+
+ // 指标中文解释
+ Zh *string `json:"Zh,omitempty" name:"Zh"`
}
-type DescribeProductEventListRequest struct {
- *tchttp.BaseRequest
+type MetricSet struct {
- // 接口模块名,固定值"monitor"
- Module *string `json:"Module,omitempty" name:"Module"`
+ // 命名空间,每个云产品会有一个命名空间
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
- // 产品类型过滤,比如"cvm"表示云服务器
- ProductName []*string `json:"ProductName,omitempty" name:"ProductName" list`
+ // 指标名称
+ MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
- // 事件名称过滤,比如"guest_reboot"表示机器重启
- EventName []*string `json:"EventName,omitempty" name:"EventName" list`
+ // 指标使用的单位
+ Unit *string `json:"Unit,omitempty" name:"Unit"`
- // 影响对象,比如ins-19708ino
- InstanceId []*string `json:"InstanceId,omitempty" name:"InstanceId" list`
+ // 指标使用的单位
+ UnitCname *string `json:"UnitCname,omitempty" name:"UnitCname"`
- // 维度过滤,比如外网IP:10.0.0.1
- Dimensions []*DescribeProductEventListDimensions `json:"Dimensions,omitempty" name:"Dimensions" list`
+ // 指标支持的统计周期,单位是秒,如60、300
+ Period []*int64 `json:"Period,omitempty" name:"Period" list`
- // 地域过滤,比如gz
- RegionList []*string `json:"RegionList,omitempty" name:"RegionList" list`
+ // 统计周期内指标方式
+ Periods []*PeriodsSt `json:"Periods,omitempty" name:"Periods" list`
- // 事件类型过滤,取值范围["status_change","abnormal"],分别表示状态变更、异常事件
- Type []*string `json:"Type,omitempty" name:"Type" list`
+ // 统计指标含义解释
+ Meaning *MetricObjectMeaning `json:"Meaning,omitempty" name:"Meaning"`
- // 事件状态过滤,取值范围["recover","alarm","-"],分别表示已恢复、未恢复、无状态
- Status []*string `json:"Status,omitempty" name:"Status" list`
+ // 维度描述信息
+ Dimensions []*DimensionsDesc `json:"Dimensions,omitempty" name:"Dimensions" list`
+}
- // 项目ID过滤
- Project []*string `json:"Project,omitempty" name:"Project" list`
+type ModifyAlarmNoticeRequest struct {
+ *tchttp.BaseRequest
- // 告警状态配置过滤,1表示已配置,0表示未配置
- IsAlarmConfig *int64 `json:"IsAlarmConfig,omitempty" name:"IsAlarmConfig"`
+ // 模块名,这里填“monitor”
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 按更新时间排序,ASC表示升序,DESC表示降序,默认DESC
- TimeOrder *string `json:"TimeOrder,omitempty" name:"TimeOrder"`
+ // 告警通知规则名称 60字符以内
+ Name *string `json:"Name,omitempty" name:"Name"`
- // 起始时间,默认一天前的时间戳
- StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
+ // 通知类型 ALARM=未恢复通知 OK=已恢复通知 ALL=都通知
+ NoticeType *string `json:"NoticeType,omitempty" name:"NoticeType"`
- // 结束时间,默认当前时间戳
- EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"`
+ // 通知语言 zh-CN=中文 en-US=英文
+ NoticeLanguage *string `json:"NoticeLanguage,omitempty" name:"NoticeLanguage"`
- // 页偏移量,默认0
- Offset *int64 `json:"Offset,omitempty" name:"Offset"`
+ // 告警通知模板 ID
+ NoticeId *string `json:"NoticeId,omitempty" name:"NoticeId"`
- // 每页返回的数量,默认20
- Limit *int64 `json:"Limit,omitempty" name:"Limit"`
+ // 用户通知 最多5个
+ UserNotices []*UserNotice `json:"UserNotices,omitempty" name:"UserNotices" list`
+
+ // 回调通知 最多3个
+ URLNotices []*URLNotice `json:"URLNotices,omitempty" name:"URLNotices" list`
}
-func (r *DescribeProductEventListRequest) ToJsonString() string {
+func (r *ModifyAlarmNoticeRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeProductEventListRequest) FromJsonString(s string) error {
+func (r *ModifyAlarmNoticeRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeProductEventListResponse struct {
+type ModifyAlarmNoticeResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 事件列表
- // 注意:此字段可能返回 null,表示取不到有效值。
- Events []*DescribeProductEventListEvents `json:"Events,omitempty" name:"Events" list`
-
- // 事件统计
- OverView *DescribeProductEventListOverView `json:"OverView,omitempty" name:"OverView"`
-
- // 事件总数
- // 注意:此字段可能返回 null,表示取不到有效值。
- Total *int64 `json:"Total,omitempty" name:"Total"`
-
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeProductEventListResponse) ToJsonString() string {
+func (r *ModifyAlarmNoticeResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeProductEventListResponse) FromJsonString(s string) error {
+func (r *ModifyAlarmNoticeResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeProductListRequest struct {
+type ModifyAlarmPolicyConditionRequest struct {
*tchttp.BaseRequest
- // 固定传值monitor
+ // 模块名,固定值 monitor
Module *string `json:"Module,omitempty" name:"Module"`
- // 排序方式:DESC/ASC(区分大小写),默认值DESC
- Order *string `json:"Order,omitempty" name:"Order"`
+ // 告警策略 ID
+ PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
- // 分页查询的偏移量,默认值0
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ // 指标触发条件
+ Condition *AlarmPolicyCondition `json:"Condition,omitempty" name:"Condition"`
- // 分页查询的每页数据量,默认值20
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ // 事件触发条件
+ EventCondition *AlarmPolicyEventCondition `json:"EventCondition,omitempty" name:"EventCondition"`
}
-func (r *DescribeProductListRequest) ToJsonString() string {
+func (r *ModifyAlarmPolicyConditionRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeProductListRequest) FromJsonString(s string) error {
+func (r *ModifyAlarmPolicyConditionRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeProductListResponse struct {
+type ModifyAlarmPolicyConditionResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 产品信息列表
- // 注意:此字段可能返回 null,表示取不到有效值。
- ProductList []*ProductSimple `json:"ProductList,omitempty" name:"ProductList" list`
-
- // 产品总数
- // 注意:此字段可能返回 null,表示取不到有效值。
- TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
-
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeProductListResponse) ToJsonString() string {
+func (r *ModifyAlarmPolicyConditionResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeProductListResponse) FromJsonString(s string) error {
+func (r *ModifyAlarmPolicyConditionResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeServiceDiscoveryRequest struct {
+type ModifyAlarmPolicyInfoRequest struct {
*tchttp.BaseRequest
- // Prometheus 实例 ID
- InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+ // 模块名,这里填“monitor”
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 类型是 TKE,为对应的腾讯云容器服务集群 ID
- KubeClusterId *string `json:"KubeClusterId,omitempty" name:"KubeClusterId"`
+ // 告警策略 ID
+ PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
- // 用户 Kubernetes 集群类型:
- // 1 = 容器服务集群(TKE)
- KubeType *int64 `json:"KubeType,omitempty" name:"KubeType"`
+ // 要修改的字段 NAME=策略名称 REMARK=策略备注
+ Key *string `json:"Key,omitempty" name:"Key"`
+
+ // 修改后的值
+ Value *string `json:"Value,omitempty" name:"Value"`
}
-func (r *DescribeServiceDiscoveryRequest) ToJsonString() string {
+func (r *ModifyAlarmPolicyInfoRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeServiceDiscoveryRequest) FromJsonString(s string) error {
+func (r *ModifyAlarmPolicyInfoRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeServiceDiscoveryResponse struct {
+type ModifyAlarmPolicyInfoResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 返回服务发现列表信息
- // 注意:此字段可能返回 null,表示取不到有效值。
- ServiceDiscoverySet []*ServiceDiscoveryItem `json:"ServiceDiscoverySet,omitempty" name:"ServiceDiscoverySet" list`
-
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeServiceDiscoveryResponse) ToJsonString() string {
+func (r *ModifyAlarmPolicyInfoResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeServiceDiscoveryResponse) FromJsonString(s string) error {
+func (r *ModifyAlarmPolicyInfoResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type Dimension struct {
-
- // 实例维度名称
- Name *string `json:"Name,omitempty" name:"Name"`
-
- // 实例维度值
- Value *string `json:"Value,omitempty" name:"Value"`
-}
-
-type DimensionsDesc struct {
-
- // 维度名数组
- Dimensions []*string `json:"Dimensions,omitempty" name:"Dimensions" list`
-}
-
-type GetMonitorDataRequest struct {
+type ModifyAlarmPolicyNoticeRequest struct {
*tchttp.BaseRequest
- // 命名空间,各个云产品的详细命名空间说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档
- Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
-
- // 指标名称,各个云产品的详细指标说明请参阅各个产品[监控指标](https://cloud.tencent.com/document/product/248/6140)文档
- MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
-
- // 实例对象的维度组合
- Instances []*Instance `json:"Instances,omitempty" name:"Instances" list`
-
- // 监控统计周期。默认为取值为300,单位为s
- Period *uint64 `json:"Period,omitempty" name:"Period"`
+ // 模块名,这里填“monitor”
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 起始时间,如2018-09-22T19:51:23+08:00
- StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
+ // 告警策略 ID
+ PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
- // 结束时间,默认为当前时间。 EndTime不能小于StartTime
- EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
+ // 告警通知模板 ID 列表
+ NoticeIds []*string `json:"NoticeIds,omitempty" name:"NoticeIds" list`
}
-func (r *GetMonitorDataRequest) ToJsonString() string {
+func (r *ModifyAlarmPolicyNoticeRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *GetMonitorDataRequest) FromJsonString(s string) error {
+func (r *ModifyAlarmPolicyNoticeRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type GetMonitorDataResponse struct {
+type ModifyAlarmPolicyNoticeResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 统计周期
- Period *uint64 `json:"Period,omitempty" name:"Period"`
-
- // 指标名
- MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
-
- // 数据点数组
- DataPoints []*DataPoint `json:"DataPoints,omitempty" name:"DataPoints" list`
-
- // 开始时间
- StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
-
- // 结束时间
- EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
-
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *GetMonitorDataResponse) ToJsonString() string {
+func (r *ModifyAlarmPolicyNoticeResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *GetMonitorDataResponse) FromJsonString(s string) error {
+func (r *ModifyAlarmPolicyNoticeResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type Instance struct {
-
- // 实例的维度组合
- Dimensions []*Dimension `json:"Dimensions,omitempty" name:"Dimensions" list`
-}
+type ModifyAlarmPolicyStatusRequest struct {
+ *tchttp.BaseRequest
-type InstanceGroup struct {
+ // 模块名,固定值 monitor
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 实例组ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- InstanceGroupId *int64 `json:"InstanceGroupId,omitempty" name:"InstanceGroupId"`
+ // 告警策略 ID
+ PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
- // 实例组名
- // 注意:此字段可能返回 null,表示取不到有效值。
- InstanceGroupName *string `json:"InstanceGroupName,omitempty" name:"InstanceGroupName"`
+ // 启停状态 0=停用 1=启用
+ Enable *int64 `json:"Enable,omitempty" name:"Enable"`
}
-type InstanceGroups struct {
-
- // 实例组 Id
- Id *int64 `json:"Id,omitempty" name:"Id"`
-
- // 实例组名称
- Name *string `json:"Name,omitempty" name:"Name"`
+func (r *ModifyAlarmPolicyStatusRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
}
-type MetricDatum struct {
+func (r *ModifyAlarmPolicyStatusRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 指标名称
- MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
+type ModifyAlarmPolicyStatusResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 指标的值
- Value *uint64 `json:"Value,omitempty" name:"Value"`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
}
-type MetricObjectMeaning struct {
-
- // 指标英文解释
- En *string `json:"En,omitempty" name:"En"`
+func (r *ModifyAlarmPolicyStatusResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 指标中文解释
- Zh *string `json:"Zh,omitempty" name:"Zh"`
+func (r *ModifyAlarmPolicyStatusResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
}
-type MetricSet struct {
+type ModifyAlarmPolicyTasksRequest struct {
+ *tchttp.BaseRequest
- // 命名空间,每个云产品会有一个命名空间
- Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+ // 模块名,这里填“monitor”
+ Module *string `json:"Module,omitempty" name:"Module"`
- // 指标名称
- MetricName *string `json:"MetricName,omitempty" name:"MetricName"`
+ // 告警策略 ID
+ PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
- // 指标使用的单位
- Unit *string `json:"Unit,omitempty" name:"Unit"`
+ // 告警策略触发任务列表,空数据代表解绑
+ TriggerTasks []*AlarmPolicyTriggerTask `json:"TriggerTasks,omitempty" name:"TriggerTasks" list`
+}
- // 指标使用的单位
- UnitCname *string `json:"UnitCname,omitempty" name:"UnitCname"`
+func (r *ModifyAlarmPolicyTasksRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 指标支持的统计周期,单位是秒,如60、300
- Period []*int64 `json:"Period,omitempty" name:"Period" list`
+func (r *ModifyAlarmPolicyTasksRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 统计周期内指标方式
- Periods []*PeriodsSt `json:"Periods,omitempty" name:"Periods" list`
+type ModifyAlarmPolicyTasksResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 统计指标含义解释
- Meaning *MetricObjectMeaning `json:"Meaning,omitempty" name:"Meaning"`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
- // 维度描述信息
- Dimensions []*DimensionsDesc `json:"Dimensions,omitempty" name:"Dimensions" list`
+func (r *ModifyAlarmPolicyTasksResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ModifyAlarmPolicyTasksResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
}
type ModifyAlarmReceiversRequest struct {
@@ -2493,6 +3638,58 @@ type ServiceDiscoveryItem struct {
Yaml *string `json:"Yaml,omitempty" name:"Yaml"`
}
+type SetDefaultAlarmPolicyRequest struct {
+ *tchttp.BaseRequest
+
+ // 模块名,固定值 monitor
+ Module *string `json:"Module,omitempty" name:"Module"`
+
+ // 告警策略 ID
+ PolicyId *string `json:"PolicyId,omitempty" name:"PolicyId"`
+}
+
+func (r *SetDefaultAlarmPolicyRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *SetDefaultAlarmPolicyRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type SetDefaultAlarmPolicyResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *SetDefaultAlarmPolicyResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *SetDefaultAlarmPolicyResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type URLNotice struct {
+
+ // 回调 url(限长256字符)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ URL *string `json:"URL,omitempty" name:"URL"`
+
+ // 是否通过验证 0=否 1=是
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsValid *int64 `json:"IsValid,omitempty" name:"IsValid"`
+
+ // 验证码
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ValidationCode *string `json:"ValidationCode,omitempty" name:"ValidationCode"`
+}
+
type UnBindingAllPolicyObjectRequest struct {
*tchttp.BaseRequest
@@ -2624,3 +3821,50 @@ func (r *UpdateServiceDiscoveryResponse) ToJsonString() string {
func (r *UpdateServiceDiscoveryResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+
+type UserNotice struct {
+
+ // 接收者类型 USER=用户 GROUP=用户组
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ReceiverType *string `json:"ReceiverType,omitempty" name:"ReceiverType"`
+
+ // 通知开始时间 00:00:00 开始的秒数(取值范围0-86399)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
+
+ // 通知结束时间 00:00:00 开始的秒数(取值范围0-86399)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"`
+
+ // 通知渠道列表 EMAIL=邮件 SMS=短信 CALL=电话 WECHAT=微信
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ NoticeWay []*string `json:"NoticeWay,omitempty" name:"NoticeWay" list`
+
+ // 用户 uid 列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UserIds []*int64 `json:"UserIds,omitempty" name:"UserIds" list`
+
+ // 用户组 group id 列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ GroupIds []*int64 `json:"GroupIds,omitempty" name:"GroupIds" list`
+
+ // 电话轮询列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PhoneOrder []*int64 `json:"PhoneOrder,omitempty" name:"PhoneOrder" list`
+
+ // 电话轮询次数 (取值范围1-5)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PhoneCircleTimes *int64 `json:"PhoneCircleTimes,omitempty" name:"PhoneCircleTimes"`
+
+ // 单次轮询内拨打间隔 秒数 (取值范围60-900)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PhoneInnerInterval *int64 `json:"PhoneInnerInterval,omitempty" name:"PhoneInnerInterval"`
+
+ // 两次轮询间隔 秒数(取值范围60-900)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PhoneCircleInterval *int64 `json:"PhoneCircleInterval,omitempty" name:"PhoneCircleInterval"`
+
+ // 是否需要触达通知 0=否 1=是
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ NeedPhoneArriveNotice *int64 `json:"NeedPhoneArriveNotice,omitempty" name:"NeedPhoneArriveNotice"`
+}
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis/v20180412/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis/v20180412/models.go
index 03f3c9d730..91ca649584 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis/v20180412/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis/v20180412/models.go
@@ -320,6 +320,9 @@ type CreateInstancesRequest struct {
// 实例的节点信息,目前支持传入节点的类型(主节点或者副本节点),节点的可用区。单可用区部署不需要传递此参数。
NodeSet []*RedisNodeInfo `json:"NodeSet,omitempty" name:"NodeSet" list`
+
+ // 购买实例绑定标签
+ ResourceTags []*ResourceTag `json:"ResourceTags,omitempty" name:"ResourceTags" list`
}
func (r *CreateInstancesRequest) ToJsonString() string {
@@ -3580,6 +3583,15 @@ func (r *ResetPasswordResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type ResourceTag struct {
+
+ // 标签key
+ TagKey *string `json:"TagKey,omitempty" name:"TagKey"`
+
+ // 标签value
+ TagValue *string `json:"TagValue,omitempty" name:"TagValue"`
+}
+
type RestoreInstanceRequest struct {
*tchttp.BaseRequest
@@ -3912,6 +3924,9 @@ type UpgradeInstanceRequest struct {
// 副本数量,Redis2.8主从版、CKV主从版和Redis2.8单机版不需要填写
RedisReplicasNum *uint64 `json:"RedisReplicasNum,omitempty" name:"RedisReplicasNum"`
+
+ // 多AZ实例增加副本时的附带信息,非多AZ实例不需要传此参数。多AZ增加副本时此参数为必传参数,传入要增加的副本的信息,包括副本的可用区和副本的类型(NodeType为1)
+ NodeSet []*RedisNodeInfo `json:"NodeSet,omitempty" name:"NodeSet" list`
}
func (r *UpgradeInstanceRequest) ToJsonString() string {
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416/client.go
index 7ed7ec92aa..e96a4c4a60 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416/client.go
@@ -275,6 +275,56 @@ func (c *Client) DeleteNamespace(request *DeleteNamespaceRequest) (response *Del
return
}
+func NewDeleteProvisionedConcurrencyConfigRequest() (request *DeleteProvisionedConcurrencyConfigRequest) {
+ request = &DeleteProvisionedConcurrencyConfigRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("scf", APIVersion, "DeleteProvisionedConcurrencyConfig")
+ return
+}
+
+func NewDeleteProvisionedConcurrencyConfigResponse() (response *DeleteProvisionedConcurrencyConfigResponse) {
+ response = &DeleteProvisionedConcurrencyConfigResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 删除函数版本的预置并发配置。
+func (c *Client) DeleteProvisionedConcurrencyConfig(request *DeleteProvisionedConcurrencyConfigRequest) (response *DeleteProvisionedConcurrencyConfigResponse, err error) {
+ if request == nil {
+ request = NewDeleteProvisionedConcurrencyConfigRequest()
+ }
+ response = NewDeleteProvisionedConcurrencyConfigResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDeleteReservedConcurrencyConfigRequest() (request *DeleteReservedConcurrencyConfigRequest) {
+ request = &DeleteReservedConcurrencyConfigRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("scf", APIVersion, "DeleteReservedConcurrencyConfig")
+ return
+}
+
+func NewDeleteReservedConcurrencyConfigResponse() (response *DeleteReservedConcurrencyConfigResponse) {
+ response = &DeleteReservedConcurrencyConfigResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 删除函数的保留并发配置。
+func (c *Client) DeleteReservedConcurrencyConfig(request *DeleteReservedConcurrencyConfigRequest) (response *DeleteReservedConcurrencyConfigResponse, err error) {
+ if request == nil {
+ request = NewDeleteReservedConcurrencyConfigRequest()
+ }
+ response = NewDeleteReservedConcurrencyConfigResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDeleteTriggerRequest() (request *DeleteTriggerRequest) {
request = &DeleteTriggerRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -425,6 +475,56 @@ func (c *Client) GetLayerVersion(request *GetLayerVersionRequest) (response *Get
return
}
+func NewGetProvisionedConcurrencyConfigRequest() (request *GetProvisionedConcurrencyConfigRequest) {
+ request = &GetProvisionedConcurrencyConfigRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("scf", APIVersion, "GetProvisionedConcurrencyConfig")
+ return
+}
+
+func NewGetProvisionedConcurrencyConfigResponse() (response *GetProvisionedConcurrencyConfigResponse) {
+ response = &GetProvisionedConcurrencyConfigResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取函数或函数某一版本的预置并发详情。
+func (c *Client) GetProvisionedConcurrencyConfig(request *GetProvisionedConcurrencyConfigRequest) (response *GetProvisionedConcurrencyConfigResponse, err error) {
+ if request == nil {
+ request = NewGetProvisionedConcurrencyConfigRequest()
+ }
+ response = NewGetProvisionedConcurrencyConfigResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewGetReservedConcurrencyConfigRequest() (request *GetReservedConcurrencyConfigRequest) {
+ request = &GetReservedConcurrencyConfigRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("scf", APIVersion, "GetReservedConcurrencyConfig")
+ return
+}
+
+func NewGetReservedConcurrencyConfigResponse() (response *GetReservedConcurrencyConfigResponse) {
+ response = &GetReservedConcurrencyConfigResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取函数的保留并发详情。
+func (c *Client) GetReservedConcurrencyConfig(request *GetReservedConcurrencyConfigRequest) (response *GetReservedConcurrencyConfigResponse, err error) {
+ if request == nil {
+ request = NewGetReservedConcurrencyConfigRequest()
+ }
+ response = NewGetReservedConcurrencyConfigResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewInvokeRequest() (request *InvokeRequest) {
request = &InvokeRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -675,6 +775,81 @@ func (c *Client) PublishVersion(request *PublishVersionRequest) (response *Publi
return
}
+func NewPutProvisionedConcurrencyConfigRequest() (request *PutProvisionedConcurrencyConfigRequest) {
+ request = &PutProvisionedConcurrencyConfigRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("scf", APIVersion, "PutProvisionedConcurrencyConfig")
+ return
+}
+
+func NewPutProvisionedConcurrencyConfigResponse() (response *PutProvisionedConcurrencyConfigResponse) {
+ response = &PutProvisionedConcurrencyConfigResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 设置函数某一非$LATEST版本的预置并发。
+func (c *Client) PutProvisionedConcurrencyConfig(request *PutProvisionedConcurrencyConfigRequest) (response *PutProvisionedConcurrencyConfigResponse, err error) {
+ if request == nil {
+ request = NewPutProvisionedConcurrencyConfigRequest()
+ }
+ response = NewPutProvisionedConcurrencyConfigResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewPutReservedConcurrencyConfigRequest() (request *PutReservedConcurrencyConfigRequest) {
+ request = &PutReservedConcurrencyConfigRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("scf", APIVersion, "PutReservedConcurrencyConfig")
+ return
+}
+
+func NewPutReservedConcurrencyConfigResponse() (response *PutReservedConcurrencyConfigResponse) {
+ response = &PutReservedConcurrencyConfigResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 设置函数保留并发
+func (c *Client) PutReservedConcurrencyConfig(request *PutReservedConcurrencyConfigRequest) (response *PutReservedConcurrencyConfigResponse, err error) {
+ if request == nil {
+ request = NewPutReservedConcurrencyConfigRequest()
+ }
+ response = NewPutReservedConcurrencyConfigResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewPutTotalConcurrencyConfigRequest() (request *PutTotalConcurrencyConfigRequest) {
+ request = &PutTotalConcurrencyConfigRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("scf", APIVersion, "PutTotalConcurrencyConfig")
+ return
+}
+
+func NewPutTotalConcurrencyConfigResponse() (response *PutTotalConcurrencyConfigResponse) {
+ response = &PutTotalConcurrencyConfigResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 修改账号并发限制配额
+func (c *Client) PutTotalConcurrencyConfig(request *PutTotalConcurrencyConfigRequest) (response *PutTotalConcurrencyConfigResponse, err error) {
+ if request == nil {
+ request = NewPutTotalConcurrencyConfigRequest()
+ }
+ response = NewPutTotalConcurrencyConfigResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewUpdateAliasRequest() (request *UpdateAliasRequest) {
request = &UpdateAliasRequest{
BaseRequest: &tchttp.BaseRequest{},
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416/models.go
index bd2d183d6f..9f47440204 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416/models.go
@@ -602,6 +602,83 @@ func (r *DeleteNamespaceResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type DeleteProvisionedConcurrencyConfigRequest struct {
+ *tchttp.BaseRequest
+
+ // 需要删除预置并发的函数的名称
+ FunctionName *string `json:"FunctionName,omitempty" name:"FunctionName"`
+
+ // 函数的版本号
+ Qualifier *string `json:"Qualifier,omitempty" name:"Qualifier"`
+
+ // 函数所属命名空间,默认为default
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+}
+
+func (r *DeleteProvisionedConcurrencyConfigRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeleteProvisionedConcurrencyConfigRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DeleteProvisionedConcurrencyConfigResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DeleteProvisionedConcurrencyConfigResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeleteProvisionedConcurrencyConfigResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DeleteReservedConcurrencyConfigRequest struct {
+ *tchttp.BaseRequest
+
+ // 需要删除预置并发的函数的名称
+ FunctionName *string `json:"FunctionName,omitempty" name:"FunctionName"`
+
+ // 函数所属命名空间,默认为default
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+}
+
+func (r *DeleteReservedConcurrencyConfigRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeleteReservedConcurrencyConfigRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DeleteReservedConcurrencyConfigResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DeleteReservedConcurrencyConfigResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeleteReservedConcurrencyConfigResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type DeleteTriggerRequest struct {
*tchttp.BaseRequest
@@ -1218,6 +1295,93 @@ func (r *GetLayerVersionResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type GetProvisionedConcurrencyConfigRequest struct {
+ *tchttp.BaseRequest
+
+ // 需要获取预置并发详情的函数名称。
+ FunctionName *string `json:"FunctionName,omitempty" name:"FunctionName"`
+
+ // 函数所在的命名空间,默认为default。
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+
+ // 函数版本号,不传则返回函数所有版本的预置并发信息。
+ Qualifier *string `json:"Qualifier,omitempty" name:"Qualifier"`
+}
+
+func (r *GetProvisionedConcurrencyConfigRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *GetProvisionedConcurrencyConfigRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type GetProvisionedConcurrencyConfigResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 该函数剩余可配置的预置并发数。
+ UnallocatedConcurrencyNum *uint64 `json:"UnallocatedConcurrencyNum,omitempty" name:"UnallocatedConcurrencyNum"`
+
+ // 函数已预置的并发配置详情。
+ Allocated []*VersionProvisionedConcurrencyInfo `json:"Allocated,omitempty" name:"Allocated" list`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *GetProvisionedConcurrencyConfigResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *GetProvisionedConcurrencyConfigResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type GetReservedConcurrencyConfigRequest struct {
+ *tchttp.BaseRequest
+
+ // 需要获取预置并发详情的函数名称。
+ FunctionName *string `json:"FunctionName,omitempty" name:"FunctionName"`
+
+ // 函数所在的命名空间,默认为default。
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+}
+
+func (r *GetReservedConcurrencyConfigRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *GetReservedConcurrencyConfigRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type GetReservedConcurrencyConfigResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 该函数的保留并发内存。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ReservedMem *uint64 `json:"ReservedMem,omitempty" name:"ReservedMem"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *GetReservedConcurrencyConfigResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *GetReservedConcurrencyConfigResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type InvokeRequest struct {
*tchttp.BaseRequest
@@ -1859,6 +2023,126 @@ func (r *PublishVersionResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type PutProvisionedConcurrencyConfigRequest struct {
+ *tchttp.BaseRequest
+
+ // 需要设置预置并发的函数的名称
+ FunctionName *string `json:"FunctionName,omitempty" name:"FunctionName"`
+
+ // 函数的版本号,注:$LATEST版本不支持预置并发
+ Qualifier *string `json:"Qualifier,omitempty" name:"Qualifier"`
+
+ // 预置并发数量,注:所有版本的预置并发数总和存在上限限制,当前的上限是:函数最大并发配额 - 100
+ VersionProvisionedConcurrencyNum *uint64 `json:"VersionProvisionedConcurrencyNum,omitempty" name:"VersionProvisionedConcurrencyNum"`
+
+ // 函数所属命名空间,默认为default
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+}
+
+func (r *PutProvisionedConcurrencyConfigRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *PutProvisionedConcurrencyConfigRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type PutProvisionedConcurrencyConfigResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *PutProvisionedConcurrencyConfigResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *PutProvisionedConcurrencyConfigResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type PutReservedConcurrencyConfigRequest struct {
+ *tchttp.BaseRequest
+
+ // 需要设置预置并发的函数的名称
+ FunctionName *string `json:"FunctionName,omitempty" name:"FunctionName"`
+
+ // 函数保留并发内存,注:函数的保留并发内存总和上限:用户总并发内存配额 - 12800
+ ReservedConcurrencyMem *uint64 `json:"ReservedConcurrencyMem,omitempty" name:"ReservedConcurrencyMem"`
+
+ // 函数所属命名空间,默认为default
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+}
+
+func (r *PutReservedConcurrencyConfigRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *PutReservedConcurrencyConfigRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type PutReservedConcurrencyConfigResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *PutReservedConcurrencyConfigResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *PutReservedConcurrencyConfigResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type PutTotalConcurrencyConfigRequest struct {
+ *tchttp.BaseRequest
+
+ // 账号并发内存配额,注:账号并发内存配额下限:用户已用并发内存总额 + 12800
+ TotalConcurrencyMem *uint64 `json:"TotalConcurrencyMem,omitempty" name:"TotalConcurrencyMem"`
+
+ // 命名空间,默认为default
+ Namespace *string `json:"Namespace,omitempty" name:"Namespace"`
+}
+
+func (r *PutTotalConcurrencyConfigRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *PutTotalConcurrencyConfigRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type PutTotalConcurrencyConfigResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *PutTotalConcurrencyConfigResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *PutTotalConcurrencyConfigResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type Result struct {
// 表示执行过程中的日志输出,异步调用返回为空
@@ -2255,6 +2539,24 @@ type VersionMatch struct {
Expression *string `json:"Expression,omitempty" name:"Expression"`
}
+type VersionProvisionedConcurrencyInfo struct {
+
+ // 设置的预置并发数。
+ AllocatedProvisionedConcurrencyNum *uint64 `json:"AllocatedProvisionedConcurrencyNum,omitempty" name:"AllocatedProvisionedConcurrencyNum"`
+
+ // 当前已完成预置的并发数。
+ AvailableProvisionedConcurrencyNum *uint64 `json:"AvailableProvisionedConcurrencyNum,omitempty" name:"AvailableProvisionedConcurrencyNum"`
+
+ // 预置任务状态,Done表示已完成,InProgress表示进行中,Failed表示部分或全部失败。
+ Status *string `json:"Status,omitempty" name:"Status"`
+
+ // 对预置任务状态Status的说明。
+ StatusReason *string `json:"StatusReason,omitempty" name:"StatusReason"`
+
+ // 函数版本号
+ Qualifier *string `json:"Qualifier,omitempty" name:"Qualifier"`
+}
+
type VersionWeight struct {
// 函数版本名称
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts/v20180813/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts/v20180813/models.go
index f87c360d3f..38ebaa5508 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts/v20180813/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts/v20180813/models.go
@@ -35,10 +35,15 @@ type ApiKey struct {
type AssumeRoleRequest struct {
*tchttp.BaseRequest
- // 角色的资源描述。例如:qcs::cam::uin/12345678:role/4611686018427397919、qcs::cam::uin/12345678:roleName/testRoleName
+ // 角色的资源描述,可在[访问管理](https://console.cloud.tencent.com/cam/role),点击角色名获取。
+ // 普通角色:
+ // qcs::cam::uin/12345678:role/4611686018427397919、qcs::cam::uin/12345678:roleName/testRoleName
+ // 服务角色:
+ // qcs::cam::uin/12345678:role/tencentcloudServiceRole/4611686018427397920、qcs::cam::uin/12345678:role/tencentcloudServiceRoleName/testServiceRoleName
RoleArn *string `json:"RoleArn,omitempty" name:"RoleArn"`
- // 临时会话名称,由用户自定义名称
+ // 临时会话名称,由用户自定义名称。
+ // 长度在2到128之间,可包含大小写字符,数字以及特殊字符:=,.@_-。 正则为:[\w+=,.@_-]*
RoleSessionName *string `json:"RoleSessionName,omitempty" name:"RoleSessionName"`
// 指定临时证书的有效期,单位:秒,默认 7200 秒,最长可设定有效期为 43200 秒
@@ -50,6 +55,10 @@ type AssumeRoleRequest struct {
// 2、策略语法参照[ CAM 策略语法](https://cloud.tencent.com/document/product/598/10603)。
// 3、策略中不能包含 principal 元素。
Policy *string `json:"Policy,omitempty" name:"Policy"`
+
+ // 角色外部ID,可在[访问管理](https://console.cloud.tencent.com/cam/role),点击角色名获取。
+ // 长度在2到128之间,可包含大小写字符,数字以及特殊字符:=,.@:/-。 正则为:[\w+=,.@:\/-]*
+ ExternalId *string `json:"ExternalId,omitempty" name:"ExternalId"`
}
func (r *AssumeRoleRequest) ToJsonString() string {
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525/client.go
index 1519b9df9e..7a0089a285 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525/client.go
@@ -393,6 +393,31 @@ func (c *Client) CreatePrometheusDashboard(request *CreatePrometheusDashboardReq
return
}
+func NewCreatePrometheusTemplateRequest() (request *CreatePrometheusTemplateRequest) {
+ request = &CreatePrometheusTemplateRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "CreatePrometheusTemplate")
+ return
+}
+
+func NewCreatePrometheusTemplateResponse() (response *CreatePrometheusTemplateResponse) {
+ response = &CreatePrometheusTemplateResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 创建一个云原生Prometheus模板实例
+func (c *Client) CreatePrometheusTemplate(request *CreatePrometheusTemplateRequest) (response *CreatePrometheusTemplateResponse, err error) {
+ if request == nil {
+ request = NewCreatePrometheusTemplateRequest()
+ }
+ response = NewCreatePrometheusTemplateResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDeleteClusterRequest() (request *DeleteClusterRequest) {
request = &DeleteClusterRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -593,6 +618,56 @@ func (c *Client) DeleteClusterRouteTable(request *DeleteClusterRouteTableRequest
return
}
+func NewDeletePrometheusTemplateRequest() (request *DeletePrometheusTemplateRequest) {
+ request = &DeletePrometheusTemplateRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "DeletePrometheusTemplate")
+ return
+}
+
+func NewDeletePrometheusTemplateResponse() (response *DeletePrometheusTemplateResponse) {
+ response = &DeletePrometheusTemplateResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 删除一个云原生Promehtheus配置模板
+func (c *Client) DeletePrometheusTemplate(request *DeletePrometheusTemplateRequest) (response *DeletePrometheusTemplateResponse, err error) {
+ if request == nil {
+ request = NewDeletePrometheusTemplateRequest()
+ }
+ response = NewDeletePrometheusTemplateResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDeletePrometheusTemplateSyncRequest() (request *DeletePrometheusTemplateSyncRequest) {
+ request = &DeletePrometheusTemplateSyncRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "DeletePrometheusTemplateSync")
+ return
+}
+
+func NewDeletePrometheusTemplateSyncResponse() (response *DeletePrometheusTemplateSyncResponse) {
+ response = &DeletePrometheusTemplateSyncResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 取消模板同步,这将会删除目标中该模板所生产的配置
+func (c *Client) DeletePrometheusTemplateSync(request *DeletePrometheusTemplateSyncRequest) (response *DeletePrometheusTemplateSyncResponse, err error) {
+ if request == nil {
+ request = NewDeletePrometheusTemplateSyncRequest()
+ }
+ response = NewDeletePrometheusTemplateSyncResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDescribeClusterAsGroupOptionRequest() (request *DescribeClusterAsGroupOptionRequest) {
request = &DescribeClusterAsGroupOptionRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -968,6 +1043,156 @@ func (c *Client) DescribePrometheusAgentInstances(request *DescribePrometheusAge
return
}
+func NewDescribePrometheusAgentsRequest() (request *DescribePrometheusAgentsRequest) {
+ request = &DescribePrometheusAgentsRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "DescribePrometheusAgents")
+ return
+}
+
+func NewDescribePrometheusAgentsResponse() (response *DescribePrometheusAgentsResponse) {
+ response = &DescribePrometheusAgentsResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取被关联集群列表
+func (c *Client) DescribePrometheusAgents(request *DescribePrometheusAgentsRequest) (response *DescribePrometheusAgentsResponse, err error) {
+ if request == nil {
+ request = NewDescribePrometheusAgentsRequest()
+ }
+ response = NewDescribePrometheusAgentsResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribePrometheusAlertRuleRequest() (request *DescribePrometheusAlertRuleRequest) {
+ request = &DescribePrometheusAlertRuleRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "DescribePrometheusAlertRule")
+ return
+}
+
+func NewDescribePrometheusAlertRuleResponse() (response *DescribePrometheusAlertRuleResponse) {
+ response = &DescribePrometheusAlertRuleResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取告警规则列表
+func (c *Client) DescribePrometheusAlertRule(request *DescribePrometheusAlertRuleRequest) (response *DescribePrometheusAlertRuleResponse, err error) {
+ if request == nil {
+ request = NewDescribePrometheusAlertRuleRequest()
+ }
+ response = NewDescribePrometheusAlertRuleResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribePrometheusOverviewsRequest() (request *DescribePrometheusOverviewsRequest) {
+ request = &DescribePrometheusOverviewsRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "DescribePrometheusOverviews")
+ return
+}
+
+func NewDescribePrometheusOverviewsResponse() (response *DescribePrometheusOverviewsResponse) {
+ response = &DescribePrometheusOverviewsResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取实例列表
+func (c *Client) DescribePrometheusOverviews(request *DescribePrometheusOverviewsRequest) (response *DescribePrometheusOverviewsResponse, err error) {
+ if request == nil {
+ request = NewDescribePrometheusOverviewsRequest()
+ }
+ response = NewDescribePrometheusOverviewsResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribePrometheusTargetsRequest() (request *DescribePrometheusTargetsRequest) {
+ request = &DescribePrometheusTargetsRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "DescribePrometheusTargets")
+ return
+}
+
+func NewDescribePrometheusTargetsResponse() (response *DescribePrometheusTargetsResponse) {
+ response = &DescribePrometheusTargetsResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取targets信息
+func (c *Client) DescribePrometheusTargets(request *DescribePrometheusTargetsRequest) (response *DescribePrometheusTargetsResponse, err error) {
+ if request == nil {
+ request = NewDescribePrometheusTargetsRequest()
+ }
+ response = NewDescribePrometheusTargetsResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribePrometheusTemplateSyncRequest() (request *DescribePrometheusTemplateSyncRequest) {
+ request = &DescribePrometheusTemplateSyncRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "DescribePrometheusTemplateSync")
+ return
+}
+
+func NewDescribePrometheusTemplateSyncResponse() (response *DescribePrometheusTemplateSyncResponse) {
+ response = &DescribePrometheusTemplateSyncResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 获取模板同步信息
+func (c *Client) DescribePrometheusTemplateSync(request *DescribePrometheusTemplateSyncRequest) (response *DescribePrometheusTemplateSyncResponse, err error) {
+ if request == nil {
+ request = NewDescribePrometheusTemplateSyncRequest()
+ }
+ response = NewDescribePrometheusTemplateSyncResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribePrometheusTemplatesRequest() (request *DescribePrometheusTemplatesRequest) {
+ request = &DescribePrometheusTemplatesRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "DescribePrometheusTemplates")
+ return
+}
+
+func NewDescribePrometheusTemplatesResponse() (response *DescribePrometheusTemplatesResponse) {
+ response = &DescribePrometheusTemplatesResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 拉取模板列表,默认模板将总是在最前面
+func (c *Client) DescribePrometheusTemplates(request *DescribePrometheusTemplatesRequest) (response *DescribePrometheusTemplatesResponse, err error) {
+ if request == nil {
+ request = NewDescribePrometheusTemplatesRequest()
+ }
+ response = NewDescribePrometheusTemplatesResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDescribeRegionsRequest() (request *DescribeRegionsRequest) {
request = &DescribeRegionsRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -1043,6 +1268,31 @@ func (c *Client) ModifyClusterAsGroupAttribute(request *ModifyClusterAsGroupAttr
return
}
+func NewModifyClusterAsGroupOptionAttributeRequest() (request *ModifyClusterAsGroupOptionAttributeRequest) {
+ request = &ModifyClusterAsGroupOptionAttributeRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "ModifyClusterAsGroupOptionAttribute")
+ return
+}
+
+func NewModifyClusterAsGroupOptionAttributeResponse() (response *ModifyClusterAsGroupOptionAttributeResponse) {
+ response = &ModifyClusterAsGroupOptionAttributeResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 修改集群弹性伸缩属性
+func (c *Client) ModifyClusterAsGroupOptionAttribute(request *ModifyClusterAsGroupOptionAttributeRequest) (response *ModifyClusterAsGroupOptionAttributeResponse, err error) {
+ if request == nil {
+ request = NewModifyClusterAsGroupOptionAttributeRequest()
+ }
+ response = NewModifyClusterAsGroupOptionAttributeResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewModifyClusterAttributeRequest() (request *ModifyClusterAttributeRequest) {
request = &ModifyClusterAttributeRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -1118,6 +1368,56 @@ func (c *Client) ModifyClusterNodePool(request *ModifyClusterNodePoolRequest) (r
return
}
+func NewModifyNodePoolDesiredCapacityAboutAsgRequest() (request *ModifyNodePoolDesiredCapacityAboutAsgRequest) {
+ request = &ModifyNodePoolDesiredCapacityAboutAsgRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "ModifyNodePoolDesiredCapacityAboutAsg")
+ return
+}
+
+func NewModifyNodePoolDesiredCapacityAboutAsgResponse() (response *ModifyNodePoolDesiredCapacityAboutAsgResponse) {
+ response = &ModifyNodePoolDesiredCapacityAboutAsgResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 修改节点池关联伸缩组的期望实例数
+func (c *Client) ModifyNodePoolDesiredCapacityAboutAsg(request *ModifyNodePoolDesiredCapacityAboutAsgRequest) (response *ModifyNodePoolDesiredCapacityAboutAsgResponse, err error) {
+ if request == nil {
+ request = NewModifyNodePoolDesiredCapacityAboutAsgRequest()
+ }
+ response = NewModifyNodePoolDesiredCapacityAboutAsgResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewModifyPrometheusTemplateRequest() (request *ModifyPrometheusTemplateRequest) {
+ request = &ModifyPrometheusTemplateRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "ModifyPrometheusTemplate")
+ return
+}
+
+func NewModifyPrometheusTemplateResponse() (response *ModifyPrometheusTemplateResponse) {
+ response = &ModifyPrometheusTemplateResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 修改模板内容
+func (c *Client) ModifyPrometheusTemplate(request *ModifyPrometheusTemplateRequest) (response *ModifyPrometheusTemplateResponse, err error) {
+ if request == nil {
+ request = NewModifyPrometheusTemplateRequest()
+ }
+ response = NewModifyPrometheusTemplateResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewRemoveNodeFromNodePoolRequest() (request *RemoveNodeFromNodePoolRequest) {
request = &RemoveNodeFromNodePoolRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -1143,6 +1443,31 @@ func (c *Client) RemoveNodeFromNodePool(request *RemoveNodeFromNodePoolRequest)
return
}
+func NewSyncPrometheusTemplateRequest() (request *SyncPrometheusTemplateRequest) {
+ request = &SyncPrometheusTemplateRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("tke", APIVersion, "SyncPrometheusTemplate")
+ return
+}
+
+func NewSyncPrometheusTemplateResponse() (response *SyncPrometheusTemplateResponse) {
+ response = &SyncPrometheusTemplateResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 同步模板到实例或者集群
+func (c *Client) SyncPrometheusTemplate(request *SyncPrometheusTemplateRequest) (response *SyncPrometheusTemplateResponse, err error) {
+ if request == nil {
+ request = NewSyncPrometheusTemplateRequest()
+ }
+ response = NewSyncPrometheusTemplateResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewUpgradeClusterInstancesRequest() (request *UpgradeClusterInstancesRequest) {
request = &UpgradeClusterInstancesRequest{
BaseRequest: &tchttp.BaseRequest{},
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525/models.go
index 947defc09b..a4e53d3f9f 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525/models.go
@@ -60,7 +60,7 @@ type AddExistedInstancesRequest struct {
// 集群ID
ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
- // 实例列表
+ // 实例列表,不支持竞价实例
InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list`
// 实例额外需要设置参数信息
@@ -77,6 +77,9 @@ type AddExistedInstancesRequest struct {
// 重装系统时,可以指定修改实例的HostName(集群为HostName模式时,此参数必传,规则名称除不支持大写字符外与[CVM创建实例](https://cloud.tencent.com/document/product/213/15730)接口HostName一致)
HostName *string `json:"HostName,omitempty" name:"HostName"`
+
+ // 节点池选项
+ NodePool *NodePoolOption `json:"NodePool,omitempty" name:"NodePool"`
}
func (r *AddExistedInstancesRequest) ToJsonString() string {
@@ -339,13 +342,13 @@ type ClusterAdvancedSettings struct {
// 是否启用集群删除保护
DeletionProtection *bool `json:"DeletionProtection,omitempty" name:"DeletionProtection"`
- // 集群的网络代理模型,目前tke集群支持的网络代理模式有三种:iptables,ipvs,ipvs+bpf,此参数仅在使用ipvs+bpf模式时使用,三种网络模式的参数设置关系如下:
+ // 集群的网络代理模型,目前tke集群支持的网络代理模式有三种:iptables,ipvs,ipvs-bpf,此参数仅在使用ipvs-bpf模式时使用,三种网络模式的参数设置关系如下:
// iptables模式:IPVS和KubeProxyMode都不设置
// ipvs模式: 设置IPVS为true, KubeProxyMode不设置
// ipvs-bpf模式: 设置KubeProxyMode为kube-proxy-bpf
// 使用ipvs-bpf的网络模式需要满足以下条件:
// 1. 集群版本必须为1.14及以上;
- // 2. 系统镜像必须是tke定制的镜像如: ubuntu TKE-optimized、centos TKE-optimized;
+ // 2. 系统镜像必须是: Tencent Linux 2.4;
KubeProxyMode *string `json:"KubeProxyMode,omitempty" name:"KubeProxyMode"`
// 是否开启审计开关
@@ -1002,6 +1005,43 @@ func (r *CreatePrometheusDashboardResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type CreatePrometheusTemplateRequest struct {
+ *tchttp.BaseRequest
+
+ // 模板设置
+ Template *PrometheusTemplate `json:"Template,omitempty" name:"Template"`
+}
+
+func (r *CreatePrometheusTemplateRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *CreatePrometheusTemplateRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type CreatePrometheusTemplateResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 模板Id
+ TemplateId *string `json:"TemplateId,omitempty" name:"TemplateId"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *CreatePrometheusTemplateResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *CreatePrometheusTemplateResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type DataDisk struct {
// 云盘类型
@@ -1345,6 +1385,77 @@ func (r *DeleteClusterRouteTableResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type DeletePrometheusTemplateRequest struct {
+ *tchttp.BaseRequest
+
+ // 模板id
+ TemplateId *string `json:"TemplateId,omitempty" name:"TemplateId"`
+}
+
+func (r *DeletePrometheusTemplateRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeletePrometheusTemplateRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DeletePrometheusTemplateResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DeletePrometheusTemplateResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeletePrometheusTemplateResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DeletePrometheusTemplateSyncRequest struct {
+ *tchttp.BaseRequest
+
+ // 模板id
+ TemplateId *string `json:"TemplateId,omitempty" name:"TemplateId"`
+
+ // 取消同步的对象列表
+ Targets []*PrometheusTemplateSyncTarget `json:"Targets,omitempty" name:"Targets" list`
+}
+
+func (r *DeletePrometheusTemplateSyncRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeletePrometheusTemplateSyncRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DeletePrometheusTemplateSyncResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DeletePrometheusTemplateSyncResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DeletePrometheusTemplateSyncResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type DescribeClusterAsGroupOptionRequest struct {
*tchttp.BaseRequest
@@ -2015,200 +2126,480 @@ func (r *DescribePrometheusAgentInstancesResponse) FromJsonString(s string) erro
return json.Unmarshal([]byte(s), &r)
}
-type DescribeRegionsRequest struct {
+type DescribePrometheusAgentsRequest struct {
*tchttp.BaseRequest
+
+ // 实例id
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+
+ // 用于分页
+ Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+
+ // 用于分页
+ Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
}
-func (r *DescribeRegionsRequest) ToJsonString() string {
+func (r *DescribePrometheusAgentsRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeRegionsRequest) FromJsonString(s string) error {
+func (r *DescribePrometheusAgentsRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeRegionsResponse struct {
+type DescribePrometheusAgentsResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 地域的数量
- // 注意:此字段可能返回 null,表示取不到有效值。
- TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+ // 被关联集群信息
+ Agents []*PrometheusAgentOverview `json:"Agents,omitempty" name:"Agents" list`
- // 地域列表
- // 注意:此字段可能返回 null,表示取不到有效值。
- RegionInstanceSet []*RegionInstance `json:"RegionInstanceSet,omitempty" name:"RegionInstanceSet" list`
+ // 被关联集群总量
+ Total *uint64 `json:"Total,omitempty" name:"Total"`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeRegionsResponse) ToJsonString() string {
+func (r *DescribePrometheusAgentsResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeRegionsResponse) FromJsonString(s string) error {
+func (r *DescribePrometheusAgentsResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeRouteTableConflictsRequest struct {
+type DescribePrometheusAlertRuleRequest struct {
*tchttp.BaseRequest
- // 路由表CIDR
- RouteTableCidrBlock *string `json:"RouteTableCidrBlock,omitempty" name:"RouteTableCidrBlock"`
+ // 实例id
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
- // 路由表绑定的VPC
- VpcId *string `json:"VpcId,omitempty" name:"VpcId"`
+ // 分页
+ Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+
+ // 分页
+ Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+
+ // 过滤
+ // 支持ID,Name
+ Filters []*Filter `json:"Filters,omitempty" name:"Filters" list`
}
-func (r *DescribeRouteTableConflictsRequest) ToJsonString() string {
+func (r *DescribePrometheusAlertRuleRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeRouteTableConflictsRequest) FromJsonString(s string) error {
+func (r *DescribePrometheusAlertRuleRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type DescribeRouteTableConflictsResponse struct {
+type DescribePrometheusAlertRuleResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 路由表是否冲突。
- HasConflict *bool `json:"HasConflict,omitempty" name:"HasConflict"`
+ // 告警详情
+ AlertRules []*PrometheusAlertRuleDetail `json:"AlertRules,omitempty" name:"AlertRules" list`
- // 路由表冲突列表。
- // 注意:此字段可能返回 null,表示取不到有效值。
- RouteTableConflictSet []*RouteTableConflict `json:"RouteTableConflictSet,omitempty" name:"RouteTableConflictSet" list`
+ // 总数
+ Total *uint64 `json:"Total,omitempty" name:"Total"`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
-func (r *DescribeRouteTableConflictsResponse) ToJsonString() string {
+func (r *DescribePrometheusAlertRuleResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *DescribeRouteTableConflictsResponse) FromJsonString(s string) error {
+func (r *DescribePrometheusAlertRuleResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type EnhancedService struct {
+type DescribePrometheusOverviewsRequest struct {
+ *tchttp.BaseRequest
- // 开启云安全服务。若不指定该参数,则默认开启云安全服务。
- SecurityService *RunSecurityServiceEnabled `json:"SecurityService,omitempty" name:"SecurityService"`
+ // 用于分页
+ Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
- // 开启云监控服务。若不指定该参数,则默认开启云监控服务。
- MonitorService *RunMonitorServiceEnabled `json:"MonitorService,omitempty" name:"MonitorService"`
-}
+ // 用于分页
+ Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
-type ExistedInstance struct {
+ // 过滤实例,目前支持:
+ // ID: 通过实例ID来过滤
+ // Name: 通过实例名称来过滤
+ Filters []*Filter `json:"Filters,omitempty" name:"Filters" list`
+}
- // 实例是否支持加入集群(TRUE 可以加入 FALSE 不能加入)。
- // 注意:此字段可能返回 null,表示取不到有效值。
- Usable *bool `json:"Usable,omitempty" name:"Usable"`
+func (r *DescribePrometheusOverviewsRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 实例不支持加入的原因。
- // 注意:此字段可能返回 null,表示取不到有效值。
- UnusableReason *string `json:"UnusableReason,omitempty" name:"UnusableReason"`
+func (r *DescribePrometheusOverviewsRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 实例已经所在的集群ID。
- // 注意:此字段可能返回 null,表示取不到有效值。
- AlreadyInCluster *string `json:"AlreadyInCluster,omitempty" name:"AlreadyInCluster"`
+type DescribePrometheusOverviewsResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 实例ID形如:ins-xxxxxxxx。
- InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+ // 实例列表
+ Instances []*PrometheusInstanceOverview `json:"Instances,omitempty" name:"Instances" list`
- // 实例名称。
+ // 实例总数
// 注意:此字段可能返回 null,表示取不到有效值。
- InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"`
+ Total *uint64 `json:"Total,omitempty" name:"Total"`
- // 实例主网卡的内网IP列表。
- // 注意:此字段可能返回 null,表示取不到有效值。
- PrivateIpAddresses []*string `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
- // 实例主网卡的公网IP列表。
- // 注意:此字段可能返回 null,表示取不到有效值。
- // 注意:此字段可能返回 null,表示取不到有效值。
- PublicIpAddresses []*string `json:"PublicIpAddresses,omitempty" name:"PublicIpAddresses" list`
+func (r *DescribePrometheusOverviewsResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 创建时间。按照ISO8601标准表示,并且使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。
- // 注意:此字段可能返回 null,表示取不到有效值。
- CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"`
+func (r *DescribePrometheusOverviewsResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 实例的CPU核数,单位:核。
- // 注意:此字段可能返回 null,表示取不到有效值。
- CPU *uint64 `json:"CPU,omitempty" name:"CPU"`
+type DescribePrometheusTargetsRequest struct {
+ *tchttp.BaseRequest
- // 实例内存容量,单位:GB。
- // 注意:此字段可能返回 null,表示取不到有效值。
- Memory *uint64 `json:"Memory,omitempty" name:"Memory"`
+ // 实例id
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
- // 操作系统名称。
- // 注意:此字段可能返回 null,表示取不到有效值。
- OsName *string `json:"OsName,omitempty" name:"OsName"`
+ // 集群类型
+ ClusterType *string `json:"ClusterType,omitempty" name:"ClusterType"`
- // 实例机型。
- // 注意:此字段可能返回 null,表示取不到有效值。
- InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
+ // 集群id
+ ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
- // 伸缩组ID
- // 注意:此字段可能返回 null,表示取不到有效值。
- AutoscalingGroupId *string `json:"AutoscalingGroupId,omitempty" name:"AutoscalingGroupId"`
+ // 过滤条件,当前支持
+ // Name=state
+ // Value=up, down, unknown
+ Filters []*Filter `json:"Filters,omitempty" name:"Filters" list`
+}
- // 实例计费模式。取值范围: PREPAID:表示预付费,即包年包月 POSTPAID_BY_HOUR:表示后付费,即按量计费 CDHPAID:CDH付费,即只对CDH计费,不对CDH上的实例计费。
- // 注意:此字段可能返回 null,表示取不到有效值。
- InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"`
+func (r *DescribePrometheusTargetsRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
}
-type ExistedInstancesForNode struct {
+func (r *DescribePrometheusTargetsRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 节点角色,取值:MASTER_ETCD, WORKER。MASTER_ETCD只有在创建 INDEPENDENT_CLUSTER 独立集群时需要指定。MASTER_ETCD节点数量为3~7,建议为奇数。MASTER_ETCD最小配置为4C8G。
- NodeRole *string `json:"NodeRole,omitempty" name:"NodeRole"`
+type DescribePrometheusTargetsResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 已存在实例的重装参数
- ExistedInstancesPara *ExistedInstancesPara `json:"ExistedInstancesPara,omitempty" name:"ExistedInstancesPara"`
+ // 所有Job的targets信息
+ Jobs []*PrometheusJobTargets `json:"Jobs,omitempty" name:"Jobs" list`
- // 节点高级设置,会覆盖集群级别设置的InstanceAdvancedSettings(当前只对节点自定义参数ExtraArgs生效)
- InstanceAdvancedSettingsOverride *InstanceAdvancedSettings `json:"InstanceAdvancedSettingsOverride,omitempty" name:"InstanceAdvancedSettingsOverride"`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
}
-type ExistedInstancesPara struct {
-
- // 集群ID
- InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list`
+func (r *DescribePrometheusTargetsResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 实例额外需要设置参数信息
- InstanceAdvancedSettings *InstanceAdvancedSettings `json:"InstanceAdvancedSettings,omitempty" name:"InstanceAdvancedSettings"`
+func (r *DescribePrometheusTargetsResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
- // 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。
- EnhancedService *EnhancedService `json:"EnhancedService,omitempty" name:"EnhancedService"`
+type DescribePrometheusTemplateSyncRequest struct {
+ *tchttp.BaseRequest
- // 节点登录信息(目前仅支持使用Password或者单个KeyIds)
- LoginSettings *LoginSettings `json:"LoginSettings,omitempty" name:"LoginSettings"`
+ // 模板ID
+ TemplateId *string `json:"TemplateId,omitempty" name:"TemplateId"`
+}
- // 实例所属安全组。该参数可以通过调用 DescribeSecurityGroups 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。
- SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list`
+func (r *DescribePrometheusTemplateSyncRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
- // 重装系统时,可以指定修改实例的HostName(集群为HostName模式时,此参数必传,规则名称除不支持大写字符外与[CVM创建实例](https://cloud.tencent.com/document/product/213/15730)接口HostName一致)
- HostName *string `json:"HostName,omitempty" name:"HostName"`
+func (r *DescribePrometheusTemplateSyncRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
}
-type ExtensionAddon struct {
+type DescribePrometheusTemplateSyncResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
- // 扩展组件名称
- AddonName *string `json:"AddonName,omitempty" name:"AddonName"`
+ // 同步目标详情
+ Targets []*PrometheusTemplateSyncTarget `json:"Targets,omitempty" name:"Targets" list`
- // 扩展组件信息(扩展组件资源对象的json字符串描述)
- AddonParam *string `json:"AddonParam,omitempty" name:"AddonParam"`
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
}
-type Filter struct {
+func (r *DescribePrometheusTemplateSyncResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribePrometheusTemplateSyncResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribePrometheusTemplatesRequest struct {
+ *tchttp.BaseRequest
+
+ // 模糊过滤条件,支持
+ // Level 按模板级别过滤
+ // Name 按名称过滤
+ // Describe 按描述过滤
+ // ID 按templateId过滤
+ Filters []*Filter `json:"Filters,omitempty" name:"Filters" list`
+
+ // 分页偏移
+ Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+
+ // 总数限制
+ Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+}
+
+func (r *DescribePrometheusTemplatesRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribePrometheusTemplatesRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribePrometheusTemplatesResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 模板列表
+ Templates []*PrometheusTemplate `json:"Templates,omitempty" name:"Templates" list`
+
+ // 总数
+ Total *uint64 `json:"Total,omitempty" name:"Total"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribePrometheusTemplatesResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribePrometheusTemplatesResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeRegionsRequest struct {
+ *tchttp.BaseRequest
+}
+
+func (r *DescribeRegionsRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeRegionsRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeRegionsResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 地域的数量
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+
+ // 地域列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ RegionInstanceSet []*RegionInstance `json:"RegionInstanceSet,omitempty" name:"RegionInstanceSet" list`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeRegionsResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeRegionsResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeRouteTableConflictsRequest struct {
+ *tchttp.BaseRequest
+
+ // 路由表CIDR
+ RouteTableCidrBlock *string `json:"RouteTableCidrBlock,omitempty" name:"RouteTableCidrBlock"`
+
+ // 路由表绑定的VPC
+ VpcId *string `json:"VpcId,omitempty" name:"VpcId"`
+}
+
+func (r *DescribeRouteTableConflictsRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeRouteTableConflictsRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeRouteTableConflictsResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 路由表是否冲突。
+ HasConflict *bool `json:"HasConflict,omitempty" name:"HasConflict"`
+
+ // 路由表冲突列表。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ RouteTableConflictSet []*RouteTableConflict `json:"RouteTableConflictSet,omitempty" name:"RouteTableConflictSet" list`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeRouteTableConflictsResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeRouteTableConflictsResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type EnhancedService struct {
+
+ // 开启云安全服务。若不指定该参数,则默认开启云安全服务。
+ SecurityService *RunSecurityServiceEnabled `json:"SecurityService,omitempty" name:"SecurityService"`
+
+ // 开启云监控服务。若不指定该参数,则默认开启云监控服务。
+ MonitorService *RunMonitorServiceEnabled `json:"MonitorService,omitempty" name:"MonitorService"`
+}
+
+type ExistedInstance struct {
+
+ // 实例是否支持加入集群(TRUE 可以加入 FALSE 不能加入)。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Usable *bool `json:"Usable,omitempty" name:"Usable"`
+
+ // 实例不支持加入的原因。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UnusableReason *string `json:"UnusableReason,omitempty" name:"UnusableReason"`
+
+ // 实例已经所在的集群ID。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AlreadyInCluster *string `json:"AlreadyInCluster,omitempty" name:"AlreadyInCluster"`
+
+ // 实例ID形如:ins-xxxxxxxx。
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+
+ // 实例名称。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"`
+
+ // 实例主网卡的内网IP列表。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PrivateIpAddresses []*string `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list`
+
+ // 实例主网卡的公网IP列表。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PublicIpAddresses []*string `json:"PublicIpAddresses,omitempty" name:"PublicIpAddresses" list`
+
+ // 创建时间。按照ISO8601标准表示,并且使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"`
+
+ // 实例的CPU核数,单位:核。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ CPU *uint64 `json:"CPU,omitempty" name:"CPU"`
+
+ // 实例内存容量,单位:GB。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Memory *uint64 `json:"Memory,omitempty" name:"Memory"`
+
+ // 操作系统名称。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ OsName *string `json:"OsName,omitempty" name:"OsName"`
+
+ // 实例机型。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
+
+ // 伸缩组ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AutoscalingGroupId *string `json:"AutoscalingGroupId,omitempty" name:"AutoscalingGroupId"`
+
+ // 实例计费模式。取值范围: PREPAID:表示预付费,即包年包月 POSTPAID_BY_HOUR:表示后付费,即按量计费 CDHPAID:CDH付费,即只对CDH计费,不对CDH上的实例计费。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"`
+}
+
+type ExistedInstancesForNode struct {
+
+ // 节点角色,取值:MASTER_ETCD, WORKER。MASTER_ETCD只有在创建 INDEPENDENT_CLUSTER 独立集群时需要指定。MASTER_ETCD节点数量为3~7,建议为奇数。MASTER_ETCD最小配置为4C8G。
+ NodeRole *string `json:"NodeRole,omitempty" name:"NodeRole"`
+
+ // 已存在实例的重装参数
+ ExistedInstancesPara *ExistedInstancesPara `json:"ExistedInstancesPara,omitempty" name:"ExistedInstancesPara"`
+
+ // 节点高级设置,会覆盖集群级别设置的InstanceAdvancedSettings(当前只对节点自定义参数ExtraArgs生效)
+ InstanceAdvancedSettingsOverride *InstanceAdvancedSettings `json:"InstanceAdvancedSettingsOverride,omitempty" name:"InstanceAdvancedSettingsOverride"`
+}
+
+type ExistedInstancesPara struct {
+
+ // 集群ID
+ InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list`
+
+ // 实例额外需要设置参数信息
+ InstanceAdvancedSettings *InstanceAdvancedSettings `json:"InstanceAdvancedSettings,omitempty" name:"InstanceAdvancedSettings"`
+
+ // 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。
+ EnhancedService *EnhancedService `json:"EnhancedService,omitempty" name:"EnhancedService"`
+
+ // 节点登录信息(目前仅支持使用Password或者单个KeyIds)
+ LoginSettings *LoginSettings `json:"LoginSettings,omitempty" name:"LoginSettings"`
+
+ // 实例所属安全组。该参数可以通过调用 DescribeSecurityGroups 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。
+ SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list`
+
+ // 重装系统时,可以指定修改实例的HostName(集群为HostName模式时,此参数必传,规则名称除不支持大写字符外与[CVM创建实例](https://cloud.tencent.com/document/product/213/15730)接口HostName一致)
+ HostName *string `json:"HostName,omitempty" name:"HostName"`
+}
+
+type ExtensionAddon struct {
+
+ // 扩展组件名称
+ AddonName *string `json:"AddonName,omitempty" name:"AddonName"`
+
+ // 扩展组件信息(扩展组件资源对象的json字符串描述)
+ AddonParam *string `json:"AddonParam,omitempty" name:"AddonParam"`
+}
+
+type Filter struct {
// 需要过滤的字段。
Name *string `json:"Name,omitempty" name:"Name"`
@@ -2400,6 +2791,43 @@ func (r *ModifyClusterAsGroupAttributeResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type ModifyClusterAsGroupOptionAttributeRequest struct {
+ *tchttp.BaseRequest
+
+ // 集群ID
+ ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
+
+ // 集群弹性伸缩属性
+ ClusterAsGroupOption *ClusterAsGroupOption `json:"ClusterAsGroupOption,omitempty" name:"ClusterAsGroupOption"`
+}
+
+func (r *ModifyClusterAsGroupOptionAttributeRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ModifyClusterAsGroupOptionAttributeRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ModifyClusterAsGroupOptionAttributeResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *ModifyClusterAsGroupOptionAttributeResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ModifyClusterAsGroupOptionAttributeResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type ModifyClusterAttributeRequest struct {
*tchttp.BaseRequest
@@ -2446,35 +2874,136 @@ type ModifyClusterAttributeResponse struct {
} `json:"Response"`
}
-func (r *ModifyClusterAttributeResponse) ToJsonString() string {
+func (r *ModifyClusterAttributeResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ModifyClusterAttributeResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ModifyClusterEndpointSPRequest struct {
+ *tchttp.BaseRequest
+
+ // 集群ID
+ ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
+
+ // 安全策略放通单个IP或CIDR(例如: "192.168.1.0/24",默认为拒绝所有)
+ SecurityPolicies []*string `json:"SecurityPolicies,omitempty" name:"SecurityPolicies" list`
+}
+
+func (r *ModifyClusterEndpointSPRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ModifyClusterEndpointSPRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ModifyClusterEndpointSPResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *ModifyClusterEndpointSPResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ModifyClusterEndpointSPResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ModifyClusterNodePoolRequest struct {
+ *tchttp.BaseRequest
+
+ // 集群ID
+ ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
+
+ // 节点池ID
+ NodePoolId *string `json:"NodePoolId,omitempty" name:"NodePoolId"`
+
+ // 名称
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 最大节点数
+ MaxNodesNum *int64 `json:"MaxNodesNum,omitempty" name:"MaxNodesNum"`
+
+ // 最小节点数
+ MinNodesNum *int64 `json:"MinNodesNum,omitempty" name:"MinNodesNum"`
+
+ // 标签
+ Labels []*Label `json:"Labels,omitempty" name:"Labels" list`
+
+ // 污点
+ Taints []*Taint `json:"Taints,omitempty" name:"Taints" list`
+
+ // 是否开启伸缩
+ EnableAutoscale *bool `json:"EnableAutoscale,omitempty" name:"EnableAutoscale"`
+
+ // 操作系统名称
+ OsName *string `json:"OsName,omitempty" name:"OsName"`
+
+ // 镜像版本,"DOCKER_CUSTOMIZE"(容器定制版),"GENERAL"(普通版本,默认值)
+ OsCustomizeType *string `json:"OsCustomizeType,omitempty" name:"OsCustomizeType"`
+}
+
+func (r *ModifyClusterNodePoolRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ModifyClusterNodePoolRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ModifyClusterNodePoolResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *ModifyClusterNodePoolResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *ModifyClusterAttributeResponse) FromJsonString(s string) error {
+func (r *ModifyClusterNodePoolResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type ModifyClusterEndpointSPRequest struct {
+type ModifyNodePoolDesiredCapacityAboutAsgRequest struct {
*tchttp.BaseRequest
- // 集群ID
+ // 集群id
ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
- // 安全策略放通单个IP或CIDR(例如: "192.168.1.0/24",默认为拒绝所有)
- SecurityPolicies []*string `json:"SecurityPolicies,omitempty" name:"SecurityPolicies" list`
+ // 节点池id
+ NodePoolId *string `json:"NodePoolId,omitempty" name:"NodePoolId"`
+
+ // 节点池所关联的伸缩组的期望实例数
+ DesiredCapacity *int64 `json:"DesiredCapacity,omitempty" name:"DesiredCapacity"`
}
-func (r *ModifyClusterEndpointSPRequest) ToJsonString() string {
+func (r *ModifyNodePoolDesiredCapacityAboutAsgRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *ModifyClusterEndpointSPRequest) FromJsonString(s string) error {
+func (r *ModifyNodePoolDesiredCapacityAboutAsgRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type ModifyClusterEndpointSPResponse struct {
+type ModifyNodePoolDesiredCapacityAboutAsgResponse struct {
*tchttp.BaseResponse
Response *struct {
@@ -2483,53 +3012,35 @@ type ModifyClusterEndpointSPResponse struct {
} `json:"Response"`
}
-func (r *ModifyClusterEndpointSPResponse) ToJsonString() string {
+func (r *ModifyNodePoolDesiredCapacityAboutAsgResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *ModifyClusterEndpointSPResponse) FromJsonString(s string) error {
+func (r *ModifyNodePoolDesiredCapacityAboutAsgResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type ModifyClusterNodePoolRequest struct {
+type ModifyPrometheusTemplateRequest struct {
*tchttp.BaseRequest
- // 集群ID
- ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
-
- // 节点池ID
- NodePoolId *string `json:"NodePoolId,omitempty" name:"NodePoolId"`
-
- // 名称
- Name *string `json:"Name,omitempty" name:"Name"`
-
- // 最大节点数
- MaxNodesNum *int64 `json:"MaxNodesNum,omitempty" name:"MaxNodesNum"`
-
- // 最小节点数
- MinNodesNum *int64 `json:"MinNodesNum,omitempty" name:"MinNodesNum"`
-
- // 标签
- Labels []*Label `json:"Labels,omitempty" name:"Labels" list`
-
- // 污点
- Taints []*Taint `json:"Taints,omitempty" name:"Taints" list`
+ // 模板ID
+ TemplateId *string `json:"TemplateId,omitempty" name:"TemplateId"`
- // 是否开启伸缩
- EnableAutoscale *bool `json:"EnableAutoscale,omitempty" name:"EnableAutoscale"`
+ // 修改内容
+ Template *PrometheusTemplateModify `json:"Template,omitempty" name:"Template"`
}
-func (r *ModifyClusterNodePoolRequest) ToJsonString() string {
+func (r *ModifyPrometheusTemplateRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *ModifyClusterNodePoolRequest) FromJsonString(s string) error {
+func (r *ModifyPrometheusTemplateRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type ModifyClusterNodePoolResponse struct {
+type ModifyPrometheusTemplateResponse struct {
*tchttp.BaseResponse
Response *struct {
@@ -2538,12 +3049,12 @@ type ModifyClusterNodePoolResponse struct {
} `json:"Response"`
}
-func (r *ModifyClusterNodePoolResponse) ToJsonString() string {
+func (r *ModifyPrometheusTemplateResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
-func (r *ModifyClusterNodePoolResponse) FromJsonString(s string) error {
+func (r *ModifyPrometheusTemplateResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
@@ -2602,6 +3113,358 @@ type NodePool struct {
// 期望的节点数量
// 注意:此字段可能返回 null,表示取不到有效值。
DesiredNodesNum *int64 `json:"DesiredNodesNum,omitempty" name:"DesiredNodesNum"`
+
+ // 节点池osName
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ NodePoolOs *string `json:"NodePoolOs,omitempty" name:"NodePoolOs"`
+
+ // 容器的镜像版本,"DOCKER_CUSTOMIZE"(容器定制版),"GENERAL"(普通版本,默认值)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ OsCustomizeType *string `json:"OsCustomizeType,omitempty" name:"OsCustomizeType"`
+
+ // 镜像id
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ImageId *string `json:"ImageId,omitempty" name:"ImageId"`
+}
+
+type NodePoolOption struct {
+
+ // 是否加入节点池
+ AddToNodePool *bool `json:"AddToNodePool,omitempty" name:"AddToNodePool"`
+
+ // 节点池id
+ NodePoolId *string `json:"NodePoolId,omitempty" name:"NodePoolId"`
+
+ // 是否继承节点池相关配置
+ InheritConfigurationFromNodePool *bool `json:"InheritConfigurationFromNodePool,omitempty" name:"InheritConfigurationFromNodePool"`
+}
+
+type PrometheusAgentOverview struct {
+
+ // 集群类型
+ ClusterType *string `json:"ClusterType,omitempty" name:"ClusterType"`
+
+ // 集群id
+ ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
+
+ // agent状态
+ // normal = 正常
+ // abnormal = 异常
+ Status *string `json:"Status,omitempty" name:"Status"`
+
+ // 集群名称
+ ClusterName *string `json:"ClusterName,omitempty" name:"ClusterName"`
+}
+
+type PrometheusAlertRule struct {
+
+ // 规则名称
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // prometheus语句
+ Rule *string `json:"Rule,omitempty" name:"Rule"`
+
+ // 额外标签
+ Labels []*Label `json:"Labels,omitempty" name:"Labels" list`
+
+ // 告警发送模板
+ Template *string `json:"Template,omitempty" name:"Template"`
+
+ // 持续时间
+ For *string `json:"For,omitempty" name:"For"`
+
+ // 该条规则的描述信息
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Describe *string `json:"Describe,omitempty" name:"Describe"`
+}
+
+type PrometheusAlertRuleDetail struct {
+
+ // 规则名称
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 规则列表
+ Rules []*PrometheusAlertRule `json:"Rules,omitempty" name:"Rules" list`
+
+ // 最后修改时间
+ UpdatedAt *string `json:"UpdatedAt,omitempty" name:"UpdatedAt"`
+
+ // 告警渠道
+ Notification *PrometheusNotification `json:"Notification,omitempty" name:"Notification"`
+
+ // 告警 id
+ Id *string `json:"Id,omitempty" name:"Id"`
+
+ // 如果该告警来至模板下发,则TemplateId为模板id
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TemplateId *string `json:"TemplateId,omitempty" name:"TemplateId"`
+}
+
+type PrometheusConfigItem struct {
+
+ // 名称
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 配置内容
+ Config *string `json:"Config,omitempty" name:"Config"`
+
+ // 用于出参,如果该配置来至模板,则为模板id
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TemplateId *string `json:"TemplateId,omitempty" name:"TemplateId"`
+}
+
+type PrometheusInstanceOverview struct {
+
+ // 实例id
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+
+ // 实例名称
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 实例vpcId
+ VpcId *string `json:"VpcId,omitempty" name:"VpcId"`
+
+ // 实例子网Id
+ SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"`
+
+ // 实例当前的状态
+ // prepare_env = 初始化环境
+ // install_suit = 安装组件
+ // running = 运行中
+ Status *string `json:"Status,omitempty" name:"Status"`
+
+ // COS桶存储
+ COSBucket *string `json:"COSBucket,omitempty" name:"COSBucket"`
+}
+
+type PrometheusJobTargets struct {
+
+ // 该Job的targets列表
+ Targets []*PrometheusTarget `json:"Targets,omitempty" name:"Targets" list`
+
+ // job的名称
+ JobName *string `json:"JobName,omitempty" name:"JobName"`
+
+ // targets总数
+ Total *uint64 `json:"Total,omitempty" name:"Total"`
+
+ // 健康的target总数
+ Up *uint64 `json:"Up,omitempty" name:"Up"`
+}
+
+type PrometheusNotification struct {
+
+ // 是否启用
+ Enabled *bool `json:"Enabled,omitempty" name:"Enabled"`
+
+ // 收敛时间
+ RepeatInterval *string `json:"RepeatInterval,omitempty" name:"RepeatInterval"`
+
+ // 生效起始时间
+ TimeRangeStart *string `json:"TimeRangeStart,omitempty" name:"TimeRangeStart"`
+
+ // 生效结束时间
+ TimeRangeEnd *string `json:"TimeRangeEnd,omitempty" name:"TimeRangeEnd"`
+
+ // 告警通知方式。目前有SMS、EMAIL、CALL、WECHAT方式。
+ // 分别代表:短信、邮件、电话、微信
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ NotifyWay []*string `json:"NotifyWay,omitempty" name:"NotifyWay" list`
+
+ // 告警接收组(用户组)
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ReceiverGroups []*uint64 `json:"ReceiverGroups,omitempty" name:"ReceiverGroups" list`
+
+ // 电话告警顺序。
+ // 注:NotifyWay选择CALL,采用该参数。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PhoneNotifyOrder []*uint64 `json:"PhoneNotifyOrder,omitempty" name:"PhoneNotifyOrder" list`
+
+ // 电话告警次数。
+ // 注:NotifyWay选择CALL,采用该参数。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PhoneCircleTimes *int64 `json:"PhoneCircleTimes,omitempty" name:"PhoneCircleTimes"`
+
+ // 电话告警轮内间隔。单位:秒
+ // 注:NotifyWay选择CALL,采用该参数。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PhoneInnerInterval *int64 `json:"PhoneInnerInterval,omitempty" name:"PhoneInnerInterval"`
+
+ // 电话告警轮外间隔。单位:秒
+ // 注:NotifyWay选择CALL,采用该参数。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PhoneCircleInterval *int64 `json:"PhoneCircleInterval,omitempty" name:"PhoneCircleInterval"`
+
+ // 电话告警触达通知
+ // 注:NotifyWay选择CALL,采用该参数。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PhoneArriveNotice *bool `json:"PhoneArriveNotice,omitempty" name:"PhoneArriveNotice"`
+
+ // 通道类型,默认为amp,支持以下
+ // amp
+ // webhook
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Type *string `json:"Type,omitempty" name:"Type"`
+
+ // 如果Type为webhook, 则该字段为必填项
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ WebHook *string `json:"WebHook,omitempty" name:"WebHook"`
+}
+
+type PrometheusTarget struct {
+
+ // 抓取目标的URL
+ Url *string `json:"Url,omitempty" name:"Url"`
+
+ // target当前状态,当前支持
+ // up = 健康
+ // down = 不健康
+ // unknown = 未知
+ State *string `json:"State,omitempty" name:"State"`
+
+ // target的元label
+ Labels []*Label `json:"Labels,omitempty" name:"Labels" list`
+
+ // 上一次抓取的时间
+ LastScrape *string `json:"LastScrape,omitempty" name:"LastScrape"`
+
+ // 上一次抓取的耗时,单位是s
+ ScrapeDuration *float64 `json:"ScrapeDuration,omitempty" name:"ScrapeDuration"`
+
+ // 上一次抓取如果错误,该字段存储错误信息
+ Error *string `json:"Error,omitempty" name:"Error"`
+}
+
+type PrometheusTemplate struct {
+
+ // 模板名称
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 模板维度,支持以下类型
+ // instance 实例级别
+ // cluster 集群级别
+ Level *string `json:"Level,omitempty" name:"Level"`
+
+ // 模板描述
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Describe *string `json:"Describe,omitempty" name:"Describe"`
+
+ // 当Level为instance时有效,
+ // 模板中的告警配置列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AlertRules []*PrometheusAlertRule `json:"AlertRules,omitempty" name:"AlertRules" list`
+
+ // 当Level为instance时有效,
+ // 模板中的聚合规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ RecordRules []*PrometheusConfigItem `json:"RecordRules,omitempty" name:"RecordRules" list`
+
+ // 当Level为cluster时有效,
+ // 模板中的ServiceMonitor规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ServiceMonitors []*PrometheusConfigItem `json:"ServiceMonitors,omitempty" name:"ServiceMonitors" list`
+
+ // 当Level为cluster时有效,
+ // 模板中的PodMonitors规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PodMonitors []*PrometheusConfigItem `json:"PodMonitors,omitempty" name:"PodMonitors" list`
+
+ // 当Level为cluster时有效,
+ // 模板中的RawJobs规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ RawJobs []*PrometheusConfigItem `json:"RawJobs,omitempty" name:"RawJobs" list`
+
+ // 模板的ID, 用于出参
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TemplateId *string `json:"TemplateId,omitempty" name:"TemplateId"`
+
+ // 最近更新时间,用于出参
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UpdateTime *string `json:"UpdateTime,omitempty" name:"UpdateTime"`
+
+ // 当前版本,用于出参
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Version *string `json:"Version,omitempty" name:"Version"`
+
+ // 是否系统提供的默认模板,用于出参
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ IsDefault *bool `json:"IsDefault,omitempty" name:"IsDefault"`
+
+ // 当Level为instance时有效,
+ // 模板中的告警配置列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AlertDetailRules []*PrometheusAlertRuleDetail `json:"AlertDetailRules,omitempty" name:"AlertDetailRules" list`
+}
+
+type PrometheusTemplateModify struct {
+
+ // 修改名称
+ Name *string `json:"Name,omitempty" name:"Name"`
+
+ // 修改描述
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Describe *string `json:"Describe,omitempty" name:"Describe"`
+
+ // 修改内容,只有当模板类型是Alert时生效
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AlertRules []*PrometheusAlertRule `json:"AlertRules,omitempty" name:"AlertRules" list`
+
+ // 当Level为instance时有效,
+ // 模板中的聚合规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ RecordRules []*PrometheusConfigItem `json:"RecordRules,omitempty" name:"RecordRules" list`
+
+ // 当Level为cluster时有效,
+ // 模板中的ServiceMonitor规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ServiceMonitors []*PrometheusConfigItem `json:"ServiceMonitors,omitempty" name:"ServiceMonitors" list`
+
+ // 当Level为cluster时有效,
+ // 模板中的PodMonitors规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ PodMonitors []*PrometheusConfigItem `json:"PodMonitors,omitempty" name:"PodMonitors" list`
+
+ // 当Level为cluster时有效,
+ // 模板中的RawJobs规则列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ RawJobs []*PrometheusConfigItem `json:"RawJobs,omitempty" name:"RawJobs" list`
+
+ // 修改内容,只有当模板类型是Alert时生效
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ AlertDetailRules []*PrometheusAlertRuleDetail `json:"AlertDetailRules,omitempty" name:"AlertDetailRules" list`
+}
+
+type PrometheusTemplateSyncTarget struct {
+
+ // 目标所在地域
+ Region *string `json:"Region,omitempty" name:"Region"`
+
+ // 目标实例
+ InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+
+ // 集群id,只有当采集模板的Level为cluster的时候需要
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
+
+ // 最后一次同步时间, 用于出参
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ SyncTime *string `json:"SyncTime,omitempty" name:"SyncTime"`
+
+ // 当前使用的模板版本,用于出参
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Version *string `json:"Version,omitempty" name:"Version"`
+
+ // 集群类型,只有当采集模板的Level为cluster的时候需要
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ClusterType *string `json:"ClusterType,omitempty" name:"ClusterType"`
+
+ // 用于出参,实例名称
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"`
+
+ // 用于出参,集群名称
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ClusterName *string `json:"ClusterName,omitempty" name:"ClusterName"`
}
type RegionInstance struct {
@@ -2746,6 +3609,43 @@ type RunSecurityServiceEnabled struct {
Enabled *bool `json:"Enabled,omitempty" name:"Enabled"`
}
+type SyncPrometheusTemplateRequest struct {
+ *tchttp.BaseRequest
+
+ // 实例id
+ TemplateId *string `json:"TemplateId,omitempty" name:"TemplateId"`
+
+ // 同步目标
+ Targets []*PrometheusTemplateSyncTarget `json:"Targets,omitempty" name:"Targets" list`
+}
+
+func (r *SyncPrometheusTemplateRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *SyncPrometheusTemplateRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type SyncPrometheusTemplateResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *SyncPrometheusTemplateResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *SyncPrometheusTemplateResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type Tag struct {
// 标签键
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717/client.go
index 524f720826..3703bf9018 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717/client.go
@@ -296,7 +296,7 @@ func NewCreateContentReviewTemplateResponse() (response *CreateContentReviewTemp
return
}
-// 创建用户自定义视频内容审核模板,数量上限:50。
+// 创建用户自定义视频内容智能识别模板,数量上限:50。
func (c *Client) CreateContentReviewTemplate(request *CreateContentReviewTemplateRequest) (response *CreateContentReviewTemplateResponse, err error) {
if request == nil {
request = NewCreateContentReviewTemplateRequest()
@@ -371,7 +371,7 @@ func NewCreatePersonSampleResponse() (response *CreatePersonSampleResponse) {
return
}
-// 该接口用于创建人物样本,用于通过人脸识别等技术,进行内容识别、内容审核等视频处理。
+// 该接口用于创建素材样本,用于通过五官定位等技术,进行内容识别、不适宜视频识别等视频处理。
func (c *Client) CreatePersonSample(request *CreatePersonSampleRequest) (response *CreatePersonSampleResponse, err error) {
if request == nil {
request = NewCreatePersonSampleRequest()
@@ -571,7 +571,7 @@ func NewCreateWordSamplesResponse() (response *CreateWordSamplesResponse) {
return
}
-// 该接口用于批量创建关键词样本,样本用于通过OCR、ASR技术,进行内容审核、内容识别等视频处理。
+// 该接口用于批量创建关键词样本,样本用于通过OCR、ASR技术,进行不适宜内容识别、内容识别等视频处理。
func (c *Client) CreateWordSamples(request *CreateWordSamplesRequest) (response *CreateWordSamplesResponse, err error) {
if request == nil {
request = NewCreateWordSamplesRequest()
@@ -724,7 +724,7 @@ func NewDeleteContentReviewTemplateResponse() (response *DeleteContentReviewTemp
return
}
-// 删除用户自定义视频内容审核模板。
+// 删除用户自定义视频内容智能识别模板。
func (c *Client) DeleteContentReviewTemplate(request *DeleteContentReviewTemplateRequest) (response *DeleteContentReviewTemplateResponse, err error) {
if request == nil {
request = NewDeleteContentReviewTemplateRequest()
@@ -825,7 +825,7 @@ func NewDeletePersonSampleResponse() (response *DeletePersonSampleResponse) {
return
}
-// 该接口用于根据人物 ID,删除人物样本。
+// 该接口用于根据人物 ID,删除素材样本。
func (c *Client) DeletePersonSample(request *DeletePersonSampleRequest) (response *DeletePersonSampleResponse, err error) {
if request == nil {
request = NewDeletePersonSampleRequest()
@@ -1236,7 +1236,7 @@ func NewDescribeContentReviewTemplatesResponse() (response *DescribeContentRevie
return
}
-// 根据视频内容审核模板唯一标识,获取视频内容审核模板详情列表。返回结果包含符合条件的所有用户自定义模板及[系统预置内容审核模板](https://cloud.tencent.com/document/product/266/33476#.E9.A2.84.E7.BD.AE.E8.A7.86.E9.A2.91.E5.86.85.E5.AE.B9.E5.AE.A1.E6.A0.B8.E6.A8.A1.E6.9D.BF)。
+// 根据视频内容智能识别模板唯一标识,获取视频内容智能识别模板详情列表。返回结果包含符合条件的所有用户自定义模板及[系统预置内容智能识别模板](https://cloud.tencent.com/document/product/266/33476#.E9.A2.84.E7.BD.AE.E8.A7.86.E9.A2.91.E5.86.85.E5.AE.B9.E5.AE.A1.E6.A0.B8.E6.A8.A1.E6.9D.BF)。
func (c *Client) DescribeContentReviewTemplates(request *DescribeContentReviewTemplatesRequest) (response *DescribeContentReviewTemplatesResponse, err error) {
if request == nil {
request = NewDescribeContentReviewTemplatesRequest()
@@ -1246,6 +1246,38 @@ func (c *Client) DescribeContentReviewTemplates(request *DescribeContentReviewTe
return
}
+func NewDescribeDailyPlayStatFileListRequest() (request *DescribeDailyPlayStatFileListRequest) {
+ request = &DescribeDailyPlayStatFileListRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("vod", APIVersion, "DescribeDailyPlayStatFileList")
+ return
+}
+
+func NewDescribeDailyPlayStatFileListResponse() (response *DescribeDailyPlayStatFileListResponse) {
+ response = &DescribeDailyPlayStatFileListResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 该接口用于查询播放统计文件的下载地址。
+// * 可以查询最近30天的播放统计文件下载地址。
+// * 云点播每天对前一天的 CDN 请求日志进行分析处理,生成播放统计文件。
+// * 播放统计文件内容包含媒体文件的播放次数、播放流量等统计信息。
+// * 播放次数统计说明:
+// 1. HLS 文件:访问M3U8 文件时统计播放次数;访问TS 文件不统计播放次数。
+// 2. 其它文件文件(如 MP4 文件):播放请求带有 range 参数且 range 的 start 参数不等于0时不统计播放次数,其它情况统计播放次数。
+// * 播放设备的统计:播放请求带了 UserAgent 参数,并且 UserAgent 包含 Android 或者 iPhone 等标识,会统计为移动端播放次数,否则统计为 PC 端播放次数。
+func (c *Client) DescribeDailyPlayStatFileList(request *DescribeDailyPlayStatFileListRequest) (response *DescribeDailyPlayStatFileListResponse, err error) {
+ if request == nil {
+ request = NewDescribeDailyPlayStatFileListRequest()
+ }
+ response = NewDescribeDailyPlayStatFileListResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDescribeEventsStateRequest() (request *DescribeEventsStateRequest) {
request = &DescribeEventsStateRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -1398,7 +1430,7 @@ func NewDescribePersonSamplesResponse() (response *DescribePersonSamplesResponse
return
}
-// 该接口用于查询人物样本信息,支持根据人物 ID、名称、标签,分页查询。
+// 该接口用于查询素材样本信息,支持根据素材 ID、名称、标签,分页查询。
func (c *Client) DescribePersonSamples(request *DescribePersonSamplesRequest) (response *DescribePersonSamplesResponse, err error) {
if request == nil {
request = NewDescribePersonSamplesRequest()
@@ -1450,9 +1482,9 @@ func NewDescribeReviewDetailsResponse() (response *DescribeReviewDetailsResponse
// 本接口已不推荐使用,用 [DescribeMediaProcessUsageData](/document/product/266/41464) 替代
//
-// 该接口返回查询时间范围内每天使用的视频内容审核时长数据,单位: 秒。
+// 该接口返回查询时间范围内每天使用的视频内容智能识别时长数据,单位: 秒。
//
-// 1. 可以查询最近365天内的视频内容审核时长统计数据。
+// 1. 可以查询最近365天内的视频内容智能识别时长统计数据。
// 2. 查询时间跨度不超过90天。
func (c *Client) DescribeReviewDetails(request *DescribeReviewDetailsRequest) (response *DescribeReviewDetailsResponse, err error) {
if request == nil {
@@ -1882,6 +1914,31 @@ func (c *Client) LiveRealTimeClip(request *LiveRealTimeClipRequest) (response *L
return
}
+func NewManageTaskRequest() (request *ManageTaskRequest) {
+ request = &ManageTaskRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("vod", APIVersion, "ManageTask")
+ return
+}
+
+func NewManageTaskResponse() (response *ManageTaskResponse) {
+ response = &ManageTaskResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 对已发起的任务进行管理。
+func (c *Client) ManageTask(request *ManageTaskRequest) (response *ManageTaskResponse, err error) {
+ if request == nil {
+ request = NewManageTaskRequest()
+ }
+ response = NewManageTaskResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewModifyAIAnalysisTemplateRequest() (request *ModifyAIAnalysisTemplateRequest) {
request = &ModifyAIAnalysisTemplateRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -2024,7 +2081,7 @@ func NewModifyContentReviewTemplateResponse() (response *ModifyContentReviewTemp
return
}
-// 修改用户自定义视频内容审核模板。
+// 修改用户自定义视频内容智能识别模板。
func (c *Client) ModifyContentReviewTemplate(request *ModifyContentReviewTemplateRequest) (response *ModifyContentReviewTemplateResponse, err error) {
if request == nil {
request = NewModifyContentReviewTemplateRequest()
@@ -2099,7 +2156,7 @@ func NewModifyPersonSampleResponse() (response *ModifyPersonSampleResponse) {
return
}
-// 该接口用于根据人物 ID,修改人物样本信息,包括名称、描述的修改,以及人脸、标签的添加、删除、重置操作。人脸删除操作需保证至少剩余 1 张图片,否则,请使用重置操作。
+// 该接口用于根据素材 ID,修改素材样本信息,包括名称、描述的修改,以及五官、标签的添加、删除、重置操作。五官删除操作需保证至少剩余 1 张图片,否则,请使用重置操作。
func (c *Client) ModifyPersonSample(request *ModifyPersonSampleRequest) (response *ModifyPersonSampleResponse, err error) {
if request == nil {
request = NewModifyPersonSampleRequest()
@@ -2636,6 +2693,31 @@ func (c *Client) SimpleHlsClip(request *SimpleHlsClipRequest) (response *SimpleH
return
}
+func NewSplitMediaRequest() (request *SplitMediaRequest) {
+ request = &SplitMediaRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("vod", APIVersion, "SplitMedia")
+ return
+}
+
+func NewSplitMediaResponse() (response *SplitMediaResponse) {
+ response = &SplitMediaResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 对点播视频进行拆条,生成多个新的点播视频。
+func (c *Client) SplitMedia(request *SplitMediaRequest) (response *SplitMediaResponse, err error) {
+ if request == nil {
+ request = NewSplitMediaRequest()
+ }
+ response = NewSplitMediaResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewWeChatMiniProgramPublishRequest() (request *WeChatMiniProgramPublishRequest) {
request = &WeChatMiniProgramPublishRequest{
BaseRequest: &tchttp.BaseRequest{},
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717/models.go
index 0c14801c97..12bd613b90 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717/models.go
@@ -2608,24 +2608,24 @@ func (r *CreateClassResponse) FromJsonString(s string) error {
type CreateContentReviewTemplateRequest struct {
*tchttp.BaseRequest
- // 审核结果是否进入审核墙(对审核结果进行人工复核)的开关。
+ // 智能识别结果是否进入智能识别墙(对识别结果进行人工复核)的开关。
// ON:是;
// OFF:否。
ReviewWallSwitch *string `json:"ReviewWallSwitch,omitempty" name:"ReviewWallSwitch"`
- // 内容审核模板名称,长度限制:64 个字符。
+ // 内容智能识别模板名称,长度限制:64 个字符。
Name *string `json:"Name,omitempty" name:"Name"`
- // 内容审核模板描述信息,长度限制:256 个字符。
+ // 内容智能识别模板描述信息,长度限制:256 个字符。
Comment *string `json:"Comment,omitempty" name:"Comment"`
- // 鉴黄控制参数。
+ // 令人反感的信息的控制参数。
PornConfigure *PornConfigureInfo `json:"PornConfigure,omitempty" name:"PornConfigure"`
- // 鉴恐控制参数。
+ // 令人不安全的信息的控制参数。
TerrorismConfigure *TerrorismConfigureInfo `json:"TerrorismConfigure,omitempty" name:"TerrorismConfigure"`
- // 鉴政控制参数。
+ // 令人不适宜的控制参数。
PoliticalConfigure *PoliticalConfigureInfo `json:"PoliticalConfigure,omitempty" name:"PoliticalConfigure"`
// 违禁控制参数。违禁内容包括:
@@ -2633,7 +2633,7 @@ type CreateContentReviewTemplateRequest struct {
// 涉毒违法。
ProhibitedConfigure *ProhibitedConfigureInfo `json:"ProhibitedConfigure,omitempty" name:"ProhibitedConfigure"`
- // 用户自定义内容审核控制参数。
+ // 用户自定义内容智能识别控制参数。
UserDefineConfigure *UserDefineConfigureInfo `json:"UserDefineConfigure,omitempty" name:"UserDefineConfigure"`
// 截帧间隔,单位为秒。当不填时,默认截帧间隔为 1 秒,最小值为 0.5 秒。
@@ -2656,7 +2656,7 @@ type CreateContentReviewTemplateResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 内容审核模板唯一标识。
+ // 内容智能识别模板唯一标识。
Definition *int64 `json:"Definition,omitempty" name:"Definition"`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@@ -2839,23 +2839,23 @@ func (r *CreateImageSpriteTemplateResponse) FromJsonString(s string) error {
type CreatePersonSampleRequest struct {
*tchttp.BaseRequest
- // 人物名称,长度限制:20 个字符。
+ // 素材名称,长度限制:20 个字符。
Name *string `json:"Name,omitempty" name:"Name"`
- // 人物应用场景,可选值:
+ // 素材应用场景,可选值:
// 1. Recognition:用于内容识别,等价于 Recognition.Face。
- // 2. Review:用于内容审核,等价于 Review.Face。
- // 3. All:用于内容识别、内容审核,等价于 1+2。
+ // 2. Review:用于内容不适宜,等价于 Review.Face。
+ // 3. All:包含以上全部,等价于 1+2。
Usages []*string `json:"Usages,omitempty" name:"Usages" list`
- // 人物描述,长度限制:1024 个字符。
+ // 素材描述,长度限制:1024 个字符。
Description *string `json:"Description,omitempty" name:"Description"`
- // 人脸图片 [Base64](https://tools.ietf.org/html/rfc4648) 编码后的字符串,仅支持 jpeg、png 图片格式。数组长度限制:5 张图片。
- // 注意:图片必须是单人像正面人脸较清晰的照片,像素不低于 200*200。
+ // 素材图片 [Base64](https://tools.ietf.org/html/rfc4648) 编码后的字符串,仅支持 jpeg、png 图片格式。数组长度限制:5 张图片。
+ // 注意:图片必须是单人像五官较清晰的照片,像素不低于 200*200。
FaceContents []*string `json:"FaceContents,omitempty" name:"FaceContents" list`
- // 人物标签
+ // 素材标签
// 数组长度限制:20 个标签;
// 单个标签长度限制:128 个字符。
Tags []*string `json:"Tags,omitempty" name:"Tags" list`
@@ -2877,10 +2877,10 @@ type CreatePersonSampleResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 人物信息。
+ // 素材信息。
Person *AiSamplePerson `json:"Person,omitempty" name:"Person"`
- // 处理失败的人脸信息。
+ // 处理失败的五官定位信息。
FailFaceInfoSet []*AiSampleFailFaceInfo `json:"FailFaceInfoSet,omitempty" name:"FailFaceInfoSet" list`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@@ -3377,13 +3377,13 @@ type CreateWordSamplesRequest struct {
// 关键词应用场景,可选值:
// 1. Recognition.Ocr:通过光学字符识别技术,进行内容识别;
- // 2. Recognition.Asr:通过语音识别技术,进行内容识别;
- // 3. Review.Ocr:通过光学字符识别技术,进行内容审核;
- // 4. Review.Asr:通过语音识别技术,进行内容审核;
+ // 2. Recognition.Asr:通过音频识别技术,进行内容识别;
+ // 3. Review.Ocr:通过光学字符识别技术,进行不适宜内容识别;
+ // 4. Review.Asr:通过音频识别技术,进行不适宜内容识别;
// 可合并简写为:
- // 5. Recognition:通过光学字符识别技术、语音识别技术,进行内容识别,等价于 1+2;
- // 6. Review:通过光学字符识别技术、语音识别技术,进行内容审核,等价于 3+4;
- // 7. All:通过光学字符识别技术、语音识别技术,进行内容识别、内容审核,等价于 1+2+3+4。
+ // 5. Recognition:通过光学字符识别技术、音频识别技术,进行内容识别,等价于 1+2;
+ // 6. Review:通过光学字符识别技术、音频识别技术,进行不适宜内容识别,等价于 3+4;
+ // 7. All:通过光学字符识别技术、音频识别技术,进行内容识别、不适宜内容识别,等价于 1+2+3+4。
Usages []*string `json:"Usages,omitempty" name:"Usages" list`
// 关键词,数组长度限制:100。
@@ -3608,7 +3608,7 @@ func (r *DeleteClassResponse) FromJsonString(s string) error {
type DeleteContentReviewTemplateRequest struct {
*tchttp.BaseRequest
- // 内容审核模板唯一标识。
+ // 内容智能识别模板唯一标识。
Definition *int64 `json:"Definition,omitempty" name:"Definition"`
// 点播[子应用](/document/product/266/14574) ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。
@@ -3759,7 +3759,7 @@ func (r *DeleteMediaResponse) FromJsonString(s string) error {
type DeletePersonSampleRequest struct {
*tchttp.BaseRequest
- // 人物 ID。
+ // 素材 ID。
PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
// 点播[子应用](/document/product/266/14574) ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。
@@ -4533,7 +4533,7 @@ func (r *DescribeCdnLogsResponse) FromJsonString(s string) error {
type DescribeContentReviewTemplatesRequest struct {
*tchttp.BaseRequest
- // 内容审核模板唯一标识过滤条件,数组长度限制:100。
+ // 内容智能识别模板唯一标识过滤条件,数组长度限制:100。
Definitions []*int64 `json:"Definitions,omitempty" name:"Definitions" list`
// 分页偏移量,默认值:0。
@@ -4562,7 +4562,7 @@ type DescribeContentReviewTemplatesResponse struct {
// 符合过滤条件的记录总数。
TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
- // 内容审核模板详情列表。
+ // 内容智能识别模板详情列表。
ContentReviewTemplateSet []*ContentReviewTemplateItem `json:"ContentReviewTemplateSet,omitempty" name:"ContentReviewTemplateSet" list`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@@ -4579,6 +4579,49 @@ func (r *DescribeContentReviewTemplatesResponse) FromJsonString(s string) error
return json.Unmarshal([]byte(s), &r)
}
+type DescribeDailyPlayStatFileListRequest struct {
+ *tchttp.BaseRequest
+
+ // 起始日期,使用 [ISO 日期格式](https://cloud.tencent.com/document/product/266/11732#I)。
+ StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
+
+ // 结束日期,使用 [ISO 日期格式](https://cloud.tencent.com/document/product/266/11732#I)。
+ EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
+
+ // 点播[子应用](/document/product/266/14574) ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。
+ SubAppId *uint64 `json:"SubAppId,omitempty" name:"SubAppId"`
+}
+
+func (r *DescribeDailyPlayStatFileListRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeDailyPlayStatFileListRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type DescribeDailyPlayStatFileListResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 播放统计文件列表。
+ PlayStatFileSet []*PlayStatFileInfo `json:"PlayStatFileSet,omitempty" name:"PlayStatFileSet" list`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *DescribeDailyPlayStatFileListResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *DescribeDailyPlayStatFileListResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type DescribeEventsStateRequest struct {
*tchttp.BaseRequest
@@ -4835,21 +4878,21 @@ func (r *DescribeMediaProcessUsageDataResponse) FromJsonString(s string) error {
type DescribePersonSamplesRequest struct {
*tchttp.BaseRequest
- // 拉取的人物类型,可选值:
- // UserDefine:用户自定义人物库;
- // Default:系统默认人物库。
+ // 拉取的素材类型,可选值:
+ // UserDefine:用户自定义素材库;
+ // Default:系统默认素材库。
//
- // 默认值:UserDefine,拉取用户自定义人物库人物。
- // 说明:如果是拉取系统默认人物库,只能使用人物名字或者人物 ID + 人物名字的方式进行拉取,且人脸图片只返回一张。
+ // 默认值:UserDefine,拉取用户自定义素材库素材。
+ // 说明:如果是拉取系统默认素材库,只能使用素材名字或者素材 ID + 素材名字的方式进行拉取,且五官图片只返回一张。
Type *string `json:"Type,omitempty" name:"Type"`
- // 人物 ID,数组长度限制:100。
+ // 素材 ID,数组长度限制:100。
PersonIds []*string `json:"PersonIds,omitempty" name:"PersonIds" list`
- // 人物名称,数组长度限制:20。
+ // 素材名称,数组长度限制:20。
Names []*string `json:"Names,omitempty" name:"Names" list`
- // 人物标签,数组长度限制:20。
+ // 素材标签,数组长度限制:20。
Tags []*string `json:"Tags,omitempty" name:"Tags" list`
// 分页偏移量,默认值:0。
@@ -4975,13 +5018,13 @@ type DescribeReviewDetailsResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 发起内容审核次数。
+ // 发起内容智能识别次数。
TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
- // 内容审核总时长。
+ // 内容智能识别总时长。
TotalDuration *int64 `json:"TotalDuration,omitempty" name:"TotalDuration"`
- // 内容审核时长统计数据,每天一个数据。
+ // 内容智能识别时长统计数据,每天一个数据。
Data []*StatDataItem `json:"Data,omitempty" name:"Data" list`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@@ -5221,6 +5264,12 @@ func (r *DescribeStorageDetailsResponse) FromJsonString(s string) error {
type DescribeSubAppIdsRequest struct {
*tchttp.BaseRequest
+ // 分页拉取的最大返回结果数。默认值:200;最大值:200。
+ Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+
+ // 分页拉取的起始偏移量。默认值:0。
+ Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+
// 标签信息,查询指定标签的子应用列表。
Tags []*ResourceTag `json:"Tags,omitempty" name:"Tags" list`
}
@@ -5241,6 +5290,9 @@ type DescribeSubAppIdsResponse struct {
// 子应用信息集合。
SubAppIdInfoSet []*SubAppIdInfo `json:"SubAppIdInfoSet,omitempty" name:"SubAppIdInfoSet" list`
+ // 子应用总数量。
+ TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
@@ -5335,9 +5387,10 @@ type DescribeTaskDetailResponse struct {
// 任务类型,取值:
// Procedure:视频处理任务;
// EditMedia:视频编辑任务;
+ // SplitMedia:视频拆条任务;
+ // ComposeMedia:制作媒体文件任务;
// WechatPublish:微信发布任务;
// WechatMiniProgramPublish:微信小程序视频发布任务;
- // ComposeMedia:制作媒体文件任务;
// PullUpload:拉取上传媒体文件任务。
//
// 兼容 2017 版的任务类型:
@@ -5379,6 +5432,14 @@ type DescribeTaskDetailResponse struct {
// 注意:此字段可能返回 null,表示取不到有效值。
ComposeMediaTask *ComposeMediaTask `json:"ComposeMediaTask,omitempty" name:"ComposeMediaTask"`
+ // 视频拆条任务信息,仅当 TaskType 为 SplitMedia,该字段有值。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ SplitMediaTask *SplitMediaTask `json:"SplitMediaTask,omitempty" name:"SplitMediaTask"`
+
+ // 微信小程序发布任务信息,仅当 TaskType 为 WechatMiniProgramPublish,该字段有值。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ WechatMiniProgramPublishTask *WechatMiniProgramPublishTask `json:"WechatMiniProgramPublishTask,omitempty" name:"WechatMiniProgramPublishTask"`
+
// 拉取上传媒体文件任务信息,仅当 TaskType 为 PullUpload,该字段有值。
// 注意:此字段可能返回 null,表示取不到有效值。
PullUploadTask *PullUploadTask `json:"PullUploadTask,omitempty" name:"PullUploadTask"`
@@ -5387,10 +5448,6 @@ type DescribeTaskDetailResponse struct {
// 注意:此字段可能返回 null,表示取不到有效值。
TranscodeTask *TranscodeTask2017 `json:"TranscodeTask,omitempty" name:"TranscodeTask"`
- // 视频指定时间点截图任务信息,仅当 TaskType 为 SnapshotByTimeOffset,该字段有值。
- // 注意:此字段可能返回 null,表示取不到有效值。
- SnapshotByTimeOffsetTask *SnapshotByTimeOffsetTask2017 `json:"SnapshotByTimeOffsetTask,omitempty" name:"SnapshotByTimeOffsetTask"`
-
// 视频拼接任务信息,仅当 TaskType 为 Concat,该字段有值。
// 注意:此字段可能返回 null,表示取不到有效值。
ConcatTask *ConcatTask2017 `json:"ConcatTask,omitempty" name:"ConcatTask"`
@@ -5403,9 +5460,9 @@ type DescribeTaskDetailResponse struct {
// 注意:此字段可能返回 null,表示取不到有效值。
CreateImageSpriteTask *CreateImageSpriteTask2017 `json:"CreateImageSpriteTask,omitempty" name:"CreateImageSpriteTask"`
- // 微信小程序发布任务信息,仅当 TaskType 为 WechatMiniProgramPublish,该字段有值。
+ // 视频指定时间点截图任务信息,仅当 TaskType 为 SnapshotByTimeOffset,该字段有值。
// 注意:此字段可能返回 null,表示取不到有效值。
- WechatMiniProgramPublishTask *WechatMiniProgramPublishTask `json:"WechatMiniProgramPublishTask,omitempty" name:"WechatMiniProgramPublishTask"`
+ SnapshotByTimeOffsetTask *SnapshotByTimeOffsetTask2017 `json:"SnapshotByTimeOffsetTask,omitempty" name:"SnapshotByTimeOffsetTask"`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
@@ -5601,12 +5658,12 @@ type DescribeWordSamplesRequest struct {
// 关键词应用场景过滤条件,可选值:
// 1. Recognition.Ocr:通过光学字符识别技术,进行内容识别;
- // 2. Recognition.Asr:通过语音识别技术,进行内容识别;
- // 3. Review.Ocr:通过光学字符识别技术,进行内容审核;
- // 4. Review.Asr:通过语音识别技术,进行内容审核;
+ // 2. Recognition.Asr:通过音频识别技术,进行内容识别;
+ // 3. Review.Ocr:通过光学字符识别技术,进行不适宜的内容识别;
+ // 4. Review.Asr:通过音频识别技术,进行不适宜的内容识别;
// 可合并简写为:
- // 5. Recognition:通过光学字符识别技术、语音识别技术,进行内容识别,等价于 1+2;
- // 6. Review:通过光学字符识别技术、语音识别技术,进行内容审核,等价于 3+4;
+ // 5. Recognition:通过光学字符识别技术、音频识别技术,进行内容识别,等价于 1+2;
+ // 6. Review:通过光学字符识别技术、音频识别技术,进行不适宜的内容识别,等价于 3+4;
// 可多选,元素间关系为 or,即关键词的应用场景包含该字段集合中任意元素的记录,均符合该条件。
Usages []*string `json:"Usages,omitempty" name:"Usages" list`
@@ -5868,6 +5925,7 @@ type EventContent struct {
// FileDeleted:视频删除完成;
// PullComplete:视频转拉完成;
// EditMediaComplete:视频编辑完成;
+ // SplitMediaComplete:视频拆分完成;
// WechatPublishComplete:微信发布完成;
// ComposeMediaComplete:制作媒体文件完成;
// WechatMiniProgramPublishComplete:微信小程序发布完成。
@@ -5899,33 +5957,37 @@ type EventContent struct {
// 注意:此字段可能返回 null,表示取不到有效值。
EditMediaCompleteEvent *EditMediaTask `json:"EditMediaCompleteEvent,omitempty" name:"EditMediaCompleteEvent"`
- // 微信发布完成事件,当事件类型为 WechatPublishComplete 时有效。
- // 注意:此字段可能返回 null,表示取不到有效值。
- WechatPublishCompleteEvent *WechatPublishTask `json:"WechatPublishCompleteEvent,omitempty" name:"WechatPublishCompleteEvent"`
-
- // 视频转码完成事件,当事件类型为 TranscodeComplete 时有效。
+ // 视频拆条完成事件,当事件类型为 SplitMediaComplete 时有效。
// 注意:此字段可能返回 null,表示取不到有效值。
- TranscodeCompleteEvent *TranscodeTask2017 `json:"TranscodeCompleteEvent,omitempty" name:"TranscodeCompleteEvent"`
+ SplitMediaCompleteEvent *SplitMediaTask `json:"SplitMediaCompleteEvent,omitempty" name:"SplitMediaCompleteEvent"`
- // 视频拼接完成事件,当事件类型为 ConcatComplete 时有效。
+ // 制作媒体文件任务完成事件,当事件类型为 ComposeMediaComplete 时有效。
// 注意:此字段可能返回 null,表示取不到有效值。
- ConcatCompleteEvent *ConcatTask2017 `json:"ConcatCompleteEvent,omitempty" name:"ConcatCompleteEvent"`
+ ComposeMediaCompleteEvent *ComposeMediaTask `json:"ComposeMediaCompleteEvent,omitempty" name:"ComposeMediaCompleteEvent"`
// 视频剪辑完成事件,当事件类型为 ClipComplete 时有效。
// 注意:此字段可能返回 null,表示取不到有效值。
ClipCompleteEvent *ClipTask2017 `json:"ClipCompleteEvent,omitempty" name:"ClipCompleteEvent"`
+ // 视频转码完成事件,当事件类型为 TranscodeComplete 时有效。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ TranscodeCompleteEvent *TranscodeTask2017 `json:"TranscodeCompleteEvent,omitempty" name:"TranscodeCompleteEvent"`
+
// 视频截取雪碧图完成事件,当事件类型为 CreateImageSpriteComplete 时有效。
// 注意:此字段可能返回 null,表示取不到有效值。
CreateImageSpriteCompleteEvent *CreateImageSpriteTask2017 `json:"CreateImageSpriteCompleteEvent,omitempty" name:"CreateImageSpriteCompleteEvent"`
+ // 视频拼接完成事件,当事件类型为 ConcatComplete 时有效。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ConcatCompleteEvent *ConcatTask2017 `json:"ConcatCompleteEvent,omitempty" name:"ConcatCompleteEvent"`
+
// 视频按时间点截图完成事件,当事件类型为 CreateSnapshotByTimeOffsetComplete 时有效。
// 注意:此字段可能返回 null,表示取不到有效值。
SnapshotByTimeOffsetCompleteEvent *SnapshotByTimeOffsetTask2017 `json:"SnapshotByTimeOffsetCompleteEvent,omitempty" name:"SnapshotByTimeOffsetCompleteEvent"`
- // 制作媒体文件任务完成事件,当事件类型为 ComposeMediaComplete 时有效。
+ // 微信发布完成事件,当事件类型为 WechatPublishComplete 时有效。
// 注意:此字段可能返回 null,表示取不到有效值。
- ComposeMediaCompleteEvent *ComposeMediaTask `json:"ComposeMediaCompleteEvent,omitempty" name:"ComposeMediaCompleteEvent"`
+ WechatPublishCompleteEvent *WechatPublishTask `json:"WechatPublishCompleteEvent,omitempty" name:"WechatPublishCompleteEvent"`
// 微信小程序发布任务完成事件,当事件类型为 WechatMiniProgramPublishComplete 时有效。
// 注意:此字段可能返回 null,表示取不到有效值。
@@ -6456,6 +6518,47 @@ func (r *LiveRealTimeClipResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type ManageTaskRequest struct {
+ *tchttp.BaseRequest
+
+ // 视频处理的任务 ID。
+ TaskId *string `json:"TaskId,omitempty" name:"TaskId"`
+
+ // 操作类型,取值范围:
+ // Abort:终止任务。只能终止已发起且状态为等待中(WAITING)的任务。
+ OperationType *string `json:"OperationType,omitempty" name:"OperationType"`
+
+ // 点播[子应用](/document/product/266/14574) ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。
+ SubAppId *uint64 `json:"SubAppId,omitempty" name:"SubAppId"`
+}
+
+func (r *ManageTaskRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ManageTaskRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type ManageTaskResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *ManageTaskResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *ManageTaskResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type MediaAdaptiveDynamicStreamingInfo struct {
// 转自适应码流信息数组。
@@ -7227,6 +7330,9 @@ type MediaProcessTaskTranscodeResult struct {
// 转码任务的输出。
// 注意:此字段可能返回 null,表示取不到有效值。
Output *MediaTranscodeItem `json:"Output,omitempty" name:"Output"`
+
+ // 转码进度,取值范围 [0-100] 。
+ Progress *int64 `json:"Progress,omitempty" name:"Progress"`
}
type MediaSampleSnapshotInfo struct {
@@ -7718,22 +7824,22 @@ func (r *ModifyClassResponse) FromJsonString(s string) error {
type ModifyContentReviewTemplateRequest struct {
*tchttp.BaseRequest
- // 内容审核模板唯一标识。
+ // 内容智能识别模板唯一标识。
Definition *int64 `json:"Definition,omitempty" name:"Definition"`
- // 内容审核模板名称,长度限制:64 个字符。
+ // 内容智能识别模板名称,长度限制:64 个字符。
Name *string `json:"Name,omitempty" name:"Name"`
- // 内容审核模板描述信息,长度限制:256 个字符。
+ // 内容智能识别模板描述信息,长度限制:256 个字符。
Comment *string `json:"Comment,omitempty" name:"Comment"`
- // 鉴黄控制参数。
- PornConfigure *PornConfigureInfoForUpdate `json:"PornConfigure,omitempty" name:"PornConfigure"`
-
- // 鉴恐控制参数。
+ // 令人不安全的信息的控制参数。
TerrorismConfigure *TerrorismConfigureInfoForUpdate `json:"TerrorismConfigure,omitempty" name:"TerrorismConfigure"`
- // 鉴政控制参数。
+ // 令人反感的信息的控制参数。
+ PornConfigure *PornConfigureInfoForUpdate `json:"PornConfigure,omitempty" name:"PornConfigure"`
+
+ // 令人不适宜的信息控制参数。
PoliticalConfigure *PoliticalConfigureInfoForUpdate `json:"PoliticalConfigure,omitempty" name:"PoliticalConfigure"`
// 违禁控制参数。违禁内容包括:
@@ -7741,13 +7847,13 @@ type ModifyContentReviewTemplateRequest struct {
// 涉毒违法。
ProhibitedConfigure *ProhibitedConfigureInfoForUpdate `json:"ProhibitedConfigure,omitempty" name:"ProhibitedConfigure"`
- // 用户自定义内容审核控制参数。
+ // 用户自定义内容智能识别控制参数。
UserDefineConfigure *UserDefineConfigureInfoForUpdate `json:"UserDefineConfigure,omitempty" name:"UserDefineConfigure"`
// 截帧间隔,单位为秒,最小值为 0.5 秒。
ScreenshotInterval *float64 `json:"ScreenshotInterval,omitempty" name:"ScreenshotInterval"`
- // 审核结果是否进入审核墙(对审核结果进行人工复核)的开关。
+ // 智能识别结果是否进入智能识别墙(对智能识别结果进行人工识别)的开关。
// ON:是;
// OFF:否。
ReviewWallSwitch *string `json:"ReviewWallSwitch,omitempty" name:"ReviewWallSwitch"`
@@ -7939,7 +8045,7 @@ func (r *ModifyMediaInfoResponse) FromJsonString(s string) error {
type ModifyPersonSampleRequest struct {
*tchttp.BaseRequest
- // 人物 ID。
+ // 素材 ID。
PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
// 名称,长度限制:128 个字符。
@@ -7948,13 +8054,13 @@ type ModifyPersonSampleRequest struct {
// 描述,长度限制:1024 个字符。
Description *string `json:"Description,omitempty" name:"Description"`
- // 人物应用场景,可选值:
+ // 素材应用场景,可选值:
// 1. Recognition:用于内容识别,等价于 Recognition.Face。
- // 2. Review:用于内容审核,等价于 Review.Face。
- // 3. All:用于内容识别、内容审核,等价于 1+2。
+ // 2. Review:用于不适宜的内容识别,等价于 Review.Face。
+ // 3. All:用于内容识别、不适宜的内容识别,等价于 1+2。
Usages []*string `json:"Usages,omitempty" name:"Usages" list`
- // 人脸操作信息。
+ // 五官操作信息。
FaceOperationInfo *AiSampleFaceOperation `json:"FaceOperationInfo,omitempty" name:"FaceOperationInfo"`
// 标签操作信息。
@@ -7977,10 +8083,10 @@ type ModifyPersonSampleResponse struct {
*tchttp.BaseResponse
Response *struct {
- // 人物信息。
+ // 素材信息。
Person *AiSamplePerson `json:"Person,omitempty" name:"Person"`
- // 处理失败的人脸信息。
+ // 处理失败的五官信息。
// 注意:此字段可能返回 null,表示取不到有效值。
FailFaceInfoSet []*AiSampleFailFaceInfo `json:"FailFaceInfoSet,omitempty" name:"FailFaceInfoSet" list`
@@ -8452,13 +8558,13 @@ type ModifyWordSampleRequest struct {
// 关键词应用场景,可选值:
// 1. Recognition.Ocr:通过光学字符识别技术,进行内容识别;
- // 2. Recognition.Asr:通过语音识别技术,进行内容识别;
- // 3. Review.Ocr:通过光学字符识别技术,进行内容审核;
- // 4. Review.Asr:通过语音识别技术,进行内容审核;
+ // 2. Recognition.Asr:通过音频识别技术,进行内容识别;
+ // 3. Review.Ocr:通过光学字符识别技术,进行不适宜的内容识别;
+ // 4. Review.Asr:通过音频识别技术,进行不适宜的内容识别;
// 可合并简写为:
- // 5. Recognition:通过光学字符识别技术、语音识别技术,进行内容识别,等价于 1+2;
- // 6. Review:通过光学字符识别技术、语音识别技术,进行内容审核,等价于 3+4;
- // 7. All:通过光学字符识别技术、语音识别技术,进行内容识别、内容审核,等价于 1+2+3+4。
+ // 5. Recognition:通过光学字符识别技术、音频识别技术,进行内容识别,等价于 1+2;
+ // 6. Review:通过光学字符识别技术、音频识别技术,进行不适宜的内容识别,等价于 3+4;
+ // 7. All:包含以上全部,等价于 1+2+3+4。
Usages []*string `json:"Usages,omitempty" name:"Usages" list`
// 标签操作信息。
@@ -8685,6 +8791,25 @@ func (r *ParseStreamingManifestResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+type PlayStatFileInfo struct {
+
+ // 播放统计数据所属日期,使用 [ISO 日期格式](https://cloud.tencent.com/document/product/266/11732#I)。
+ Date *string `json:"Date,omitempty" name:"Date"`
+
+ // 播放统计文件的 URL 地址。播放统计文件内容为:
+ // date:播放日期。
+ // file_id:视频文件 ID。
+ // ip_count:去重后的客户端 IP 数。
+ // flux:播放流量,单位:字节。
+ // play_times:总的播放次数。
+ // pc_play_times:PC 端播放次数。
+ // mobile_play_times:移动端播放次数。
+ // iphone_play_times:iPhone 端播放次数。
+ // android_play_times:Android 端播放次数。
+ // host_name 域名。
+ Url *string `json:"Url,omitempty" name:"Url"`
+}
+
type PlayerConfig struct {
// 播放器配置名字。
@@ -10029,6 +10154,161 @@ type SpecificationDataItem struct {
Data []*TaskStatDataItem `json:"Data,omitempty" name:"Data" list`
}
+type SplitMediaOutputConfig struct {
+
+ // 输出文件名,最长 64 个字符。缺省由系统指定生成文件名。
+ MediaName *string `json:"MediaName,omitempty" name:"MediaName"`
+
+ // 输出文件格式,可选值:mp4、hls。默认是 mp4。
+ Type *string `json:"Type,omitempty" name:"Type"`
+
+ // 分类ID,用于对媒体进行分类管理,可通过 [创建分类](/document/product/266/7812) 接口,创建分类,获得分类 ID。
+ // 默认值:0,表示其他分类。
+ ClassId *int64 `json:"ClassId,omitempty" name:"ClassId"`
+
+ // 输出文件的过期时间,超过该时间文件将被删除,默认为永久不过期,格式按照 ISO 8601标准表示,详见 [ISO 日期格式说明](https://cloud.tencent.com/document/product/266/11732#I)。
+ ExpireTime *string `json:"ExpireTime,omitempty" name:"ExpireTime"`
+}
+
+type SplitMediaRequest struct {
+ *tchttp.BaseRequest
+
+ // 视频的 ID。
+ FileId *string `json:"FileId,omitempty" name:"FileId"`
+
+ // 视频拆条任务信息列表,最多同时支持100个拆条信息。
+ Segments []*SplitMediaTaskConfig `json:"Segments,omitempty" name:"Segments" list`
+
+ // 标识来源上下文,用于透传用户请求信息,在 SplitMediaComplete 回调和任务流状态变更回调将返回该字段值,最长 1000个字符。
+ SessionContext *string `json:"SessionContext,omitempty" name:"SessionContext"`
+
+ // 用于任务去重的识别码,如果三天内曾有过相同的识别码的请求,则本次的请求会返回错误。最长 50 个字符,不带或者带空字符串表示不做去重。
+ SessionId *string `json:"SessionId,omitempty" name:"SessionId"`
+
+ // 任务的优先级,数值越大优先级越高,取值范围是 -10 到 10,不填代表 0。
+ TasksPriority *int64 `json:"TasksPriority,omitempty" name:"TasksPriority"`
+
+ // 点播[子应用](/document/product/266/14574) ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。
+ SubAppId *uint64 `json:"SubAppId,omitempty" name:"SubAppId"`
+}
+
+func (r *SplitMediaRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *SplitMediaRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type SplitMediaResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 视频拆条的任务 ID,可以通过该 ID 查询拆条任务(任务类型为 SplitMedia)的状态。
+ TaskId *string `json:"TaskId,omitempty" name:"TaskId"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *SplitMediaResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *SplitMediaResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type SplitMediaTask struct {
+
+ // 任务 ID。
+ TaskId *string `json:"TaskId,omitempty" name:"TaskId"`
+
+ // 任务流状态,取值:
+ // PROCESSING:处理中;
+ // FINISH:已完成。
+ Status *string `json:"Status,omitempty" name:"Status"`
+
+ // 错误码,空字符串表示成功,其他值表示失败,取值请参考 [视频处理类错误码](https://cloud.tencent.com/document/product/266/50368#.E8.A7.86.E9.A2.91.E5.A4.84.E7.90.86.E7.B1.BB.E9.94.99.E8.AF.AF.E7.A0.81) 列表。
+ ErrCodeExt *string `json:"ErrCodeExt,omitempty" name:"ErrCodeExt"`
+
+ // 错误码,0 表示成功,其他值表示失败(该字段已不推荐使用,建议使用新的错误码字段 ErrCodeExt)。
+ ErrCode *int64 `json:"ErrCode,omitempty" name:"ErrCode"`
+
+ // 错误信息。
+ Message *string `json:"Message,omitempty" name:"Message"`
+
+ // 视频拆条任务详细信息列表。
+ FileInfoSet []*SplitMediaTaskSegmentInfo `json:"FileInfoSet,omitempty" name:"FileInfoSet" list`
+
+ // 来源上下文,用于透传用户请求信息,任务流状态变更回调将返回该字段值,最长 1000 个字符。
+ SessionContext *string `json:"SessionContext,omitempty" name:"SessionContext"`
+
+ // 用于去重的识别码,如果七天内曾有过相同的识别码的请求,则本次的请求会返回错误。最长 50 个字符,不带或者带空字符串表示不做去重。
+ SessionId *string `json:"SessionId,omitempty" name:"SessionId"`
+}
+
+type SplitMediaTaskConfig struct {
+
+ // 视频拆条起始的偏移时间,单位:秒。
+ // 不填或填0,表示转码后的视频从原始视频的起始位置开始;
+ // 当数值大于0时(假设为 n),表示转码后的视频从原始视频的第 n 秒位置开始;
+ // 当数值小于0时(假设为 -n),表示转码后的视频从原始视频结束 n 秒前的位置开始。
+ StartTimeOffset *float64 `json:"StartTimeOffset,omitempty" name:"StartTimeOffset"`
+
+ // 视频拆条结束的偏移时间,单位:秒。
+ // 不填或填0,表示转码后的视频持续到原始视频的末尾终止;
+ // 当数值大于0时(假设为 n),表示转码后的视频持续到原始视频第 n 秒时终止;
+ // 当数值小于0时(假设为 -n),表示转码后的视频持续到原始视频结束 n 秒前终止。
+ EndTimeOffset *float64 `json:"EndTimeOffset,omitempty" name:"EndTimeOffset"`
+
+ // [任务流模板](/document/product/266/11700#.E4.BB.BB.E5.8A.A1.E6.B5.81.E6.A8.A1.E6.9D.BF)名字,如果要对生成的新视频执行任务流时填写。
+ ProcedureName *string `json:"ProcedureName,omitempty" name:"ProcedureName"`
+
+ // 视频拆条输出信息。
+ OutputConfig *SplitMediaOutputConfig `json:"OutputConfig,omitempty" name:"OutputConfig"`
+}
+
+type SplitMediaTaskInput struct {
+
+ // 视频的 ID。
+ FileId *string `json:"FileId,omitempty" name:"FileId"`
+
+ // 视频拆条起始的偏移时间,单位:秒。
+ // 不填或填0,表示转码后的视频从原始视频的起始位置开始;
+ // 当数值大于0时(假设为 n),表示转码后的视频从原始视频的第 n 秒位置开始;
+ // 当数值小于0时(假设为 -n),表示转码后的视频从原始视频结束 n 秒前的位置开始。
+ StartTimeOffset *float64 `json:"StartTimeOffset,omitempty" name:"StartTimeOffset"`
+
+ // 视频拆条结束的偏移时间,单位:秒。
+ // 不填或填0,表示转码后的视频持续到原始视频的末尾终止;
+ // 当数值大于0时(假设为 n),表示转码后的视频持续到原始视频第 n 秒时终止;
+ // 当数值小于0时(假设为 -n),表示转码后的视频持续到原始视频结束 n 秒前终止。
+ EndTimeOffset *float64 `json:"EndTimeOffset,omitempty" name:"EndTimeOffset"`
+
+ // [任务流模板](/document/product/266/11700#.E4.BB.BB.E5.8A.A1.E6.B5.81.E6.A8.A1.E6.9D.BF)名字,如果要对生成的新视频执行任务流时填写。
+ ProcedureName *string `json:"ProcedureName,omitempty" name:"ProcedureName"`
+
+ // 视频拆条输出信息。
+ OutputConfig *SplitMediaOutputConfig `json:"OutputConfig,omitempty" name:"OutputConfig"`
+}
+
+type SplitMediaTaskSegmentInfo struct {
+
+ // 视频拆条任务输入信息。
+ Input *SplitMediaTaskInput `json:"Input,omitempty" name:"Input"`
+
+ // 视频拆条任务输出信息。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ Output *TaskOutputMediaInfo `json:"Output,omitempty" name:"Output"`
+
+ // 若发起视频拆条任务时指定了视频处理流程,则该字段为流程任务 ID。
+ ProcedureTaskId *string `json:"ProcedureTaskId,omitempty" name:"ProcedureTaskId"`
+}
+
type StatDataItem struct {
// 数据所在时间区间的开始时间,使用 [ISO 日期格式](https://cloud.tencent.com/document/product/266/11732#I)。如:当时间粒度为天,2018-12-01T00:00:00+08:00,表示2018年12月1日(含)到2018年12月2日(不含)区间。
@@ -10230,6 +10510,15 @@ type TagConfigureInfoForUpdate struct {
Switch *string `json:"Switch,omitempty" name:"Switch"`
}
+type TaskOutputMediaInfo struct {
+
+ // 媒体文件 ID。
+ FileId *string `json:"FileId,omitempty" name:"FileId"`
+
+ // 转拉完成后生成的媒体文件基础信息。
+ MediaBasicInfo *MediaBasicInfo `json:"MediaBasicInfo,omitempty" name:"MediaBasicInfo"`
+}
+
type TaskSimpleInfo struct {
// 任务 ID。
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go
index e8f7d6c893..261171397f 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go
@@ -628,6 +628,31 @@ func (c *Client) CheckNetDetectState(request *CheckNetDetectStateRequest) (respo
return
}
+func NewCloneSecurityGroupRequest() (request *CloneSecurityGroupRequest) {
+ request = &CloneSecurityGroupRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+ request.Init().WithApiInfo("vpc", APIVersion, "CloneSecurityGroup")
+ return
+}
+
+func NewCloneSecurityGroupResponse() (response *CloneSecurityGroupResponse) {
+ response = &CloneSecurityGroupResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+}
+
+// 本接口(CloneSecurityGroup)用于根据存量的安全组,克隆创建出同样规则配置的安全组。仅克隆安全组及其规则信息,不会克隆安全组标签信息。
+func (c *Client) CloneSecurityGroup(request *CloneSecurityGroupRequest) (response *CloneSecurityGroupResponse, err error) {
+ if request == nil {
+ request = NewCloneSecurityGroupRequest()
+ }
+ response = NewCloneSecurityGroupResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewCreateAddressTemplateRequest() (request *CreateAddressTemplateRequest) {
request = &CreateAddressTemplateRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -827,7 +852,7 @@ func NewCreateDefaultSecurityGroupResponse() (response *CreateDefaultSecurityGro
// 本接口(CreateDefaultSecurityGroup)用于创建(如果项目下未存在默认安全组,则创建;已存在则获取。)默认安全组(SecurityGroup)。
// * 每个账户下每个地域的每个项目的安全组数量限制。
-// * 新建的安全组的入站和出站规则默认都是全部拒绝,在创建后通常您需要再调用CreateSecurityGroupPolicies将安全组的规则设置为需要的规则。
+// * 默认安全组会放通所有IPv4规则,在创建后通常您需要再调用CreateSecurityGroupPolicies将安全组的规则设置为需要的规则。
// * 创建安全组同时可以绑定标签, 应答里的标签列表代表添加成功的标签。
func (c *Client) CreateDefaultSecurityGroup(request *CreateDefaultSecurityGroupRequest) (response *CreateDefaultSecurityGroupResponse, err error) {
if request == nil {
@@ -1439,8 +1464,8 @@ func NewCreateVpcResponse() (response *CreateVpcResponse) {
}
// 本接口(CreateVpc)用于创建私有网络(VPC)。
-// * 用户可以创建的最小网段子网掩码为28(有16个IP地址),最大网段子网掩码为16(65,536个IP地址),如果规划VPC网段请参见VPC网段规划说明。
-// * 同一个地域能创建的VPC资源个数也是有限制的,详见 VPC使用限制,如果需要扩充请联系在线客服。
+// * 用户可以创建的最小网段子网掩码为28(有16个IP地址),最大网段子网掩码为16(65,536个IP地址),如果需要规划VPC网段请参见[网络规划](https://cloud.tencent.com/document/product/215/30313)。
+// * 同一个地域能创建的VPC资源个数也是有限制的,详见 VPC使用限制,如果需要申请更多资源,请提交[工单申请](https://console.cloud.tencent.com/workorder/category)。
// * 创建VPC同时可以绑定标签, 应答里的标签列表代表添加成功的标签。
func (c *Client) CreateVpc(request *CreateVpcRequest) (response *CreateVpcResponse, err error) {
if request == nil {
@@ -2786,7 +2811,7 @@ func NewDescribeGatewayFlowMonitorDetailResponse() (response *DescribeGatewayFlo
}
// 本接口(DescribeGatewayFlowMonitorDetail)用于查询网关流量监控明细。
-// * 只支持单个网关实例查询。即入参 `VpnId` `DirectConnectGatewayId` `PeeringConnectionId` `NatId` 最多只支持传一个,且必须传一个。
+// * 只支持单个网关实例查询。即入参 `VpnId`、 `DirectConnectGatewayId`、 `PeeringConnectionId`、 `NatId` 最多只支持传一个,且必须传一个。
// * 如果网关有流量,但调用本接口没有返回数据,请在控制台对应网关详情页确认是否开启网关流量监控。
func (c *Client) DescribeGatewayFlowMonitorDetail(request *DescribeGatewayFlowMonitorDetailRequest) (response *DescribeGatewayFlowMonitorDetailResponse, err error) {
if request == nil {
@@ -2938,7 +2963,7 @@ func NewDescribeIpGeolocationDatabaseUrlResponse() (response *DescribeIpGeolocat
return
}
-// 该接口用于获取ip地理位置库下载链接
+// 本接口(DescribeIpGeolocationDatabaseUrl)用于获取IP地理位置库下载链接。
func (c *Client) DescribeIpGeolocationDatabaseUrl(request *DescribeIpGeolocationDatabaseUrlRequest) (response *DescribeIpGeolocationDatabaseUrlResponse, err error) {
if request == nil {
request = NewDescribeIpGeolocationDatabaseUrlRequest()
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go
index a0c2e880cb..9cc0a87719 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go
@@ -379,6 +379,9 @@ type AllocateIp6AddressesBandwidthRequest struct {
// 网络计费模式。IPV6当前对标准账户类型支持"TRAFFIC_POSTPAID_BY_HOUR",对传统账户类型支持"BANDWIDTH_PACKAGE"。默认网络计费模式是"TRAFFIC_POSTPAID_BY_HOUR"。
InternetChargeType *string `json:"InternetChargeType,omitempty" name:"InternetChargeType"`
+
+ // 带宽包id,上移账号,申请带宽包计费模式的ipv6地址需要传入.
+ BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"`
}
func (r *AllocateIp6AddressesBandwidthRequest) ToJsonString() string {
@@ -1364,6 +1367,56 @@ type ClassicLinkInstance struct {
InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
}
+type CloneSecurityGroupRequest struct {
+ *tchttp.BaseRequest
+
+ // 安全组实例ID,例如sg-33ocnj9n,可通过DescribeSecurityGroups获取。
+ SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"`
+
+ // 安全组名称,可任意命名,但不得超过60个字符。未提供参数时,克隆后的安全组名称和SecurityGroupId对应的安全组名称相同。
+ GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
+
+ // 安全组备注,最多100个字符。未提供参数时,克隆后的安全组备注和SecurityGroupId对应的安全组备注相同。
+ GroupDescription *string `json:"GroupDescription,omitempty" name:"GroupDescription"`
+
+ // 项目ID,默认0。可在qcloud控制台项目管理页面查询到。
+ ProjectId *string `json:"ProjectId,omitempty" name:"ProjectId"`
+
+ // 源Region,跨地域克隆安全组时,需要传入源安全组所属地域信息,例如:克隆广州的安全组到上海,则这里需要传入广州安全的地域信息:ap-guangzhou。
+ RemoteRegion *string `json:"RemoteRegion,omitempty" name:"RemoteRegion"`
+}
+
+func (r *CloneSecurityGroupRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *CloneSecurityGroupRequest) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+type CloneSecurityGroupResponse struct {
+ *tchttp.BaseResponse
+ Response *struct {
+
+ // 安全组对象。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ SecurityGroup *SecurityGroup `json:"SecurityGroup,omitempty" name:"SecurityGroup"`
+
+ // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ } `json:"Response"`
+}
+
+func (r *CloneSecurityGroupResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func (r *CloneSecurityGroupResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
type ConflictItem struct {
// 冲突资源的ID
@@ -1760,10 +1813,10 @@ func (r *CreateDefaultSecurityGroupResponse) FromJsonString(s string) error {
type CreateDefaultVpcRequest struct {
*tchttp.BaseRequest
- // 子网所在的可用区ID,不指定将随机选择可用区
+ // 子网所在的可用区,该参数可通过[DescribeZones](https://cloud.tencent.com/document/product/213/15707)接口获取,例如ap-guangzhou-1,不指定时将随机选择可用区。
Zone *string `json:"Zone,omitempty" name:"Zone"`
- // 是否强制返回默认VPC
+ // 是否强制返回默认VPC。
Force *bool `json:"Force,omitempty" name:"Force"`
}
@@ -2738,19 +2791,19 @@ type CreateVpcRequest struct {
// vpc名称,最大长度不能超过60个字节。
VpcName *string `json:"VpcName,omitempty" name:"VpcName"`
- // vpc的cidr,只能为10.0.0.0/16,172.16.0.0/16,192.168.0.0/16这三个内网网段内。
+ // vpc的cidr,仅能在10.0.0.0/16,172.16.0.0/16,192.168.0.0/16这三个内网网段内。
CidrBlock *string `json:"CidrBlock,omitempty" name:"CidrBlock"`
// 是否开启组播。true: 开启, false: 不开启。
EnableMulticast *string `json:"EnableMulticast,omitempty" name:"EnableMulticast"`
- // DNS地址,最多支持4个
+ // DNS地址,最多支持4个。
DnsServers []*string `json:"DnsServers,omitempty" name:"DnsServers" list`
- // 域名
+ // DHCP使用的域名。
DomainName *string `json:"DomainName,omitempty" name:"DomainName"`
- // 指定绑定的标签列表,例如:[{"Key": "city", "Value": "shanghai"}]
+ // 指定绑定的标签列表,例如:[{"Key": "city", "Value": "shanghai"}]。
Tags []*Tag `json:"Tags,omitempty" name:"Tags" list`
}
@@ -2848,7 +2901,7 @@ func (r *CreateVpnConnectionResponse) FromJsonString(s string) error {
type CreateVpnGatewayRequest struct {
*tchttp.BaseRequest
- // VPC实例ID。可通过DescribeVpcs接口返回值中的VpcId获取。
+ // VPC实例ID。可通过[DescribeVpcs](https://cloud.tencent.com/document/product/215/15778)接口返回值中的VpcId获取。
VpcId *string `json:"VpcId,omitempty" name:"VpcId"`
// VPN网关名称,最大长度不能超过60个字节。
@@ -5464,7 +5517,7 @@ func (r *DescribeIp6TranslatorsResponse) FromJsonString(s string) error {
type DescribeIpGeolocationDatabaseUrlRequest struct {
*tchttp.BaseRequest
- // ip地址库协议类型,目前支持"ipv4"和"ipv6"。
+ // IP地理位置库协议类型,目前支持"ipv4"和"ipv6"。
Type *string `json:"Type,omitempty" name:"Type"`
}
@@ -5481,7 +5534,7 @@ type DescribeIpGeolocationDatabaseUrlResponse struct {
*tchttp.BaseResponse
Response *struct {
- // IP地址库下载链接地址
+ // IP地理位置库下载链接地址。
DownLoadUrl *string `json:"DownLoadUrl,omitempty" name:"DownLoadUrl"`
// 链接到期时间。按照`ISO8601`标准表示,并且使用`UTC`时间。
@@ -7221,10 +7274,10 @@ type DisableRoutesRequest struct {
// 路由表唯一ID。
RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"`
- // 路由策略ID。不能和RouteItemIds同时使用。
+ // 路由策略ID。不能和RouteItemIds同时使用,但至少输入一个。该参数取值可通过查询路由列表([DescribeRouteTables](https://cloud.tencent.com/document/product/215/15763))获取。
RouteIds []*uint64 `json:"RouteIds,omitempty" name:"RouteIds" list`
- // 路由策略唯一ID。不能和RouteIds同时使用。
+ // 路由策略唯一ID。不能和RouteIds同时使用,但至少输入一个。该参数取值可通过查询路由列表([DescribeRouteTables](https://cloud.tencent.com/document/product/215/15763))获取。
RouteItemIds []*string `json:"RouteItemIds,omitempty" name:"RouteItemIds" list`
}
@@ -7606,10 +7659,10 @@ type EnableRoutesRequest struct {
// 路由表唯一ID。
RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"`
- // 路由策略ID。不能和RouteItemIds同时使用。
+ // 路由策略ID。不能和RouteItemIds同时使用,但至少输入一个。该参数取值可通过查询路由列表([DescribeRouteTables](https://cloud.tencent.com/document/product/215/15763))获取。
RouteIds []*uint64 `json:"RouteIds,omitempty" name:"RouteIds" list`
- // 路由策略唯一ID。不能和RouteIds同时使用。
+ // 路由策略唯一ID。不能和RouteIds同时使用,但至少输入一个。该参数取值可通过查询路由列表([DescribeRouteTables](https://cloud.tencent.com/document/product/215/15763))获取。
RouteItemIds []*string `json:"RouteItemIds,omitempty" name:"RouteItemIds" list`
}
@@ -8611,10 +8664,10 @@ type ModifyAssistantCidrRequest struct {
// `VPC`实例`ID`。形如:`vpc-6v2ht8q5`
VpcId *string `json:"VpcId,omitempty" name:"VpcId"`
- // 待添加的负载CIDR。CIDR数组,格式如["10.0.0.0/16", "172.16.0.0/16"]
+ // 待添加的负载CIDR。CIDR数组,格式如["10.0.0.0/16", "172.16.0.0/16"],入参NewCidrBlocks和OldCidrBlocks至少需要其一。
NewCidrBlocks []*string `json:"NewCidrBlocks,omitempty" name:"NewCidrBlocks" list`
- // 待删除的负载CIDR。CIDR数组,格式如["10.0.0.0/16", "172.16.0.0/16"]
+ // 待删除的负载CIDR。CIDR数组,格式如["10.0.0.0/16", "172.16.0.0/16"],入参NewCidrBlocks和OldCidrBlocks至少需要其一。
OldCidrBlocks []*string `json:"OldCidrBlocks,omitempty" name:"OldCidrBlocks" list`
}
@@ -9177,6 +9230,12 @@ type ModifyNatGatewayAttributeRequest struct {
// NAT网关最大外网出带宽(单位:Mbps)。
InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"`
+
+ // 是否修改NAT网关绑定的安全组。
+ ModifySecurityGroup *bool `json:"ModifySecurityGroup,omitempty" name:"ModifySecurityGroup"`
+
+ // NAT网关绑定的安全组列表,最终状态,空列表表示删除所有安全组,形如: `['sg-1n232323', 'sg-o4242424']`
+ SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list`
}
func (r *ModifyNatGatewayAttributeRequest) ToJsonString() string {
@@ -9915,6 +9974,10 @@ type NatGateway struct {
// 标签键值对。
TagSet []*Tag `json:"TagSet,omitempty" name:"TagSet" list`
+
+ // NAT网关绑定的安全组列表
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ SecurityGroupSet []*string `json:"SecurityGroupSet,omitempty" name:"SecurityGroupSet" list`
}
type NatGatewayAddress struct {
@@ -11126,7 +11189,7 @@ type SecurityGroupAssociationStatistics struct {
// 云服务器实例数。
CVM *uint64 `json:"CVM,omitempty" name:"CVM"`
- // 数据库实例数。
+ // MySQL数据库实例数。
CDB *uint64 `json:"CDB,omitempty" name:"CDB"`
// 弹性网卡实例数。
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 40f24b9a01..bb84824ddd 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -525,7 +525,7 @@ github.com/stretchr/testify/mock
github.com/subosito/gotenv
# github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2
github.com/tdakkota/asciicheck
-# github.com/tencentcloud/tencentcloud-sdk-go v1.0.67
+# github.com/tencentcloud/tencentcloud-sdk-go v1.0.76
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway/v20180808
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam/v20190116
diff --git a/website/docs/r/kubernetes_as_scaling_group.html.markdown b/website/docs/r/kubernetes_as_scaling_group.html.markdown
index ca0d8776ef..2eca90b2bc 100644
--- a/website/docs/r/kubernetes_as_scaling_group.html.markdown
+++ b/website/docs/r/kubernetes_as_scaling_group.html.markdown
@@ -5,12 +5,14 @@ page_title: "TencentCloud: tencentcloud_kubernetes_as_scaling_group"
sidebar_current: "docs-tencentcloud-resource-kubernetes_as_scaling_group"
description: |-
Provide a resource to create an auto scaling group for kubernetes cluster.
+~> **NOTE:** It has been deprecated and replaced by `tencentcloud_cluster_node_pool`.
+~> **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application.
---
# tencentcloud_kubernetes_as_scaling_group
Provide a resource to create an auto scaling group for kubernetes cluster.
-
+~> **NOTE:** It has been deprecated and replaced by `tencentcloud_cluster_node_pool`.
~> **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application.
## Example Usage
diff --git a/website/docs/r/kubernetes_cluster.html.markdown b/website/docs/r/kubernetes_cluster.html.markdown
index a670742e72..c63f46aa51 100644
--- a/website/docs/r/kubernetes_cluster.html.markdown
+++ b/website/docs/r/kubernetes_cluster.html.markdown
@@ -12,6 +12,7 @@ description: |-
Provide a resource to create a kubernetes cluster.
~> **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application.
+~> **NOTE:** We recommend the usage of one cluster without worker config + node pool to manage cluster and nodes. It's a more flexible way than manage worker config with tencentcloud_kubernetes_cluster, tencentcloud_kubernetes_scale_worker or exist node management of `tencentcloud_kubernetes_attachment`. Cause some unchangeable parameters of `worker_config` may cause the whole cluster resource `force new`.
## Example Usage
@@ -209,7 +210,7 @@ The following arguments are supported:
* `claim_expired_seconds` - (Optional) Claim expired seconds to recycle ENI. This field can only set when field `network_type` is 'VPC-CNI'. `claim_expired_seconds` must greater or equal than 300 and less than 15768000.
* `cluster_as_enabled` - (Optional, ForceNew) Indicates whether to enable cluster node auto scaler.
* `cluster_cidr` - (Optional, ForceNew) A network address block of the cluster. Different from vpc cidr and cidr of other clusters within this vpc. Must be in 10./192.168/172.[16-31] segments.
-* `cluster_deploy_type` - (Optional, ForceNew) Deployment type of the cluster, the available values include: 'MANAGED_CLUSTER' and 'INDEPENDENT_CLUSTER', Default is 'MANAGED_CLUSTER'.
+* `cluster_deploy_type` - (Optional, ForceNew) Deployment type of the cluster, the available values include: 'MANAGED_CLUSTER' and 'INDEPENDENT_CLUSTER'. Default is 'MANAGED_CLUSTER'.
* `cluster_desc` - (Optional) Description of the cluster.
* `cluster_extra_args` - (Optional, ForceNew) Customized parameters for master component,such as kube-apiserver, kube-controller-manager, kube-scheduler.
* `cluster_internet` - (Optional) Open internet access or not.
diff --git a/website/docs/r/kubernetes_node_pool.html.markdown b/website/docs/r/kubernetes_node_pool.html.markdown
new file mode 100644
index 0000000000..8b46b3956c
--- /dev/null
+++ b/website/docs/r/kubernetes_node_pool.html.markdown
@@ -0,0 +1,167 @@
+---
+subcategory: "Tencent Kubernetes Engine(TKE)"
+layout: "tencentcloud"
+page_title: "TencentCloud: tencentcloud_kubernetes_node_pool"
+sidebar_current: "docs-tencentcloud-resource-kubernetes_node_pool"
+description: |-
+ Provide a resource to create an auto scaling group for kubernetes cluster.
+---
+
+# tencentcloud_kubernetes_node_pool
+
+Provide a resource to create an auto scaling group for kubernetes cluster.
+
+~> **NOTE:** We recommend the usage of one cluster without worker config + node pool to manage cluster and nodes. Its a more flexible way than manage worker config with tencentcloud_kubernetes_cluster, tencentcloud_kubernetes_scale_worker or exist node management of `tencentcloud_kubernetes_attachment`. Cause some unchangeable parameters of `worker_config` may cause the whole cluster resource `force new`.
+
+## Example Usage
+
+```hcl
+variable "availability_zone" {
+ default = "ap-guangzhou-3"
+}
+
+variable "cluster_cidr" {
+ default = "172.31.0.0/16"
+}
+
+data "tencentcloud_vpc_subnets" "vpc" {
+ is_default = true
+ availability_zone = var.availability_zone
+}
+
+variable "default_instance_type" {
+ default = "S1.SMALL1"
+}
+
+//this is the cluster with empty worker config
+resource "tencentcloud_kubernetes_cluster" "managed_cluster" {
+ vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
+ cluster_cidr = var.cluster_cidr
+ cluster_max_pod_num = 32
+ cluster_name = "tf-tke-unit-test"
+ cluster_desc = "test cluster desc"
+ cluster_max_service_num = 32
+ cluster_version = "1.18.4"
+ cluster_deploy_type = "MANAGED_CLUSTER"
+}
+
+//this is one example of managing node using node pool
+resource "tencentcloud_kubernetes_node_pool" "mynodepool" {
+ name = "mynodepool"
+ cluster_id = tencentcloud_kubernetes_cluster.managed_cluster.id
+ max_size = 6
+ min_size = 1
+ vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
+ subnet_ids = [data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id]
+ retry_policy = "INCREMENTAL_INTERVALS"
+ desired_capacity = 4
+ enable_auto_scale = true
+
+ auto_scaling_config {
+ instance_type = var.default_instance_type
+ system_disk_type = "CLOUD_PREMIUM"
+ system_disk_size = "50"
+ security_group_ids = ["sg-24vswocp"]
+
+ data_disk {
+ disk_type = "CLOUD_PREMIUM"
+ disk_size = 50
+ }
+
+ internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR"
+ password = "test123#"
+ enhanced_security_service = false
+ enhanced_monitor_service = false
+
+ }
+
+ labels = {
+ "test1" = "test1",
+ "test2" = "test2",
+ }
+
+ taints {
+ key = "test_taint"
+ value = "taint_value"
+ effect = "PreferNoSchedule"
+ }
+
+ node_config {
+ extra_args = [
+ "root-dir=/var/lib/kubelet"
+ ]
+ }
+}
+```
+
+## Argument Reference
+
+The following arguments are supported:
+
+* `auto_scaling_config` - (Required, ForceNew) Auto scaling config parameters.
+* `cluster_id` - (Required, ForceNew) ID of the cluster.
+* `max_size` - (Required) Maximum number of node.
+* `min_size` - (Required) Minimum number of node.
+* `name` - (Required, ForceNew) Name of the node pool. The name does not exceed 25 characters, and only supports Chinese, English, numbers, underscores, separators (`-`) and decimal points.
+* `node_config` - (Required) Node config.
+* `vpc_id` - (Required, ForceNew) ID of VPC network.
+* `delete_keep_instance` - (Optional) Indicate to keep the CVM instance when delete the node pool. Default is `true`.
+* `desired_capacity` - (Optional) Desired capacity ot the node. If `enable_auto_scale` is set `true`, this will be a computed parameter.
+* `enable_auto_scale` - (Optional) Indicate whether to enable auto scaling or not.
+* `labels` - (Optional) Labels of kubernetes node pool created nodes. The label key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/').
+* `node_os_type` - (Optional) The image version of the node. Valida values are `DOCKER_CUSTOMIZE` and `GENERAL`. Default is `GENERAL`. This parameter will only affect new nodes, not including the existing nodes.
+* `node_os` - (Optional) Operating system of the cluster, the available values include: `tlinux2.4x86_64`, `ubuntu18.04.1x86_64`, `ubuntu16.04.1 LTSx86_64`, `centos7.6.0_x64` and `centos7.2x86_64`. Default is 'tlinux2.4x86_64'. This parameter will only affect new nodes, not including the existing nodes.
+* `retry_policy` - (Optional, ForceNew) Available values for retry policies include `IMMEDIATE_RETRY` and `INCREMENTAL_INTERVALS`.
+* `subnet_ids` - (Optional, ForceNew) ID list of subnet, and for VPC it is required.
+* `taints` - (Optional) Taints of kubernetes node pool created nodes.
+
+The `auto_scaling_config` object supports the following:
+
+* `instance_type` - (Required, ForceNew) Specified types of CVM instance.
+* `data_disk` - (Optional, ForceNew) Configurations of data disk.
+* `enhanced_monitor_service` - (Optional, ForceNew) To specify whether to enable cloud monitor service. Default is TRUE.
+* `enhanced_security_service` - (Optional, ForceNew) To specify whether to enable cloud security service. Default is TRUE.
+* `internet_charge_type` - (Optional, ForceNew) Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`.
+* `key_ids` - (Optional, ForceNew) ID list of keys.
+* `password` - (Optional, ForceNew) Password to access.
+* `security_group_ids` - (Optional, ForceNew) Security groups to which a CVM instance belongs.
+* `system_disk_size` - (Optional, ForceNew) Volume of system disk in GB. Default is `50`.
+* `system_disk_type` - (Optional, ForceNew) Type of a CVM disk. Valid value: `CLOUD_PREMIUM` and `CLOUD_SSD`. Default is `CLOUD_PREMIUM`.
+
+The `data_disk` object supports the following:
+
+* `disk_size` - (Optional, ForceNew) Volume of disk in GB. Default is `0`.
+* `disk_type` - (Optional, ForceNew) Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD`.
+
+The `data_disk` object supports the following:
+
+* `disk_size` - (Optional, ForceNew) Volume of disk in GB. Default is `0`.
+* `disk_type` - (Optional, ForceNew) Types of disk. Valid value: `CLOUD_PREMIUM` and `CLOUD_SSD`.
+* `snapshot_id` - (Optional, ForceNew) Data disk snapshot ID.
+
+The `node_config` object supports the following:
+
+* `data_disk` - (Optional, ForceNew) Configurations of data disk.
+* `docker_graph_path` - (Optional, ForceNew) Docker graph path. Default is `/var/lib/docker`.
+* `extra_args` - (Optional, ForceNew) Custom parameter information related to the node. This is a white-list parameter.
+* `is_schedule` - (Optional, ForceNew) Indicate to schedule the adding node or not. Default is true.
+* `mount_target` - (Optional, ForceNew) Mount target. Default is not mounting.
+* `user_data` - (Optional, ForceNew) Base64-encoded User Data text, the length limit is 16KB.
+
+The `taints` object supports the following:
+
+* `effect` - (Required) Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`.
+* `key` - (Required) Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/').
+* `value` - (Required) Value of the taint.
+
+## Attributes Reference
+
+In addition to all arguments above, the following attributes are exported:
+
+* `id` - ID of the resource.
+* `auto_scaling_group_id` - The auto scaling group ID.
+* `launch_config_id` - The launch config ID.
+* `node_count` - The total node count.
+* `status` - Status of the node pool.
+
+
diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb
index 89a5731794..47faf95cff 100644
--- a/website/tencentcloud.erb
+++ b/website/tencentcloud.erb
@@ -1196,6 +1196,9 @@
tencentcloud_kubernetes_cluster_attachment
+
+ tencentcloud_kubernetes_node_pool
+
tencentcloud_kubernetes_scale_worker