Skip to content

Commit a3ab714

Browse files
committed
add diskname
1 parent 1722c24 commit a3ab714

File tree

8 files changed

+201
-82
lines changed

8 files changed

+201
-82
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ require (
4646
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1034
4747
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033
4848
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1046
49-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1052
50-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1014
49+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1053
50+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1053
5151
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
5252
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692
5353
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335

go.sum

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -826,8 +826,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763 h1:
826826
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apigateway v1.0.763/go.mod h1:OlRreot089Ec7bEYMUovUBSuCD/x0D0ONPZ0g3YA5hg=
827827
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825 h1:yiC2lsZ3nNsZ/6Vm7FKFEkAJ37sqzIfmdL7DY0LouMc=
828828
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/apm v1.0.825/go.mod h1:6qtSa8OZKwJOWoOCYWVZd6+T62O96AxbPll0I43d4yw=
829-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.1050 h1:uLV7suHZzLYQ7FzzPotAxHp8U2Cyu79Q9+DjHfGBS1o=
830-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.1050/go.mod h1:z8L5Brgaqaq9DK0p8wzOB+6alOD/qWABzkCFmitewAE=
831829
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.1052 h1:d7eK/iFBAL1P75UWcc+wupp2/W1KQHdTxB/YpJTaoUA=
832830
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as v1.0.1052/go.mod h1:o/8YQckpRRJ12COW2g9J9Fx+v5noOAsHkKVQpTctM+g=
833831
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824 h1:DVKvZ6h+qd7tadUrCjVAkCCmE3TsbK2ZmwGd3AJcpWc=
@@ -919,7 +917,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1004/go.mod
919917
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1008/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
920918
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1010/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
921919
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1013/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
922-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1014/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
923920
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1015/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
924921
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1018/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
925922
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1031/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
@@ -929,17 +926,16 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1037/go.mod
929926
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1038/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
930927
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1045/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
931928
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1046/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
932-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1050/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
933-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1051 h1:3mg0L9vv9eO8UN4Oa7vNawe6yUIuXf9D0Q79rUmnblo=
934929
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1051/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
935-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1052 h1:RCs8aH5Gy1sn4qc22KweqQE7usx1S2reyZcedo0ZXBI=
936930
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1052/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
931+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1053 h1:Qrwvu384xBXaAl8Vv5qvOKwBNOL73x0iyjQ0MocSidI=
932+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1053/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
937933
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
938934
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
939935
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
940936
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860/go.mod h1:NZo1WplQcC314kMlCRUoy8NQju2BnolIJj7NAWgsuhY=
941-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1014 h1:9O8b2DIwrJLRncfm6e05lIqkBLKNkvABiF+PNs7exB8=
942-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1014/go.mod h1:BgFyE+WpUJPLy3cHpBaM0gDbrptmzY5+dfid/4UhBR8=
937+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1053 h1:x193cxbzh+bXxxcq9NGzriW0jCxQHJd6mT79kcfUqSs=
938+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1053/go.mod h1:yM5i22uG9HKuUwwz+XvrDW9oBtZdb7avyDrMrS/FBIs=
943939
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 h1:2egy69SP/wPsmnfozcQVZ6tUY6F6N/TpEe/7xtXrc/8=
944940
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762/go.mod h1:1XylIfNUbAzmNqi4XMhwcM3VhmUHdu1OYybOeaJ4sOw=
945941
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692 h1:lD44AqXCzkraZiCeMjL7dZmvuyurpyQRKwPHA6Ux5To=

tencentcloud/services/cvm/resource_tc_instance.go

Lines changed: 57 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -244,13 +244,19 @@ func ResourceTencentCloudInstance() *schema.Resource {
244244
Computed: true,
245245
Description: "System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.",
246246
},
247+
"system_disk_name": {
248+
Type: schema.TypeString,
249+
Optional: true,
250+
Computed: true,
251+
Description: "Name of the system disk.",
252+
},
247253
"system_disk_resize_online": {
248254
Type: schema.TypeBool,
249255
Optional: true,
250256
Description: "Resize online.",
251257
},
252258
"data_disks": {
253-
Type: schema.TypeList,
259+
Type: schema.TypeSet,
254260
Optional: true,
255261
Computed: true,
256262
ForceNew: true,
@@ -269,6 +275,12 @@ func ResourceTencentCloudInstance() *schema.Resource {
269275
//ForceNew: true,
270276
Description: "Size of the data disk, and unit is GB.",
271277
},
278+
"data_disk_name": {
279+
Type: schema.TypeString,
280+
Optional: true,
281+
Computed: true,
282+
Description: "Name of data disk.",
283+
},
272284
"data_disk_snapshot_id": {
273285
Type: schema.TypeString,
274286
Optional: true,
@@ -613,8 +625,12 @@ func resourceTencentCloudInstanceCreate(d *schema.ResourceData, meta interface{}
613625
request.SystemDisk.DiskId = helper.String(v.(string))
614626
}
615627

628+
if v, ok := d.GetOk("system_disk_name"); ok {
629+
request.SystemDisk.DiskName = helper.String(v.(string))
630+
}
631+
616632
if v, ok := d.GetOk("data_disks"); ok {
617-
dataDisks := v.([]interface{})
633+
dataDisks := v.(*schema.Set).List()
618634
request.DataDisks = make([]*cvm.DataDisk, 0, len(dataDisks))
619635
for _, d := range dataDisks {
620636
value := d.(map[string]interface{})
@@ -627,6 +643,13 @@ func resourceTencentCloudInstanceCreate(d *schema.ResourceData, meta interface{}
627643
ThroughputPerformance: &throughputPerformance,
628644
}
629645

646+
if v, ok := value["data_disk_name"]; ok && v != nil {
647+
diskName := v.(string)
648+
if diskName != "" {
649+
dataDisk.DiskName = helper.String(diskName)
650+
}
651+
}
652+
630653
if v, ok := value["data_disk_snapshot_id"]; ok && v != nil {
631654
snapshotId := v.(string)
632655
if snapshotId != "" {
@@ -924,6 +947,7 @@ func resourceTencentCloudInstanceRead(d *schema.ResourceData, meta interface{})
924947
_ = d.Set("system_disk_type", instance.SystemDisk.DiskType)
925948
_ = d.Set("system_disk_size", instance.SystemDisk.DiskSize)
926949
_ = d.Set("system_disk_id", instance.SystemDisk.DiskId)
950+
_ = d.Set("system_disk_name", instance.SystemDisk.DiskName)
927951
_ = d.Set("instance_status", instance.InstanceState)
928952
_ = d.Set("create_time", instance.CreatedTime)
929953
_ = d.Set("expired_time", instance.ExpiredTime)
@@ -1019,7 +1043,7 @@ func resourceTencentCloudInstanceRead(d *schema.ResourceData, meta interface{})
10191043

10201044
tmpDataDisks := make([]interface{}, 0, len(instance.DataDisks))
10211045
if v, ok := d.GetOk("data_disks"); ok {
1022-
tmpDataDisks = v.([]interface{})
1046+
tmpDataDisks = v.(*schema.Set).List()
10231047
}
10241048

10251049
for index, disk := range instance.DataDisks {
@@ -1040,6 +1064,7 @@ func resourceTencentCloudInstanceRead(d *schema.ResourceData, meta interface{})
10401064
}
10411065
}
10421066

1067+
dataDisk["data_disk_name"] = disk.DiskName
10431068
dataDisk["data_disk_type"] = disk.DiskType
10441069
dataDisk["data_disk_snapshot_id"] = disk.SnapshotId
10451070
dataDisk["delete_with_instance"] = disk.DeleteWithInstance
@@ -1402,15 +1427,22 @@ func resourceTencentCloudInstanceUpdate(d *schema.ResourceData, meta interface{}
14021427
for i := range nv {
14031428
sizeKey := fmt.Sprintf("data_disks.%d.data_disk_size", i)
14041429
idKey := fmt.Sprintf("data_disks.%d.data_disk_id", i)
1405-
if !d.HasChange(sizeKey) {
1406-
continue
1430+
nameKey := fmt.Sprintf("data_disks.%d.data_disk_name", i)
1431+
if d.HasChange(sizeKey) {
1432+
size := d.Get(sizeKey).(int)
1433+
diskId := d.Get(idKey).(string)
1434+
err := cbsService.ResizeDisk(ctx, diskId, size)
1435+
if err != nil {
1436+
return fmt.Errorf("an error occurred when modifying data disk size: %s, reason: %s", sizeKey, err.Error())
1437+
}
14071438
}
1408-
1409-
size := d.Get(sizeKey).(int)
1410-
diskId := d.Get(idKey).(string)
1411-
err := cbsService.ResizeDisk(ctx, diskId, size)
1412-
if err != nil {
1413-
return fmt.Errorf("an error occurred when modifying %s, reason: %s", sizeKey, err.Error())
1439+
if d.HasChange(nameKey) {
1440+
name := d.Get(nameKey).(string)
1441+
diskId := d.Get(idKey).(string)
1442+
err := cbsService.ModifyDiskAttributes(ctx, diskId, name, -1)
1443+
if err != nil {
1444+
return fmt.Errorf("an error occurred when modifying data disk name: %s, reason: %s", name, err.Error())
1445+
}
14141446
}
14151447
}
14161448
}
@@ -1474,6 +1506,20 @@ func resourceTencentCloudInstanceUpdate(d *schema.ResourceData, meta interface{}
14741506
}
14751507
}
14761508

1509+
if d.HasChange("system_disk_name") {
1510+
systemDiskName := d.Get("system_disk_name").(string)
1511+
if v, ok := d.GetOk("system_disk_id"); ok {
1512+
systemDiskId := v.(string)
1513+
cbsService := svccbs.NewCbsService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
1514+
err := cbsService.ModifyDiskAttributes(ctx, systemDiskId, systemDiskName, -1)
1515+
if err != nil {
1516+
return fmt.Errorf("an error occurred when modifying system disk name %s, reason: %s", systemDiskName, err.Error())
1517+
}
1518+
} else {
1519+
return fmt.Errorf("system disk name do not support change because of no system disk ID.")
1520+
}
1521+
}
1522+
14771523
if d.HasChange("instance_type") {
14781524
err := cvmService.ModifyInstanceType(ctx, instanceId, d.Get("instance_type").(string))
14791525
if err != nil {

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)