diff --git a/.changelog/3004.txt b/.changelog/3004.txt new file mode 100644 index 0000000000..b240577093 --- /dev/null +++ b/.changelog/3004.txt @@ -0,0 +1,3 @@ +```release-note:new-resource +tencentcloud_postgresql_instance_network_access +``` 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/connectivity/client.go b/tencentcloud/connectivity/client.go index 2bd03fa62b..22ba8ebe32 100644 --- a/tencentcloud/connectivity/client.go +++ b/tencentcloud/connectivity/client.go @@ -228,6 +228,7 @@ type TencentCloudClient struct { wafv20180125Conn *waf.Client camv20190116Conn *cam.Client clsv20201016Conn *cls.Client + postgresqlv20170312Conn *postgre.Client monitor20180724Conn *monitor.Client cdcv20201214Conn *cdc.Client mqttv20240516Conn *mqtt.Client @@ -2022,6 +2023,19 @@ func (me *TencentCloudClient) UseClsV20201016Client() *cls.Client { return me.clsv20201016Conn } +// UsePostgresqlV20170312Client return POSTGRESQL client for service +func (me *TencentCloudClient) UsePostgresqlV20170312Client() *postgre.Client { + if me.postgresqlv20170312Conn != nil { + return me.postgresqlv20170312Conn + } + cpf := me.NewClientProfile(300) + cpf.Language = "zh-CN" + me.postgresqlv20170312Conn, _ = postgre.NewClient(me.Credential, me.Region, cpf) + me.postgresqlv20170312Conn.WithHttpTransport(&LogRoundTripper{}) + + return me.postgresqlv20170312Conn +} + // UseMonitorV20180724Client returns MONITOR client for service func (me *TencentCloudClient) UseMonitorV20180724Client() *monitor.Client { if me.monitor20180724Conn != nil { diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index 5704ecbe36..1e65c97cb1 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_instance_network_access": postgresql.ResourceTencentCloudPostgresqlInstanceNetworkAccess(), "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..847e2774e3 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_instance_network_access TencentDB for Redis(crs) Data Source diff --git a/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access.go b/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access.go new file mode 100644 index 0000000000..4216b9d7b6 --- /dev/null +++ b/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access.go @@ -0,0 +1,304 @@ +package postgresql + +import ( + "context" + "encoding/json" + "fmt" + "log" + "strings" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + postgresqlv20170312 "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 ResourceTencentCloudPostgresqlInstanceNetworkAccess() *schema.Resource { + return &schema.Resource{ + Create: resourceTencentCloudPostgresqlInstanceNetworkAccessCreate, + Read: resourceTencentCloudPostgresqlInstanceNetworkAccessRead, + Delete: resourceTencentCloudPostgresqlInstanceNetworkAccessDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "db_instance_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + Description: "Instance ID in the format of postgres-6bwgamo3.", + }, + + "vpc_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + Description: "Unified VPC ID.", + }, + + "subnet_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + Description: "Subnet ID.", + }, + + "vip": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + Description: "Target VIP.", + }, + }, + } +} + +func resourceTencentCloudPostgresqlInstanceNetworkAccessCreate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_postgresql_instance_network_access.create")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + request = postgresqlv20170312.NewCreateDBInstanceNetworkAccessRequest() + response = postgresqlv20170312.NewCreateDBInstanceNetworkAccessResponse() + dbInsntaceId string + vpcId string + subnetId string + vip string + ) + + if v, ok := d.GetOk("db_instance_id"); ok { + request.DBInstanceId = helper.String(v.(string)) + dbInsntaceId = v.(string) + } + + if v, ok := d.GetOk("vpc_id"); ok { + request.VpcId = helper.String(v.(string)) + vpcId = v.(string) + } + + if v, ok := d.GetOk("subnet_id"); ok { + request.SubnetId = helper.String(v.(string)) + subnetId = v.(string) + } + + request.IsAssignVip = helper.Bool(false) + + if v, ok := d.GetOk("vip"); ok { + request.Vip = helper.String(v.(string)) + request.IsAssignVip = helper.Bool(true) + vip = v.(string) + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePostgresqlV20170312Client().CreateDBInstanceNetworkAccessWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if result == nil || result.Response == nil { + return resource.NonRetryableError(fmt.Errorf("Create postgresql instance network access failed, Response is nil.")) + } + + response = result + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s create postgresql instance network access failed, reason:%+v", logId, err) + return err + } + + if response.Response.FlowId == nil { + return fmt.Errorf("FlowId is nil.") + } + + // wait & get vip + flowId := *response.Response.FlowId + flowRequest := postgresqlv20170312.NewDescribeTasksRequest() + flowRequest.TaskId = helper.Int64Uint64(flowId) + err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePostgresqlV20170312Client().DescribeTasksWithContext(ctx, flowRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if result == nil || result.Response == nil || result.Response.TaskSet == nil { + return resource.NonRetryableError(fmt.Errorf("Describe tasks failed, Response is nil.")) + } + + if len(result.Response.TaskSet) == 0 { + return resource.RetryableError(fmt.Errorf("wait TaskSet init.")) + } + + if result.Response.TaskSet[0].Status != nil && *result.Response.TaskSet[0].Status == "Success" { + if result.Response.TaskSet[0].TaskDetail != nil && result.Response.TaskSet[0].TaskDetail.Output != nil { + outPutObj := make(map[string]interface{}) + outputStr := *result.Response.TaskSet[0].TaskDetail.Output + e := json.Unmarshal([]byte(outputStr), &outPutObj) + if e != nil { + return resource.NonRetryableError(fmt.Errorf("Json unmarshall output error: %s.", e.Error())) + } + + dBInstanceNetInfo := outPutObj["DBInstanceNetInfo"].(map[string]interface{}) + vip = dBInstanceNetInfo["Ip"].(string) + return nil + } + } + + return resource.RetryableError(fmt.Errorf("postgresql instance network access is running, status is %s.", *result.Response.TaskSet[0].Status)) + }) + + if err != nil { + log.Printf("[CRITAL]%s create postgresql instance network access failed, reason:%+v", logId, err) + return err + } + + d.SetId(strings.Join([]string{dbInsntaceId, vpcId, subnetId, vip}, tccommon.FILED_SP)) + + return resourceTencentCloudPostgresqlInstanceNetworkAccessRead(d, meta) +} + +func resourceTencentCloudPostgresqlInstanceNetworkAccessRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_postgresql_instance_network_access.read")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + service = PostgresqlService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + ) + + idSplit := strings.Split(d.Id(), tccommon.FILED_SP) + if len(idSplit) != 4 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + + dbInsntaceId := idSplit[0] + vpcId := idSplit[1] + subnetId := idSplit[2] + vip := idSplit[3] + + _ = d.Set("db_instance_id", dbInsntaceId) + + _ = d.Set("vpc_id", vpcId) + + _ = d.Set("subnet_id", subnetId) + + respData, err := service.DescribePostgresqlInstanceNetworkAccessById(ctx, dbInsntaceId) + if err != nil { + return err + } + + if respData == nil { + d.SetId("") + log.Printf("[WARN]%s resource `postgresql_instance_network_access` [%s] not found, please check if it has been deleted.\n", logId, d.Id()) + return nil + } + + var checkFlag bool + if respData.DBInstanceNetInfo != nil && len(respData.DBInstanceNetInfo) > 0 { + for _, item := range respData.DBInstanceNetInfo { + if *item.Ip == vip { + _ = d.Set("vip", item.Ip) + checkFlag = true + break + } + } + } + + if checkFlag == false { + return fmt.Errorf("Not found vip %s, please check if it has been deleted.", vip) + } + + return nil +} + +func resourceTencentCloudPostgresqlInstanceNetworkAccessDelete(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_postgresql_instance_network_access.delete")() + defer tccommon.InconsistentCheck(d, meta)() + + var ( + logId = tccommon.GetLogId(tccommon.ContextNil) + ctx = tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + request = postgresqlv20170312.NewDeleteDBInstanceNetworkAccessRequest() + response = postgresqlv20170312.NewDeleteDBInstanceNetworkAccessResponse() + ) + + idSplit := strings.Split(d.Id(), tccommon.FILED_SP) + if len(idSplit) != 4 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + + dbInsntaceId := idSplit[0] + vpcId := idSplit[1] + subnetId := idSplit[2] + vip := idSplit[3] + + request.DBInstanceId = helper.String(dbInsntaceId) + request.VpcId = helper.String(vpcId) + request.SubnetId = helper.String(subnetId) + request.Vip = helper.String(vip) + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePostgresqlV20170312Client().DeleteDBInstanceNetworkAccessWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if result == nil || result.Response == nil { + return resource.NonRetryableError(fmt.Errorf("Delete postgresql instance network access failed, Response is nil.")) + } + + response = result + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s delete postgresql instance network access failed, reason:%+v", logId, err) + return err + } + + // wait + flowId := *response.Response.FlowId + flowRequest := postgresqlv20170312.NewDescribeTasksRequest() + flowRequest.TaskId = helper.Int64Uint64(flowId) + err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePostgresqlV20170312Client().DescribeTasksWithContext(ctx, flowRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + if result == nil || result.Response == nil || result.Response.TaskSet == nil { + return resource.NonRetryableError(fmt.Errorf("Describe tasks failed, Response is nil.")) + } + + if len(result.Response.TaskSet) == 0 { + return resource.RetryableError(fmt.Errorf("wait TaskSet init.")) + } + + if result.Response.TaskSet[0].Status != nil && *result.Response.TaskSet[0].Status == "Success" { + return nil + } + + return resource.RetryableError(fmt.Errorf("postgresql instance network access is running, status is %s.", *result.Response.TaskSet[0].Status)) + }) + + if err != nil { + log.Printf("[CRITAL]%s delete postgresql instance network access failed, reason:%+v", logId, err) + return err + } + + return nil +} diff --git a/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access.md b/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access.md new file mode 100644 index 0000000000..8b58fbf345 --- /dev/null +++ b/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access.md @@ -0,0 +1,32 @@ +Provides a resource to create a postgres instance network access + +Example Usage + +Create by custom vip + +```hcl +resource "tencentcloud_postgresql_instance_network_access" "example" { + db_instance_id = "postgres-ai46555b" + vpc_id = "vpc-i5yyodl9" + subnet_id = "subnet-d4umunpy" + vip = "10.0.10.11" +} +``` + +Create by automatic allocation vip + +```hcl +resource "tencentcloud_postgresql_instance_network_access" "example" { + db_instance_id = "postgres-ai46555b" + vpc_id = "vpc-i5yyodl9" + subnet_id = "subnet-d4umunpy" +} +``` + +Import + +postgres instance network access can be imported using the id, e.g. + +``` +terraform import tencentcloud_postgresql_instance_network_access.example postgres-ai46555b#vpc-i5yyodl9#subnet-d4umunpy#10.0.10.11 +``` diff --git a/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access_extension.go b/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access_extension.go new file mode 100644 index 0000000000..4e9a54a3ce --- /dev/null +++ b/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access_extension.go @@ -0,0 +1 @@ +package postgresql diff --git a/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access_test.go b/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access_test.go new file mode 100644 index 0000000000..2f13475c9f --- /dev/null +++ b/tencentcloud/services/postgresql/resource_tc_postgresql_instance_network_access_test.go @@ -0,0 +1,44 @@ +package postgresql_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +func TestAccTencentCloudPostgresqlInstanceNetworkAccessResource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccPostgresqlInstanceNetworkAccess, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_postgresql_instance_network_access.example", "id"), + resource.TestCheckResourceAttrSet("tencentcloud_postgresql_instance_network_access.example", "db_instance_id"), + resource.TestCheckResourceAttrSet("tencentcloud_postgresql_instance_network_access.example", "vpc_id"), + resource.TestCheckResourceAttrSet("tencentcloud_postgresql_instance_network_access.example", "subnet_id"), + resource.TestCheckResourceAttrSet("tencentcloud_postgresql_instance_network_access.example", "vip"), + ), + }, + { + ResourceName: "tencentcloud_postgresql_instance_network_access.example", + ImportState: true, + ImportStateVerify: true, + }}, + }) +} + +const testAccPostgresqlInstanceNetworkAccess = ` +resource "tencentcloud_postgresql_instance_network_access" "example" { + db_instance_id = "postgres-ai46555b" + vpc_id = "vpc-i5yyodl9" + subnet_id = "subnet-d4umunpy" + vip = "10.0.10.11" +} +` diff --git a/tencentcloud/services/postgresql/service_tencentcloud_postgresql.go b/tencentcloud/services/postgresql/service_tencentcloud_postgresql.go index d3e45332c4..dd00c69332 100644 --- a/tencentcloud/services/postgresql/service_tencentcloud_postgresql.go +++ b/tencentcloud/services/postgresql/service_tencentcloud_postgresql.go @@ -2231,3 +2231,32 @@ func (me *PostgresqlService) DescribePostgresqlDedicatedClustersByFilter(ctx con ret = response.Response.DedicatedClusterSet return } + +func (me *PostgresqlService) DescribePostgresqlInstanceNetworkAccessById(ctx context.Context, dbInsntaceId string) (ret *postgresql.DBInstance, errRet error) { + logId := tccommon.GetLogId(ctx) + + request := postgresql.NewDescribeDBInstanceAttributeRequest() + request.DBInstanceId = helper.String(dbInsntaceId) + + 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.UsePostgresqlV20170312Client().DescribeDBInstanceAttribute(request) + if err != nil { + errRet = err + return + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + if response.Response == nil { + return + } + + ret = response.Response.DBInstance + 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_instance_network_access.html.markdown b/website/docs/r/postgresql_instance_network_access.html.markdown new file mode 100644 index 0000000000..b58ffe19f4 --- /dev/null +++ b/website/docs/r/postgresql_instance_network_access.html.markdown @@ -0,0 +1,61 @@ +--- +subcategory: "TencentDB for PostgreSQL(PostgreSQL)" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_postgresql_instance_network_access" +sidebar_current: "docs-tencentcloud-resource-postgresql_instance_network_access" +description: |- + Provides a resource to create a postgres instance network access +--- + +# tencentcloud_postgresql_instance_network_access + +Provides a resource to create a postgres instance network access + +## Example Usage + +### Create by custom vip + +```hcl +resource "tencentcloud_postgresql_instance_network_access" "example" { + db_instance_id = "postgres-ai46555b" + vpc_id = "vpc-i5yyodl9" + subnet_id = "subnet-d4umunpy" + vip = "10.0.10.11" +} +``` + +### Create by automatic allocation vip + +```hcl +resource "tencentcloud_postgresql_instance_network_access" "example" { + db_instance_id = "postgres-ai46555b" + vpc_id = "vpc-i5yyodl9" + subnet_id = "subnet-d4umunpy" +} +``` + +## Argument Reference + +The following arguments are supported: + +* `db_instance_id` - (Required, String, ForceNew) Instance ID in the format of postgres-6bwgamo3. +* `subnet_id` - (Required, String, ForceNew) Subnet ID. +* `vpc_id` - (Required, String, ForceNew) Unified VPC ID. +* `vip` - (Optional, String, ForceNew) Target VIP. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. + + + +## Import + +postgres instance network access can be imported using the id, e.g. + +``` +terraform import tencentcloud_postgresql_instance_network_access.example postgres-ai46555b#vpc-i5yyodl9#subnet-d4umunpy#10.0.10.11 +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index e8e38ea435..b21f7994d0 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -6036,6 +6036,9 @@
  • tencentcloud_postgresql_instance_ha_config
  • +
  • + tencentcloud_postgresql_instance_network_access +
  • tencentcloud_postgresql_isolate_db_instance_operation