@@ -242,6 +242,13 @@ func ResourceTencentCloudElasticsearchInstance() *schema.Resource {
242
242
ValidateFunc : tccommon .ValidateAllowedStringValue (ES_KIBANA_PUBLIC_ACCESS ),
243
243
Description : "Kibana public network access status. Valid values are `OPEN` and `CLOSE`." ,
244
244
},
245
+ "kibana_private_access" : {
246
+ Type : schema .TypeString ,
247
+ Optional : true ,
248
+ Computed : true ,
249
+ ValidateFunc : tccommon .ValidateAllowedStringValue (ES_PRIVATE_ACCESS ),
250
+ Description : "Kibana private network access status. Valid values are `OPEN` and `CLOSE`." ,
251
+ },
245
252
"cos_backup" : {
246
253
Type : schema .TypeList ,
247
254
Optional : true ,
@@ -456,6 +463,7 @@ func resourceTencentCloudElasticsearchInstanceCreate(d *schema.ResourceData, met
456
463
457
464
//internal version: replace setTag begin, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation.
458
465
//internal version: replace setTag end, please do not modify this annotation and refrain from inserting any code between the beginning and end lines of the annotation.
466
+ var actualKibanaPrivateAccess string
459
467
instanceEmptyRetries := 5
460
468
err = resource .Retry (15 * tccommon .ReadRetryTimeout , func () * resource.RetryError {
461
469
instance , errRet := elasticsearchService .DescribeInstanceById (ctx , instanceId )
@@ -472,13 +480,15 @@ func resourceTencentCloudElasticsearchInstanceCreate(d *schema.ResourceData, met
472
480
if * instance .Status != ES_INSTANCE_STATUS_NORMAL {
473
481
return resource .RetryableError (fmt .Errorf ("elasticsearch instance status is %v, retrying" , * instance .Status ))
474
482
}
483
+ if instance .KibanaPrivateAccess != nil {
484
+ actualKibanaPrivateAccess = * instance .KibanaPrivateAccess
485
+ }
475
486
return nil
476
487
})
477
488
if err != nil {
478
489
return err
479
490
}
480
491
481
- var isUpdate bool
482
492
// es acl
483
493
esAcl := es.EsAcl {}
484
494
if aclMap , ok := helper .InterfacesHeadMap (d , "es_acl" ); ok {
@@ -494,9 +504,24 @@ func resourceTencentCloudElasticsearchInstanceCreate(d *schema.ResourceData, met
494
504
esAcl .WhiteIpList = append (esAcl .WhiteIpList , helper .String (d .(string )))
495
505
}
496
506
}
497
- isUpdate = true
507
+ err := resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
508
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , "" , 0 , nil , nil , & esAcl , nil , nil )
509
+ if errRet != nil {
510
+ return tccommon .RetryError (errRet )
511
+ }
512
+ return nil
513
+ })
514
+ if err != nil {
515
+ return err
516
+ }
517
+ err = tencentCloudElasticsearchInstanceUpgradeWaiting (ctx , & elasticsearchService , instanceId )
518
+ if err != nil {
519
+ return err
520
+ }
498
521
}
499
522
523
+ var isUpdate bool
524
+
500
525
// KibanaPublicAccess
501
526
var kibanaPublicAccess string
502
527
if v , ok := d .GetOk ("kibana_public_access" ); ok {
@@ -508,9 +533,18 @@ func resourceTencentCloudElasticsearchInstanceCreate(d *schema.ResourceData, met
508
533
}
509
534
}
510
535
536
+ var kibanaPrivateAccess string
537
+ if v , ok := d .GetOk ("kibana_private_access" ); ok {
538
+ if actualKibanaPrivateAccess != "" && actualKibanaPrivateAccess != v .(string ) {
539
+ kibanaPrivateAccess = v .(string )
540
+ isUpdate = true
541
+ }
542
+
543
+ }
544
+
511
545
if isUpdate {
512
546
err = resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
513
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , kibanaPublicAccess , "" , 0 , nil , nil , & esAcl , nil , nil )
547
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , kibanaPublicAccess , kibanaPrivateAccess , "" , 0 , nil , nil , nil , nil , nil )
514
548
if errRet != nil {
515
549
return tccommon .RetryError (errRet )
516
550
}
@@ -556,7 +590,7 @@ func resourceTencentCloudElasticsearchInstanceCreate(d *schema.ResourceData, met
556
590
557
591
if isUpdate {
558
592
err = resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
559
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , publicAccess , 0 , nil , nil , nil , nil , & esPublicAcl )
593
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , publicAccess , 0 , nil , nil , nil , nil , & esPublicAcl )
560
594
if errRet != nil {
561
595
return tccommon .RetryError (errRet )
562
596
}
@@ -586,7 +620,7 @@ func resourceTencentCloudElasticsearchInstanceCreate(d *schema.ResourceData, met
586
620
}
587
621
588
622
err = resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
589
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , 0 , nil , nil , nil , & cosBackup , nil )
623
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , "" , 0 , nil , nil , nil , & cosBackup , nil )
590
624
if errRet != nil {
591
625
return tccommon .RetryError (errRet )
592
626
}
@@ -666,6 +700,7 @@ func resourceTencentCloudElasticsearchInstanceRead(d *schema.ResourceData, meta
666
700
_ = d .Set ("kibana_url" , instance .KibanaUrl )
667
701
_ = d .Set ("create_time" , instance .CreateTime )
668
702
_ = d .Set ("kibana_public_access" , instance .KibanaPublicAccess )
703
+ _ = d .Set ("kibana_private_access" , instance .KibanaPrivateAccess )
669
704
670
705
multiZoneInfos := make ([]map [string ]interface {}, 0 , len (instance .MultiZoneInfo ))
671
706
for _ , item := range instance .MultiZoneInfo {
@@ -770,7 +805,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
770
805
instanceName := d .Get ("instance_name" ).(string )
771
806
// Update operation support at most one item at the same time
772
807
err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
773
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , instanceName , "" , "" , "" , 0 , nil , nil , nil , nil , nil )
808
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , instanceName , "" , "" , "" , "" , 0 , nil , nil , nil , nil , nil )
774
809
if errRet != nil {
775
810
return tccommon .RetryError (errRet )
776
811
}
@@ -787,7 +822,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
787
822
if d .HasChange ("password" ) {
788
823
password := d .Get ("password" ).(string )
789
824
err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
790
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , password , "" , "" , 0 , nil , nil , nil , nil , nil )
825
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , password , "" , "" , "" , 0 , nil , nil , nil , nil , nil )
791
826
if errRet != nil {
792
827
return tccommon .RetryError (errRet )
793
828
}
@@ -806,7 +841,27 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
806
841
if d .HasChange ("kibana_public_access" ) {
807
842
if v , ok := d .GetOk ("kibana_public_access" ); ok {
808
843
err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
809
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , v .(string ), "" , 0 , nil , nil , nil , nil , nil )
844
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , v .(string ), "" , "" , 0 , nil , nil , nil , nil , nil )
845
+ if errRet != nil {
846
+ return tccommon .RetryError (errRet )
847
+ }
848
+ return nil
849
+ })
850
+ if err != nil {
851
+ return err
852
+ }
853
+ err = tencentCloudElasticsearchInstanceUpgradeWaiting (ctx , & elasticsearchService , instanceId )
854
+ if err != nil {
855
+ return err
856
+ }
857
+ }
858
+
859
+ }
860
+ // KibanaPrivateAccess
861
+ if d .HasChange ("kibana_private_access" ) {
862
+ if v , ok := d .GetOk ("kibana_private_access" ); ok {
863
+ err := resource .Retry (tccommon .WriteRetryTimeout , func () * resource.RetryError {
864
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , v .(string ), "" , 0 , nil , nil , nil , nil , nil )
810
865
if errRet != nil {
811
866
return tccommon .RetryError (errRet )
812
867
}
@@ -865,7 +920,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
865
920
licenseType := d .Get ("license_type" ).(string )
866
921
licenseTypeUpgrading := licenseType != "oss"
867
922
err := resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
868
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , int64 (basicSecurityType ), nil , nil , nil , nil , nil )
923
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , "" , int64 (basicSecurityType ), nil , nil , nil , nil , nil )
869
924
if errRet != nil {
870
925
err := errRet .(* sdkErrors.TencentCloudSDKError )
871
926
if err .Code == es .INVALIDPARAMETER && licenseTypeUpgrading {
@@ -896,7 +951,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
896
951
NodeType : helper .String (value ["node_type" ].(string )),
897
952
}
898
953
err = resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
899
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , 0 , nil , info , nil , nil , nil )
954
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , "" , 0 , nil , info , nil , nil , nil )
900
955
if errRet != nil {
901
956
return tccommon .RetryError (errRet )
902
957
}
@@ -935,7 +990,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
935
990
nodeInfoList = append (nodeInfoList , & dataDisk )
936
991
}
937
992
err := resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
938
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , 0 , nodeInfoList , nil , nil , nil , nil )
993
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , "" , 0 , nodeInfoList , nil , nil , nil , nil )
939
994
if errRet != nil {
940
995
return tccommon .RetryError (errRet )
941
996
}
@@ -972,7 +1027,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
972
1027
}
973
1028
}
974
1029
err := resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
975
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , publicAccess , 0 , nil , nil , nil , nil , & esPublicAcl )
1030
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , publicAccess , 0 , nil , nil , nil , nil , & esPublicAcl )
976
1031
if errRet != nil {
977
1032
return tccommon .RetryError (errRet )
978
1033
}
@@ -1023,7 +1078,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
1023
1078
}
1024
1079
1025
1080
err := resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
1026
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , 0 , nil , nil , & esAcl , nil , nil )
1081
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , "" , 0 , nil , nil , & esAcl , nil , nil )
1027
1082
if errRet != nil {
1028
1083
return tccommon .RetryError (errRet )
1029
1084
}
@@ -1053,7 +1108,7 @@ func resourceTencentCloudElasticsearchInstanceUpdate(d *schema.ResourceData, met
1053
1108
}
1054
1109
1055
1110
err := resource .Retry (tccommon .WriteRetryTimeout * 2 , func () * resource.RetryError {
1056
- errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , 0 , nil , nil , nil , & cosBackup , nil )
1111
+ errRet := elasticsearchService .UpdateInstance (ctx , instanceId , "" , "" , "" , "" , "" , 0 , nil , nil , nil , & cosBackup , nil )
1057
1112
if errRet != nil {
1058
1113
return tccommon .RetryError (errRet )
1059
1114
}
0 commit comments