@@ -491,6 +491,52 @@ func (me *PostgresqlService) DescribeDBInstanceSecurityGroupsByGroupId(ctx conte
491
491
return
492
492
}
493
493
494
+ func (me * PostgresqlService ) DescribeReadOnlyGroupsById (ctx context.Context , masterDBInstanceId string , instanceId string ) (readOnlyGroupId * string , errRet error ) {
495
+ logId := tccommon .GetLogId (ctx )
496
+ request := postgresql .NewDescribeReadOnlyGroupsRequest ()
497
+ defer func () {
498
+ if errRet != nil {
499
+ log .Printf ("[CRITAL]%s api[%s] fail,reason[%s]" , logId , request .GetAction (), errRet .Error ())
500
+ }
501
+ }()
502
+
503
+ request .Filters = []* postgresql.Filter {
504
+ {
505
+ Name : helper .String ("db-master-instance-id" ),
506
+ Values : []* string {
507
+ helper .String (masterDBInstanceId ),
508
+ },
509
+ },
510
+ }
511
+
512
+ response , err := me .client .UsePostgresqlClient ().DescribeReadOnlyGroups (request )
513
+ if err != nil {
514
+ errRet = err
515
+ return
516
+ }
517
+
518
+ if response == nil || response .Response == nil {
519
+ errRet = fmt .Errorf ("TencentCloud SDK return nil response, %s" , request .GetAction ())
520
+ return
521
+ }
522
+
523
+ roGroupList := response .Response .ReadOnlyGroupList
524
+ if len (roGroupList ) > 0 {
525
+ for _ , roGroup := range roGroupList {
526
+ roDBInstanceList := roGroup .ReadOnlyDBInstanceList
527
+ for _ , roDBInstance := range roDBInstanceList {
528
+ roDBInstanceId := * roDBInstance .DBInstanceId
529
+ if roDBInstanceId == instanceId {
530
+ readOnlyGroupId = roGroup .ReadOnlyGroupId
531
+ return
532
+ }
533
+ }
534
+ }
535
+ }
536
+
537
+ return
538
+ }
539
+
494
540
func (me * PostgresqlService ) DescribeDBInstanceSecurityGroupsById (ctx context.Context , instanceId string ) (sg []string , errRet error ) {
495
541
logId := tccommon .GetLogId (ctx )
496
542
request := postgresql .NewDescribeDBInstanceSecurityGroupsRequest ()
0 commit comments