diff --git a/.changelog/2799.txt b/.changelog/2799.txt new file mode 100644 index 0000000000..5b86946a71 --- /dev/null +++ b/.changelog/2799.txt @@ -0,0 +1,11 @@ +```release-note:new-resource +tencentcloud_cdwdoris_instance +``` + +```release-note:new-resource +tencentcloud_cdwdoris_workload_group +``` + +```release-note:new-data-source +tencentcloud_cdwdoris_instances +``` diff --git a/go.mod b/go.mod index 9ebed62567..b4010d43b7 100644 --- a/go.mod +++ b/go.mod @@ -46,7 +46,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.984 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.991 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.993 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.960 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692 @@ -306,6 +306,7 @@ require ( github.com/subosito/gotenv v1.4.1 // indirect github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect github.com/tdakkota/asciicheck v0.2.0 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris v1.0.993 // indirect github.com/tetafro/godot v1.4.11 // indirect github.com/tidwall/gjson v1.17.0 // indirect github.com/tidwall/match v1.1.1 // indirect diff --git a/go.sum b/go.sum index b2b15d54fa..bd264511a0 100644 --- a/go.sum +++ b/go.sum @@ -848,6 +848,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539 h1:0L6nZhT github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.539/go.mod h1:6Syk7W5fdDf0BLvX+RXL5obQ6unkt3Id4aN2QqVrV6U= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843 h1:3Xr3UPscUfi5jAzCtwQjDfDf4TPsbUxsCrDdHo6xIRI= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843/go.mod h1:XTZXr3hF0pPTd3jD/vm90FhJEOvILL3d2u43Q52xZX8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris v1.0.993 h1:b4EFXmAFslKvrFLogWXNQCAVDKG1/IZsR/L4sDmEbr8= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris v1.0.993/go.mod h1:uH80xTlhZC7HR4OjsUo/ZgD5h5MYo45WyW/msUFkXqU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772 h1:tn8b0VAqKV4cglYrubtwONiHfXhoyZSmYMmgL/oX/RU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772/go.mod h1:vkWjnf7Qvtesn0efpiaVj5mIQsQhomkA2keE2yskfmg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs v1.0.627 h1:nChNdoCUWQZciiJj3gRCWoHBO/8LituLQOdCRREIrS4= @@ -982,6 +984,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.984 h1:QLSx github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.984/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.991 h1:0Xg2IUktDgGsjBv82WTmTQdHZFRwS2XDUnuOHexCxVw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.991/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.993 h1:+iJMmF0q1MPyhLs0+J7CcJ47w/vq6ICsCxnV4gc0dKw= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.993/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860/go.mod h1:NZo1WplQcC314kMlCRUoy8NQju2BnolIJj7NAWgsuhY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8= diff --git a/tencentcloud/connectivity/client.go b/tencentcloud/connectivity/client.go index 962651a1b7..23e3be58b1 100644 --- a/tencentcloud/connectivity/client.go +++ b/tencentcloud/connectivity/client.go @@ -46,6 +46,7 @@ import ( cdb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb/v20170320" cdn "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606" cdwch "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch/v20200915" + cdwdoris "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228" cdwpg "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg/v20201230" cfs "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cfs/v20190719" chdfs "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/chdfs/v20201112" @@ -209,8 +210,9 @@ type TencentCloudClient struct { regionConn *region.Client //internal version: replace client begin, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation. //internal version: replace client end, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation. - tke2Conn *tke2.Client - cdcConn *cdc.Client + tke2Conn *tke2.Client + cdcConn *cdc.Client + cdwdorisConn *cdwdoris.Client //omit nil client omitNilConn *common.Client } @@ -1633,3 +1635,16 @@ func (me *TencentCloudClient) UseCdcClient() *cdc.Client { return me.cdcConn } + +// UseCdwdoris return CDWDORIS client for service +func (me *TencentCloudClient) UseCdwdorisV20211228Client() *cdwdoris.Client { + if me.cdwdorisConn != nil { + return me.cdwdorisConn + } + cpf := me.NewClientProfile(300) + cpf.Language = "zh-CN" + me.cdwdorisConn, _ = cdwdoris.NewClient(me.Credential, me.Region, cpf) + me.cdwdorisConn.WithHttpTransport(&LogRoundTripper{}) + + return me.cdwdorisConn +} diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index 11b6889e8a..7b83848b36 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -37,6 +37,7 @@ import ( "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdh" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdn" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdwch" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdwdoris" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cdwpg" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cfs" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cfw" @@ -1103,6 +1104,7 @@ func Provider() *schema.Provider { "tencentcloud_cdc_dedicated_cluster_hosts": cdc.DataSourceTencentCloudCdcDedicatedClusterHosts(), "tencentcloud_cdc_dedicated_cluster_instance_types": cdc.DataSourceTencentCloudCdcDedicatedClusterInstanceTypes(), "tencentcloud_cdc_dedicated_cluster_orders": cdc.DataSourceTencentCloudCdcDedicatedClusterOrders(), + "tencentcloud_cdwdoris_instances": cdwdoris.DataSourceTencentCloudCdwdorisInstances(), }, ResourcesMap: map[string]*schema.Resource{ @@ -2107,6 +2109,9 @@ func Provider() *schema.Provider { "tencentcloud_kubernetes_native_node_pool": tke.ResourceTencentCloudKubernetesNativeNodePool(), "tencentcloud_cdc_site": cdc.ResourceTencentCloudCdcSite(), "tencentcloud_cdc_dedicated_cluster": cdc.ResourceTencentCloudCdcDedicatedCluster(), + "tencentcloud_cdwdoris_instance": cdwdoris.ResourceTencentCloudCdwdorisInstance(), + "tencentcloud_cdwdoris_workload_group": cdwdoris.ResourceTencentCloudCdwdorisWorkloadGroup(), + //"tencentcloud_cdwdoris_user": cdwdoris.ResourceTencentCloudCdwdorisUser(), }, ConfigureFunc: providerConfigure, diff --git a/tencentcloud/provider.md b/tencentcloud/provider.md index 7f0f131b18..22ea6237e8 100644 --- a/tencentcloud/provider.md +++ b/tencentcloud/provider.md @@ -2163,4 +2163,10 @@ CDC Resource tencentcloud_cdc_site tencentcloud_cdc_dedicated_cluster - \ No newline at end of file + +CdwDoris + Data Source + tencentcloud_cdwdoris_instances + Resource + tencentcloud_cdwdoris_instance + tencentcloud_cdwdoris_workload_group diff --git a/tencentcloud/services/cdwdoris/data_source_tc_cdwdoris_instances.go b/tencentcloud/services/cdwdoris/data_source_tc_cdwdoris_instances.go new file mode 100644 index 0000000000..3c71c1581c --- /dev/null +++ b/tencentcloud/services/cdwdoris/data_source_tc_cdwdoris_instances.go @@ -0,0 +1,951 @@ +// Code generated by iacg; DO NOT EDIT. +package cdwdoris + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + cdwdorisv20211228 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228" + + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func DataSourceTencentCloudCdwdorisInstances() *schema.Resource { + return &schema.Resource{ + Read: dataSourceTencentCloudCdwdorisInstancesRead, + Schema: map[string]*schema.Schema{ + "search_instance_id": { + Type: schema.TypeString, + Optional: true, + Description: "The name of the cluster ID for the search.", + }, + "search_instance_name": { + Type: schema.TypeString, + Optional: true, + Description: "The cluster name for the search.", + }, + "search_tags": { + Type: schema.TypeList, + Optional: true, + Description: "Search tag list.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "tag_key": { + Type: schema.TypeString, + Optional: true, + Description: "Tag key.", + }, + "tag_value": { + Type: schema.TypeString, + Optional: true, + Description: "Tag value.", + }, + "all_value": { + Type: schema.TypeInt, + Optional: true, + Description: "1 means only the tag key is entered without a value, and 0 means both the key and the value are entered.", + }, + }, + }, + }, + // computed + "instances_list": { + Type: schema.TypeList, + Computed: true, + Description: "Quantities of instances array.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "instance_id": { + Type: schema.TypeString, + Required: true, + Description: "Cluster instance ID, `cdw-xxxx` string type. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "instance_name": { + Type: schema.TypeString, + Required: true, + Description: "Cluster instance name. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "status": { + Type: schema.TypeString, + Required: true, + Description: "Status,. Init is being created. Serving is running. Deleted indicates the cluster has been terminated. Deleting indicates the cluster is being terminated. Modify indicates the cluster is being changed. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "version": { + Type: schema.TypeString, + Required: true, + Description: "Version. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "region": { + Type: schema.TypeString, + Required: true, + Description: "Region, ap-guangzhou. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "zone": { + Type: schema.TypeString, + Required: true, + Description: "Availability zone, ap-guangzhou-3. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "vpc_id": { + Type: schema.TypeString, + Required: true, + Description: "VPC name. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "subnet_id": { + Type: schema.TypeString, + Required: true, + Description: "Subnet name. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "pay_mode": { + Type: schema.TypeString, + Required: true, + Description: "Payment type: hour and prepay. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "create_time": { + Type: schema.TypeString, + Required: true, + Description: "Creation time. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "expire_time": { + Type: schema.TypeString, + Required: true, + Description: "Expiration time. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "master_summary": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Description: "Data node description information. Note: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "spec": { + Type: schema.TypeString, + Required: true, + Description: "Model, such as S1.", + }, + "node_size": { + Type: schema.TypeInt, + Required: true, + Description: "Number of nodes.", + }, + "core": { + Type: schema.TypeInt, + Required: true, + Description: "Number of CPU cores, in counts.", + }, + "memory": { + Type: schema.TypeInt, + Required: true, + Description: "Memory size, in GB.", + }, + "disk": { + Type: schema.TypeInt, + Required: true, + Description: "Disk size, in GB.", + }, + "disk_type": { + Type: schema.TypeString, + Required: true, + Description: "Disk type.", + }, + "disk_desc": { + Type: schema.TypeString, + Required: true, + Description: "Disk description.", + }, + "attach_cbs_spec": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Description: "Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "disk_type": { + Type: schema.TypeString, + Optional: true, + Description: "Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM.", + }, + "disk_size": { + Type: schema.TypeInt, + Optional: true, + Description: "Disk capacity, in GB.", + }, + "disk_count": { + Type: schema.TypeInt, + Optional: true, + Description: "Total number of disks.", + }, + "disk_desc": { + Type: schema.TypeString, + Optional: true, + Description: "Description.", + }, + }, + }, + }, + "sub_product_type": { + Type: schema.TypeString, + Required: true, + Description: "Sub-product name. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "spec_core": { + Type: schema.TypeInt, + Required: true, + Description: "Specified cores. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "spec_memory": { + Type: schema.TypeInt, + Required: true, + Description: "Specified memory. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "disk_count": { + Type: schema.TypeInt, + Required: true, + Description: "Disk size. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "encrypt": { + Type: schema.TypeInt, + Required: true, + Description: "Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "max_disk_size": { + Type: schema.TypeInt, + Required: true, + Description: "Maximum disk. Note: This field may return null, indicating that no valid values can be obtained.", + }, + }, + }, + }, + "core_summary": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Description: "Zookeeper node description information. Note: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "spec": { + Type: schema.TypeString, + Required: true, + Description: "Model, such as S1.", + }, + "node_size": { + Type: schema.TypeInt, + Required: true, + Description: "Number of nodes.", + }, + "core": { + Type: schema.TypeInt, + Required: true, + Description: "Number of CPU cores, in counts.", + }, + "memory": { + Type: schema.TypeInt, + Required: true, + Description: "Memory size, in GB.", + }, + "disk": { + Type: schema.TypeInt, + Required: true, + Description: "Disk size, in GB.", + }, + "disk_type": { + Type: schema.TypeString, + Required: true, + Description: "Disk type.", + }, + "disk_desc": { + Type: schema.TypeString, + Required: true, + Description: "Disk description.", + }, + "attach_cbs_spec": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Description: "Information of mounted cloud disks. Note: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "disk_type": { + Type: schema.TypeString, + Optional: true, + Description: "Node disk type, such as CLOUD_SSD, CLOUD_PREMIUM.", + }, + "disk_size": { + Type: schema.TypeInt, + Optional: true, + Description: "Disk capacity, in GB.", + }, + "disk_count": { + Type: schema.TypeInt, + Optional: true, + Description: "Total number of disks.", + }, + "disk_desc": { + Type: schema.TypeString, + Optional: true, + Description: "Description.", + }, + }, + }, + }, + "sub_product_type": { + Type: schema.TypeString, + Required: true, + Description: "Sub-product name. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "spec_core": { + Type: schema.TypeInt, + Required: true, + Description: "Specified cores. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "spec_memory": { + Type: schema.TypeInt, + Required: true, + Description: "Specified memory. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "disk_count": { + Type: schema.TypeInt, + Required: true, + Description: "Disk size. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "encrypt": { + Type: schema.TypeInt, + Required: true, + Description: "Whether it is encrypted.. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "max_disk_size": { + Type: schema.TypeInt, + Required: true, + Description: "Maximum disk. Note: This field may return null, indicating that no valid values can be obtained.", + }, + }, + }, + }, + "ha": { + Type: schema.TypeString, + Required: true, + Description: "High availability, being true or false. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "ha_type": { + Type: schema.TypeInt, + Required: true, + Description: "High availability type: 0: non-high availability. 1: read high availability. 2: read-write high availability. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "access_info": { + Type: schema.TypeString, + Required: true, + Description: "Access address. Example: 10.0.0.1:9000. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "id": { + Type: schema.TypeInt, + Required: true, + Description: "Record ID, in numerical type. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "region_id": { + Type: schema.TypeInt, + Required: true, + Description: "Region ID, indicating the region. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "zone_desc": { + Type: schema.TypeString, + Required: true, + Description: "Note about availability zone, such as Guangzhou Zone 2. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "flow_msg": { + Type: schema.TypeString, + Required: true, + Description: "Error process description information. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "status_desc": { + Type: schema.TypeString, + Required: true, + Description: "Status description, such as `running`. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "renew_flag": { + Type: schema.TypeBool, + Required: true, + Description: "Automatic renewal marker. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "tags": { + Type: schema.TypeList, + Required: true, + Description: "Tag list. Note: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "tag_key": { + Type: schema.TypeString, + Required: true, + Description: "Tag key.", + }, + "tag_value": { + Type: schema.TypeString, + Required: true, + Description: "Tag value.", + }, + }, + }, + }, + "monitor": { + Type: schema.TypeString, + Required: true, + Description: "Monitoring Information. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "has_cls_topic": { + Type: schema.TypeBool, + Required: true, + Description: "Whether to enable logs. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "cls_topic_id": { + Type: schema.TypeString, + Required: true, + Description: "Log Topic ID. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "cls_log_set_id": { + Type: schema.TypeString, + Required: true, + Description: "Logset ID. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "enable_xml_config": { + Type: schema.TypeInt, + Required: true, + Description: "Whether to support XML configuration management. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "region_desc": { + Type: schema.TypeString, + Required: true, + Description: "Region. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "eip": { + Type: schema.TypeString, + Required: true, + Description: "Elastic network interface address. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "cos_move_factor": { + Type: schema.TypeInt, + Required: true, + Description: "Cold and hot stratification coefficient. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "kind": { + Type: schema.TypeString, + Required: true, + Description: "external/local/yunti. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "cos_bucket_name": { + Type: schema.TypeString, + Required: true, + Description: "COS bucket. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "can_attach_cbs": { + Type: schema.TypeBool, + Required: true, + Description: "cbs. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "build_version": { + Type: schema.TypeString, + Required: true, + Description: "Minor versions. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "components": { + Type: schema.TypeString, + Required: true, + Description: "Component Information. Note: The return type here is map[string]struct, not the string type displayed. You can refer to Sample Value to parse the data. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "characteristic": { + Type: schema.TypeSet, + Required: true, + Description: "Page features, used to block some page entrances on the front end.. Note: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "restart_timeout": { + Type: schema.TypeString, + Required: true, + Description: "Timeout period, in seconds. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "grace_shutdown_wait_seconds": { + Type: schema.TypeString, + Required: true, + Description: "The timeout time for the graceful restart of the kernel. If it is -1, it means it is not set.. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "case_sensitive": { + Type: schema.TypeInt, + Required: true, + Description: "Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "is_white_s_gs": { + Type: schema.TypeBool, + Required: true, + Description: "Whether users can bind security groups.. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "bind_s_gs": { + Type: schema.TypeSet, + Required: true, + Description: "Bound security group information. Note: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "enable_multi_zones": { + Type: schema.TypeBool, + Required: true, + Description: "Whether it is a multi-AZ.. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "user_network_infos": { + Type: schema.TypeString, + Required: true, + Description: "User availability zone and subnet information. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "enable_cool_down": { + Type: schema.TypeInt, + Required: true, + Description: "Whether to enable hot and cold stratification. 0 refers to disabled, and 1 refers to enabled.. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "cool_down_bucket": { + Type: schema.TypeString, + Required: true, + Description: "COS buckets are used for hot and cold stratification. Note: This field may return null, indicating that no valid values can be obtained.", + }, + }, + }, + }, + "result_output_file": { + Type: schema.TypeString, + Optional: true, + Description: "Used to save results.", + }, + }, + } +} + +func dataSourceTencentCloudCdwdorisInstancesRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("data_source.tencentcloud_cdwdoris_instances.read")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(nil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + service = CdwdorisService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + respData []*cdwdorisv20211228.InstanceInfo + ) + + paramMap := make(map[string]interface{}) + if v, ok := d.GetOk("search_instance_id"); ok { + paramMap["SearchInstanceId"] = helper.String(v.(string)) + } + + if v, ok := d.GetOk("search_instance_name"); ok { + paramMap["SearchInstanceName"] = helper.String(v.(string)) + } + + if v, ok := d.GetOk("search_tags"); ok { + searchTagsSet := v.([]interface{}) + tmpSet := make([]*cdwdorisv20211228.SearchTags, 0, len(searchTagsSet)) + for _, item := range searchTagsSet { + searchTagsMap := item.(map[string]interface{}) + searchTags := cdwdorisv20211228.SearchTags{} + if v, ok := searchTagsMap["tag_key"]; ok { + searchTags.TagKey = helper.String(v.(string)) + } + + if v, ok := searchTagsMap["tag_value"]; ok { + searchTags.TagValue = helper.String(v.(string)) + } + + if v, ok := searchTagsMap["all_value"]; ok { + searchTags.AllValue = helper.IntInt64(v.(int)) + } + + tmpSet = append(tmpSet, &searchTags) + } + + paramMap["SearchTags"] = tmpSet + } + + err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + result, e := service.DescribeCdwdorisInstancesByFilter(ctx, paramMap) + if e != nil { + return tccommon.RetryError(e) + } + + respData = result + return nil + }) + + if err != nil { + return err + } + + ids := make([]string, 0, len(respData)) + tmpInstancesList := make([]map[string]interface{}, 0, len(respData)) + if respData != nil { + for _, instancesList := range respData { + instancesListMap := map[string]interface{}{} + if instancesList.InstanceId != nil { + instancesListMap["instance_id"] = instancesList.InstanceId + ids = append(ids, *instancesList.InstanceId) + } + + if instancesList.InstanceName != nil { + instancesListMap["instance_name"] = instancesList.InstanceName + } + + if instancesList.Status != nil { + instancesListMap["status"] = instancesList.Status + } + + if instancesList.Version != nil { + instancesListMap["version"] = instancesList.Version + } + + if instancesList.Region != nil { + instancesListMap["region"] = instancesList.Region + } + + if instancesList.Zone != nil { + instancesListMap["zone"] = instancesList.Zone + } + + if instancesList.VpcId != nil { + instancesListMap["vpc_id"] = instancesList.VpcId + } + + if instancesList.SubnetId != nil { + instancesListMap["subnet_id"] = instancesList.SubnetId + } + + if instancesList.PayMode != nil { + instancesListMap["pay_mode"] = instancesList.PayMode + } + + if instancesList.CreateTime != nil { + instancesListMap["create_time"] = instancesList.CreateTime + } + + if instancesList.ExpireTime != nil { + instancesListMap["expire_time"] = instancesList.ExpireTime + } + + masterSummaryMap := map[string]interface{}{} + + if instancesList.MasterSummary != nil { + if instancesList.MasterSummary.Spec != nil { + masterSummaryMap["spec"] = instancesList.MasterSummary.Spec + } + + if instancesList.MasterSummary.NodeSize != nil { + masterSummaryMap["node_size"] = instancesList.MasterSummary.NodeSize + } + + if instancesList.MasterSummary.Core != nil { + masterSummaryMap["core"] = instancesList.MasterSummary.Core + } + + if instancesList.MasterSummary.Memory != nil { + masterSummaryMap["memory"] = instancesList.MasterSummary.Memory + } + + if instancesList.MasterSummary.Disk != nil { + masterSummaryMap["disk"] = instancesList.MasterSummary.Disk + } + + if instancesList.MasterSummary.DiskType != nil { + masterSummaryMap["disk_type"] = instancesList.MasterSummary.DiskType + } + + if instancesList.MasterSummary.DiskDesc != nil { + masterSummaryMap["disk_desc"] = instancesList.MasterSummary.DiskDesc + } + + attachCBSSpecMap := map[string]interface{}{} + + if instancesList.MasterSummary.AttachCBSSpec != nil { + if instancesList.MasterSummary.AttachCBSSpec.DiskType != nil { + attachCBSSpecMap["disk_type"] = instancesList.MasterSummary.AttachCBSSpec.DiskType + } + + if instancesList.MasterSummary.AttachCBSSpec.DiskSize != nil { + attachCBSSpecMap["disk_size"] = instancesList.MasterSummary.AttachCBSSpec.DiskSize + } + + if instancesList.MasterSummary.AttachCBSSpec.DiskCount != nil { + attachCBSSpecMap["disk_count"] = instancesList.MasterSummary.AttachCBSSpec.DiskCount + } + + if instancesList.MasterSummary.AttachCBSSpec.DiskDesc != nil { + attachCBSSpecMap["disk_desc"] = instancesList.MasterSummary.AttachCBSSpec.DiskDesc + } + + masterSummaryMap["attach_cbs_spec"] = []interface{}{attachCBSSpecMap} + } + + if instancesList.MasterSummary.SubProductType != nil { + masterSummaryMap["sub_product_type"] = instancesList.MasterSummary.SubProductType + } + + if instancesList.MasterSummary.SpecCore != nil { + masterSummaryMap["spec_core"] = instancesList.MasterSummary.SpecCore + } + + if instancesList.MasterSummary.SpecMemory != nil { + masterSummaryMap["spec_memory"] = instancesList.MasterSummary.SpecMemory + } + + if instancesList.MasterSummary.DiskCount != nil { + masterSummaryMap["disk_count"] = instancesList.MasterSummary.DiskCount + } + + if instancesList.MasterSummary.Encrypt != nil { + masterSummaryMap["encrypt"] = instancesList.MasterSummary.Encrypt + } + + if instancesList.MasterSummary.MaxDiskSize != nil { + masterSummaryMap["max_disk_size"] = instancesList.MasterSummary.MaxDiskSize + } + + instancesListMap["master_summary"] = []interface{}{masterSummaryMap} + } + + coreSummaryMap := map[string]interface{}{} + + if instancesList.CoreSummary != nil { + if instancesList.CoreSummary.Spec != nil { + coreSummaryMap["spec"] = instancesList.CoreSummary.Spec + } + + if instancesList.CoreSummary.NodeSize != nil { + coreSummaryMap["node_size"] = instancesList.CoreSummary.NodeSize + } + + if instancesList.CoreSummary.Core != nil { + coreSummaryMap["core"] = instancesList.CoreSummary.Core + } + + if instancesList.CoreSummary.Memory != nil { + coreSummaryMap["memory"] = instancesList.CoreSummary.Memory + } + + if instancesList.CoreSummary.Disk != nil { + coreSummaryMap["disk"] = instancesList.CoreSummary.Disk + } + + if instancesList.CoreSummary.DiskType != nil { + coreSummaryMap["disk_type"] = instancesList.CoreSummary.DiskType + } + + if instancesList.CoreSummary.DiskDesc != nil { + coreSummaryMap["disk_desc"] = instancesList.CoreSummary.DiskDesc + } + + attachCBSSpecMap := map[string]interface{}{} + + if instancesList.CoreSummary.AttachCBSSpec != nil { + if instancesList.CoreSummary.AttachCBSSpec.DiskType != nil { + attachCBSSpecMap["disk_type"] = instancesList.CoreSummary.AttachCBSSpec.DiskType + } + + if instancesList.CoreSummary.AttachCBSSpec.DiskSize != nil { + attachCBSSpecMap["disk_size"] = instancesList.CoreSummary.AttachCBSSpec.DiskSize + } + + if instancesList.CoreSummary.AttachCBSSpec.DiskCount != nil { + attachCBSSpecMap["disk_count"] = instancesList.CoreSummary.AttachCBSSpec.DiskCount + } + + if instancesList.CoreSummary.AttachCBSSpec.DiskDesc != nil { + attachCBSSpecMap["disk_desc"] = instancesList.CoreSummary.AttachCBSSpec.DiskDesc + } + + coreSummaryMap["attach_cbs_spec"] = []interface{}{attachCBSSpecMap} + } + + if instancesList.CoreSummary.SubProductType != nil { + coreSummaryMap["sub_product_type"] = instancesList.CoreSummary.SubProductType + } + + if instancesList.CoreSummary.SpecCore != nil { + coreSummaryMap["spec_core"] = instancesList.CoreSummary.SpecCore + } + + if instancesList.CoreSummary.SpecMemory != nil { + coreSummaryMap["spec_memory"] = instancesList.CoreSummary.SpecMemory + } + + if instancesList.CoreSummary.DiskCount != nil { + coreSummaryMap["disk_count"] = instancesList.CoreSummary.DiskCount + } + + if instancesList.CoreSummary.Encrypt != nil { + coreSummaryMap["encrypt"] = instancesList.CoreSummary.Encrypt + } + + if instancesList.CoreSummary.MaxDiskSize != nil { + coreSummaryMap["max_disk_size"] = instancesList.CoreSummary.MaxDiskSize + } + + instancesListMap["core_summary"] = []interface{}{coreSummaryMap} + } + + if instancesList.HA != nil { + instancesListMap["ha"] = instancesList.HA + } + + if instancesList.HaType != nil { + instancesListMap["ha_type"] = instancesList.HaType + } + + if instancesList.AccessInfo != nil { + instancesListMap["access_info"] = instancesList.AccessInfo + } + + if instancesList.Id != nil { + instancesListMap["id"] = instancesList.Id + } + + if instancesList.RegionId != nil { + instancesListMap["region_id"] = instancesList.RegionId + } + + if instancesList.ZoneDesc != nil { + instancesListMap["zone_desc"] = instancesList.ZoneDesc + } + + if instancesList.FlowMsg != nil { + instancesListMap["flow_msg"] = instancesList.FlowMsg + } + + if instancesList.StatusDesc != nil { + instancesListMap["status_desc"] = instancesList.StatusDesc + } + + if instancesList.RenewFlag != nil { + instancesListMap["renew_flag"] = instancesList.RenewFlag + } + + tagsList := make([]map[string]interface{}, 0, len(instancesList.Tags)) + if instancesList.Tags != nil { + for _, tags := range instancesList.Tags { + tagsMap := map[string]interface{}{} + + if tags.TagKey != nil { + tagsMap["tag_key"] = tags.TagKey + } + + if tags.TagValue != nil { + tagsMap["tag_value"] = tags.TagValue + } + + tagsList = append(tagsList, tagsMap) + } + + instancesListMap["tags"] = tagsList + } + if instancesList.Monitor != nil { + instancesListMap["monitor"] = instancesList.Monitor + } + + if instancesList.HasClsTopic != nil { + instancesListMap["has_cls_topic"] = instancesList.HasClsTopic + } + + if instancesList.ClsTopicId != nil { + instancesListMap["cls_topic_id"] = instancesList.ClsTopicId + } + + if instancesList.ClsLogSetId != nil { + instancesListMap["cls_log_set_id"] = instancesList.ClsLogSetId + } + + if instancesList.EnableXMLConfig != nil { + instancesListMap["enable_xml_config"] = instancesList.EnableXMLConfig + } + + if instancesList.RegionDesc != nil { + instancesListMap["region_desc"] = instancesList.RegionDesc + } + + if instancesList.Eip != nil { + instancesListMap["eip"] = instancesList.Eip + } + + if instancesList.CosMoveFactor != nil { + instancesListMap["cos_move_factor"] = instancesList.CosMoveFactor + } + + if instancesList.Kind != nil { + instancesListMap["kind"] = instancesList.Kind + } + + if instancesList.CosBucketName != nil { + instancesListMap["cos_bucket_name"] = instancesList.CosBucketName + } + + if instancesList.CanAttachCbs != nil { + instancesListMap["can_attach_cbs"] = instancesList.CanAttachCbs + } + + if instancesList.BuildVersion != nil { + instancesListMap["build_version"] = instancesList.BuildVersion + } + + if instancesList.Components != nil { + instancesListMap["components"] = instancesList.Components + } + + if instancesList.Characteristic != nil { + instancesListMap["characteristic"] = instancesList.Characteristic + } + + if instancesList.RestartTimeout != nil { + instancesListMap["restart_timeout"] = instancesList.RestartTimeout + } + + if instancesList.GraceShutdownWaitSeconds != nil { + instancesListMap["grace_shutdown_wait_seconds"] = instancesList.GraceShutdownWaitSeconds + } + + if instancesList.CaseSensitive != nil { + instancesListMap["case_sensitive"] = instancesList.CaseSensitive + } + + if instancesList.IsWhiteSGs != nil { + instancesListMap["is_white_s_gs"] = instancesList.IsWhiteSGs + } + + if instancesList.BindSGs != nil { + instancesListMap["bind_s_gs"] = instancesList.BindSGs + } + + if instancesList.EnableMultiZones != nil { + instancesListMap["enable_multi_zones"] = instancesList.EnableMultiZones + } + + if instancesList.UserNetworkInfos != nil { + instancesListMap["user_network_infos"] = instancesList.UserNetworkInfos + } + + if instancesList.EnableCoolDown != nil { + instancesListMap["enable_cool_down"] = instancesList.EnableCoolDown + } + + if instancesList.CoolDownBucket != nil { + instancesListMap["cool_down_bucket"] = instancesList.CoolDownBucket + } + + tmpInstancesList = append(tmpInstancesList, instancesListMap) + } + + _ = d.Set("instances_list", tmpInstancesList) + } + + d.SetId(helper.DataResourceIdsHash(ids)) + output, ok := d.GetOk("result_output_file") + if ok && output.(string) != "" { + if e := tccommon.WriteToFile(output.(string), tmpInstancesList); e != nil { + return e + } + } + + return nil +} diff --git a/tencentcloud/services/cdwdoris/data_source_tc_cdwdoris_instances.md b/tencentcloud/services/cdwdoris/data_source_tc_cdwdoris_instances.md new file mode 100644 index 0000000000..9cab07e576 --- /dev/null +++ b/tencentcloud/services/cdwdoris/data_source_tc_cdwdoris_instances.md @@ -0,0 +1,32 @@ +Use this data source to query detailed information of cdwdoris instances + +Example Usage + +Query all cdwdoris instances + +```hcl +data "tencentcloud_cdwdoris_instances" "example" {} +``` + +Query cdwdoris instances by filter + +```hcl +# by instance Id +data "tencentcloud_cdwdoris_instances" "example" { + search_instance_id = "cdwdoris-rhbflamd" +} + +# by instance name +data "tencentcloud_cdwdoris_instances" "example" { + search_instance_name = "tf-example" +} + +# by instance tags +data "tencentcloud_cdwdoris_instances" "example" { + search_tags { + tag_key = "createBy" + tag_value = "Terraform" + all_value = 0 + } +} +``` diff --git a/tencentcloud/services/cdwdoris/data_source_tc_cdwdoris_instances_test.go b/tencentcloud/services/cdwdoris/data_source_tc_cdwdoris_instances_test.go new file mode 100644 index 0000000000..318c9937da --- /dev/null +++ b/tencentcloud/services/cdwdoris/data_source_tc_cdwdoris_instances_test.go @@ -0,0 +1,32 @@ +package cdwdoris_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +// go test -i; go test -test.run TestAccTencentCloudCdwdorisInstancesDataSource_basic -v +func TestAccTencentCloudCdwdorisInstancesDataSource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCdwdorisInstancesDataSource, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("data.tencentcloud_cdwdoris_instances.example", "id"), + ), + }, + }, + }) +} + +const testAccCdwdorisInstancesDataSource = ` +data "tencentcloud_cdwdoris_instances" "example" {} +` diff --git a/tencentcloud/services/cdwdoris/extension_cdwdoris.go b/tencentcloud/services/cdwdoris/extension_cdwdoris.go new file mode 100644 index 0000000000..d6e48bb868 --- /dev/null +++ b/tencentcloud/services/cdwdoris/extension_cdwdoris.go @@ -0,0 +1,30 @@ +package cdwdoris + +const ( + INSTANCE_STATE_INIT = "Init" + INSTANCE_STATE_SERVING = "Serving" + INSTANCE_STATE_DELETED = "Deleted" + INSTANCE_STATE_ISOLATED = "Isolated" + INSTANCE_STATE_CHANGING = "Changing" + INSTANCE_STATE_UPGRADING = "Upgrading" +) + +const ( + CHARGE_TYPE_PREPAID = "PREPAID" + CHARGE_TYPE_POSTPAID_BY_HOUR = "POSTPAID_BY_HOUR" +) + +var CHARGE_TYPE = []string{ + CHARGE_TYPE_PREPAID, + CHARGE_TYPE_POSTPAID_BY_HOUR, +} + +const ( + WORKLOAD_GROUP_STATUS_OPEN = "open" + WORKLOAD_GROUP_STATUS_CLOSE = "close" +) + +var WORKLOAD_GROUP_STATUS = []string{ + WORKLOAD_GROUP_STATUS_OPEN, + WORKLOAD_GROUP_STATUS_CLOSE, +} diff --git a/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_instance.go b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_instance.go new file mode 100644 index 0000000000..710fbaa044 --- /dev/null +++ b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_instance.go @@ -0,0 +1,859 @@ +// Code generated by iacg; DO NOT EDIT. +package cdwdoris + +import ( + "context" + "fmt" + "log" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + cdwdorisv20211228 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228" + + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func ResourceTencentCloudCdwdorisInstance() *schema.Resource { + return &schema.Resource{ + Create: resourceTencentCloudCdwdorisInstanceCreate, + Read: resourceTencentCloudCdwdorisInstanceRead, + Update: resourceTencentCloudCdwdorisInstanceUpdate, + Delete: resourceTencentCloudCdwdorisInstanceDelete, + Schema: map[string]*schema.Schema{ + "zone": { + Type: schema.TypeString, + Required: true, + Description: "Availability zone.", + }, + "fe_spec": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Description: "FE specifications.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "spec_name": { + Type: schema.TypeString, + Required: true, + Description: "Specification name.", + }, + "count": { + Type: schema.TypeInt, + Required: true, + Description: "Quantities.", + }, + "disk_size": { + Type: schema.TypeInt, + Required: true, + Description: "Cloud disk size.", + }, + }, + }, + }, + "be_spec": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Description: "BE specifications.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "spec_name": { + Type: schema.TypeString, + Required: true, + Description: "Specification name.", + }, + "count": { + Type: schema.TypeInt, + Required: true, + Description: "Quantities.", + }, + "disk_size": { + Type: schema.TypeInt, + Required: true, + Description: "Cloud disk size.", + }, + }, + }, + }, + "ha_flag": { + Type: schema.TypeBool, + Required: true, + Description: "Whether it is highly available.", + }, + "user_vpc_id": { + Type: schema.TypeString, + Required: true, + Description: "User VPCID.", + }, + "user_subnet_id": { + Type: schema.TypeString, + Required: true, + Description: "User subnet ID.", + }, + "product_version": { + Type: schema.TypeString, + Required: true, + Description: "Product version number.", + }, + "charge_properties": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Description: "Payment type.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "charge_type": { + Type: schema.TypeString, + Optional: true, + ValidateFunc: tccommon.ValidateAllowedStringValue(CHARGE_TYPE), + Description: "Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "renew_flag": { + Type: schema.TypeInt, + Optional: true, + Description: "Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained.", + }, + "time_span": { + Type: schema.TypeInt, + Optional: true, + Description: "Billing duration Note: This field may return null, indicating that no valid values can be obtained.", + }, + "time_unit": { + Type: schema.TypeString, + Optional: true, + Description: "Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained.", + }, + }, + }, + }, + "instance_name": { + Type: schema.TypeString, + Required: true, + Description: "Instance name.", + }, + "doris_user_pwd": { + Type: schema.TypeString, + Required: true, + Sensitive: true, + Description: "Database password.", + }, + "tags": { + Type: schema.TypeList, + Optional: true, + Description: "Tag list.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "tag_key": { + Type: schema.TypeString, + Required: true, + Description: "Tag key.", + }, + "tag_value": { + Type: schema.TypeString, + Required: true, + Description: "Tag value.", + }, + }, + }, + }, + "ha_type": { + Type: schema.TypeInt, + Optional: true, + Description: "High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number).", + }, + "case_sensitive": { + Type: schema.TypeInt, + Optional: true, + Description: "Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage.", + }, + "enable_multi_zones": { + Type: schema.TypeBool, + Optional: true, + Description: "Whether to enable multi-availability zone.", + }, + "user_multi_zone_infos": { + Type: schema.TypeList, + Optional: true, + MaxItems: 1, + Description: "After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "zone": { + Type: schema.TypeString, + Optional: true, + Description: "Availability zone Note: This field may return null, indicating that no valid values can be obtained.", + }, + "subnet_id": { + Type: schema.TypeString, + Optional: true, + Description: "Subnet ID Note: This field may return null, indicating that no valid values can be obtained.", + }, + "subnet_ip_num": { + Type: schema.TypeInt, + Optional: true, + Description: "The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained.", + }, + }, + }, + }, + "security_group_ids": { + Type: schema.TypeList, + Optional: true, + Elem: &schema.Schema{Type: schema.TypeString}, + Description: "Security Group Id list.", + }, + "workload_group_status": { + Type: schema.TypeString, + Required: true, + ValidateFunc: tccommon.ValidateAllowedStringValue(WORKLOAD_GROUP_STATUS), + Description: "Whether to enable resource group. `open` - enable, `close` - disable.", + }, + }, + } +} + +func resourceTencentCloudCdwdorisInstanceCreate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_instance.create")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + request = cdwdorisv20211228.NewCreateInstanceNewRequest() + response = cdwdorisv20211228.NewCreateInstanceNewResponse() + instanceId string + workloadGroupStatus string + ) + + if v, ok := d.GetOk("zone"); ok { + request.Zone = helper.String(v.(string)) + } + + if feSpecMap, ok := helper.InterfacesHeadMap(d, "fe_spec"); ok { + createInstanceSpec := cdwdorisv20211228.CreateInstanceSpec{} + if v, ok := feSpecMap["spec_name"]; ok { + createInstanceSpec.SpecName = helper.String(v.(string)) + } + + if v, ok := feSpecMap["count"]; ok { + createInstanceSpec.Count = helper.IntUint64(v.(int)) + } + + if v, ok := feSpecMap["disk_size"]; ok { + createInstanceSpec.DiskSize = helper.IntUint64(v.(int)) + } + + request.FeSpec = &createInstanceSpec + } + + if beSpecMap, ok := helper.InterfacesHeadMap(d, "be_spec"); ok { + createInstanceSpec2 := cdwdorisv20211228.CreateInstanceSpec{} + if v, ok := beSpecMap["spec_name"]; ok { + createInstanceSpec2.SpecName = helper.String(v.(string)) + } + + if v, ok := beSpecMap["count"]; ok { + createInstanceSpec2.Count = helper.IntUint64(v.(int)) + } + + if v, ok := beSpecMap["disk_size"]; ok { + createInstanceSpec2.DiskSize = helper.IntUint64(v.(int)) + } + + request.BeSpec = &createInstanceSpec2 + } + + if v, ok := d.GetOkExists("ha_flag"); ok { + request.HaFlag = helper.Bool(v.(bool)) + } + + if v, ok := d.GetOk("user_vpc_id"); ok { + request.UserVPCId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("user_subnet_id"); ok { + request.UserSubnetId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("product_version"); ok { + request.ProductVersion = helper.String(v.(string)) + } + + if chargePropertiesMap, ok := helper.InterfacesHeadMap(d, "charge_properties"); ok { + chargeProperties := cdwdorisv20211228.ChargeProperties{} + if v, ok := chargePropertiesMap["charge_type"]; ok { + chargeProperties.ChargeType = helper.String(v.(string)) + } + + if v, ok := chargePropertiesMap["renew_flag"]; ok { + chargeProperties.RenewFlag = helper.IntInt64(v.(int)) + } + + if v, ok := chargePropertiesMap["time_span"]; ok { + chargeProperties.TimeSpan = helper.IntInt64(v.(int)) + } + + if v, ok := chargePropertiesMap["time_unit"]; ok { + chargeProperties.TimeUnit = helper.String(v.(string)) + } + + request.ChargeProperties = &chargeProperties + } + + if v, ok := d.GetOk("instance_name"); ok { + request.InstanceName = helper.String(v.(string)) + } + + if v, ok := d.GetOk("doris_user_pwd"); ok { + request.DorisUserPwd = helper.String(v.(string)) + } + + if v, ok := d.GetOk("tags"); ok { + for _, item := range v.([]interface{}) { + tagsMap := item.(map[string]interface{}) + tag := cdwdorisv20211228.Tag{} + if v, ok := tagsMap["tag_key"]; ok { + tag.TagKey = helper.String(v.(string)) + } + + if v, ok := tagsMap["tag_value"]; ok { + tag.TagValue = helper.String(v.(string)) + } + + request.Tags = append(request.Tags, &tag) + } + } + + if v, ok := d.GetOkExists("ha_type"); ok { + request.HaType = helper.IntInt64(v.(int)) + } + + if v, ok := d.GetOkExists("case_sensitive"); ok { + request.CaseSensitive = helper.IntInt64(v.(int)) + } + + if v, ok := d.GetOkExists("enable_multi_zones"); ok { + request.EnableMultiZones = helper.Bool(v.(bool)) + } + + if userMultiZoneInfosMap, ok := helper.InterfacesHeadMap(d, "user_multi_zone_infos"); ok { + networkInfo := cdwdorisv20211228.NetworkInfo{} + if v, ok := userMultiZoneInfosMap["zone"]; ok { + networkInfo.Zone = helper.String(v.(string)) + } + + if v, ok := userMultiZoneInfosMap["subnet_id"]; ok { + networkInfo.SubnetId = helper.String(v.(string)) + } + + if v, ok := userMultiZoneInfosMap["subnet_ip_num"]; ok { + networkInfo.SubnetIpNum = helper.IntInt64(v.(int)) + } + + request.UserMultiZoneInfos = &networkInfo + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().CreateInstanceNewWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + response = result + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create cdwdoris instance failed, reason:%+v", logId, err) + return err + } + + instanceId = *response.Response.InstanceId + d.SetId(instanceId) + + // wait + waitRequest := cdwdorisv20211228.NewDescribeInstanceStateRequest() + waitRequest.InstanceId = &instanceId + err = resource.Retry(tccommon.ReadRetryTimeout*10, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().DescribeInstanceStateWithContext(ctx, waitRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if *result.Response.InstanceState != INSTANCE_STATE_SERVING { + return resource.RetryableError(fmt.Errorf("instance status is %s, retry...", *result.Response.InstanceState)) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create cdwdoris instance failed, reason:%+v", logId, err) + return err + } + + if v, ok := d.GetOk("security_group_ids"); ok { + securityGroupIds := v.([]interface{}) + tmpList := make([]*string, 0, len(securityGroupIds)) + for _, item := range securityGroupIds { + securityGroupId := item.(string) + tmpList = append(tmpList, &securityGroupId) + } + + sgRequest := cdwdorisv20211228.NewModifySecurityGroupsRequest() + sgRequest.InstanceId = &instanceId + sgRequest.ModifySecurityGroupIds = tmpList + err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().ModifySecurityGroupsWithContext(ctx, sgRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s modify cdwdoris Security Groups failed, reason:%+v", logId, err) + return err + } + } + + if v, ok := d.GetOk("workload_group_status"); ok { + workloadGroupStatus = v.(string) + if workloadGroupStatus == WORKLOAD_GROUP_STATUS_OPEN { + workloadGroupStatusRequest := cdwdorisv20211228.NewModifyWorkloadGroupStatusRequest() + workloadGroupStatusRequest.InstanceId = &instanceId + workloadGroupStatusRequest.OperationType = &workloadGroupStatus + err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().ModifyWorkloadGroupStatusWithContext(ctx, workloadGroupStatusRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s modify cdwdoris instance workload group status failed, reason:%+v", logId, err) + return err + } + + // wait + err = resource.Retry(tccommon.ReadRetryTimeout*10, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().DescribeInstanceStateWithContext(ctx, waitRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if *result.Response.InstanceState != INSTANCE_STATE_SERVING { + return resource.RetryableError(fmt.Errorf("instance status is %s, retry...", *result.Response.InstanceState)) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s modify cdwdoris instance workload group status failed, reason:%+v", logId, err) + return err + } + } + } + + return resourceTencentCloudCdwdorisInstanceRead(d, meta) +} + +func resourceTencentCloudCdwdorisInstanceRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_instance.read")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + service = CdwdorisService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + instanceId = d.Id() + ) + + respData, err := service.DescribeCdwdorisInstanceById(ctx, instanceId) + if err != nil { + return err + } + + if respData == nil { + d.SetId("") + log.Printf("[WARN]%s resource `cdwdoris_instance` [%s] not found, please check if it has been deleted.", logId, d.Id()) + return nil + } + + if respData.InstanceName != nil { + _ = d.Set("instance_name", respData.InstanceName) + } + + if respData.Version != nil { + _ = d.Set("product_version", respData.Version) + } + + if respData.Zone != nil { + _ = d.Set("zone", respData.Zone) + } + + if respData.VpcId != nil { + _ = d.Set("user_vpc_id", respData.VpcId) + } + + if respData.SubnetId != nil { + _ = d.Set("user_subnet_id", respData.SubnetId) + } + + if respData.MasterSummary != nil { + masterSummaryMap := map[string]interface{}{} + if respData.MasterSummary.Spec != nil { + masterSummaryMap["spec_name"] = respData.MasterSummary.Spec + } + + if respData.MasterSummary.NodeSize != nil { + masterSummaryMap["count"] = respData.MasterSummary.NodeSize + } + + if respData.MasterSummary.Disk != nil { + masterSummaryMap["disk_size"] = respData.MasterSummary.Disk + } + + _ = d.Set("fe_spec", []interface{}{masterSummaryMap}) + } + + if respData.CoreSummary != nil { + coreSummaryMap := map[string]interface{}{} + if respData.CoreSummary.Spec != nil { + coreSummaryMap["spec_name"] = respData.CoreSummary.Spec + } + + if respData.CoreSummary.NodeSize != nil { + coreSummaryMap["count"] = respData.CoreSummary.NodeSize + } + + if respData.CoreSummary.Disk != nil { + coreSummaryMap["disk_size"] = respData.CoreSummary.Disk + } + + _ = d.Set("be_spec", []interface{}{coreSummaryMap}) + } + + if respData.HA != nil { + if *respData.HA == "true" { + _ = d.Set("ha_flag", true) + } else { + _ = d.Set("ha_flag", false) + } + } + + if respData.HaType != nil { + _ = d.Set("ha_type", respData.HaType) + } + + if respData.Tags != nil { + tagsList := make([]map[string]interface{}, 0, len(respData.Tags)) + for _, tags := range respData.Tags { + tagsMap := map[string]interface{}{} + if tags.TagKey != nil { + tagsMap["tag_key"] = tags.TagKey + } + + if tags.TagValue != nil { + tagsMap["tag_value"] = tags.TagValue + } + + tagsList = append(tagsList, tagsMap) + } + + _ = d.Set("tags", tagsList) + } + + if respData.BindSGs != nil { + tmpList := make([]string, 0, len(respData.BindSGs)) + for _, item := range respData.BindSGs { + tmpList = append(tmpList, *item) + } + + _ = d.Set("security_group_ids", tmpList) + } + + respData1, err := service.DescribeCdwdorisWorkloadGroupsById(ctx, instanceId) + if err != nil { + return err + } + + if respData1 == nil { + d.SetId("") + log.Printf("[WARN]%s resource `cdwdoris_workload_group` [%s] not found, please check if it has been deleted.", logId, d.Id()) + return nil + } + + if respData1.Status != nil { + _ = d.Set("workload_group_status", respData1.Status) + } + + return nil +} + +func resourceTencentCloudCdwdorisInstanceUpdate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_instance.update")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + instanceId = d.Id() + ) + + immutableArgs := []string{"zone", "fe_spec", "be_spec", "ha_flag", "user_vpc_id", "user_subnet_id", "product_version", "charge_type", "charge_properties", "doris_user_pwd", "tags", "case_sensitive", "enable_multi_zones", "user_multi_zone_infos"} + for _, v := range immutableArgs { + if d.HasChange(v) { + return fmt.Errorf("argument `%s` cannot be changed", v) + } + } + + if d.HasChange("instance_name") { + request := cdwdorisv20211228.NewModifyInstanceRequest() + request.InstanceId = &instanceId + if v, ok := d.GetOk("instance_name"); ok { + request.InstanceName = helper.String(v.(string)) + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().ModifyInstanceWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s update cdwdoris instance instance_name failed, reason:%+v", logId, err) + return err + } + } + + if d.HasChange("security_group_ids") { + oldValue, newValue := d.GetChange("security_group_ids") + oldSecurityGroupIds := oldValue.([]interface{}) + newSecurityGroupIds := newValue.([]interface{}) + tmpOld := make([]*string, 0, len(oldSecurityGroupIds)) + tmpNew := make([]*string, 0, len(newSecurityGroupIds)) + for _, item := range oldSecurityGroupIds { + securityGroupId := item.(string) + tmpOld = append(tmpOld, &securityGroupId) + } + + for _, item := range newSecurityGroupIds { + securityGroupId := item.(string) + tmpNew = append(tmpNew, &securityGroupId) + } + + request := cdwdorisv20211228.NewModifySecurityGroupsRequest() + request.InstanceId = &instanceId + request.OldSecurityGroupIds = tmpOld + request.ModifySecurityGroupIds = tmpNew + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().ModifySecurityGroupsWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s modify cdwdoris Security Groups failed, reason:%+v", logId, err) + return err + } + } + + if d.HasChange("workload_group_status") { + workloadGroupStatus := d.Get("workload_group_status").(string) + request := cdwdorisv20211228.NewModifyWorkloadGroupStatusRequest() + request.InstanceId = &instanceId + request.OperationType = &workloadGroupStatus + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().ModifyWorkloadGroupStatusWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s modify cdwdoris instance workload group status failed, reason:%+v", logId, err) + return err + } + + // wait + waitRequest := cdwdorisv20211228.NewDescribeInstanceStateRequest() + waitRequest.InstanceId = &instanceId + err = resource.Retry(tccommon.ReadRetryTimeout*10, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().DescribeInstanceStateWithContext(ctx, waitRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if *result.Response.InstanceState != INSTANCE_STATE_SERVING { + return resource.RetryableError(fmt.Errorf("instance status is %s, retry...", *result.Response.InstanceState)) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s modify cdwdoris instance workload group status failed, reason:%+v", logId, err) + return err + } + } + + return resourceTencentCloudCdwdorisInstanceRead(d, meta) +} + +func resourceTencentCloudCdwdorisInstanceDelete(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_instance.delete")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + request = cdwdorisv20211228.NewDestroyInstanceRequest() + instanceId = d.Id() + chargeType string + ) + + if chargePropertiesMap, ok := helper.InterfacesHeadMap(d, "charge_properties"); ok { + if v, ok := chargePropertiesMap["charge_type"]; ok { + chargeType = v.(string) + } + } + + request.InstanceId = &instanceId + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().DestroyInstanceWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s delete cdwdoris instance failed, reason:%+v", logId, err) + return err + } + + // wait + describeRequest := cdwdorisv20211228.NewDescribeInstancesRequest() + describeRequest.SearchInstanceId = helper.String(instanceId) + if chargeType == CHARGE_TYPE_POSTPAID_BY_HOUR { + err = resource.Retry(tccommon.ReadRetryTimeout*5, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().DescribeInstancesWithContext(ctx, describeRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if len(result.Response.InstancesList) != 0 { + instanceState := result.Response.InstancesList[0].Status + return resource.RetryableError(fmt.Errorf("instance status is %s, retry...", *instanceState)) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s delete cdwdoris instance failed, reason:%+v", logId, err) + return err + } + } else { + waitRequest := cdwdorisv20211228.NewDescribeInstanceStateRequest() + waitRequest.InstanceId = &instanceId + err = resource.Retry(tccommon.ReadRetryTimeout*5, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().DescribeInstanceStateWithContext(ctx, waitRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if *result.Response.InstanceState != INSTANCE_STATE_ISOLATED { + return resource.RetryableError(fmt.Errorf("instance status is %s, retry...", *result.Response.InstanceState)) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s delete cdwdoris instance failed, reason:%+v", logId, err) + return err + } + + // prepaid need delete again + if chargeType == CHARGE_TYPE_PREPAID { + err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().DestroyInstanceWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s delete cdwdoris instance failed, reason:%+v", logId, err) + return err + } + + err = resource.Retry(tccommon.ReadRetryTimeout*5, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().DescribeInstancesWithContext(ctx, describeRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s] ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if len(result.Response.InstancesList) != 0 { + instanceState := result.Response.InstancesList[0].Status + return resource.RetryableError(fmt.Errorf("instance status is %s, retry...", *instanceState)) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s delete cdwdoris instance failed, reason:%+v", logId, err) + return err + } + } + } + + return nil +} diff --git a/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_instance.md b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_instance.md new file mode 100644 index 0000000000..9e60f74003 --- /dev/null +++ b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_instance.md @@ -0,0 +1,151 @@ +Provides a resource to create a cdwdoris instance + +Example Usage + +Create a POSTPAID instance + +```hcl +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create security group +resource "tencentcloud_security_group" "example" { + name = "tf-example" + description = "security group desc." + + tags = { + "createBy" = "Terraform" + } +} + +# create POSTPAID instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = "open" + + security_group_ids = [ + tencentcloud_security_group.example.id + ] + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} +``` + +Create a POSTPAID instance + +```hcl +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create security group +resource "tencentcloud_security_group" "example" { + name = "tf-example" + description = "security group desc." + + tags = { + "createBy" = "Terraform" + } +} + +# create PREPAID instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = "close" + + security_group_ids = [ + tencentcloud_security_group.example.id + ] + + charge_properties { + charge_type = "PREPAID" + time_span = 1 + time_unit = "m" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} +``` diff --git a/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_instance_test.go b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_instance_test.go new file mode 100644 index 0000000000..76ebe99498 --- /dev/null +++ b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_instance_test.go @@ -0,0 +1,95 @@ +package cdwdoris_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +// go test -i; go test -test.run TestAccTencentCloudNeedFixCdwdorisInstanceResource_basic -v +func TestAccTencentCloudNeedFixCdwdorisInstanceResource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCdwdorisInstance, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "id"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "zone"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "user_vpc_id"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "user_subnet_id"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "product_version"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "instance_name"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "doris_user_pwd"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "ha_flag"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "ha_type"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "case_sensitive"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_instance.example", "enable_multi_zones"), + ), + }, + }, + }) +} + +const testAccCdwdorisInstance = ` +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create POSTPAID instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = true + ha_type = 1 + case_sensitive = 0 + enable_multi_zones = false + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} +` diff --git a/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_user.go b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_user.go new file mode 100644 index 0000000000..7442787a4c --- /dev/null +++ b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_user.go @@ -0,0 +1,230 @@ +// Code generated by iacg; DO NOT EDIT. +package cdwdoris + +import ( + "context" + "fmt" + "log" + "strings" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + cdwdorisv20211228 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228" + + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func ResourceTencentCloudCdwdorisUser() *schema.Resource { + return &schema.Resource{ + Create: resourceTencentCloudCdwdorisUserCreate, + Read: resourceTencentCloudCdwdorisUserRead, + Update: resourceTencentCloudCdwdorisUserUpdate, + Delete: resourceTencentCloudCdwdorisUserDelete, + Schema: map[string]*schema.Schema{ + "user_info": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + Description: "User info.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "instance_id": { + Type: schema.TypeString, + Required: true, + Description: "Instance ID.", + }, + "username": { + Type: schema.TypeString, + Required: true, + Description: "User name.", + }, + "password": { + Type: schema.TypeString, + Required: true, + Sensitive: true, + Description: "Password.", + }, + "white_host": { + Type: schema.TypeString, + Optional: true, + Description: "The IP the user linked from.", + }, + "describe": { + Type: schema.TypeString, + Optional: true, + Description: "Describe.", + }, + "cam_uin": { + Type: schema.TypeString, + Optional: true, + Description: "The bound sub user uin.", + }, + "cam_ranger_group_ids": { + Type: schema.TypeList, + Optional: true, + Elem: &schema.Schema{Type: schema.TypeInt}, + Description: "Ranger group id list.", + }, + }, + }, + }, + "api_type": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + Description: "Api type.", + }, + "user_privilege": { + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + Description: "User permission type. 0: Ordinary user; 1: Administrator.", + }, + }, + } +} + +func resourceTencentCloudCdwdorisUserCreate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_user.create")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + request = cdwdorisv20211228.NewActionAlterUserRequest() + instanceId string + userName string + ) + + if userInfoMap, ok := helper.InterfacesHeadMap(d, "user_info"); ok { + userInfo := cdwdorisv20211228.UserInfo{} + if v, ok := userInfoMap["instance_id"]; ok { + userInfo.InstanceId = helper.String(v.(string)) + instanceId = v.(string) + } + + if v, ok := userInfoMap["username"]; ok { + userInfo.UserName = helper.String(v.(string)) + userName = v.(string) + } + + if v, ok := userInfoMap["password"]; ok { + userInfo.PassWord = helper.String(v.(string)) + } + + if v, ok := userInfoMap["white_host"]; ok { + userInfo.WhiteHost = helper.String(v.(string)) + } + + if v, ok := userInfoMap["describe"]; ok { + userInfo.Describe = helper.String(v.(string)) + } + + if v, ok := userInfoMap["cam_uin"]; ok { + userInfo.CamUin = helper.String(v.(string)) + } + + request.UserInfo = &userInfo + } + + if v, ok := d.GetOk("api_type"); ok { + request.ApiType = helper.String(v.(string)) + } + + if v, ok := d.GetOkExists("user_privilege"); ok { + request.UserPrivilege = helper.IntInt64(v.(int)) + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().ActionAlterUserWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create cdwdoris user failed, reason:%+v", logId, err) + return err + } + + d.SetId(strings.Join([]string{instanceId, userName}, tccommon.FILED_SP)) + + return resourceTencentCloudCdwdorisUserRead(d, meta) +} + +func resourceTencentCloudCdwdorisUserRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_user.read")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + service = CdwdorisService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + ) + + idSplit := strings.Split(d.Id(), tccommon.FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + + instanceId := idSplit[0] + userName := idSplit[1] + + respData, err := service.DescribeCdwdorisSqlApiById(ctx, instanceId, userName) + if err != nil { + return err + } + + if respData == nil { + d.SetId("") + log.Printf("[WARN]%s resource `cdwdoris_workload_group` [%s] not found, please check if it has been deleted.. ", logId, d.Id()) + return nil + } + + _ = d.Set("instance_id", instanceId) + workloadGroupsList := make([]map[string]interface{}, 0) + workloadGroupsMap := map[string]interface{}{} + if respData.WorkloadGroupName != nil { + workloadGroupsMap["workload_group_name"] = respData.WorkloadGroupName + } + + if respData.CpuShare != nil { + workloadGroupsMap["cpu_share"] = respData.CpuShare + } + + if respData.MemoryLimit != nil { + workloadGroupsMap["memory_limit"] = respData.MemoryLimit + } + + if respData.EnableMemoryOverCommit != nil { + workloadGroupsMap["enable_memory_over_commit"] = respData.EnableMemoryOverCommit + } + + if respData.CpuHardLimit != nil { + workloadGroupsMap["cpu_hard_limit"] = respData.CpuHardLimit + } + + workloadGroupsList = append(workloadGroupsList, workloadGroupsMap) + _ = d.Set("workload_group", workloadGroupsList) + + return nil +} + +func resourceTencentCloudCdwdorisUserUpdate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_user.update")() + defer tccommon.InconsistentCheck(d, meta)() + + return nil +} + +func resourceTencentCloudCdwdorisUserDelete(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_user.delete")() + defer tccommon.InconsistentCheck(d, meta)() + + return nil +} diff --git a/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_user.md b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_user.md new file mode 100644 index 0000000000..4a27128546 --- /dev/null +++ b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_user.md @@ -0,0 +1,78 @@ +Provides a resource to create a cdwdoris user + +Example Usage + +```hcl +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = "open" + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} + +# create user +resource "tencentcloud_cdwdoris_user" "example" { + user_info { + instance_id = tencentcloud_cdwdoris_instance.example.id + username = "example" + password = "Password@test" + describe = "test demo." + } +} +``` + +Import + +cdwdoris cdwdoris_user can be imported using the id, e.g. + +``` +terraform import tencentcloud_cdwdoris_user.example cdwdoris-rhbflamd#example +``` diff --git a/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_user_test.go b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_user_test.go new file mode 100644 index 0000000000..083c52e7f6 --- /dev/null +++ b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_user_test.go @@ -0,0 +1,173 @@ +package cdwdoris_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +// go test -i; go test -test.run TestAccTencentCloudNeedFixCdwdorisUserResource_basic -v +func TestAccTencentCloudNeedFixCdwdorisUserResource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCdwdorisUser, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_user.example", "id"), + ), + }, + { + Config: testAccCdwdorisUserUpdate, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_user.example", "id"), + ), + }, + { + ResourceName: "tencentcloud_cdwdoris_user.example", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +const testAccCdwdorisUser = ` +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = true + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} + +# create user +resource "tencentcloud_cdwdoris_user" "example" { + user_info { + instance_id = tencentcloud_cdwdoris_instance.example.id + username = "example" + password = "Password@test" + describe = "test demo." + } +} +` + +const testAccCdwdorisUserUpdate = ` +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = true + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} + +# create user +resource "tencentcloud_cdwdoris_user" "example" { + user_info { + instance_id = tencentcloud_cdwdoris_instance.example.id + username = "example" + password = "Password@123" + describe = "test demo update." + } +} +` diff --git a/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_workload_group.go b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_workload_group.go new file mode 100644 index 0000000000..f8175a1135 --- /dev/null +++ b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_workload_group.go @@ -0,0 +1,291 @@ +// Code generated by iacg; DO NOT EDIT. +package cdwdoris + +import ( + "context" + "fmt" + "log" + "strings" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + cdwdorisv20211228 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228" + + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func ResourceTencentCloudCdwdorisWorkloadGroup() *schema.Resource { + return &schema.Resource{ + Create: resourceTencentCloudCdwdorisWorkloadGroupCreate, + Read: resourceTencentCloudCdwdorisWorkloadGroupRead, + Update: resourceTencentCloudCdwdorisWorkloadGroupUpdate, + Delete: resourceTencentCloudCdwdorisWorkloadGroupDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "instance_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + Description: "Instance id.", + }, + "workload_group": { + Type: schema.TypeList, + Optional: true, + MaxItems: 1, + Description: "Resource group configuration.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "workload_group_name": { + Type: schema.TypeString, + Optional: true, + ForceNew: true, + Description: "Workload group name. Note: This field may return null, indicating that no valid value can be obtained.", + }, + "cpu_share": { + Type: schema.TypeInt, + Optional: true, + Description: "CPU weight. Note: This field may return null, indicating that no valid value can be obtained.", + }, + "memory_limit": { + Type: schema.TypeInt, + Optional: true, + Description: "Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained.", + }, + "enable_memory_over_commit": { + Type: schema.TypeBool, + Optional: true, + Description: "Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained.", + }, + "cpu_hard_limit": { + Type: schema.TypeString, + Optional: true, + Description: "Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained.", + }, + }, + }, + }, + }, + } +} + +func resourceTencentCloudCdwdorisWorkloadGroupCreate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_workload_group.create")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + request = cdwdorisv20211228.NewCreateWorkloadGroupRequest() + instanceId string + workloadGroupName string + ) + + if v, ok := d.GetOk("instance_id"); ok { + request.InstanceId = helper.String(v.(string)) + instanceId = v.(string) + } + + if workloadGroupMap, ok := helper.InterfacesHeadMap(d, "workload_group"); ok { + workloadGroupConfig := cdwdorisv20211228.WorkloadGroupConfig{} + if v, ok := workloadGroupMap["workload_group_name"]; ok { + workloadGroupConfig.WorkloadGroupName = helper.String(v.(string)) + workloadGroupName = v.(string) + } + + if v, ok := workloadGroupMap["cpu_share"]; ok { + workloadGroupConfig.CpuShare = helper.IntInt64(v.(int)) + } + + if v, ok := workloadGroupMap["memory_limit"]; ok { + workloadGroupConfig.MemoryLimit = helper.IntInt64(v.(int)) + } + + if v, ok := workloadGroupMap["enable_memory_over_commit"]; ok { + workloadGroupConfig.EnableMemoryOverCommit = helper.Bool(v.(bool)) + } + + if v, ok := workloadGroupMap["cpu_hard_limit"]; ok { + workloadGroupConfig.CpuHardLimit = helper.String(v.(string)) + } + + request.WorkloadGroup = &workloadGroupConfig + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().CreateWorkloadGroupWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]. ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create cdwdoris workload group failed, reason:%+v", logId, err) + return err + } + + d.SetId(strings.Join([]string{instanceId, workloadGroupName}, tccommon.FILED_SP)) + + return resourceTencentCloudCdwdorisWorkloadGroupRead(d, meta) +} + +func resourceTencentCloudCdwdorisWorkloadGroupRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_workload_group.read")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + service = CdwdorisService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + ) + + idSplit := strings.Split(d.Id(), tccommon.FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + + instanceId := idSplit[0] + workloadGroupName := idSplit[1] + + respData, err := service.DescribeCdwdorisWorkloadGroupById(ctx, instanceId, workloadGroupName) + if err != nil { + return err + } + + if respData == nil { + d.SetId("") + log.Printf("[WARN]%s resource `cdwdoris_workload_group` [%s] not found, please check if it has been deleted.. ", logId, d.Id()) + return nil + } + + _ = d.Set("instance_id", instanceId) + workloadGroupsList := make([]map[string]interface{}, 0) + workloadGroupsMap := map[string]interface{}{} + if respData.WorkloadGroupName != nil { + workloadGroupsMap["workload_group_name"] = respData.WorkloadGroupName + } + + if respData.CpuShare != nil { + workloadGroupsMap["cpu_share"] = respData.CpuShare + } + + if respData.MemoryLimit != nil { + workloadGroupsMap["memory_limit"] = respData.MemoryLimit + } + + if respData.EnableMemoryOverCommit != nil { + workloadGroupsMap["enable_memory_over_commit"] = respData.EnableMemoryOverCommit + } + + if respData.CpuHardLimit != nil { + workloadGroupsMap["cpu_hard_limit"] = respData.CpuHardLimit + } + + workloadGroupsList = append(workloadGroupsList, workloadGroupsMap) + _ = d.Set("workload_group", workloadGroupsList) + + return nil +} + +func resourceTencentCloudCdwdorisWorkloadGroupUpdate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_workload_group.update")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + request = cdwdorisv20211228.NewModifyWorkloadGroupRequest() + ) + + idSplit := strings.Split(d.Id(), tccommon.FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + + instanceId := idSplit[0] + workloadGroupName := idSplit[1] + request.InstanceId = &instanceId + if workloadGroupMap, ok := helper.InterfacesHeadMap(d, "workload_group"); ok { + workloadGroupConfig := cdwdorisv20211228.WorkloadGroupConfig{} + workloadGroupConfig.WorkloadGroupName = helper.String(workloadGroupName) + if v, ok := workloadGroupMap["cpu_share"]; ok { + workloadGroupConfig.CpuShare = helper.IntInt64(v.(int)) + } + + if v, ok := workloadGroupMap["memory_limit"]; ok { + workloadGroupConfig.MemoryLimit = helper.IntInt64(v.(int)) + } + + if v, ok := workloadGroupMap["enable_memory_over_commit"]; ok { + workloadGroupConfig.EnableMemoryOverCommit = helper.Bool(v.(bool)) + } + + if v, ok := workloadGroupMap["cpu_hard_limit"]; ok { + workloadGroupConfig.CpuHardLimit = helper.String(v.(string)) + } + + request.WorkloadGroup = &workloadGroupConfig + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().ModifyWorkloadGroupWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]. ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s update cdwdoris workload group failed, reason:%+v", logId, err) + return err + } + + return resourceTencentCloudCdwdorisWorkloadGroupRead(d, meta) +} + +func resourceTencentCloudCdwdorisWorkloadGroupDelete(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_cdwdoris_workload_group.delete")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + request = cdwdorisv20211228.NewDeleteWorkloadGroupRequest() + ) + + idSplit := strings.Split(d.Id(), tccommon.FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + + instanceId := idSplit[0] + workloadGroupName := idSplit[1] + request.InstanceId = helper.String(instanceId) + request.WorkloadGroupName = helper.String(workloadGroupName) + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseCdwdorisV20211228Client().DeleteWorkloadGroupWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]. ", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s delete cdwdoris workload group failed, reason:%+v", logId, err) + return err + } + + return nil +} diff --git a/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_workload_group.md b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_workload_group.md new file mode 100644 index 0000000000..df906c1b2e --- /dev/null +++ b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_workload_group.md @@ -0,0 +1,82 @@ +Provides a resource to create a cdwdoris workload group + +~> **NOTE:** To use this resource, The `workload_group_status` field of `tencentcloud_cdwdoris_instance` needs to be set to true. + +Example Usage + +```hcl +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = "open" + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} + +# create workload group +resource "tencentcloud_cdwdoris_workload_group" "example" { + instance_id = tencentcloud_cdwdoris_instance.example.id + workload_group { + workload_group_name = "example" + cpu_share = 1024 + memory_limit = 20 + enable_memory_over_commit = true + cpu_hard_limit = "30%" + } +} +``` + +Import + +cdwdoris workload group can be imported using the id, e.g. + +``` +terraform import tencentcloud_cdwdoris_workload_group.example cdwdoris-rhbflamd#tf-example +``` diff --git a/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_workload_group_test.go b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_workload_group_test.go new file mode 100644 index 0000000000..132da055e7 --- /dev/null +++ b/tencentcloud/services/cdwdoris/resource_tc_cdwdoris_workload_group_test.go @@ -0,0 +1,179 @@ +package cdwdoris_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +// go test -i; go test -test.run TestAccTencentCloudNeedFixCdwdorisWorkloadGroupResource_basic -v +func TestAccTencentCloudNeedFixCdwdorisWorkloadGroupResource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCdwdorisWorkloadGroup, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_workload_group.example", "id"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_workload_group.example", "instance_id"), + ), + }, + { + Config: testAccCdwdorisWorkloadGroupUpdate, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_workload_group.example", "id"), + resource.TestCheckResourceAttrSet("tencentcloud_cdwdoris_workload_group.example", "instance_id"), + ), + }, + { + ResourceName: "tencentcloud_cdwdoris_workload_group.example", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +const testAccCdwdorisWorkloadGroup = ` +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = true + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} + +# create workload group +resource "tencentcloud_cdwdoris_workload_group" "example" { + instance_id = tencentcloud_cdwdoris_instance.example.id + workload_group { + workload_group_name = "example" + cpu_share = 1024 + memory_limit = 20 + enable_memory_over_commit = true + cpu_hard_limit = "30%" + } +} +` + +const testAccCdwdorisWorkloadGroupUpdate = ` +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = true + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} + +# create workload group +resource "tencentcloud_cdwdoris_workload_group" "example" { + instance_id = tencentcloud_cdwdoris_instance.example.id + workload_group { + workload_group_name = "example" + cpu_share = 1024 + memory_limit = 30 + enable_memory_over_commit = false + cpu_hard_limit = "20%" + } +} +` diff --git a/tencentcloud/services/cdwdoris/service_tencentcloud_cdwdoris.go b/tencentcloud/services/cdwdoris/service_tencentcloud_cdwdoris.go new file mode 100644 index 0000000000..137529bb4f --- /dev/null +++ b/tencentcloud/services/cdwdoris/service_tencentcloud_cdwdoris.go @@ -0,0 +1,264 @@ +// Code generated by iacg; DO NOT EDIT. +package cdwdoris + +import ( + "context" + "log" + + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" + + cdwdorisv20211228 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228" + + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/connectivity" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/ratelimit" +) + +func NewCdwdorisService(client *connectivity.TencentCloudClient) CdwdorisService { + return CdwdorisService{client: client} +} + +type CdwdorisService struct { + client *connectivity.TencentCloudClient +} + +func (me *CdwdorisService) DescribeCdwdorisInstanceById(ctx context.Context, instanceId string) (ret *cdwdorisv20211228.InstanceInfo, errRet error) { + logId := tccommon.GetLogId(ctx) + + request := cdwdorisv20211228.NewDescribeInstanceRequest() + request.InstanceId = &instanceId + + 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()) + } + }() + + ratelimit.Check(request.GetAction()) + + response, err := me.client.UseCdwdorisV20211228Client().DescribeInstance(request) + if err != nil { + errRet = err + return + } + + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + if response.Response == nil { + return + } + + ret = response.Response.InstanceInfo + return +} + +func (me *CdwdorisService) DescribeCdwdorisInstanceById1(ctx context.Context) (ret *cdwdorisv20211228.DescribeInstanceStateResponseParams, errRet error) { + logId := tccommon.GetLogId(ctx) + + request := cdwdorisv20211228.NewDescribeInstanceStateRequest() + + 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()) + } + }() + + ratelimit.Check(request.GetAction()) + + response, err := me.client.UseCdwdorisV20211228Client().DescribeInstanceState(request) + if err != nil { + errRet = err + return + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + ret = response.Response + return +} + +func (me *CdwdorisService) DescribeCdwdorisInstanceById2(ctx context.Context) (ret *cdwdorisv20211228.DescribeInstanceOperationsResponseParams, errRet error) { + logId := tccommon.GetLogId(ctx) + + request := cdwdorisv20211228.NewDescribeInstanceOperationsRequest() + + 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()) + } + }() + + ratelimit.Check(request.GetAction()) + + response, err := me.client.UseCdwdorisV20211228Client().DescribeInstanceOperations(request) + if err != nil { + errRet = err + return + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + ret = response.Response + return +} + +func (me *CdwdorisService) DescribeCdwdorisWorkloadGroupById(ctx context.Context, instanceId, workloadGroupName string) (workloadGroupConfig *cdwdorisv20211228.WorkloadGroupConfig, errRet error) { + logId := tccommon.GetLogId(ctx) + + request := cdwdorisv20211228.NewDescribeWorkloadGroupRequest() + request.InstanceId = helper.String(instanceId) + + 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()) + } + }() + + ratelimit.Check(request.GetAction()) + + response, err := me.client.UseCdwdorisV20211228Client().DescribeWorkloadGroup(request) + if err != nil { + errRet = err + return + } + + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + if response == nil || len(response.Response.WorkloadGroups) == 0 { + return + } + + for _, item := range response.Response.WorkloadGroups { + if *item.WorkloadGroupName == workloadGroupName { + workloadGroupConfig = item + return + } + } + + return +} + +func (me *CdwdorisService) DescribeCdwdorisWorkloadGroupsById(ctx context.Context, instanceId string) (workloadGroup *cdwdorisv20211228.DescribeWorkloadGroupResponseParams, errRet error) { + logId := tccommon.GetLogId(ctx) + + request := cdwdorisv20211228.NewDescribeWorkloadGroupRequest() + request.InstanceId = helper.String(instanceId) + + 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()) + } + }() + + ratelimit.Check(request.GetAction()) + + response, err := me.client.UseCdwdorisV20211228Client().DescribeWorkloadGroup(request) + if err != nil { + errRet = err + return + } + + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + if response == nil { + return + } + + workloadGroup = response.Response + + return +} + +func (me *CdwdorisService) DescribeCdwdorisSqlApiById(ctx context.Context, instanceId, userName string) (workloadGroupConfig *cdwdorisv20211228.WorkloadGroupConfig, errRet error) { + //logId := tccommon.GetLogId(ctx) + + //request := cdwdorisv20211228.NewDescribeSqlApisRequest() + //request.InstanceId = helper.String(instanceId) + //request.ApiType = helper.String("GetUsers") + //request.UserName = helper.String(userName) + // + //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()) + // } + //}() + // + //ratelimit.Check(request.GetAction()) + // + //response, err := me.client.UseCdwdorisV20211228Client().DescribeSqlApis(request) + //if err != nil { + // errRet = err + // return + //} + // + //log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + // + //if response == nil || len(response.Response.) == 0 { + // return + //} + // + //for _, item := range response.Response.WorkloadGroups { + // if *item.WorkloadGroupName == workloadGroupName { + // workloadGroupConfig = item + // return + // } + //} + + return +} + +func (me *CdwdorisService) DescribeCdwdorisInstancesByFilter(ctx context.Context, param map[string]interface{}) (ret []*cdwdorisv20211228.InstanceInfo, errRet error) { + var ( + logId = tccommon.GetLogId(ctx) + request = cdwdorisv20211228.NewDescribeInstancesRequest() + ) + + 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()) + } + }() + + for k, v := range param { + if k == "SearchInstanceId" { + request.SearchInstanceId = v.(*string) + } + + if k == "SearchInstanceName" { + request.SearchInstanceName = v.(*string) + } + + if k == "SearchTags" { + request.SearchTags = v.([]*cdwdorisv20211228.SearchTags) + } + } + + var ( + offset int64 = 0 + limit int64 = 10 + ) + + for { + request.Offset = &offset + request.Limit = &limit + ratelimit.Check(request.GetAction()) + response, err := me.client.UseCdwdorisV20211228Client().DescribeInstances(request) + if err != nil { + errRet = err + return + } + + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + if response == nil || len(response.Response.InstancesList) < 1 { + break + } + + ret = append(ret, response.Response.InstancesList...) + if len(response.Response.InstancesList) < int(limit) { + break + } + + offset += limit + } + + return +} diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/LICENSE b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/LICENSE new file mode 100644 index 0000000000..efc75a2253 --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2017-2018 Tencent Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228/client.go new file mode 100644 index 0000000000..610775e402 --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228/client.go @@ -0,0 +1,2986 @@ +// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package v20211228 + +import ( + "context" + "errors" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" + tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile" +) + +const APIVersion = "2021-12-28" + +type Client struct { + common.Client +} + +// Deprecated +func NewClientWithSecretId(secretId, secretKey, region string) (client *Client, err error) { + cpf := profile.NewClientProfile() + client = &Client{} + client.Init(region).WithSecretId(secretId, secretKey).WithProfile(cpf) + return +} + +func NewClient(credential common.CredentialIface, region string, clientProfile *profile.ClientProfile) (client *Client, err error) { + client = &Client{} + client.Init(region). + WithCredential(credential). + WithProfile(clientProfile) + return +} + + +func NewActionAlterUserRequest() (request *ActionAlterUserRequest) { + request = &ActionAlterUserRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ActionAlterUser") + + + return +} + +func NewActionAlterUserResponse() (response *ActionAlterUserResponse) { + response = &ActionAlterUserResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ActionAlterUser +// 新增和修改用户接口 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ActionAlterUser(request *ActionAlterUserRequest) (response *ActionAlterUserResponse, err error) { + return c.ActionAlterUserWithContext(context.Background(), request) +} + +// ActionAlterUser +// 新增和修改用户接口 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ActionAlterUserWithContext(ctx context.Context, request *ActionAlterUserRequest) (response *ActionAlterUserResponse, err error) { + if request == nil { + request = NewActionAlterUserRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ActionAlterUser require credential") + } + + request.SetContext(ctx) + + response = NewActionAlterUserResponse() + err = c.Send(request, response) + return +} + +func NewCancelBackupJobRequest() (request *CancelBackupJobRequest) { + request = &CancelBackupJobRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "CancelBackupJob") + + + return +} + +func NewCancelBackupJobResponse() (response *CancelBackupJobResponse) { + response = &CancelBackupJobResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CancelBackupJob +// 取消对应的备份实例任务 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CancelBackupJob(request *CancelBackupJobRequest) (response *CancelBackupJobResponse, err error) { + return c.CancelBackupJobWithContext(context.Background(), request) +} + +// CancelBackupJob +// 取消对应的备份实例任务 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CancelBackupJobWithContext(ctx context.Context, request *CancelBackupJobRequest) (response *CancelBackupJobResponse, err error) { + if request == nil { + request = NewCancelBackupJobRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CancelBackupJob require credential") + } + + request.SetContext(ctx) + + response = NewCancelBackupJobResponse() + err = c.Send(request, response) + return +} + +func NewCheckCoolDownWorkingVariableConfigCorrectRequest() (request *CheckCoolDownWorkingVariableConfigCorrectRequest) { + request = &CheckCoolDownWorkingVariableConfigCorrectRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "CheckCoolDownWorkingVariableConfigCorrect") + + + return +} + +func NewCheckCoolDownWorkingVariableConfigCorrectResponse() (response *CheckCoolDownWorkingVariableConfigCorrectResponse) { + response = &CheckCoolDownWorkingVariableConfigCorrectResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CheckCoolDownWorkingVariableConfigCorrect +// 查询冷热分层生效变量和配置是否正确 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CheckCoolDownWorkingVariableConfigCorrect(request *CheckCoolDownWorkingVariableConfigCorrectRequest) (response *CheckCoolDownWorkingVariableConfigCorrectResponse, err error) { + return c.CheckCoolDownWorkingVariableConfigCorrectWithContext(context.Background(), request) +} + +// CheckCoolDownWorkingVariableConfigCorrect +// 查询冷热分层生效变量和配置是否正确 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CheckCoolDownWorkingVariableConfigCorrectWithContext(ctx context.Context, request *CheckCoolDownWorkingVariableConfigCorrectRequest) (response *CheckCoolDownWorkingVariableConfigCorrectResponse, err error) { + if request == nil { + request = NewCheckCoolDownWorkingVariableConfigCorrectRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CheckCoolDownWorkingVariableConfigCorrect require credential") + } + + request.SetContext(ctx) + + response = NewCheckCoolDownWorkingVariableConfigCorrectResponse() + err = c.Send(request, response) + return +} + +func NewCreateBackUpScheduleRequest() (request *CreateBackUpScheduleRequest) { + request = &CreateBackUpScheduleRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "CreateBackUpSchedule") + + + return +} + +func NewCreateBackUpScheduleResponse() (response *CreateBackUpScheduleResponse) { + response = &CreateBackUpScheduleResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CreateBackUpSchedule +// 创建或者修改备份策略 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CreateBackUpSchedule(request *CreateBackUpScheduleRequest) (response *CreateBackUpScheduleResponse, err error) { + return c.CreateBackUpScheduleWithContext(context.Background(), request) +} + +// CreateBackUpSchedule +// 创建或者修改备份策略 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CreateBackUpScheduleWithContext(ctx context.Context, request *CreateBackUpScheduleRequest) (response *CreateBackUpScheduleResponse, err error) { + if request == nil { + request = NewCreateBackUpScheduleRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateBackUpSchedule require credential") + } + + request.SetContext(ctx) + + response = NewCreateBackUpScheduleResponse() + err = c.Send(request, response) + return +} + +func NewCreateCoolDownPolicyRequest() (request *CreateCoolDownPolicyRequest) { + request = &CreateCoolDownPolicyRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "CreateCoolDownPolicy") + + + return +} + +func NewCreateCoolDownPolicyResponse() (response *CreateCoolDownPolicyResponse) { + response = &CreateCoolDownPolicyResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CreateCoolDownPolicy +// 创建冷热分层策略 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CreateCoolDownPolicy(request *CreateCoolDownPolicyRequest) (response *CreateCoolDownPolicyResponse, err error) { + return c.CreateCoolDownPolicyWithContext(context.Background(), request) +} + +// CreateCoolDownPolicy +// 创建冷热分层策略 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CreateCoolDownPolicyWithContext(ctx context.Context, request *CreateCoolDownPolicyRequest) (response *CreateCoolDownPolicyResponse, err error) { + if request == nil { + request = NewCreateCoolDownPolicyRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateCoolDownPolicy require credential") + } + + request.SetContext(ctx) + + response = NewCreateCoolDownPolicyResponse() + err = c.Send(request, response) + return +} + +func NewCreateInstanceNewRequest() (request *CreateInstanceNewRequest) { + request = &CreateInstanceNewRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "CreateInstanceNew") + + + return +} + +func NewCreateInstanceNewResponse() (response *CreateInstanceNewResponse) { + response = &CreateInstanceNewResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CreateInstanceNew +// 通过API创建集群 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CreateInstanceNew(request *CreateInstanceNewRequest) (response *CreateInstanceNewResponse, err error) { + return c.CreateInstanceNewWithContext(context.Background(), request) +} + +// CreateInstanceNew +// 通过API创建集群 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CreateInstanceNewWithContext(ctx context.Context, request *CreateInstanceNewRequest) (response *CreateInstanceNewResponse, err error) { + if request == nil { + request = NewCreateInstanceNewRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateInstanceNew require credential") + } + + request.SetContext(ctx) + + response = NewCreateInstanceNewResponse() + err = c.Send(request, response) + return +} + +func NewCreateWorkloadGroupRequest() (request *CreateWorkloadGroupRequest) { + request = &CreateWorkloadGroupRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "CreateWorkloadGroup") + + + return +} + +func NewCreateWorkloadGroupResponse() (response *CreateWorkloadGroupResponse) { + response = &CreateWorkloadGroupResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CreateWorkloadGroup +// 创建资源组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CreateWorkloadGroup(request *CreateWorkloadGroupRequest) (response *CreateWorkloadGroupResponse, err error) { + return c.CreateWorkloadGroupWithContext(context.Background(), request) +} + +// CreateWorkloadGroup +// 创建资源组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) CreateWorkloadGroupWithContext(ctx context.Context, request *CreateWorkloadGroupRequest) (response *CreateWorkloadGroupResponse, err error) { + if request == nil { + request = NewCreateWorkloadGroupRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateWorkloadGroup require credential") + } + + request.SetContext(ctx) + + response = NewCreateWorkloadGroupResponse() + err = c.Send(request, response) + return +} + +func NewDeleteBackUpDataRequest() (request *DeleteBackUpDataRequest) { + request = &DeleteBackUpDataRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DeleteBackUpData") + + + return +} + +func NewDeleteBackUpDataResponse() (response *DeleteBackUpDataResponse) { + response = &DeleteBackUpDataResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DeleteBackUpData +// 删除备份数据 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DeleteBackUpData(request *DeleteBackUpDataRequest) (response *DeleteBackUpDataResponse, err error) { + return c.DeleteBackUpDataWithContext(context.Background(), request) +} + +// DeleteBackUpData +// 删除备份数据 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DeleteBackUpDataWithContext(ctx context.Context, request *DeleteBackUpDataRequest) (response *DeleteBackUpDataResponse, err error) { + if request == nil { + request = NewDeleteBackUpDataRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DeleteBackUpData require credential") + } + + request.SetContext(ctx) + + response = NewDeleteBackUpDataResponse() + err = c.Send(request, response) + return +} + +func NewDeleteWorkloadGroupRequest() (request *DeleteWorkloadGroupRequest) { + request = &DeleteWorkloadGroupRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DeleteWorkloadGroup") + + + return +} + +func NewDeleteWorkloadGroupResponse() (response *DeleteWorkloadGroupResponse) { + response = &DeleteWorkloadGroupResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DeleteWorkloadGroup +// 删除资源组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DeleteWorkloadGroup(request *DeleteWorkloadGroupRequest) (response *DeleteWorkloadGroupResponse, err error) { + return c.DeleteWorkloadGroupWithContext(context.Background(), request) +} + +// DeleteWorkloadGroup +// 删除资源组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DeleteWorkloadGroupWithContext(ctx context.Context, request *DeleteWorkloadGroupRequest) (response *DeleteWorkloadGroupResponse, err error) { + if request == nil { + request = NewDeleteWorkloadGroupRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DeleteWorkloadGroup require credential") + } + + request.SetContext(ctx) + + response = NewDeleteWorkloadGroupResponse() + err = c.Send(request, response) + return +} + +func NewDescribeAreaRegionRequest() (request *DescribeAreaRegionRequest) { + request = &DescribeAreaRegionRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeAreaRegion") + + + return +} + +func NewDescribeAreaRegionResponse() (response *DescribeAreaRegionResponse) { + response = &DescribeAreaRegionResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeAreaRegion +// 集群列表页上显示地域信息及各个地域的集群总数 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeAreaRegion(request *DescribeAreaRegionRequest) (response *DescribeAreaRegionResponse, err error) { + return c.DescribeAreaRegionWithContext(context.Background(), request) +} + +// DescribeAreaRegion +// 集群列表页上显示地域信息及各个地域的集群总数 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeAreaRegionWithContext(ctx context.Context, request *DescribeAreaRegionRequest) (response *DescribeAreaRegionResponse, err error) { + if request == nil { + request = NewDescribeAreaRegionRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeAreaRegion require credential") + } + + request.SetContext(ctx) + + response = NewDescribeAreaRegionResponse() + err = c.Send(request, response) + return +} + +func NewDescribeBackUpJobRequest() (request *DescribeBackUpJobRequest) { + request = &DescribeBackUpJobRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeBackUpJob") + + + return +} + +func NewDescribeBackUpJobResponse() (response *DescribeBackUpJobResponse) { + response = &DescribeBackUpJobResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeBackUpJob +// 查询备份实例列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpJob(request *DescribeBackUpJobRequest) (response *DescribeBackUpJobResponse, err error) { + return c.DescribeBackUpJobWithContext(context.Background(), request) +} + +// DescribeBackUpJob +// 查询备份实例列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpJobWithContext(ctx context.Context, request *DescribeBackUpJobRequest) (response *DescribeBackUpJobResponse, err error) { + if request == nil { + request = NewDescribeBackUpJobRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeBackUpJob require credential") + } + + request.SetContext(ctx) + + response = NewDescribeBackUpJobResponse() + err = c.Send(request, response) + return +} + +func NewDescribeBackUpJobDetailRequest() (request *DescribeBackUpJobDetailRequest) { + request = &DescribeBackUpJobDetailRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeBackUpJobDetail") + + + return +} + +func NewDescribeBackUpJobDetailResponse() (response *DescribeBackUpJobDetailResponse) { + response = &DescribeBackUpJobDetailResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeBackUpJobDetail +// 查询备份任务详情 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpJobDetail(request *DescribeBackUpJobDetailRequest) (response *DescribeBackUpJobDetailResponse, err error) { + return c.DescribeBackUpJobDetailWithContext(context.Background(), request) +} + +// DescribeBackUpJobDetail +// 查询备份任务详情 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpJobDetailWithContext(ctx context.Context, request *DescribeBackUpJobDetailRequest) (response *DescribeBackUpJobDetailResponse, err error) { + if request == nil { + request = NewDescribeBackUpJobDetailRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeBackUpJobDetail require credential") + } + + request.SetContext(ctx) + + response = NewDescribeBackUpJobDetailResponse() + err = c.Send(request, response) + return +} + +func NewDescribeBackUpSchedulesRequest() (request *DescribeBackUpSchedulesRequest) { + request = &DescribeBackUpSchedulesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeBackUpSchedules") + + + return +} + +func NewDescribeBackUpSchedulesResponse() (response *DescribeBackUpSchedulesResponse) { + response = &DescribeBackUpSchedulesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeBackUpSchedules +// 获取备份、迁移的调度任务信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpSchedules(request *DescribeBackUpSchedulesRequest) (response *DescribeBackUpSchedulesResponse, err error) { + return c.DescribeBackUpSchedulesWithContext(context.Background(), request) +} + +// DescribeBackUpSchedules +// 获取备份、迁移的调度任务信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpSchedulesWithContext(ctx context.Context, request *DescribeBackUpSchedulesRequest) (response *DescribeBackUpSchedulesResponse, err error) { + if request == nil { + request = NewDescribeBackUpSchedulesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeBackUpSchedules require credential") + } + + request.SetContext(ctx) + + response = NewDescribeBackUpSchedulesResponse() + err = c.Send(request, response) + return +} + +func NewDescribeBackUpTablesRequest() (request *DescribeBackUpTablesRequest) { + request = &DescribeBackUpTablesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeBackUpTables") + + + return +} + +func NewDescribeBackUpTablesResponse() (response *DescribeBackUpTablesResponse) { + response = &DescribeBackUpTablesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeBackUpTables +// 获取可备份表信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpTables(request *DescribeBackUpTablesRequest) (response *DescribeBackUpTablesResponse, err error) { + return c.DescribeBackUpTablesWithContext(context.Background(), request) +} + +// DescribeBackUpTables +// 获取可备份表信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpTablesWithContext(ctx context.Context, request *DescribeBackUpTablesRequest) (response *DescribeBackUpTablesResponse, err error) { + if request == nil { + request = NewDescribeBackUpTablesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeBackUpTables require credential") + } + + request.SetContext(ctx) + + response = NewDescribeBackUpTablesResponse() + err = c.Send(request, response) + return +} + +func NewDescribeBackUpTaskDetailRequest() (request *DescribeBackUpTaskDetailRequest) { + request = &DescribeBackUpTaskDetailRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeBackUpTaskDetail") + + + return +} + +func NewDescribeBackUpTaskDetailResponse() (response *DescribeBackUpTaskDetailResponse) { + response = &DescribeBackUpTaskDetailResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeBackUpTaskDetail +// 查询备份任务进度详情 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpTaskDetail(request *DescribeBackUpTaskDetailRequest) (response *DescribeBackUpTaskDetailResponse, err error) { + return c.DescribeBackUpTaskDetailWithContext(context.Background(), request) +} + +// DescribeBackUpTaskDetail +// 查询备份任务进度详情 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeBackUpTaskDetailWithContext(ctx context.Context, request *DescribeBackUpTaskDetailRequest) (response *DescribeBackUpTaskDetailResponse, err error) { + if request == nil { + request = NewDescribeBackUpTaskDetailRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeBackUpTaskDetail require credential") + } + + request.SetContext(ctx) + + response = NewDescribeBackUpTaskDetailResponse() + err = c.Send(request, response) + return +} + +func NewDescribeClusterConfigsRequest() (request *DescribeClusterConfigsRequest) { + request = &DescribeClusterConfigsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeClusterConfigs") + + + return +} + +func NewDescribeClusterConfigsResponse() (response *DescribeClusterConfigsResponse) { + response = &DescribeClusterConfigsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeClusterConfigs +// 获取集群的最新的几个配置文件(config.xml、metrika.xml、user.xml)的内容,显示给用户 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeClusterConfigs(request *DescribeClusterConfigsRequest) (response *DescribeClusterConfigsResponse, err error) { + return c.DescribeClusterConfigsWithContext(context.Background(), request) +} + +// DescribeClusterConfigs +// 获取集群的最新的几个配置文件(config.xml、metrika.xml、user.xml)的内容,显示给用户 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeClusterConfigsWithContext(ctx context.Context, request *DescribeClusterConfigsRequest) (response *DescribeClusterConfigsResponse, err error) { + if request == nil { + request = NewDescribeClusterConfigsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeClusterConfigs require credential") + } + + request.SetContext(ctx) + + response = NewDescribeClusterConfigsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeClusterConfigsHistoryRequest() (request *DescribeClusterConfigsHistoryRequest) { + request = &DescribeClusterConfigsHistoryRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeClusterConfigsHistory") + + + return +} + +func NewDescribeClusterConfigsHistoryResponse() (response *DescribeClusterConfigsHistoryResponse) { + response = &DescribeClusterConfigsHistoryResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeClusterConfigsHistory +// 获取集群配置文件修改历史 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeClusterConfigsHistory(request *DescribeClusterConfigsHistoryRequest) (response *DescribeClusterConfigsHistoryResponse, err error) { + return c.DescribeClusterConfigsHistoryWithContext(context.Background(), request) +} + +// DescribeClusterConfigsHistory +// 获取集群配置文件修改历史 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeClusterConfigsHistoryWithContext(ctx context.Context, request *DescribeClusterConfigsHistoryRequest) (response *DescribeClusterConfigsHistoryResponse, err error) { + if request == nil { + request = NewDescribeClusterConfigsHistoryRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeClusterConfigsHistory require credential") + } + + request.SetContext(ctx) + + response = NewDescribeClusterConfigsHistoryResponse() + err = c.Send(request, response) + return +} + +func NewDescribeCoolDownBackendsRequest() (request *DescribeCoolDownBackendsRequest) { + request = &DescribeCoolDownBackendsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeCoolDownBackends") + + + return +} + +func NewDescribeCoolDownBackendsResponse() (response *DescribeCoolDownBackendsResponse) { + response = &DescribeCoolDownBackendsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeCoolDownBackends +// 查询冷热分层backend节点信息列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeCoolDownBackends(request *DescribeCoolDownBackendsRequest) (response *DescribeCoolDownBackendsResponse, err error) { + return c.DescribeCoolDownBackendsWithContext(context.Background(), request) +} + +// DescribeCoolDownBackends +// 查询冷热分层backend节点信息列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeCoolDownBackendsWithContext(ctx context.Context, request *DescribeCoolDownBackendsRequest) (response *DescribeCoolDownBackendsResponse, err error) { + if request == nil { + request = NewDescribeCoolDownBackendsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeCoolDownBackends require credential") + } + + request.SetContext(ctx) + + response = NewDescribeCoolDownBackendsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeCoolDownPoliciesRequest() (request *DescribeCoolDownPoliciesRequest) { + request = &DescribeCoolDownPoliciesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeCoolDownPolicies") + + + return +} + +func NewDescribeCoolDownPoliciesResponse() (response *DescribeCoolDownPoliciesResponse) { + response = &DescribeCoolDownPoliciesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeCoolDownPolicies +// 查询冷热分层策略列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeCoolDownPolicies(request *DescribeCoolDownPoliciesRequest) (response *DescribeCoolDownPoliciesResponse, err error) { + return c.DescribeCoolDownPoliciesWithContext(context.Background(), request) +} + +// DescribeCoolDownPolicies +// 查询冷热分层策略列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeCoolDownPoliciesWithContext(ctx context.Context, request *DescribeCoolDownPoliciesRequest) (response *DescribeCoolDownPoliciesResponse, err error) { + if request == nil { + request = NewDescribeCoolDownPoliciesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeCoolDownPolicies require credential") + } + + request.SetContext(ctx) + + response = NewDescribeCoolDownPoliciesResponse() + err = c.Send(request, response) + return +} + +func NewDescribeCoolDownTableDataRequest() (request *DescribeCoolDownTableDataRequest) { + request = &DescribeCoolDownTableDataRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeCoolDownTableData") + + + return +} + +func NewDescribeCoolDownTableDataResponse() (response *DescribeCoolDownTableDataResponse) { + response = &DescribeCoolDownTableDataResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeCoolDownTableData +// 查询冷热分层Table数据 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeCoolDownTableData(request *DescribeCoolDownTableDataRequest) (response *DescribeCoolDownTableDataResponse, err error) { + return c.DescribeCoolDownTableDataWithContext(context.Background(), request) +} + +// DescribeCoolDownTableData +// 查询冷热分层Table数据 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeCoolDownTableDataWithContext(ctx context.Context, request *DescribeCoolDownTableDataRequest) (response *DescribeCoolDownTableDataResponse, err error) { + if request == nil { + request = NewDescribeCoolDownTableDataRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeCoolDownTableData require credential") + } + + request.SetContext(ctx) + + response = NewDescribeCoolDownTableDataResponse() + err = c.Send(request, response) + return +} + +func NewDescribeDatabaseAuditDownloadRequest() (request *DescribeDatabaseAuditDownloadRequest) { + request = &DescribeDatabaseAuditDownloadRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeDatabaseAuditDownload") + + + return +} + +func NewDescribeDatabaseAuditDownloadResponse() (response *DescribeDatabaseAuditDownloadResponse) { + response = &DescribeDatabaseAuditDownloadResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeDatabaseAuditDownload +// 下载数据库审计日志 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeDatabaseAuditDownload(request *DescribeDatabaseAuditDownloadRequest) (response *DescribeDatabaseAuditDownloadResponse, err error) { + return c.DescribeDatabaseAuditDownloadWithContext(context.Background(), request) +} + +// DescribeDatabaseAuditDownload +// 下载数据库审计日志 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeDatabaseAuditDownloadWithContext(ctx context.Context, request *DescribeDatabaseAuditDownloadRequest) (response *DescribeDatabaseAuditDownloadResponse, err error) { + if request == nil { + request = NewDescribeDatabaseAuditDownloadRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeDatabaseAuditDownload require credential") + } + + request.SetContext(ctx) + + response = NewDescribeDatabaseAuditDownloadResponse() + err = c.Send(request, response) + return +} + +func NewDescribeDatabaseAuditRecordsRequest() (request *DescribeDatabaseAuditRecordsRequest) { + request = &DescribeDatabaseAuditRecordsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeDatabaseAuditRecords") + + + return +} + +func NewDescribeDatabaseAuditRecordsResponse() (response *DescribeDatabaseAuditRecordsResponse) { + response = &DescribeDatabaseAuditRecordsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeDatabaseAuditRecords +// 获取数据库审计记录 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeDatabaseAuditRecords(request *DescribeDatabaseAuditRecordsRequest) (response *DescribeDatabaseAuditRecordsResponse, err error) { + return c.DescribeDatabaseAuditRecordsWithContext(context.Background(), request) +} + +// DescribeDatabaseAuditRecords +// 获取数据库审计记录 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeDatabaseAuditRecordsWithContext(ctx context.Context, request *DescribeDatabaseAuditRecordsRequest) (response *DescribeDatabaseAuditRecordsResponse, err error) { + if request == nil { + request = NewDescribeDatabaseAuditRecordsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeDatabaseAuditRecords require credential") + } + + request.SetContext(ctx) + + response = NewDescribeDatabaseAuditRecordsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstanceRequest() (request *DescribeInstanceRequest) { + request = &DescribeInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeInstance") + + + return +} + +func NewDescribeInstanceResponse() (response *DescribeInstanceResponse) { + response = &DescribeInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeInstance +// 根据集群ID查询某个集群的具体信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstance(request *DescribeInstanceRequest) (response *DescribeInstanceResponse, err error) { + return c.DescribeInstanceWithContext(context.Background(), request) +} + +// DescribeInstance +// 根据集群ID查询某个集群的具体信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceWithContext(ctx context.Context, request *DescribeInstanceRequest) (response *DescribeInstanceResponse, err error) { + if request == nil { + request = NewDescribeInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstance require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstanceResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstanceNodesRequest() (request *DescribeInstanceNodesRequest) { + request = &DescribeInstanceNodesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeInstanceNodes") + + + return +} + +func NewDescribeInstanceNodesResponse() (response *DescribeInstanceNodesResponse) { + response = &DescribeInstanceNodesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeInstanceNodes +// 获取集群节点信息列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceNodes(request *DescribeInstanceNodesRequest) (response *DescribeInstanceNodesResponse, err error) { + return c.DescribeInstanceNodesWithContext(context.Background(), request) +} + +// DescribeInstanceNodes +// 获取集群节点信息列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceNodesWithContext(ctx context.Context, request *DescribeInstanceNodesRequest) (response *DescribeInstanceNodesResponse, err error) { + if request == nil { + request = NewDescribeInstanceNodesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstanceNodes require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstanceNodesResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstanceNodesInfoRequest() (request *DescribeInstanceNodesInfoRequest) { + request = &DescribeInstanceNodesInfoRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeInstanceNodesInfo") + + + return +} + +func NewDescribeInstanceNodesInfoResponse() (response *DescribeInstanceNodesInfoResponse) { + response = &DescribeInstanceNodesInfoResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeInstanceNodesInfo +// 获取BE/FE节点角色 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceNodesInfo(request *DescribeInstanceNodesInfoRequest) (response *DescribeInstanceNodesInfoResponse, err error) { + return c.DescribeInstanceNodesInfoWithContext(context.Background(), request) +} + +// DescribeInstanceNodesInfo +// 获取BE/FE节点角色 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceNodesInfoWithContext(ctx context.Context, request *DescribeInstanceNodesInfoRequest) (response *DescribeInstanceNodesInfoResponse, err error) { + if request == nil { + request = NewDescribeInstanceNodesInfoRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstanceNodesInfo require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstanceNodesInfoResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstanceNodesRoleRequest() (request *DescribeInstanceNodesRoleRequest) { + request = &DescribeInstanceNodesRoleRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeInstanceNodesRole") + + + return +} + +func NewDescribeInstanceNodesRoleResponse() (response *DescribeInstanceNodesRoleResponse) { + response = &DescribeInstanceNodesRoleResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeInstanceNodesRole +// 获取集群节点角色 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceNodesRole(request *DescribeInstanceNodesRoleRequest) (response *DescribeInstanceNodesRoleResponse, err error) { + return c.DescribeInstanceNodesRoleWithContext(context.Background(), request) +} + +// DescribeInstanceNodesRole +// 获取集群节点角色 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceNodesRoleWithContext(ctx context.Context, request *DescribeInstanceNodesRoleRequest) (response *DescribeInstanceNodesRoleResponse, err error) { + if request == nil { + request = NewDescribeInstanceNodesRoleRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstanceNodesRole require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstanceNodesRoleResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstanceOperationsRequest() (request *DescribeInstanceOperationsRequest) { + request = &DescribeInstanceOperationsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeInstanceOperations") + + + return +} + +func NewDescribeInstanceOperationsResponse() (response *DescribeInstanceOperationsResponse) { + response = &DescribeInstanceOperationsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeInstanceOperations +// 在集群详情页面,拉取该集群的操作 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceOperations(request *DescribeInstanceOperationsRequest) (response *DescribeInstanceOperationsResponse, err error) { + return c.DescribeInstanceOperationsWithContext(context.Background(), request) +} + +// DescribeInstanceOperations +// 在集群详情页面,拉取该集群的操作 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceOperationsWithContext(ctx context.Context, request *DescribeInstanceOperationsRequest) (response *DescribeInstanceOperationsResponse, err error) { + if request == nil { + request = NewDescribeInstanceOperationsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstanceOperations require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstanceOperationsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstanceStateRequest() (request *DescribeInstanceStateRequest) { + request = &DescribeInstanceStateRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeInstanceState") + + + return +} + +func NewDescribeInstanceStateResponse() (response *DescribeInstanceStateResponse) { + response = &DescribeInstanceStateResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeInstanceState +// 集群详情页中显示集群状态、流程进度等 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceState(request *DescribeInstanceStateRequest) (response *DescribeInstanceStateResponse, err error) { + return c.DescribeInstanceStateWithContext(context.Background(), request) +} + +// DescribeInstanceState +// 集群详情页中显示集群状态、流程进度等 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceStateWithContext(ctx context.Context, request *DescribeInstanceStateRequest) (response *DescribeInstanceStateResponse, err error) { + if request == nil { + request = NewDescribeInstanceStateRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstanceState require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstanceStateResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstanceUsedSubnetsRequest() (request *DescribeInstanceUsedSubnetsRequest) { + request = &DescribeInstanceUsedSubnetsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeInstanceUsedSubnets") + + + return +} + +func NewDescribeInstanceUsedSubnetsResponse() (response *DescribeInstanceUsedSubnetsResponse) { + response = &DescribeInstanceUsedSubnetsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeInstanceUsedSubnets +// 获取集群已使用子网信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceUsedSubnets(request *DescribeInstanceUsedSubnetsRequest) (response *DescribeInstanceUsedSubnetsResponse, err error) { + return c.DescribeInstanceUsedSubnetsWithContext(context.Background(), request) +} + +// DescribeInstanceUsedSubnets +// 获取集群已使用子网信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstanceUsedSubnetsWithContext(ctx context.Context, request *DescribeInstanceUsedSubnetsRequest) (response *DescribeInstanceUsedSubnetsResponse, err error) { + if request == nil { + request = NewDescribeInstanceUsedSubnetsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstanceUsedSubnets require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstanceUsedSubnetsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstancesRequest() (request *DescribeInstancesRequest) { + request = &DescribeInstancesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeInstances") + + + return +} + +func NewDescribeInstancesResponse() (response *DescribeInstancesResponse) { + response = &DescribeInstancesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeInstances +// 获取集群列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstances(request *DescribeInstancesRequest) (response *DescribeInstancesResponse, err error) { + return c.DescribeInstancesWithContext(context.Background(), request) +} + +// DescribeInstances +// 获取集群列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstancesWithContext(ctx context.Context, request *DescribeInstancesRequest) (response *DescribeInstancesResponse, err error) { + if request == nil { + request = NewDescribeInstancesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstances require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstancesResponse() + err = c.Send(request, response) + return +} + +func NewDescribeInstancesHealthStateRequest() (request *DescribeInstancesHealthStateRequest) { + request = &DescribeInstancesHealthStateRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeInstancesHealthState") + + + return +} + +func NewDescribeInstancesHealthStateResponse() (response *DescribeInstancesHealthStateResponse) { + response = &DescribeInstancesHealthStateResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeInstancesHealthState +// 集群健康检查 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstancesHealthState(request *DescribeInstancesHealthStateRequest) (response *DescribeInstancesHealthStateResponse, err error) { + return c.DescribeInstancesHealthStateWithContext(context.Background(), request) +} + +// DescribeInstancesHealthState +// 集群健康检查 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeInstancesHealthStateWithContext(ctx context.Context, request *DescribeInstancesHealthStateRequest) (response *DescribeInstancesHealthStateResponse, err error) { + if request == nil { + request = NewDescribeInstancesHealthStateRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeInstancesHealthState require credential") + } + + request.SetContext(ctx) + + response = NewDescribeInstancesHealthStateResponse() + err = c.Send(request, response) + return +} + +func NewDescribeRestoreTaskDetailRequest() (request *DescribeRestoreTaskDetailRequest) { + request = &DescribeRestoreTaskDetailRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeRestoreTaskDetail") + + + return +} + +func NewDescribeRestoreTaskDetailResponse() (response *DescribeRestoreTaskDetailResponse) { + response = &DescribeRestoreTaskDetailResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeRestoreTaskDetail +// 查询恢复任务进度详情 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeRestoreTaskDetail(request *DescribeRestoreTaskDetailRequest) (response *DescribeRestoreTaskDetailResponse, err error) { + return c.DescribeRestoreTaskDetailWithContext(context.Background(), request) +} + +// DescribeRestoreTaskDetail +// 查询恢复任务进度详情 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeRestoreTaskDetailWithContext(ctx context.Context, request *DescribeRestoreTaskDetailRequest) (response *DescribeRestoreTaskDetailResponse, err error) { + if request == nil { + request = NewDescribeRestoreTaskDetailRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeRestoreTaskDetail require credential") + } + + request.SetContext(ctx) + + response = NewDescribeRestoreTaskDetailResponse() + err = c.Send(request, response) + return +} + +func NewDescribeSlowQueryRecordsRequest() (request *DescribeSlowQueryRecordsRequest) { + request = &DescribeSlowQueryRecordsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeSlowQueryRecords") + + + return +} + +func NewDescribeSlowQueryRecordsResponse() (response *DescribeSlowQueryRecordsResponse) { + response = &DescribeSlowQueryRecordsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeSlowQueryRecords +// 获取慢查询列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeSlowQueryRecords(request *DescribeSlowQueryRecordsRequest) (response *DescribeSlowQueryRecordsResponse, err error) { + return c.DescribeSlowQueryRecordsWithContext(context.Background(), request) +} + +// DescribeSlowQueryRecords +// 获取慢查询列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeSlowQueryRecordsWithContext(ctx context.Context, request *DescribeSlowQueryRecordsRequest) (response *DescribeSlowQueryRecordsResponse, err error) { + if request == nil { + request = NewDescribeSlowQueryRecordsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeSlowQueryRecords require credential") + } + + request.SetContext(ctx) + + response = NewDescribeSlowQueryRecordsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeSlowQueryRecordsDownloadRequest() (request *DescribeSlowQueryRecordsDownloadRequest) { + request = &DescribeSlowQueryRecordsDownloadRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeSlowQueryRecordsDownload") + + + return +} + +func NewDescribeSlowQueryRecordsDownloadResponse() (response *DescribeSlowQueryRecordsDownloadResponse) { + response = &DescribeSlowQueryRecordsDownloadResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeSlowQueryRecordsDownload +// 下载慢查询文件 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeSlowQueryRecordsDownload(request *DescribeSlowQueryRecordsDownloadRequest) (response *DescribeSlowQueryRecordsDownloadResponse, err error) { + return c.DescribeSlowQueryRecordsDownloadWithContext(context.Background(), request) +} + +// DescribeSlowQueryRecordsDownload +// 下载慢查询文件 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeSlowQueryRecordsDownloadWithContext(ctx context.Context, request *DescribeSlowQueryRecordsDownloadRequest) (response *DescribeSlowQueryRecordsDownloadResponse, err error) { + if request == nil { + request = NewDescribeSlowQueryRecordsDownloadRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeSlowQueryRecordsDownload require credential") + } + + request.SetContext(ctx) + + response = NewDescribeSlowQueryRecordsDownloadResponse() + err = c.Send(request, response) + return +} + +func NewDescribeSpecRequest() (request *DescribeSpecRequest) { + request = &DescribeSpecRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeSpec") + + + return +} + +func NewDescribeSpecResponse() (response *DescribeSpecResponse) { + response = &DescribeSpecResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeSpec +// 购买页拉取集群的数据节点和zookeeper节点的规格列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeSpec(request *DescribeSpecRequest) (response *DescribeSpecResponse, err error) { + return c.DescribeSpecWithContext(context.Background(), request) +} + +// DescribeSpec +// 购买页拉取集群的数据节点和zookeeper节点的规格列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeSpecWithContext(ctx context.Context, request *DescribeSpecRequest) (response *DescribeSpecResponse, err error) { + if request == nil { + request = NewDescribeSpecRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeSpec require credential") + } + + request.SetContext(ctx) + + response = NewDescribeSpecResponse() + err = c.Send(request, response) + return +} + +func NewDescribeSqlApisRequest() (request *DescribeSqlApisRequest) { + request = &DescribeSqlApisRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeSqlApis") + + + return +} + +func NewDescribeSqlApisResponse() (response *DescribeSqlApisResponse) { + response = &DescribeSqlApisResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeSqlApis +// 针对驱动sql命令查询集群接口 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeSqlApis(request *DescribeSqlApisRequest) (response *DescribeSqlApisResponse, err error) { + return c.DescribeSqlApisWithContext(context.Background(), request) +} + +// DescribeSqlApis +// 针对驱动sql命令查询集群接口 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeSqlApisWithContext(ctx context.Context, request *DescribeSqlApisRequest) (response *DescribeSqlApisResponse, err error) { + if request == nil { + request = NewDescribeSqlApisRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeSqlApis require credential") + } + + request.SetContext(ctx) + + response = NewDescribeSqlApisResponse() + err = c.Send(request, response) + return +} + +func NewDescribeTableListRequest() (request *DescribeTableListRequest) { + request = &DescribeTableListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeTableList") + + + return +} + +func NewDescribeTableListResponse() (response *DescribeTableListResponse) { + response = &DescribeTableListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeTableList +// 获取指定数据源和库下的表列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeTableList(request *DescribeTableListRequest) (response *DescribeTableListResponse, err error) { + return c.DescribeTableListWithContext(context.Background(), request) +} + +// DescribeTableList +// 获取指定数据源和库下的表列表 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeTableListWithContext(ctx context.Context, request *DescribeTableListRequest) (response *DescribeTableListResponse, err error) { + if request == nil { + request = NewDescribeTableListRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeTableList require credential") + } + + request.SetContext(ctx) + + response = NewDescribeTableListResponse() + err = c.Send(request, response) + return +} + +func NewDescribeUserBindWorkloadGroupRequest() (request *DescribeUserBindWorkloadGroupRequest) { + request = &DescribeUserBindWorkloadGroupRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeUserBindWorkloadGroup") + + + return +} + +func NewDescribeUserBindWorkloadGroupResponse() (response *DescribeUserBindWorkloadGroupResponse) { + response = &DescribeUserBindWorkloadGroupResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeUserBindWorkloadGroup +// 获取当前集群各用户绑定的资源信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeUserBindWorkloadGroup(request *DescribeUserBindWorkloadGroupRequest) (response *DescribeUserBindWorkloadGroupResponse, err error) { + return c.DescribeUserBindWorkloadGroupWithContext(context.Background(), request) +} + +// DescribeUserBindWorkloadGroup +// 获取当前集群各用户绑定的资源信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeUserBindWorkloadGroupWithContext(ctx context.Context, request *DescribeUserBindWorkloadGroupRequest) (response *DescribeUserBindWorkloadGroupResponse, err error) { + if request == nil { + request = NewDescribeUserBindWorkloadGroupRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeUserBindWorkloadGroup require credential") + } + + request.SetContext(ctx) + + response = NewDescribeUserBindWorkloadGroupResponse() + err = c.Send(request, response) + return +} + +func NewDescribeWorkloadGroupRequest() (request *DescribeWorkloadGroupRequest) { + request = &DescribeWorkloadGroupRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DescribeWorkloadGroup") + + + return +} + +func NewDescribeWorkloadGroupResponse() (response *DescribeWorkloadGroupResponse) { + response = &DescribeWorkloadGroupResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeWorkloadGroup +// 获取资源组信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeWorkloadGroup(request *DescribeWorkloadGroupRequest) (response *DescribeWorkloadGroupResponse, err error) { + return c.DescribeWorkloadGroupWithContext(context.Background(), request) +} + +// DescribeWorkloadGroup +// 获取资源组信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DescribeWorkloadGroupWithContext(ctx context.Context, request *DescribeWorkloadGroupRequest) (response *DescribeWorkloadGroupResponse, err error) { + if request == nil { + request = NewDescribeWorkloadGroupRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeWorkloadGroup require credential") + } + + request.SetContext(ctx) + + response = NewDescribeWorkloadGroupResponse() + err = c.Send(request, response) + return +} + +func NewDestroyInstanceRequest() (request *DestroyInstanceRequest) { + request = &DestroyInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "DestroyInstance") + + + return +} + +func NewDestroyInstanceResponse() (response *DestroyInstanceResponse) { + response = &DestroyInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DestroyInstance +// 销毁集群 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DestroyInstance(request *DestroyInstanceRequest) (response *DestroyInstanceResponse, err error) { + return c.DestroyInstanceWithContext(context.Background(), request) +} + +// DestroyInstance +// 销毁集群 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) DestroyInstanceWithContext(ctx context.Context, request *DestroyInstanceRequest) (response *DestroyInstanceResponse, err error) { + if request == nil { + request = NewDestroyInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DestroyInstance require credential") + } + + request.SetContext(ctx) + + response = NewDestroyInstanceResponse() + err = c.Send(request, response) + return +} + +func NewModifyClusterConfigsRequest() (request *ModifyClusterConfigsRequest) { + request = &ModifyClusterConfigsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifyClusterConfigs") + + + return +} + +func NewModifyClusterConfigsResponse() (response *ModifyClusterConfigsResponse) { + response = &ModifyClusterConfigsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyClusterConfigs +// 在集群配置页面修改集群配置文件接口,xml模式 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyClusterConfigs(request *ModifyClusterConfigsRequest) (response *ModifyClusterConfigsResponse, err error) { + return c.ModifyClusterConfigsWithContext(context.Background(), request) +} + +// ModifyClusterConfigs +// 在集群配置页面修改集群配置文件接口,xml模式 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyClusterConfigsWithContext(ctx context.Context, request *ModifyClusterConfigsRequest) (response *ModifyClusterConfigsResponse, err error) { + if request == nil { + request = NewModifyClusterConfigsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyClusterConfigs require credential") + } + + request.SetContext(ctx) + + response = NewModifyClusterConfigsResponse() + err = c.Send(request, response) + return +} + +func NewModifyCoolDownPolicyRequest() (request *ModifyCoolDownPolicyRequest) { + request = &ModifyCoolDownPolicyRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifyCoolDownPolicy") + + + return +} + +func NewModifyCoolDownPolicyResponse() (response *ModifyCoolDownPolicyResponse) { + response = &ModifyCoolDownPolicyResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyCoolDownPolicy +// 修改冷热分层策略 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyCoolDownPolicy(request *ModifyCoolDownPolicyRequest) (response *ModifyCoolDownPolicyResponse, err error) { + return c.ModifyCoolDownPolicyWithContext(context.Background(), request) +} + +// ModifyCoolDownPolicy +// 修改冷热分层策略 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyCoolDownPolicyWithContext(ctx context.Context, request *ModifyCoolDownPolicyRequest) (response *ModifyCoolDownPolicyResponse, err error) { + if request == nil { + request = NewModifyCoolDownPolicyRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyCoolDownPolicy require credential") + } + + request.SetContext(ctx) + + response = NewModifyCoolDownPolicyResponse() + err = c.Send(request, response) + return +} + +func NewModifyInstanceRequest() (request *ModifyInstanceRequest) { + request = &ModifyInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifyInstance") + + + return +} + +func NewModifyInstanceResponse() (response *ModifyInstanceResponse) { + response = &ModifyInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyInstance +// 修改集群名称 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyInstance(request *ModifyInstanceRequest) (response *ModifyInstanceResponse, err error) { + return c.ModifyInstanceWithContext(context.Background(), request) +} + +// ModifyInstance +// 修改集群名称 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyInstanceWithContext(ctx context.Context, request *ModifyInstanceRequest) (response *ModifyInstanceResponse, err error) { + if request == nil { + request = NewModifyInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyInstance require credential") + } + + request.SetContext(ctx) + + response = NewModifyInstanceResponse() + err = c.Send(request, response) + return +} + +func NewModifyInstanceKeyValConfigsRequest() (request *ModifyInstanceKeyValConfigsRequest) { + request = &ModifyInstanceKeyValConfigsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifyInstanceKeyValConfigs") + + + return +} + +func NewModifyInstanceKeyValConfigsResponse() (response *ModifyInstanceKeyValConfigsResponse) { + response = &ModifyInstanceKeyValConfigsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyInstanceKeyValConfigs +// KV模式修改配置接口 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyInstanceKeyValConfigs(request *ModifyInstanceKeyValConfigsRequest) (response *ModifyInstanceKeyValConfigsResponse, err error) { + return c.ModifyInstanceKeyValConfigsWithContext(context.Background(), request) +} + +// ModifyInstanceKeyValConfigs +// KV模式修改配置接口 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyInstanceKeyValConfigsWithContext(ctx context.Context, request *ModifyInstanceKeyValConfigsRequest) (response *ModifyInstanceKeyValConfigsResponse, err error) { + if request == nil { + request = NewModifyInstanceKeyValConfigsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyInstanceKeyValConfigs require credential") + } + + request.SetContext(ctx) + + response = NewModifyInstanceKeyValConfigsResponse() + err = c.Send(request, response) + return +} + +func NewModifyNodeStatusRequest() (request *ModifyNodeStatusRequest) { + request = &ModifyNodeStatusRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifyNodeStatus") + + + return +} + +func NewModifyNodeStatusResponse() (response *ModifyNodeStatusResponse) { + response = &ModifyNodeStatusResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyNodeStatus +// 修改节点状态 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyNodeStatus(request *ModifyNodeStatusRequest) (response *ModifyNodeStatusResponse, err error) { + return c.ModifyNodeStatusWithContext(context.Background(), request) +} + +// ModifyNodeStatus +// 修改节点状态 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyNodeStatusWithContext(ctx context.Context, request *ModifyNodeStatusRequest) (response *ModifyNodeStatusResponse, err error) { + if request == nil { + request = NewModifyNodeStatusRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyNodeStatus require credential") + } + + request.SetContext(ctx) + + response = NewModifyNodeStatusResponse() + err = c.Send(request, response) + return +} + +func NewModifySecurityGroupsRequest() (request *ModifySecurityGroupsRequest) { + request = &ModifySecurityGroupsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifySecurityGroups") + + + return +} + +func NewModifySecurityGroupsResponse() (response *ModifySecurityGroupsResponse) { + response = &ModifySecurityGroupsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifySecurityGroups +// 更改安全组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifySecurityGroups(request *ModifySecurityGroupsRequest) (response *ModifySecurityGroupsResponse, err error) { + return c.ModifySecurityGroupsWithContext(context.Background(), request) +} + +// ModifySecurityGroups +// 更改安全组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifySecurityGroupsWithContext(ctx context.Context, request *ModifySecurityGroupsRequest) (response *ModifySecurityGroupsResponse, err error) { + if request == nil { + request = NewModifySecurityGroupsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifySecurityGroups require credential") + } + + request.SetContext(ctx) + + response = NewModifySecurityGroupsResponse() + err = c.Send(request, response) + return +} + +func NewModifyUserBindWorkloadGroupRequest() (request *ModifyUserBindWorkloadGroupRequest) { + request = &ModifyUserBindWorkloadGroupRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifyUserBindWorkloadGroup") + + + return +} + +func NewModifyUserBindWorkloadGroupResponse() (response *ModifyUserBindWorkloadGroupResponse) { + response = &ModifyUserBindWorkloadGroupResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyUserBindWorkloadGroup +// 修改用户绑定的资源组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyUserBindWorkloadGroup(request *ModifyUserBindWorkloadGroupRequest) (response *ModifyUserBindWorkloadGroupResponse, err error) { + return c.ModifyUserBindWorkloadGroupWithContext(context.Background(), request) +} + +// ModifyUserBindWorkloadGroup +// 修改用户绑定的资源组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyUserBindWorkloadGroupWithContext(ctx context.Context, request *ModifyUserBindWorkloadGroupRequest) (response *ModifyUserBindWorkloadGroupResponse, err error) { + if request == nil { + request = NewModifyUserBindWorkloadGroupRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyUserBindWorkloadGroup require credential") + } + + request.SetContext(ctx) + + response = NewModifyUserBindWorkloadGroupResponse() + err = c.Send(request, response) + return +} + +func NewModifyUserPrivilegesV3Request() (request *ModifyUserPrivilegesV3Request) { + request = &ModifyUserPrivilegesV3Request{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifyUserPrivilegesV3") + + + return +} + +func NewModifyUserPrivilegesV3Response() (response *ModifyUserPrivilegesV3Response) { + response = &ModifyUserPrivilegesV3Response{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyUserPrivilegesV3 +// 修改用户权限,支持catalog,全部db,部分db表三种权限设置类别 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyUserPrivilegesV3(request *ModifyUserPrivilegesV3Request) (response *ModifyUserPrivilegesV3Response, err error) { + return c.ModifyUserPrivilegesV3WithContext(context.Background(), request) +} + +// ModifyUserPrivilegesV3 +// 修改用户权限,支持catalog,全部db,部分db表三种权限设置类别 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyUserPrivilegesV3WithContext(ctx context.Context, request *ModifyUserPrivilegesV3Request) (response *ModifyUserPrivilegesV3Response, err error) { + if request == nil { + request = NewModifyUserPrivilegesV3Request() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyUserPrivilegesV3 require credential") + } + + request.SetContext(ctx) + + response = NewModifyUserPrivilegesV3Response() + err = c.Send(request, response) + return +} + +func NewModifyWorkloadGroupRequest() (request *ModifyWorkloadGroupRequest) { + request = &ModifyWorkloadGroupRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifyWorkloadGroup") + + + return +} + +func NewModifyWorkloadGroupResponse() (response *ModifyWorkloadGroupResponse) { + response = &ModifyWorkloadGroupResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyWorkloadGroup +// 修改资源组信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyWorkloadGroup(request *ModifyWorkloadGroupRequest) (response *ModifyWorkloadGroupResponse, err error) { + return c.ModifyWorkloadGroupWithContext(context.Background(), request) +} + +// ModifyWorkloadGroup +// 修改资源组信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyWorkloadGroupWithContext(ctx context.Context, request *ModifyWorkloadGroupRequest) (response *ModifyWorkloadGroupResponse, err error) { + if request == nil { + request = NewModifyWorkloadGroupRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyWorkloadGroup require credential") + } + + request.SetContext(ctx) + + response = NewModifyWorkloadGroupResponse() + err = c.Send(request, response) + return +} + +func NewModifyWorkloadGroupStatusRequest() (request *ModifyWorkloadGroupStatusRequest) { + request = &ModifyWorkloadGroupStatusRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ModifyWorkloadGroupStatus") + + + return +} + +func NewModifyWorkloadGroupStatusResponse() (response *ModifyWorkloadGroupStatusResponse) { + response = &ModifyWorkloadGroupStatusResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyWorkloadGroupStatus +// 开启或关闭资源组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyWorkloadGroupStatus(request *ModifyWorkloadGroupStatusRequest) (response *ModifyWorkloadGroupStatusResponse, err error) { + return c.ModifyWorkloadGroupStatusWithContext(context.Background(), request) +} + +// ModifyWorkloadGroupStatus +// 开启或关闭资源组 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ModifyWorkloadGroupStatusWithContext(ctx context.Context, request *ModifyWorkloadGroupStatusRequest) (response *ModifyWorkloadGroupStatusResponse, err error) { + if request == nil { + request = NewModifyWorkloadGroupStatusRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyWorkloadGroupStatus require credential") + } + + request.SetContext(ctx) + + response = NewModifyWorkloadGroupStatusResponse() + err = c.Send(request, response) + return +} + +func NewOpenCoolDownRequest() (request *OpenCoolDownRequest) { + request = &OpenCoolDownRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "OpenCoolDown") + + + return +} + +func NewOpenCoolDownResponse() (response *OpenCoolDownResponse) { + response = &OpenCoolDownResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// OpenCoolDown +// 开始启用冷热分层 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) OpenCoolDown(request *OpenCoolDownRequest) (response *OpenCoolDownResponse, err error) { + return c.OpenCoolDownWithContext(context.Background(), request) +} + +// OpenCoolDown +// 开始启用冷热分层 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) OpenCoolDownWithContext(ctx context.Context, request *OpenCoolDownRequest) (response *OpenCoolDownResponse, err error) { + if request == nil { + request = NewOpenCoolDownRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("OpenCoolDown require credential") + } + + request.SetContext(ctx) + + response = NewOpenCoolDownResponse() + err = c.Send(request, response) + return +} + +func NewOpenCoolDownPolicyRequest() (request *OpenCoolDownPolicyRequest) { + request = &OpenCoolDownPolicyRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "OpenCoolDownPolicy") + + + return +} + +func NewOpenCoolDownPolicyResponse() (response *OpenCoolDownPolicyResponse) { + response = &OpenCoolDownPolicyResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// OpenCoolDownPolicy +// 开通、描述降冷策略接口 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) OpenCoolDownPolicy(request *OpenCoolDownPolicyRequest) (response *OpenCoolDownPolicyResponse, err error) { + return c.OpenCoolDownPolicyWithContext(context.Background(), request) +} + +// OpenCoolDownPolicy +// 开通、描述降冷策略接口 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) OpenCoolDownPolicyWithContext(ctx context.Context, request *OpenCoolDownPolicyRequest) (response *OpenCoolDownPolicyResponse, err error) { + if request == nil { + request = NewOpenCoolDownPolicyRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("OpenCoolDownPolicy require credential") + } + + request.SetContext(ctx) + + response = NewOpenCoolDownPolicyResponse() + err = c.Send(request, response) + return +} + +func NewRecoverBackUpJobRequest() (request *RecoverBackUpJobRequest) { + request = &RecoverBackUpJobRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "RecoverBackUpJob") + + + return +} + +func NewRecoverBackUpJobResponse() (response *RecoverBackUpJobResponse) { + response = &RecoverBackUpJobResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// RecoverBackUpJob +// 备份恢复 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) RecoverBackUpJob(request *RecoverBackUpJobRequest) (response *RecoverBackUpJobResponse, err error) { + return c.RecoverBackUpJobWithContext(context.Background(), request) +} + +// RecoverBackUpJob +// 备份恢复 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) RecoverBackUpJobWithContext(ctx context.Context, request *RecoverBackUpJobRequest) (response *RecoverBackUpJobResponse, err error) { + if request == nil { + request = NewRecoverBackUpJobRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("RecoverBackUpJob require credential") + } + + request.SetContext(ctx) + + response = NewRecoverBackUpJobResponse() + err = c.Send(request, response) + return +} + +func NewReduceInstanceRequest() (request *ReduceInstanceRequest) { + request = &ReduceInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ReduceInstance") + + + return +} + +func NewReduceInstanceResponse() (response *ReduceInstanceResponse) { + response = &ReduceInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ReduceInstance +// 集群缩容 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ReduceInstance(request *ReduceInstanceRequest) (response *ReduceInstanceResponse, err error) { + return c.ReduceInstanceWithContext(context.Background(), request) +} + +// ReduceInstance +// 集群缩容 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ReduceInstanceWithContext(ctx context.Context, request *ReduceInstanceRequest) (response *ReduceInstanceResponse, err error) { + if request == nil { + request = NewReduceInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ReduceInstance require credential") + } + + request.SetContext(ctx) + + response = NewReduceInstanceResponse() + err = c.Send(request, response) + return +} + +func NewResizeDiskRequest() (request *ResizeDiskRequest) { + request = &ResizeDiskRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ResizeDisk") + + + return +} + +func NewResizeDiskResponse() (response *ResizeDiskResponse) { + response = &ResizeDiskResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ResizeDisk +// 扩容云盘 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ResizeDisk(request *ResizeDiskRequest) (response *ResizeDiskResponse, err error) { + return c.ResizeDiskWithContext(context.Background(), request) +} + +// ResizeDisk +// 扩容云盘 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ResizeDiskWithContext(ctx context.Context, request *ResizeDiskRequest) (response *ResizeDiskResponse, err error) { + if request == nil { + request = NewResizeDiskRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ResizeDisk require credential") + } + + request.SetContext(ctx) + + response = NewResizeDiskResponse() + err = c.Send(request, response) + return +} + +func NewRestartClusterForConfigsRequest() (request *RestartClusterForConfigsRequest) { + request = &RestartClusterForConfigsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "RestartClusterForConfigs") + + + return +} + +func NewRestartClusterForConfigsResponse() (response *RestartClusterForConfigsResponse) { + response = &RestartClusterForConfigsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// RestartClusterForConfigs +// 重启集群让配置文件生效 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) RestartClusterForConfigs(request *RestartClusterForConfigsRequest) (response *RestartClusterForConfigsResponse, err error) { + return c.RestartClusterForConfigsWithContext(context.Background(), request) +} + +// RestartClusterForConfigs +// 重启集群让配置文件生效 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) RestartClusterForConfigsWithContext(ctx context.Context, request *RestartClusterForConfigsRequest) (response *RestartClusterForConfigsResponse, err error) { + if request == nil { + request = NewRestartClusterForConfigsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("RestartClusterForConfigs require credential") + } + + request.SetContext(ctx) + + response = NewRestartClusterForConfigsResponse() + err = c.Send(request, response) + return +} + +func NewRestartClusterForNodeRequest() (request *RestartClusterForNodeRequest) { + request = &RestartClusterForNodeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "RestartClusterForNode") + + + return +} + +func NewRestartClusterForNodeResponse() (response *RestartClusterForNodeResponse) { + response = &RestartClusterForNodeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// RestartClusterForNode +// 集群滚动重启 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) RestartClusterForNode(request *RestartClusterForNodeRequest) (response *RestartClusterForNodeResponse, err error) { + return c.RestartClusterForNodeWithContext(context.Background(), request) +} + +// RestartClusterForNode +// 集群滚动重启 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) RestartClusterForNodeWithContext(ctx context.Context, request *RestartClusterForNodeRequest) (response *RestartClusterForNodeResponse, err error) { + if request == nil { + request = NewRestartClusterForNodeRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("RestartClusterForNode require credential") + } + + request.SetContext(ctx) + + response = NewRestartClusterForNodeResponse() + err = c.Send(request, response) + return +} + +func NewScaleOutInstanceRequest() (request *ScaleOutInstanceRequest) { + request = &ScaleOutInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ScaleOutInstance") + + + return +} + +func NewScaleOutInstanceResponse() (response *ScaleOutInstanceResponse) { + response = &ScaleOutInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ScaleOutInstance +// 水平扩容节点 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ScaleOutInstance(request *ScaleOutInstanceRequest) (response *ScaleOutInstanceResponse, err error) { + return c.ScaleOutInstanceWithContext(context.Background(), request) +} + +// ScaleOutInstance +// 水平扩容节点 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ScaleOutInstanceWithContext(ctx context.Context, request *ScaleOutInstanceRequest) (response *ScaleOutInstanceResponse, err error) { + if request == nil { + request = NewScaleOutInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ScaleOutInstance require credential") + } + + request.SetContext(ctx) + + response = NewScaleOutInstanceResponse() + err = c.Send(request, response) + return +} + +func NewScaleUpInstanceRequest() (request *ScaleUpInstanceRequest) { + request = &ScaleUpInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "ScaleUpInstance") + + + return +} + +func NewScaleUpInstanceResponse() (response *ScaleUpInstanceResponse) { + response = &ScaleUpInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ScaleUpInstance +// 计算资源垂直变配 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ScaleUpInstance(request *ScaleUpInstanceRequest) (response *ScaleUpInstanceResponse, err error) { + return c.ScaleUpInstanceWithContext(context.Background(), request) +} + +// ScaleUpInstance +// 计算资源垂直变配 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) ScaleUpInstanceWithContext(ctx context.Context, request *ScaleUpInstanceRequest) (response *ScaleUpInstanceResponse, err error) { + if request == nil { + request = NewScaleUpInstanceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ScaleUpInstance require credential") + } + + request.SetContext(ctx) + + response = NewScaleUpInstanceResponse() + err = c.Send(request, response) + return +} + +func NewUpdateCoolDownRequest() (request *UpdateCoolDownRequest) { + request = &UpdateCoolDownRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("cdwdoris", APIVersion, "UpdateCoolDown") + + + return +} + +func NewUpdateCoolDownResponse() (response *UpdateCoolDownResponse) { + response = &UpdateCoolDownResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// UpdateCoolDown +// 更新集群冷热分层信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) UpdateCoolDown(request *UpdateCoolDownRequest) (response *UpdateCoolDownResponse, err error) { + return c.UpdateCoolDownWithContext(context.Background(), request) +} + +// UpdateCoolDown +// 更新集群冷热分层信息 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +func (c *Client) UpdateCoolDownWithContext(ctx context.Context, request *UpdateCoolDownRequest) (response *UpdateCoolDownResponse, err error) { + if request == nil { + request = NewUpdateCoolDownRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("UpdateCoolDown require credential") + } + + request.SetContext(ctx) + + response = NewUpdateCoolDownResponse() + err = c.Send(request, response) + return +} diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228/errors.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228/errors.go new file mode 100644 index 0000000000..5f1c74f0d3 --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228/errors.go @@ -0,0 +1,22 @@ +// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package v20211228 + +const ( + // 此产品的特有错误码 + + // 内部错误。 + INTERNALERROR = "InternalError" +) diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228/models.go new file mode 100644 index 0000000000..27a9ca9d6c --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228/models.go @@ -0,0 +1,6135 @@ +// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package v20211228 + +import ( + tcerr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" + tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/json" +) + +// Predefined struct for user +type ActionAlterUserRequestParams struct { + // 用户信息 + UserInfo *UserInfo `json:"UserInfo,omitnil,omitempty" name:"UserInfo"` + + // api接口类型 + ApiType *string `json:"ApiType,omitnil,omitempty" name:"ApiType"` + + // 用户权限类型 0:普通用户 1:管理员 + UserPrivilege *int64 `json:"UserPrivilege,omitnil,omitempty" name:"UserPrivilege"` +} + +type ActionAlterUserRequest struct { + *tchttp.BaseRequest + + // 用户信息 + UserInfo *UserInfo `json:"UserInfo,omitnil,omitempty" name:"UserInfo"` + + // api接口类型 + ApiType *string `json:"ApiType,omitnil,omitempty" name:"ApiType"` + + // 用户权限类型 0:普通用户 1:管理员 + UserPrivilege *int64 `json:"UserPrivilege,omitnil,omitempty" name:"UserPrivilege"` +} + +func (r *ActionAlterUserRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ActionAlterUserRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "UserInfo") + delete(f, "ApiType") + delete(f, "UserPrivilege") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ActionAlterUserRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ActionAlterUserResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ActionAlterUserResponse struct { + *tchttp.BaseResponse + Response *ActionAlterUserResponseParams `json:"Response"` +} + +func (r *ActionAlterUserResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ActionAlterUserResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type AttachCBSSpec struct { + // 节点磁盘类型,例如“CLOUD_SSD”\"CLOUD_PREMIUM" + DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"` + + // 磁盘容量,单位G + DiskSize *int64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"` + + // 磁盘总数 + DiskCount *int64 `json:"DiskCount,omitnil,omitempty" name:"DiskCount"` + + // 描述 + DiskDesc *string `json:"DiskDesc,omitnil,omitempty" name:"DiskDesc"` +} + +type BackUpJobDisplay struct { + // 备份实例id + JobId *int64 `json:"JobId,omitnil,omitempty" name:"JobId"` + + // 备份实例名 + Snapshot *string `json:"Snapshot,omitnil,omitempty" name:"Snapshot"` + + // 备份数据量 + BackUpSize *int64 `json:"BackUpSize,omitnil,omitempty" name:"BackUpSize"` + + // 备份单副本数据量 + // 注意:此字段可能返回 null,表示取不到有效值。 + BackUpSingleSize *int64 `json:"BackUpSingleSize,omitnil,omitempty" name:"BackUpSingleSize"` + + // 实例创建时间 + BackUpTime *string `json:"BackUpTime,omitnil,omitempty" name:"BackUpTime"` + + // 实例过期时间 + ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"` + + // 实例状态 + JobStatus *string `json:"JobStatus,omitnil,omitempty" name:"JobStatus"` + + // 0为默认。1时是对远端的doris进行备份,不周期,一次性 + // 注意:此字段可能返回 null,表示取不到有效值。 + BackupType *int64 `json:"BackupType,omitnil,omitempty" name:"BackupType"` + + // 0为默认。1时是立即备份。2时是迁移 + // 注意:此字段可能返回 null,表示取不到有效值。 + BackupTimeType *int64 `json:"BackupTimeType,omitnil,omitempty" name:"BackupTimeType"` + + // 远端doris的连接信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + DorisSourceInfo *DorisSourceInfo `json:"DorisSourceInfo,omitnil,omitempty" name:"DorisSourceInfo"` + + // 实例状态对应的数值 + // 注意:此字段可能返回 null,表示取不到有效值。 + JobStatusNum *int64 `json:"JobStatusNum,omitnil,omitempty" name:"JobStatusNum"` + + // 备份实例中关于cos的信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + BackupCosInfo *BackupCosInfo `json:"BackupCosInfo,omitnil,omitempty" name:"BackupCosInfo"` +} + +type BackupCosInfo struct { + // 备份文件所在的cos桶 + // 注意:此字段可能返回 null,表示取不到有效值。 + CosBucket *string `json:"CosBucket,omitnil,omitempty" name:"CosBucket"` + + // 备份文件所在的完整cos路径 + // 注意:此字段可能返回 null,表示取不到有效值。 + CosPath *string `json:"CosPath,omitnil,omitempty" name:"CosPath"` + + // 备份文件名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + SnapShotPath *string `json:"SnapShotPath,omitnil,omitempty" name:"SnapShotPath"` +} + +type BackupStatus struct { + // 备份任务id + JobId *int64 `json:"JobId,omitnil,omitempty" name:"JobId"` + + // 快照名称 + SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"` + + // 库名 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // 状态 + State *string `json:"State,omitnil,omitempty" name:"State"` + + // 备份对象 + BackupObjects *string `json:"BackupObjects,omitnil,omitempty" name:"BackupObjects"` + + // 创建时间 + CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` + + // 快照结束时间 + SnapshotFinishedTime *string `json:"SnapshotFinishedTime,omitnil,omitempty" name:"SnapshotFinishedTime"` + + // 上传结束时间 + UploadFinishedTime *string `json:"UploadFinishedTime,omitnil,omitempty" name:"UploadFinishedTime"` + + // 结束时间 + FinishedTime *string `json:"FinishedTime,omitnil,omitempty" name:"FinishedTime"` + + // 未完成任务 + UnfinishedTasks *string `json:"UnfinishedTasks,omitnil,omitempty" name:"UnfinishedTasks"` + + // 进度 + Progress *string `json:"Progress,omitnil,omitempty" name:"Progress"` + + // 错误信息 + TaskErrMsg *string `json:"TaskErrMsg,omitnil,omitempty" name:"TaskErrMsg"` + + // 状态 + Status *string `json:"Status,omitnil,omitempty" name:"Status"` + + // 超时信息 + Timeout *int64 `json:"Timeout,omitnil,omitempty" name:"Timeout"` + + // 备份实例id + // 注意:此字段可能返回 null,表示取不到有效值。 + BackupJobId *int64 `json:"BackupJobId,omitnil,omitempty" name:"BackupJobId"` + + // 实例对应snapshoit的id + // 注意:此字段可能返回 null,表示取不到有效值。 + TaskId *int64 `json:"TaskId,omitnil,omitempty" name:"TaskId"` +} + +type BackupTableContent struct { + // 数据库 + // 注意:此字段可能返回 null,表示取不到有效值。 + Database *string `json:"Database,omitnil,omitempty" name:"Database"` + + // 表 + // 注意:此字段可能返回 null,表示取不到有效值。 + Table *string `json:"Table,omitnil,omitempty" name:"Table"` + + // 表总字节数 + // 注意:此字段可能返回 null,表示取不到有效值。 + TotalBytes *int64 `json:"TotalBytes,omitnil,omitempty" name:"TotalBytes"` + + // 表单个副本的大小 + // 注意:此字段可能返回 null,表示取不到有效值。 + SingleReplicaBytes *string `json:"SingleReplicaBytes,omitnil,omitempty" name:"SingleReplicaBytes"` + + // 备份状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + BackupStatus *int64 `json:"BackupStatus,omitnil,omitempty" name:"BackupStatus"` + + // 备份的错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + BackupErrorMsg *string `json:"BackupErrorMsg,omitnil,omitempty" name:"BackupErrorMsg"` + + // 改库表是否绑定降冷策略 + // 注意:此字段可能返回 null,表示取不到有效值。 + IsOpenCoolDown *bool `json:"IsOpenCoolDown,omitnil,omitempty" name:"IsOpenCoolDown"` +} + +type BindUser struct { + // 用户名 + // 注意:此字段可能返回 null,表示取不到有效值。 + UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"` + + // 主机信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Host *string `json:"Host,omitnil,omitempty" name:"Host"` +} + +// Predefined struct for user +type CancelBackupJobRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 需要取消的备份实例id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` +} + +type CancelBackupJobRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 需要取消的备份实例id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` +} + +func (r *CancelBackupJobRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CancelBackupJobRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "BackUpJobId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CancelBackupJobRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CancelBackupJobResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CancelBackupJobResponse struct { + *tchttp.BaseResponse + Response *CancelBackupJobResponseParams `json:"Response"` +} + +func (r *CancelBackupJobResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CancelBackupJobResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ChargeProperties struct { + // 计费类型,“PREPAID” 预付费,“POSTPAID_BY_HOUR” 后付费 + // 注意:此字段可能返回 null,表示取不到有效值。 + ChargeType *string `json:"ChargeType,omitnil,omitempty" name:"ChargeType"` + + // 是否自动续费,1表示自动续费开启 + // 注意:此字段可能返回 null,表示取不到有效值。 + RenewFlag *int64 `json:"RenewFlag,omitnil,omitempty" name:"RenewFlag"` + + // 计费时间长度 + // 注意:此字段可能返回 null,表示取不到有效值。 + TimeSpan *int64 `json:"TimeSpan,omitnil,omitempty" name:"TimeSpan"` + + // 计费时间单位,“m”表示月等 + // 注意:此字段可能返回 null,表示取不到有效值。 + TimeUnit *string `json:"TimeUnit,omitnil,omitempty" name:"TimeUnit"` +} + +// Predefined struct for user +type CheckCoolDownWorkingVariableConfigCorrectRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type CheckCoolDownWorkingVariableConfigCorrectRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *CheckCoolDownWorkingVariableConfigCorrectRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CheckCoolDownWorkingVariableConfigCorrectRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckCoolDownWorkingVariableConfigCorrectRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CheckCoolDownWorkingVariableConfigCorrectResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CheckCoolDownWorkingVariableConfigCorrectResponse struct { + *tchttp.BaseResponse + Response *CheckCoolDownWorkingVariableConfigCorrectResponseParams `json:"Response"` +} + +func (r *CheckCoolDownWorkingVariableConfigCorrectResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CheckCoolDownWorkingVariableConfigCorrectResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ClusterConfigsHistory struct { + // 配置文件名称 + FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"` + + // 修改后的配置文件内容,base64编码 + NewConfValue *string `json:"NewConfValue,omitnil,omitempty" name:"NewConfValue"` + + // 修改前的配置文件内容,base64编码 + OldConfValue *string `json:"OldConfValue,omitnil,omitempty" name:"OldConfValue"` + + // 修改原因 + // 注意:此字段可能返回 null,表示取不到有效值。 + Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"` + + // 修改时间 + ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"` + + // 修改子账号id + UserUin *string `json:"UserUin,omitnil,omitempty" name:"UserUin"` +} + +type ClusterConfigsInfoFromEMR struct { + // 配置文件名称 + FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"` + + // 配置文件对应的相关属性信息 + FileConf *string `json:"FileConf,omitnil,omitempty" name:"FileConf"` + + // 配置文件对应的其他属性信息 + KeyConf *string `json:"KeyConf,omitnil,omitempty" name:"KeyConf"` + + // 配置文件的内容,base64编码 + OriParam *string `json:"OriParam,omitnil,omitempty" name:"OriParam"` + + // 用于表示当前配置文件是不是有过修改后没有重启,提醒用户需要重启 + NeedRestart *int64 `json:"NeedRestart,omitnil,omitempty" name:"NeedRestart"` + + // 配置文件路径 + // 注意:此字段可能返回 null,表示取不到有效值。 + FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"` + + // 配置文件kv值 + // 注意:此字段可能返回 null,表示取不到有效值。 + // + // Deprecated: FileKeyValues is deprecated. + FileKeyValues *string `json:"FileKeyValues,omitnil,omitempty" name:"FileKeyValues"` + + // 配置文件kv值 + // 注意:此字段可能返回 null,表示取不到有效值。 + FileKeyValuesNew []*ConfigKeyValue `json:"FileKeyValuesNew,omitnil,omitempty" name:"FileKeyValuesNew"` +} + +type ConfigKeyValue struct { + // key + // 注意:此字段可能返回 null,表示取不到有效值。 + KeyName *string `json:"KeyName,omitnil,omitempty" name:"KeyName"` + + // 值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Value *string `json:"Value,omitnil,omitempty" name:"Value"` + + // 备注 + // 注意:此字段可能返回 null,表示取不到有效值。 + Message *string `json:"Message,omitnil,omitempty" name:"Message"` + + // 1-只读,2-可修改但不可删除,3-可删除 + // 注意:此字段可能返回 null,表示取不到有效值。 + Display *int64 `json:"Display,omitnil,omitempty" name:"Display"` + + // 0不支持 1支持热更新 + // 注意:此字段可能返回 null,表示取不到有效值。 + SupportHotUpdate *int64 `json:"SupportHotUpdate,omitnil,omitempty" name:"SupportHotUpdate"` +} + +type ConfigSubmitContext struct { + // 配置文件名称 + FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"` + + // 配置文件新内容,base64编码 + NewConfValue *string `json:"NewConfValue,omitnil,omitempty" name:"NewConfValue"` + + // 配置文件旧内容,base64编码 + OldConfValue *string `json:"OldConfValue,omitnil,omitempty" name:"OldConfValue"` + + // 文件路径 + FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"` +} + +type CoolDownBackend struct { + // 字段:Host + // 注意:此字段可能返回 null,表示取不到有效值。 + Host *string `json:"Host,omitnil,omitempty" name:"Host"` + + // 字段:DataUsedCapacity + // 注意:此字段可能返回 null,表示取不到有效值。 + DataUsedCapacity *string `json:"DataUsedCapacity,omitnil,omitempty" name:"DataUsedCapacity"` + + // 字段:TotalCapacity + // 注意:此字段可能返回 null,表示取不到有效值。 + TotalCapacity *string `json:"TotalCapacity,omitnil,omitempty" name:"TotalCapacity"` + + // 字段:RemoteUsedCapacity + // 注意:此字段可能返回 null,表示取不到有效值。 + RemoteUsedCapacity *string `json:"RemoteUsedCapacity,omitnil,omitempty" name:"RemoteUsedCapacity"` +} + +type CoolDownPolicyInfo struct { + // 策略名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"` + + // cooldown_ttl + // 注意:此字段可能返回 null,表示取不到有效值。 + CooldownDatetime *string `json:"CooldownDatetime,omitnil,omitempty" name:"CooldownDatetime"` + + // cooldown_datetime + // 注意:此字段可能返回 null,表示取不到有效值。 + CooldownTtl *string `json:"CooldownTtl,omitnil,omitempty" name:"CooldownTtl"` +} + +type CoolDownTableDataInfo struct { + // 列:DatabaseName + // 注意:此字段可能返回 null,表示取不到有效值。 + DatabaseName *string `json:"DatabaseName,omitnil,omitempty" name:"DatabaseName"` + + // 列:TableName + // 注意:此字段可能返回 null,表示取不到有效值。 + TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"` + + // 列:Size + // 注意:此字段可能返回 null,表示取不到有效值。 + Size *string `json:"Size,omitnil,omitempty" name:"Size"` + + // 列:RemoteSize + // 注意:此字段可能返回 null,表示取不到有效值。 + RemoteSize *string `json:"RemoteSize,omitnil,omitempty" name:"RemoteSize"` +} + +type CosSourceInfo struct { + // cos认证中的Id + // 注意:此字段可能返回 null,表示取不到有效值。 + SecretId *string `json:"SecretId,omitnil,omitempty" name:"SecretId"` + + // cos认证中的key + // 注意:此字段可能返回 null,表示取不到有效值。 + SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"` + + // cos认证中的路径 + // 注意:此字段可能返回 null,表示取不到有效值。 + CosPath *string `json:"CosPath,omitnil,omitempty" name:"CosPath"` +} + +// Predefined struct for user +type CreateBackUpScheduleRequestParams struct { + // 编辑时需要传 + ScheduleId *int64 `json:"ScheduleId,omitnil,omitempty" name:"ScheduleId"` + + // 选择的星期 逗号分隔 + // 废弃:使用ScheduleInfo + WeekDays *string `json:"WeekDays,omitnil,omitempty" name:"WeekDays"` + + // 执行小时 + // 废弃:使用ScheduleInfo + ExecuteHour *int64 `json:"ExecuteHour,omitnil,omitempty" name:"ExecuteHour"` + + // 备份表列表 + BackUpTables []*BackupTableContent `json:"BackUpTables,omitnil,omitempty" name:"BackUpTables"` + + // 0为默认。1时是对远端的doris进行备份,不周期,一次性 + BackupType *int64 `json:"BackupType,omitnil,omitempty" name:"BackupType"` + + // 远端doris集群的连接信息 + DorisSourceInfo *DorisSourceInfo `json:"DorisSourceInfo,omitnil,omitempty" name:"DorisSourceInfo"` + + // 0为默认。1时是一次性备份。2时是远端备份 + BackupTimeType *int64 `json:"BackupTimeType,omitnil,omitempty" name:"BackupTimeType"` + + // 0为默认。1时是备份完成后立即恢复 + RestoreType *int64 `json:"RestoreType,omitnil,omitempty" name:"RestoreType"` + + // 0为默认。1时是提供自定义的secret连接cos + AuthType *int64 `json:"AuthType,omitnil,omitempty" name:"AuthType"` + + // cos认证的信息 + CosSourceInfo *CosSourceInfo `json:"CosSourceInfo,omitnil,omitempty" name:"CosSourceInfo"` +} + +type CreateBackUpScheduleRequest struct { + *tchttp.BaseRequest + + // 编辑时需要传 + ScheduleId *int64 `json:"ScheduleId,omitnil,omitempty" name:"ScheduleId"` + + // 选择的星期 逗号分隔 + // 废弃:使用ScheduleInfo + WeekDays *string `json:"WeekDays,omitnil,omitempty" name:"WeekDays"` + + // 执行小时 + // 废弃:使用ScheduleInfo + ExecuteHour *int64 `json:"ExecuteHour,omitnil,omitempty" name:"ExecuteHour"` + + // 备份表列表 + BackUpTables []*BackupTableContent `json:"BackUpTables,omitnil,omitempty" name:"BackUpTables"` + + // 0为默认。1时是对远端的doris进行备份,不周期,一次性 + BackupType *int64 `json:"BackupType,omitnil,omitempty" name:"BackupType"` + + // 远端doris集群的连接信息 + DorisSourceInfo *DorisSourceInfo `json:"DorisSourceInfo,omitnil,omitempty" name:"DorisSourceInfo"` + + // 0为默认。1时是一次性备份。2时是远端备份 + BackupTimeType *int64 `json:"BackupTimeType,omitnil,omitempty" name:"BackupTimeType"` + + // 0为默认。1时是备份完成后立即恢复 + RestoreType *int64 `json:"RestoreType,omitnil,omitempty" name:"RestoreType"` + + // 0为默认。1时是提供自定义的secret连接cos + AuthType *int64 `json:"AuthType,omitnil,omitempty" name:"AuthType"` + + // cos认证的信息 + CosSourceInfo *CosSourceInfo `json:"CosSourceInfo,omitnil,omitempty" name:"CosSourceInfo"` +} + +func (r *CreateBackUpScheduleRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateBackUpScheduleRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "ScheduleId") + delete(f, "WeekDays") + delete(f, "ExecuteHour") + delete(f, "BackUpTables") + delete(f, "BackupType") + delete(f, "DorisSourceInfo") + delete(f, "BackupTimeType") + delete(f, "RestoreType") + delete(f, "AuthType") + delete(f, "CosSourceInfo") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateBackUpScheduleRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateBackUpScheduleResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CreateBackUpScheduleResponse struct { + *tchttp.BaseResponse + Response *CreateBackUpScheduleResponseParams `json:"Response"` +} + +func (r *CreateBackUpScheduleResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateBackUpScheduleResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateCoolDownPolicyRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 策略名称 + PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"` + + // cooldown_ttl + CoolDownTtl *string `json:"CoolDownTtl,omitnil,omitempty" name:"CoolDownTtl"` + + // cooldown_datetime + CoolDownDatetime *string `json:"CoolDownDatetime,omitnil,omitempty" name:"CoolDownDatetime"` +} + +type CreateCoolDownPolicyRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 策略名称 + PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"` + + // cooldown_ttl + CoolDownTtl *string `json:"CoolDownTtl,omitnil,omitempty" name:"CoolDownTtl"` + + // cooldown_datetime + CoolDownDatetime *string `json:"CoolDownDatetime,omitnil,omitempty" name:"CoolDownDatetime"` +} + +func (r *CreateCoolDownPolicyRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateCoolDownPolicyRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "PolicyName") + delete(f, "CoolDownTtl") + delete(f, "CoolDownDatetime") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateCoolDownPolicyRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateCoolDownPolicyResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CreateCoolDownPolicyResponse struct { + *tchttp.BaseResponse + Response *CreateCoolDownPolicyResponseParams `json:"Response"` +} + +func (r *CreateCoolDownPolicyResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateCoolDownPolicyResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateInstanceNewRequestParams struct { + // 可用区 + Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` + + // FE规格 + FeSpec *CreateInstanceSpec `json:"FeSpec,omitnil,omitempty" name:"FeSpec"` + + // BE规格 + BeSpec *CreateInstanceSpec `json:"BeSpec,omitnil,omitempty" name:"BeSpec"` + + // 是否高可用 + HaFlag *bool `json:"HaFlag,omitnil,omitempty" name:"HaFlag"` + + // 用户VPCID + UserVPCId *string `json:"UserVPCId,omitnil,omitempty" name:"UserVPCId"` + + // 用户子网ID + UserSubnetId *string `json:"UserSubnetId,omitnil,omitempty" name:"UserSubnetId"` + + // 产品版本号 + ProductVersion *string `json:"ProductVersion,omitnil,omitempty" name:"ProductVersion"` + + // 付费类型 + ChargeProperties *ChargeProperties `json:"ChargeProperties,omitnil,omitempty" name:"ChargeProperties"` + + // 实例名字 + InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"` + + // 数据库密码 + DorisUserPwd *string `json:"DorisUserPwd,omitnil,omitempty" name:"DorisUserPwd"` + + // 标签列表 + Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` + + // 高可用类型: + // 0:非高可用(只有1个FE,FeSpec.CreateInstanceSpec.Count=1), + // 1:读高可用(至少需部署3个FE,FeSpec.CreateInstanceSpec.Count>=3,且为奇数), + // 2:读写高可用(至少需部署5个FE,FeSpec.CreateInstanceSpec.Count>=5,且为奇数)。 + HaType *int64 `json:"HaType,omitnil,omitempty" name:"HaType"` + + // 表名大小写是否敏感,0:敏感;1:不敏感,以小写进行比较;2:不敏感,表名改为以小写存储 + CaseSensitive *int64 `json:"CaseSensitive,omitnil,omitempty" name:"CaseSensitive"` + + // 是否开启多可用区 + EnableMultiZones *bool `json:"EnableMultiZones,omitnil,omitempty" name:"EnableMultiZones"` + + // 开启多可用区后,用户的所有可用区和子网信息 + UserMultiZoneInfos *NetworkInfo `json:"UserMultiZoneInfos,omitnil,omitempty" name:"UserMultiZoneInfos"` +} + +type CreateInstanceNewRequest struct { + *tchttp.BaseRequest + + // 可用区 + Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` + + // FE规格 + FeSpec *CreateInstanceSpec `json:"FeSpec,omitnil,omitempty" name:"FeSpec"` + + // BE规格 + BeSpec *CreateInstanceSpec `json:"BeSpec,omitnil,omitempty" name:"BeSpec"` + + // 是否高可用 + HaFlag *bool `json:"HaFlag,omitnil,omitempty" name:"HaFlag"` + + // 用户VPCID + UserVPCId *string `json:"UserVPCId,omitnil,omitempty" name:"UserVPCId"` + + // 用户子网ID + UserSubnetId *string `json:"UserSubnetId,omitnil,omitempty" name:"UserSubnetId"` + + // 产品版本号 + ProductVersion *string `json:"ProductVersion,omitnil,omitempty" name:"ProductVersion"` + + // 付费类型 + ChargeProperties *ChargeProperties `json:"ChargeProperties,omitnil,omitempty" name:"ChargeProperties"` + + // 实例名字 + InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"` + + // 数据库密码 + DorisUserPwd *string `json:"DorisUserPwd,omitnil,omitempty" name:"DorisUserPwd"` + + // 标签列表 + Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` + + // 高可用类型: + // 0:非高可用(只有1个FE,FeSpec.CreateInstanceSpec.Count=1), + // 1:读高可用(至少需部署3个FE,FeSpec.CreateInstanceSpec.Count>=3,且为奇数), + // 2:读写高可用(至少需部署5个FE,FeSpec.CreateInstanceSpec.Count>=5,且为奇数)。 + HaType *int64 `json:"HaType,omitnil,omitempty" name:"HaType"` + + // 表名大小写是否敏感,0:敏感;1:不敏感,以小写进行比较;2:不敏感,表名改为以小写存储 + CaseSensitive *int64 `json:"CaseSensitive,omitnil,omitempty" name:"CaseSensitive"` + + // 是否开启多可用区 + EnableMultiZones *bool `json:"EnableMultiZones,omitnil,omitempty" name:"EnableMultiZones"` + + // 开启多可用区后,用户的所有可用区和子网信息 + UserMultiZoneInfos *NetworkInfo `json:"UserMultiZoneInfos,omitnil,omitempty" name:"UserMultiZoneInfos"` +} + +func (r *CreateInstanceNewRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateInstanceNewRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Zone") + delete(f, "FeSpec") + delete(f, "BeSpec") + delete(f, "HaFlag") + delete(f, "UserVPCId") + delete(f, "UserSubnetId") + delete(f, "ProductVersion") + delete(f, "ChargeProperties") + delete(f, "InstanceName") + delete(f, "DorisUserPwd") + delete(f, "Tags") + delete(f, "HaType") + delete(f, "CaseSensitive") + delete(f, "EnableMultiZones") + delete(f, "UserMultiZoneInfos") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateInstanceNewRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateInstanceNewResponseParams struct { + // 流程ID + FlowId *string `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CreateInstanceNewResponse struct { + *tchttp.BaseResponse + Response *CreateInstanceNewResponseParams `json:"Response"` +} + +func (r *CreateInstanceNewResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateInstanceNewResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateInstanceSpec struct { + // 规格名字 + SpecName *string `json:"SpecName,omitnil,omitempty" name:"SpecName"` + + // 数量 + Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"` + + // 云盘大小 + DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"` +} + +// Predefined struct for user +type CreateWorkloadGroupRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 资源组配置 + WorkloadGroup *WorkloadGroupConfig `json:"WorkloadGroup,omitnil,omitempty" name:"WorkloadGroup"` +} + +type CreateWorkloadGroupRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 资源组配置 + WorkloadGroup *WorkloadGroupConfig `json:"WorkloadGroup,omitnil,omitempty" name:"WorkloadGroup"` +} + +func (r *CreateWorkloadGroupRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateWorkloadGroupRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "WorkloadGroup") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateWorkloadGroupRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateWorkloadGroupResponseParams struct { + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CreateWorkloadGroupResponse struct { + *tchttp.BaseResponse + Response *CreateWorkloadGroupResponseParams `json:"Response"` +} + +func (r *CreateWorkloadGroupResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateWorkloadGroupResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DataBaseAuditRecord struct { + // 查询用户 + // 注意:此字段可能返回 null,表示取不到有效值。 + OsUser *string `json:"OsUser,omitnil,omitempty" name:"OsUser"` + + // 查询ID + // 注意:此字段可能返回 null,表示取不到有效值。 + InitialQueryId *string `json:"InitialQueryId,omitnil,omitempty" name:"InitialQueryId"` + + // SQL语句 + // 注意:此字段可能返回 null,表示取不到有效值。 + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // 开始时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + QueryStartTime *string `json:"QueryStartTime,omitnil,omitempty" name:"QueryStartTime"` + + // 执行耗时 + // 注意:此字段可能返回 null,表示取不到有效值。 + DurationMs *int64 `json:"DurationMs,omitnil,omitempty" name:"DurationMs"` + + // 读取行数 + // 注意:此字段可能返回 null,表示取不到有效值。 + ReadRows *int64 `json:"ReadRows,omitnil,omitempty" name:"ReadRows"` + + // 读取字节数 + // 注意:此字段可能返回 null,表示取不到有效值。 + ResultRows *int64 `json:"ResultRows,omitnil,omitempty" name:"ResultRows"` + + // 结果字节数 + // 注意:此字段可能返回 null,表示取不到有效值。 + ResultBytes *uint64 `json:"ResultBytes,omitnil,omitempty" name:"ResultBytes"` + + // 内存 + // 注意:此字段可能返回 null,表示取不到有效值。 + MemoryUsage *int64 `json:"MemoryUsage,omitnil,omitempty" name:"MemoryUsage"` + + // 初始查询IP + // 注意:此字段可能返回 null,表示取不到有效值。 + InitialAddress *string `json:"InitialAddress,omitnil,omitempty" name:"InitialAddress"` + + // 数据库 + // 注意:此字段可能返回 null,表示取不到有效值。 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // sql类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + SqlType *string `json:"SqlType,omitnil,omitempty" name:"SqlType"` + + // catalog名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + Catalog *string `json:"Catalog,omitnil,omitempty" name:"Catalog"` +} + +// Predefined struct for user +type DeleteBackUpDataRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` + + // 是否删除所有实例 + IsDeleteAll *bool `json:"IsDeleteAll,omitnil,omitempty" name:"IsDeleteAll"` +} + +type DeleteBackUpDataRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` + + // 是否删除所有实例 + IsDeleteAll *bool `json:"IsDeleteAll,omitnil,omitempty" name:"IsDeleteAll"` +} + +func (r *DeleteBackUpDataRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteBackUpDataRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "BackUpJobId") + delete(f, "IsDeleteAll") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBackUpDataRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteBackUpDataResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DeleteBackUpDataResponse struct { + *tchttp.BaseResponse + Response *DeleteBackUpDataResponseParams `json:"Response"` +} + +func (r *DeleteBackUpDataResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteBackUpDataResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteWorkloadGroupRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 需要删除的资源组名称 + WorkloadGroupName *string `json:"WorkloadGroupName,omitnil,omitempty" name:"WorkloadGroupName"` +} + +type DeleteWorkloadGroupRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 需要删除的资源组名称 + WorkloadGroupName *string `json:"WorkloadGroupName,omitnil,omitempty" name:"WorkloadGroupName"` +} + +func (r *DeleteWorkloadGroupRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteWorkloadGroupRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "WorkloadGroupName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteWorkloadGroupRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteWorkloadGroupResponseParams struct { + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DeleteWorkloadGroupResponse struct { + *tchttp.BaseResponse + Response *DeleteWorkloadGroupResponseParams `json:"Response"` +} + +func (r *DeleteWorkloadGroupResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteWorkloadGroupResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeAreaRegionRequestParams struct { + // 是否是国际站 + IsInternationalSite *bool `json:"IsInternationalSite,omitnil,omitempty" name:"IsInternationalSite"` +} + +type DescribeAreaRegionRequest struct { + *tchttp.BaseRequest + + // 是否是国际站 + IsInternationalSite *bool `json:"IsInternationalSite,omitnil,omitempty" name:"IsInternationalSite"` +} + +func (r *DescribeAreaRegionRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeAreaRegionRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "IsInternationalSite") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAreaRegionRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeAreaRegionResponseParams struct { + // 地域列表 + Items []*RegionAreaInfo `json:"Items,omitnil,omitempty" name:"Items"` + + // 前端规则描述 + // 注意:此字段可能返回 null,表示取不到有效值。 + FrontEndRules []*FrontEndRule `json:"FrontEndRules,omitnil,omitempty" name:"FrontEndRules"` + + // 返回可用的白名单名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + AvailableWhiteListNames []*string `json:"AvailableWhiteListNames,omitnil,omitempty" name:"AvailableWhiteListNames"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeAreaRegionResponse struct { + *tchttp.BaseResponse + Response *DescribeAreaRegionResponseParams `json:"Response"` +} + +func (r *DescribeAreaRegionResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeAreaRegionResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpJobDetailRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` +} + +type DescribeBackUpJobDetailRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` +} + +func (r *DescribeBackUpJobDetailRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpJobDetailRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "BackUpJobId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBackUpJobDetailRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpJobDetailResponseParams struct { + // 备份表详情 + // 注意:此字段可能返回 null,表示取不到有效值。 + TableContents []*BackupTableContent `json:"TableContents,omitnil,omitempty" name:"TableContents"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeBackUpJobDetailResponse struct { + *tchttp.BaseResponse + Response *DescribeBackUpJobDetailResponseParams `json:"Response"` +} + +func (r *DescribeBackUpJobDetailResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpJobDetailResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpJobRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 分页大小 + PageSize *int64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` + + // 页号 + PageNum *int64 `json:"PageNum,omitnil,omitempty" name:"PageNum"` + + // 开始时间 + BeginTime *string `json:"BeginTime,omitnil,omitempty" name:"BeginTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // jobid的string类型 + JobIdFiltersStr *string `json:"JobIdFiltersStr,omitnil,omitempty" name:"JobIdFiltersStr"` +} + +type DescribeBackUpJobRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 分页大小 + PageSize *int64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` + + // 页号 + PageNum *int64 `json:"PageNum,omitnil,omitempty" name:"PageNum"` + + // 开始时间 + BeginTime *string `json:"BeginTime,omitnil,omitempty" name:"BeginTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // jobid的string类型 + JobIdFiltersStr *string `json:"JobIdFiltersStr,omitnil,omitempty" name:"JobIdFiltersStr"` +} + +func (r *DescribeBackUpJobRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpJobRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "PageSize") + delete(f, "PageNum") + delete(f, "BeginTime") + delete(f, "EndTime") + delete(f, "JobIdFiltersStr") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBackUpJobRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpJobResponseParams struct { + // 任务列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + BackUpJobs []*BackUpJobDisplay `json:"BackUpJobs,omitnil,omitempty" name:"BackUpJobs"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeBackUpJobResponse struct { + *tchttp.BaseResponse + Response *DescribeBackUpJobResponseParams `json:"Response"` +} + +func (r *DescribeBackUpJobResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpJobResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpSchedulesRequestParams struct { + +} + +type DescribeBackUpSchedulesRequest struct { + *tchttp.BaseRequest + +} + +func (r *DescribeBackUpSchedulesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpSchedulesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBackUpSchedulesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpSchedulesResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeBackUpSchedulesResponse struct { + *tchttp.BaseResponse + Response *DescribeBackUpSchedulesResponseParams `json:"Response"` +} + +func (r *DescribeBackUpSchedulesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpSchedulesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpTablesRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 0为默认。1时是对远端的doris进行备份,不周期,一次性。2时为cos恢复,一次性 + BackupType *int64 `json:"BackupType,omitnil,omitempty" name:"BackupType"` + + // 远端doris集群的连接信息 + DorisSourceInfo *DorisSourceInfo `json:"DorisSourceInfo,omitnil,omitempty" name:"DorisSourceInfo"` + + // cos信息 + CosSourceInfo *CosSourceInfo `json:"CosSourceInfo,omitnil,omitempty" name:"CosSourceInfo"` +} + +type DescribeBackUpTablesRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 0为默认。1时是对远端的doris进行备份,不周期,一次性。2时为cos恢复,一次性 + BackupType *int64 `json:"BackupType,omitnil,omitempty" name:"BackupType"` + + // 远端doris集群的连接信息 + DorisSourceInfo *DorisSourceInfo `json:"DorisSourceInfo,omitnil,omitempty" name:"DorisSourceInfo"` + + // cos信息 + CosSourceInfo *CosSourceInfo `json:"CosSourceInfo,omitnil,omitempty" name:"CosSourceInfo"` +} + +func (r *DescribeBackUpTablesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpTablesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "BackupType") + delete(f, "DorisSourceInfo") + delete(f, "CosSourceInfo") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBackUpTablesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpTablesResponseParams struct { + // 可备份表列表 + AvailableTables []*BackupTableContent `json:"AvailableTables,omitnil,omitempty" name:"AvailableTables"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeBackUpTablesResponse struct { + *tchttp.BaseResponse + Response *DescribeBackUpTablesResponseParams `json:"Response"` +} + +func (r *DescribeBackUpTablesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpTablesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpTaskDetailRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` +} + +type DescribeBackUpTaskDetailRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` +} + +func (r *DescribeBackUpTaskDetailRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpTaskDetailRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "BackUpJobId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBackUpTaskDetailRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBackUpTaskDetailResponseParams struct { + // 备份任务进度详情 + // 注意:此字段可能返回 null,表示取不到有效值。 + BackupStatus []*BackupStatus `json:"BackupStatus,omitnil,omitempty" name:"BackupStatus"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeBackUpTaskDetailResponse struct { + *tchttp.BaseResponse + Response *DescribeBackUpTaskDetailResponseParams `json:"Response"` +} + +func (r *DescribeBackUpTaskDetailResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBackUpTaskDetailResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeClusterConfigsHistoryRequestParams struct { + // 集群id名称 + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 分页参数,第一页为0,第二页为10 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页参数,分页步长,默认为10 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 配置修改历史的时间范围开始 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 配置修改历史的时间范围结束 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 需要查询的配置文件名称数组,如果为空则查询全部历史记录。目前支持的配置文件名称有: + // apache_hdfs_broker.conf、be.conf、fe.conf、core-site.xml、hdfs-site.xml、odbcinst.ini + ConfigFileNames []*string `json:"ConfigFileNames,omitnil,omitempty" name:"ConfigFileNames"` +} + +type DescribeClusterConfigsHistoryRequest struct { + *tchttp.BaseRequest + + // 集群id名称 + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 分页参数,第一页为0,第二页为10 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页参数,分页步长,默认为10 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 配置修改历史的时间范围开始 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 配置修改历史的时间范围结束 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 需要查询的配置文件名称数组,如果为空则查询全部历史记录。目前支持的配置文件名称有: + // apache_hdfs_broker.conf、be.conf、fe.conf、core-site.xml、hdfs-site.xml、odbcinst.ini + ConfigFileNames []*string `json:"ConfigFileNames,omitnil,omitempty" name:"ConfigFileNames"` +} + +func (r *DescribeClusterConfigsHistoryRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeClusterConfigsHistoryRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Offset") + delete(f, "Limit") + delete(f, "StartTime") + delete(f, "EndTime") + delete(f, "ConfigFileNames") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeClusterConfigsHistoryRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeClusterConfigsHistoryResponseParams struct { + // 实例总数 + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 配置文件修改历史 + ClusterConfHistory []*ClusterConfigsHistory `json:"ClusterConfHistory,omitnil,omitempty" name:"ClusterConfHistory"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeClusterConfigsHistoryResponse struct { + *tchttp.BaseResponse + Response *DescribeClusterConfigsHistoryResponseParams `json:"Response"` +} + +func (r *DescribeClusterConfigsHistoryResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeClusterConfigsHistoryResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeClusterConfigsRequestParams struct { + // 集群实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 0 公有云查询;1青鹅查询,青鹅查询显示所有需要展示的 + ConfigType *int64 `json:"ConfigType,omitnil,omitempty" name:"ConfigType"` + + // 模糊搜索关键字文件 + FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"` + + // 0集群维度 1节点维度 + ClusterConfigType *int64 `json:"ClusterConfigType,omitnil,omitempty" name:"ClusterConfigType"` + + // eth0的ip地址 + IPAddress *string `json:"IPAddress,omitnil,omitempty" name:"IPAddress"` +} + +type DescribeClusterConfigsRequest struct { + *tchttp.BaseRequest + + // 集群实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 0 公有云查询;1青鹅查询,青鹅查询显示所有需要展示的 + ConfigType *int64 `json:"ConfigType,omitnil,omitempty" name:"ConfigType"` + + // 模糊搜索关键字文件 + FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"` + + // 0集群维度 1节点维度 + ClusterConfigType *int64 `json:"ClusterConfigType,omitnil,omitempty" name:"ClusterConfigType"` + + // eth0的ip地址 + IPAddress *string `json:"IPAddress,omitnil,omitempty" name:"IPAddress"` +} + +func (r *DescribeClusterConfigsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeClusterConfigsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "ConfigType") + delete(f, "FileName") + delete(f, "ClusterConfigType") + delete(f, "IPAddress") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeClusterConfigsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeClusterConfigsResponseParams struct { + // 返回实例的配置文件相关的信息 + ClusterConfList []*ClusterConfigsInfoFromEMR `json:"ClusterConfList,omitnil,omitempty" name:"ClusterConfList"` + + // 返回当前内核版本 如果不存在则返回空字符串 + BuildVersion *string `json:"BuildVersion,omitnil,omitempty" name:"BuildVersion"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeClusterConfigsResponse struct { + *tchttp.BaseResponse + Response *DescribeClusterConfigsResponseParams `json:"Response"` +} + +func (r *DescribeClusterConfigsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeClusterConfigsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeCoolDownBackendsRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type DescribeCoolDownBackendsRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *DescribeCoolDownBackendsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeCoolDownBackendsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCoolDownBackendsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeCoolDownBackendsResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 节点信息列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + List []*CoolDownBackend `json:"List,omitnil,omitempty" name:"List"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeCoolDownBackendsResponse struct { + *tchttp.BaseResponse + Response *DescribeCoolDownBackendsResponseParams `json:"Response"` +} + +func (r *DescribeCoolDownBackendsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeCoolDownBackendsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeCoolDownPoliciesRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type DescribeCoolDownPoliciesRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *DescribeCoolDownPoliciesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeCoolDownPoliciesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCoolDownPoliciesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeCoolDownPoliciesResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 冷热分层策略列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + List []*CoolDownPolicyInfo `json:"List,omitnil,omitempty" name:"List"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeCoolDownPoliciesResponse struct { + *tchttp.BaseResponse + Response *DescribeCoolDownPoliciesResponseParams `json:"Response"` +} + +func (r *DescribeCoolDownPoliciesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeCoolDownPoliciesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeCoolDownTableDataRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 数据库名称 + DatabaseName *string `json:"DatabaseName,omitnil,omitempty" name:"DatabaseName"` +} + +type DescribeCoolDownTableDataRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 数据库名称 + DatabaseName *string `json:"DatabaseName,omitnil,omitempty" name:"DatabaseName"` +} + +func (r *DescribeCoolDownTableDataRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeCoolDownTableDataRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "DatabaseName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCoolDownTableDataRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeCoolDownTableDataResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 冷热分层Table数据列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + List []*CoolDownTableDataInfo `json:"List,omitnil,omitempty" name:"List"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeCoolDownTableDataResponse struct { + *tchttp.BaseResponse + Response *DescribeCoolDownTableDataResponseParams `json:"Response"` +} + +func (r *DescribeCoolDownTableDataResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeCoolDownTableDataResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeDatabaseAuditDownloadRequestParams struct { + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 分页 + PageSize *int64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` + + // 分页 + PageNum *int64 `json:"PageNum,omitnil,omitempty" name:"PageNum"` + + // 排序参数 + OrderType *string `json:"OrderType,omitnil,omitempty" name:"OrderType"` + + // 用户 + User *string `json:"User,omitnil,omitempty" name:"User"` + + // 数据库 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // sql类型 + SqlType *string `json:"SqlType,omitnil,omitempty" name:"SqlType"` + + // sql语句 + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // 用户 多选 + Users []*string `json:"Users,omitnil,omitempty" name:"Users"` + + // 数据库 多选 + DbNames []*string `json:"DbNames,omitnil,omitempty" name:"DbNames"` + + // sql类型 多选 + SqlTypes []*string `json:"SqlTypes,omitnil,omitempty" name:"SqlTypes"` + + // catalog名称 (多选) + Catalogs []*string `json:"Catalogs,omitnil,omitempty" name:"Catalogs"` +} + +type DescribeDatabaseAuditDownloadRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 分页 + PageSize *int64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` + + // 分页 + PageNum *int64 `json:"PageNum,omitnil,omitempty" name:"PageNum"` + + // 排序参数 + OrderType *string `json:"OrderType,omitnil,omitempty" name:"OrderType"` + + // 用户 + User *string `json:"User,omitnil,omitempty" name:"User"` + + // 数据库 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // sql类型 + SqlType *string `json:"SqlType,omitnil,omitempty" name:"SqlType"` + + // sql语句 + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // 用户 多选 + Users []*string `json:"Users,omitnil,omitempty" name:"Users"` + + // 数据库 多选 + DbNames []*string `json:"DbNames,omitnil,omitempty" name:"DbNames"` + + // sql类型 多选 + SqlTypes []*string `json:"SqlTypes,omitnil,omitempty" name:"SqlTypes"` + + // catalog名称 (多选) + Catalogs []*string `json:"Catalogs,omitnil,omitempty" name:"Catalogs"` +} + +func (r *DescribeDatabaseAuditDownloadRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeDatabaseAuditDownloadRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "StartTime") + delete(f, "EndTime") + delete(f, "PageSize") + delete(f, "PageNum") + delete(f, "OrderType") + delete(f, "User") + delete(f, "DbName") + delete(f, "SqlType") + delete(f, "Sql") + delete(f, "Users") + delete(f, "DbNames") + delete(f, "SqlTypes") + delete(f, "Catalogs") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDatabaseAuditDownloadRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeDatabaseAuditDownloadResponseParams struct { + // 日志的cos地址 + CosUrl *string `json:"CosUrl,omitnil,omitempty" name:"CosUrl"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeDatabaseAuditDownloadResponse struct { + *tchttp.BaseResponse + Response *DescribeDatabaseAuditDownloadResponseParams `json:"Response"` +} + +func (r *DescribeDatabaseAuditDownloadResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeDatabaseAuditDownloadResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeDatabaseAuditRecordsRequestParams struct { + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 分页 + PageSize *int64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` + + // 分页 + PageNum *int64 `json:"PageNum,omitnil,omitempty" name:"PageNum"` + + // 排序参数 + OrderType *string `json:"OrderType,omitnil,omitempty" name:"OrderType"` + + // 用户 + User *string `json:"User,omitnil,omitempty" name:"User"` + + // 数据库 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // sql类型 + SqlType *string `json:"SqlType,omitnil,omitempty" name:"SqlType"` + + // sql语句 + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // 用户 (多选) + Users []*string `json:"Users,omitnil,omitempty" name:"Users"` + + // 数据库 (多选) + DbNames []*string `json:"DbNames,omitnil,omitempty" name:"DbNames"` + + // sql类型 (多选) + SqlTypes []*string `json:"SqlTypes,omitnil,omitempty" name:"SqlTypes"` + + // catalog名称(多选) + Catalogs []*string `json:"Catalogs,omitnil,omitempty" name:"Catalogs"` +} + +type DescribeDatabaseAuditRecordsRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 分页 + PageSize *int64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` + + // 分页 + PageNum *int64 `json:"PageNum,omitnil,omitempty" name:"PageNum"` + + // 排序参数 + OrderType *string `json:"OrderType,omitnil,omitempty" name:"OrderType"` + + // 用户 + User *string `json:"User,omitnil,omitempty" name:"User"` + + // 数据库 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // sql类型 + SqlType *string `json:"SqlType,omitnil,omitempty" name:"SqlType"` + + // sql语句 + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // 用户 (多选) + Users []*string `json:"Users,omitnil,omitempty" name:"Users"` + + // 数据库 (多选) + DbNames []*string `json:"DbNames,omitnil,omitempty" name:"DbNames"` + + // sql类型 (多选) + SqlTypes []*string `json:"SqlTypes,omitnil,omitempty" name:"SqlTypes"` + + // catalog名称(多选) + Catalogs []*string `json:"Catalogs,omitnil,omitempty" name:"Catalogs"` +} + +func (r *DescribeDatabaseAuditRecordsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeDatabaseAuditRecordsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "StartTime") + delete(f, "EndTime") + delete(f, "PageSize") + delete(f, "PageNum") + delete(f, "OrderType") + delete(f, "User") + delete(f, "DbName") + delete(f, "SqlType") + delete(f, "Sql") + delete(f, "Users") + delete(f, "DbNames") + delete(f, "SqlTypes") + delete(f, "Catalogs") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDatabaseAuditRecordsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeDatabaseAuditRecordsResponseParams struct { + // 总数 + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 记录列表 + SlowQueryRecords *DataBaseAuditRecord `json:"SlowQueryRecords,omitnil,omitempty" name:"SlowQueryRecords"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeDatabaseAuditRecordsResponse struct { + *tchttp.BaseResponse + Response *DescribeDatabaseAuditRecordsResponseParams `json:"Response"` +} + +func (r *DescribeDatabaseAuditRecordsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeDatabaseAuditRecordsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceNodesInfoRequestParams struct { + // 集群id + InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"` +} + +type DescribeInstanceNodesInfoRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"` +} + +func (r *DescribeInstanceNodesInfoRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceNodesInfoRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceID") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstanceNodesInfoRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceNodesInfoResponseParams struct { + // Be节点 + // 注意:此字段可能返回 null,表示取不到有效值。 + BeNodes []*string `json:"BeNodes,omitnil,omitempty" name:"BeNodes"` + + // Fe节点 + // 注意:此字段可能返回 null,表示取不到有效值。 + FeNodes []*string `json:"FeNodes,omitnil,omitempty" name:"FeNodes"` + + // Fe master节点 + FeMaster *string `json:"FeMaster,omitnil,omitempty" name:"FeMaster"` + + // Be节点信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + BeNodeInfos []*NodeInfo `json:"BeNodeInfos,omitnil,omitempty" name:"BeNodeInfos"` + + // Fe节点信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + FeNodeInfos []*NodeInfo `json:"FeNodeInfos,omitnil,omitempty" name:"FeNodeInfos"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeInstanceNodesInfoResponse struct { + *tchttp.BaseResponse + Response *DescribeInstanceNodesInfoResponseParams `json:"Response"` +} + +func (r *DescribeInstanceNodesInfoResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceNodesInfoResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceNodesRequestParams struct { + // 集群实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 集群角色类型,默认为 "data"数据节点 + NodeRole *string `json:"NodeRole,omitnil,omitempty" name:"NodeRole"` + + // 分页参数,第一页为0,第二页为10 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页参数,分页步长,默认为10 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 展现策略,All时显示所有 + DisplayPolicy *string `json:"DisplayPolicy,omitnil,omitempty" name:"DisplayPolicy"` +} + +type DescribeInstanceNodesRequest struct { + *tchttp.BaseRequest + + // 集群实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 集群角色类型,默认为 "data"数据节点 + NodeRole *string `json:"NodeRole,omitnil,omitempty" name:"NodeRole"` + + // 分页参数,第一页为0,第二页为10 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页参数,分页步长,默认为10 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 展现策略,All时显示所有 + DisplayPolicy *string `json:"DisplayPolicy,omitnil,omitempty" name:"DisplayPolicy"` +} + +func (r *DescribeInstanceNodesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceNodesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "NodeRole") + delete(f, "Offset") + delete(f, "Limit") + delete(f, "DisplayPolicy") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstanceNodesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceNodesResponseParams struct { + // 总数 + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 实例节点总数 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceNodesList []*InstanceNode `json:"InstanceNodesList,omitnil,omitempty" name:"InstanceNodesList"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeInstanceNodesResponse struct { + *tchttp.BaseResponse + Response *DescribeInstanceNodesResponseParams `json:"Response"` +} + +func (r *DescribeInstanceNodesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceNodesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceNodesRoleRequestParams struct { + // 实例id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 过滤ip + IpFilter *string `json:"IpFilter,omitnil,omitempty" name:"IpFilter"` +} + +type DescribeInstanceNodesRoleRequest struct { + *tchttp.BaseRequest + + // 实例id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 过滤ip + IpFilter *string `json:"IpFilter,omitnil,omitempty" name:"IpFilter"` +} + +func (r *DescribeInstanceNodesRoleRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceNodesRoleRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "IpFilter") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstanceNodesRoleRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceNodesRoleResponseParams struct { + // 错误码 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 节点总数 + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 无 + NodeInfos []*NodeInfos `json:"NodeInfos,omitnil,omitempty" name:"NodeInfos"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeInstanceNodesRoleResponse struct { + *tchttp.BaseResponse + Response *DescribeInstanceNodesRoleResponseParams `json:"Response"` +} + +func (r *DescribeInstanceNodesRoleResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceNodesRoleResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceOperationsRequestParams struct { + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 分页参数,偏移量,从0开始 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页参数,每页数目,默认为10 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` +} + +type DescribeInstanceOperationsRequest struct { + *tchttp.BaseRequest + + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 分页参数,偏移量,从0开始 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页参数,每页数目,默认为10 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` +} + +func (r *DescribeInstanceOperationsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceOperationsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Offset") + delete(f, "Limit") + delete(f, "StartTime") + delete(f, "EndTime") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstanceOperationsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceOperationsResponseParams struct { + // 操作记录总数 + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 操作记录具体数据 + // 注意:此字段可能返回 null,表示取不到有效值。 + Operations []*InstanceOperation `json:"Operations,omitnil,omitempty" name:"Operations"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeInstanceOperationsResponse struct { + *tchttp.BaseResponse + Response *DescribeInstanceOperationsResponseParams `json:"Response"` +} + +func (r *DescribeInstanceOperationsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceOperationsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceRequestParams struct { + // 集群实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type DescribeInstanceRequest struct { + *tchttp.BaseRequest + + // 集群实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *DescribeInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceResponseParams struct { + // 实例描述信息 + InstanceInfo *InstanceInfo `json:"InstanceInfo,omitnil,omitempty" name:"InstanceInfo"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeInstanceResponse struct { + *tchttp.BaseResponse + Response *DescribeInstanceResponseParams `json:"Response"` +} + +func (r *DescribeInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceStateRequestParams struct { + // 集群实例名称 + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type DescribeInstanceStateRequest struct { + *tchttp.BaseRequest + + // 集群实例名称 + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *DescribeInstanceStateRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceStateRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstanceStateRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceStateResponseParams struct { + // 集群状态,例如:Serving + InstanceState *string `json:"InstanceState,omitnil,omitempty" name:"InstanceState"` + + // 集群操作创建时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + FlowCreateTime *string `json:"FlowCreateTime,omitnil,omitempty" name:"FlowCreateTime"` + + // 集群操作名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + FlowName *string `json:"FlowName,omitnil,omitempty" name:"FlowName"` + + // 集群操作进度 + // 注意:此字段可能返回 null,表示取不到有效值。 + FlowProgress *float64 `json:"FlowProgress,omitnil,omitempty" name:"FlowProgress"` + + // 集群状态描述,例如:运行中 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceStateDesc *string `json:"InstanceStateDesc,omitnil,omitempty" name:"InstanceStateDesc"` + + // 集群流程错误信息,例如:“创建失败,资源不足” + // 注意:此字段可能返回 null,表示取不到有效值。 + FlowMsg *string `json:"FlowMsg,omitnil,omitempty" name:"FlowMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeInstanceStateResponse struct { + *tchttp.BaseResponse + Response *DescribeInstanceStateResponseParams `json:"Response"` +} + +func (r *DescribeInstanceStateResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceStateResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceUsedSubnetsRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type DescribeInstanceUsedSubnetsRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *DescribeInstanceUsedSubnetsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceUsedSubnetsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstanceUsedSubnetsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstanceUsedSubnetsResponseParams struct { + // 集群使用的vpc信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // 集群使用的subnet信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + UsedSubnets []*string `json:"UsedSubnets,omitnil,omitempty" name:"UsedSubnets"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeInstanceUsedSubnetsResponse struct { + *tchttp.BaseResponse + Response *DescribeInstanceUsedSubnetsResponseParams `json:"Response"` +} + +func (r *DescribeInstanceUsedSubnetsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstanceUsedSubnetsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstancesHealthStateRequestParams struct { + // 集群Id + // + // Deprecated: InstanceID is deprecated. + InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"` + + // 为空:代表当前appId下所有集群 或者 某个集群Id + Input *string `json:"Input,omitnil,omitempty" name:"Input"` +} + +type DescribeInstancesHealthStateRequest struct { + *tchttp.BaseRequest + + // 集群Id + InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"` + + // 为空:代表当前appId下所有集群 或者 某个集群Id + Input *string `json:"Input,omitnil,omitempty" name:"Input"` +} + +func (r *DescribeInstancesHealthStateRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstancesHealthStateRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceID") + delete(f, "Input") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstancesHealthStateRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstancesHealthStateResponseParams struct { + // base64编码后的数据,包含了集群的健康信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Data *string `json:"Data,omitnil,omitempty" name:"Data"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeInstancesHealthStateResponse struct { + *tchttp.BaseResponse + Response *DescribeInstancesHealthStateResponseParams `json:"Response"` +} + +func (r *DescribeInstancesHealthStateResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstancesHealthStateResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstancesRequestParams struct { + // 搜索的集群id名称 + SearchInstanceId *string `json:"SearchInstanceId,omitnil,omitempty" name:"SearchInstanceId"` + + // 搜索的集群name + SearchInstanceName *string `json:"SearchInstanceName,omitnil,omitempty" name:"SearchInstanceName"` + + // 分页参数,第一页为0,第二页为10 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页参数,分页步长,默认为10 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 搜索标签列表 + SearchTags []*SearchTags `json:"SearchTags,omitnil,omitempty" name:"SearchTags"` +} + +type DescribeInstancesRequest struct { + *tchttp.BaseRequest + + // 搜索的集群id名称 + SearchInstanceId *string `json:"SearchInstanceId,omitnil,omitempty" name:"SearchInstanceId"` + + // 搜索的集群name + SearchInstanceName *string `json:"SearchInstanceName,omitnil,omitempty" name:"SearchInstanceName"` + + // 分页参数,第一页为0,第二页为10 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页参数,分页步长,默认为10 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 搜索标签列表 + SearchTags []*SearchTags `json:"SearchTags,omitnil,omitempty" name:"SearchTags"` +} + +func (r *DescribeInstancesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstancesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "SearchInstanceId") + delete(f, "SearchInstanceName") + delete(f, "Offset") + delete(f, "Limit") + delete(f, "SearchTags") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstancesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeInstancesResponseParams struct { + // 实例总数 + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 实例数组 + InstancesList []*InstanceInfo `json:"InstancesList,omitnil,omitempty" name:"InstancesList"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeInstancesResponse struct { + *tchttp.BaseResponse + Response *DescribeInstancesResponseParams `json:"Response"` +} + +func (r *DescribeInstancesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeInstancesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeRestoreTaskDetailRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` +} + +type DescribeRestoreTaskDetailRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` +} + +func (r *DescribeRestoreTaskDetailRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeRestoreTaskDetailRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "BackUpJobId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRestoreTaskDetailRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeRestoreTaskDetailResponseParams struct { + // 恢复任务进度详情 + // 注意:此字段可能返回 null,表示取不到有效值。 + RestoreStatus []*RestoreStatus `json:"RestoreStatus,omitnil,omitempty" name:"RestoreStatus"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeRestoreTaskDetailResponse struct { + *tchttp.BaseResponse + Response *DescribeRestoreTaskDetailResponseParams `json:"Response"` +} + +func (r *DescribeRestoreTaskDetailResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeRestoreTaskDetailResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeSlowQueryRecordsDownloadRequestParams struct { + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 慢查询时间 + QueryDurationMs *int64 `json:"QueryDurationMs,omitnil,omitempty" name:"QueryDurationMs"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 排序参数 + DurationMs *string `json:"DurationMs,omitnil,omitempty" name:"DurationMs"` + + // 查询sql + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // 排序参数 + ReadRows *string `json:"ReadRows,omitnil,omitempty" name:"ReadRows"` + + // 排序参数 + ResultBytes *string `json:"ResultBytes,omitnil,omitempty" name:"ResultBytes"` + + // 排序参数 + MemoryUsage *string `json:"MemoryUsage,omitnil,omitempty" name:"MemoryUsage"` + + // IsQuery条件 + IsQuery *int64 `json:"IsQuery,omitnil,omitempty" name:"IsQuery"` + + // 数据库名称 + DbName []*string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // catalog名称 + CatalogName []*string `json:"CatalogName,omitnil,omitempty" name:"CatalogName"` +} + +type DescribeSlowQueryRecordsDownloadRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 慢查询时间 + QueryDurationMs *int64 `json:"QueryDurationMs,omitnil,omitempty" name:"QueryDurationMs"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 排序参数 + DurationMs *string `json:"DurationMs,omitnil,omitempty" name:"DurationMs"` + + // 查询sql + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // 排序参数 + ReadRows *string `json:"ReadRows,omitnil,omitempty" name:"ReadRows"` + + // 排序参数 + ResultBytes *string `json:"ResultBytes,omitnil,omitempty" name:"ResultBytes"` + + // 排序参数 + MemoryUsage *string `json:"MemoryUsage,omitnil,omitempty" name:"MemoryUsage"` + + // IsQuery条件 + IsQuery *int64 `json:"IsQuery,omitnil,omitempty" name:"IsQuery"` + + // 数据库名称 + DbName []*string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // catalog名称 + CatalogName []*string `json:"CatalogName,omitnil,omitempty" name:"CatalogName"` +} + +func (r *DescribeSlowQueryRecordsDownloadRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSlowQueryRecordsDownloadRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "QueryDurationMs") + delete(f, "StartTime") + delete(f, "EndTime") + delete(f, "DurationMs") + delete(f, "Sql") + delete(f, "ReadRows") + delete(f, "ResultBytes") + delete(f, "MemoryUsage") + delete(f, "IsQuery") + delete(f, "DbName") + delete(f, "CatalogName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSlowQueryRecordsDownloadRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeSlowQueryRecordsDownloadResponseParams struct { + // cos地址 + CosUrl *string `json:"CosUrl,omitnil,omitempty" name:"CosUrl"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeSlowQueryRecordsDownloadResponse struct { + *tchttp.BaseResponse + Response *DescribeSlowQueryRecordsDownloadResponseParams `json:"Response"` +} + +func (r *DescribeSlowQueryRecordsDownloadResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSlowQueryRecordsDownloadResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeSlowQueryRecordsRequestParams struct { + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 慢查询时间 + QueryDurationMs *int64 `json:"QueryDurationMs,omitnil,omitempty" name:"QueryDurationMs"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 分页 + PageSize *int64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` + + // 分页 + PageNum *int64 `json:"PageNum,omitnil,omitempty" name:"PageNum"` + + // 排序参数 + DurationMs *string `json:"DurationMs,omitnil,omitempty" name:"DurationMs"` + + // 数据库名称 + DbName []*string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // 是否是查询,0:否, 1:是 + IsQuery *int64 `json:"IsQuery,omitnil,omitempty" name:"IsQuery"` + + // catalog名称 + CatalogName []*string `json:"CatalogName,omitnil,omitempty" name:"CatalogName"` + + // sql名 + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // ReadRows排序字段 + ReadRows *string `json:"ReadRows,omitnil,omitempty" name:"ReadRows"` + + // ResultBytes排序字段 + ResultBytes *string `json:"ResultBytes,omitnil,omitempty" name:"ResultBytes"` + + // MemoryUsage排序字段 + MemoryUsage *string `json:"MemoryUsage,omitnil,omitempty" name:"MemoryUsage"` +} + +type DescribeSlowQueryRecordsRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 慢查询时间 + QueryDurationMs *int64 `json:"QueryDurationMs,omitnil,omitempty" name:"QueryDurationMs"` + + // 开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 分页 + PageSize *int64 `json:"PageSize,omitnil,omitempty" name:"PageSize"` + + // 分页 + PageNum *int64 `json:"PageNum,omitnil,omitempty" name:"PageNum"` + + // 排序参数 + DurationMs *string `json:"DurationMs,omitnil,omitempty" name:"DurationMs"` + + // 数据库名称 + DbName []*string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // 是否是查询,0:否, 1:是 + IsQuery *int64 `json:"IsQuery,omitnil,omitempty" name:"IsQuery"` + + // catalog名称 + CatalogName []*string `json:"CatalogName,omitnil,omitempty" name:"CatalogName"` + + // sql名 + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // ReadRows排序字段 + ReadRows *string `json:"ReadRows,omitnil,omitempty" name:"ReadRows"` + + // ResultBytes排序字段 + ResultBytes *string `json:"ResultBytes,omitnil,omitempty" name:"ResultBytes"` + + // MemoryUsage排序字段 + MemoryUsage *string `json:"MemoryUsage,omitnil,omitempty" name:"MemoryUsage"` +} + +func (r *DescribeSlowQueryRecordsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSlowQueryRecordsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "QueryDurationMs") + delete(f, "StartTime") + delete(f, "EndTime") + delete(f, "PageSize") + delete(f, "PageNum") + delete(f, "DurationMs") + delete(f, "DbName") + delete(f, "IsQuery") + delete(f, "CatalogName") + delete(f, "Sql") + delete(f, "ReadRows") + delete(f, "ResultBytes") + delete(f, "MemoryUsage") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSlowQueryRecordsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeSlowQueryRecordsResponseParams struct { + // 总数 + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 记录列表 + SlowQueryRecords []*SlowQueryRecord `json:"SlowQueryRecords,omitnil,omitempty" name:"SlowQueryRecords"` + + // 所有数据库名 + // 注意:此字段可能返回 null,表示取不到有效值。 + DBNameList []*string `json:"DBNameList,omitnil,omitempty" name:"DBNameList"` + + // 所有catalog名 + // 注意:此字段可能返回 null,表示取不到有效值。 + CatalogNameList []*string `json:"CatalogNameList,omitnil,omitempty" name:"CatalogNameList"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeSlowQueryRecordsResponse struct { + *tchttp.BaseResponse + Response *DescribeSlowQueryRecordsResponseParams `json:"Response"` +} + +func (r *DescribeSlowQueryRecordsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSlowQueryRecordsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeSpecRequestParams struct { + // 地域信息,例如"ap-guangzhou-1" + Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` + + // 计费类型,PREPAID 包年包月,POSTPAID_BY_HOUR 按量计费 + PayMode *string `json:"PayMode,omitnil,omitempty" name:"PayMode"` + + // 多可用区 + Zones []*string `json:"Zones,omitnil,omitempty" name:"Zones"` + + // 机型名称 + SpecName *string `json:"SpecName,omitnil,omitempty" name:"SpecName"` +} + +type DescribeSpecRequest struct { + *tchttp.BaseRequest + + // 地域信息,例如"ap-guangzhou-1" + Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` + + // 计费类型,PREPAID 包年包月,POSTPAID_BY_HOUR 按量计费 + PayMode *string `json:"PayMode,omitnil,omitempty" name:"PayMode"` + + // 多可用区 + Zones []*string `json:"Zones,omitnil,omitempty" name:"Zones"` + + // 机型名称 + SpecName *string `json:"SpecName,omitnil,omitempty" name:"SpecName"` +} + +func (r *DescribeSpecRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSpecRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Zone") + delete(f, "PayMode") + delete(f, "Zones") + delete(f, "SpecName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSpecRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeSpecResponseParams struct { + // zookeeper节点规格描述 + MasterSpec []*ResourceSpec `json:"MasterSpec,omitnil,omitempty" name:"MasterSpec"` + + // 数据节点规格描述 + CoreSpec []*ResourceSpec `json:"CoreSpec,omitnil,omitempty" name:"CoreSpec"` + + // 云盘列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + AttachCBSSpec []*DiskSpec `json:"AttachCBSSpec,omitnil,omitempty" name:"AttachCBSSpec"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeSpecResponse struct { + *tchttp.BaseResponse + Response *DescribeSpecResponseParams `json:"Response"` +} + +func (r *DescribeSpecResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSpecResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeSqlApisRequestParams struct { + // 用户链接来自的 IP + WhiteHost *string `json:"WhiteHost,omitnil,omitempty" name:"WhiteHost"` + + // catalog名称 + Catalog *string `json:"Catalog,omitnil,omitempty" name:"Catalog"` + + // catalog集合 + Catalogs []*string `json:"Catalogs,omitnil,omitempty" name:"Catalogs"` + + // 数据库名 + DatabaseName *string `json:"DatabaseName,omitnil,omitempty" name:"DatabaseName"` + + // 表名 + TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"` +} + +type DescribeSqlApisRequest struct { + *tchttp.BaseRequest + + // 用户链接来自的 IP + WhiteHost *string `json:"WhiteHost,omitnil,omitempty" name:"WhiteHost"` + + // catalog名称 + Catalog *string `json:"Catalog,omitnil,omitempty" name:"Catalog"` + + // catalog集合 + Catalogs []*string `json:"Catalogs,omitnil,omitempty" name:"Catalogs"` + + // 数据库名 + DatabaseName *string `json:"DatabaseName,omitnil,omitempty" name:"DatabaseName"` + + // 表名 + TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"` +} + +func (r *DescribeSqlApisRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSqlApisRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "WhiteHost") + delete(f, "Catalog") + delete(f, "Catalogs") + delete(f, "DatabaseName") + delete(f, "TableName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSqlApisRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeSqlApisResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeSqlApisResponse struct { + *tchttp.BaseResponse + Response *DescribeSqlApisResponseParams `json:"Response"` +} + +func (r *DescribeSqlApisResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeSqlApisResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeTableListRequestParams struct { + // 资源ID,建表所用的TCHouse-D资源ID。 + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 需要获取表列表的库 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // 使用该用户进行操作,该用户需要有对应的权限。如果该TCHouse-D集群使用CAM用户注册内核账户,则不需要填写 + UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"` + + // 用户对应的密码。如果该TCHouse-D集群使用CAM用户注册内核账户,则不需要填写 + PassWord *string `json:"PassWord,omitnil,omitempty" name:"PassWord"` + + // 查询库所在的数据源,不填则默认为内部数据源(internal)。 + CatalogName *string `json:"CatalogName,omitnil,omitempty" name:"CatalogName"` +} + +type DescribeTableListRequest struct { + *tchttp.BaseRequest + + // 资源ID,建表所用的TCHouse-D资源ID。 + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 需要获取表列表的库 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // 使用该用户进行操作,该用户需要有对应的权限。如果该TCHouse-D集群使用CAM用户注册内核账户,则不需要填写 + UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"` + + // 用户对应的密码。如果该TCHouse-D集群使用CAM用户注册内核账户,则不需要填写 + PassWord *string `json:"PassWord,omitnil,omitempty" name:"PassWord"` + + // 查询库所在的数据源,不填则默认为内部数据源(internal)。 + CatalogName *string `json:"CatalogName,omitnil,omitempty" name:"CatalogName"` +} + +func (r *DescribeTableListRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeTableListRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "DbName") + delete(f, "UserName") + delete(f, "PassWord") + delete(f, "CatalogName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTableListRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeTableListResponseParams struct { + // 表名列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + TableNames []*string `json:"TableNames,omitnil,omitempty" name:"TableNames"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Message *string `json:"Message,omitnil,omitempty" name:"Message"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeTableListResponse struct { + *tchttp.BaseResponse + Response *DescribeTableListResponseParams `json:"Response"` +} + +func (r *DescribeTableListResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeTableListResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeUserBindWorkloadGroupRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type DescribeUserBindWorkloadGroupRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *DescribeUserBindWorkloadGroupRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeUserBindWorkloadGroupRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeUserBindWorkloadGroupRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeUserBindWorkloadGroupResponseParams struct { + // 用户绑定资源组信息 + UserBindInfos []*UserWorkloadGroup `json:"UserBindInfos,omitnil,omitempty" name:"UserBindInfos"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeUserBindWorkloadGroupResponse struct { + *tchttp.BaseResponse + Response *DescribeUserBindWorkloadGroupResponseParams `json:"Response"` +} + +func (r *DescribeUserBindWorkloadGroupResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeUserBindWorkloadGroupResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeWorkloadGroupRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type DescribeWorkloadGroupRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *DescribeWorkloadGroupRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeWorkloadGroupRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWorkloadGroupRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeWorkloadGroupResponseParams struct { + // 资源组信息 + WorkloadGroups []*WorkloadGroupConfig `json:"WorkloadGroups,omitnil,omitempty" name:"WorkloadGroups"` + + // 是否开启资源组:开启-open、关闭-close + Status *string `json:"Status,omitnil,omitempty" name:"Status"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeWorkloadGroupResponse struct { + *tchttp.BaseResponse + Response *DescribeWorkloadGroupResponseParams `json:"Response"` +} + +func (r *DescribeWorkloadGroupResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeWorkloadGroupResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DestroyInstanceRequestParams struct { + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type DestroyInstanceRequest struct { + *tchttp.BaseRequest + + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *DestroyInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DestroyInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DestroyInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DestroyInstanceResponseParams struct { + // 流程ID + FlowId *string `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DestroyInstanceResponse struct { + *tchttp.BaseResponse + Response *DestroyInstanceResponseParams `json:"Response"` +} + +func (r *DestroyInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DestroyInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DiskSpec struct { + // 磁盘类型,例如“CLOUD_SSD", "LOCAL_SSD"等 + DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"` + + // 磁盘类型说明,例如"云SSD", "本地SSD"等 + DiskDesc *string `json:"DiskDesc,omitnil,omitempty" name:"DiskDesc"` + + // 磁盘最小规格大小,单位G + MinDiskSize *int64 `json:"MinDiskSize,omitnil,omitempty" name:"MinDiskSize"` + + // 磁盘最大规格大小,单位G + MaxDiskSize *int64 `json:"MaxDiskSize,omitnil,omitempty" name:"MaxDiskSize"` + + // 磁盘数目 + DiskCount *int64 `json:"DiskCount,omitnil,omitempty" name:"DiskCount"` +} + +type DorisSourceInfo struct { + // doris集群的fe的ip + // 注意:此字段可能返回 null,表示取不到有效值。 + Host *string `json:"Host,omitnil,omitempty" name:"Host"` + + // doris集群的fe的端口号 + // 注意:此字段可能返回 null,表示取不到有效值。 + Port *int64 `json:"Port,omitnil,omitempty" name:"Port"` + + // doris集群的账号 + // 注意:此字段可能返回 null,表示取不到有效值。 + User *string `json:"User,omitnil,omitempty" name:"User"` + + // doris集群的密码 + // 注意:此字段可能返回 null,表示取不到有效值。 + Password *string `json:"Password,omitnil,omitempty" name:"Password"` +} + +type FrontEndRule struct { + // id序列 + // 注意:此字段可能返回 null,表示取不到有效值。 + ID *int64 `json:"ID,omitnil,omitempty" name:"ID"` + + // 规则名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // 详细规则 + // 注意:此字段可能返回 null,表示取不到有效值。 + Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"` +} + +type InstanceConfigItem struct { + // key + ConfKey *string `json:"ConfKey,omitnil,omitempty" name:"ConfKey"` + + // value + ConfValue *string `json:"ConfValue,omitnil,omitempty" name:"ConfValue"` +} + +type InstanceDetail struct { + // 告警策略是否可用 + // 注意:此字段可能返回 null,表示取不到有效值。 + EnableAlarmStrategy *bool `json:"EnableAlarmStrategy,omitnil,omitempty" name:"EnableAlarmStrategy"` +} + +type InstanceInfo struct { + // 集群实例ID, "cdw-xxxx" 字符串类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 集群实例名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"` + + // 状态, + // Init 创建中; Serving 运行中; + // Deleted已销毁;Deleting 销毁中; + // Modify 集群变更中; + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitnil,omitempty" name:"Status"` + + // 版本 + // 注意:此字段可能返回 null,表示取不到有效值。 + Version *string `json:"Version,omitnil,omitempty" name:"Version"` + + // 地域, ap-guangzhou + // 注意:此字段可能返回 null,表示取不到有效值。 + Region *string `json:"Region,omitnil,omitempty" name:"Region"` + + // 可用区, ap-guangzhou-3 + // 注意:此字段可能返回 null,表示取不到有效值。 + Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` + + // 私有网络名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // 子网名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` + + // 付费类型,"hour", "prepay" + // 注意:此字段可能返回 null,表示取不到有效值。 + PayMode *string `json:"PayMode,omitnil,omitempty" name:"PayMode"` + + // 创建时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` + + // 过期时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"` + + // 数据节点描述信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + MasterSummary *NodesSummary `json:"MasterSummary,omitnil,omitempty" name:"MasterSummary"` + + // zookeeper节点描述信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + CoreSummary *NodesSummary `json:"CoreSummary,omitnil,omitempty" name:"CoreSummary"` + + // 高可用,“true" "false" + // 注意:此字段可能返回 null,表示取不到有效值。 + HA *string `json:"HA,omitnil,omitempty" name:"HA"` + + // 高可用类型: + // 0:非高可用 + // 1:读高可用 + // 2:读写高可用。 + // 注意:此字段可能返回 null,表示取不到有效值。 + HaType *int64 `json:"HaType,omitnil,omitempty" name:"HaType"` + + // 访问地址,例如 "10.0.0.1:9000" + // 注意:此字段可能返回 null,表示取不到有效值。 + AccessInfo *string `json:"AccessInfo,omitnil,omitempty" name:"AccessInfo"` + + // 记录ID,数值型 + // 注意:此字段可能返回 null,表示取不到有效值。 + Id *int64 `json:"Id,omitnil,omitempty" name:"Id"` + + // regionId, 表示地域 + // 注意:此字段可能返回 null,表示取不到有效值。 + RegionId *int64 `json:"RegionId,omitnil,omitempty" name:"RegionId"` + + // 可用区说明,例如 "广州二区" + // 注意:此字段可能返回 null,表示取不到有效值。 + ZoneDesc *string `json:"ZoneDesc,omitnil,omitempty" name:"ZoneDesc"` + + // 错误流程说明信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + FlowMsg *string `json:"FlowMsg,omitnil,omitempty" name:"FlowMsg"` + + // 状态描述,例如“运行中”等 + // 注意:此字段可能返回 null,表示取不到有效值。 + StatusDesc *string `json:"StatusDesc,omitnil,omitempty" name:"StatusDesc"` + + // 自动续费标记 + // 注意:此字段可能返回 null,表示取不到有效值。 + RenewFlag *bool `json:"RenewFlag,omitnil,omitempty" name:"RenewFlag"` + + // 标签列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` + + // 监控信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Monitor *string `json:"Monitor,omitnil,omitempty" name:"Monitor"` + + // 是否开通日志 + // 注意:此字段可能返回 null,表示取不到有效值。 + HasClsTopic *bool `json:"HasClsTopic,omitnil,omitempty" name:"HasClsTopic"` + + // 日志主题ID + // 注意:此字段可能返回 null,表示取不到有效值。 + ClsTopicId *string `json:"ClsTopicId,omitnil,omitempty" name:"ClsTopicId"` + + // 日志集ID + // 注意:此字段可能返回 null,表示取不到有效值。 + ClsLogSetId *string `json:"ClsLogSetId,omitnil,omitempty" name:"ClsLogSetId"` + + // 是否支持xml配置管理 + // 注意:此字段可能返回 null,表示取不到有效值。 + EnableXMLConfig *int64 `json:"EnableXMLConfig,omitnil,omitempty" name:"EnableXMLConfig"` + + // 区域 + // 注意:此字段可能返回 null,表示取不到有效值。 + RegionDesc *string `json:"RegionDesc,omitnil,omitempty" name:"RegionDesc"` + + // 弹性网卡地址 + // 注意:此字段可能返回 null,表示取不到有效值。 + Eip *string `json:"Eip,omitnil,omitempty" name:"Eip"` + + // 冷热分层系数 + // 注意:此字段可能返回 null,表示取不到有效值。 + CosMoveFactor *int64 `json:"CosMoveFactor,omitnil,omitempty" name:"CosMoveFactor"` + + // external/local/yunti + // 注意:此字段可能返回 null,表示取不到有效值。 + Kind *string `json:"Kind,omitnil,omitempty" name:"Kind"` + + // cos桶 + // 注意:此字段可能返回 null,表示取不到有效值。 + CosBucketName *string `json:"CosBucketName,omitnil,omitempty" name:"CosBucketName"` + + // cbs + // 注意:此字段可能返回 null,表示取不到有效值。 + CanAttachCbs *bool `json:"CanAttachCbs,omitnil,omitempty" name:"CanAttachCbs"` + + // 小版本 + // 注意:此字段可能返回 null,表示取不到有效值。 + BuildVersion *string `json:"BuildVersion,omitnil,omitempty" name:"BuildVersion"` + + // 组件信息 + // 注:这里返回类型实际为map[string]struct类型,并非显示的string类型,可以参考“示例值”进行数据的解析。 + // 注意:此字段可能返回 null,表示取不到有效值。 + Components *string `json:"Components,omitnil,omitempty" name:"Components"` + + // 判断审计日志表是否有catalog字段 + // 注意:此字段可能返回 null,表示取不到有效值。 + // + // Deprecated: IfExistCatalog is deprecated. + IfExistCatalog *int64 `json:"IfExistCatalog,omitnil,omitempty" name:"IfExistCatalog"` + + // 页面特性,用于前端屏蔽一些页面入口 + // 注意:此字段可能返回 null,表示取不到有效值。 + Characteristic []*string `json:"Characteristic,omitnil,omitempty" name:"Characteristic"` + + // 超时时间 单位s + // 注意:此字段可能返回 null,表示取不到有效值。 + RestartTimeout *string `json:"RestartTimeout,omitnil,omitempty" name:"RestartTimeout"` + + // 内核优雅重启超时时间,如果为-1说明未设置 + // 注意:此字段可能返回 null,表示取不到有效值。 + GraceShutdownWaitSeconds *string `json:"GraceShutdownWaitSeconds,omitnil,omitempty" name:"GraceShutdownWaitSeconds"` + + // 表名大小写是否敏感,0:敏感;1:不敏感,以小写进行比较;2:不敏感,表名改为以小写存储 + // 注意:此字段可能返回 null,表示取不到有效值。 + CaseSensitive *int64 `json:"CaseSensitive,omitnil,omitempty" name:"CaseSensitive"` + + // 用户是否可以绑定安全组 + // 注意:此字段可能返回 null,表示取不到有效值。 + IsWhiteSGs *bool `json:"IsWhiteSGs,omitnil,omitempty" name:"IsWhiteSGs"` + + // 已绑定的安全组信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + BindSGs []*string `json:"BindSGs,omitnil,omitempty" name:"BindSGs"` + + // 是否为多可用区 + // 注意:此字段可能返回 null,表示取不到有效值。 + EnableMultiZones *bool `json:"EnableMultiZones,omitnil,omitempty" name:"EnableMultiZones"` + + // 用户可用区和子网信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + UserNetworkInfos *string `json:"UserNetworkInfos,omitnil,omitempty" name:"UserNetworkInfos"` + + // 是否启用冷热分层。0:未开启 1:已开启 + // 注意:此字段可能返回 null,表示取不到有效值。 + EnableCoolDown *int64 `json:"EnableCoolDown,omitnil,omitempty" name:"EnableCoolDown"` + + // 冷热分层使用COS桶 + // 注意:此字段可能返回 null,表示取不到有效值。 + CoolDownBucket *string `json:"CoolDownBucket,omitnil,omitempty" name:"CoolDownBucket"` + + // 实例扩展信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + Details *InstanceDetail `json:"Details,omitnil,omitempty" name:"Details"` + + // 是否启用DLC 0:关闭 1:开启 + // 注意:此字段可能返回 null,表示取不到有效值。 + EnableDlc *int64 `json:"EnableDlc,omitnil,omitempty" name:"EnableDlc"` + + // 账户类型 0:普通用户 1:CAM用户 + // 注意:此字段可能返回 null,表示取不到有效值。 + AccountType *int64 `json:"AccountType,omitnil,omitempty" name:"AccountType"` +} + +type InstanceNode struct { + // IP地址 + Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"` + + // 机型,如 S1 + Spec *string `json:"Spec,omitnil,omitempty" name:"Spec"` + + // cpu核数 + Core *int64 `json:"Core,omitnil,omitempty" name:"Core"` + + // 内存大小 + Memory *int64 `json:"Memory,omitnil,omitempty" name:"Memory"` + + // 磁盘类型 + DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"` + + // 磁盘大小 + DiskSize *int64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"` + + // 所属clickhouse cluster名称 + Role *string `json:"Role,omitnil,omitempty" name:"Role"` + + // 状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitnil,omitempty" name:"Status"` + + // rip + // 注意:此字段可能返回 null,表示取不到有效值。 + Rip *string `json:"Rip,omitnil,omitempty" name:"Rip"` + + // FE节点角色 + // 注意:此字段可能返回 null,表示取不到有效值。 + FeRole *string `json:"FeRole,omitnil,omitempty" name:"FeRole"` + + // UUID + // 注意:此字段可能返回 null,表示取不到有效值。 + UUID *string `json:"UUID,omitnil,omitempty" name:"UUID"` +} + +type InstanceOperation struct { + // 操作名称,例如“create_instance"、“scaleout_instance”等 + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // 操作结果,“Success"表示成功,”Fail"表示失败 + Result *string `json:"Result,omitnil,omitempty" name:"Result"` + + // 操作名称描述,例如“创建”,“修改集群名称”等 + Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"` + + // 操作级别,例如“Critical", "Normal"等 + Level *string `json:"Level,omitnil,omitempty" name:"Level"` + + // 操作级别描述,例如“高危”,“一般”等 + LevelDesc *string `json:"LevelDesc,omitnil,omitempty" name:"LevelDesc"` + + // 操作开始时间 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 操作结束时间 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 操作结果描述,例如“成功”,“失败” + ResultDesc *string `json:"ResultDesc,omitnil,omitempty" name:"ResultDesc"` + + // 操作用户ID + OperateUin *string `json:"OperateUin,omitnil,omitempty" name:"OperateUin"` + + // 操作对应的jobid + JobId *int64 `json:"JobId,omitnil,omitempty" name:"JobId"` + + // 操作明细 + OperationDetail *string `json:"OperationDetail,omitnil,omitempty" name:"OperationDetail"` +} + +// Predefined struct for user +type ModifyClusterConfigsRequestParams struct { + // 集群ID,例如cdwch-xxxx + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 配置文件修改信息 + ModifyConfContext []*ConfigSubmitContext `json:"ModifyConfContext,omitnil,omitempty" name:"ModifyConfContext"` + + // 修改原因 + Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"` +} + +type ModifyClusterConfigsRequest struct { + *tchttp.BaseRequest + + // 集群ID,例如cdwch-xxxx + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 配置文件修改信息 + ModifyConfContext []*ConfigSubmitContext `json:"ModifyConfContext,omitnil,omitempty" name:"ModifyConfContext"` + + // 修改原因 + Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"` +} + +func (r *ModifyClusterConfigsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyClusterConfigsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "ModifyConfContext") + delete(f, "Remark") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyClusterConfigsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyClusterConfigsResponseParams struct { + // 流程相关信息 + FlowId *int64 `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyClusterConfigsResponse struct { + *tchttp.BaseResponse + Response *ModifyClusterConfigsResponseParams `json:"Response"` +} + +func (r *ModifyClusterConfigsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyClusterConfigsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyCoolDownPolicyRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 策略名称 + PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"` + + // cooldown_ttl + CoolDownTtl *string `json:"CoolDownTtl,omitnil,omitempty" name:"CoolDownTtl"` + + // cooldown_datetime + CoolDownDatetime *string `json:"CoolDownDatetime,omitnil,omitempty" name:"CoolDownDatetime"` +} + +type ModifyCoolDownPolicyRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 策略名称 + PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"` + + // cooldown_ttl + CoolDownTtl *string `json:"CoolDownTtl,omitnil,omitempty" name:"CoolDownTtl"` + + // cooldown_datetime + CoolDownDatetime *string `json:"CoolDownDatetime,omitnil,omitempty" name:"CoolDownDatetime"` +} + +func (r *ModifyCoolDownPolicyRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyCoolDownPolicyRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "PolicyName") + delete(f, "CoolDownTtl") + delete(f, "CoolDownDatetime") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyCoolDownPolicyRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyCoolDownPolicyResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyCoolDownPolicyResponse struct { + *tchttp.BaseResponse + Response *ModifyCoolDownPolicyResponseParams `json:"Response"` +} + +func (r *ModifyCoolDownPolicyResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyCoolDownPolicyResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyInstanceKeyValConfigsRequestParams struct { + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 文件名称 + FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"` + + // 新增配置列表 + AddItems []*InstanceConfigItem `json:"AddItems,omitnil,omitempty" name:"AddItems"` + + // 更新配置列表 + UpdateItems []*InstanceConfigItem `json:"UpdateItems,omitnil,omitempty" name:"UpdateItems"` + + // 删除配置列表 + DelItems []*InstanceConfigItem `json:"DelItems,omitnil,omitempty" name:"DelItems"` + + // 备注(50字以内) + Message *string `json:"Message,omitnil,omitempty" name:"Message"` + + // 热更新列表 + HotUpdateItems []*InstanceConfigItem `json:"HotUpdateItems,omitnil,omitempty" name:"HotUpdateItems"` + + // 删除配置列表 + DeleteItems *InstanceConfigItem `json:"DeleteItems,omitnil,omitempty" name:"DeleteItems"` + + // ip地址 + IPAddress *string `json:"IPAddress,omitnil,omitempty" name:"IPAddress"` +} + +type ModifyInstanceKeyValConfigsRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 文件名称 + FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"` + + // 新增配置列表 + AddItems []*InstanceConfigItem `json:"AddItems,omitnil,omitempty" name:"AddItems"` + + // 更新配置列表 + UpdateItems []*InstanceConfigItem `json:"UpdateItems,omitnil,omitempty" name:"UpdateItems"` + + // 删除配置列表 + DelItems []*InstanceConfigItem `json:"DelItems,omitnil,omitempty" name:"DelItems"` + + // 备注(50字以内) + Message *string `json:"Message,omitnil,omitempty" name:"Message"` + + // 热更新列表 + HotUpdateItems []*InstanceConfigItem `json:"HotUpdateItems,omitnil,omitempty" name:"HotUpdateItems"` + + // 删除配置列表 + DeleteItems *InstanceConfigItem `json:"DeleteItems,omitnil,omitempty" name:"DeleteItems"` + + // ip地址 + IPAddress *string `json:"IPAddress,omitnil,omitempty" name:"IPAddress"` +} + +func (r *ModifyInstanceKeyValConfigsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyInstanceKeyValConfigsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "FileName") + delete(f, "AddItems") + delete(f, "UpdateItems") + delete(f, "DelItems") + delete(f, "Message") + delete(f, "HotUpdateItems") + delete(f, "DeleteItems") + delete(f, "IPAddress") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyInstanceKeyValConfigsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyInstanceKeyValConfigsResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // ID + FlowId *int64 `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyInstanceKeyValConfigsResponse struct { + *tchttp.BaseResponse + Response *ModifyInstanceKeyValConfigsResponseParams `json:"Response"` +} + +func (r *ModifyInstanceKeyValConfigsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyInstanceKeyValConfigsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyInstanceRequestParams struct { + // 实例Id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 新修改的实例名称 + InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"` +} + +type ModifyInstanceRequest struct { + *tchttp.BaseRequest + + // 实例Id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 新修改的实例名称 + InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"` +} + +func (r *ModifyInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "InstanceName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyInstanceResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyInstanceResponse struct { + *tchttp.BaseResponse + Response *ModifyInstanceResponseParams `json:"Response"` +} + +func (r *ModifyInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyNodeStatusRequestParams struct { + // 集群ID,例如cdwch-xxxx + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 节点信息 + NodeInfos []*NodeInfos `json:"NodeInfos,omitnil,omitempty" name:"NodeInfos"` + + // 节点操作 + OperationCode *string `json:"OperationCode,omitnil,omitempty" name:"OperationCode"` + + // 超时时间(秒) + RestartTimeOut *string `json:"RestartTimeOut,omitnil,omitempty" name:"RestartTimeOut"` +} + +type ModifyNodeStatusRequest struct { + *tchttp.BaseRequest + + // 集群ID,例如cdwch-xxxx + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 节点信息 + NodeInfos []*NodeInfos `json:"NodeInfos,omitnil,omitempty" name:"NodeInfos"` + + // 节点操作 + OperationCode *string `json:"OperationCode,omitnil,omitempty" name:"OperationCode"` + + // 超时时间(秒) + RestartTimeOut *string `json:"RestartTimeOut,omitnil,omitempty" name:"RestartTimeOut"` +} + +func (r *ModifyNodeStatusRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyNodeStatusRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "NodeInfos") + delete(f, "OperationCode") + delete(f, "RestartTimeOut") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyNodeStatusRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyNodeStatusResponseParams struct { + // 流程相关信息 + FlowId *int64 `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyNodeStatusResponse struct { + *tchttp.BaseResponse + Response *ModifyNodeStatusResponseParams `json:"Response"` +} + +func (r *ModifyNodeStatusResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyNodeStatusResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifySecurityGroupsRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 修改前的安全组信息 + OldSecurityGroupIds []*string `json:"OldSecurityGroupIds,omitnil,omitempty" name:"OldSecurityGroupIds"` + + // 修改后的安全组信息 + ModifySecurityGroupIds []*string `json:"ModifySecurityGroupIds,omitnil,omitempty" name:"ModifySecurityGroupIds"` +} + +type ModifySecurityGroupsRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 修改前的安全组信息 + OldSecurityGroupIds []*string `json:"OldSecurityGroupIds,omitnil,omitempty" name:"OldSecurityGroupIds"` + + // 修改后的安全组信息 + ModifySecurityGroupIds []*string `json:"ModifySecurityGroupIds,omitnil,omitempty" name:"ModifySecurityGroupIds"` +} + +func (r *ModifySecurityGroupsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifySecurityGroupsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "OldSecurityGroupIds") + delete(f, "ModifySecurityGroupIds") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySecurityGroupsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifySecurityGroupsResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifySecurityGroupsResponse struct { + *tchttp.BaseResponse + Response *ModifySecurityGroupsResponseParams `json:"Response"` +} + +func (r *ModifySecurityGroupsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifySecurityGroupsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyUserBindWorkloadGroupRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 需要绑定资源组的用户信息,如果一个账户拥有多个主机信息,需要将这些信息都传入 + BindUsers []*BindUser `json:"BindUsers,omitnil,omitempty" name:"BindUsers"` + + // 修改前绑定的资源组名称 + OldWorkloadGroupName *string `json:"OldWorkloadGroupName,omitnil,omitempty" name:"OldWorkloadGroupName"` + + // 修改后绑定的资源组名称 + NewWorkloadGroupName *string `json:"NewWorkloadGroupName,omitnil,omitempty" name:"NewWorkloadGroupName"` +} + +type ModifyUserBindWorkloadGroupRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 需要绑定资源组的用户信息,如果一个账户拥有多个主机信息,需要将这些信息都传入 + BindUsers []*BindUser `json:"BindUsers,omitnil,omitempty" name:"BindUsers"` + + // 修改前绑定的资源组名称 + OldWorkloadGroupName *string `json:"OldWorkloadGroupName,omitnil,omitempty" name:"OldWorkloadGroupName"` + + // 修改后绑定的资源组名称 + NewWorkloadGroupName *string `json:"NewWorkloadGroupName,omitnil,omitempty" name:"NewWorkloadGroupName"` +} + +func (r *ModifyUserBindWorkloadGroupRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyUserBindWorkloadGroupRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "BindUsers") + delete(f, "OldWorkloadGroupName") + delete(f, "NewWorkloadGroupName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyUserBindWorkloadGroupRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyUserBindWorkloadGroupResponseParams struct { + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyUserBindWorkloadGroupResponse struct { + *tchttp.BaseResponse + Response *ModifyUserBindWorkloadGroupResponseParams `json:"Response"` +} + +func (r *ModifyUserBindWorkloadGroupResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyUserBindWorkloadGroupResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyUserPrivilegesV3RequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 用户名 + UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"` + + // 用户权限 + UserPrivileges *UpdateUserPrivileges `json:"UserPrivileges,omitnil,omitempty" name:"UserPrivileges"` + + // 用户链接来自的 IP + WhiteHost *string `json:"WhiteHost,omitnil,omitempty" name:"WhiteHost"` +} + +type ModifyUserPrivilegesV3Request struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 用户名 + UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"` + + // 用户权限 + UserPrivileges *UpdateUserPrivileges `json:"UserPrivileges,omitnil,omitempty" name:"UserPrivileges"` + + // 用户链接来自的 IP + WhiteHost *string `json:"WhiteHost,omitnil,omitempty" name:"WhiteHost"` +} + +func (r *ModifyUserPrivilegesV3Request) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyUserPrivilegesV3Request) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "UserName") + delete(f, "UserPrivileges") + delete(f, "WhiteHost") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyUserPrivilegesV3Request has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyUserPrivilegesV3ResponseParams struct { + // 错误信息,为空就是没有错误 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyUserPrivilegesV3Response struct { + *tchttp.BaseResponse + Response *ModifyUserPrivilegesV3ResponseParams `json:"Response"` +} + +func (r *ModifyUserPrivilegesV3Response) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyUserPrivilegesV3Response) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyWorkloadGroupRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 修改的资源组信息 + WorkloadGroup *WorkloadGroupConfig `json:"WorkloadGroup,omitnil,omitempty" name:"WorkloadGroup"` +} + +type ModifyWorkloadGroupRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 修改的资源组信息 + WorkloadGroup *WorkloadGroupConfig `json:"WorkloadGroup,omitnil,omitempty" name:"WorkloadGroup"` +} + +func (r *ModifyWorkloadGroupRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyWorkloadGroupRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "WorkloadGroup") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWorkloadGroupRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyWorkloadGroupResponseParams struct { + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyWorkloadGroupResponse struct { + *tchttp.BaseResponse + Response *ModifyWorkloadGroupResponseParams `json:"Response"` +} + +func (r *ModifyWorkloadGroupResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyWorkloadGroupResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyWorkloadGroupStatusRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 是否开启资源组:open-开启、close-关闭 + OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` +} + +type ModifyWorkloadGroupStatusRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 是否开启资源组:open-开启、close-关闭 + OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` +} + +func (r *ModifyWorkloadGroupStatusRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyWorkloadGroupStatusRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "OperationType") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWorkloadGroupStatusRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyWorkloadGroupStatusResponseParams struct { + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyWorkloadGroupStatusResponse struct { + *tchttp.BaseResponse + Response *ModifyWorkloadGroupStatusResponseParams `json:"Response"` +} + +func (r *ModifyWorkloadGroupStatusResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyWorkloadGroupStatusResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type NetworkInfo struct { + // 可用区 + // 注意:此字段可能返回 null,表示取不到有效值。 + Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` + + // 子网id + // 注意:此字段可能返回 null,表示取不到有效值。 + SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` + + // 当前子网可用ip数 + // 注意:此字段可能返回 null,表示取不到有效值。 + SubnetIpNum *int64 `json:"SubnetIpNum,omitnil,omitempty" name:"SubnetIpNum"` +} + +type NodeInfo struct { + // 用户IP + // 注意:此字段可能返回 null,表示取不到有效值。 + Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"` + + // 节点状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *int64 `json:"Status,omitnil,omitempty" name:"Status"` + + // 节点角色名 + // 注意:此字段可能返回 null,表示取不到有效值。 + NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"` + + // 组件名 + // 注意:此字段可能返回 null,表示取不到有效值。 + ComponentName *string `json:"ComponentName,omitnil,omitempty" name:"ComponentName"` + + // 节点角色 + // 注意:此字段可能返回 null,表示取不到有效值。 + NodeRole *string `json:"NodeRole,omitnil,omitempty" name:"NodeRole"` + + // 节点上次重启的时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + LastRestartTime *string `json:"LastRestartTime,omitnil,omitempty" name:"LastRestartTime"` + + // 节点所在可用区 + // 注意:此字段可能返回 null,表示取不到有效值。 + Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` +} + +type NodeInfos struct { + // 节点名称 + NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"` + + // 节点状态 + Status *int64 `json:"Status,omitnil,omitempty" name:"Status"` + + // 节点ip + Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"` + + // 节点角色 + NodeRole *string `json:"NodeRole,omitnil,omitempty" name:"NodeRole"` + + // 组件名 + ComponentName *string `json:"ComponentName,omitnil,omitempty" name:"ComponentName"` + + // 上一次重启时间 + LastRestartTime *string `json:"LastRestartTime,omitnil,omitempty" name:"LastRestartTime"` +} + +type NodesSummary struct { + // 机型,如 S1 + Spec *string `json:"Spec,omitnil,omitempty" name:"Spec"` + + // 节点数目 + NodeSize *int64 `json:"NodeSize,omitnil,omitempty" name:"NodeSize"` + + // cpu核数,单位个 + Core *int64 `json:"Core,omitnil,omitempty" name:"Core"` + + // 内存大小,单位G + Memory *int64 `json:"Memory,omitnil,omitempty" name:"Memory"` + + // 磁盘大小,单位G + Disk *int64 `json:"Disk,omitnil,omitempty" name:"Disk"` + + // 磁盘类型 + DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"` + + // 磁盘描述 + DiskDesc *string `json:"DiskDesc,omitnil,omitempty" name:"DiskDesc"` + + // 挂载云盘信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + AttachCBSSpec *AttachCBSSpec `json:"AttachCBSSpec,omitnil,omitempty" name:"AttachCBSSpec"` + + // 子产品名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + SubProductType *string `json:"SubProductType,omitnil,omitempty" name:"SubProductType"` + + // 规格核数 + // 注意:此字段可能返回 null,表示取不到有效值。 + SpecCore *int64 `json:"SpecCore,omitnil,omitempty" name:"SpecCore"` + + // 规格内存 + // 注意:此字段可能返回 null,表示取不到有效值。 + SpecMemory *int64 `json:"SpecMemory,omitnil,omitempty" name:"SpecMemory"` + + // 磁盘大小 + // 注意:此字段可能返回 null,表示取不到有效值。 + DiskCount *int64 `json:"DiskCount,omitnil,omitempty" name:"DiskCount"` + + // 是否加密 + // 注意:此字段可能返回 null,表示取不到有效值。 + Encrypt *int64 `json:"Encrypt,omitnil,omitempty" name:"Encrypt"` + + // 最大磁盘 + // 注意:此字段可能返回 null,表示取不到有效值。 + MaxDiskSize *int64 `json:"MaxDiskSize,omitnil,omitempty" name:"MaxDiskSize"` +} + +// Predefined struct for user +type OpenCoolDownPolicyRequestParams struct { + // 实例id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // db名称 + DatabaseName *string `json:"DatabaseName,omitnil,omitempty" name:"DatabaseName"` + + // table名称 + TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"` + + // 操作类型 + OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` + + // 逗号分隔 需要带上db的名字 db1.tb1,db1.tb2,db2.tb1 + BatchOpenCoolDownTables *string `json:"BatchOpenCoolDownTables,omitnil,omitempty" name:"BatchOpenCoolDownTables"` + + // 绑定的时候用 策略名称 + PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"` + + // 逗号分隔 p1,p2,p3 + BatchOpenCoolDownPartitions *string `json:"BatchOpenCoolDownPartitions,omitnil,omitempty" name:"BatchOpenCoolDownPartitions"` +} + +type OpenCoolDownPolicyRequest struct { + *tchttp.BaseRequest + + // 实例id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // db名称 + DatabaseName *string `json:"DatabaseName,omitnil,omitempty" name:"DatabaseName"` + + // table名称 + TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"` + + // 操作类型 + OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` + + // 逗号分隔 需要带上db的名字 db1.tb1,db1.tb2,db2.tb1 + BatchOpenCoolDownTables *string `json:"BatchOpenCoolDownTables,omitnil,omitempty" name:"BatchOpenCoolDownTables"` + + // 绑定的时候用 策略名称 + PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"` + + // 逗号分隔 p1,p2,p3 + BatchOpenCoolDownPartitions *string `json:"BatchOpenCoolDownPartitions,omitnil,omitempty" name:"BatchOpenCoolDownPartitions"` +} + +func (r *OpenCoolDownPolicyRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *OpenCoolDownPolicyRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "DatabaseName") + delete(f, "TableName") + delete(f, "OperationType") + delete(f, "BatchOpenCoolDownTables") + delete(f, "PolicyName") + delete(f, "BatchOpenCoolDownPartitions") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "OpenCoolDownPolicyRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type OpenCoolDownPolicyResponseParams struct { + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 返回信息 + QueryDocument *string `json:"QueryDocument,omitnil,omitempty" name:"QueryDocument"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type OpenCoolDownPolicyResponse struct { + *tchttp.BaseResponse + Response *OpenCoolDownPolicyResponseParams `json:"Response"` +} + +func (r *OpenCoolDownPolicyResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *OpenCoolDownPolicyResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type OpenCoolDownRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +type OpenCoolDownRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` +} + +func (r *OpenCoolDownRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *OpenCoolDownRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "OpenCoolDownRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type OpenCoolDownResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type OpenCoolDownResponse struct { + *tchttp.BaseResponse + Response *OpenCoolDownResponseParams `json:"Response"` +} + +func (r *OpenCoolDownResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *OpenCoolDownResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type RecoverBackUpJobRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` + + // 恢复出来的新表副本数 + ReplicationNum *int64 `json:"ReplicationNum,omitnil,omitempty" name:"ReplicationNum"` + + // 恢复是否保持源表中的配置,1时表示保留源表中的配置 + ReserveSourceConfig *int64 `json:"ReserveSourceConfig,omitnil,omitempty" name:"ReserveSourceConfig"` + + // 0默认 1cos恢复 + RecoverType *int64 `json:"RecoverType,omitnil,omitempty" name:"RecoverType"` + + // CosSourceInfo对象 + CosSourceInfo *CosSourceInfo `json:"CosSourceInfo,omitnil,omitempty" name:"CosSourceInfo"` + + // 0默认 1定期执行 + ScheduleType *int64 `json:"ScheduleType,omitnil,omitempty" name:"ScheduleType"` + + // 年-月-日 时:分:秒 + NextTime *string `json:"NextTime,omitnil,omitempty" name:"NextTime"` + + // 调度名称 + ScheduleName *string `json:"ScheduleName,omitnil,omitempty" name:"ScheduleName"` + + // create update + OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` + + // 恢复粒度:All全量、Database按库、Table按表 + RecoverScope *string `json:"RecoverScope,omitnil,omitempty" name:"RecoverScope"` + + // 恢复库:如果是按库备份,则需要该字段,库之间用","分割 + RecoverDatabase *string `json:"RecoverDatabase,omitnil,omitempty" name:"RecoverDatabase"` +} + +type RecoverBackUpJobRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 任务id + BackUpJobId *int64 `json:"BackUpJobId,omitnil,omitempty" name:"BackUpJobId"` + + // 恢复出来的新表副本数 + ReplicationNum *int64 `json:"ReplicationNum,omitnil,omitempty" name:"ReplicationNum"` + + // 恢复是否保持源表中的配置,1时表示保留源表中的配置 + ReserveSourceConfig *int64 `json:"ReserveSourceConfig,omitnil,omitempty" name:"ReserveSourceConfig"` + + // 0默认 1cos恢复 + RecoverType *int64 `json:"RecoverType,omitnil,omitempty" name:"RecoverType"` + + // CosSourceInfo对象 + CosSourceInfo *CosSourceInfo `json:"CosSourceInfo,omitnil,omitempty" name:"CosSourceInfo"` + + // 0默认 1定期执行 + ScheduleType *int64 `json:"ScheduleType,omitnil,omitempty" name:"ScheduleType"` + + // 年-月-日 时:分:秒 + NextTime *string `json:"NextTime,omitnil,omitempty" name:"NextTime"` + + // 调度名称 + ScheduleName *string `json:"ScheduleName,omitnil,omitempty" name:"ScheduleName"` + + // create update + OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` + + // 恢复粒度:All全量、Database按库、Table按表 + RecoverScope *string `json:"RecoverScope,omitnil,omitempty" name:"RecoverScope"` + + // 恢复库:如果是按库备份,则需要该字段,库之间用","分割 + RecoverDatabase *string `json:"RecoverDatabase,omitnil,omitempty" name:"RecoverDatabase"` +} + +func (r *RecoverBackUpJobRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *RecoverBackUpJobRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "BackUpJobId") + delete(f, "ReplicationNum") + delete(f, "ReserveSourceConfig") + delete(f, "RecoverType") + delete(f, "CosSourceInfo") + delete(f, "ScheduleType") + delete(f, "NextTime") + delete(f, "ScheduleName") + delete(f, "OperationType") + delete(f, "RecoverScope") + delete(f, "RecoverDatabase") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RecoverBackUpJobRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type RecoverBackUpJobResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type RecoverBackUpJobResponse struct { + *tchttp.BaseResponse + Response *RecoverBackUpJobResponseParams `json:"Response"` +} + +func (r *RecoverBackUpJobResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *RecoverBackUpJobResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ReduceInstanceRequestParams struct { + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 节点列表 + DelHosts []*string `json:"DelHosts,omitnil,omitempty" name:"DelHosts"` + + // 角色(MATER/CORE),MASTER 对应 FE,CORE对应BE + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 缩容后集群高可用类型:0:非高可用,1:读高可用,2:读写高可用。 + HaType *int64 `json:"HaType,omitnil,omitempty" name:"HaType"` +} + +type ReduceInstanceRequest struct { + *tchttp.BaseRequest + + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 节点列表 + DelHosts []*string `json:"DelHosts,omitnil,omitempty" name:"DelHosts"` + + // 角色(MATER/CORE),MASTER 对应 FE,CORE对应BE + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 缩容后集群高可用类型:0:非高可用,1:读高可用,2:读写高可用。 + HaType *int64 `json:"HaType,omitnil,omitempty" name:"HaType"` +} + +func (r *ReduceInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ReduceInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "DelHosts") + delete(f, "Type") + delete(f, "HaType") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ReduceInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ReduceInstanceResponseParams struct { + // 流程ID + FlowId *string `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ReduceInstanceResponse struct { + *tchttp.BaseResponse + Response *ReduceInstanceResponseParams `json:"Response"` +} + +func (r *ReduceInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ReduceInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RegionAreaInfo struct { + // 大类地域信息,如"south_china", "east_china"等 + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // 对应Name的描述,例如“华南地区”,“华东地区”等 + Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"` + + // 具体地域列表1 + Regions []*RegionInfo `json:"Regions,omitnil,omitempty" name:"Regions"` +} + +type RegionInfo struct { + // 地域名称,例如“ap-guangzhou" + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // 地域描述,例如"广州” + Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"` + + // 地域唯一标记 + RegionId *int64 `json:"RegionId,omitnil,omitempty" name:"RegionId"` + + // 地域下所有可用区列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + Zones []*ZoneInfo `json:"Zones,omitnil,omitempty" name:"Zones"` + + // 该地域下集群数目 + Count *int64 `json:"Count,omitnil,omitempty" name:"Count"` + + // 0代表是国际站 1代表不是 + // 注意:此字段可能返回 null,表示取不到有效值。 + IsInternationalSite *uint64 `json:"IsInternationalSite,omitnil,omitempty" name:"IsInternationalSite"` + + // 桶 + // 注意:此字段可能返回 null,表示取不到有效值。 + Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"` +} + +// Predefined struct for user +type ResizeDiskRequestParams struct { + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 角色(MATER/CORE),MASTER 对应 FE,CORE对应BE + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 云盘大小 + DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"` +} + +type ResizeDiskRequest struct { + *tchttp.BaseRequest + + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 角色(MATER/CORE),MASTER 对应 FE,CORE对应BE + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 云盘大小 + DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"` +} + +func (r *ResizeDiskRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResizeDiskRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Type") + delete(f, "DiskSize") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ResizeDiskRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ResizeDiskResponseParams struct { + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 流程ID + FlowId *string `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ResizeDiskResponse struct { + *tchttp.BaseResponse + Response *ResizeDiskResponseParams `json:"Response"` +} + +func (r *ResizeDiskResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResizeDiskResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ResourceSpec struct { + // 规格名称,例如“SCH1" + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // cpu核数 + Cpu *int64 `json:"Cpu,omitnil,omitempty" name:"Cpu"` + + // 内存大小,单位G + Mem *int64 `json:"Mem,omitnil,omitempty" name:"Mem"` + + // 分类标记,STANDARD/BIGDATA/HIGHIO分别表示标准型/大数据型/高IO + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 系统盘描述信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + SystemDisk *DiskSpec `json:"SystemDisk,omitnil,omitempty" name:"SystemDisk"` + + // 数据盘描述信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + DataDisk *DiskSpec `json:"DataDisk,omitnil,omitempty" name:"DataDisk"` + + // 最大节点数目限制 + // 注意:此字段可能返回 null,表示取不到有效值。 + MaxNodeSize *int64 `json:"MaxNodeSize,omitnil,omitempty" name:"MaxNodeSize"` + + // 是否可用,false代表售罄 + // 注意:此字段可能返回 null,表示取不到有效值。 + Available *bool `json:"Available,omitnil,omitempty" name:"Available"` + + // 规格描述信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ComputeSpecDesc *string `json:"ComputeSpecDesc,omitnil,omitempty" name:"ComputeSpecDesc"` + + // cvm库存 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceQuota *int64 `json:"InstanceQuota,omitnil,omitempty" name:"InstanceQuota"` +} + +// Predefined struct for user +type RestartClusterForConfigsRequestParams struct { + // 集群ID,例如cdwch-xxxx + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 配置文件名称 + ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"` + + // grace_restart为优雅滚动重启 不填默认立刻重启 + OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` +} + +type RestartClusterForConfigsRequest struct { + *tchttp.BaseRequest + + // 集群ID,例如cdwch-xxxx + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 配置文件名称 + ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"` + + // grace_restart为优雅滚动重启 不填默认立刻重启 + OperationType *string `json:"OperationType,omitnil,omitempty" name:"OperationType"` +} + +func (r *RestartClusterForConfigsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *RestartClusterForConfigsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "ConfigName") + delete(f, "OperationType") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RestartClusterForConfigsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type RestartClusterForConfigsResponseParams struct { + // 流程相关信息 + FlowId *int64 `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type RestartClusterForConfigsResponse struct { + *tchttp.BaseResponse + Response *RestartClusterForConfigsResponseParams `json:"Response"` +} + +func (r *RestartClusterForConfigsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *RestartClusterForConfigsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type RestartClusterForNodeRequestParams struct { + // 集群ID,例如cdwch-xxxx + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 配置文件名称 + ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"` + + // 每次重启的批次 + BatchSize *int64 `json:"BatchSize,omitnil,omitempty" name:"BatchSize"` + + // 重启节点 + NodeList []*string `json:"NodeList,omitnil,omitempty" name:"NodeList"` + + // false表示非滚动重启,true表示滚动重启 + RollingRestart *bool `json:"RollingRestart,omitnil,omitempty" name:"RollingRestart"` +} + +type RestartClusterForNodeRequest struct { + *tchttp.BaseRequest + + // 集群ID,例如cdwch-xxxx + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 配置文件名称 + ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"` + + // 每次重启的批次 + BatchSize *int64 `json:"BatchSize,omitnil,omitempty" name:"BatchSize"` + + // 重启节点 + NodeList []*string `json:"NodeList,omitnil,omitempty" name:"NodeList"` + + // false表示非滚动重启,true表示滚动重启 + RollingRestart *bool `json:"RollingRestart,omitnil,omitempty" name:"RollingRestart"` +} + +func (r *RestartClusterForNodeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *RestartClusterForNodeRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "ConfigName") + delete(f, "BatchSize") + delete(f, "NodeList") + delete(f, "RollingRestart") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RestartClusterForNodeRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type RestartClusterForNodeResponseParams struct { + // 流程相关信息 + FlowId *int64 `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type RestartClusterForNodeResponse struct { + *tchttp.BaseResponse + Response *RestartClusterForNodeResponseParams `json:"Response"` +} + +func (r *RestartClusterForNodeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *RestartClusterForNodeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RestoreStatus struct { + // 恢复任务id + JobId *int64 `json:"JobId,omitnil,omitempty" name:"JobId"` + + // 恢复任务标签 + Label *string `json:"Label,omitnil,omitempty" name:"Label"` + + // 恢复任务时间戳 + Timestamp *string `json:"Timestamp,omitnil,omitempty" name:"Timestamp"` + + // 恢复任务所在库 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // 恢复任务状态 + State *string `json:"State,omitnil,omitempty" name:"State"` + + // 恢复时是否允许导入 + AllowLoad *bool `json:"AllowLoad,omitnil,omitempty" name:"AllowLoad"` + + // 副本数 + ReplicationNum *string `json:"ReplicationNum,omitnil,omitempty" name:"ReplicationNum"` + + // 副本数 + ReplicaAllocation *string `json:"ReplicaAllocation,omitnil,omitempty" name:"ReplicaAllocation"` + + // 恢复对象 + RestoreObjects *string `json:"RestoreObjects,omitnil,omitempty" name:"RestoreObjects"` + + // 创建时间 + CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` + + // 元数据准备时间 + MetaPreparedTime *string `json:"MetaPreparedTime,omitnil,omitempty" name:"MetaPreparedTime"` + + // 快照结束时间 + SnapshotFinishedTime *string `json:"SnapshotFinishedTime,omitnil,omitempty" name:"SnapshotFinishedTime"` + + // 下载结束时间 + DownloadFinishedTime *string `json:"DownloadFinishedTime,omitnil,omitempty" name:"DownloadFinishedTime"` + + // 结束时间 + FinishedTime *string `json:"FinishedTime,omitnil,omitempty" name:"FinishedTime"` + + // 未完成任务 + UnfinishedTasks *string `json:"UnfinishedTasks,omitnil,omitempty" name:"UnfinishedTasks"` + + // 进度 + Progress *string `json:"Progress,omitnil,omitempty" name:"Progress"` + + // 错误信息 + TaskErrMsg *string `json:"TaskErrMsg,omitnil,omitempty" name:"TaskErrMsg"` + + // 状态 + Status *string `json:"Status,omitnil,omitempty" name:"Status"` + + // 作业超时时间 + Timeout *int64 `json:"Timeout,omitnil,omitempty" name:"Timeout"` + + // 是否保持源表中的副本数 + ReserveReplica *bool `json:"ReserveReplica,omitnil,omitempty" name:"ReserveReplica"` + + // 是否保持源表中的动态分区 + ReserveDynamicPartitionEnable *bool `json:"ReserveDynamicPartitionEnable,omitnil,omitempty" name:"ReserveDynamicPartitionEnable"` + + // 备份实例id + // 注意:此字段可能返回 null,表示取不到有效值。 + BackupJobId *int64 `json:"BackupJobId,omitnil,omitempty" name:"BackupJobId"` + + // 实例对应snapshot的id + // 注意:此字段可能返回 null,表示取不到有效值。 + TaskId *int64 `json:"TaskId,omitnil,omitempty" name:"TaskId"` +} + +// Predefined struct for user +type ScaleOutInstanceRequestParams struct { + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 角色(MATER/CORE),MASTER 对应 FE,CORE对应BE + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 节点数量 + NodeCount *uint64 `json:"NodeCount,omitnil,omitempty" name:"NodeCount"` + + // 扩容后集群高可用类型:0:非高可用,1:读高可用,2:读写高可用。 + HaType *int64 `json:"HaType,omitnil,omitempty" name:"HaType"` +} + +type ScaleOutInstanceRequest struct { + *tchttp.BaseRequest + + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 角色(MATER/CORE),MASTER 对应 FE,CORE对应BE + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 节点数量 + NodeCount *uint64 `json:"NodeCount,omitnil,omitempty" name:"NodeCount"` + + // 扩容后集群高可用类型:0:非高可用,1:读高可用,2:读写高可用。 + HaType *int64 `json:"HaType,omitnil,omitempty" name:"HaType"` +} + +func (r *ScaleOutInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ScaleOutInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Type") + delete(f, "NodeCount") + delete(f, "HaType") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScaleOutInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ScaleOutInstanceResponseParams struct { + // 流程ID + FlowId *string `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ScaleOutInstanceResponse struct { + *tchttp.BaseResponse + Response *ScaleOutInstanceResponseParams `json:"Response"` +} + +func (r *ScaleOutInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ScaleOutInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ScaleUpInstanceRequestParams struct { + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 节点规格 + SpecName *string `json:"SpecName,omitnil,omitempty" name:"SpecName"` + + // 角色(MATER/CORE),MASTER 对应 FE,CORE对应BE + Type *string `json:"Type,omitnil,omitempty" name:"Type"` +} + +type ScaleUpInstanceRequest struct { + *tchttp.BaseRequest + + // 集群ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 节点规格 + SpecName *string `json:"SpecName,omitnil,omitempty" name:"SpecName"` + + // 角色(MATER/CORE),MASTER 对应 FE,CORE对应BE + Type *string `json:"Type,omitnil,omitempty" name:"Type"` +} + +func (r *ScaleUpInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ScaleUpInstanceRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "SpecName") + delete(f, "Type") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScaleUpInstanceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ScaleUpInstanceResponseParams struct { + // 流程ID + FlowId *string `json:"FlowId,omitnil,omitempty" name:"FlowId"` + + // 实例ID + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 错误信息 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ScaleUpInstanceResponse struct { + *tchttp.BaseResponse + Response *ScaleUpInstanceResponseParams `json:"Response"` +} + +func (r *ScaleUpInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ScaleUpInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type SearchTags struct { + // 标签的键 + TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"` + + // 标签的值 + TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"` + + // 1表示只输入标签的键,没有输入值;0表示输入键时且输入值 + AllValue *int64 `json:"AllValue,omitnil,omitempty" name:"AllValue"` +} + +type SlowQueryRecord struct { + // 查询用户 + OsUser *string `json:"OsUser,omitnil,omitempty" name:"OsUser"` + + // 查询ID + InitialQueryId *string `json:"InitialQueryId,omitnil,omitempty" name:"InitialQueryId"` + + // SQL语句 + Sql *string `json:"Sql,omitnil,omitempty" name:"Sql"` + + // 开始时间 + QueryStartTime *string `json:"QueryStartTime,omitnil,omitempty" name:"QueryStartTime"` + + // 执行耗时 + DurationMs *int64 `json:"DurationMs,omitnil,omitempty" name:"DurationMs"` + + // 读取行数 + ReadRows *int64 `json:"ReadRows,omitnil,omitempty" name:"ReadRows"` + + // 读取字节数 + ResultRows *int64 `json:"ResultRows,omitnil,omitempty" name:"ResultRows"` + + // 结果字节数 + ResultBytes *uint64 `json:"ResultBytes,omitnil,omitempty" name:"ResultBytes"` + + // 内存 + MemoryUsage *int64 `json:"MemoryUsage,omitnil,omitempty" name:"MemoryUsage"` + + // 初始查询IP + InitialAddress *string `json:"InitialAddress,omitnil,omitempty" name:"InitialAddress"` + + // 数据库名 + // 注意:此字段可能返回 null,表示取不到有效值。 + DbName *string `json:"DbName,omitnil,omitempty" name:"DbName"` + + // 是否是查询,0:否,1:查询语句 + // 注意:此字段可能返回 null,表示取不到有效值。 + IsQuery *int64 `json:"IsQuery,omitnil,omitempty" name:"IsQuery"` + + // ResultBytes的MB格式 + // 注意:此字段可能返回 null,表示取不到有效值。 + ResultBytesMB *float64 `json:"ResultBytesMB,omitnil,omitempty" name:"ResultBytesMB"` + + // MemoryUsage的MB表示 + // 注意:此字段可能返回 null,表示取不到有效值。 + MemoryUsageMB *float64 `json:"MemoryUsageMB,omitnil,omitempty" name:"MemoryUsageMB"` + + // DurationMs的秒表示 + // 注意:此字段可能返回 null,表示取不到有效值。 + DurationSec *float64 `json:"DurationSec,omitnil,omitempty" name:"DurationSec"` +} + +type Tag struct { + // 标签的键 + TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"` + + // 标签的值 + TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"` +} + +// Predefined struct for user +type UpdateCoolDownRequestParams struct { + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 是否启用 0:不启用 1:启用 + Enable *int64 `json:"Enable,omitnil,omitempty" name:"Enable"` + + // 用户存放冷热分层数据Cos桶地址 + Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"` +} + +type UpdateCoolDownRequest struct { + *tchttp.BaseRequest + + // 集群id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 是否启用 0:不启用 1:启用 + Enable *int64 `json:"Enable,omitnil,omitempty" name:"Enable"` + + // 用户存放冷热分层数据Cos桶地址 + Bucket *string `json:"Bucket,omitnil,omitempty" name:"Bucket"` +} + +func (r *UpdateCoolDownRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateCoolDownRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InstanceId") + delete(f, "Enable") + delete(f, "Bucket") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateCoolDownRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type UpdateCoolDownResponseParams struct { + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type UpdateCoolDownResponse struct { + *tchttp.BaseResponse + Response *UpdateCoolDownResponseParams `json:"Response"` +} + +func (r *UpdateCoolDownResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateCoolDownResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type UpdateUserPrivileges struct { + // 是否设置catalog权限 + IsSetGlobalCatalog *bool `json:"IsSetGlobalCatalog,omitnil,omitempty" name:"IsSetGlobalCatalog"` +} + +type UserInfo struct { + // 集群实例id + InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + + // 用户名 + UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"` + + // 密码 + PassWord *string `json:"PassWord,omitnil,omitempty" name:"PassWord"` + + // 用户链接来自的 IP + WhiteHost *string `json:"WhiteHost,omitnil,omitempty" name:"WhiteHost"` + + // 修改前用户链接来自的 IP + OldWhiteHost *string `json:"OldWhiteHost,omitnil,omitempty" name:"OldWhiteHost"` + + // 描述 + Describe *string `json:"Describe,omitnil,omitempty" name:"Describe"` + + // 旧密码 + OldPwd *string `json:"OldPwd,omitnil,omitempty" name:"OldPwd"` + + // 绑定的子用户uin + CamUin *string `json:"CamUin,omitnil,omitempty" name:"CamUin"` + + // ranger group id列表 + CamRangerGroupIds []*int64 `json:"CamRangerGroupIds,omitnil,omitempty" name:"CamRangerGroupIds"` +} + +type UserWorkloadGroup struct { + // test + // 注意:此字段可能返回 null,表示取不到有效值。 + UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"` + + // normal + // 注意:此字段可能返回 null,表示取不到有效值。 + WorkloadGroupName *string `json:"WorkloadGroupName,omitnil,omitempty" name:"WorkloadGroupName"` +} + +type WorkloadGroupConfig struct { + // 资源组名称 + // 注意:此字段可能返回 null,表示取不到有效值。 + WorkloadGroupName *string `json:"WorkloadGroupName,omitnil,omitempty" name:"WorkloadGroupName"` + + // CPU权重 + // 注意:此字段可能返回 null,表示取不到有效值。 + CpuShare *int64 `json:"CpuShare,omitnil,omitempty" name:"CpuShare"` + + // 内存限制,所有资源组的内存限制值之和应该小于等于100 + // 注意:此字段可能返回 null,表示取不到有效值。 + MemoryLimit *int64 `json:"MemoryLimit,omitnil,omitempty" name:"MemoryLimit"` + + // 是否允许超配分配 + // 注意:此字段可能返回 null,表示取不到有效值。 + EnableMemoryOverCommit *bool `json:"EnableMemoryOverCommit,omitnil,omitempty" name:"EnableMemoryOverCommit"` + + // cpu硬限制 + // 注意:此字段可能返回 null,表示取不到有效值。 + CpuHardLimit *string `json:"CpuHardLimit,omitnil,omitempty" name:"CpuHardLimit"` +} + +type ZoneInfo struct { + // 可用区名称,例如"ap-guangzhou-1" + Name *string `json:"Name,omitnil,omitempty" name:"Name"` + + // 可用区描述信息,例如“广州一区” + Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"` + + // 可用区唯一标记 + ZoneId *int64 `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` + + // Encryptid + // 注意:此字段可能返回 null,表示取不到有效值。 + Encrypt *int64 `json:"Encrypt,omitnil,omitempty" name:"Encrypt"` +} \ No newline at end of file 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 765bae6365..1ec564c553 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 @@ -265,7 +265,7 @@ func CompleteCommonParams(request Request, region string, requestClient 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.991" + params["RequestClient"] = "SDK_GO_1.0.993" if requestClient != "" { params["RequestClient"] += ": " + requestClient } diff --git a/vendor/modules.txt b/vendor/modules.txt index 8f8191a831..8ac825bf58 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1133,6 +1133,9 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn/v20180606 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.843 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch/v20200915 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris v1.0.993 +## explicit; go 1.14 +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwdoris/v20211228 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg v1.0.772 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwpg/v20201230 @@ -1160,7 +1163,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.991 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.993 ## explicit; go 1.11 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors diff --git a/website/docs/d/cdwdoris_instances.html.markdown b/website/docs/d/cdwdoris_instances.html.markdown new file mode 100644 index 0000000000..81d2a60dd2 --- /dev/null +++ b/website/docs/d/cdwdoris_instances.html.markdown @@ -0,0 +1,66 @@ +--- +subcategory: "CdwDoris" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_cdwdoris_instances" +sidebar_current: "docs-tencentcloud-datasource-cdwdoris_instances" +description: |- + Use this data source to query detailed information of cdwdoris instances +--- + +# tencentcloud_cdwdoris_instances + +Use this data source to query detailed information of cdwdoris instances + +## Example Usage + +### Query all cdwdoris instances + +```hcl +data "tencentcloud_cdwdoris_instances" "example" {} +``` + +### Query cdwdoris instances by filter + +```hcl +# by instance Id +data "tencentcloud_cdwdoris_instances" "example" { + search_instance_id = "cdwdoris-rhbflamd" +} + +# by instance name +data "tencentcloud_cdwdoris_instances" "example" { + search_instance_name = "tf-example" +} + +# by instance tags +data "tencentcloud_cdwdoris_instances" "example" { + search_tags { + tag_key = "createBy" + tag_value = "Terraform" + all_value = 0 + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `result_output_file` - (Optional, String) Used to save results. +* `search_instance_id` - (Optional, String) The name of the cluster ID for the search. +* `search_instance_name` - (Optional, String) The cluster name for the search. +* `search_tags` - (Optional, List) Search tag list. + +The `search_tags` object supports the following: + +* `all_value` - (Optional, Int) 1 means only the tag key is entered without a value, and 0 means both the key and the value are entered. +* `tag_key` - (Optional, String) Tag key. +* `tag_value` - (Optional, String) Tag value. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `instances_list` - Quantities of instances array. + + diff --git a/website/docs/r/cdwdoris_instance.html.markdown b/website/docs/r/cdwdoris_instance.html.markdown new file mode 100644 index 0000000000..a114c202e4 --- /dev/null +++ b/website/docs/r/cdwdoris_instance.html.markdown @@ -0,0 +1,223 @@ +--- +subcategory: "CdwDoris" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_cdwdoris_instance" +sidebar_current: "docs-tencentcloud-resource-cdwdoris_instance" +description: |- + Provides a resource to create a cdwdoris instance +--- + +# tencentcloud_cdwdoris_instance + +Provides a resource to create a cdwdoris instance + +## Example Usage + +### Create a POSTPAID instance + +```hcl +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create security group +resource "tencentcloud_security_group" "example" { + name = "tf-example" + description = "security group desc." + + tags = { + "createBy" = "Terraform" + } +} + +# create POSTPAID instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = "open" + + security_group_ids = [ + tencentcloud_security_group.example.id + ] + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} +``` + +### Create a POSTPAID instance + +```hcl +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create security group +resource "tencentcloud_security_group" "example" { + name = "tf-example" + description = "security group desc." + + tags = { + "createBy" = "Terraform" + } +} + +# create PREPAID instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = "close" + + security_group_ids = [ + tencentcloud_security_group.example.id + ] + + charge_properties { + charge_type = "PREPAID" + time_span = 1 + time_unit = "m" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `be_spec` - (Required, List) BE specifications. +* `charge_properties` - (Required, List) Payment type. +* `doris_user_pwd` - (Required, String) Database password. +* `fe_spec` - (Required, List) FE specifications. +* `ha_flag` - (Required, Bool) Whether it is highly available. +* `instance_name` - (Required, String) Instance name. +* `product_version` - (Required, String) Product version number. +* `user_subnet_id` - (Required, String) User subnet ID. +* `user_vpc_id` - (Required, String) User VPCID. +* `workload_group_status` - (Required, String) Whether to enable resource group. `open` - enable, `close` - disable. +* `zone` - (Required, String) Availability zone. +* `case_sensitive` - (Optional, Int) Whether the table name is case sensitive, 0 refers to sensitive, 1 refers to insensitive, compared in lowercase; 2 refers to insensitive, and the table name is changed to lowercase for storage. +* `enable_multi_zones` - (Optional, Bool) Whether to enable multi-availability zone. +* `ha_type` - (Optional, Int) High availability type: 0 indicates non-high availability (only one FE, FeSpec.CreateInstanceSpec.Count=1), 1 indicates read high availability (at least 3 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=3, and it must be an odd number), 2 indicates read and write high availability (at least 5 FEs must be deployed, FeSpec.CreateInstanceSpec.Count>=5, and it must be an odd number). +* `security_group_ids` - (Optional, List: [`String`]) Security Group Id list. +* `tags` - (Optional, List) Tag list. +* `user_multi_zone_infos` - (Optional, List) After the Multi-AZ is enabled, all user's Availability Zones and Subnets information are shown. + +The `be_spec` object supports the following: + +* `count` - (Required, Int) Quantities. +* `disk_size` - (Required, Int) Cloud disk size. +* `spec_name` - (Required, String) Specification name. + +The `charge_properties` object supports the following: + +* `charge_type` - (Optional, String) Billing type: `PREPAID` for prepayment, and `POSTPAID_BY_HOUR` for postpayment. Note: This field may return null, indicating that no valid values can be obtained. +* `renew_flag` - (Optional, Int) Whether to automatically renew. 1 means automatic renewal is enabled. Note: This field may return null, indicating that no valid values can be obtained. +* `time_span` - (Optional, Int) Billing duration Note: This field may return null, indicating that no valid values can be obtained. +* `time_unit` - (Optional, String) Billing time unit, and `m` means month, etc. Note: This field may return null, indicating that no valid values can be obtained. + +The `fe_spec` object supports the following: + +* `count` - (Required, Int) Quantities. +* `disk_size` - (Required, Int) Cloud disk size. +* `spec_name` - (Required, String) Specification name. + +The `tags` object supports the following: + +* `tag_key` - (Required, String) Tag key. +* `tag_value` - (Required, String) Tag value. + +The `user_multi_zone_infos` object supports the following: + +* `subnet_id` - (Optional, String) Subnet ID Note: This field may return null, indicating that no valid values can be obtained. +* `subnet_ip_num` - (Optional, Int) The number of available IP addresses in the current subnet Note: This field may return null, indicating that no valid values can be obtained. +* `zone` - (Optional, String) Availability zone Note: This field may return null, indicating that no valid values can be obtained. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. + + + diff --git a/website/docs/r/cdwdoris_user.html.markdown b/website/docs/r/cdwdoris_user.html.markdown new file mode 100644 index 0000000000..5adb3555bf --- /dev/null +++ b/website/docs/r/cdwdoris_user.html.markdown @@ -0,0 +1,56 @@ +--- +subcategory: "CdwDoris" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_cdwdoris_user" +sidebar_current: "docs-tencentcloud-resource-cdwdoris_user" +description: |- + Provides a resource to create a cdwdoris cdwdoris_user +--- + +# tencentcloud_cdwdoris_user + +Provides a resource to create a cdwdoris cdwdoris_user + +## Example Usage + +```hcl +resource "tencentcloud_cdwdoris_user" "cdwdoris_user" { + user_info = { + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `api_type` - (Required, String, ForceNew) Api type. +* `user_info` - (Required, List) User info. +* `user_privilege` - (Optional, Int, ForceNew) User permission type. 0: Ordinary user; 1: Administrator. + +The `user_info` object supports the following: + +* `instance_id` - (Required, String) Instance ID. +* `password` - (Required, String) Password. +* `username` - (Required, String) User name. +* `cam_ranger_group_ids` - (Optional, List) Ranger group id list. +* `cam_uin` - (Optional, String) The bound sub user uin. +* `describe` - (Optional, String) Describe. +* `white_host` - (Optional, String) The IP the user linked from. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. + + + +## Import + +cdwdoris cdwdoris_user can be imported using the id, e.g. + +``` +terraform import tencentcloud_cdwdoris_user.cdwdoris_user cdwdoris_user_id +``` + diff --git a/website/docs/r/cdwdoris_workload_group.html.markdown b/website/docs/r/cdwdoris_workload_group.html.markdown new file mode 100644 index 0000000000..85f58950c4 --- /dev/null +++ b/website/docs/r/cdwdoris_workload_group.html.markdown @@ -0,0 +1,117 @@ +--- +subcategory: "CdwDoris" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_cdwdoris_workload_group" +sidebar_current: "docs-tencentcloud-resource-cdwdoris_workload_group" +description: |- + Provides a resource to create a cdwdoris workload group +--- + +# tencentcloud_cdwdoris_workload_group + +Provides a resource to create a cdwdoris workload group + +~> **NOTE:** To use this resource, The `workload_group_status` field of `tencentcloud_cdwdoris_instance` needs to be set to true. + +## Example Usage + +```hcl +# availability zone +variable "availability_zone" { + default = "ap-guangzhou-6" +} + +# create vpc +resource "tencentcloud_vpc" "vpc" { + name = "vpc" + cidr_block = "172.16.0.0/16" +} + +# create subnet +resource "tencentcloud_subnet" "subnet" { + availability_zone = var.availability_zone + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + cidr_block = "172.16.0.0/24" + is_multicast = false +} + +# create instance +resource "tencentcloud_cdwdoris_instance" "example" { + zone = var.availability_zone + user_vpc_id = tencentcloud_vpc.vpc.id + user_subnet_id = tencentcloud_subnet.subnet.id + product_version = "2.1" + instance_name = "tf-example" + doris_user_pwd = "Password@test" + ha_flag = false + case_sensitive = 0 + enable_multi_zones = false + workload_group_status = "open" + + charge_properties { + charge_type = "POSTPAID_BY_HOUR" + } + + fe_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + be_spec { + spec_name = "S_4_16_P" + count = 3 + disk_size = 200 + } + + tags { + tag_key = "createBy" + tag_value = "Terraform" + } +} + +# create workload group +resource "tencentcloud_cdwdoris_workload_group" "example" { + instance_id = tencentcloud_cdwdoris_instance.example.id + workload_group { + workload_group_name = "example" + cpu_share = 1024 + memory_limit = 20 + enable_memory_over_commit = true + cpu_hard_limit = "30%" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `instance_id` - (Required, String, ForceNew) Instance id. +* `workload_group` - (Optional, List) Resource group configuration. + +The `workload_group` object supports the following: + +* `cpu_hard_limit` - (Optional, String) Cpu hard limit. Note: This field may return null, indicating that no valid value can be obtained. +* `cpu_share` - (Optional, Int) CPU weight. Note: This field may return null, indicating that no valid value can be obtained. +* `enable_memory_over_commit` - (Optional, Bool) Whether to allow over-allocation. Note: This field may return null, indicating that no valid value can be obtained. +* `memory_limit` - (Optional, Int) Memory limit, the sum of the memory limit values of all resource groups should be less than or equal to 100. Note: This field may return null, indicating that no valid value can be obtained. +* `workload_group_name` - (Optional, String, ForceNew) Workload group name. Note: This field may return null, indicating that no valid value can be obtained. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. + + + +## Import + +cdwdoris workload group can be imported using the id, e.g. + +``` +terraform import tencentcloud_cdwdoris_workload_group.example cdwdoris-rhbflamd#tf-example +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index 22975a3cab..e895105f59 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -541,10 +541,10 @@ Resources @@ -599,6 +599,30 @@ +
  • + CdwDoris + +
  • ClickHouse(CDWCH)