Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions tencentcloud/basic_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,7 @@ resource "tencentcloud_instance" "default" {
subnet_id = var.subnet_id
}
`

// End of SQLServer

const defaultCVMName = "keep-cvm"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var testDataSqlserverAccountDBAttachmentsName = "data.tencentcloud_sqlserver_acc
func TestAccDataSourceTencentCloudSqlserverAccountDBAttachments(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckLBDestroy,
Steps: []resource.TestStep{
Expand Down
2 changes: 1 addition & 1 deletion tencentcloud/data_source_tc_sqlserver_accounts_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var testDataSqlserverAccountsName = "data.tencentcloud_sqlserver_accounts.test"
func TestAccDataSourceTencentCloudSqlserverAccounts(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckLBDestroy,
Steps: []resource.TestStep{
Expand Down
2 changes: 1 addition & 1 deletion tencentcloud/data_source_tc_sqlserver_backups_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ var now = time.Now().Format("2006-01-02 15:04:05")
func TestAccDataSourceTencentCloudSqlserverBackups(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckLBDestroy,
Steps: []resource.TestStep{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var testDataSqlserverBasicInstancesName = "data.tencentcloud_sqlserver_basic_ins
func TestAccDataSourceTencentCloudSqlserverBasicInstances(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverBasicInstanceDestroy,
Steps: []resource.TestStep{
Expand Down
2 changes: 1 addition & 1 deletion tencentcloud/data_source_tc_sqlserver_dbs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
func TestAccDataSourceTencentCloudSqlserverDBs_basic(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
Steps: []resource.TestStep{
{
Expand Down
2 changes: 1 addition & 1 deletion tencentcloud/data_source_tc_sqlserver_instances_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var testDataSqlserverInstancesName = "data.tencentcloud_sqlserver_instances.test
func TestAccDataSourceTencentCloudSqlserverInstances(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverInstanceDestroy,
Steps: []resource.TestStep{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
func TestAccTencentCloudSqlserverPublishSubscribeDataSource(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverPublishSubscribeDestroy,
Steps: []resource.TestStep{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var testDataSqlserverReadonlyGroupsName = "data.tencentcloud_sqlserver_readonly_
func TestAccDataSourceTencentCloudSqlserverReadonlyGroups(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckLBDestroy,
Steps: []resource.TestStep{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ var testSqlserverAccountDBAttachmentResourceKey = testSqlserverAccountDBAttachme
func TestAccTencentCloudSqlserverAccountDBAttachmentResource(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverAccountDBAttachmentDestroy,
Steps: []resource.TestStep{
Expand Down
2 changes: 1 addition & 1 deletion tencentcloud/resource_tc_sqlserver_account_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func init() {
func TestAccTencentCloudSqlserverAccountResource(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverAccountDestroy,
Steps: []resource.TestStep{
Expand Down
18 changes: 0 additions & 18 deletions tencentcloud/resource_tc_sqlserver_basic_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -453,24 +453,6 @@ func resourceTencentCloudSqlserverBasicInstanceUpdate(d *schema.ResourceData, me
return outErr
}

outErr = resource.Retry(writeRetryTimeout, func() *resource.RetryError {
instance, _, inErr := sqlserverService.DescribeSqlserverInstanceById(ctx, instanceId)

if inErr != nil {
return retryError(inErr)
}
//specAsExpected := int(*instance.Memory) != memory && int(*instance.Storage) != storage

if IsContains(SQLSERVER_STATUS_WAITING, *instance.Status) {
return resource.RetryableError(fmt.Errorf("instance status code is: %d, waiting for upgrade complete", *instance.Status))
}
return nil
})

if outErr != nil {
return outErr
}

d.SetPartial("memory")
d.SetPartial("storage")
d.SetPartial("cpu")
Expand Down
2 changes: 1 addition & 1 deletion tencentcloud/resource_tc_sqlserver_basic_instance_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ var testSqlserverBasicInstanceResourceKey = testSqlserverBasicInstanceResourceNa
func TestAccTencentCloudSqlserverBasicInstanceResource(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverBasicInstanceDestroy,
Steps: []resource.TestStep{
Expand Down
2 changes: 1 addition & 1 deletion tencentcloud/resource_tc_sqlserver_db_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func init() {
func TestAccTencentCloudSqlserverDB_basic_and_update(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverDBDestroy,
Steps: []resource.TestStep{
Expand Down
25 changes: 4 additions & 21 deletions tencentcloud/resource_tc_sqlserver_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -291,8 +291,9 @@ func resourceTencentCloudSqlserverInstanceCreate(d *schema.ResourceData, meta in
request.AutoVoucher = helper.IntInt64(v)
}

if v, ok := d.Get("voucher_ids").([]interface{}); ok {
request.VoucherIds = helper.InterfacesStringsPoint(v)
if v, ok := d.GetOk("voucher_ids"); ok {
voucherIds := v.(*schema.Set).List()
request.VoucherIds = helper.InterfacesStringsPoint(voucherIds)
}

if projectId != 0 {
Expand Down Expand Up @@ -383,7 +384,7 @@ func sqlServerAllInstanceRoleUpdate(ctx context.Context, d *schema.ResourceData,
memory := d.Get("memory").(int)
storage := d.Get("storage").(int)
autoVoucher := d.Get("auto_voucher").(int)
voucherIds := d.Get("voucher_ids").([]interface{})
voucherIds := d.Get("voucher_ids").(*schema.Set).List()
outErr = resource.Retry(writeRetryTimeout, func() *resource.RetryError {
inErr = sqlserverService.UpgradeSqlserverInstance(ctx, instanceId, memory, storage, autoVoucher, helper.InterfacesStringsPoint(voucherIds))
if inErr != nil {
Expand All @@ -396,24 +397,6 @@ func sqlServerAllInstanceRoleUpdate(ctx context.Context, d *schema.ResourceData,
return outErr
}

outErr = resource.Retry(writeRetryTimeout, func() *resource.RetryError {
instance, _, inErr := sqlserverService.DescribeSqlserverInstanceById(ctx, instanceId)

if inErr != nil {
return retryError(inErr)
}
//specAsExpected := int(*instance.Memory) != memory && int(*instance.Storage) != storage

if IsContains(SQLSERVER_STATUS_WAITING, *instance.Status) {
return resource.RetryableError(fmt.Errorf("instance status code is: %d, waiting for upgrade complete", *instance.Status))
}
return nil
})

if outErr != nil {
return outErr
}

d.SetPartial("memory")
d.SetPartial("storage")
}
Expand Down
9 changes: 3 additions & 6 deletions tencentcloud/resource_tc_sqlserver_instance_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,10 +145,10 @@ func batchDeleteSQLServerInstances(ctx context.Context, service SqlserverService
return nil
}

func TestAccTencentCloudSqlserverInstanceResource(t *testing.T) {
func TestAccTencentCloudSqlserverInstanceResource_PostPaid(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverInstanceDestroy,
Steps: []resource.TestStep{
Expand Down Expand Up @@ -208,7 +208,6 @@ func TestAccTencentCloudSqlserverInstanceResource(t *testing.T) {
}

func TestAccTencentCloudSqlserverInstanceResource_Prepaid(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_PREPAY) },
Providers: testAccProviders,
Expand Down Expand Up @@ -239,7 +238,7 @@ func TestAccTencentCloudSqlserverInstanceResource_Prepaid(t *testing.T) {
func TestAccTencentCloudSqlserverInstanceMultiClusterResource(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverInstanceDestroy,
Steps: []resource.TestStep{
Expand Down Expand Up @@ -371,8 +370,6 @@ resource "tencentcloud_sqlserver_instance" "test" {
const testAccSqlserverInstanceUpdate string = testAccSqlserverBasicInstanceNetwork + `
resource "tencentcloud_sqlserver_instance" "test" {
name = "tf_sqlserver_instance_update"
availability_zone = local.az1
charge_type = "POSTPAID_BY_HOUR"
availability_zone = var.default_az
charge_type = "POSTPAID_BY_HOUR"
vpc_id = local.vpc_id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
func TestAccTencentCloudSqlserverPublishSubscribeResource(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckSqlserverPublishSubscribeDestroy,
Steps: []resource.TestStep{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ var testReadonlySqlserverInstanceResourceKey = testReadonlySqlserverInstanceReso
func TestAccTencentCloudReadonlySqlserverInstanceResource(t *testing.T) {
t.Parallel()
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_COMMON) },
Providers: testAccProviders,
CheckDestroy: testAccCheckReadonlySqlserverInstanceDestroy,
Steps: []resource.TestStep{
Expand Down
31 changes: 16 additions & 15 deletions tencentcloud/service_tencentcloud_sqlserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,20 +175,23 @@ func (me *SqlserverService) UpgradeSqlserverInstance(ctx context.Context, instan
return err
}

startPending := false
//check status not expanding
errRet = resource.Retry(readRetryTimeout, func() *resource.RetryError {
errRet = resource.Retry(10*readRetryTimeout, func() *resource.RetryError {
instance, has, err := me.DescribeSqlserverInstanceById(ctx, instanceId)
if err != nil {
return resource.NonRetryableError(errors.WithStack(err))
}
if !has {
return resource.NonRetryableError(fmt.Errorf("cannot find SQL Server instance %s", instanceId))
}
if int(*instance.Status) == 9 {
if *instance.Status != 2 {
startPending = true
return resource.RetryableError(fmt.Errorf("expanding , SQL Server instance ID %s, status %d.... ", instanceId, *instance.Status))
} else {
return nil
} else if !startPending {
return resource.RetryableError(fmt.Errorf("ready for expanding, SQL Server instance ID %s, status %d.... ", instanceId, *instance.Status))
}
return nil
})

return
Expand Down Expand Up @@ -1444,26 +1447,24 @@ func (me *SqlserverService) UpgradeSqlserverBasicInstance(ctx context.Context, i
return err
}

// prepaid expansion number of retries
retryCount := 0
startPending := false

errRet = resource.Retry(10*readRetryTimeout, func() *resource.RetryError {
instance, has, err := me.DescribeSqlserverInstanceById(ctx, instanceId)
if err != nil {
return resource.NonRetryableError(errors.WithStack(err))
return retryError(err)
}
if !has {
return resource.NonRetryableError(fmt.Errorf("cannot find SQL Server basic instance %s", instanceId))
}
// Status == 9, expanding
if int(*instance.Status) == 9 {
return resource.RetryableError(fmt.Errorf("expanding , SQL Server basic instance ID %s, status %d.... ", instanceId, *instance.Status))
// After UpgradeDBInstance of the prepaid instance, the status does not immediately change to 9 and is still 2, so we need to query it again
} else if *instance.PayMode == 1 && int(*instance.Status) == 2 && retryCount < 2 {
retryCount++
return resource.RetryableError(fmt.Errorf("expanding , SQL Server basic Prepaid instance ID %s, status %d.... ", instanceId, *instance.Status))
} else {
return nil
if *instance.Status == 9 {
startPending = true
return resource.RetryableError(fmt.Errorf("expanding, SQL Server basic instance ID %s, status %d.... ", instanceId, *instance.Status))
} else if !startPending && *instance.Status == 2 {
return resource.RetryableError(fmt.Errorf("expanding, SQL Server basic Prepaid instance ID %s, status %d.... ", instanceId, *instance.Status))
}
return nil
})

return
Expand Down