Skip to content

Commit ec012ee

Browse files
author
mikatong
committed
fix empty instanceId
1 parent 365c103 commit ec012ee

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

tencentcloud/services/postgresql/resource_tc_postgresql_readonly_instance.go

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,28 @@ func resourceTencentCloudPostgresqlReadOnlyInstanceCreate(d *schema.ResourceData
324324
if err != nil {
325325
return err
326326
}
327-
instanceId := *response.Response.DBInstanceIdSet[0]
327+
var instanceId string
328+
if len(response.Response.DBInstanceIdSet) == 0 {
329+
if len(response.Response.DealNames) == 0 {
330+
return fmt.Errorf("TencentCloud SDK returns empty postgresql ID and Deals")
331+
}
332+
dealId := response.Response.DealNames[0]
333+
service := PostgresqlService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()}
334+
335+
deals, err := service.DescribeOrders(ctx, []*string{dealId})
336+
if err != nil {
337+
return err
338+
}
339+
if len(deals) > 0 && len(deals[0].DBInstanceIdSet) > 0 {
340+
if deals[0].DBInstanceIdSet[0] != nil {
341+
instanceId = *deals[0].DBInstanceIdSet[0]
342+
}
343+
}
344+
} else {
345+
if response.Response.DBInstanceIdSet[0] != nil {
346+
instanceId = *response.Response.DBInstanceIdSet[0]
347+
}
348+
}
328349
d.SetId(instanceId)
329350

330351
// check creation done

0 commit comments

Comments
 (0)