Skip to content

Commit 5b9ee31

Browse files
committed
add
1 parent a3ab714 commit 5b9ee31

File tree

1 file changed

+31
-6
lines changed

1 file changed

+31
-6
lines changed

tencentcloud/services/cvm/resource_tc_instance.go

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ func ResourceTencentCloudInstance() *schema.Resource {
256256
Description: "Resize online.",
257257
},
258258
"data_disks": {
259-
Type: schema.TypeSet,
259+
Type: schema.TypeList,
260260
Optional: true,
261261
Computed: true,
262262
ForceNew: true,
@@ -630,7 +630,7 @@ func resourceTencentCloudInstanceCreate(d *schema.ResourceData, meta interface{}
630630
}
631631

632632
if v, ok := d.GetOk("data_disks"); ok {
633-
dataDisks := v.(*schema.Set).List()
633+
dataDisks := v.([]interface{})
634634
request.DataDisks = make([]*cvm.DataDisk, 0, len(dataDisks))
635635
for _, d := range dataDisks {
636636
value := d.(map[string]interface{})
@@ -947,7 +947,6 @@ func resourceTencentCloudInstanceRead(d *schema.ResourceData, meta interface{})
947947
_ = d.Set("system_disk_type", instance.SystemDisk.DiskType)
948948
_ = d.Set("system_disk_size", instance.SystemDisk.DiskSize)
949949
_ = d.Set("system_disk_id", instance.SystemDisk.DiskId)
950-
_ = d.Set("system_disk_name", instance.SystemDisk.DiskName)
951950
_ = d.Set("instance_status", instance.InstanceState)
952951
_ = d.Set("create_time", instance.CreatedTime)
953952
_ = d.Set("expired_time", instance.ExpiredTime)
@@ -981,7 +980,34 @@ func resourceTencentCloudInstanceRead(d *schema.ResourceData, meta interface{})
981980
delete(tags, "tencentcloud:autoscaling:auto-scaling-group-id")
982981
_ = d.Set("tags", tags)
983982

984-
//set data_disks
983+
// set system_disk_name
984+
if instance.SystemDisk.DiskId != nil {
985+
err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
986+
disks, err := cbsService.DescribeDiskList(ctx, []*string{instance.SystemDisk.DiskId})
987+
if err != nil {
988+
return resource.NonRetryableError(err)
989+
}
990+
991+
for i := range disks {
992+
disk := disks[i]
993+
if *disk.DiskState == "EXPANDING" {
994+
return resource.RetryableError(fmt.Errorf("data_disk[%d] is expending", i))
995+
}
996+
997+
if *disk.DiskId == *instance.SystemDisk.DiskId {
998+
_ = d.Set("system_disk_name", disk.DiskName)
999+
}
1000+
}
1001+
1002+
return nil
1003+
})
1004+
1005+
if err != nil {
1006+
return err
1007+
}
1008+
}
1009+
1010+
// set data_disks
9851011
var hasDataDisks, isCombineDataDisks bool
9861012
dataDiskList := make([]map[string]interface{}, 0, len(instance.DataDisks))
9871013
diskSizeMap := map[string]*uint64{}
@@ -1043,7 +1069,7 @@ func resourceTencentCloudInstanceRead(d *schema.ResourceData, meta interface{})
10431069

10441070
tmpDataDisks := make([]interface{}, 0, len(instance.DataDisks))
10451071
if v, ok := d.GetOk("data_disks"); ok {
1046-
tmpDataDisks = v.(*schema.Set).List()
1072+
tmpDataDisks = v.([]interface{})
10471073
}
10481074

10491075
for index, disk := range instance.DataDisks {
@@ -1064,7 +1090,6 @@ func resourceTencentCloudInstanceRead(d *schema.ResourceData, meta interface{})
10641090
}
10651091
}
10661092

1067-
dataDisk["data_disk_name"] = disk.DiskName
10681093
dataDisk["data_disk_type"] = disk.DiskType
10691094
dataDisk["data_disk_snapshot_id"] = disk.SnapshotId
10701095
dataDisk["delete_with_instance"] = disk.DeleteWithInstance

0 commit comments

Comments
 (0)