Skip to content

Commit 3bdc32d

Browse files
authored
Merge branch 'tencentcloudstack:master' into master
2 parents b4b2b91 + acef44f commit 3bdc32d

12 files changed

+310
-69
lines changed

.changelog/2837.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_kubernetes_node_pool: support delete `taints` and `labels` params
3+
```

.changelog/2848.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_cos_bucket: support SSE-KMS encryption
3+
```
4+

.changelog/2850.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
resource/tencentcloud_kubernetes_scale_worker: Lift the upper limit of 100
3+
```

tencentcloud/services/cos/resource_tc_cos_bucket.go

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,12 @@ func ResourceTencentCloudCosBucket() *schema.Resource {
188188
"encryption_algorithm": {
189189
Type: schema.TypeString,
190190
Optional: true,
191-
Description: "The server-side encryption algorithm to use. Valid value is `AES256`.",
191+
Description: "The server-side encryption algorithm to use. Valid values are `AES256`, `KMS` and `cos/kms`, `cos/kms` is for cdc cos scenario.",
192+
},
193+
"kms_id": {
194+
Type: schema.TypeString,
195+
Optional: true,
196+
Description: "The KMS Master Key ID. This value is valid only when `encryption_algorithm` is set to KMS or cos/kms. Set kms id to the specified value. If not specified, the default kms id is used.",
192197
},
193198
"versioning_enable": {
194199
Type: schema.TypeBool,
@@ -718,13 +723,16 @@ func resourceTencentCloudCosBucketRead(d *schema.ResourceData, meta interface{})
718723
}
719724

720725
// read the encryption algorithm
721-
encryption, err := cosService.GetBucketEncryption(ctx, bucket, cdcId)
726+
encryption, kmsId, err := cosService.GetBucketEncryption(ctx, bucket, cdcId)
722727
if err != nil {
723728
return err
724729
}
725730
if err = d.Set("encryption_algorithm", encryption); err != nil {
726731
return fmt.Errorf("setting encryption error: %v", err)
727732
}
733+
if err = d.Set("kms_id", kmsId); err != nil {
734+
return fmt.Errorf("setting kms_id error: %v", err)
735+
}
728736

729737
// read the versioning
730738
versioning, err := cosService.GetBucketVersioning(ctx, bucket, cdcId)
@@ -894,12 +902,11 @@ func resourceTencentCloudCosBucketUpdate(d *schema.ResourceData, meta interface{
894902

895903
}
896904

897-
if d.HasChange("encryption_algorithm") {
905+
if d.HasChange("encryption_algorithm") || d.HasChange("kms_id") {
898906
err := resourceTencentCloudCosBucketEncryptionUpdate(ctx, meta, d)
899907
if err != nil {
900908
return err
901909
}
902-
903910
}
904911

905912
if d.HasChange("versioning_enable") {
@@ -1005,6 +1012,7 @@ func resourceTencentCloudCosBucketEncryptionUpdate(ctx context.Context, meta int
10051012

10061013
bucket := d.Get("bucket").(string)
10071014
encryption := d.Get("encryption_algorithm").(string)
1015+
kmsId := d.Get("kms_id").(string)
10081016
cdcId := d.Get("cdc_id").(string)
10091017
if encryption == "" {
10101018
request := s3.DeleteBucketEncryptionInput{
@@ -1029,7 +1037,8 @@ func resourceTencentCloudCosBucketEncryptionUpdate(ctx context.Context, meta int
10291037
request.ServerSideEncryptionConfiguration = &s3.ServerSideEncryptionConfiguration{}
10301038
rules := make([]*s3.ServerSideEncryptionRule, 0)
10311039
defaultRule := &s3.ServerSideEncryptionByDefault{
1032-
SSEAlgorithm: aws.String(encryption),
1040+
SSEAlgorithm: aws.String(encryption),
1041+
KMSMasterKeyID: aws.String(kmsId),
10331042
}
10341043
rule := &s3.ServerSideEncryptionRule{
10351044
ApplyServerSideEncryptionByDefault: defaultRule,

tencentcloud/services/cos/resource_tc_cos_bucket.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,37 @@ resource "tencentcloud_cos_bucket" "private_bucket" {
3535
}
3636
```
3737

38+
Enable SSE-KMS encryption
39+
40+
```hcl
41+
data "tencentcloud_user_info" "info" {}
42+
43+
locals {
44+
app_id = data.tencentcloud_user_info.info.app_id
45+
}
46+
47+
resource "tencentcloud_kms_key" "example" {
48+
alias = "tf-example-kms-key"
49+
description = "example of kms key"
50+
key_rotation_enabled = false
51+
is_enabled = true
52+
53+
tags = {
54+
"createdBy" = "terraform"
55+
}
56+
}
57+
58+
resource "tencentcloud_cos_bucket" "bucket_basic" {
59+
bucket = "tf-bucket-cdc-${local.app_id}"
60+
acl = "private"
61+
encryption_algorithm = "KMS" #cos/kms for cdc cos
62+
kms_id = tencentcloud_kms_key.example.id
63+
versioning_enable = true
64+
acceleration_enable = true
65+
force_clean = true
66+
}
67+
```
68+
3869
Creation of multiple available zone bucket
3970

4071
```hcl

tencentcloud/services/cos/service_tencentcloud_cos.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ func (me *CosService) GetBucketWebsite(ctx context.Context, bucket string, cdcId
732732
return
733733
}
734734

735-
func (me *CosService) GetBucketEncryption(ctx context.Context, bucket string, cdcId string) (encryption string, errRet error) {
735+
func (me *CosService) GetBucketEncryption(ctx context.Context, bucket string, cdcId string) (encryption string, kmsId string, errRet error) {
736736
logId := tccommon.GetLogId(ctx)
737737

738738
request := s3.GetBucketEncryptionInput{
@@ -757,6 +757,10 @@ func (me *CosService) GetBucketEncryption(ctx context.Context, bucket string, cd
757757

758758
if len(response.ServerSideEncryptionConfiguration.Rules) > 0 {
759759
encryption = *response.ServerSideEncryptionConfiguration.Rules[0].ApplyServerSideEncryptionByDefault.SSEAlgorithm
760+
kMSMasterKeyID := response.ServerSideEncryptionConfiguration.Rules[0].ApplyServerSideEncryptionByDefault.KMSMasterKeyID
761+
if kMSMasterKeyID != nil {
762+
kmsId = *kMSMasterKeyID
763+
}
760764
}
761765
return
762766
}

tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go

Lines changed: 42 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)