Skip to content

Commit b5d582c

Browse files
committed
feat(tco): add resource_tc_organization_org_manage_policy_config
1 parent 71b48d2 commit b5d582c

File tree

3 files changed

+55
-8
lines changed

3 files changed

+55
-8
lines changed

tencentcloud/services/tco/extension_tco.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ const (
66

77
ServiceControlPolicyCode = 0
88
TagPolicyCode = 1
9+
10+
PAGE_ITEM = 200
911
)

tencentcloud/services/tco/resource_tc_organization_org_manage_policy.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,21 @@ func resourceTencentCloudOrganizationOrgManagePolicyRead(d *schema.ResourceData,
118118
return nil
119119
}
120120

121+
if OrgManagePolicy.PolicyName != nil {
122+
_ = d.Set("name", OrgManagePolicy.PolicyName)
123+
}
124+
125+
if OrgManagePolicy.PolicyDocument != nil {
126+
_ = d.Set("content", OrgManagePolicy.PolicyName)
127+
}
128+
129+
if OrgManagePolicy.Type != nil {
130+
_ = d.Set("type", OrgManagePolicy.Type)
131+
}
132+
133+
if OrgManagePolicy.Description != nil {
134+
_ = d.Set("description", OrgManagePolicy.Description)
135+
}
121136
return nil
122137
}
123138

tencentcloud/services/tco/service_tencentcloud_organization.go

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,7 +1011,7 @@ func (me *OrganizationService) DeleteOrganizationOrgManagePolicyConfigById(ctx c
10111011
return
10121012
}
10131013

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) {
10151015
logId := tccommon.GetLogId(ctx)
10161016

10171017
request := organization.NewListPoliciesRequest()
@@ -1022,16 +1022,46 @@ func (me *OrganizationService) DescribeOrganizationOrgManagePolicyById(ctx conte
10221022
}
10231023
}()
10241024

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())
10261038

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
10311047
}
1032-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
10331048

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+
}
10351065
return
10361066
}
10371067

0 commit comments

Comments
 (0)