@@ -41,6 +41,7 @@ func resourceTencentCloudTcrCustomizedDomain() *schema.Resource {
4141 return & schema.Resource {
4242 Create : resourceTencentCloudTcrCustomizedDomainCreate ,
4343 Read : resourceTencentCloudTcrCustomizedDomainRead ,
44+ Update : resourceTencentCloudTcrCustomizedDomainUpdate ,
4445 Delete : resourceTencentCloudTcrCustomizedDomainDelete ,
4546 Importer : & schema.ResourceImporter {
4647 State : schema .ImportStatePassthrough ,
@@ -69,7 +70,6 @@ func resourceTencentCloudTcrCustomizedDomain() *schema.Resource {
6970
7071 "tags" : {
7172 Optional : true ,
72- ForceNew : true ,
7373 Type : schema .TypeMap ,
7474 Description : "Tag description list." ,
7575 },
@@ -192,6 +192,34 @@ func resourceTencentCloudTcrCustomizedDomainRead(d *schema.ResourceData, meta in
192192 return nil
193193}
194194
195+ func resourceTencentCloudTcrCustomizedDomainUpdate (d * schema.ResourceData , meta interface {}) error {
196+ defer logElapsed ("resource.tencentcloud_tcr_customized_domain.update" )()
197+ defer inconsistentCheck (d , meta )()
198+
199+ logId := getLogId (contextNil )
200+
201+ immutableArgs := []string {"registry_id" , "domain_name" , "certificate_id" }
202+
203+ for _ , v := range immutableArgs {
204+ if d .HasChange (v ) {
205+ return fmt .Errorf ("argument `%s` cannot be changed" , v )
206+ }
207+ }
208+ if d .HasChange ("tags" ) {
209+ ctx := context .WithValue (context .TODO (), logIdKey , logId )
210+ tcClient := meta .(* TencentCloudClient ).apiV3Conn
211+ tagService := & TagService {client : tcClient }
212+ oldTags , newTags := d .GetChange ("tags" )
213+ replaceTags , deleteTags := diffTags (oldTags .(map [string ]interface {}), newTags .(map [string ]interface {}))
214+ resourceName := BuildTagResourceName ("tcr" , "instance" , tcClient .Region , d .Id ())
215+ if err := tagService .ModifyTags (ctx , resourceName , replaceTags , deleteTags ); err != nil {
216+ return err
217+ }
218+ }
219+
220+ return resourceTencentCloudTcrCustomizedDomainRead (d , meta )
221+ }
222+
195223func resourceTencentCloudTcrCustomizedDomainDelete (d * schema.ResourceData , meta interface {}) error {
196224 defer logElapsed ("resource.tencentcloud_tcr_customized_domain.delete" )()
197225 defer inconsistentCheck (d , meta )()
0 commit comments