@@ -924,8 +924,16 @@ func resourceTencentCloudInstanceRead(d *schema.ResourceData, meta interface{})
924924 if len (instance .DataDisks ) > 0 {
925925 var diskIds []* string
926926 for i := range instance .DataDisks {
927- disk := instance .DataDisks [i ]
928- diskIds = append (diskIds , disk .DiskId )
927+ id := instance .DataDisks [i ].DiskId
928+ size := instance .DataDisks [i ].DiskSize
929+ if id == nil {
930+ continue
931+ }
932+ if strings .HasPrefix (* id , "disk-" ) {
933+ diskIds = append (diskIds , id )
934+ } else {
935+ diskSizeMap [* id ] = helper .Int64Uint64 (* size )
936+ }
929937 }
930938 err := resource .Retry (readRetryTimeout , func () * resource.RetryError {
931939 disks , err := cbsService .DescribeDiskList (ctx , diskIds )
@@ -947,10 +955,14 @@ func resourceTencentCloudInstanceRead(d *schema.ResourceData, meta interface{})
947955 }
948956 for _ , disk := range instance .DataDisks {
949957 dataDisk := make (map [string ]interface {}, 5 )
950- dataDisk ["data_disk_snapshot_id" ] = disk .SnapshotId
951- dataDisk ["data_disk_type" ] = disk .DiskType
952- dataDisk ["data_disk_size" ] = diskSizeMap [* disk .DiskId ]
953958 dataDisk ["data_disk_id" ] = disk .DiskId
959+ if disk .DiskId == nil {
960+ dataDisk ["data_disk_size" ] = disk .DiskSize
961+ } else if size , ok := diskSizeMap [* disk .DiskId ]; ok {
962+ dataDisk ["data_disk_size" ] = size
963+ }
964+ dataDisk ["data_disk_type" ] = disk .DiskType
965+ dataDisk ["data_disk_snapshot_id" ] = disk .SnapshotId
954966 dataDisk ["delete_with_instance" ] = disk .DeleteWithInstance
955967 dataDisk ["encrypt" ] = disk .Encrypt
956968 dataDisk ["throughput_performance" ] = disk .ThroughputPerformance
0 commit comments