@@ -561,50 +561,52 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
561561 d .SetPartial ("basic_security_type" )
562562 }
563563
564- if v , ok := d .GetOk ("node_info_list" ); ok {
565- nodeInfos := v .([]interface {})
566- nodeInfoList := make ([]* es.NodeInfo , 0 , len (nodeInfos ))
567- for _ , d := range nodeInfos {
568- value := d .(map [string ]interface {})
569- nodeType := value ["node_type" ].(string )
570- diskSize := uint64 (value ["disk_size" ].(int ))
571- nodeNum := uint64 (value ["node_num" ].(int ))
572- types := value ["type" ].(string )
573- diskType := value ["disk_type" ].(string )
574- encrypt := value ["encrypt" ].(bool )
575- dataDisk := es.NodeInfo {
576- NodeType : & nodeType ,
577- DiskSize : & diskSize ,
578- NodeNum : & nodeNum ,
579- Type : & types ,
580- DiskType : & diskType ,
581- DiskEncrypt : helper .BoolToInt64Pointer (encrypt ),
582- }
583- nodeInfoList = append (nodeInfoList , & dataDisk )
584- }
585- err := resource .Retry (writeRetryTimeout , func () * resource.RetryError {
586- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , 0 , nodeInfoList )
587- if errRet != nil {
588- return retryError (errRet )
564+ if d .HasChange ("node_info_list" ) {
565+ if v , ok := d .GetOk ("node_info_list" ); ok {
566+ nodeInfos := v .([]interface {})
567+ nodeInfoList := make ([]* es.NodeInfo , 0 , len (nodeInfos ))
568+ for _ , d := range nodeInfos {
569+ value := d .(map [string ]interface {})
570+ nodeType := value ["node_type" ].(string )
571+ diskSize := uint64 (value ["disk_size" ].(int ))
572+ nodeNum := uint64 (value ["node_num" ].(int ))
573+ types := value ["type" ].(string )
574+ diskType := value ["disk_type" ].(string )
575+ encrypt := value ["encrypt" ].(bool )
576+ dataDisk := es.NodeInfo {
577+ NodeType : & nodeType ,
578+ DiskSize : & diskSize ,
579+ NodeNum : & nodeNum ,
580+ Type : & types ,
581+ DiskType : & diskType ,
582+ DiskEncrypt : helper .BoolToInt64Pointer (encrypt ),
583+ }
584+ nodeInfoList = append (nodeInfoList , & dataDisk )
589585 }
590- return nil
591- })
592- if err != nil {
593- return err
594- }
595- d .SetPartial ("node_info_list" )
596- err = resource .Retry (10 * readRetryTimeout , func () * resource.RetryError {
597- instance , errRet := elasticsearchService .DescribeInstanceById (ctx , instanceId )
598- if errRet != nil {
599- return retryError (errRet , InternalError )
586+ err := resource .Retry (writeRetryTimeout , func () * resource.RetryError {
587+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , 0 , nodeInfoList )
588+ if errRet != nil {
589+ return retryError (errRet )
590+ }
591+ return nil
592+ })
593+ if err != nil {
594+ return err
600595 }
601- if instance != nil && * instance .Status == ES_INSTANCE_STATUS_PROCESSING {
602- return resource .RetryableError (errors .New ("elasticsearch instance status is processing, retry..." ))
596+ d .SetPartial ("node_info_list" )
597+ err = resource .Retry (10 * readRetryTimeout , func () * resource.RetryError {
598+ instance , errRet := elasticsearchService .DescribeInstanceById (ctx , instanceId )
599+ if errRet != nil {
600+ return retryError (errRet , InternalError )
601+ }
602+ if instance != nil && * instance .Status == ES_INSTANCE_STATUS_PROCESSING {
603+ return resource .RetryableError (errors .New ("elasticsearch instance status is processing, retry..." ))
604+ }
605+ return nil
606+ })
607+ if err != nil {
608+ return err
603609 }
604- return nil
605- })
606- if err != nil {
607- return err
608610 }
609611 }
610612 if d .HasChange ("tags" ) {
0 commit comments