Skip to content

Commit 0172a3d

Browse files
committed
add
1 parent 51cf3dc commit 0172a3d

9 files changed

+396
-0
lines changed

tencentcloud/provider.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1280,6 +1280,7 @@ func Provider() *schema.Provider {
12801280
"tencentcloud_kubernetes_serverless_node_pool": tke.ResourceTencentCloudKubernetesServerlessNodePool(),
12811281
"tencentcloud_kubernetes_encryption_protection": tke.ResourceTencentCloudKubernetesEncryptionProtection(),
12821282
"tencentcloud_kubernetes_cluster_master_attachment": tke.ResourceTencentCloudKubernetesClusterMasterAttachment(),
1283+
"tencentcloud_kubernetes_cluster_audit": tke.ResourceTencentCloudKubernetesClusterAudit(),
12831284
"tencentcloud_mysql_backup_policy": cdb.ResourceTencentCloudMysqlBackupPolicy(),
12841285
"tencentcloud_mysql_account": cdb.ResourceTencentCloudMysqlAccount(),
12851286
"tencentcloud_mysql_account_privilege": cdb.ResourceTencentCloudMysqlAccountPrivilege(),

tencentcloud/provider.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -690,6 +690,7 @@ Tencent Kubernetes Engine(TKE)
690690
tencentcloud_kubernetes_health_check_policy
691691
tencentcloud_kubernetes_log_config
692692
tencentcloud_kubernetes_cluster_master_attachment
693+
tencentcloud_kubernetes_cluster_audit
693694

694695
TDMQ for Pulsar(tpulsar)
695696
Data Source

tencentcloud/services/tke/resource_tc_kubernetes_cluster_audit.go

Lines changed: 192 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Provides a resource to create a kubernetes cluster audit
2+
3+
Example Usage
4+
5+
Automatic creation of log sets and topics
6+
7+
```hcl
8+
resource "tencentcloud_kubernetes_cluster_audit" "example" {
9+
cluster_id = "cls-fdy7hm1q"
10+
delete_logset_and_topic = true
11+
}
12+
```
13+
14+
Manually fill in log sets and topics
15+
16+
```hcl
17+
resource "tencentcloud_kubernetes_cluster_audit" "example" {
18+
cluster_id = "cls-fdy7hm1q"
19+
logset_id = "30d32c56-e650-4175-9c70-5280cddee48c"
20+
topic_id = "cfc056ca-517f-46fd-be68-9c5cad518b2f"
21+
topic_region = "ap-guangzhou"
22+
delete_logset_and_topic = false
23+
}
24+
```
25+
26+
Import
27+
28+
kubernetes cluster audit can be imported using the id, e.g.
29+
30+
```
31+
terraform import tencentcloud_kubernetes_cluster_audit.example cls-fdy7hm1q
32+
```
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package tke
2+
3+
import (
4+
"context"
5+
"fmt"
6+
"log"
7+
8+
tkev20180525 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525"
9+
tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common"
10+
)
11+
12+
func resourceTencentCloudKubernetesClusterAuditReadPreHandleResponse0(ctx context.Context, resp *tkev20180525.DescribeLogSwitchesResponseParams) error {
13+
logId := tccommon.GetLogId(ctx)
14+
d := tccommon.ResourceDataFromContext(ctx)
15+
if d == nil {
16+
return fmt.Errorf("resource data can not be nil")
17+
}
18+
19+
if resp.SwitchSet == nil {
20+
d.SetId("")
21+
log.Printf("[WARN]%s resource `kubernetes_cluster_audit` [%s] not found, please check if it has been deleted.\n", logId, d.Id())
22+
return nil
23+
}
24+
25+
auditInfo := resp.SwitchSet[0].Audit
26+
if auditInfo.LogsetId != nil {
27+
_ = d.Set("logset_id", auditInfo.LogsetId)
28+
}
29+
30+
if auditInfo.TopicId != nil {
31+
_ = d.Set("topic_id", auditInfo.TopicId)
32+
}
33+
34+
if auditInfo.TopicRegion != nil {
35+
_ = d.Set("topic_region", auditInfo.TopicRegion)
36+
}
37+
38+
return nil
39+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package tke_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
8+
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
9+
)
10+
11+
func TestAccTencentCloudKubernetesClusterAuditResource_basic(t *testing.T) {
12+
t.Parallel()
13+
resource.Test(t, resource.TestCase{
14+
PreCheck: func() {
15+
tcacctest.AccPreCheck(t)
16+
},
17+
Providers: tcacctest.AccProviders,
18+
Steps: []resource.TestStep{
19+
{
20+
Config: testAccKubernetesClusterAudit,
21+
Check: resource.ComposeTestCheckFunc(
22+
resource.TestCheckResourceAttrSet("tencentcloud_kubernetes_cluster_audit.example", "id"),
23+
resource.TestCheckResourceAttrSet("tencentcloud_kubernetes_cluster_audit.example", "cluster_id"),
24+
resource.TestCheckResourceAttrSet("tencentcloud_kubernetes_cluster_audit.example", "delete_logset_and_topic"),
25+
),
26+
},
27+
{
28+
ResourceName: "tencentcloud_kubernetes_cluster_audit.example",
29+
ImportState: true,
30+
ImportStateVerify: true,
31+
},
32+
},
33+
})
34+
}
35+
36+
const testAccKubernetesClusterAudit = `
37+
resource "tencentcloud_kubernetes_cluster_audit" "example" {
38+
cluster_id = "cls-fdy7hm1q"
39+
delete_logset_and_topic = true
40+
}
41+
`

tencentcloud/services/tke/service_tencentcloud_tke.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3738,3 +3738,28 @@ func (me *TkeService) DescribeKubernetesClusterMasterAttachmentById2(ctx context
37383738
ret = response.Response
37393739
return
37403740
}
3741+
3742+
func (me *TkeService) DescribeKubernetesClusterAuditById(ctx context.Context, clusterId string) (ret *tke.DescribeLogSwitchesResponseParams, errRet error) {
3743+
logId := tccommon.GetLogId(ctx)
3744+
3745+
request := tke.NewDescribeLogSwitchesRequest()
3746+
request.ClusterIds = []*string{helper.String(clusterId)}
3747+
3748+
defer func() {
3749+
if errRet != nil {
3750+
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error())
3751+
}
3752+
}()
3753+
3754+
ratelimit.Check(request.GetAction())
3755+
3756+
response, err := me.client.UseTkeV20180525Client().DescribeLogSwitches(request)
3757+
if err != nil {
3758+
errRet = err
3759+
return
3760+
}
3761+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
3762+
3763+
ret = response.Response
3764+
return
3765+
}

0 commit comments

Comments
 (0)