@@ -108,9 +108,6 @@ func resourceTencentCloudGaapRealserverCreate(d *schema.ResourceData, m interfac
108108
109109 name := d .Get ("name" ).(string )
110110 projectId := d .Get ("project_id" ).(int )
111-
112- tags := helper .GetTags (d , "tags" )
113-
114111 service := GaapService {client : m .(* TencentCloudClient ).apiV3Conn }
115112
116113 realservers , err := service .DescribeRealservers (ctx , & address , nil , nil , - 1 )
@@ -121,11 +118,20 @@ func resourceTencentCloudGaapRealserverCreate(d *schema.ResourceData, m interfac
121118 return fmt .Errorf ("the realserver with ip/domain %s already exists" , address )
122119 }
123120
124- id , err := service .CreateRealserver (ctx , address , name , projectId , tags )
121+ id , err := service .CreateRealserver (ctx , address , name , projectId )
125122 if err != nil {
126123 return err
127124 }
128125
126+ if tags := helper .GetTags (d , "tags" ); len (tags ) > 0 {
127+ tagClient := m .(* TencentCloudClient ).apiV3Conn
128+ tagService := & TagService {client : tagClient }
129+ resourceName := BuildTagResourceName ("gaap" , "realServer" , tagClient .Region , id )
130+ if err := tagService .ModifyTags (ctx , resourceName , tags , nil ); err != nil {
131+ return err
132+ }
133+ }
134+
129135 d .SetId (id )
130136
131137 return resourceTencentCloudGaapRealserverRead (d , m )
@@ -183,14 +189,13 @@ func resourceTencentCloudGaapRealserverRead(d *schema.ResourceData, m interface{
183189 }
184190 _ = d .Set ("project_id" , realserver .ProjectId )
185191
186- respTags := make (map [string ]string , len (realserver .TagSet ))
187- for _ , tag := range realserver .TagSet {
188- if tag .TagKey == nil || tag .TagValue == nil {
189- return errors .New ("realserver tag key or value is nil" )
190- }
191- respTags [* tag .TagKey ] = * tag .TagValue
192+ tagClient := m .(* TencentCloudClient ).apiV3Conn
193+ tagService := TagService {client : tagClient }
194+ tags , err := tagService .DescribeResourceTags (ctx , "gaap" , "realServer" , tagClient .Region , id )
195+ if err != nil {
196+ return err
192197 }
193- _ = d .Set ("tags" , respTags )
198+ _ = d .Set ("tags" , tags )
194199
195200 return nil
196201}
@@ -223,7 +228,7 @@ func resourceTencentCloudGaapRealserverUpdate(d *schema.ResourceData, m interfac
223228 tagService := TagService {client : m .(* TencentCloudClient ).apiV3Conn }
224229
225230 region := m .(* TencentCloudClient ).apiV3Conn .Region
226- resourceName := fmt . Sprintf ( "qcs:: gaap:%s:uin/:realserver/%s " , region , id )
231+ resourceName := BuildTagResourceName ( " gaap" , "realServer " , region , id )
227232
228233 if err := tagService .ModifyTags (ctx , resourceName , replaceTags , deleteTags ); err != nil {
229234 return err
0 commit comments