diff --git a/CHANGELOG.md b/CHANGELOG.md index c06ddf50de..421df2ea6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ ## 1.37.0 (Unreleased) + +FEATURES: + +* **New Data Source**: `tencentcloud_sqlserver_zone_config` + ## 1.36.1 (June 12, 2020) ENHANCEMENTS: diff --git a/examples/tencentcloud-sqlserver/main.tf b/examples/tencentcloud-sqlserver/main.tf new file mode 100644 index 0000000000..f4f8bcbe59 --- /dev/null +++ b/examples/tencentcloud-sqlserver/main.tf @@ -0,0 +1,2 @@ +data "tencentcloud_sqlserver_zone_config" "mysqlserver" { +} diff --git a/examples/tencentcloud-sqlserver/variable.tf b/examples/tencentcloud-sqlserver/variable.tf new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/tencentcloud-sqlserver/version.tf b/examples/tencentcloud-sqlserver/version.tf new file mode 100644 index 0000000000..133d0d73e7 --- /dev/null +++ b/examples/tencentcloud-sqlserver/version.tf @@ -0,0 +1,3 @@ +terraform { + required_version = ">= 0.12" +} \ No newline at end of file diff --git a/go.sum b/go.sum index 32c8c71a1d..1e1ca648b5 100644 --- a/go.sum +++ b/go.sum @@ -456,6 +456,8 @@ github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2 h1:Xr9gkxfOP0K github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= github.com/tencentcloud/tencentcloud-sdk-go v3.0.187+incompatible h1:9hr93p945INwxa67N68EUJuIkUE2iGnMq/YZ6x3JHik= github.com/tencentcloud/tencentcloud-sdk-go v3.0.187+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4= +github.com/tencentcloud/tencentcloud-sdk-go v3.0.191+incompatible h1:cycv0fIQDSo9sjWkupzKnKMc+ZT8cKAfoq2WX3b8ozk= +github.com/tencentcloud/tencentcloud-sdk-go v3.0.191+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4= github.com/tetafro/godot v0.3.7 h1:+mecr7RKrUKB5UQ1gwqEMn13sDKTyDR8KNIquB9mm+8= github.com/tetafro/godot v0.3.7/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0= github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e h1:RumXZ56IrCj4CL+g1b9OL/oH0QnsF976bC8xQFYUD5Q= diff --git a/tencentcloud/connectivity/client.go b/tencentcloud/connectivity/client.go index 39d6a99d34..8dca16841c 100644 --- a/tencentcloud/connectivity/client.go +++ b/tencentcloud/connectivity/client.go @@ -26,6 +26,7 @@ import ( monitor "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724" redis "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis/v20180412" scf "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416" + sqlserver "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328" sts "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts/v20180813" tag "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tag/v20180813" tcaplusdb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcaplusdb/v20190823" @@ -41,29 +42,30 @@ type TencentCloudClient struct { Protocol string Domain string - cosConn *s3.S3 - mysqlConn *cdb.Client - redisConn *redis.Client - asConn *as.Client - vpcConn *vpc.Client - cbsConn *cbs.Client - cvmConn *cvm.Client - clbConn *clb.Client - dayuConn *dayu.Client - dcConn *dc.Client - tagConn *tag.Client - mongodbConn *mongodb.Client - tkeConn *tke.Client - camConn *cam.Client - stsConn *sts.Client - gaapConn *gaap.Client - sslConn *ssl.Client - cfsConn *cfs.Client - scfConn *scf.Client - tcaplusConn *tcaplusdb.Client - cdnConn *cdn.Client - monitorConn *monitor.Client - esConn *es.Client + cosConn *s3.S3 + mysqlConn *cdb.Client + redisConn *redis.Client + asConn *as.Client + vpcConn *vpc.Client + cbsConn *cbs.Client + cvmConn *cvm.Client + clbConn *clb.Client + dayuConn *dayu.Client + dcConn *dc.Client + tagConn *tag.Client + mongodbConn *mongodb.Client + tkeConn *tke.Client + camConn *cam.Client + stsConn *sts.Client + gaapConn *gaap.Client + sslConn *ssl.Client + cfsConn *cfs.Client + scfConn *scf.Client + tcaplusConn *tcaplusdb.Client + cdnConn *cdn.Client + monitorConn *monitor.Client + esConn *es.Client + sqlserverConn *sqlserver.Client } // NewClientProfile returns a new ClientProfile @@ -398,3 +400,16 @@ func (me *TencentCloudClient) UseEsClient() *es.Client { return me.esConn } + +// UseSqlserverClient returns sqlserver client for service +func (me *TencentCloudClient) UseSqlserverClient() *sqlserver.Client { + if me.sqlserverConn != nil { + return me.sqlserverConn + } + + cpf := me.NewClientProfile(300) + me.sqlserverConn, _ = sqlserver.NewClient(me.Credential, me.Region, cpf) + me.sqlserverConn.WithHttpTransport(&LogRoundTripper{}) + + return me.sqlserverConn +} diff --git a/tencentcloud/data_source_tc_sqlserver_zone_config.go b/tencentcloud/data_source_tc_sqlserver_zone_config.go new file mode 100644 index 0000000000..1608f57e88 --- /dev/null +++ b/tencentcloud/data_source_tc_sqlserver_zone_config.go @@ -0,0 +1,178 @@ +/* +Use this data source to query purchasable specification configuration for each availability zone in this specific region. + +Example Usage + +```hcl +data "tencentcloud_sqlserver_zone_config" "mysqlserver" { +} +``` +*/ +package tencentcloud + +import ( + "context" + "fmt" + "log" + + "github.com/hashicorp/terraform-plugin-sdk/helper/schema" +) + +func dataSourceTencentSqlserverZoneConfig() *schema.Resource { + return &schema.Resource{ + Read: dataSourceTencentSqlserverZoneConfigRead, + Schema: map[string]*schema.Schema{ + "result_output_file": { + Type: schema.TypeString, + Optional: true, + Description: "Used to store results.", + }, + "zone_list": { + Type: schema.TypeList, + Computed: true, + Description: "A list of availability zones. Each element contains the following attributes:", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "availability_zone": { + Type: schema.TypeString, + Computed: true, + Description: "Alphabet ID of availability zone.", + }, + "zone_id": { + Type: schema.TypeInt, + Computed: true, + Description: "Number ID of availability zone.", + }, + "specinfo_list": { + Type: schema.TypeList, + Computed: true, + Description: "A list of specinfo configurations for the specific availability zone. Each element contains the following attributes:", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "spec_id": { + Type: schema.TypeInt, + Computed: true, + Description: "Instance specification ID.", + }, + "machine_type": { + Type: schema.TypeString, + Computed: true, + Description: "Model ID.", + }, + "db_version": { + Type: schema.TypeString, + Computed: true, + Description: "Database version information. Valid values: `2008R2 (SQL Server 2008 Enterprise)`, `2012SP3 (SQL Server 2012 Enterprise)`, `2016SP1 (SQL Server 2016 Enterprise)`, `201602 (SQL Server 2016 Standard)`, `2017 (SQL Server 2017 Enterprise)`.", + }, + "db_version_name": { + Type: schema.TypeString, + Computed: true, + Description: "Version name corresponding to the `db_version` field.", + }, + "memory": { + Type: schema.TypeInt, + Computed: true, + Description: "Memory size in GB.", + }, + "cpu": { + Type: schema.TypeInt, + Computed: true, + Description: "Number of CPU cores.", + }, + "min_storage_size": { + Type: schema.TypeInt, + Computed: true, + Description: "Minimum disk size under this specification in GB.", + }, + "max_storage_size": { + Type: schema.TypeInt, + Computed: true, + Description: "Maximum disk size under this specification in GB.", + }, + "qps": { + Type: schema.TypeInt, + Computed: true, + Description: "QPS of this specification.", + }, + "charge_type": { + Type: schema.TypeString, + Computed: true, + Description: "Billing mode under this specification. Valid values are `POSTPAID_BY_HOUR`, `PREPAID` and `ALL` which means both POSTPAID_BY_HOUR and PREPAID.", + }, + }, + }, + }, + }, + }, + }, + }, + } +} + +func dataSourceTencentSqlserverZoneConfigRead(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("data_source.tencent_sqlserver_zone_config.read")() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + sqlserverService := SqlserverService{client: meta.(*TencentCloudClient).apiV3Conn} + + // get zoneinfo + zoneInfoList, err := sqlserverService.DescribeZones(ctx) + if err != nil { + return fmt.Errorf("api[DescribeZones]fail, return %s", err.Error()) + } + zoneSet := make(map[string]map[string]interface{}) + for _, zoneInfo := range zoneInfoList { + zoneSetInfo := make(map[string]interface{}, 1) + zoneSetInfo["id"] = zoneInfo.ZoneId + zoneSet[*zoneInfo.Zone] = zoneSetInfo + } + + var zoneList []interface{} + for k, v := range zoneSet { + var zoneListItem = make(map[string]interface{}) + zoneListItem["availability_zone"] = k + zoneListItem["zone_id"] = v["id"] + + // get specinfo for each zone + specinfoList, err := sqlserverService.DescribeProductConfig(ctx, k) + if err != nil { + return fmt.Errorf("api[DescribeProductConfig]fail, return %s", err.Error()) + } + var specinfoConfigs []interface{} + for _, specinfoItem := range specinfoList { + var specinfoConfig = make(map[string]interface{}) + specinfoConfig["spec_id"] = specinfoItem.SpecId + specinfoConfig["machine_type"] = specinfoItem.MachineType + specinfoConfig["db_version"] = specinfoItem.Version + specinfoConfig["db_version_name"] = specinfoItem.VersionName + specinfoConfig["memory"] = specinfoItem.Memory + specinfoConfig["cpu"] = specinfoItem.CPU + specinfoConfig["min_storage_size"] = specinfoItem.MinStorage + specinfoConfig["max_storage_size"] = specinfoItem.MaxStorage + specinfoConfig["qps"] = specinfoItem.QPS + specinfoConfig["charge_type"] = SQLSERVER_CHARGE_TYPE_NAME[*specinfoItem.PayModeStatus] + + specinfoConfigs = append(specinfoConfigs, specinfoConfig) + } + zoneListItem["specinfo_list"] = specinfoConfigs + zoneList = append(zoneList, zoneListItem) + } + + // set zone_list + if err := d.Set("zone_list", zoneList); err != nil { + return fmt.Errorf("[CRITAL]%s provider set zone_list fail, reason:%s\n ", logId, err.Error()) + } + + d.SetId("zone_config") + + if output, ok := d.GetOk("result_output_file"); ok && output.(string) != "" { + if err := writeToFile(output.(string), zoneList); err != nil { + log.Printf("[CRITAL]%s output file[%s] fail, reason[%s]\n", + logId, output.(string), err.Error()) + } + + } + return nil +} diff --git a/tencentcloud/data_source_tc_sqlserver_zone_config_test.go b/tencentcloud/data_source_tc_sqlserver_zone_config_test.go new file mode 100644 index 0000000000..59d60cd4b0 --- /dev/null +++ b/tencentcloud/data_source_tc_sqlserver_zone_config_test.go @@ -0,0 +1,39 @@ +package tencentcloud + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" +) + +func TestAccDataSourceTencentCloudSqlserverZoneConfig_basic(t *testing.T) { + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + Steps: []resource.TestStep{ + { + Config: TestAccDataSourceTencentCloudSqlserverZoneConfig, + Check: resource.ComposeTestCheckFunc( + testAccCheckTencentCloudDataSourceID("data.tencentcloud_sqlserver_zone_config.foo"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.availability_zone"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.zone_id"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.spec_id"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.machine_type"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.db_version"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.db_version_name"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.memory"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.cpu"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.min_storage_size"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.max_storage_size"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.qps"), + resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_zone_config.foo", "zone_list.0.specinfo_list.0.charge_type"), + ), + }, + }, + }) +} + +const TestAccDataSourceTencentCloudSqlserverZoneConfig = ` +data "tencentcloud_sqlserver_zone_config" "foo" { +} +` diff --git a/tencentcloud/extension_sqlserver.go b/tencentcloud/extension_sqlserver.go new file mode 100644 index 0000000000..44387f21d5 --- /dev/null +++ b/tencentcloud/extension_sqlserver.go @@ -0,0 +1,12 @@ +package tencentcloud + +const ( + SQLSERVER_CHARGE_TYPE_PREPAID = "PREPAID" + SQLSERVER_CHARGE_TYPE_POSTPAID = "POSTPAID_BY_HOUR" +) + +var SQLSERVER_CHARGE_TYPE_NAME = map[string]string{ + "PRE": SQLSERVER_CHARGE_TYPE_PREPAID, + "POST": SQLSERVER_CHARGE_TYPE_POSTPAID, + "ALL": "ALL", +} diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index 2ec65cc31e..dd5aacf4d4 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -303,6 +303,10 @@ Serverless Cloud Function(SCF) tencentcloud_scf_function tencentcloud_scf_namespace +SQLServer + Data Source + tencentcloud_sqlserver_zone_config + SSL Certificates Data Source tencentcloud_ssl_certificates @@ -582,6 +586,7 @@ func Provider() terraform.ResourceProvider { "tencentcloud_monitor_policy_groups": dataSourceTencentMonitorPolicyGroups(), "tencentcloud_monitor_product_namespace": dataSourceTencentMonitorProductNamespace(), "tencentcloud_elasticsearch_instances": dataSourceTencentCloudElasticsearchInstances(), + "tencentcloud_sqlserver_zone_config": dataSourceTencentSqlserverZoneConfig(), }, ResourcesMap: map[string]*schema.Resource{ diff --git a/tencentcloud/service_tencentcloud_sqlserver.go b/tencentcloud/service_tencentcloud_sqlserver.go new file mode 100644 index 0000000000..db21840af3 --- /dev/null +++ b/tencentcloud/service_tencentcloud_sqlserver.go @@ -0,0 +1,80 @@ +package tencentcloud + +import ( + "context" + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" + "log" + + sqlserver "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328" + "github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/connectivity" + "github.com/terraform-providers/terraform-provider-tencentcloud/tencentcloud/ratelimit" +) + +type SqlserverService struct { + client *connectivity.TencentCloudClient +} + +func (me *SqlserverService) DescribeZones(ctx context.Context) (zoneInfoList []*sqlserver.ZoneInfo, errRet error) { + logId := getLogId(ctx) + request := sqlserver.NewDescribeZonesRequest() + + 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()) + } + }() + + var response *sqlserver.DescribeZonesResponse + err := resource.Retry(10*readRetryTimeout, func() *resource.RetryError { + ratelimit.Check(request.GetAction()) + result, e := me.client.UseSqlserverClient().DescribeZones(request) + if e != nil { + log.Printf("[CRITAL]%s DescribeZones fail, reason:%s\n", logId, e.Error()) + return retryError(e) + } + response = result + return nil + }) + if err != nil { + errRet = err + return + } + if response != nil && response.Response != nil { + zoneInfoList = response.Response.ZoneSet + } + return +} + +func (me *SqlserverService) DescribeProductConfig(ctx context.Context, zone string) (specInfoList []*sqlserver.SpecInfo, errRet error) { + logId := getLogId(ctx) + request := sqlserver.NewDescribeProductConfigRequest() + request.Zone = &zone + + 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()) + } + }() + + var response *sqlserver.DescribeProductConfigResponse + err := resource.Retry(10*readRetryTimeout, func() *resource.RetryError { + ratelimit.Check(request.GetAction()) + result, e := me.client.UseSqlserverClient().DescribeProductConfig(request) + if e != nil { + log.Printf("[CRITAL]%s DescribeProductConfig fail, reason:%s\n", logId, e.Error()) + return retryError(e) + } + response = result + return nil + }) + if err != nil { + errRet = err + return + } + if response != nil && response.Response != nil { + specInfoList = response.Response.SpecInfoList + } + return +} diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328/client.go new file mode 100644 index 0000000000..6eeef6faa6 --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328/client.go @@ -0,0 +1,1044 @@ +// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package v20180328 + +import ( + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" + tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile" +) + +const APIVersion = "2018-03-28" + +type Client struct { + common.Client +} + +// Deprecated +func NewClientWithSecretId(secretId, secretKey, region string) (client *Client, err error) { + cpf := profile.NewClientProfile() + client = &Client{} + client.Init(region).WithSecretId(secretId, secretKey).WithProfile(cpf) + return +} + +func NewClient(credential *common.Credential, region string, clientProfile *profile.ClientProfile) (client *Client, err error) { + client = &Client{} + client.Init(region). + WithCredential(credential). + WithProfile(clientProfile) + return +} + + +func NewCreateAccountRequest() (request *CreateAccountRequest) { + request = &CreateAccountRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "CreateAccount") + return +} + +func NewCreateAccountResponse() (response *CreateAccountResponse) { + response = &CreateAccountResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(CreateAccount)用于创建实例账号 +func (c *Client) CreateAccount(request *CreateAccountRequest) (response *CreateAccountResponse, err error) { + if request == nil { + request = NewCreateAccountRequest() + } + response = NewCreateAccountResponse() + err = c.Send(request, response) + return +} + +func NewCreateBackupRequest() (request *CreateBackupRequest) { + request = &CreateBackupRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "CreateBackup") + return +} + +func NewCreateBackupResponse() (response *CreateBackupResponse) { + response = &CreateBackupResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(CreateBackup)用于创建备份。 +func (c *Client) CreateBackup(request *CreateBackupRequest) (response *CreateBackupResponse, err error) { + if request == nil { + request = NewCreateBackupRequest() + } + response = NewCreateBackupResponse() + err = c.Send(request, response) + return +} + +func NewCreateDBRequest() (request *CreateDBRequest) { + request = &CreateDBRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "CreateDB") + return +} + +func NewCreateDBResponse() (response *CreateDBResponse) { + response = &CreateDBResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(CreateDB)用于创建数据库。 +func (c *Client) CreateDB(request *CreateDBRequest) (response *CreateDBResponse, err error) { + if request == nil { + request = NewCreateDBRequest() + } + response = NewCreateDBResponse() + err = c.Send(request, response) + return +} + +func NewCreateDBInstancesRequest() (request *CreateDBInstancesRequest) { + request = &CreateDBInstancesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "CreateDBInstances") + return +} + +func NewCreateDBInstancesResponse() (response *CreateDBInstancesResponse) { + response = &CreateDBInstancesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(CreateDBInstances)用于创建实例。 +func (c *Client) CreateDBInstances(request *CreateDBInstancesRequest) (response *CreateDBInstancesResponse, err error) { + if request == nil { + request = NewCreateDBInstancesRequest() + } + response = NewCreateDBInstancesResponse() + err = c.Send(request, response) + return +} + +func NewCreateMigrationRequest() (request *CreateMigrationRequest) { + request = &CreateMigrationRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "CreateMigration") + return +} + +func NewCreateMigrationResponse() (response *CreateMigrationResponse) { + response = &CreateMigrationResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(CreateMigration)作用是创建一个迁移任务 +func (c *Client) CreateMigration(request *CreateMigrationRequest) (response *CreateMigrationResponse, err error) { + if request == nil { + request = NewCreateMigrationRequest() + } + response = NewCreateMigrationResponse() + err = c.Send(request, response) + return +} + +func NewDeleteAccountRequest() (request *DeleteAccountRequest) { + request = &DeleteAccountRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DeleteAccount") + return +} + +func NewDeleteAccountResponse() (response *DeleteAccountResponse) { + response = &DeleteAccountResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DeleteAccount)用于删除实例账号。 +func (c *Client) DeleteAccount(request *DeleteAccountRequest) (response *DeleteAccountResponse, err error) { + if request == nil { + request = NewDeleteAccountRequest() + } + response = NewDeleteAccountResponse() + err = c.Send(request, response) + return +} + +func NewDeleteDBRequest() (request *DeleteDBRequest) { + request = &DeleteDBRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DeleteDB") + return +} + +func NewDeleteDBResponse() (response *DeleteDBResponse) { + response = &DeleteDBResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DeleteDB)用于删除数据库。 +func (c *Client) DeleteDB(request *DeleteDBRequest) (response *DeleteDBResponse, err error) { + if request == nil { + request = NewDeleteDBRequest() + } + response = NewDeleteDBResponse() + err = c.Send(request, response) + return +} + +func NewDeleteMigrationRequest() (request *DeleteMigrationRequest) { + request = &DeleteMigrationRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DeleteMigration") + return +} + +func NewDeleteMigrationResponse() (response *DeleteMigrationResponse) { + response = &DeleteMigrationResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DeleteMigration)用于删除迁移任务 +func (c *Client) DeleteMigration(request *DeleteMigrationRequest) (response *DeleteMigrationResponse, err error) { + if request == nil { + request = NewDeleteMigrationRequest() + } + response = NewDeleteMigrationResponse() + err = c.Send(request, response) + return +} + +func NewDescribeAccountsRequest() (request *DescribeAccountsRequest) { + request = &DescribeAccountsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeAccounts") + return +} + +func NewDescribeAccountsResponse() (response *DescribeAccountsResponse) { + response = &DescribeAccountsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeAccounts)用于拉取实例账户列表。 +func (c *Client) DescribeAccounts(request *DescribeAccountsRequest) (response *DescribeAccountsResponse, err error) { + if request == nil { + request = NewDescribeAccountsRequest() + } + response = NewDescribeAccountsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeBackupsRequest() (request *DescribeBackupsRequest) { + request = &DescribeBackupsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeBackups") + return +} + +func NewDescribeBackupsResponse() (response *DescribeBackupsResponse) { + response = &DescribeBackupsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeBackups)用于查询备份列表。 +func (c *Client) DescribeBackups(request *DescribeBackupsRequest) (response *DescribeBackupsResponse, err error) { + if request == nil { + request = NewDescribeBackupsRequest() + } + response = NewDescribeBackupsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeDBInstancesRequest() (request *DescribeDBInstancesRequest) { + request = &DescribeDBInstancesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeDBInstances") + return +} + +func NewDescribeDBInstancesResponse() (response *DescribeDBInstancesResponse) { + response = &DescribeDBInstancesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeDBInstances)用于查询实例列表。 +func (c *Client) DescribeDBInstances(request *DescribeDBInstancesRequest) (response *DescribeDBInstancesResponse, err error) { + if request == nil { + request = NewDescribeDBInstancesRequest() + } + response = NewDescribeDBInstancesResponse() + err = c.Send(request, response) + return +} + +func NewDescribeDBsRequest() (request *DescribeDBsRequest) { + request = &DescribeDBsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeDBs") + return +} + +func NewDescribeDBsResponse() (response *DescribeDBsResponse) { + response = &DescribeDBsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeDBs)用于查询数据库列表。 +func (c *Client) DescribeDBs(request *DescribeDBsRequest) (response *DescribeDBsResponse, err error) { + if request == nil { + request = NewDescribeDBsRequest() + } + response = NewDescribeDBsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeFlowStatusRequest() (request *DescribeFlowStatusRequest) { + request = &DescribeFlowStatusRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeFlowStatus") + return +} + +func NewDescribeFlowStatusResponse() (response *DescribeFlowStatusResponse) { + response = &DescribeFlowStatusResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeFlowStatus)用于查询流程状态。 +func (c *Client) DescribeFlowStatus(request *DescribeFlowStatusRequest) (response *DescribeFlowStatusResponse, err error) { + if request == nil { + request = NewDescribeFlowStatusRequest() + } + response = NewDescribeFlowStatusResponse() + err = c.Send(request, response) + return +} + +func NewDescribeMigrationDetailRequest() (request *DescribeMigrationDetailRequest) { + request = &DescribeMigrationDetailRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeMigrationDetail") + return +} + +func NewDescribeMigrationDetailResponse() (response *DescribeMigrationDetailResponse) { + response = &DescribeMigrationDetailResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeMigrationDetail)用于查询迁移任务的详细情况 +func (c *Client) DescribeMigrationDetail(request *DescribeMigrationDetailRequest) (response *DescribeMigrationDetailResponse, err error) { + if request == nil { + request = NewDescribeMigrationDetailRequest() + } + response = NewDescribeMigrationDetailResponse() + err = c.Send(request, response) + return +} + +func NewDescribeMigrationsRequest() (request *DescribeMigrationsRequest) { + request = &DescribeMigrationsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeMigrations") + return +} + +func NewDescribeMigrationsResponse() (response *DescribeMigrationsResponse) { + response = &DescribeMigrationsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeMigrations)根据输入的限定条件,查询符合条件的迁移任务列表 +func (c *Client) DescribeMigrations(request *DescribeMigrationsRequest) (response *DescribeMigrationsResponse, err error) { + if request == nil { + request = NewDescribeMigrationsRequest() + } + response = NewDescribeMigrationsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeOrdersRequest() (request *DescribeOrdersRequest) { + request = &DescribeOrdersRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeOrders") + return +} + +func NewDescribeOrdersResponse() (response *DescribeOrdersResponse) { + response = &DescribeOrdersResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeOrders)用于查询订单信息 +func (c *Client) DescribeOrders(request *DescribeOrdersRequest) (response *DescribeOrdersResponse, err error) { + if request == nil { + request = NewDescribeOrdersRequest() + } + response = NewDescribeOrdersResponse() + err = c.Send(request, response) + return +} + +func NewDescribeProductConfigRequest() (request *DescribeProductConfigRequest) { + request = &DescribeProductConfigRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeProductConfig") + return +} + +func NewDescribeProductConfigResponse() (response *DescribeProductConfigResponse) { + response = &DescribeProductConfigResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口 (DescribeProductConfig) 用于查询售卖规格配置。 +func (c *Client) DescribeProductConfig(request *DescribeProductConfigRequest) (response *DescribeProductConfigResponse, err error) { + if request == nil { + request = NewDescribeProductConfigRequest() + } + response = NewDescribeProductConfigResponse() + err = c.Send(request, response) + return +} + +func NewDescribeRegionsRequest() (request *DescribeRegionsRequest) { + request = &DescribeRegionsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeRegions") + return +} + +func NewDescribeRegionsResponse() (response *DescribeRegionsResponse) { + response = &DescribeRegionsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口 (DescribeRegions) 用于查询售卖地域信息。 +func (c *Client) DescribeRegions(request *DescribeRegionsRequest) (response *DescribeRegionsResponse, err error) { + if request == nil { + request = NewDescribeRegionsRequest() + } + response = NewDescribeRegionsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeRollbackTimeRequest() (request *DescribeRollbackTimeRequest) { + request = &DescribeRollbackTimeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeRollbackTime") + return +} + +func NewDescribeRollbackTimeResponse() (response *DescribeRollbackTimeResponse) { + response = &DescribeRollbackTimeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeRollbackTime)用于查询实例可回档时间范围 +func (c *Client) DescribeRollbackTime(request *DescribeRollbackTimeRequest) (response *DescribeRollbackTimeResponse, err error) { + if request == nil { + request = NewDescribeRollbackTimeRequest() + } + response = NewDescribeRollbackTimeResponse() + err = c.Send(request, response) + return +} + +func NewDescribeSlowlogsRequest() (request *DescribeSlowlogsRequest) { + request = &DescribeSlowlogsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeSlowlogs") + return +} + +func NewDescribeSlowlogsResponse() (response *DescribeSlowlogsResponse) { + response = &DescribeSlowlogsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeSlowlogs)用于获取慢查询日志文件信息 +func (c *Client) DescribeSlowlogs(request *DescribeSlowlogsRequest) (response *DescribeSlowlogsResponse, err error) { + if request == nil { + request = NewDescribeSlowlogsRequest() + } + response = NewDescribeSlowlogsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeZonesRequest() (request *DescribeZonesRequest) { + request = &DescribeZonesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "DescribeZones") + return +} + +func NewDescribeZonesResponse() (response *DescribeZonesResponse) { + response = &DescribeZonesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口 (DescribeZones) 用于查询当前可售卖的可用区信息。 +func (c *Client) DescribeZones(request *DescribeZonesRequest) (response *DescribeZonesResponse, err error) { + if request == nil { + request = NewDescribeZonesRequest() + } + response = NewDescribeZonesResponse() + err = c.Send(request, response) + return +} + +func NewInquiryPriceCreateDBInstancesRequest() (request *InquiryPriceCreateDBInstancesRequest) { + request = &InquiryPriceCreateDBInstancesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "InquiryPriceCreateDBInstances") + return +} + +func NewInquiryPriceCreateDBInstancesResponse() (response *InquiryPriceCreateDBInstancesResponse) { + response = &InquiryPriceCreateDBInstancesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(InquiryPriceCreateDBInstances)用于查询申请实例价格。 +func (c *Client) InquiryPriceCreateDBInstances(request *InquiryPriceCreateDBInstancesRequest) (response *InquiryPriceCreateDBInstancesResponse, err error) { + if request == nil { + request = NewInquiryPriceCreateDBInstancesRequest() + } + response = NewInquiryPriceCreateDBInstancesResponse() + err = c.Send(request, response) + return +} + +func NewInquiryPriceRenewDBInstanceRequest() (request *InquiryPriceRenewDBInstanceRequest) { + request = &InquiryPriceRenewDBInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "InquiryPriceRenewDBInstance") + return +} + +func NewInquiryPriceRenewDBInstanceResponse() (response *InquiryPriceRenewDBInstanceResponse) { + response = &InquiryPriceRenewDBInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(InquiryPriceRenewDBInstance)用于查询续费实例的价格。 +func (c *Client) InquiryPriceRenewDBInstance(request *InquiryPriceRenewDBInstanceRequest) (response *InquiryPriceRenewDBInstanceResponse, err error) { + if request == nil { + request = NewInquiryPriceRenewDBInstanceRequest() + } + response = NewInquiryPriceRenewDBInstanceResponse() + err = c.Send(request, response) + return +} + +func NewInquiryPriceUpgradeDBInstanceRequest() (request *InquiryPriceUpgradeDBInstanceRequest) { + request = &InquiryPriceUpgradeDBInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "InquiryPriceUpgradeDBInstance") + return +} + +func NewInquiryPriceUpgradeDBInstanceResponse() (response *InquiryPriceUpgradeDBInstanceResponse) { + response = &InquiryPriceUpgradeDBInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(InquiryPriceUpgradeDBInstance)用于查询升级实例的价格。 +func (c *Client) InquiryPriceUpgradeDBInstance(request *InquiryPriceUpgradeDBInstanceRequest) (response *InquiryPriceUpgradeDBInstanceResponse, err error) { + if request == nil { + request = NewInquiryPriceUpgradeDBInstanceRequest() + } + response = NewInquiryPriceUpgradeDBInstanceResponse() + err = c.Send(request, response) + return +} + +func NewModifyAccountPrivilegeRequest() (request *ModifyAccountPrivilegeRequest) { + request = &ModifyAccountPrivilegeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "ModifyAccountPrivilege") + return +} + +func NewModifyAccountPrivilegeResponse() (response *ModifyAccountPrivilegeResponse) { + response = &ModifyAccountPrivilegeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyAccountPrivilege)用于修改实例账户权限。 +func (c *Client) ModifyAccountPrivilege(request *ModifyAccountPrivilegeRequest) (response *ModifyAccountPrivilegeResponse, err error) { + if request == nil { + request = NewModifyAccountPrivilegeRequest() + } + response = NewModifyAccountPrivilegeResponse() + err = c.Send(request, response) + return +} + +func NewModifyAccountRemarkRequest() (request *ModifyAccountRemarkRequest) { + request = &ModifyAccountRemarkRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "ModifyAccountRemark") + return +} + +func NewModifyAccountRemarkResponse() (response *ModifyAccountRemarkResponse) { + response = &ModifyAccountRemarkResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyAccountRemark)用于修改账户备注。 +func (c *Client) ModifyAccountRemark(request *ModifyAccountRemarkRequest) (response *ModifyAccountRemarkResponse, err error) { + if request == nil { + request = NewModifyAccountRemarkRequest() + } + response = NewModifyAccountRemarkResponse() + err = c.Send(request, response) + return +} + +func NewModifyDBInstanceNameRequest() (request *ModifyDBInstanceNameRequest) { + request = &ModifyDBInstanceNameRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "ModifyDBInstanceName") + return +} + +func NewModifyDBInstanceNameResponse() (response *ModifyDBInstanceNameResponse) { + response = &ModifyDBInstanceNameResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyDBInstanceName)用于修改实例名字。 +func (c *Client) ModifyDBInstanceName(request *ModifyDBInstanceNameRequest) (response *ModifyDBInstanceNameResponse, err error) { + if request == nil { + request = NewModifyDBInstanceNameRequest() + } + response = NewModifyDBInstanceNameResponse() + err = c.Send(request, response) + return +} + +func NewModifyDBInstanceProjectRequest() (request *ModifyDBInstanceProjectRequest) { + request = &ModifyDBInstanceProjectRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "ModifyDBInstanceProject") + return +} + +func NewModifyDBInstanceProjectResponse() (response *ModifyDBInstanceProjectResponse) { + response = &ModifyDBInstanceProjectResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyDBInstanceProject)用于修改数据库实例所属项目。 +func (c *Client) ModifyDBInstanceProject(request *ModifyDBInstanceProjectRequest) (response *ModifyDBInstanceProjectResponse, err error) { + if request == nil { + request = NewModifyDBInstanceProjectRequest() + } + response = NewModifyDBInstanceProjectResponse() + err = c.Send(request, response) + return +} + +func NewModifyDBInstanceRenewFlagRequest() (request *ModifyDBInstanceRenewFlagRequest) { + request = &ModifyDBInstanceRenewFlagRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "ModifyDBInstanceRenewFlag") + return +} + +func NewModifyDBInstanceRenewFlagResponse() (response *ModifyDBInstanceRenewFlagResponse) { + response = &ModifyDBInstanceRenewFlagResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyDBInstanceRenewFlag)用于修改实例续费标记 +func (c *Client) ModifyDBInstanceRenewFlag(request *ModifyDBInstanceRenewFlagRequest) (response *ModifyDBInstanceRenewFlagResponse, err error) { + if request == nil { + request = NewModifyDBInstanceRenewFlagRequest() + } + response = NewModifyDBInstanceRenewFlagResponse() + err = c.Send(request, response) + return +} + +func NewModifyDBNameRequest() (request *ModifyDBNameRequest) { + request = &ModifyDBNameRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "ModifyDBName") + return +} + +func NewModifyDBNameResponse() (response *ModifyDBNameResponse) { + response = &ModifyDBNameResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyDBName)用于更新数据库名。 +func (c *Client) ModifyDBName(request *ModifyDBNameRequest) (response *ModifyDBNameResponse, err error) { + if request == nil { + request = NewModifyDBNameRequest() + } + response = NewModifyDBNameResponse() + err = c.Send(request, response) + return +} + +func NewModifyDBRemarkRequest() (request *ModifyDBRemarkRequest) { + request = &ModifyDBRemarkRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "ModifyDBRemark") + return +} + +func NewModifyDBRemarkResponse() (response *ModifyDBRemarkResponse) { + response = &ModifyDBRemarkResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyDBRemark)用于修改数据库备注。 +func (c *Client) ModifyDBRemark(request *ModifyDBRemarkRequest) (response *ModifyDBRemarkResponse, err error) { + if request == nil { + request = NewModifyDBRemarkRequest() + } + response = NewModifyDBRemarkResponse() + err = c.Send(request, response) + return +} + +func NewModifyMigrationRequest() (request *ModifyMigrationRequest) { + request = &ModifyMigrationRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "ModifyMigration") + return +} + +func NewModifyMigrationResponse() (response *ModifyMigrationResponse) { + response = &ModifyMigrationResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyMigration)可以修改已有的迁移任务信息 +func (c *Client) ModifyMigration(request *ModifyMigrationRequest) (response *ModifyMigrationResponse, err error) { + if request == nil { + request = NewModifyMigrationRequest() + } + response = NewModifyMigrationResponse() + err = c.Send(request, response) + return +} + +func NewRenewDBInstanceRequest() (request *RenewDBInstanceRequest) { + request = &RenewDBInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "RenewDBInstance") + return +} + +func NewRenewDBInstanceResponse() (response *RenewDBInstanceResponse) { + response = &RenewDBInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(RenewDBInstance)用于续费实例。 +func (c *Client) RenewDBInstance(request *RenewDBInstanceRequest) (response *RenewDBInstanceResponse, err error) { + if request == nil { + request = NewRenewDBInstanceRequest() + } + response = NewRenewDBInstanceResponse() + err = c.Send(request, response) + return +} + +func NewResetAccountPasswordRequest() (request *ResetAccountPasswordRequest) { + request = &ResetAccountPasswordRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "ResetAccountPassword") + return +} + +func NewResetAccountPasswordResponse() (response *ResetAccountPasswordResponse) { + response = &ResetAccountPasswordResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ResetAccountPassword)用于重置实例的账户密码。 +func (c *Client) ResetAccountPassword(request *ResetAccountPasswordRequest) (response *ResetAccountPasswordResponse, err error) { + if request == nil { + request = NewResetAccountPasswordRequest() + } + response = NewResetAccountPasswordResponse() + err = c.Send(request, response) + return +} + +func NewRestartDBInstanceRequest() (request *RestartDBInstanceRequest) { + request = &RestartDBInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "RestartDBInstance") + return +} + +func NewRestartDBInstanceResponse() (response *RestartDBInstanceResponse) { + response = &RestartDBInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(RestartDBInstance)用于重启数据库实例。 +func (c *Client) RestartDBInstance(request *RestartDBInstanceRequest) (response *RestartDBInstanceResponse, err error) { + if request == nil { + request = NewRestartDBInstanceRequest() + } + response = NewRestartDBInstanceResponse() + err = c.Send(request, response) + return +} + +func NewRestoreInstanceRequest() (request *RestoreInstanceRequest) { + request = &RestoreInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "RestoreInstance") + return +} + +func NewRestoreInstanceResponse() (response *RestoreInstanceResponse) { + response = &RestoreInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(RestoreInstance)用于根据备份文件恢复实例。 +func (c *Client) RestoreInstance(request *RestoreInstanceRequest) (response *RestoreInstanceResponse, err error) { + if request == nil { + request = NewRestoreInstanceRequest() + } + response = NewRestoreInstanceResponse() + err = c.Send(request, response) + return +} + +func NewRollbackInstanceRequest() (request *RollbackInstanceRequest) { + request = &RollbackInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "RollbackInstance") + return +} + +func NewRollbackInstanceResponse() (response *RollbackInstanceResponse) { + response = &RollbackInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(RollbackInstance)用于回档实例 +func (c *Client) RollbackInstance(request *RollbackInstanceRequest) (response *RollbackInstanceResponse, err error) { + if request == nil { + request = NewRollbackInstanceRequest() + } + response = NewRollbackInstanceResponse() + err = c.Send(request, response) + return +} + +func NewRunMigrationRequest() (request *RunMigrationRequest) { + request = &RunMigrationRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "RunMigration") + return +} + +func NewRunMigrationResponse() (response *RunMigrationResponse) { + response = &RunMigrationResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(RunMigration)用于启动迁移任务,开始迁移 +func (c *Client) RunMigration(request *RunMigrationRequest) (response *RunMigrationResponse, err error) { + if request == nil { + request = NewRunMigrationRequest() + } + response = NewRunMigrationResponse() + err = c.Send(request, response) + return +} + +func NewTerminateDBInstanceRequest() (request *TerminateDBInstanceRequest) { + request = &TerminateDBInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "TerminateDBInstance") + return +} + +func NewTerminateDBInstanceResponse() (response *TerminateDBInstanceResponse) { + response = &TerminateDBInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(TerminateDBInstance)用于主动销毁按量计费实例。 +func (c *Client) TerminateDBInstance(request *TerminateDBInstanceRequest) (response *TerminateDBInstanceResponse, err error) { + if request == nil { + request = NewTerminateDBInstanceRequest() + } + response = NewTerminateDBInstanceResponse() + err = c.Send(request, response) + return +} + +func NewUpgradeDBInstanceRequest() (request *UpgradeDBInstanceRequest) { + request = &UpgradeDBInstanceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("sqlserver", APIVersion, "UpgradeDBInstance") + return +} + +func NewUpgradeDBInstanceResponse() (response *UpgradeDBInstanceResponse) { + response = &UpgradeDBInstanceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(UpgradeDBInstance)用于升级实例 +func (c *Client) UpgradeDBInstance(request *UpgradeDBInstanceRequest) (response *UpgradeDBInstanceResponse, err error) { + if request == nil { + request = NewUpgradeDBInstanceRequest() + } + response = NewUpgradeDBInstanceResponse() + err = c.Send(request, response) + return +} diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328/models.go new file mode 100644 index 0000000000..b2deecd6d0 --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328/models.go @@ -0,0 +1,2367 @@ +// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package v20180328 + +import ( + "encoding/json" + + tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http" +) + +type AccountCreateInfo struct { + + // 实例用户名 + UserName *string `json:"UserName,omitempty" name:"UserName"` + + // 实例密码 + Password *string `json:"Password,omitempty" name:"Password"` + + // DB权限列表 + DBPrivileges []*DBPrivilege `json:"DBPrivileges,omitempty" name:"DBPrivileges" list` + + // 账号备注信息 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 是否为管理员账户,默认为否 + IsAdmin *bool `json:"IsAdmin,omitempty" name:"IsAdmin"` +} + +type AccountDetail struct { + + // 账户名 + Name *string `json:"Name,omitempty" name:"Name"` + + // 账户备注 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 账户创建时间 + CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` + + // 账户状态,1-创建中,2-正常,3-修改中,4-密码重置中,-1-删除中 + Status *int64 `json:"Status,omitempty" name:"Status"` + + // 账户更新时间 + UpdateTime *string `json:"UpdateTime,omitempty" name:"UpdateTime"` + + // 密码更新时间 + PassTime *string `json:"PassTime,omitempty" name:"PassTime"` + + // 账户内部状态,正常为enable + InternalStatus *string `json:"InternalStatus,omitempty" name:"InternalStatus"` + + // 该账户对相关db的读写权限信息 + Dbs []*DBPrivilege `json:"Dbs,omitempty" name:"Dbs" list` +} + +type AccountPassword struct { + + // 用户名 + UserName *string `json:"UserName,omitempty" name:"UserName"` + + // 密码 + Password *string `json:"Password,omitempty" name:"Password"` +} + +type AccountPrivilege struct { + + // 数据库用户名 + UserName *string `json:"UserName,omitempty" name:"UserName"` + + // 数据库权限。ReadWrite表示可读写,ReadOnly表示只读 + Privilege *string `json:"Privilege,omitempty" name:"Privilege"` +} + +type AccountPrivilegeModifyInfo struct { + + // 数据库用户名 + UserName *string `json:"UserName,omitempty" name:"UserName"` + + // 账号权限变更信息 + DBPrivileges []*DBPrivilegeModifyInfo `json:"DBPrivileges,omitempty" name:"DBPrivileges" list` +} + +type AccountRemark struct { + + // 账户名 + UserName *string `json:"UserName,omitempty" name:"UserName"` + + // 对应账户新的备注信息 + Remark *string `json:"Remark,omitempty" name:"Remark"` +} + +type Backup struct { + + // 文件名 + FileName *string `json:"FileName,omitempty" name:"FileName"` + + // 文件大小,单位 KB + Size *int64 `json:"Size,omitempty" name:"Size"` + + // 备份开始时间 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 备份结束时间 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 内网下载地址 + InternalAddr *string `json:"InternalAddr,omitempty" name:"InternalAddr"` + + // 外网下载地址 + ExternalAddr *string `json:"ExternalAddr,omitempty" name:"ExternalAddr"` + + // 备份文件唯一标识,RestoreInstance接口会用到该字段 + Id *uint64 `json:"Id,omitempty" name:"Id"` + + // 备份文件状态(0-创建中;1-成功;2-失败) + Status *uint64 `json:"Status,omitempty" name:"Status"` + + // 多库备份时的DB列表 + DBs []*string `json:"DBs,omitempty" name:"DBs" list` + + // 备份策略(0-实例备份;1-多库备份) + Strategy *int64 `json:"Strategy,omitempty" name:"Strategy"` + + // 备份方式,0-定时备份;1-手动临时备份 + BackupWay *int64 `json:"BackupWay,omitempty" name:"BackupWay"` +} + +type CreateAccountRequest struct { + *tchttp.BaseRequest + + // 数据库实例ID,形如mssql-njj2mtpl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 数据库实例账户信息 + Accounts []*AccountCreateInfo `json:"Accounts,omitempty" name:"Accounts" list` +} + +func (r *CreateAccountRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateAccountRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateAccountResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 任务流ID + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateAccountResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateAccountResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateBackupRequest struct { + *tchttp.BaseRequest + + // 备份策略(0-实例备份 1-多库备份) + Strategy *int64 `json:"Strategy,omitempty" name:"Strategy"` + + // 需要备份库名的列表(多库备份才填写) + DBNames []*string `json:"DBNames,omitempty" name:"DBNames" list` + + // 实例ID,形如mssql-i1z41iwd + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +func (r *CreateBackupRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateBackupRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateBackupResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 异步任务ID + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateBackupResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateBackupResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateDBInstancesRequest struct { + *tchttp.BaseRequest + + // 实例可用区,类似ap-guangzhou-1(广州一区);实例可售卖区域可以通过接口DescribeZones获取 + Zone *string `json:"Zone,omitempty" name:"Zone"` + + // 实例内存大小,单位GB + Memory *int64 `json:"Memory,omitempty" name:"Memory"` + + // 实例磁盘大小,单位GB + Storage *int64 `json:"Storage,omitempty" name:"Storage"` + + // 付费模式,取值支持 PREPAID(预付费),POSTPAID(后付费)。 + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` + + // 项目ID + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` + + // 本次购买几个实例,默认值为1。取值不超过10 + GoodsNum *int64 `json:"GoodsNum,omitempty" name:"GoodsNum"` + + // VPC子网ID,形如subnet-bdoe83fa;SubnetId和VpcId需同时设置或者同时不设置 + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` + + // VPC网络ID,形如vpc-dsp338hz;SubnetId和VpcId需同时设置或者同时不设置 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 购买实例周期,默认取值为1,表示一个月。取值不超过48 + Period *int64 `json:"Period,omitempty" name:"Period"` + + // 是否自动使用代金券;1 - 是,0 - 否,默认不使用 + AutoVoucher *int64 `json:"AutoVoucher,omitempty" name:"AutoVoucher"` + + // 代金券ID数组,目前单个订单只能使用一张 + VoucherIds []*string `json:"VoucherIds,omitempty" name:"VoucherIds" list` + + // sqlserver版本,目前只支持:2008R2(SQL Server 2008 Enterprise),2012SP3(SQL Server 2012 Enterprise),2016SP1(SQL Server 2016 Enterprise),201602(SQL Server 2016 Standard)2017(SQL Server 2017 Enterprise)版本。每个地域支持售卖的版本不同,可通过DescribeProductConfig接口来拉取每个地域可售卖的版本信息。不填,默认为版本2008R2。 + DBVersion *string `json:"DBVersion,omitempty" name:"DBVersion"` + + // 自动续费标志:0-正常续费 1-自动续费,默认为1自动续费。只在购买预付费实例时有效。 + AutoRenewFlag *int64 `json:"AutoRenewFlag,omitempty" name:"AutoRenewFlag"` +} + +func (r *CreateDBInstancesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateDBInstancesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateDBInstancesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 订单名称 + DealName *string `json:"DealName,omitempty" name:"DealName"` + + // 订单名称数组 + DealNames []*string `json:"DealNames,omitempty" name:"DealNames" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateDBInstancesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateDBInstancesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateDBRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 数据库创建信息 + DBs []*DBCreateInfo `json:"DBs,omitempty" name:"DBs" list` +} + +func (r *CreateDBRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateDBRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateDBResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 任务流ID + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateDBResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateDBResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateMigrationRequest struct { + *tchttp.BaseRequest + + // 迁移任务的名称 + MigrateName *string `json:"MigrateName,omitempty" name:"MigrateName"` + + // 迁移类型(1:结构迁移 2:数据迁移 3:增量同步) + MigrateType *uint64 `json:"MigrateType,omitempty" name:"MigrateType"` + + // 迁移源的类型 1:TencentDB for SQLServer 2:云服务器自建SQLServer数据库 4:SQLServer备份还原 5:SQLServer备份还原(COS方式) + SourceType *uint64 `json:"SourceType,omitempty" name:"SourceType"` + + // 迁移源 + Source *MigrateSource `json:"Source,omitempty" name:"Source"` + + // 迁移目标 + Target *MigrateTarget `json:"Target,omitempty" name:"Target"` + + // 迁移DB对象 ,离线迁移不使用(SourceType=4或SourceType=5)。 + MigrateDBSet []*MigrateDB `json:"MigrateDBSet,omitempty" name:"MigrateDBSet" list` +} + +func (r *CreateMigrationRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateMigrationRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateMigrationResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 迁移任务ID + MigrateId *int64 `json:"MigrateId,omitempty" name:"MigrateId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateMigrationResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateMigrationResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DBCreateInfo struct { + + // 数据库名 + DBName *string `json:"DBName,omitempty" name:"DBName"` + + // 字符集。可选值包括:Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, Chinese_PRC_BIN, Chinese_Taiwan_Stroke_CI_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS。不填默认为Chinese_PRC_CI_AS + Charset *string `json:"Charset,omitempty" name:"Charset"` + + // 数据库账号权限信息 + Accounts []*AccountPrivilege `json:"Accounts,omitempty" name:"Accounts" list` + + // 备注 + Remark *string `json:"Remark,omitempty" name:"Remark"` +} + +type DBDetail struct { + + // 数据库名称 + Name *string `json:"Name,omitempty" name:"Name"` + + // 字符集 + Charset *string `json:"Charset,omitempty" name:"Charset"` + + // 备注 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 数据库创建时间 + CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` + + // 数据库状态。1--创建中, 2--运行中, 3--修改中,-1--删除中 + Status *int64 `json:"Status,omitempty" name:"Status"` + + // 数据库账号权限信息 + Accounts []*AccountPrivilege `json:"Accounts,omitempty" name:"Accounts" list` + + // 内部状态。ONLINE表示运行中 + InternalStatus *string `json:"InternalStatus,omitempty" name:"InternalStatus"` +} + +type DBInstance struct { + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 实例名称 + Name *string `json:"Name,omitempty" name:"Name"` + + // 实例所在项目ID + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` + + // 实例所在地域ID + RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"` + + // 实例所在可用区ID + ZoneId *int64 `json:"ZoneId,omitempty" name:"ZoneId"` + + // 实例所在私有网络ID,基础网络时为 0 + VpcId *int64 `json:"VpcId,omitempty" name:"VpcId"` + + // 实例所在私有网络子网ID,基础网络时为 0 + SubnetId *int64 `json:"SubnetId,omitempty" name:"SubnetId"` + + // 实例状态。取值范围:
  • 1:申请中
  • 2:运行中
  • 3:受限运行中 (主备切换中)
  • 4:已隔离
  • 5:回收中
  • 6:已回收
  • 7:任务执行中 (实例做备份、回档等操作)
  • 8:已下线
  • 9:实例扩容中
  • 10:实例迁移中
  • 11:只读
  • 12:重启中
  • + Status *int64 `json:"Status,omitempty" name:"Status"` + + // 实例访问IP + Vip *string `json:"Vip,omitempty" name:"Vip"` + + // 实例访问端口 + Vport *int64 `json:"Vport,omitempty" name:"Vport"` + + // 实例创建时间 + CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` + + // 实例更新时间 + UpdateTime *string `json:"UpdateTime,omitempty" name:"UpdateTime"` + + // 实例计费开始时间 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 实例计费结束时间 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 实例隔离时间 + IsolateTime *string `json:"IsolateTime,omitempty" name:"IsolateTime"` + + // 实例内存大小,单位G + Memory *int64 `json:"Memory,omitempty" name:"Memory"` + + // 实例已经使用存储空间大小,单位G + UsedStorage *int64 `json:"UsedStorage,omitempty" name:"UsedStorage"` + + // 实例存储空间大小,单位G + Storage *int64 `json:"Storage,omitempty" name:"Storage"` + + // 实例版本 + VersionName *string `json:"VersionName,omitempty" name:"VersionName"` + + // 实例续费标记,0-正常续费,1-自动续费,2-到期不续费 + RenewFlag *int64 `json:"RenewFlag,omitempty" name:"RenewFlag"` + + // 实例高可用, 1-双机高可用,2-单机 + Model *int64 `json:"Model,omitempty" name:"Model"` + + // 实例所在地域名称,如 ap-guangzhou + Region *string `json:"Region,omitempty" name:"Region"` + + // 实例所在可用区名称,如 ap-guangzhou-1 + Zone *string `json:"Zone,omitempty" name:"Zone"` + + // 备份时间点 + BackupTime *string `json:"BackupTime,omitempty" name:"BackupTime"` + + // 实例付费模式, 0-按量计费,1-包年包月 + PayMode *int64 `json:"PayMode,omitempty" name:"PayMode"` + + // 实例唯一UID + Uid *string `json:"Uid,omitempty" name:"Uid"` + + // 实例cpu核心数 + Cpu *int64 `json:"Cpu,omitempty" name:"Cpu"` + + // 实例版本代号 + Version *string `json:"Version,omitempty" name:"Version"` + + // 物理机代号 + Type *string `json:"Type,omitempty" name:"Type"` + + // 计费ID + Pid *int64 `json:"Pid,omitempty" name:"Pid"` + + // 实例所属VPC的唯一字符串ID,格式如:vpc-xxx,基础网络时为空字符串 + UniqVpcId *string `json:"UniqVpcId,omitempty" name:"UniqVpcId"` + + // 实例所属子网的唯一字符串ID,格式如: subnet-xxx,基础网络时为空字符串 + UniqSubnetId *string `json:"UniqSubnetId,omitempty" name:"UniqSubnetId"` +} + +type DBPrivilege struct { + + // 数据库名 + DBName *string `json:"DBName,omitempty" name:"DBName"` + + // 数据库权限,ReadWrite表示可读写,ReadOnly表示只读 + Privilege *string `json:"Privilege,omitempty" name:"Privilege"` +} + +type DBPrivilegeModifyInfo struct { + + // 数据库名 + DBName *string `json:"DBName,omitempty" name:"DBName"` + + // 权限变更信息。ReadWrite表示可读写,ReadOnly表示只读,Delete表示删除账号对该DB的权限 + Privilege *string `json:"Privilege,omitempty" name:"Privilege"` +} + +type DBRemark struct { + + // 数据库名称 + Name *string `json:"Name,omitempty" name:"Name"` + + // 备注信息 + Remark *string `json:"Remark,omitempty" name:"Remark"` +} + +type DbRollbackTimeInfo struct { + + // 数据库名称 + DBName *string `json:"DBName,omitempty" name:"DBName"` + + // 可回档开始时间 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 可回档结束时间 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` +} + +type DealInfo struct { + + // 订单名 + DealName *string `json:"DealName,omitempty" name:"DealName"` + + // 商品数量 + Count *uint64 `json:"Count,omitempty" name:"Count"` + + // 关联的流程 ID,可用于查询流程执行状态 + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 只有创建实例的订单会填充该字段,表示该订单创建的实例的 ID。 + InstanceIdSet []*string `json:"InstanceIdSet,omitempty" name:"InstanceIdSet" list` + + // 所属账号 + OwnerUin *string `json:"OwnerUin,omitempty" name:"OwnerUin"` + + // 实例付费类型 + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` +} + +type DeleteAccountRequest struct { + *tchttp.BaseRequest + + // 数据库实例ID,形如mssql-njj2mtpl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 实例用户名数组 + UserNames []*string `json:"UserNames,omitempty" name:"UserNames" list` +} + +func (r *DeleteAccountRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteAccountRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteAccountResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 任务流ID + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteAccountResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteAccountResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteDBRequest struct { + *tchttp.BaseRequest + + // 实例ID,形如mssql-rljoi3bf + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 数据库名数组 + Names []*string `json:"Names,omitempty" name:"Names" list` +} + +func (r *DeleteDBRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteDBRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteDBResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 任务流ID + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteDBResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteDBResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteMigrationRequest struct { + *tchttp.BaseRequest + + // 迁移任务ID + MigrateId *uint64 `json:"MigrateId,omitempty" name:"MigrateId"` +} + +func (r *DeleteMigrationRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteMigrationRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteMigrationResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteMigrationResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteMigrationResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeAccountsRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 分页返回,每页返回的数目,取值为1-100,默认值为20 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` + + // 分页返回,页编号,默认值为第0页 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` +} + +func (r *DescribeAccountsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeAccountsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeAccountsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 账户信息列表 + Accounts []*AccountDetail `json:"Accounts,omitempty" name:"Accounts" list` + + // 总数 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeAccountsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeAccountsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeBackupsRequest struct { + *tchttp.BaseRequest + + // 开始时间(yyyy-MM-dd HH:mm:ss) + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 结束时间(yyyy-MM-dd HH:mm:ss) + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 实例ID,形如mssql-njj2mtpl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 分页返回,每页返回的数目,取值为1-100,默认值为20 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` + + // 分页返回,页编号,默认值为第0页 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` +} + +func (r *DescribeBackupsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeBackupsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeBackupsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 备份总数量 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 备份列表详情 + Backups []*Backup `json:"Backups,omitempty" name:"Backups" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeBackupsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeBackupsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDBInstancesRequest struct { + *tchttp.BaseRequest + + // 项目ID + ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"` + + // 实例状态。取值范围: + //
  • 1:申请中
  • + //
  • 2:运行中
  • + //
  • 3:受限运行中 (主备切换中)
  • + //
  • 4:已隔离
  • + //
  • 5:回收中
  • + //
  • 6:已回收
  • + //
  • 7:任务执行中 (实例做备份、回档等操作)
  • + //
  • 8:已下线
  • + //
  • 9:实例扩容中
  • + //
  • 10:实例迁移中
  • + //
  • 11:只读
  • + //
  • 12:重启中
  • + Status *int64 `json:"Status,omitempty" name:"Status"` + + // 分页返回,页编号,默认值为第0页 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 分页返回,每页返回的数目,取值为1-100,默认值为100 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` + + // 一个或者多个实例ID。实例ID,格式如:mssql-si2823jyl + InstanceIdSet []*string `json:"InstanceIdSet,omitempty" name:"InstanceIdSet" list` + + // 付费类型检索 1-包年包月,0-按量计费 + PayMode *int64 `json:"PayMode,omitempty" name:"PayMode"` + + // 实例所属VPC的唯一字符串ID,格式如:vpc-xxx,传空字符串(“”)则按照基础网络筛选。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 实例所属子网的唯一字符串ID,格式如: subnet-xxx,传空字符串(“”)则按照基础网络筛选。 + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` +} + +func (r *DescribeDBInstancesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeDBInstancesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDBInstancesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 符合条件的实例总数。分页返回的话,这个值指的是所有符合条件的实例的个数,而非当前根据Limit和Offset值返回的实例个数 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 实例列表 + DBInstances []*DBInstance `json:"DBInstances,omitempty" name:"DBInstances" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeDBInstancesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeDBInstancesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDBsRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceIdSet []*string `json:"InstanceIdSet,omitempty" name:"InstanceIdSet" list` + + // 分页返回,每页返回的数目,取值为1-100,默认值为20 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` + + // 分页返回,页编号,默认值为第0页 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` +} + +func (r *DescribeDBsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeDBsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDBsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 数据库数量 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 实例数据库列表 + DBInstances []*InstanceDBDetail `json:"DBInstances,omitempty" name:"DBInstances" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeDBsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeDBsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeFlowStatusRequest struct { + *tchttp.BaseRequest + + // 流程ID + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` +} + +func (r *DescribeFlowStatusRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeFlowStatusRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeFlowStatusResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 流程状态,0:成功,1:失败,2:运行中 + Status *int64 `json:"Status,omitempty" name:"Status"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeFlowStatusResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeFlowStatusResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeMigrationDetailRequest struct { + *tchttp.BaseRequest + + // 迁移任务ID + MigrateId *uint64 `json:"MigrateId,omitempty" name:"MigrateId"` +} + +func (r *DescribeMigrationDetailRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeMigrationDetailRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeMigrationDetailResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 迁移任务ID + MigrateId *uint64 `json:"MigrateId,omitempty" name:"MigrateId"` + + // 迁移任务名称 + MigrateName *string `json:"MigrateName,omitempty" name:"MigrateName"` + + // 迁移任务所属的用户ID + AppId *uint64 `json:"AppId,omitempty" name:"AppId"` + + // 迁移任务所属的地域 + Region *string `json:"Region,omitempty" name:"Region"` + + // 迁移源的类型 1:TencentDB for SQLServer 2:云服务器自建SQLServer数据库 4:SQLServer备份还原 5:SQLServer备份还原(COS方式) + SourceType *int64 `json:"SourceType,omitempty" name:"SourceType"` + + // 迁移任务的创建时间 + CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` + + // 迁移任务的开始时间 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 迁移任务的结束时间 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 迁移任务的状态(1:初始化,4:迁移中,5.迁移失败,6.迁移成功) + Status *uint64 `json:"Status,omitempty" name:"Status"` + + // 迁移任务当前进度 + Progress *int64 `json:"Progress,omitempty" name:"Progress"` + + // 迁移类型(1:结构迁移 2:数据迁移 3:增量同步) + MigrateType *int64 `json:"MigrateType,omitempty" name:"MigrateType"` + + // 迁移源 + Source *MigrateSource `json:"Source,omitempty" name:"Source"` + + // 迁移目标 + Target *MigrateTarget `json:"Target,omitempty" name:"Target"` + + // 迁移DB对象 ,离线迁移(SourceType=4或SourceType=5)不使用。 + MigrateDBSet []*MigrateDB `json:"MigrateDBSet,omitempty" name:"MigrateDBSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeMigrationDetailResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeMigrationDetailResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeMigrationsRequest struct { + *tchttp.BaseRequest + + // 状态集合。只要符合集合中某一状态的迁移任务,就会查出来 + StatusSet []*int64 `json:"StatusSet,omitempty" name:"StatusSet" list` + + // 迁移任务的名称,模糊匹配 + MigrateName *string `json:"MigrateName,omitempty" name:"MigrateName"` + + // 分页返回,每页返回的数目,取值为1-100,默认值为100 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` + + // 分页返回,页编号,默认值为第0页 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 查询结果按照关键字排序,可选值为name、createTime、startTime,endTime,status + OrderBy *string `json:"OrderBy,omitempty" name:"OrderBy"` + + // 排序方式,可选值为desc、asc + OrderByType *string `json:"OrderByType,omitempty" name:"OrderByType"` +} + +func (r *DescribeMigrationsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeMigrationsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeMigrationsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 查询结果的总数 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 查询结果的列表 + MigrateTaskSet []*MigrateTask `json:"MigrateTaskSet,omitempty" name:"MigrateTaskSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeMigrationsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeMigrationsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeOrdersRequest struct { + *tchttp.BaseRequest + + // 订单数组。发货时会返回订单名字,利用该订单名字调用DescribeOrders接口查询发货情况 + DealNames []*string `json:"DealNames,omitempty" name:"DealNames" list` +} + +func (r *DescribeOrdersRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeOrdersRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeOrdersResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 订单信息数组 + Deals []*DealInfo `json:"Deals,omitempty" name:"Deals" list` + + // 返回多少个订单的信息 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeOrdersResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeOrdersResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeProductConfigRequest struct { + *tchttp.BaseRequest + + // 可用区英文ID,形如ap-guangzhou-1 + Zone *string `json:"Zone,omitempty" name:"Zone"` +} + +func (r *DescribeProductConfigRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeProductConfigRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeProductConfigResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 规格信息数组 + SpecInfoList []*SpecInfo `json:"SpecInfoList,omitempty" name:"SpecInfoList" list` + + // 返回总共多少条数据 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeProductConfigResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeProductConfigResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRegionsRequest struct { + *tchttp.BaseRequest +} + +func (r *DescribeRegionsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeRegionsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRegionsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 返回地域信息总的条目 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 地域信息数组 + RegionSet []*RegionInfo `json:"RegionSet,omitempty" name:"RegionSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeRegionsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeRegionsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRollbackTimeRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 需要查询的数据库列表 + DBs []*string `json:"DBs,omitempty" name:"DBs" list` +} + +func (r *DescribeRollbackTimeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeRollbackTimeRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRollbackTimeResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 数据库可回档实例信息 + Details []*DbRollbackTimeInfo `json:"Details,omitempty" name:"Details" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeRollbackTimeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeRollbackTimeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeSlowlogsRequest struct { + *tchttp.BaseRequest + + // 实例ID,形如mssql-k8voqdlz + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 查询开始时间 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 查询结束时间 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 分页返回,每页返回的数目,取值为1-100,默认值为20 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` + + // 分页返回,页编号,默认值为第0页 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` +} + +func (r *DescribeSlowlogsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeSlowlogsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeSlowlogsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 查询总数 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 慢查询日志信息列表 + Slowlogs []*SlowlogInfo `json:"Slowlogs,omitempty" name:"Slowlogs" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeSlowlogsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeSlowlogsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeZonesRequest struct { + *tchttp.BaseRequest +} + +func (r *DescribeZonesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeZonesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeZonesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 返回多少个可用区信息 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 可用区数组 + ZoneSet []*ZoneInfo `json:"ZoneSet,omitempty" name:"ZoneSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeZonesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeZonesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type InquiryPriceCreateDBInstancesRequest struct { + *tchttp.BaseRequest + + // 可用区ID。该参数可以通过调用 DescribeZones 接口的返回值中的Zone字段来获取。 + Zone *string `json:"Zone,omitempty" name:"Zone"` + + // 内存大小,单位:GB + Memory *int64 `json:"Memory,omitempty" name:"Memory"` + + // 实例容量大小,单位:GB。 + Storage *int64 `json:"Storage,omitempty" name:"Storage"` + + // 计费类型,取值支持 PREPAID,POSTPAID。 + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` + + // 购买时长,单位:月。取值为1到48,默认为1 + Period *int64 `json:"Period,omitempty" name:"Period"` + + // 一次性购买的实例数量。取值1-100,默认取值为1 + GoodsNum *int64 `json:"GoodsNum,omitempty" name:"GoodsNum"` + + // sqlserver版本,目前只支持:2008R2(SQL Server 2008 Enterprise),2012SP3(SQL Server 2012 Enterprise),2016SP1(SQL Server 2016 Enterprise),201602(SQL Server 2016 Standard)2017(SQL Server 2017 Enterprise)版本。默认为2008R2版本 + DBVersion *string `json:"DBVersion,omitempty" name:"DBVersion"` +} + +func (r *InquiryPriceCreateDBInstancesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *InquiryPriceCreateDBInstancesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type InquiryPriceCreateDBInstancesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 未打折前价格,其值除以100表示多少钱。例如10010表示100.10元 + OriginalPrice *int64 `json:"OriginalPrice,omitempty" name:"OriginalPrice"` + + // 实际需要支付的价格,其值除以100表示多少钱。例如10010表示100.10元 + Price *int64 `json:"Price,omitempty" name:"Price"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *InquiryPriceCreateDBInstancesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *InquiryPriceCreateDBInstancesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type InquiryPriceRenewDBInstanceRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 续费周期。按月续费最多48个月。默认查询续费一个月的价格 + Period *uint64 `json:"Period,omitempty" name:"Period"` + + // 续费周期单位。month表示按月续费,当前只支持按月付费查询价格 + TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"` +} + +func (r *InquiryPriceRenewDBInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *InquiryPriceRenewDBInstanceRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type InquiryPriceRenewDBInstanceResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 未打折的原价,其值除以100表示最终的价格。例如10094表示100.94元 + OriginalPrice *uint64 `json:"OriginalPrice,omitempty" name:"OriginalPrice"` + + // 实际需要支付价格,其值除以100表示最终的价格。例如10094表示100.94元 + Price *uint64 `json:"Price,omitempty" name:"Price"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *InquiryPriceRenewDBInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *InquiryPriceRenewDBInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type InquiryPriceUpgradeDBInstanceRequest struct { + *tchttp.BaseRequest + + // 实例ID,形如mssql-njj2mtpl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 实例升级后的内存大小,单位GB,其值不能比当前实例内存小 + Memory *int64 `json:"Memory,omitempty" name:"Memory"` + + // 实例升级后的磁盘大小,单位GB,其值不能比当前实例磁盘小 + Storage *int64 `json:"Storage,omitempty" name:"Storage"` +} + +func (r *InquiryPriceUpgradeDBInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *InquiryPriceUpgradeDBInstanceRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type InquiryPriceUpgradeDBInstanceResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 未打折的原价,其值除以100表示最终的价格。例如10094表示100.94元 + OriginalPrice *int64 `json:"OriginalPrice,omitempty" name:"OriginalPrice"` + + // 实际需要支付价格,其值除以100表示最终的价格。例如10094表示100.94元 + Price *int64 `json:"Price,omitempty" name:"Price"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *InquiryPriceUpgradeDBInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *InquiryPriceUpgradeDBInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type InstanceDBDetail struct { + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 数据库信息列表 + DBDetails []*DBDetail `json:"DBDetails,omitempty" name:"DBDetails" list` +} + +type InstanceRenewInfo struct { + + // 实例ID,形如mssql-j8kv137v + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 实例续费标记。0:正常续费,1:自动续费,2:到期不续 + RenewFlag *int64 `json:"RenewFlag,omitempty" name:"RenewFlag"` +} + +type MigrateDB struct { + + // 迁移数据库的名称 + DBName *string `json:"DBName,omitempty" name:"DBName"` +} + +type MigrateDetail struct { + + // 当前环节的名称 + StepName *string `json:"StepName,omitempty" name:"StepName"` + + // 当前环节的进度(单位是%) + Progress *int64 `json:"Progress,omitempty" name:"Progress"` +} + +type MigrateSource struct { + + // 迁移源实例的ID,MigrateType=1(TencentDB for SQLServers)时使用,格式如:mssql-si2823jyl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 迁移源Cvm的ID,MigrateType=2(云服务器自建SQLServer数据库)时使用 + CvmId *string `json:"CvmId,omitempty" name:"CvmId"` + + // 迁移源Cvm的Vpc网络标识,MigrateType=2(云服务器自建SQLServer数据库)时使用,格式如:vpc-6ys9ont9 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 迁移源Cvm的Vpc下的子网标识,MigrateType=2(云服务器自建SQLServer数据库)时使用,格式如:subnet-h9extioi + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` + + // 用户名,MigrateType=1或MigrateType=2使用 + UserName *string `json:"UserName,omitempty" name:"UserName"` + + // 密码,MigrateType=1或MigrateType=2使用 + Password *string `json:"Password,omitempty" name:"Password"` + + // 迁移源Cvm自建库的内网IP,MigrateType=2(云服务器自建SQLServer数据库)时使用 + Ip *string `json:"Ip,omitempty" name:"Ip"` + + // 迁移源Cvm自建库的端口号,MigrateType=2(云服务器自建SQLServer数据库)时使用 + Port *uint64 `json:"Port,omitempty" name:"Port"` + + // 离线迁移的源备份地址,MigrateType=4或MigrateType=5使用 + Url []*string `json:"Url,omitempty" name:"Url" list` + + // 离线迁移的源备份密码,MigrateType=4或MigrateType=5使用 + UrlPassword *string `json:"UrlPassword,omitempty" name:"UrlPassword"` +} + +type MigrateTarget struct { + + // 迁移目标实例的ID,格式如:mssql-si2823jyl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 迁移目标实例的用户名 + UserName *string `json:"UserName,omitempty" name:"UserName"` + + // 迁移目标实例的密码 + Password *string `json:"Password,omitempty" name:"Password"` +} + +type MigrateTask struct { + + // 迁移任务ID + MigrateId *uint64 `json:"MigrateId,omitempty" name:"MigrateId"` + + // 迁移任务名称 + MigrateName *string `json:"MigrateName,omitempty" name:"MigrateName"` + + // 迁移任务所属的用户ID + AppId *uint64 `json:"AppId,omitempty" name:"AppId"` + + // 迁移任务所属的地域 + Region *string `json:"Region,omitempty" name:"Region"` + + // 迁移源的类型 1:TencentDB for SQLServer 2:云服务器自建SQLServer数据库 4:SQLServer备份还原 5:SQLServer备份还原(COS方式) + SourceType *int64 `json:"SourceType,omitempty" name:"SourceType"` + + // 迁移任务的创建时间 + CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` + + // 迁移任务的开始时间 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 迁移任务的结束时间 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 迁移任务的状态(1:初始化,4:迁移中,5.迁移失败,6.迁移成功) + Status *uint64 `json:"Status,omitempty" name:"Status"` + + // 信息 + Message *string `json:"Message,omitempty" name:"Message"` + + // 是否迁移任务经过检查(0:未校验,1:校验成功,2:校验失败,3:校验中) + CheckFlag *uint64 `json:"CheckFlag,omitempty" name:"CheckFlag"` + + // 迁移任务当前进度(单位%) + Progress *int64 `json:"Progress,omitempty" name:"Progress"` + + // 迁移任务进度细节 + MigrateDetail *MigrateDetail `json:"MigrateDetail,omitempty" name:"MigrateDetail"` +} + +type ModifyAccountPrivilegeRequest struct { + *tchttp.BaseRequest + + // 数据库实例ID,形如mssql-njj2mtpl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 账号权限变更信息 + Accounts []*AccountPrivilegeModifyInfo `json:"Accounts,omitempty" name:"Accounts" list` +} + +func (r *ModifyAccountPrivilegeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyAccountPrivilegeRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyAccountPrivilegeResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 异步任务流程ID + FlowId *uint64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyAccountPrivilegeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyAccountPrivilegeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyAccountRemarkRequest struct { + *tchttp.BaseRequest + + // 实例ID,形如mssql-j8kv137v + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 修改备注的账户信息 + Accounts []*AccountRemark `json:"Accounts,omitempty" name:"Accounts" list` +} + +func (r *ModifyAccountRemarkRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyAccountRemarkRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyAccountRemarkResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyAccountRemarkResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyAccountRemarkResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBInstanceNameRequest struct { + *tchttp.BaseRequest + + // 数据库实例ID,形如mssql-njj2mtpl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 新的数据库实例名字 + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` +} + +func (r *ModifyDBInstanceNameRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBInstanceNameRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBInstanceNameResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDBInstanceNameResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBInstanceNameResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBInstanceProjectRequest struct { + *tchttp.BaseRequest + + // 实例ID数组,形如mssql-j8kv137v + InstanceIdSet []*string `json:"InstanceIdSet,omitempty" name:"InstanceIdSet" list` + + // 项目ID,为0的话表示默认项目 + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` +} + +func (r *ModifyDBInstanceProjectRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBInstanceProjectRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBInstanceProjectResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 修改成功的实例个数 + Count *int64 `json:"Count,omitempty" name:"Count"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDBInstanceProjectResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBInstanceProjectResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBInstanceRenewFlagRequest struct { + *tchttp.BaseRequest + + // 实例续费状态标记信息 + RenewFlags []*InstanceRenewInfo `json:"RenewFlags,omitempty" name:"RenewFlags" list` +} + +func (r *ModifyDBInstanceRenewFlagRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBInstanceRenewFlagRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBInstanceRenewFlagResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 修改成功的个数 + Count *int64 `json:"Count,omitempty" name:"Count"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDBInstanceRenewFlagResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBInstanceRenewFlagResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBNameRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 旧数据库名 + OldDBName *string `json:"OldDBName,omitempty" name:"OldDBName"` + + // 新数据库名 + NewDBName *string `json:"NewDBName,omitempty" name:"NewDBName"` +} + +func (r *ModifyDBNameRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBNameRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBNameResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 任务流ID + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDBNameResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBNameResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBRemarkRequest struct { + *tchttp.BaseRequest + + // 实例ID,形如mssql-rljoi3bf + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 数据库名称及备注数组,每个元素包含数据库名和对应的备注 + DBRemarks []*DBRemark `json:"DBRemarks,omitempty" name:"DBRemarks" list` +} + +func (r *ModifyDBRemarkRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBRemarkRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDBRemarkResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDBRemarkResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDBRemarkResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyMigrationRequest struct { + *tchttp.BaseRequest + + // 迁移任务ID + MigrateId *uint64 `json:"MigrateId,omitempty" name:"MigrateId"` + + // 新的迁移任务的名称,若不填则不修改 + MigrateName *string `json:"MigrateName,omitempty" name:"MigrateName"` + + // 新的迁移类型(1:结构迁移 2:数据迁移 3:增量同步),若不填则不修改 + MigrateType *uint64 `json:"MigrateType,omitempty" name:"MigrateType"` + + // 迁移源的类型 1:TencentDB for SQLServer 2:云服务器自建SQLServer数据库 4:SQLServer备份还原 5:SQLServer备份还原(COS方式),若不填则不修改 + SourceType *uint64 `json:"SourceType,omitempty" name:"SourceType"` + + // 迁移源,若不填则不修改 + Source *MigrateSource `json:"Source,omitempty" name:"Source"` + + // 迁移目标,若不填则不修改 + Target *MigrateTarget `json:"Target,omitempty" name:"Target"` + + // 迁移DB对象 ,离线迁移(SourceType=4或SourceType=5)不使用,若不填则不修改 + MigrateDBSet []*MigrateDB `json:"MigrateDBSet,omitempty" name:"MigrateDBSet" list` +} + +func (r *ModifyMigrationRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyMigrationRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyMigrationResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 迁移任务ID + MigrateId *uint64 `json:"MigrateId,omitempty" name:"MigrateId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyMigrationResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyMigrationResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RegionInfo struct { + + // 地域英文ID,类似ap-guanghou + Region *string `json:"Region,omitempty" name:"Region"` + + // 地域中文名称 + RegionName *string `json:"RegionName,omitempty" name:"RegionName"` + + // 地域数字ID + RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"` + + // 该地域目前是否可以售卖,UNAVAILABLE-不可售卖;AVAILABLE-可售卖 + RegionState *string `json:"RegionState,omitempty" name:"RegionState"` +} + +type RenewDBInstanceRequest struct { + *tchttp.BaseRequest + + // 实例ID,形如mssql-j8kv137v + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 续费多少个月,取值范围为1-48,默认为1 + Period *uint64 `json:"Period,omitempty" name:"Period"` + + // 是否自动使用代金券,0-不使用;1-使用;默认不实用 + AutoVoucher *int64 `json:"AutoVoucher,omitempty" name:"AutoVoucher"` + + // 代金券ID数组,目前只支持使用1张代金券 + VoucherIds []*string `json:"VoucherIds,omitempty" name:"VoucherIds" list` +} + +func (r *RenewDBInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RenewDBInstanceRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RenewDBInstanceResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 订单名称 + DealName *string `json:"DealName,omitempty" name:"DealName"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *RenewDBInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RenewDBInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ResetAccountPasswordRequest struct { + *tchttp.BaseRequest + + // 数据库实例ID,形如mssql-njj2mtpl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 更新后的账户密码信息数组 + Accounts []*AccountPassword `json:"Accounts,omitempty" name:"Accounts" list` +} + +func (r *ResetAccountPasswordRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ResetAccountPasswordRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ResetAccountPasswordResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 修改帐号密码的异步任务流程ID + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ResetAccountPasswordResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ResetAccountPasswordResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RestartDBInstanceRequest struct { + *tchttp.BaseRequest + + // 数据库实例ID,形如mssql-njj2mtpl + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` +} + +func (r *RestartDBInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RestartDBInstanceRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RestartDBInstanceResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 异步任务流程ID + FlowId *uint64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *RestartDBInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RestartDBInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RestoreInstanceRequest struct { + *tchttp.BaseRequest + + // 实例ID,形如mssql-j8kv137v + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 备份文件ID,该ID可以通过DescribeBackups接口返回数据中的Id字段获得 + BackupId *int64 `json:"BackupId,omitempty" name:"BackupId"` +} + +func (r *RestoreInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RestoreInstanceRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RestoreInstanceResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 异步流程任务ID,使用FlowId调用DescribeFlowStatus接口获取任务执行状态 + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *RestoreInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RestoreInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RollbackInstanceRequest struct { + *tchttp.BaseRequest + + // 实例ID + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 回档类型,0-回档的数据库覆盖原库;1-回档的数据库以重命名的形式生成,不覆盖原库 + Type *uint64 `json:"Type,omitempty" name:"Type"` + + // 需要回档的数据库 + DBs []*string `json:"DBs,omitempty" name:"DBs" list` + + // 回档目标时间点 + Time *string `json:"Time,omitempty" name:"Time"` +} + +func (r *RollbackInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RollbackInstanceRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RollbackInstanceResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 异步任务ID + FlowId *uint64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *RollbackInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RollbackInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RunMigrationRequest struct { + *tchttp.BaseRequest + + // 迁移任务ID + MigrateId *uint64 `json:"MigrateId,omitempty" name:"MigrateId"` +} + +func (r *RunMigrationRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RunMigrationRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RunMigrationResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 迁移流程启动后,返回流程ID + FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *RunMigrationResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RunMigrationResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type SlowlogInfo struct { + + // 慢查询日志文件唯一标识 + Id *int64 `json:"Id,omitempty" name:"Id"` + + // 文件生成的开始时间 + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` + + // 文件生成的结束时间 + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` + + // 文件大小(KB) + Size *int64 `json:"Size,omitempty" name:"Size"` + + // 文件中log条数 + Count *int64 `json:"Count,omitempty" name:"Count"` + + // 内网下载地址 + InternalAddr *string `json:"InternalAddr,omitempty" name:"InternalAddr"` + + // 外网下载地址 + ExternalAddr *string `json:"ExternalAddr,omitempty" name:"ExternalAddr"` + + // 状态(1成功 2失败) + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *int64 `json:"Status,omitempty" name:"Status"` +} + +type SpecInfo struct { + + // 实例规格ID,利用DescribeZones返回的SpecId,结合DescribeProductConfig返回的可售卖规格信息,可获悉某个可用区下可购买什么规格的实例 + SpecId *int64 `json:"SpecId,omitempty" name:"SpecId"` + + // 机型ID + MachineType *string `json:"MachineType,omitempty" name:"MachineType"` + + // 机型中文名称 + MachineTypeName *string `json:"MachineTypeName,omitempty" name:"MachineTypeName"` + + // 数据库版本信息。取值为2008R2(表示SQL Server 2008 R2),2012SP3(表示SQL Server 2012),2016SP1(表示SQL Server 2016 SP1) + Version *string `json:"Version,omitempty" name:"Version"` + + // Version字段对应的版本名称 + VersionName *string `json:"VersionName,omitempty" name:"VersionName"` + + // 内存大小,单位GB + Memory *int64 `json:"Memory,omitempty" name:"Memory"` + + // CPU核数 + CPU *int64 `json:"CPU,omitempty" name:"CPU"` + + // 此规格下最小的磁盘大小,单位GB + MinStorage *int64 `json:"MinStorage,omitempty" name:"MinStorage"` + + // 此规格下最大的磁盘大小,单位GB + MaxStorage *int64 `json:"MaxStorage,omitempty" name:"MaxStorage"` + + // 此规格对应的QPS大小 + QPS *int64 `json:"QPS,omitempty" name:"QPS"` + + // 此规格的中文描述信息 + SuitInfo *string `json:"SuitInfo,omitempty" name:"SuitInfo"` + + // 此规格对应的包年包月Pid + Pid *int64 `json:"Pid,omitempty" name:"Pid"` + + // 此规格对应的按量计费Pid列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + PostPid []*int64 `json:"PostPid,omitempty" name:"PostPid" list` + + // 此规格下支持的付费模式,POST-仅支持按量计费 PRE-仅支持包年包月 ALL-支持所有 + PayModeStatus *string `json:"PayModeStatus,omitempty" name:"PayModeStatus"` +} + +type TerminateDBInstanceRequest struct { + *tchttp.BaseRequest + + // 主动销毁的实例ID列表,格式如:[mssql-3l3fgqn7]。与云数据库控制台页面中显示的实例ID相同 + InstanceIdSet []*string `json:"InstanceIdSet,omitempty" name:"InstanceIdSet" list` +} + +func (r *TerminateDBInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *TerminateDBInstanceRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type TerminateDBInstanceResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *TerminateDBInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *TerminateDBInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type UpgradeDBInstanceRequest struct { + *tchttp.BaseRequest + + // 实例ID,形如mssql-j8kv137v + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 实例升级后内存大小,单位GB,其值不能小于当前实例内存大小 + Memory *int64 `json:"Memory,omitempty" name:"Memory"` + + // 实例升级后磁盘大小,单位GB,其值不能小于当前实例磁盘大小 + Storage *int64 `json:"Storage,omitempty" name:"Storage"` + + // 是否自动使用代金券,0 - 不使用;1 - 默认使用。取值默认为0 + AutoVoucher *int64 `json:"AutoVoucher,omitempty" name:"AutoVoucher"` + + // 代金券ID,目前单个订单只能使用一张代金券 + VoucherIds []*string `json:"VoucherIds,omitempty" name:"VoucherIds" list` +} + +func (r *UpgradeDBInstanceRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *UpgradeDBInstanceRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type UpgradeDBInstanceResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 订单名称 + DealName *string `json:"DealName,omitempty" name:"DealName"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *UpgradeDBInstanceResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *UpgradeDBInstanceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ZoneInfo struct { + + // 可用区英文ID,形如ap-guangzhou-1,表示广州一区 + Zone *string `json:"Zone,omitempty" name:"Zone"` + + // 可用区中文名称 + ZoneName *string `json:"ZoneName,omitempty" name:"ZoneName"` + + // 可用区数字ID + ZoneId *int64 `json:"ZoneId,omitempty" name:"ZoneId"` + + // 该可用区目前可售卖的规格ID,利用SpecId,结合接口DescribeProductConfig返回的数据,可获悉该可用区目前可售卖的规格大小 + SpecId *int64 `json:"SpecId,omitempty" name:"SpecId"` + + // 当前可用区与规格下,可售卖的数据库版本,形如2008R2(表示SQL Server 2008 R2)。其可选值有2008R2(表示SQL Server 2008 R2),2012SP3(表示SQL Server 2012),2016SP1(表示SQL Server 2016 SP1) + Version *string `json:"Version,omitempty" name:"Version"` +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 093fefe950..b75bafc959 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -543,6 +543,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb/v20180408 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor/v20180724 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis/v20180412 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416 +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sts/v20180813 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tag/v20180813 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcaplusdb/v20190823 diff --git a/website/docs/d/sqlserver_zone_config.html.markdown b/website/docs/d/sqlserver_zone_config.html.markdown new file mode 100644 index 0000000000..d44181e3ef --- /dev/null +++ b/website/docs/d/sqlserver_zone_config.html.markdown @@ -0,0 +1,45 @@ +--- +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_sqlserver_zone_config" +sidebar_current: "docs-tencentcloud-datasource-sqlserver_zone_config" +description: |- + Use this data source to query purchasable specification configuration for each availability zone in this specific region. +--- + +# tencentcloud_sqlserver_zone_config + +Use this data source to query purchasable specification configuration for each availability zone in this specific region. + +## Example Usage + +```hcl +data "tencentcloud_sqlserver_zone_config" "mysqlserver" { +} +``` + +## Argument Reference + +The following arguments are supported: + +* `result_output_file` - (Optional) Used to store results. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `zone_list` - A list of availability zones. Each element contains the following attributes: + * `availability_zone` - Alphabet ID of availability zone. + * `specinfo_list` - A list of specinfo configurations for the specific availability zone. Each element contains the following attributes: + * `charge_type` - Billing mode under this specification. Valid values are `POSTPAID_BY_HOUR`, `PREPAID` and `ALL` which means both POSTPAID_BY_HOUR and PREPAID. + * `cpu` - Number of CPU cores. + * `db_version_name` - Version name corresponding to the `db_version` field. + * `db_version` - Database version information. Valid values: `2008R2 (SQL Server 2008 Enterprise)`, `2012SP3 (SQL Server 2012 Enterprise)`, `2016SP1 (SQL Server 2016 Enterprise)`, `201602 (SQL Server 2016 Standard)`, `2017 (SQL Server 2017 Enterprise)`. + * `machine_type` - Model ID. + * `max_storage_size` - Maximum disk size under this specification in GB. + * `memory` - Memory size in GB. + * `min_storage_size` - Minimum disk size under this specification in GB. + * `qps` - QPS of this specification. + * `spec_id` - Instance specification ID. + * `zone_id` - Number ID of availability zone. + + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index f7880fa149..2c9df8f947 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -794,6 +794,24 @@ +
  • + SQLServer + +
  • SSL Certificates