@@ -1011,7 +1011,7 @@ func (me *OrganizationService) DeleteOrganizationOrgManagePolicyConfigById(ctx c
1011
1011
return
1012
1012
}
1013
1013
1014
- func (me * OrganizationService ) DescribeOrganizationOrgManagePolicyById (ctx context.Context , policyId string ) (OrgManagePolicy * organization.ListPoliciesResponseParams , errRet error ) {
1014
+ func (me * OrganizationService ) DescribeOrganizationOrgManagePolicyById (ctx context.Context , policyId string ) (OrgManagePolicy * organization.DescribePolicyResponseParams , errRet error ) {
1015
1015
logId := tccommon .GetLogId (ctx )
1016
1016
1017
1017
request := organization .NewListPoliciesRequest ()
@@ -1022,16 +1022,46 @@ func (me *OrganizationService) DescribeOrganizationOrgManagePolicyById(ctx conte
1022
1022
}
1023
1023
}()
1024
1024
1025
- ratelimit .Check (request .GetAction ())
1025
+ pageStart := uint64 (1 )
1026
+ rp := uint64 (PAGE_ITEM ) //to save in extension
1027
+ result := make ([]* organization.ListPolicyNode , 0 )
1028
+ for {
1029
+ request .Page = & pageStart
1030
+ request .Rp = & rp
1031
+ ratelimit .Check (request .GetAction ())
1032
+ response , err := me .client .UseOrganizationClient ().ListPolicies (request )
1033
+ if err != nil {
1034
+ errRet = err
1035
+ return
1036
+ }
1037
+ log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), response .ToJsonString ())
1026
1038
1027
- response , err := me .client .UseOrganizationClient ().ListPolicies (request )
1028
- if err != nil {
1029
- errRet = err
1030
- return
1039
+ if response == nil || len (response .Response .List ) < 1 {
1040
+ break
1041
+ }
1042
+ result = append (result , response .Response .List ... )
1043
+ if len (response .Response .List ) < PAGE_ITEM {
1044
+ break
1045
+ }
1046
+ pageStart += 1
1031
1047
}
1032
- log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), response .ToJsonString ())
1033
1048
1034
- OrgManagePolicy = response .Response
1049
+ for _ , item := range result {
1050
+ if helper .UInt64ToStr (* item .PolicyId ) == policyId {
1051
+ requestDescribe := organization .NewDescribePolicyRequest ()
1052
+ responseDescribe , err := me .client .UseOrganizationClient ().DescribePolicy (requestDescribe )
1053
+ if err != nil {
1054
+ errRet = err
1055
+ return
1056
+ }
1057
+ log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " , logId , request .GetAction (), request .ToJsonString (), responseDescribe .ToJsonString ())
1058
+
1059
+ if responseDescribe == nil || responseDescribe .Response == nil {
1060
+ break
1061
+ }
1062
+ OrgManagePolicy = responseDescribe .Response
1063
+ }
1064
+ }
1035
1065
return
1036
1066
}
1037
1067
0 commit comments