Skip to content

Commit 1f07f8a

Browse files
WeiMengXSWeiMengXS
andauthored
feat: organization (#2229)
* feat: quit organization operation * feat: quit organization operation * feat: quit organization operation --------- Co-authored-by: WeiMengXS <nickcchen@tencent.com>
1 parent dbd3d6e commit 1f07f8a

6 files changed

+184
-0
lines changed

.changelog/2229.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:new-resource
2+
tencentcloud_organization_quit_organization_operation
3+
```

tencentcloud/provider.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ Cloud Access Management(CAM)
253253
tencentcloud_cam_set_policy_version_config
254254
tencentcloud_cam_user_permission_boundary_attachment
255255
tencentcloud_cam_role_permission_boundary_attachment
256+
tencentcloud_organization_quit_organization_operation
256257
257258
Customer Identity and Access Management(CIAM)
258259
Resource
@@ -2868,6 +2869,7 @@ func Provider() *schema.Provider {
28682869
"tencentcloud_cam_set_policy_version_config": resourceTencentCloudCamSetPolicyVersionConfig(),
28692870
"tencentcloud_cam_user_permission_boundary_attachment": resourceTencentCloudCamUserPermissionBoundaryAttachment(),
28702871
"tencentcloud_cam_role_permission_boundary_attachment": resourceTencentCloudCamRolePermissionBoundaryAttachment(),
2872+
"tencentcloud_organization_quit_organization_operation": resourceTencentCloudOrganizationQuitOrganizationOperation(),
28712873
"tencentcloud_ciam_user_group": resourceTencentCloudCiamUserGroup(),
28722874
"tencentcloud_ciam_user_store": resourceTencentCloudCiamUserStore(),
28732875
"tencentcloud_scf_function": resourceTencentCloudScfFunction(),
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
/*
2+
Provides a resource to create a organization quit_organization_operation
3+
4+
Example Usage
5+
6+
```hcl
7+
resource "tencentcloud_organization_quit_organization_operation" "quit_organization_operation" {
8+
org_id = 45155
9+
}
10+
```
11+
12+
Import
13+
14+
organization quit_organization_operation can be imported using the id, e.g.
15+
16+
```
17+
terraform import tencentcloud_organization_quit_organization_operation.quit_organization_operation quit_organization_operation_id
18+
```
19+
*/
20+
package tencentcloud
21+
22+
import (
23+
"log"
24+
25+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
26+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
27+
organization "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization/v20210331"
28+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
29+
)
30+
31+
func resourceTencentCloudOrganizationQuitOrganizationOperation() *schema.Resource {
32+
return &schema.Resource{
33+
Create: resourceTencentCloudOrganizationQuitOrganizationOperationCreate,
34+
Read: resourceTencentCloudOrganizationQuitOrganizationOperationRead,
35+
Delete: resourceTencentCloudOrganizationQuitOrganizationOperationDelete,
36+
Importer: &schema.ResourceImporter{
37+
State: schema.ImportStatePassthrough,
38+
},
39+
Schema: map[string]*schema.Schema{
40+
"org_id": {
41+
Required: true,
42+
ForceNew: true,
43+
Type: schema.TypeInt,
44+
Description: "Organization ID.",
45+
},
46+
},
47+
}
48+
}
49+
50+
func resourceTencentCloudOrganizationQuitOrganizationOperationCreate(d *schema.ResourceData, meta interface{}) error {
51+
defer logElapsed("resource.tencentcloud_organization_quit_organization_operation.create")()
52+
defer inconsistentCheck(d, meta)()
53+
54+
logId := getLogId(contextNil)
55+
56+
var (
57+
request = organization.NewQuitOrganizationRequest()
58+
orgId uint64
59+
)
60+
if v, _ := d.GetOk("org_id"); v != nil {
61+
request.OrgId = helper.IntUint64(v.(int))
62+
}
63+
64+
err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
65+
result, e := meta.(*TencentCloudClient).apiV3Conn.UseOrganizationClient().QuitOrganization(request)
66+
if e != nil {
67+
return retryError(e)
68+
} else {
69+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString())
70+
}
71+
return nil
72+
})
73+
if err != nil {
74+
log.Printf("[CRITAL]%s operate organization quitOrganizationOperation failed, reason:%+v", logId, err)
75+
return err
76+
}
77+
78+
d.SetId(helper.UInt64ToStr(orgId))
79+
80+
return resourceTencentCloudOrganizationQuitOrganizationOperationRead(d, meta)
81+
}
82+
83+
func resourceTencentCloudOrganizationQuitOrganizationOperationRead(d *schema.ResourceData, meta interface{}) error {
84+
defer logElapsed("resource.tencentcloud_organization_quit_organization_operation.read")()
85+
defer inconsistentCheck(d, meta)()
86+
87+
return nil
88+
}
89+
90+
func resourceTencentCloudOrganizationQuitOrganizationOperationDelete(d *schema.ResourceData, meta interface{}) error {
91+
defer logElapsed("resource.tencentcloud_organization_quit_organization_operation.delete")()
92+
defer inconsistentCheck(d, meta)()
93+
94+
return nil
95+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package tencentcloud
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
)
8+
9+
func TestAccTencentCloudOrganizationQuitOrganizationOperationResource_basic(t *testing.T) {
10+
t.Parallel()
11+
resource.Test(t, resource.TestCase{
12+
PreCheck: func() {
13+
testAccPreCheck(t)
14+
},
15+
Providers: testAccProviders,
16+
Steps: []resource.TestStep{
17+
{
18+
Config: testAccOrganizationQuitOrganizationOperation,
19+
Check: resource.ComposeTestCheckFunc(
20+
resource.TestCheckResourceAttrSet("tencentcloud_organization_quit_organization_operation.quit_organization_operation", "id"),
21+
resource.TestCheckResourceAttr("tencentcloud_organization_quit_organization_operation.quit_organization_operation", "org_id", "45155")),
22+
},
23+
{
24+
ResourceName: "tencentcloud_organization_quit_organization_operation.quit_organization_operation",
25+
ImportState: true,
26+
ImportStateVerify: true,
27+
},
28+
},
29+
})
30+
}
31+
32+
const testAccOrganizationQuitOrganizationOperation = `
33+
34+
resource "tencentcloud_organization_quit_organization_operation" "quit_organization_operation" {
35+
org_id = 45155
36+
}
37+
38+
`
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
subcategory: "Cloud Access Management(CAM)"
3+
layout: "tencentcloud"
4+
page_title: "TencentCloud: tencentcloud_organization_quit_organization_operation"
5+
sidebar_current: "docs-tencentcloud-resource-organization_quit_organization_operation"
6+
description: |-
7+
Provides a resource to create a organization quit_organization_operation
8+
---
9+
10+
# tencentcloud_organization_quit_organization_operation
11+
12+
Provides a resource to create a organization quit_organization_operation
13+
14+
## Example Usage
15+
16+
```hcl
17+
resource "tencentcloud_organization_quit_organization_operation" "quit_organization_operation" {
18+
org_id = 45155
19+
}
20+
```
21+
22+
## Argument Reference
23+
24+
The following arguments are supported:
25+
26+
* `org_id` - (Required, Int, ForceNew) Organization ID.
27+
28+
## Attributes Reference
29+
30+
In addition to all arguments above, the following attributes are exported:
31+
32+
* `id` - ID of the resource.
33+
34+
35+
36+
## Import
37+
38+
organization quit_organization_operation can be imported using the id, e.g.
39+
40+
```
41+
terraform import tencentcloud_organization_quit_organization_operation.quit_organization_operation quit_organization_operation_id
42+
```
43+

website/tencentcloud.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,9 @@
601601
<li>
602602
<a href="/docs/providers/tencentcloud/r/cam_user_saml_config.html">tencentcloud_cam_user_saml_config</a>
603603
</li>
604+
<li>
605+
<a href="/docs/providers/tencentcloud/r/organization_quit_organization_operation.html">tencentcloud_organization_quit_organization_operation</a>
606+
</li>
604607
</ul>
605608
</li>
606609
</ul>

0 commit comments

Comments
 (0)