Skip to content

Commit e60c329

Browse files
committed
add resource tencentcloud_kms_key
1 parent ec8b211 commit e60c329

File tree

6 files changed

+1197
-0
lines changed

6 files changed

+1197
-0
lines changed

tencentcloud/connectivity/client.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package connectivity
33
import (
44
"fmt"
55

6+
kms "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms/v20190118"
7+
68
"github.com/aws/aws-sdk-go/aws"
79
"github.com/aws/aws-sdk-go/aws/credentials"
810
"github.com/aws/aws-sdk-go/aws/endpoints"
@@ -82,6 +84,7 @@ type TencentCloudClient struct {
8284
vodConn *vod.Client
8385
apiGatewayConn *apigateway.Client
8486
sslCertificateConn *sslCertificate.Client
87+
kmsConn *kms.Client
8588
}
8689

8790
// NewClientProfile returns a new ClientProfile
@@ -533,3 +536,15 @@ func (me *TencentCloudClient) UseSSLCertificateClient() *sslCertificate.Client {
533536

534537
return me.sslCertificateConn
535538
}
539+
540+
func (me *TencentCloudClient) UseKmsClient() *kms.Client {
541+
if me.kmsConn != nil {
542+
return me.kmsConn
543+
}
544+
545+
cpf := me.NewClientProfile(300)
546+
me.kmsConn, _ = kms.NewClient(me.Credential, me.Region, cpf)
547+
me.kmsConn.WithHttpTransport(&LogRoundTripper{})
548+
549+
return me.kmsConn
550+
}

tencentcloud/extension_kms.go

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
package tencentcloud
2+
3+
const (
4+
KMS_ORIGIN_TENCENT_KMS = "TENCENT_KMS"
5+
KMS_ORIGIN_EXTERNAL = "EXTERNAL"
6+
KMS_ORIGIN_ALL = "ALL"
7+
)
8+
9+
var KMS_ORIGIN_FILTER = []string{
10+
KMS_ORIGIN_TENCENT_KMS,
11+
KMS_ORIGIN_EXTERNAL,
12+
KMS_ORIGIN_ALL,
13+
}
14+
15+
var KMS_ORIGIN = []string{
16+
KMS_ORIGIN_TENCENT_KMS,
17+
KMS_ORIGIN_EXTERNAL,
18+
}
19+
20+
var KMS_ORIGIN_TYPE = map[string]uint64{
21+
KMS_ORIGIN_TENCENT_KMS: 1,
22+
KMS_ORIGIN_EXTERNAL: 2,
23+
}
24+
25+
const (
26+
KMS_KEY_USAGE_ALL = "ALL"
27+
KMS_KEY_USAGE_ENCRYPT_DECRYPT = "ENCRYPT_DECRYPT"
28+
KMS_KEY_USAGE_ASYMMETRIC_DECRYPT_RSA_2048 = "ASYMMETRIC_DECRYPT_RSA_2048"
29+
KMS_KEY_USAGE_ASYMMETRIC_DECRYPT_SM2 = "ASYMMETRIC_DECRYPT_SM2"
30+
KMS_KEY_USAGE_ASYMMETRIC_SIGN_VERIFY_SM2 = "ASYMMETRIC_SIGN_VERIFY_SM2"
31+
KMS_KEY_USAGE_ASYMMETRIC_SIGN_VERIFY_RSA_2048 = "ASYMMETRIC_SIGN_VERIFY_RSA_2048"
32+
KMS_KEY_USAGE_ASYMMETRIC_SIGN_VERIFY_ECC = "ASYMMETRIC_SIGN_VERIFY_ECC"
33+
)
34+
35+
var KMS_KEY_USAGE_FILTER = []string{
36+
KMS_KEY_USAGE_ALL,
37+
KMS_KEY_USAGE_ENCRYPT_DECRYPT,
38+
KMS_KEY_USAGE_ASYMMETRIC_DECRYPT_RSA_2048,
39+
KMS_KEY_USAGE_ASYMMETRIC_DECRYPT_SM2,
40+
KMS_KEY_USAGE_ASYMMETRIC_SIGN_VERIFY_SM2,
41+
KMS_KEY_USAGE_ASYMMETRIC_SIGN_VERIFY_RSA_2048,
42+
KMS_KEY_USAGE_ASYMMETRIC_SIGN_VERIFY_ECC,
43+
}
44+
45+
var KMS_KEY_USAGE = []string{
46+
KMS_KEY_USAGE_ENCRYPT_DECRYPT,
47+
KMS_KEY_USAGE_ASYMMETRIC_DECRYPT_RSA_2048,
48+
KMS_KEY_USAGE_ASYMMETRIC_DECRYPT_SM2,
49+
KMS_KEY_USAGE_ASYMMETRIC_SIGN_VERIFY_SM2,
50+
KMS_KEY_USAGE_ASYMMETRIC_SIGN_VERIFY_RSA_2048,
51+
KMS_KEY_USAGE_ASYMMETRIC_SIGN_VERIFY_ECC,
52+
}
53+
54+
const (
55+
KMS_PAGE_LIMIT = 200
56+
)
57+
58+
const (
59+
KMS_WRAPPING_ALGORITHM_RSAES_PKCS1_V1_5 = "RSAES_PKCS1_V1_5"
60+
KMS_WRAPPING_ALGORITHM_RSAES_OAEP_SHA_1 = "RSAES_OAEP_SHA_1"
61+
KMS_WRAPPING_ALGORITHM_RSAES_OAEP_SHA_256 = "RSAES_OAEP_SHA_256"
62+
)
63+
64+
var KMS_WRAPPING_ALGORITHM = []string{
65+
KMS_WRAPPING_ALGORITHM_RSAES_PKCS1_V1_5,
66+
KMS_WRAPPING_ALGORITHM_RSAES_OAEP_SHA_1,
67+
KMS_WRAPPING_ALGORITHM_RSAES_OAEP_SHA_256,
68+
}
69+
70+
const (
71+
KMS_WRAPPING_KEY_SPEC_RSA_2048 = "RSA_2048"
72+
)
73+
74+
var KMS_WRAPPING_KEY_SPEC = []string{
75+
KMS_WRAPPING_KEY_SPEC_RSA_2048,
76+
}
77+
78+
const (
79+
KMS_KEY_STATE_ALL = "All"
80+
KMS_KEY_STATE_ENABLED = "Enabled"
81+
KMS_KEY_STATE_DISABLED = "Disabled"
82+
KMS_KEY_STATE_PENDINGDELETE = "PendingDelete"
83+
KMS_KEY_STATE_PENDINGIMPORT = "PendingImport"
84+
KMS_KEY_STATE_ARCHIVED = "Archived"
85+
)
86+
87+
var KMS_KEY_STATE_FILTER = []string{
88+
KMS_KEY_STATE_ALL,
89+
KMS_KEY_STATE_ENABLED,
90+
KMS_KEY_STATE_DISABLED,
91+
KMS_KEY_STATE_PENDINGDELETE,
92+
KMS_KEY_STATE_PENDINGIMPORT,
93+
KMS_KEY_STATE_ARCHIVED,
94+
}
95+
96+
var KMS_KEY_STATE = []string{
97+
KMS_KEY_STATE_ENABLED,
98+
KMS_KEY_STATE_DISABLED,
99+
KMS_KEY_STATE_PENDINGDELETE,
100+
KMS_KEY_STATE_PENDINGIMPORT,
101+
KMS_KEY_STATE_ARCHIVED,
102+
}
103+
104+
var KMS_KEY_STATE_MAP = map[string]uint64{
105+
KMS_KEY_STATE_ALL: 0,
106+
KMS_KEY_STATE_ENABLED: 1,
107+
KMS_KEY_STATE_DISABLED: 2,
108+
KMS_KEY_STATE_PENDINGDELETE: 3,
109+
KMS_KEY_STATE_PENDINGIMPORT: 4,
110+
KMS_KEY_STATE_ARCHIVED: 5,
111+
}

tencentcloud/provider.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,7 @@ func Provider() terraform.ResourceProvider {
763763
"tencentcloud_address_template_groups": dataSourceTencentCloudAddressTemplateGroups(),
764764
"tencentcloud_protocol_templates": dataSourceTencentCloudProtocolTemplates(),
765765
"tencentcloud_protocol_template_groups": dataSourceTencentCloudProtocolTemplateGroups(),
766+
"tencentcloud_kms_key": dataSourceTencentCloudKmsKey(),
766767
},
767768

768769
ResourcesMap: map[string]*schema.Resource{
@@ -921,6 +922,8 @@ func Provider() terraform.ResourceProvider {
921922
"tencentcloud_address_template_group": resourceTencentCloudAddressTemplateGroup(),
922923
"tencentcloud_protocol_template": resourceTencentCloudProtocolTemplate(),
923924
"tencentcloud_protocol_template_group": resourceTencentCloudProtocolTemplateGroup(),
925+
"tencentcloud_kms_key": resourceTencentCloudKmsKey(),
926+
"tencentcloud_kms_external_key": resourceTencentCloudKmsExternalKey(),
924927
},
925928

926929
ConfigureFunc: providerConfigure,

0 commit comments

Comments
 (0)