From e88244751c55476c0017224138d68ffb51953d8f Mon Sep 17 00:00:00 2001 From: arunma Date: Fri, 21 Feb 2025 17:33:44 +0800 Subject: [PATCH 1/3] feat(postgres): [122057778]support parameters --- go.mod | 4 +- go.sum | 4 + tencentcloud/provider.go | 1 + tencentcloud/provider.md | 1 + .../resource_tc_postgresql_parameters.go | 216 +++++ .../resource_tc_postgresql_parameters.md | 54 ++ ...urce_tc_postgresql_parameters_extension.go | 139 ++++ .../resource_tc_postgresql_parameters_test.go | 62 ++ .../service_tencentcloud_postgresql.go | 26 + .../tencentcloud/common/http/request.go | 2 +- .../tencentcloud/postgres/v20170312/client.go | 560 ++++++++++++- .../tencentcloud/postgres/v20170312/errors.go | 6 + .../tencentcloud/postgres/v20170312/models.go | 784 +++++++++++++++++- vendor/modules.txt | 4 +- .../r/postgresql_parameters.html.markdown | 86 ++ website/tencentcloud.erb | 3 + 16 files changed, 1913 insertions(+), 39 deletions(-) create mode 100644 tencentcloud/services/postgresql/resource_tc_postgresql_parameters.go create mode 100644 tencentcloud/services/postgresql/resource_tc_postgresql_parameters.md create mode 100644 tencentcloud/services/postgresql/resource_tc_postgresql_parameters_extension.go create mode 100644 tencentcloud/services/postgresql/resource_tc_postgresql_parameters_test.go create mode 100644 website/docs/r/postgresql_parameters.html.markdown diff --git a/go.mod b/go.mod index 6ded794758..4c6df06d3f 100644 --- a/go.mod +++ b/go.mod @@ -46,7 +46,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1034 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1078 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1099 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1103 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1053 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1058 @@ -70,7 +70,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.1066 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1038 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1103 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.1008 diff --git a/go.sum b/go.sum index b42024c7af..1ac83ab5fb 100644 --- a/go.sum +++ b/go.sum @@ -941,6 +941,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1096 h1:DMo github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1096/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1099 h1:4fQ53ORk6Eayw1H2kg43PoBnUuhGR6WRG6rtec/i3oI= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1099/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1103 h1:iXN1f1GxuX9wdluA+knK8xKsAWsOlz29V19fVcuuv9g= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1103/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU= @@ -1001,6 +1003,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1038 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1038/go.mod h1:ZcauOIKWXstNwe6IlD3iBBxzljEWdQjZbTc6PfwsPxQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010 h1:lx554ZfB++mge+/Gk7LnDUI5Dwm9r+DgGNN9C/DqhE4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010/go.mod h1:GGhAf2ehV2/jwKf3Sezr2x/soJ3nDuefJFlcoZnlflA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1103 h1:lJW5ID6x9DS2xZzzALJVpY9zhNfqhBl/e2YDUkbzBcg= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1103/go.mod h1:PI4OqbnLLCWw6u/vNHnVVZeV/awmB9+zpLdhjYhWbKs= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038 h1:4rzyVxkDB27v73jDXPr5eGAwjN859R7SsqniCt+46XE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038/go.mod h1:TAHhxxDVV36Pe4P4Gel3dgX4kHUfQO7f27GzRf8DAro= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762 h1:rZDKucVVtTnmnbZFDyh6t47dHswkb2oSuOxOHTTkygA= diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index 5704ecbe36..f5dc753544 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -1554,6 +1554,7 @@ func Provider() *schema.Provider { "tencentcloud_postgresql_account_privileges_operation": postgresql.ResourceTencentCloudPostgresqlAccountPrivilegesOperation(), "tencentcloud_postgresql_apply_parameter_template_operation": postgresql.ResourceTencentCloudPostgresqlApplyParameterTemplateOperation(), "tencentcloud_postgresql_clone_db_instance": postgresql.ResourceTencentCloudPostgresqlCloneDbInstance(), + "tencentcloud_postgresql_parameters": postgresql.ResourceTencentCloudPostgresqlParameters(), "tencentcloud_sqlserver_instance": sqlserver.ResourceTencentCloudSqlserverInstance(), "tencentcloud_sqlserver_db": sqlserver.ResourceTencentCloudSqlserverDB(), "tencentcloud_sqlserver_account": sqlserver.ResourceTencentCloudSqlserverAccount(), diff --git a/tencentcloud/provider.md b/tencentcloud/provider.md index d623e8e525..6670262acf 100644 --- a/tencentcloud/provider.md +++ b/tencentcloud/provider.md @@ -912,6 +912,7 @@ TencentDB for PostgreSQL(PostgreSQL) tencentcloud_postgresql_account tencentcloud_postgresql_apply_parameter_template_operation tencentcloud_postgresql_clone_db_instance + tencentcloud_postgresql_parameters TencentDB for Redis(crs) Data Source diff --git a/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.go b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.go new file mode 100644 index 0000000000..974a8c257b --- /dev/null +++ b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.go @@ -0,0 +1,216 @@ +// Code generated by iacg; DO NOT EDIT. +package postgresql + +import ( + "context" + "log" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + postgresv20170312 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312" + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func ResourceTencentCloudPostgresqlParameters() *schema.Resource { + return &schema.Resource{ + Create: resourceTencentCloudPostgresqlParametersCreate, + Read: resourceTencentCloudPostgresqlParametersRead, + Update: resourceTencentCloudPostgresqlParametersUpdate, + Delete: resourceTencentCloudPostgresqlParametersDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "db_instance_id": { + Type: schema.TypeString, + Required: true, + Description: "Instance ID.", + }, + + "param_list": { + Type: schema.TypeList, + Required: true, + Description: "Parameters to be modified and expected values.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + Description: "Parameter name.", + }, + "expected_value": { + Type: schema.TypeString, + Required: true, + Description: "The new value to which the parameter will be modified. When this parameter is used as an input parameter, its value must be a string, such as `0.1` (decimal), `1000` (integer), and `replica` (enum).", + }, + "default_value": { + Type: schema.TypeString, + Computed: true, + Description: "The default value of the parameter. Returned as a string.", + }, + "param_description_ch": { + Type: schema.TypeString, + Computed: true, + Description: "Parameter Chinese Description.", + }, + "param_description_en": { + Type: schema.TypeString, + Computed: true, + Description: "Parameter English Description.", + }, + }, + }, + }, + }, + } +} + +func resourceTencentCloudPostgresqlParametersCreate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_postgresql_parameters.create")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + dBInstanceId string + ) + if v, ok := d.GetOk("db_instance_id"); ok { + dBInstanceId = v.(string) + } + + d.SetId(dBInstanceId) + + return resourceTencentCloudPostgresqlParametersUpdate(d, meta) +} + +func resourceTencentCloudPostgresqlParametersRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_postgresql_parameters.read")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + service := PostgresqlService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + + dBInstanceId := d.Id() + + _ = d.Set("db_instance_id", dBInstanceId) + + respData, err := service.DescribePostgresqlParametersById(ctx, dBInstanceId) + if err != nil { + return err + } + + if respData == nil { + d.SetId("") + log.Printf("[WARN]%s resource `postgresql_parameters` [%s] not found, please check if it has been deleted.\n", logId, d.Id()) + return nil + } + if err := resourceTencentCloudPostgresqlParametersReadPreHandleResponse0(ctx, respData); err != nil { + return err + } + + detailList := make([]map[string]interface{}, 0, len(respData.Detail)) + if respData.Detail != nil { + for _, detail := range respData.Detail { + detailMap := map[string]interface{}{} + + if detail.Name != nil { + detailMap["name"] = detail.Name + } + + if detail.DefaultValue != nil { + detailMap["default_value"] = detail.DefaultValue + } + + if detail.CurrentValue != nil { + detailMap["expected_value"] = detail.CurrentValue + } + + if detail.ParamDescriptionCH != nil { + detailMap["param_description_ch"] = detail.ParamDescriptionCH + } + + if detail.ParamDescriptionEN != nil { + detailMap["param_description_en"] = detail.ParamDescriptionEN + } + + detailList = append(detailList, detailMap) + } + + _ = d.Set("param_list", detailList) + } + + return nil +} + +func resourceTencentCloudPostgresqlParametersUpdate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_postgresql_parameters.update")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + dBInstanceId := d.Id() + + needChange := false + mutableArgs := []string{"param_list"} + for _, v := range mutableArgs { + if d.HasChange(v) { + needChange = true + break + } + } + + if needChange { + request := postgresv20170312.NewModifyDBInstanceParametersRequest() + response := postgresv20170312.NewModifyDBInstanceParametersResponse() + + if v, ok := d.GetOk("db_instance_id"); ok { + request.DBInstanceId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("param_list"); ok { + for _, item := range v.([]interface{}) { + paramListMap := item.(map[string]interface{}) + paramEntry := postgresv20170312.ParamEntry{} + if v, ok := paramListMap["name"].(string); ok && v != "" { + paramEntry.Name = helper.String(v) + } + if v, ok := paramListMap["expected_value"].(string); ok && v != "" { + paramEntry.ExpectedValue = helper.String(v) + } + request.ParamList = append(request.ParamList, ¶mEntry) + } + } + + reqErr := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePostgresV20170312Client().ModifyDBInstanceParametersWithContext(ctx, request) + if e != nil { + return resourceTencentCloudPostgresqlParametersUpdateRequestOnError0(ctx, request, e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + if reqErr != nil { + log.Printf("[CRITAL]%s update postgresql parameters failed, reason:%+v", logId, reqErr) + return reqErr + } + if err := resourceTencentCloudPostgresqlParametersUpdatePreHandleResponse0(ctx, response); err != nil { + return err + } + } + + _ = dBInstanceId + return resourceTencentCloudPostgresqlParametersRead(d, meta) +} + +func resourceTencentCloudPostgresqlParametersDelete(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_postgresql_parameters.delete")() + defer tccommon.InconsistentCheck(d, meta)() + + return nil +} diff --git a/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.md b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.md new file mode 100644 index 0000000000..7bc856b005 --- /dev/null +++ b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.md @@ -0,0 +1,54 @@ +Use this resource to create postgresql parameter. + +Example Usage + +```hcl +variable "default_az" { + default = "ap-guangzhou-3" +} + +data "tencentcloud_vpc_subnets" "gz3" { + availability_zone = var.default_az + is_default = true +} + +locals { + vpc_id = data.tencentcloud_vpc_subnets.gz3.instance_list.0.vpc_id + subnet_id = data.tencentcloud_vpc_subnets.gz3.instance_list.0.subnet_id +} + +data "tencentcloud_availability_zones_by_product" "zone" { + product = "postgres" +} + +resource "tencentcloud_postgresql_instance" "test" { + name = "tf_postsql_postpaid" + availability_zone = var.default_az + charge_type = "POSTPAID_BY_HOUR" + period = 1 + vpc_id = local.vpc_id + subnet_id = local.subnet_id + engine_version = "13.3" + root_password = "t1qaA2k1wgvfa3?ZZZ" + security_groups = ["sg-5275dorp"] + charset = "LATIN1" + project_id = 0 + memory = 2 + storage = 20 +} +resource "tencentcloud_postgresql_parameters" "postgresql_parameters" { + db_instance_id = tencentcloud_postgresql_instance.test.id + param_list { + expected_value = "off" + name = "check_function_bodies" + } +} +``` + +Import + +postgresql parameters can be imported, e.g. + +``` +$ terraform import tencentcloud_postgresql_parameters.example pgrogrp-lckioi2a +``` diff --git a/tencentcloud/services/postgresql/resource_tc_postgresql_parameters_extension.go b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters_extension.go new file mode 100644 index 0000000000..83f9ff838c --- /dev/null +++ b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters_extension.go @@ -0,0 +1,139 @@ +package postgresql + +import ( + "context" + "fmt" + "time" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" + postgresv20170312 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312" + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func resourceTencentCloudPostgresqlParametersReadPreHandleResponse0(ctx context.Context, resp *postgresv20170312.DescribeDBInstanceParametersResponseParams) error { + d := tccommon.ResourceDataFromContext(ctx) + + if v, ok := d.GetOk("param_list"); ok { + paramList := []*postgresv20170312.ParamInfo{} + for _, item := range v.([]interface{}) { + paramListMap := item.(map[string]interface{}) + if name, ok := paramListMap["name"].(string); ok && v != "" { + if resp.Detail != nil { + details := resp.Detail + for _, detail := range details { + if *detail.Name == name { + paramList = append(paramList, detail) + } + } + } + } + } + resp.Detail = paramList + } + + return nil +} + +func resourceTencentCloudPostgresqlParametersUpdateRequestOnError0(ctx context.Context, req *postgresv20170312.ModifyDBInstanceParametersRequest, e error) *resource.RetryError { + if e, ok := e.(*errors.TencentCloudSDKError); ok { + if e.GetCode() == "FailedOperation.FailedOperationError" { + change, err := resourceTencentCloudParamChange(ctx) + if err != nil || change { + return resource.NonRetryableError(err) + } + return nil + } + } + if e != nil { + return resource.RetryableError(e) + } + return nil +} + +func resourceTencentCloudParamChange(ctx context.Context) (bool, error) { + d := tccommon.ResourceDataFromContext(ctx) + if d == nil { + return false, fmt.Errorf("resource data can not be nil") + } + meta := tccommon.ProviderMetaFromContext(ctx) + if meta == nil { + return false, fmt.Errorf("provider meta can not be nil") + } + + service := PostgresqlService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + respData, err := service.DescribePostgresqlParametersById(ctx, d.Id()) + if err != nil { + return false, err + } + + if respData == nil || respData.Detail == nil { + return false, fmt.Errorf("respData or respData.Detail be nil") + } + + change := false + for _, v := range respData.Detail { + for _, param := range d.Get("param_list").([]interface{}) { + paramMap := param.(map[string]interface{}) + if paramMap["name"].(string) == *v.Name { + if paramMap["expected_value"].(string) != *v.CurrentValue { + change = true + break + } + } + } + } + return change, nil +} + +func resourceTencentCloudPostgresqlParametersUpdatePreHandleResponse0(ctx context.Context, resp *postgresv20170312.ModifyDBInstanceParametersResponse) error { + d := tccommon.ResourceDataFromContext(ctx) + if _, err := (&resource.StateChangeConf{ + Delay: 2 * time.Second, + MinTimeout: 3 * time.Second, + Pending: []string{}, + Refresh: resourcePostgresqlParametersUpdateStateRefreshFunc_0_0(ctx, d.Id()), + Target: []string{"Success"}, + Timeout: 300 * time.Second, + }).WaitForStateContext(ctx); err != nil { + return err + } + return nil +} + +func resourcePostgresqlParametersUpdateStateRefreshFunc_0_0(ctx context.Context, dBInstanceId string) resource.StateRefreshFunc { + var req *postgresv20170312.DescribeTasksRequest + return func() (interface{}, string, error) { + meta := tccommon.ProviderMetaFromContext(ctx) + if meta == nil { + return nil, "", fmt.Errorf("resource data can not be nil") + } + if req == nil { + d := tccommon.ResourceDataFromContext(ctx) + if d == nil { + return nil, "", fmt.Errorf("resource data can not be nil") + } + _ = d + req = postgresv20170312.NewDescribeTasksRequest() + req.DBInstanceId = helper.String(dBInstanceId) + + } + resp, err := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePostgresV20170312Client().DescribeTasksWithContext(ctx, req) + if err != nil { + return nil, "", err + } + if resp == nil || resp.Response == nil { + return nil, "", nil + } + for _, task := range resp.Response.TaskSet { + if *task.TaskType == "ModifyInstanceParams" { + if *task.Status != "Success" { + return resp.Response, fmt.Sprintf("%v", *task.Status), nil + } + } + } + + return resp.Response, "Success", nil + } +} diff --git a/tencentcloud/services/postgresql/resource_tc_postgresql_parameters_test.go b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters_test.go new file mode 100644 index 0000000000..8e1719d50b --- /dev/null +++ b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters_test.go @@ -0,0 +1,62 @@ +package postgresql_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +func TestAccTencentCloudPostgresqlParametersResource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccPostgresqlParameters, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_postgresql_parameters.postgresql_parameters", "id"), + resource.TestCheckResourceAttr("tencentcloud_postgresql_parameters.postgresql_parameters", "param_list.#", "1"), + resource.TestCheckResourceAttr("tencentcloud_postgresql_parameters.postgresql_parameters", "param_list.0.expected_value", "on"), + ), + }, + { + ResourceName: "tencentcloud_postgresql_parameters.postgresql_parameters", + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccPostgresqlParametersUp, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("tencentcloud_postgresql_parameters.postgresql_parameters", "param_list.#", "1"), + resource.TestCheckResourceAttr("tencentcloud_postgresql_parameters.postgresql_parameters", "param_list.0.expected_value", "off"), + ), + }, + }, + }) +} + +const testAccPostgresqlParameters = testAccPostgresqlInstancePostpaid + ` + +resource "tencentcloud_postgresql_parameters" "postgresql_parameters" { + db_instance_id = tencentcloud_postgresql_instance.test.id + param_list { + expected_value = "on" + name = "check_function_bodies" + } +} +` + +const testAccPostgresqlParametersUp = testAccPostgresqlInstancePostpaid + ` + +resource "tencentcloud_postgresql_parameters" "postgresql_parameters" { + db_instance_id = tencentcloud_postgresql_instance.test.id + param_list { + expected_value = "off" + name = "check_function_bodies" + } +} +` diff --git a/tencentcloud/services/postgresql/service_tencentcloud_postgresql.go b/tencentcloud/services/postgresql/service_tencentcloud_postgresql.go index d3e45332c4..51424b32fe 100644 --- a/tencentcloud/services/postgresql/service_tencentcloud_postgresql.go +++ b/tencentcloud/services/postgresql/service_tencentcloud_postgresql.go @@ -15,6 +15,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" sdkErrors "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" postgresql "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312" + postgresv20170312 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/connectivity" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" @@ -2231,3 +2232,28 @@ func (me *PostgresqlService) DescribePostgresqlDedicatedClustersByFilter(ctx con ret = response.Response.DedicatedClusterSet return } + +func (me *PostgresqlService) DescribePostgresqlParametersById(ctx context.Context, dBInstanceId string) (ret *postgresv20170312.DescribeDBInstanceParametersResponseParams, errRet error) { + logId := tccommon.GetLogId(ctx) + + request := postgresv20170312.NewDescribeDBInstanceParametersRequest() + request.DBInstanceId = helper.String(dBInstanceId) + + 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.UsePostgresV20170312Client().DescribeDBInstanceParameters(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 +} 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 2383984328..1425f3041e 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.1099" + params["RequestClient"] = "SDK_GO_1.0.1103" if requestClient != "" { params["RequestClient"] += ": " + requestClient } diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/client.go index 90f0aeee57..9fd3a0b00c 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/client.go @@ -167,6 +167,7 @@ func NewCloneDBInstanceResponse() (response *CloneDBInstanceResponse) { // FAILEDOPERATION_CAMSIGANDAUTHERROR = "FailedOperation.CamSigAndAuthError" // FAILEDOPERATION_CDBCGWCONNECTERROR = "FailedOperation.CdbCgwConnectError" // FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_DATABASEAFFECTEDERROR = "FailedOperation.DatabaseAffectedError" // FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" // FAILEDOPERATION_GETSUBNETERROR = "FailedOperation.GetSubnetError" // FAILEDOPERATION_GETVPCINFOERROR = "FailedOperation.GetVpcInfoError" @@ -174,6 +175,7 @@ func NewCloneDBInstanceResponse() (response *CloneDBInstanceResponse) { // FAILEDOPERATION_QUERYVPCFAILED = "FailedOperation.QueryVpcFailed" // FAILEDOPERATION_QUERYVPCFALIED = "FailedOperation.QueryVpcFalied" // INTERNALERROR_INTERNALHTTPSERVERERROR = "InternalError.InternalHttpServerError" +// INTERNALERROR_JSONPARSEERROR = "InternalError.JsonParseError" // INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" // INVALIDPARAMETERVALUE_ILLEGALPROJECTID = "InvalidParameterValue.IllegalProjectId" // INVALIDPARAMETERVALUE_ILLEGALREGION = "InvalidParameterValue.IllegalRegion" @@ -183,6 +185,9 @@ func NewCloneDBInstanceResponse() (response *CloneDBInstanceResponse) { // INVALIDPARAMETERVALUE_SPECNOTRECOGNIZEDERROR = "InvalidParameterValue.SpecNotRecognizedError" // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" func (c *Client) CloneDBInstance(request *CloneDBInstanceRequest) (response *CloneDBInstanceResponse, err error) { return c.CloneDBInstanceWithContext(context.Background(), request) } @@ -197,6 +202,7 @@ func (c *Client) CloneDBInstance(request *CloneDBInstanceRequest) (response *Clo // FAILEDOPERATION_CAMSIGANDAUTHERROR = "FailedOperation.CamSigAndAuthError" // FAILEDOPERATION_CDBCGWCONNECTERROR = "FailedOperation.CdbCgwConnectError" // FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_DATABASEAFFECTEDERROR = "FailedOperation.DatabaseAffectedError" // FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" // FAILEDOPERATION_GETSUBNETERROR = "FailedOperation.GetSubnetError" // FAILEDOPERATION_GETVPCINFOERROR = "FailedOperation.GetVpcInfoError" @@ -204,6 +210,7 @@ func (c *Client) CloneDBInstance(request *CloneDBInstanceRequest) (response *Clo // FAILEDOPERATION_QUERYVPCFAILED = "FailedOperation.QueryVpcFailed" // FAILEDOPERATION_QUERYVPCFALIED = "FailedOperation.QueryVpcFalied" // INTERNALERROR_INTERNALHTTPSERVERERROR = "InternalError.InternalHttpServerError" +// INTERNALERROR_JSONPARSEERROR = "InternalError.JsonParseError" // INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" // INVALIDPARAMETERVALUE_ILLEGALPROJECTID = "InvalidParameterValue.IllegalProjectId" // INVALIDPARAMETERVALUE_ILLEGALREGION = "InvalidParameterValue.IllegalRegion" @@ -213,6 +220,9 @@ func (c *Client) CloneDBInstance(request *CloneDBInstanceRequest) (response *Clo // INVALIDPARAMETERVALUE_SPECNOTRECOGNIZEDERROR = "InvalidParameterValue.SpecNotRecognizedError" // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" func (c *Client) CloneDBInstanceWithContext(ctx context.Context, request *CloneDBInstanceRequest) (response *CloneDBInstanceResponse, err error) { if request == nil { request = NewCloneDBInstanceRequest() @@ -516,6 +526,67 @@ func (c *Client) CreateAccountWithContext(ctx context.Context, request *CreateAc return } +func NewCreateBackupPlanRequest() (request *CreateBackupPlanRequest) { + request = &CreateBackupPlanRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("postgres", APIVersion, "CreateBackupPlan") + + + return +} + +func NewCreateBackupPlanResponse() (response *CreateBackupPlanResponse) { + response = &CreateBackupPlanResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CreateBackupPlan +// 此接口用于创建备份策略。 +// +// 可能返回的错误码: +// FAILEDOPERATION_DATABASEAFFECTEDERROR = "FailedOperation.DatabaseAffectedError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// FAILEDOPERATION_PRECHECKERROR = "FailedOperation.PreCheckError" +// INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// INVALIDPARAMETERVALUE_PARAMETERLENGTHLIMITERROR = "InvalidParameterValue.ParameterLengthLimitError" +// OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +func (c *Client) CreateBackupPlan(request *CreateBackupPlanRequest) (response *CreateBackupPlanResponse, err error) { + return c.CreateBackupPlanWithContext(context.Background(), request) +} + +// CreateBackupPlan +// 此接口用于创建备份策略。 +// +// 可能返回的错误码: +// FAILEDOPERATION_DATABASEAFFECTEDERROR = "FailedOperation.DatabaseAffectedError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// FAILEDOPERATION_PRECHECKERROR = "FailedOperation.PreCheckError" +// INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// INVALIDPARAMETERVALUE_PARAMETERLENGTHLIMITERROR = "InvalidParameterValue.ParameterLengthLimitError" +// OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +func (c *Client) CreateBackupPlanWithContext(ctx context.Context, request *CreateBackupPlanRequest) (response *CreateBackupPlanResponse, err error) { + if request == nil { + request = NewCreateBackupPlanRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateBackupPlan require credential") + } + + request.SetContext(ctx) + + response = NewCreateBackupPlanResponse() + err = c.Send(request, response) + return +} + func NewCreateBaseBackupRequest() (request *CreateBaseBackupRequest) { request = &CreateBaseBackupRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -752,6 +823,8 @@ func NewCreateDBInstancesResponse() (response *CreateDBInstancesResponse) { // INVALIDPID = "InvalidPid" // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" // OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // OPERATIONDENIED_VPCDENIEDERROR = "OperationDenied.VpcDeniedError" // RESOURCEINSUFFICIENT_RESOURCENOTENOUGH = "ResourceInsufficient.ResourceNotEnough" @@ -831,6 +904,8 @@ func (c *Client) CreateDBInstances(request *CreateDBInstancesRequest) (response // INVALIDPID = "InvalidPid" // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" // OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // OPERATIONDENIED_VPCDENIEDERROR = "OperationDenied.VpcDeniedError" // RESOURCEINSUFFICIENT_RESOURCENOTENOUGH = "ResourceInsufficient.ResourceNotEnough" @@ -1025,6 +1100,8 @@ func NewCreateInstancesResponse() (response *CreateInstancesResponse) { // INVALIDPID = "InvalidPid" // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" // OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // OPERATIONDENIED_VPCDENIEDERROR = "OperationDenied.VpcDeniedError" // RESOURCEINSUFFICIENT_RESOURCENOTENOUGH = "ResourceInsufficient.ResourceNotEnough" @@ -1117,6 +1194,8 @@ func (c *Client) CreateInstances(request *CreateInstancesRequest) (response *Cre // INVALIDPID = "InvalidPid" // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" // OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // OPERATIONDENIED_VPCDENIEDERROR = "OperationDenied.VpcDeniedError" // RESOURCEINSUFFICIENT_RESOURCENOTENOUGH = "ResourceInsufficient.ResourceNotEnough" @@ -1286,9 +1365,11 @@ func NewCreateReadOnlyDBInstanceResponse() (response *CreateReadOnlyDBInstanceRe // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" // OPERATIONDENIED_PAYMODEERROR = "OperationDenied.PayModeError" // OPERATIONDENIED_ROGROUPSTATUSERROR = "OperationDenied.ROGroupStatusError" // OPERATIONDENIED_ROINSTANCECOUNTEXEEDERROR = "OperationDenied.RoInstanceCountExeedError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" // OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // OPERATIONDENIED_VPCDENIEDERROR = "OperationDenied.VpcDeniedError" // RESOURCEINSUFFICIENT_RESOURCENOTENOUGH = "ResourceInsufficient.ResourceNotEnough" @@ -1371,9 +1452,11 @@ func (c *Client) CreateReadOnlyDBInstance(request *CreateReadOnlyDBInstanceReque // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" // OPERATIONDENIED_PAYMODEERROR = "OperationDenied.PayModeError" // OPERATIONDENIED_ROGROUPSTATUSERROR = "OperationDenied.ROGroupStatusError" // OPERATIONDENIED_ROINSTANCECOUNTEXEEDERROR = "OperationDenied.RoInstanceCountExeedError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" // OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // OPERATIONDENIED_VPCDENIEDERROR = "OperationDenied.VpcDeniedError" // RESOURCEINSUFFICIENT_RESOURCENOTENOUGH = "ResourceInsufficient.ResourceNotEnough" @@ -1769,6 +1852,61 @@ func (c *Client) DeleteAccountWithContext(ctx context.Context, request *DeleteAc return } +func NewDeleteBackupPlanRequest() (request *DeleteBackupPlanRequest) { + request = &DeleteBackupPlanRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("postgres", APIVersion, "DeleteBackupPlan") + + + return +} + +func NewDeleteBackupPlanResponse() (response *DeleteBackupPlanResponse) { + response = &DeleteBackupPlanResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DeleteBackupPlan +// 删除备份策略 +// +// 可能返回的错误码: +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" +// OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +func (c *Client) DeleteBackupPlan(request *DeleteBackupPlanRequest) (response *DeleteBackupPlanResponse, err error) { + return c.DeleteBackupPlanWithContext(context.Background(), request) +} + +// DeleteBackupPlan +// 删除备份策略 +// +// 可能返回的错误码: +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" +// OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +func (c *Client) DeleteBackupPlanWithContext(ctx context.Context, request *DeleteBackupPlanRequest) (response *DeleteBackupPlanResponse, err error) { + if request == nil { + request = NewDeleteBackupPlanRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DeleteBackupPlan require credential") + } + + request.SetContext(ctx) + + response = NewDeleteBackupPlanResponse() + err = c.Send(request, response) + return +} + func NewDeleteBaseBackupRequest() (request *DeleteBaseBackupRequest) { request = &DeleteBaseBackupRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -3346,6 +3484,59 @@ func (c *Client) DescribeDBInstanceParametersWithContext(ctx context.Context, re return } +func NewDescribeDBInstanceSSLConfigRequest() (request *DescribeDBInstanceSSLConfigRequest) { + request = &DescribeDBInstanceSSLConfigRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("postgres", APIVersion, "DescribeDBInstanceSSLConfig") + + + return +} + +func NewDescribeDBInstanceSSLConfigResponse() (response *DescribeDBInstanceSSLConfigResponse) { + response = &DescribeDBInstanceSSLConfigResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeDBInstanceSSLConfig +// 本接口用于查询实例SSL状态 +// +// 可能返回的错误码: +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +func (c *Client) DescribeDBInstanceSSLConfig(request *DescribeDBInstanceSSLConfigRequest) (response *DescribeDBInstanceSSLConfigResponse, err error) { + return c.DescribeDBInstanceSSLConfigWithContext(context.Background(), request) +} + +// DescribeDBInstanceSSLConfig +// 本接口用于查询实例SSL状态 +// +// 可能返回的错误码: +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +func (c *Client) DescribeDBInstanceSSLConfigWithContext(ctx context.Context, request *DescribeDBInstanceSSLConfigRequest) (response *DescribeDBInstanceSSLConfigResponse, err error) { + if request == nil { + request = NewDescribeDBInstanceSSLConfigRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeDBInstanceSSLConfig require credential") + } + + request.SetContext(ctx) + + response = NewDescribeDBInstanceSSLConfigResponse() + err = c.Send(request, response) + return +} + func NewDescribeDBInstanceSecurityGroupsRequest() (request *DescribeDBInstanceSecurityGroupsRequest) { request = &DescribeDBInstanceSecurityGroupsRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -4113,6 +4304,75 @@ func (c *Client) DescribeLogBackupsWithContext(ctx context.Context, request *Des return } +func NewDescribeMaintainTimeWindowRequest() (request *DescribeMaintainTimeWindowRequest) { + request = &DescribeMaintainTimeWindowRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("postgres", APIVersion, "DescribeMaintainTimeWindow") + + + return +} + +func NewDescribeMaintainTimeWindowResponse() (response *DescribeMaintainTimeWindowResponse) { + response = &DescribeMaintainTimeWindowResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeMaintainTimeWindow +// 本接口 (DescribeMaintainTimeWindow) 用于查询实例的维护时间窗口 +// +// 可能返回的错误码: +// FAILEDOPERATION_CAMSIGANDAUTHERROR = "FailedOperation.CamSigAndAuthError" +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_DATABASEAFFECTEDERROR = "FailedOperation.DatabaseAffectedError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// INTERNALERROR_INTERNALHTTPSERVERERROR = "InternalError.InternalHttpServerError" +// INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" +// OPERATIONDENIED_INSTANCEACCESSDENIEDERROR = "OperationDenied.InstanceAccessDeniedError" +// OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +func (c *Client) DescribeMaintainTimeWindow(request *DescribeMaintainTimeWindowRequest) (response *DescribeMaintainTimeWindowResponse, err error) { + return c.DescribeMaintainTimeWindowWithContext(context.Background(), request) +} + +// DescribeMaintainTimeWindow +// 本接口 (DescribeMaintainTimeWindow) 用于查询实例的维护时间窗口 +// +// 可能返回的错误码: +// FAILEDOPERATION_CAMSIGANDAUTHERROR = "FailedOperation.CamSigAndAuthError" +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_DATABASEAFFECTEDERROR = "FailedOperation.DatabaseAffectedError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// INTERNALERROR_INTERNALHTTPSERVERERROR = "InternalError.InternalHttpServerError" +// INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" +// OPERATIONDENIED_INSTANCEACCESSDENIEDERROR = "OperationDenied.InstanceAccessDeniedError" +// OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +func (c *Client) DescribeMaintainTimeWindowWithContext(ctx context.Context, request *DescribeMaintainTimeWindowRequest) (response *DescribeMaintainTimeWindowResponse, err error) { + if request == nil { + request = NewDescribeMaintainTimeWindowRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeMaintainTimeWindow require credential") + } + + request.SetContext(ctx) + + response = NewDescribeMaintainTimeWindowResponse() + err = c.Send(request, response) + return +} + func NewDescribeOrdersRequest() (request *DescribeOrdersRequest) { request = &DescribeOrdersRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -4821,6 +5081,67 @@ func (c *Client) DescribeSlowQueryListWithContext(ctx context.Context, request * return } +func NewDescribeTasksRequest() (request *DescribeTasksRequest) { + request = &DescribeTasksRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("postgres", APIVersion, "DescribeTasks") + + + return +} + +func NewDescribeTasksResponse() (response *DescribeTasksResponse) { + response = &DescribeTasksResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeTasks +// 本接口(DescribeTasks)用于查询任务列表,展示异步任务的执行进度。 +// +// 注:本接口中展示的步骤为总结性步骤,可能伴随着版本迭代进行调整,不建议作为关键逻辑使用 +// +// 可能返回的错误码: +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_DATABASEAFFECTEDERROR = "FailedOperation.DatabaseAffectedError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// INVALIDPARAMETERVALUE_PARAMETERVALUEEXCEEDERROR = "InvalidParameterValue.ParameterValueExceedError" +func (c *Client) DescribeTasks(request *DescribeTasksRequest) (response *DescribeTasksResponse, err error) { + return c.DescribeTasksWithContext(context.Background(), request) +} + +// DescribeTasks +// 本接口(DescribeTasks)用于查询任务列表,展示异步任务的执行进度。 +// +// 注:本接口中展示的步骤为总结性步骤,可能伴随着版本迭代进行调整,不建议作为关键逻辑使用 +// +// 可能返回的错误码: +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_DATABASEAFFECTEDERROR = "FailedOperation.DatabaseAffectedError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// INVALIDPARAMETERVALUE_PARAMETERVALUEEXCEEDERROR = "InvalidParameterValue.ParameterValueExceedError" +func (c *Client) DescribeTasksWithContext(ctx context.Context, request *DescribeTasksRequest) (response *DescribeTasksResponse, err error) { + if request == nil { + request = NewDescribeTasksRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeTasks require credential") + } + + request.SetContext(ctx) + + response = NewDescribeTasksResponse() + err = c.Send(request, response) + return +} + func NewDescribeZonesRequest() (request *DescribeZonesRequest) { request = &DescribeZonesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -5074,6 +5395,9 @@ func NewDisIsolateDBInstancesResponse() (response *DisIsolateDBInstancesResponse // OPERATIONDENIED_INSTANCESTATUSDENIEDERROR = "OperationDenied.InstanceStatusDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" // UNKNOWNPARAMETER = "UnknownParameter" func (c *Client) DisIsolateDBInstances(request *DisIsolateDBInstancesRequest) (response *DisIsolateDBInstancesResponse, err error) { @@ -5116,6 +5440,9 @@ func (c *Client) DisIsolateDBInstances(request *DisIsolateDBInstancesRequest) (r // OPERATIONDENIED_INSTANCESTATUSDENIEDERROR = "OperationDenied.InstanceStatusDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" // UNKNOWNPARAMETER = "UnknownParameter" func (c *Client) DisIsolateDBInstancesWithContext(ctx context.Context, request *DisIsolateDBInstancesRequest) (response *DisIsolateDBInstancesResponse, err error) { @@ -6074,6 +6401,9 @@ func NewModifyDBInstanceChargeTypeResponse() (response *ModifyDBInstanceChargeTy // INVALIDPARAMETERVALUE_PARAMETERHANDLEERROR = "InvalidParameterValue.ParameterHandleError" // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" func (c *Client) ModifyDBInstanceChargeType(request *ModifyDBInstanceChargeTypeRequest) (response *ModifyDBInstanceChargeTypeResponse, err error) { return c.ModifyDBInstanceChargeTypeWithContext(context.Background(), request) } @@ -6090,6 +6420,9 @@ func (c *Client) ModifyDBInstanceChargeType(request *ModifyDBInstanceChargeTypeR // INVALIDPARAMETERVALUE_PARAMETERHANDLEERROR = "InvalidParameterValue.ParameterHandleError" // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" func (c *Client) ModifyDBInstanceChargeTypeWithContext(ctx context.Context, request *ModifyDBInstanceChargeTypeRequest) (response *ModifyDBInstanceChargeTypeResponse, err error) { if request == nil { request = NewModifyDBInstanceChargeTypeRequest() @@ -6479,6 +6812,69 @@ func (c *Client) ModifyDBInstanceReadOnlyGroupWithContext(ctx context.Context, r return } +func NewModifyDBInstanceSSLConfigRequest() (request *ModifyDBInstanceSSLConfigRequest) { + request = &ModifyDBInstanceSSLConfigRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("postgres", APIVersion, "ModifyDBInstanceSSLConfig") + + + return +} + +func NewModifyDBInstanceSSLConfigResponse() (response *ModifyDBInstanceSSLConfigResponse) { + response = &ModifyDBInstanceSSLConfigResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyDBInstanceSSLConfig +// 本接口用于修改实例SSL配置,功能包含开启、关闭、修改SSL证书保护的连接地址。 +// +// 可能返回的错误码: +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// FAILEDOPERATION_FLOWCREATEERROR = "FailedOperation.FlowCreateError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// INVALIDPARAMETERVALUE_PARAMETERCHARACTERLIMITERROR = "InvalidParameterValue.ParameterCharacterLimitError" +// OPERATIONDENIED_INSTANCEACCESSDENIEDERROR = "OperationDenied.InstanceAccessDeniedError" +// OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +func (c *Client) ModifyDBInstanceSSLConfig(request *ModifyDBInstanceSSLConfigRequest) (response *ModifyDBInstanceSSLConfigResponse, err error) { + return c.ModifyDBInstanceSSLConfigWithContext(context.Background(), request) +} + +// ModifyDBInstanceSSLConfig +// 本接口用于修改实例SSL配置,功能包含开启、关闭、修改SSL证书保护的连接地址。 +// +// 可能返回的错误码: +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// FAILEDOPERATION_FLOWCREATEERROR = "FailedOperation.FlowCreateError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// INVALIDPARAMETERVALUE_PARAMETERCHARACTERLIMITERROR = "InvalidParameterValue.ParameterCharacterLimitError" +// OPERATIONDENIED_INSTANCEACCESSDENIEDERROR = "OperationDenied.InstanceAccessDeniedError" +// OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +func (c *Client) ModifyDBInstanceSSLConfigWithContext(ctx context.Context, request *ModifyDBInstanceSSLConfigRequest) (response *ModifyDBInstanceSSLConfigResponse, err error) { + if request == nil { + request = NewModifyDBInstanceSSLConfigRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyDBInstanceSSLConfig require credential") + } + + request.SetContext(ctx) + + response = NewModifyDBInstanceSSLConfigResponse() + err = c.Send(request, response) + return +} + func NewModifyDBInstanceSecurityGroupsRequest() (request *ModifyDBInstanceSecurityGroupsRequest) { request = &ModifyDBInstanceSecurityGroupsRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -6580,6 +6976,9 @@ func NewModifyDBInstanceSpecResponse() (response *ModifyDBInstanceSpecResponse) // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" func (c *Client) ModifyDBInstanceSpec(request *ModifyDBInstanceSpecRequest) (response *ModifyDBInstanceSpecResponse, err error) { return c.ModifyDBInstanceSpecWithContext(context.Background(), request) @@ -6604,6 +7003,9 @@ func (c *Client) ModifyDBInstanceSpec(request *ModifyDBInstanceSpecRequest) (res // OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" func (c *Client) ModifyDBInstanceSpecWithContext(ctx context.Context, request *ModifyDBInstanceSpecRequest) (response *ModifyDBInstanceSpecResponse, err error) { if request == nil { @@ -6775,6 +7177,69 @@ func (c *Client) ModifyDatabaseOwnerWithContext(ctx context.Context, request *Mo return } +func NewModifyMaintainTimeWindowRequest() (request *ModifyMaintainTimeWindowRequest) { + request = &ModifyMaintainTimeWindowRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("postgres", APIVersion, "ModifyMaintainTimeWindow") + + + return +} + +func NewModifyMaintainTimeWindowResponse() (response *ModifyMaintainTimeWindowResponse) { + response = &ModifyMaintainTimeWindowResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyMaintainTimeWindow +// 本接口 (ModifyMaintainTimeWindow) 用于实例维护时间窗口的修改。 +// +// 可能返回的错误码: +// FAILEDOPERATION_CAMSIGANDAUTHERROR = "FailedOperation.CamSigAndAuthError" +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// INTERNALERROR_INTERNALHTTPSERVERERROR = "InternalError.InternalHttpServerError" +// INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +func (c *Client) ModifyMaintainTimeWindow(request *ModifyMaintainTimeWindowRequest) (response *ModifyMaintainTimeWindowResponse, err error) { + return c.ModifyMaintainTimeWindowWithContext(context.Background(), request) +} + +// ModifyMaintainTimeWindow +// 本接口 (ModifyMaintainTimeWindow) 用于实例维护时间窗口的修改。 +// +// 可能返回的错误码: +// FAILEDOPERATION_CAMSIGANDAUTHERROR = "FailedOperation.CamSigAndAuthError" +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// INTERNALERROR_INTERNALHTTPSERVERERROR = "InternalError.InternalHttpServerError" +// INVALIDPARAMETER_PARAMETERCHECKERROR = "InvalidParameter.ParameterCheckError" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +func (c *Client) ModifyMaintainTimeWindowWithContext(ctx context.Context, request *ModifyMaintainTimeWindowRequest) (response *ModifyMaintainTimeWindowResponse, err error) { + if request == nil { + request = NewModifyMaintainTimeWindowRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyMaintainTimeWindow require credential") + } + + request.SetContext(ctx) + + response = NewModifyMaintainTimeWindowResponse() + err = c.Send(request, response) + return +} + func NewModifyParameterTemplateRequest() (request *ModifyParameterTemplateRequest) { request = &ModifyParameterTemplateRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -6828,6 +7293,91 @@ func (c *Client) ModifyParameterTemplateWithContext(ctx context.Context, request return } +func NewModifyReadOnlyDBInstanceWeightRequest() (request *ModifyReadOnlyDBInstanceWeightRequest) { + request = &ModifyReadOnlyDBInstanceWeightRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("postgres", APIVersion, "ModifyReadOnlyDBInstanceWeight") + + + return +} + +func NewModifyReadOnlyDBInstanceWeightResponse() (response *ModifyReadOnlyDBInstanceWeightResponse) { + response = &ModifyReadOnlyDBInstanceWeightResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyReadOnlyDBInstanceWeight +// 本接口(ModifyReadOnlyDBInstanceWeight)用于修改只读实例权重 +// +// 可能返回的错误码: +// FAILEDOPERATION_CAMAUTHFAILED = "FailedOperation.CamAuthFailed" +// FAILEDOPERATION_CAMSIGANDAUTHERROR = "FailedOperation.CamSigAndAuthError" +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// FAILEDOPERATION_ILLEGALROINSTANCENUM = "FailedOperation.IllegalROInstanceNum" +// FAILEDOPERATION_ROGROUPMASTERINSTANCENOTRIGHT = "FailedOperation.ROGroupMasterInstanceNotRight" +// FAILEDOPERATION_ROGROUPNOTFOUNDERROR = "FailedOperation.ROGroupNotFoundError" +// INSTANCENOTEXIST = "InstanceNotExist" +// INTERNALERROR_INTERNALHTTPSERVERERROR = "InternalError.InternalHttpServerError" +// INVALIDINSTANCESTATUS = "InvalidInstanceStatus" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// INVALIDPARAMETERVALUE_INVALIDREADONLYGROUPSTATUS = "InvalidParameterValue.InvalidReadOnlyGroupStatus" +// INVALIDPARAMETERVALUE_PARAMETERHANDLEERROR = "InvalidParameterValue.ParameterHandleError" +// INVALIDPARAMETERVALUE_READONLYGROUPNOTEXIST = "InvalidParameterValue.ReadOnlyGroupNotExist" +// OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" +// OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_ROGROUPSTATUSERROR = "OperationDenied.ROGroupStatusError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +// RESOURCEUNAVAILABLE_INVALIDINSTANCESTATUS = "ResourceUnavailable.InvalidInstanceStatus" +func (c *Client) ModifyReadOnlyDBInstanceWeight(request *ModifyReadOnlyDBInstanceWeightRequest) (response *ModifyReadOnlyDBInstanceWeightResponse, err error) { + return c.ModifyReadOnlyDBInstanceWeightWithContext(context.Background(), request) +} + +// ModifyReadOnlyDBInstanceWeight +// 本接口(ModifyReadOnlyDBInstanceWeight)用于修改只读实例权重 +// +// 可能返回的错误码: +// FAILEDOPERATION_CAMAUTHFAILED = "FailedOperation.CamAuthFailed" +// FAILEDOPERATION_CAMSIGANDAUTHERROR = "FailedOperation.CamSigAndAuthError" +// FAILEDOPERATION_DATABASEACCESSERROR = "FailedOperation.DatabaseAccessError" +// FAILEDOPERATION_FAILEDOPERATIONERROR = "FailedOperation.FailedOperationError" +// FAILEDOPERATION_ILLEGALROINSTANCENUM = "FailedOperation.IllegalROInstanceNum" +// FAILEDOPERATION_ROGROUPMASTERINSTANCENOTRIGHT = "FailedOperation.ROGroupMasterInstanceNotRight" +// FAILEDOPERATION_ROGROUPNOTFOUNDERROR = "FailedOperation.ROGroupNotFoundError" +// INSTANCENOTEXIST = "InstanceNotExist" +// INTERNALERROR_INTERNALHTTPSERVERERROR = "InternalError.InternalHttpServerError" +// INVALIDINSTANCESTATUS = "InvalidInstanceStatus" +// INVALIDPARAMETERVALUE_INVALIDPARAMETERVALUEERROR = "InvalidParameterValue.InvalidParameterValueError" +// INVALIDPARAMETERVALUE_INVALIDREADONLYGROUPSTATUS = "InvalidParameterValue.InvalidReadOnlyGroupStatus" +// INVALIDPARAMETERVALUE_PARAMETERHANDLEERROR = "InvalidParameterValue.ParameterHandleError" +// INVALIDPARAMETERVALUE_READONLYGROUPNOTEXIST = "InvalidParameterValue.ReadOnlyGroupNotExist" +// OPERATIONDENIED_CAMDENIEDERROR = "OperationDenied.CamDeniedError" +// OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_ROGROUPSTATUSERROR = "OperationDenied.ROGroupStatusError" +// RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" +// RESOURCEUNAVAILABLE_INVALIDINSTANCESTATUS = "ResourceUnavailable.InvalidInstanceStatus" +func (c *Client) ModifyReadOnlyDBInstanceWeightWithContext(ctx context.Context, request *ModifyReadOnlyDBInstanceWeightRequest) (response *ModifyReadOnlyDBInstanceWeightResponse, err error) { + if request == nil { + request = NewModifyReadOnlyDBInstanceWeightRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyReadOnlyDBInstanceWeight require credential") + } + + request.SetContext(ctx) + + response = NewModifyReadOnlyDBInstanceWeightResponse() + err = c.Send(request, response) + return +} + func NewModifyReadOnlyGroupConfigRequest() (request *ModifyReadOnlyGroupConfigRequest) { request = &ModifyReadOnlyGroupConfigRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -7417,7 +7967,10 @@ func NewRenewInstanceResponse() (response *RenewInstanceResponse) { // OPERATIONDENIED_INSTANCEACCESSDENIEDERROR = "OperationDenied.InstanceAccessDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" // OPERATIONDENIED_POSTPAIDPAYMODEERROR = "OperationDenied.PostPaidPayModeError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // OPERATIONDENIED_VPCDENIEDERROR = "OperationDenied.VpcDeniedError" // RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" // RESOURCEUNAVAILABLE_RESOURCENOPERMISSION = "ResourceUnavailable.ResourceNoPermission" @@ -7456,7 +8009,10 @@ func (c *Client) RenewInstance(request *RenewInstanceRequest) (response *RenewIn // OPERATIONDENIED_INSTANCEACCESSDENIEDERROR = "OperationDenied.InstanceAccessDeniedError" // OPERATIONDENIED_INSTANCESTATUSLIMITERROR = "OperationDenied.InstanceStatusLimitError" // OPERATIONDENIED_INSTANCESTATUSLIMITOPERROR = "OperationDenied.InstanceStatusLimitOpError" +// OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" // OPERATIONDENIED_POSTPAIDPAYMODEERROR = "OperationDenied.PostPaidPayModeError" +// OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" +// OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" // OPERATIONDENIED_VPCDENIEDERROR = "OperationDenied.VpcDeniedError" // RESOURCENOTFOUND_INSTANCENOTFOUNDERROR = "ResourceNotFound.InstanceNotFoundError" // RESOURCEUNAVAILABLE_RESOURCENOPERMISSION = "ResourceUnavailable.ResourceNoPermission" @@ -7902,7 +8458,7 @@ func NewUnlockAccountResponse() (response *UnlockAccountResponse) { } // UnlockAccount -// 解除数据库账号的锁定,解锁后账号可以登陆数据库。 +// 解除数据库账号的锁定,解锁后账号可以登录数据库。 // // 可能返回的错误码: // DBERROR = "DBError" @@ -7923,7 +8479,7 @@ func (c *Client) UnlockAccount(request *UnlockAccountRequest) (response *UnlockA } // UnlockAccount -// 解除数据库账号的锁定,解锁后账号可以登陆数据库。 +// 解除数据库账号的锁定,解锁后账号可以登录数据库。 // // 可能返回的错误码: // DBERROR = "DBError" diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/errors.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/errors.go index 9e9d849a3a..43b59baa65 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/errors.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/errors.go @@ -485,6 +485,9 @@ const ( // 实例类型错误 OPERATIONDENIED_INSTANCETYPEDENIED = "OperationDenied.InstanceTypeDenied" + // 账号余额不足。 + OPERATIONDENIED_INSUFFICIENTBALANCEERROR = "OperationDenied.InsufficientBalanceError" + // 内核版本过低,导致实例无法创建tencentDBSuper账号。如果您想使用此功能,请升级内核版本。 OPERATIONDENIED_KERNELVERSIONERROR = "OperationDenied.KernelVersionError" @@ -509,6 +512,9 @@ const ( // 只读节点总数不能超过上限值。 OPERATIONDENIED_ROINSTANCECOUNTEXEEDERROR = "OperationDenied.RoInstanceCountExeedError" + // 无支付权限,开通失败。 + OPERATIONDENIED_TRADEPERMISSIONERROR = "OperationDenied.TradePermissionError" + // 用户未进行实名认证,请先进行实名认证才可购买。 OPERATIONDENIED_USERNOTAUTHENTICATEDERROR = "OperationDenied.UserNotAuthenticatedError" diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/models.go index 639525cc7d..e078dfa8c1 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312/models.go @@ -177,6 +177,27 @@ type BackupPlan struct { // 开始备份的最晚时间 MaxBackupStartTime *string `json:"MaxBackupStartTime,omitnil,omitempty" name:"MaxBackupStartTime"` + + // 备份计划ID + PlanId *string `json:"PlanId,omitnil,omitempty" name:"PlanId"` + + // 备份计划自定义名称。 + PlanName *string `json:"PlanName,omitnil,omitempty" name:"PlanName"` + + // 日志备份保留时长。 + LogBackupRetentionPeriod *uint64 `json:"LogBackupRetentionPeriod,omitnil,omitempty" name:"LogBackupRetentionPeriod"` + + // 创建时间。 + CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"` + + // 最近一次的修改时间。 + UpdatedTime *string `json:"UpdatedTime,omitnil,omitempty" name:"UpdatedTime"` + + // 备份计划类型。系统默认创建的为default,自定义的为custom。 + PlanType *string `json:"PlanType,omitnil,omitempty" name:"PlanType"` + + // 备份周期类型。当前支持week、month。 + BackupPeriodType *string `json:"BackupPeriodType,omitnil,omitempty" name:"BackupPeriodType"` } type BackupSummary struct { @@ -705,6 +726,105 @@ func (r *CreateAccountResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type CreateBackupPlanRequestParams struct { + // 实例ID。 + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 备份计划名称。 + PlanName *string `json:"PlanName,omitnil,omitempty" name:"PlanName"` + + // 创建的备份计划类型,当前仅支持month创建。 + BackupPeriodType *string `json:"BackupPeriodType,omitnil,omitempty" name:"BackupPeriodType"` + + // 备份的日期,示例是每个月的2号开启备份。 + BackupPeriod []*string `json:"BackupPeriod,omitnil,omitempty" name:"BackupPeriod"` + + // 备份开始时间,不传跟随默认备份计划。 + MinBackupStartTime *string `json:"MinBackupStartTime,omitnil,omitempty" name:"MinBackupStartTime"` + + // 备份结束时间,不传跟随默认计划。 + MaxBackupStartTime *string `json:"MaxBackupStartTime,omitnil,omitempty" name:"MaxBackupStartTime"` + + // 数据备份保留时长,week默认是7,month为30。 + BaseBackupRetentionPeriod *uint64 `json:"BaseBackupRetentionPeriod,omitnil,omitempty" name:"BaseBackupRetentionPeriod"` +} + +type CreateBackupPlanRequest struct { + *tchttp.BaseRequest + + // 实例ID。 + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 备份计划名称。 + PlanName *string `json:"PlanName,omitnil,omitempty" name:"PlanName"` + + // 创建的备份计划类型,当前仅支持month创建。 + BackupPeriodType *string `json:"BackupPeriodType,omitnil,omitempty" name:"BackupPeriodType"` + + // 备份的日期,示例是每个月的2号开启备份。 + BackupPeriod []*string `json:"BackupPeriod,omitnil,omitempty" name:"BackupPeriod"` + + // 备份开始时间,不传跟随默认备份计划。 + MinBackupStartTime *string `json:"MinBackupStartTime,omitnil,omitempty" name:"MinBackupStartTime"` + + // 备份结束时间,不传跟随默认计划。 + MaxBackupStartTime *string `json:"MaxBackupStartTime,omitnil,omitempty" name:"MaxBackupStartTime"` + + // 数据备份保留时长,week默认是7,month为30。 + BaseBackupRetentionPeriod *uint64 `json:"BaseBackupRetentionPeriod,omitnil,omitempty" name:"BaseBackupRetentionPeriod"` +} + +func (r *CreateBackupPlanRequest) 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 *CreateBackupPlanRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DBInstanceId") + delete(f, "PlanName") + delete(f, "BackupPeriodType") + delete(f, "BackupPeriod") + delete(f, "MinBackupStartTime") + delete(f, "MaxBackupStartTime") + delete(f, "BaseBackupRetentionPeriod") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateBackupPlanRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateBackupPlanResponseParams struct { + // 备份策略的ID. + PlanId *string `json:"PlanId,omitnil,omitempty" name:"PlanId"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CreateBackupPlanResponse struct { + *tchttp.BaseResponse + Response *CreateBackupPlanResponseParams `json:"Response"` +} + +func (r *CreateBackupPlanResponse) 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 *CreateBackupPlanResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type CreateBaseBackupRequestParams struct { // 实例ID。 @@ -2553,6 +2673,67 @@ func (r *DeleteAccountResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DeleteBackupPlanRequestParams struct { + // 实例ID。 + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 备份计划的ID。 + PlanId *string `json:"PlanId,omitnil,omitempty" name:"PlanId"` +} + +type DeleteBackupPlanRequest struct { + *tchttp.BaseRequest + + // 实例ID。 + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 备份计划的ID。 + PlanId *string `json:"PlanId,omitnil,omitempty" name:"PlanId"` +} + +func (r *DeleteBackupPlanRequest) 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 *DeleteBackupPlanRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DBInstanceId") + delete(f, "PlanId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBackupPlanRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteBackupPlanResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DeleteBackupPlanResponse struct { + *tchttp.BaseResponse + Response *DeleteBackupPlanResponseParams `json:"Response"` +} + +func (r *DeleteBackupPlanResponse) 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 *DeleteBackupPlanResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DeleteBaseBackupRequestParams struct { // 实例ID。 @@ -4272,6 +4453,69 @@ func (r *DescribeDBInstanceParametersResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeDBInstanceSSLConfigRequestParams struct { + // 实例ID,形如postgres-6bwgamo3 + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` +} + +type DescribeDBInstanceSSLConfigRequest struct { + *tchttp.BaseRequest + + // 实例ID,形如postgres-6bwgamo3 + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` +} + +func (r *DescribeDBInstanceSSLConfigRequest) 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 *DescribeDBInstanceSSLConfigRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DBInstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDBInstanceSSLConfigRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeDBInstanceSSLConfigResponseParams struct { + // true 代表开通 ,false 代表未开通 + SSLEnabled *bool `json:"SSLEnabled,omitnil,omitempty" name:"SSLEnabled"` + + // 云端根证书下载链接 + CAUrl *string `json:"CAUrl,omitnil,omitempty" name:"CAUrl"` + + // 服务器证书中配置的内网或外网连接地址 + ConnectAddress *string `json:"ConnectAddress,omitnil,omitempty" name:"ConnectAddress"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeDBInstanceSSLConfigResponse struct { + *tchttp.BaseResponse + Response *DescribeDBInstanceSSLConfigResponseParams `json:"Response"` +} + +func (r *DescribeDBInstanceSSLConfigResponse) 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 *DescribeDBInstanceSSLConfigResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeDBInstanceSecurityGroupsRequestParams struct { // 实例ID,DBInstanceId和ReadOnlyGroupId至少传一个;如果都传,忽略ReadOnlyGroupId @@ -5172,6 +5416,72 @@ func (r *DescribeLogBackupsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeMaintainTimeWindowRequestParams struct { + // 实例ID + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` +} + +type DescribeMaintainTimeWindowRequest struct { + *tchttp.BaseRequest + + // 实例ID + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` +} + +func (r *DescribeMaintainTimeWindowRequest) 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 *DescribeMaintainTimeWindowRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DBInstanceId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMaintainTimeWindowRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeMaintainTimeWindowResponseParams struct { + // 实例ID + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 维护开始时间。时区为东八区(UTC+8) + MaintainStartTime *string `json:"MaintainStartTime,omitnil,omitempty" name:"MaintainStartTime"` + + // 维护持续时间。单位:小时 + MaintainDuration *uint64 `json:"MaintainDuration,omitnil,omitempty" name:"MaintainDuration"` + + // 维护周期 + MaintainWeekDays []*string `json:"MaintainWeekDays,omitnil,omitempty" name:"MaintainWeekDays"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeMaintainTimeWindowResponse struct { + *tchttp.BaseResponse + Response *DescribeMaintainTimeWindowResponseParams `json:"Response"` +} + +func (r *DescribeMaintainTimeWindowResponse) 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 *DescribeMaintainTimeWindowResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeOrdersRequestParams struct { // 订单名集合 @@ -6002,6 +6312,115 @@ func (r *DescribeSlowQueryListResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeTasksRequestParams struct { + // 按照任务ID进行查询。其余云API中返回的FlowId和TaskId等价。 + TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"` + + // 按照数据库实例ID进行查询。 + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 任务的最早开始时间,形如2024-08-23 00:00:00,默认只展示180天内的数据。 + MinStartTime *string `json:"MinStartTime,omitnil,omitempty" name:"MinStartTime"` + + // 任务的最晚开始时间,形如2024-08-23 00:00:00,默认为当前时间。 + MaxStartTime *string `json:"MaxStartTime,omitnil,omitempty" name:"MaxStartTime"` + + // 每页显示数量,取值范围为1-100,默认为返回20条。 + Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 数据偏移量,从0开始。 + Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 排序字段,支持StartTime,EndTime,默认为StartTime。 + OrderBy *string `json:"OrderBy,omitnil,omitempty" name:"OrderBy"` + + // 排序方式,包括升序:asc,降序:desc,默认为desc。 + OrderByType *string `json:"OrderByType,omitnil,omitempty" name:"OrderByType"` +} + +type DescribeTasksRequest struct { + *tchttp.BaseRequest + + // 按照任务ID进行查询。其余云API中返回的FlowId和TaskId等价。 + TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"` + + // 按照数据库实例ID进行查询。 + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 任务的最早开始时间,形如2024-08-23 00:00:00,默认只展示180天内的数据。 + MinStartTime *string `json:"MinStartTime,omitnil,omitempty" name:"MinStartTime"` + + // 任务的最晚开始时间,形如2024-08-23 00:00:00,默认为当前时间。 + MaxStartTime *string `json:"MaxStartTime,omitnil,omitempty" name:"MaxStartTime"` + + // 每页显示数量,取值范围为1-100,默认为返回20条。 + Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 数据偏移量,从0开始。 + Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 排序字段,支持StartTime,EndTime,默认为StartTime。 + OrderBy *string `json:"OrderBy,omitnil,omitempty" name:"OrderBy"` + + // 排序方式,包括升序:asc,降序:desc,默认为desc。 + OrderByType *string `json:"OrderByType,omitnil,omitempty" name:"OrderByType"` +} + +func (r *DescribeTasksRequest) 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 *DescribeTasksRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TaskId") + delete(f, "DBInstanceId") + delete(f, "MinStartTime") + delete(f, "MaxStartTime") + delete(f, "Limit") + delete(f, "Offset") + delete(f, "OrderBy") + delete(f, "OrderByType") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTasksRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeTasksResponseParams struct { + // 查询到的任务数量 + TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 任务信息列表 + TaskSet []*TaskSet `json:"TaskSet,omitnil,omitempty" name:"TaskSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeTasksResponse struct { + *tchttp.BaseResponse + Response *DescribeTasksResponseParams `json:"Response"` +} + +func (r *DescribeTasksResponse) 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 *DescribeTasksResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeZonesRequestParams struct { @@ -6131,13 +6550,13 @@ type DisIsolateDBInstancesRequestParams struct { DBInstanceIdSet []*string `json:"DBInstanceIdSet,omitnil,omitempty" name:"DBInstanceIdSet"` // 购买时长,单位:月。 - //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36 - //
  • 后付费:只支持1 + //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36
  • + //
  • 后付费:只支持1
  • Period *int64 `json:"Period,omitnil,omitempty" name:"Period"` // 是否使用代金券: - //
  • true:使用 - //
  • false:不使用 + //
  • true:使用
  • + //
  • false:不使用
  • // 默认值:false AutoVoucher *bool `json:"AutoVoucher,omitnil,omitempty" name:"AutoVoucher"` @@ -6152,13 +6571,13 @@ type DisIsolateDBInstancesRequest struct { DBInstanceIdSet []*string `json:"DBInstanceIdSet,omitnil,omitempty" name:"DBInstanceIdSet"` // 购买时长,单位:月。 - //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36 - //
  • 后付费:只支持1 + //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36
  • + //
  • 后付费:只支持1
  • Period *int64 `json:"Period,omitnil,omitempty" name:"Period"` // 是否使用代金券: - //
  • true:使用 - //
  • false:不使用 + //
  • true:使用
  • + //
  • false:不使用
  • // 默认值:false AutoVoucher *bool `json:"AutoVoucher,omitnil,omitempty" name:"AutoVoucher"` @@ -7059,11 +7478,17 @@ type ModifyBackupPlanRequestParams struct { // 实例备份保留时长,取值范围为7-1830,单位是天 BaseBackupRetentionPeriod *uint64 `json:"BaseBackupRetentionPeriod,omitnil,omitempty" name:"BaseBackupRetentionPeriod"` - // 实例备份周期,按照星期维度,格式为小写星期英文单词 + // 实例备份周期,若是星期维度,格式为小写星期英文单词;若是按月维度,格式为数字字符,如["1","2"]。 BackupPeriod []*string `json:"BackupPeriod,omitnil,omitempty" name:"BackupPeriod"` // 实例日志备份保留时长,取值范围为7-1830,单位是天 LogBackupRetentionPeriod *uint64 `json:"LogBackupRetentionPeriod,omitnil,omitempty" name:"LogBackupRetentionPeriod"` + + // 备份计划ID,用于指明要修改哪个备份计划,不传则是修改默认备份计划。 + PlanId *string `json:"PlanId,omitnil,omitempty" name:"PlanId"` + + // 要修改的备份计划名称。 + PlanName *string `json:"PlanName,omitnil,omitempty" name:"PlanName"` } type ModifyBackupPlanRequest struct { @@ -7081,11 +7506,17 @@ type ModifyBackupPlanRequest struct { // 实例备份保留时长,取值范围为7-1830,单位是天 BaseBackupRetentionPeriod *uint64 `json:"BaseBackupRetentionPeriod,omitnil,omitempty" name:"BaseBackupRetentionPeriod"` - // 实例备份周期,按照星期维度,格式为小写星期英文单词 + // 实例备份周期,若是星期维度,格式为小写星期英文单词;若是按月维度,格式为数字字符,如["1","2"]。 BackupPeriod []*string `json:"BackupPeriod,omitnil,omitempty" name:"BackupPeriod"` // 实例日志备份保留时长,取值范围为7-1830,单位是天 LogBackupRetentionPeriod *uint64 `json:"LogBackupRetentionPeriod,omitnil,omitempty" name:"LogBackupRetentionPeriod"` + + // 备份计划ID,用于指明要修改哪个备份计划,不传则是修改默认备份计划。 + PlanId *string `json:"PlanId,omitnil,omitempty" name:"PlanId"` + + // 要修改的备份计划名称。 + PlanName *string `json:"PlanName,omitnil,omitempty" name:"PlanName"` } func (r *ModifyBackupPlanRequest) ToJsonString() string { @@ -7106,6 +7537,8 @@ func (r *ModifyBackupPlanRequest) FromJsonString(s string) error { delete(f, "BaseBackupRetentionPeriod") delete(f, "BackupPeriod") delete(f, "LogBackupRetentionPeriod") + delete(f, "PlanId") + delete(f, "PlanName") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyBackupPlanRequest has unknown keys!", "") } @@ -7208,25 +7641,25 @@ type ModifyDBInstanceChargeTypeRequestParams struct { DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` // 实例计费类型,目前支持: - //
  • PREPAID:预付费,即包年包月 - //
  • POSTPAID_BY_HOUR:后付费,即按量计费 + //
  • PREPAID:预付费,即包年包月
  • + //
  • POSTPAID_BY_HOUR:后付费,即按量计费
  • // 默认值:PREPAID InstanceChargeType *string `json:"InstanceChargeType,omitnil,omitempty" name:"InstanceChargeType"` // 购买时长,单位:月。 - //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36 - //
  • 后付费:只支持1 + //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36
  • + //
  • 后付费:只支持1
  • Period *int64 `json:"Period,omitnil,omitempty" name:"Period"` // 续费标记: - //
  • 0:手动续费 - //
  • 1:自动续费 + //
  • 0:手动续费
  • + //
  • 1:自动续费
  • // 默认值:0 AutoRenewFlag *int64 `json:"AutoRenewFlag,omitnil,omitempty" name:"AutoRenewFlag"` // 是否自动使用代金券: - //
  • 0:否 - //
  • 1:是 + //
  • 0:否
  • + //
  • 1:是
  • // 默认值:0 AutoVoucher *int64 `json:"AutoVoucher,omitnil,omitempty" name:"AutoVoucher"` } @@ -7238,25 +7671,25 @@ type ModifyDBInstanceChargeTypeRequest struct { DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` // 实例计费类型,目前支持: - //
  • PREPAID:预付费,即包年包月 - //
  • POSTPAID_BY_HOUR:后付费,即按量计费 + //
  • PREPAID:预付费,即包年包月
  • + //
  • POSTPAID_BY_HOUR:后付费,即按量计费
  • // 默认值:PREPAID InstanceChargeType *string `json:"InstanceChargeType,omitnil,omitempty" name:"InstanceChargeType"` // 购买时长,单位:月。 - //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36 - //
  • 后付费:只支持1 + //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36
  • + //
  • 后付费:只支持1
  • Period *int64 `json:"Period,omitnil,omitempty" name:"Period"` // 续费标记: - //
  • 0:手动续费 - //
  • 1:自动续费 + //
  • 0:手动续费
  • + //
  • 1:自动续费
  • // 默认值:0 AutoRenewFlag *int64 `json:"AutoRenewFlag,omitnil,omitempty" name:"AutoRenewFlag"` // 是否自动使用代金券: - //
  • 0:否 - //
  • 1:是 + //
  • 0:否
  • + //
  • 1:是
  • // 默认值:0 AutoVoucher *int64 `json:"AutoVoucher,omitnil,omitempty" name:"AutoVoucher"` } @@ -7707,6 +8140,77 @@ func (r *ModifyDBInstanceReadOnlyGroupResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type ModifyDBInstanceSSLConfigRequestParams struct { + // 实例 ID + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 开启或关闭SSL + SSLEnabled *bool `json:"SSLEnabled,omitnil,omitempty" name:"SSLEnabled"` + + // SSL证书保护的唯一连接地址,若为主实例,可设置为内外网IP地址;若为只读实例,可设置为实例IP或只读组IP。在开启SSL或修改SSL保护的连接地址时,该参数为必传项;在关闭SSL时,该参数将被忽略。 + ConnectAddress *string `json:"ConnectAddress,omitnil,omitempty" name:"ConnectAddress"` +} + +type ModifyDBInstanceSSLConfigRequest struct { + *tchttp.BaseRequest + + // 实例 ID + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 开启或关闭SSL + SSLEnabled *bool `json:"SSLEnabled,omitnil,omitempty" name:"SSLEnabled"` + + // SSL证书保护的唯一连接地址,若为主实例,可设置为内外网IP地址;若为只读实例,可设置为实例IP或只读组IP。在开启SSL或修改SSL保护的连接地址时,该参数为必传项;在关闭SSL时,该参数将被忽略。 + ConnectAddress *string `json:"ConnectAddress,omitnil,omitempty" name:"ConnectAddress"` +} + +func (r *ModifyDBInstanceSSLConfigRequest) 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 *ModifyDBInstanceSSLConfigRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DBInstanceId") + delete(f, "SSLEnabled") + delete(f, "ConnectAddress") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDBInstanceSSLConfigRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyDBInstanceSSLConfigResponseParams struct { + // 任务ID + TaskId *int64 `json:"TaskId,omitnil,omitempty" name:"TaskId"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyDBInstanceSSLConfigResponse struct { + *tchttp.BaseResponse + Response *ModifyDBInstanceSSLConfigResponseParams `json:"Response"` +} + +func (r *ModifyDBInstanceSSLConfigResponse) 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 *ModifyDBInstanceSSLConfigResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type ModifyDBInstanceSecurityGroupsRequestParams struct { // 实例或只读组要绑定的安全组列表。 @@ -8046,6 +8550,81 @@ func (r *ModifyDatabaseOwnerResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type ModifyMaintainTimeWindowRequestParams struct { + // 实例ID + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 维护开始时间。时区为东八区(UTC+8) + MaintainStartTime *string `json:"MaintainStartTime,omitnil,omitempty" name:"MaintainStartTime"` + + // 维护持续时间。单位:小时 + MaintainDuration *uint64 `json:"MaintainDuration,omitnil,omitempty" name:"MaintainDuration"` + + // 维护周期 + MaintainWeekDays []*string `json:"MaintainWeekDays,omitnil,omitempty" name:"MaintainWeekDays"` +} + +type ModifyMaintainTimeWindowRequest struct { + *tchttp.BaseRequest + + // 实例ID + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 维护开始时间。时区为东八区(UTC+8) + MaintainStartTime *string `json:"MaintainStartTime,omitnil,omitempty" name:"MaintainStartTime"` + + // 维护持续时间。单位:小时 + MaintainDuration *uint64 `json:"MaintainDuration,omitnil,omitempty" name:"MaintainDuration"` + + // 维护周期 + MaintainWeekDays []*string `json:"MaintainWeekDays,omitnil,omitempty" name:"MaintainWeekDays"` +} + +func (r *ModifyMaintainTimeWindowRequest) 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 *ModifyMaintainTimeWindowRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DBInstanceId") + delete(f, "MaintainStartTime") + delete(f, "MaintainDuration") + delete(f, "MaintainWeekDays") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyMaintainTimeWindowRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyMaintainTimeWindowResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyMaintainTimeWindowResponse struct { + *tchttp.BaseResponse + Response *ModifyMaintainTimeWindowResponseParams `json:"Response"` +} + +func (r *ModifyMaintainTimeWindowResponse) 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 *ModifyMaintainTimeWindowResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type ModifyParameterTemplateRequestParams struct { // 参数模板ID,用于唯一确认参数模板,不可修改 @@ -8142,6 +8721,74 @@ type ModifyPrivilege struct { IsCascade *bool `json:"IsCascade,omitnil,omitempty" name:"IsCascade"` } +// Predefined struct for user +type ModifyReadOnlyDBInstanceWeightRequestParams struct { + // 实例ID + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 只读组ID + ReadOnlyGroupId *string `json:"ReadOnlyGroupId,omitnil,omitempty" name:"ReadOnlyGroupId"` + + // 只读实例在只读组中的流量权重(1-50) + Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` +} + +type ModifyReadOnlyDBInstanceWeightRequest struct { + *tchttp.BaseRequest + + // 实例ID + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 只读组ID + ReadOnlyGroupId *string `json:"ReadOnlyGroupId,omitnil,omitempty" name:"ReadOnlyGroupId"` + + // 只读实例在只读组中的流量权重(1-50) + Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` +} + +func (r *ModifyReadOnlyDBInstanceWeightRequest) 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 *ModifyReadOnlyDBInstanceWeightRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DBInstanceId") + delete(f, "ReadOnlyGroupId") + delete(f, "Weight") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyReadOnlyDBInstanceWeightRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyReadOnlyDBInstanceWeightResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyReadOnlyDBInstanceWeightResponse struct { + *tchttp.BaseResponse + Response *ModifyReadOnlyDBInstanceWeightResponseParams `json:"Response"` +} + +func (r *ModifyReadOnlyDBInstanceWeightResponse) 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 *ModifyReadOnlyDBInstanceWeightResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type ModifyReadOnlyGroupConfigRequestParams struct { // 只读组ID @@ -8943,10 +9590,15 @@ type RenewInstanceRequestParams struct { // 实例ID,形如postgres-6fego161 DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` - // 续费多少个月 + // 购买时长,单位:月。 + //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36
  • + //
  • 后付费:只支持1
  • Period *int64 `json:"Period,omitnil,omitempty" name:"Period"` - // 是否自动使用代金券,1是,0否,默认不使用 + // 是否自动使用代金券: + //
  • 0:否
  • + //
  • 1:是
  • + // 默认值:0 AutoVoucher *int64 `json:"AutoVoucher,omitnil,omitempty" name:"AutoVoucher"` // 代金券ID列表,目前仅支持指定一张代金券 @@ -8959,10 +9611,15 @@ type RenewInstanceRequest struct { // 实例ID,形如postgres-6fego161 DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` - // 续费多少个月 + // 购买时长,单位:月。 + //
  • 预付费:支持1,2,3,4,5,6,7,8,9,10,11,12,24,36
  • + //
  • 后付费:只支持1
  • Period *int64 `json:"Period,omitnil,omitempty" name:"Period"` - // 是否自动使用代金券,1是,0否,默认不使用 + // 是否自动使用代金券: + //
  • 0:否
  • + //
  • 1:是
  • + // 默认值:0 AutoVoucher *int64 `json:"AutoVoucher,omitnil,omitempty" name:"AutoVoucher"` // 代金券ID列表,目前仅支持指定一张代金券 @@ -9146,7 +9803,7 @@ type RestoreDBInstanceObjectsRequestParams struct { // 实例ID。 DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` - // 需要恢复的对象列表。假设需要恢复的对象名为test,则恢复后的名称为test_bak_${LinuxTime}。${LinuxTime}无法指定,由系统根据任务发起的linux时间设定。 + // 需要恢复的对象列表。假设需要恢复的对象名为user,则恢复后的名称为user_bak_${LinuxTime}。${LinuxTime}无法指定,由系统根据任务发起的linux时间设定。 RestoreObjects []*string `json:"RestoreObjects,omitnil,omitempty" name:"RestoreObjects"` // 恢复所用备份集。BackupSetId与RestoreTargetTime有且只能传一个。 @@ -9162,7 +9819,7 @@ type RestoreDBInstanceObjectsRequest struct { // 实例ID。 DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` - // 需要恢复的对象列表。假设需要恢复的对象名为test,则恢复后的名称为test_bak_${LinuxTime}。${LinuxTime}无法指定,由系统根据任务发起的linux时间设定。 + // 需要恢复的对象列表。假设需要恢复的对象名为user,则恢复后的名称为user_bak_${LinuxTime}。${LinuxTime}无法指定,由系统根据任务发起的linux时间设定。 RestoreObjects []*string `json:"RestoreObjects,omitnil,omitempty" name:"RestoreObjects"` // 恢复所用备份集。BackupSetId与RestoreTargetTime有且只能传一个。 @@ -9579,6 +10236,68 @@ type Tag struct { TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"` } +type TaskDetail struct { + // 当前执行的子任务步骤名称。 + // 注意:此字段可能返回 null,表示取不到有效值。 + CurrentStep *string `json:"CurrentStep,omitnil,omitempty" name:"CurrentStep"` + + // 当前任务所拥有的子步骤描述。 + // 注意:此字段可能返回 null,表示取不到有效值。 + AllSteps *string `json:"AllSteps,omitnil,omitempty" name:"AllSteps"` + + // 任务的输入参数。 + // 注意:此字段可能返回 null,表示取不到有效值。 + Input *string `json:"Input,omitnil,omitempty" name:"Input"` + + // 任务的输出参数。 + // 注意:此字段可能返回 null,表示取不到有效值。 + Output *string `json:"Output,omitnil,omitempty" name:"Output"` + + // 指定实例配置完成变更后的切换时间,默认值:0 + // 0: 此任务不需要切换 + // 1:立即切换 + // 2:指定时间切换 + // 3:维护时间窗口内切换。 + // 注意:此字段可能返回 null,表示取不到有效值。 + SwitchTag *uint64 `json:"SwitchTag,omitnil,omitempty" name:"SwitchTag"` + + // 指定的切换时间。 + // 注意:此字段可能返回 null,表示取不到有效值。 + SwitchTime *string `json:"SwitchTime,omitnil,omitempty" name:"SwitchTime"` + + // 任务的提示信息。 + // 注意:此字段可能返回 null,表示取不到有效值。 + Message *string `json:"Message,omitnil,omitempty" name:"Message"` +} + +type TaskSet struct { + // 任务ID。 + TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"` + + // 任务的类型。 + TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"` + + // 任务实例的实例ID。 + DBInstanceId *string `json:"DBInstanceId,omitnil,omitempty" name:"DBInstanceId"` + + // 任务的开始时间。 + StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"` + + // 任务的结束时间。 + // 注意:此字段可能返回 null,表示取不到有效值。 + EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"` + + // 任务的运行状态,包括Running,Success,WaitSwitch,Fail,Pause。 + Status *string `json:"Status,omitnil,omitempty" name:"Status"` + + // 任务的执行进度,取值范围0-100。 + Progress *uint64 `json:"Progress,omitnil,omitempty" name:"Progress"` + + // 任务的详情信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + TaskDetail *TaskDetail `json:"TaskDetail,omitnil,omitempty" name:"TaskDetail"` +} + // Predefined struct for user type UnlockAccountRequestParams struct { // 实例ID。 @@ -10018,6 +10737,7 @@ type Version struct { // 数据库版本状态,包括: // AVAILABLE:可用; + // UPGRADE_ONLY:不可创建,此版本仅可升级至高版本; // DEPRECATED:已弃用。 Status *string `json:"Status,omitnil,omitempty" name:"Status"` diff --git a/vendor/modules.txt b/vendor/modules.txt index 41d5628f88..6c247eb3ad 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1165,7 +1165,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1078 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1099 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1103 ## explicit; go 1.11 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors @@ -1257,7 +1257,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus/v20190422 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1038 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization/v20210331 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1103 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038 diff --git a/website/docs/r/postgresql_parameters.html.markdown b/website/docs/r/postgresql_parameters.html.markdown new file mode 100644 index 0000000000..f28e0d1585 --- /dev/null +++ b/website/docs/r/postgresql_parameters.html.markdown @@ -0,0 +1,86 @@ +--- +subcategory: "TencentDB for PostgreSQL(PostgreSQL)" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_postgresql_parameters" +sidebar_current: "docs-tencentcloud-resource-postgresql_parameters" +description: |- + Use this resource to create postgresql parameter. +--- + +# tencentcloud_postgresql_parameters + +Use this resource to create postgresql parameter. + +## Example Usage + +```hcl +variable "default_az" { + default = "ap-guangzhou-3" +} + +data "tencentcloud_vpc_subnets" "gz3" { + availability_zone = var.default_az + is_default = true +} + +locals { + vpc_id = data.tencentcloud_vpc_subnets.gz3.instance_list.0.vpc_id + subnet_id = data.tencentcloud_vpc_subnets.gz3.instance_list.0.subnet_id +} + +data "tencentcloud_availability_zones_by_product" "zone" { + product = "postgres" +} + +resource "tencentcloud_postgresql_instance" "test" { + name = "tf_postsql_postpaid" + availability_zone = var.default_az + charge_type = "POSTPAID_BY_HOUR" + period = 1 + vpc_id = local.vpc_id + subnet_id = local.subnet_id + engine_version = "13.3" + root_password = "t1qaA2k1wgvfa3?ZZZ" + security_groups = ["sg-5275dorp"] + charset = "LATIN1" + project_id = 0 + memory = 2 + storage = 20 +} +resource "tencentcloud_postgresql_parameters" "postgresql_parameters" { + db_instance_id = tencentcloud_postgresql_instance.test.id + param_list { + expected_value = "off" + name = "check_function_bodies" + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `db_instance_id` - (Required, String) Instance ID. +* `param_list` - (Required, List) Parameters to be modified and expected values. + +The `param_list` object supports the following: + +* `expected_value` - (Required, String) The new value to which the parameter will be modified. When this parameter is used as an input parameter, its value must be a string, such as `0.1` (decimal), `1000` (integer), and `replica` (enum). +* `name` - (Required, String) Parameter name. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. + + + +## Import + +postgresql parameters can be imported, e.g. + +``` +$ terraform import tencentcloud_postgresql_parameters.example pgrogrp-lckioi2a +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index e8e38ea435..31e1c0ba96 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -6048,6 +6048,9 @@
  • tencentcloud_postgresql_parameter_template
  • +
  • + tencentcloud_postgresql_parameters +
  • tencentcloud_postgresql_readonly_attachment
  • From a498fd19ec2e9f37692441aed72bb837614382f3 Mon Sep 17 00:00:00 2001 From: arunma Date: Fri, 21 Feb 2025 17:35:28 +0800 Subject: [PATCH 2/3] feat: add changelog --- .changelog/3146.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/3146.txt diff --git a/.changelog/3146.txt b/.changelog/3146.txt new file mode 100644 index 0000000000..45a22e6bfc --- /dev/null +++ b/.changelog/3146.txt @@ -0,0 +1,3 @@ +```release-note:new-resource +tencentcloud_postgresql_parameters +``` \ No newline at end of file From 4ad780f5fb49f25aba65f1cd8b845db7a186b8f9 Mon Sep 17 00:00:00 2001 From: arunma Date: Sun, 23 Feb 2025 21:51:43 +0800 Subject: [PATCH 3/3] fix: modify instanceId property --- .../services/postgresql/resource_tc_postgresql_parameters.go | 1 + website/docs/r/postgresql_parameters.html.markdown | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.go b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.go index 974a8c257b..78f2a7775b 100644 --- a/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.go +++ b/tencentcloud/services/postgresql/resource_tc_postgresql_parameters.go @@ -25,6 +25,7 @@ func ResourceTencentCloudPostgresqlParameters() *schema.Resource { "db_instance_id": { Type: schema.TypeString, Required: true, + ForceNew: true, Description: "Instance ID.", }, diff --git a/website/docs/r/postgresql_parameters.html.markdown b/website/docs/r/postgresql_parameters.html.markdown index f28e0d1585..43d396222a 100644 --- a/website/docs/r/postgresql_parameters.html.markdown +++ b/website/docs/r/postgresql_parameters.html.markdown @@ -60,7 +60,7 @@ resource "tencentcloud_postgresql_parameters" "postgresql_parameters" { The following arguments are supported: -* `db_instance_id` - (Required, String) Instance ID. +* `db_instance_id` - (Required, String, ForceNew) Instance ID. * `param_list` - (Required, List) Parameters to be modified and expected values. The `param_list` object supports the following: