@@ -491,6 +491,52 @@ func (me *PostgresqlService) DescribeDBInstanceSecurityGroupsByGroupId(ctx conte
491491 return
492492}
493493
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+
494540func (me * PostgresqlService ) DescribeDBInstanceSecurityGroupsById (ctx context.Context , instanceId string ) (sg []string , errRet error ) {
495541 logId := tccommon .GetLogId (ctx )
496542 request := postgresql .NewDescribeDBInstanceSecurityGroupsRequest ()
0 commit comments