@@ -126,6 +126,7 @@ func ResourceTencentCloudElasticsearchInstance() *schema.Resource {
126
126
"web_node_type_info" : {
127
127
Type : schema .TypeList ,
128
128
Optional : true ,
129
+ Computed : true ,
129
130
Description : "Visual node configuration." ,
130
131
Elem : & schema.Resource {
131
132
Schema : map [string ]* schema.Schema {
@@ -234,7 +235,13 @@ func ResourceTencentCloudElasticsearchInstance() *schema.Resource {
234
235
Optional : true ,
235
236
Description : "A mapping of tags to assign to the instance. For tag limits, please refer to [Use Limits](https://intl.cloud.tencent.com/document/product/651/13354)." ,
236
237
},
237
-
238
+ "kibana_public_access" : {
239
+ Type : schema .TypeString ,
240
+ Optional : true ,
241
+ Computed : true ,
242
+ ValidateFunc : tccommon .ValidateAllowedStringValue (ES_KIBANA_PUBLIC_ACCESS ),
243
+ Description : "Kibana public network access status. Valid values are `OPEN` and `CLOSE`." ,
244
+ },
238
245
// computed
239
246
"elasticsearch_domain" : {
240
247
Type : schema .TypeString ,
@@ -412,6 +419,7 @@ func resourceTencentCloudElasticsearchInstanceCreate(d *schema.ResourceData, met
412
419
return err
413
420
}
414
421
422
+ var isUpdate bool
415
423
// es acl
416
424
esAcl := es.EsAcl {}
417
425
if aclMap , ok := helper .InterfacesHeadMap (d , "es_acl" ); ok {
@@ -427,17 +435,31 @@ func resourceTencentCloudElasticsearchInstanceCreate(d *schema.ResourceData, met
427
435
esAcl .WhiteIpList = append (esAcl .WhiteIpList , helper .String (d .(string )))
428
436
}
429
437
}
438
+ isUpdate = true
430
439
}
431
440
432
- err = resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
433
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , 0 , nil , nil , & esAcl )
434
- if errRet != nil {
435
- return tccommon .RetryError (errRet )
441
+ // KibanaPublicAccess
442
+ var kibanaPublicAccess string
443
+ if v , ok := d .GetOk ("kibana_public_access" ); ok {
444
+ kibanaPublicAccess = v .(string )
445
+ isUpdate = true
446
+ }
447
+ if isUpdate {
448
+ err = resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
449
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , kibanaPublicAccess , 0 , nil , nil , & esAcl )
450
+ if errRet != nil {
451
+ return tccommon .RetryError (errRet )
452
+ }
453
+ return nil
454
+ })
455
+ if err != nil {
456
+ return err
457
+ }
458
+
459
+ err = tencentCloudElasticsearchInstanceUpgradeWaiting (ctx , & elasticsearchService , instanceId )
460
+ if err != nil {
461
+ return err
436
462
}
437
- return nil
438
- })
439
- if err != nil {
440
- return err
441
463
}
442
464
443
465
// tags
@@ -501,6 +523,7 @@ func resourceTencentCloudElasticsearchInstanceRead(d *schema.ResourceData, meta
501
523
_ = d .Set ("elasticsearch_port" , instance .EsPort )
502
524
_ = d .Set ("kibana_url" , instance .KibanaUrl )
503
525
_ = d .Set ("create_time" , instance .CreateTime )
526
+ _ = d .Set ("kibana_public_access" , instance .KibanaPublicAccess )
504
527
505
528
multiZoneInfos := make ([]map [string ]interface {}, 0 , len (instance .MultiZoneInfo ))
506
529
for _ , item := range instance .MultiZoneInfo {
@@ -572,7 +595,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
572
595
instanceName := d .Get ("instance_name" ).(string )
573
596
// Update operation support at most one item at the same time
574
597
err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
575
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , instanceName , "" , 0 , nil , nil , nil )
598
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , instanceName , "" , "" , 0 , nil , nil , nil )
576
599
if errRet != nil {
577
600
return tccommon .RetryError (errRet )
578
601
}
@@ -581,11 +604,15 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
581
604
if err != nil {
582
605
return err
583
606
}
607
+ err = tencentCloudElasticsearchInstanceUpgradeWaiting (ctx , & elasticsearchService , instanceId )
608
+ if err != nil {
609
+ return err
610
+ }
584
611
}
585
612
if d .HasChange ("password" ) {
586
613
password := d .Get ("password" ).(string )
587
614
err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
588
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , password , 0 , nil , nil , nil )
615
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , password , "" , 0 , nil , nil , nil )
589
616
if errRet != nil {
590
617
return tccommon .RetryError (errRet )
591
618
}
@@ -594,8 +621,32 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
594
621
if err != nil {
595
622
return err
596
623
}
624
+ err = tencentCloudElasticsearchInstanceUpgradeWaiting (ctx , & elasticsearchService , instanceId )
625
+ if err != nil {
626
+ return err
627
+ }
597
628
}
598
629
630
+ // KibanaPublicAccess
631
+ if d .HasChange ("kibana_public_access" ) {
632
+ if v , ok := d .GetOk ("kibana_public_access" ); ok {
633
+ err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
634
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , v .(string ), 0 , nil , nil , nil )
635
+ if errRet != nil {
636
+ return tccommon .RetryError (errRet )
637
+ }
638
+ return nil
639
+ })
640
+ if err != nil {
641
+ return err
642
+ }
643
+ err = tencentCloudElasticsearchInstanceUpgradeWaiting (ctx , & elasticsearchService , instanceId )
644
+ if err != nil {
645
+ return err
646
+ }
647
+ }
648
+
649
+ }
599
650
if d .HasChange ("version" ) {
600
651
version := d .Get ("version" ).(string )
601
652
err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
@@ -639,7 +690,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
639
690
licenseType := d .Get ("license_type" ).(string )
640
691
licenseTypeUpgrading := licenseType != "oss"
641
692
err := resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
642
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , int64 (basicSecurityType ), nil , nil , nil )
693
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , int64 (basicSecurityType ), nil , nil , nil )
643
694
if errRet != nil {
644
695
err := errRet .(* sdkErrors.TencentCloudSDKError )
645
696
if err .Code == es .INVALIDPARAMETER && licenseTypeUpgrading {
@@ -670,7 +721,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
670
721
NodeType : helper .String (value ["node_type" ].(string )),
671
722
}
672
723
err = resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
673
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , 0 , nil , info , nil )
724
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , 0 , nil , info , nil )
674
725
if errRet != nil {
675
726
return tccommon .RetryError (errRet )
676
727
}
@@ -709,7 +760,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
709
760
nodeInfoList = append (nodeInfoList , & dataDisk )
710
761
}
711
762
err := resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
712
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , 0 , nodeInfoList , nil , nil )
763
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , 0 , nodeInfoList , nil , nil )
713
764
if errRet != nil {
714
765
return tccommon .RetryError (errRet )
715
766
}
@@ -760,7 +811,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
760
811
}
761
812
762
813
err := resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
763
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , 0 , nil , nil , & esAcl )
814
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , 0 , nil , nil , & esAcl )
764
815
if errRet != nil {
765
816
return tccommon .RetryError (errRet )
766
817
}
@@ -769,6 +820,10 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
769
820
if err != nil {
770
821
return err
771
822
}
823
+ err = tencentCloudElasticsearchInstanceUpgradeWaiting (ctx , & elasticsearchService , instanceId )
824
+ if err != nil {
825
+ return err
826
+ }
772
827
}
773
828
774
829
d .Partial (false )
0 commit comments