Skip to content

Commit fcbfd50

Browse files
authored
Merge pull request #1352 from tencentcloudstack/feat/add_sms_support
support sms
2 parents 80eacf7 + 39dcf12 commit fcbfd50

File tree

18 files changed

+5046
-6
lines changed

18 files changed

+5046
-6
lines changed

.changelog/1352.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```release-note:new-resource
2+
tencentcloud_sms_sign
3+
```
4+
5+
```release-note:new-resource
6+
tencentcloud_sms_template
7+
```

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ require (
6767
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199
6868
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.515
6969
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199
70+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.486
7071
github.com/tencentyun/cos-go-sdk-v5 v0.7.38
7172
github.com/yangwenmai/ratelimit v0.0.0-20180104140304-44221c2292e1
7273
github.com/zclconf/go-cty v1.4.2 // indirect

go.sum

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.413/go.mod
490490
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.414/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
491491
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.445/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
492492
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.466/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
493+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
493494
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.488/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
494495
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.490/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
495496
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.493/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
@@ -537,6 +538,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.490 h1:JEW8+
537538
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.490/go.mod h1:1yBtZUeKla8GNnVnJ1JOgMVBi/YgjEuQgzO4uNmisdI=
538539
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.275 h1:hn5RrN/qkcObnyKfJ+raey/riVeRqHJFvY34l2YgELs=
539540
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.0.275/go.mod h1:Pew6DV5oBGrzHYWZ8ssiHeJS/Z39ggVv1y5ADGWdO4s=
541+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.486 h1:eHLaL+hl5X5f8Apuf2SGVclO3MRev/E3AfA/0aZQGUA=
542+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.486/go.mod h1:MSsho0YlAsoPCOMqdBfwqGd/SMQ0FTGh0a6emBy2X+g=
540543
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.406 h1:lGhXUN20TcPf/1cY/VAAGq0xf31/erGVoeDzKnxxyhM=
541544
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver v1.0.406/go.mod h1:fYnZ8Er9N+E+iqF29HOTknro1fbVg7KObvxy05ISDsM=
542545
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.0.199 h1:UkF3qBxMbpOf2VjxgzMgqvBCS+Hqr8XXSrtRd+rABMk=

tencentcloud/connectivity/client.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ import (
4949
privatedns "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028"
5050
redis "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis/v20180412"
5151
scf "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf/v20180416"
52+
sms "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms/v20210111"
5253
sqlserver "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328"
5354
sslCertificate "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl/v20191205"
5455
ssm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssm/v20190923"
@@ -124,6 +125,7 @@ type TencentCloudClient struct {
124125
temConn *tem.Client
125126
teoConn *teo.Client
126127
tcmConn *tcm.Client
128+
smsConn *sms.Client
127129
}
128130

129131
// NewClientProfile returns a new ClientProfile
@@ -777,6 +779,19 @@ func (me *TencentCloudClient) UseTcmClient() *tcm.Client {
777779
return me.tcmConn
778780
}
779781

782+
// UseSmsClient returns teo client for service
783+
func (me *TencentCloudClient) UseSmsClient() *sms.Client {
784+
if me.smsConn != nil {
785+
return me.smsConn
786+
}
787+
788+
cpf := me.NewClientProfile(300)
789+
me.smsConn, _ = sms.NewClient(me.Credential, me.Region, cpf)
790+
me.smsConn.WithHttpTransport(&LogRoundTripper{})
791+
792+
return me.smsConn
793+
}
794+
780795
func getEnvDefault(key string, defVal int) int {
781796
val, ex := os.LookupEnv(key)
782797
if !ex {

tencentcloud/provider.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,10 @@ Security Token Service(STS)
705705
Data Source
706706
tencentcloud_sts_caller_identity
707707
708+
Short Message Service(SMS)
709+
Resource
710+
tencentcloud_sms_sign
711+
708712
*/
709713
package tencentcloud
710714

@@ -1025,6 +1029,8 @@ func Provider() terraform.ResourceProvider {
10251029
"tencentcloud_vpc": resourceTencentCloudVpcInstance(),
10261030
"tencentcloud_vpc_acl": resourceTencentCloudVpcACL(),
10271031
"tencentcloud_vpc_acl_attachment": resourceTencentCloudVpcAclAttachment(),
1032+
"tencentcloud_vpc_bandwidth_package": resourceTencentCloudVpcBandwidthPackage(),
1033+
"tencentcloud_vpc_bandwidth_package_attachment": resourceTencentCloudVpcBandwidthPackageAttachment(),
10281034
"tencentcloud_subnet": resourceTencentCloudVpcSubnet(),
10291035
"tencentcloud_route_entry": resourceTencentCloudRouteEntry(),
10301036
"tencentcloud_route_table_entry": resourceTencentCloudVpcRouteEntry(),
@@ -1262,12 +1268,10 @@ func Provider() terraform.ResourceProvider {
12621268
"tencentcloud_teo_ddos_policy": resourceTencentCloudTeoDdosPolicy(),
12631269
"tencentcloud_teo_security_policy": resourceTencentCloudTeoSecurityPolicy(),
12641270
"tencentcloud_teo_custom_error_page": resourceTencentCloudTeoCustomErrorPage(),
1265-
// "tencentcloud_teo_host_certificate": resourceTencentCloudTeoHostCertificate(),
1266-
// "tencentcloud_teo_default_certificate": resourceTencentCloudTeoDefaultCertificate(),
1267-
"tencentcloud_tcm_mesh": resourceTencentCloudTcmMesh(),
1268-
"tencentcloud_tcm_cluster_attachment": resourceTencentCloudTcmClusterAttachment(),
1269-
"tencentcloud_vpc_bandwidth_package": resourceTencentCloudVpcBandwidthPackage(),
1270-
"tencentcloud_vpc_bandwidth_package_attachment": resourceTencentCloudVpcBandwidthPackageAttachment(),
1271+
"tencentcloud_tcm_mesh": resourceTencentCloudTcmMesh(),
1272+
"tencentcloud_tcm_cluster_attachment": resourceTencentCloudTcmClusterAttachment(),
1273+
"tencentcloud_sms_sign": resourceTencentCloudSmsSign(),
1274+
"tencentcloud_sms_template": resourceTencentCloudSmsTemplate(),
12711275
},
12721276

12731277
ConfigureFunc: providerConfigure,

tencentcloud/provider_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const (
2020
ACCOUNT_TYPE_COMMON = "COMMON"
2121
ACCOUNT_TYPE_PRIVATE = "PRIVATE"
2222
ACCOUNT_TYPE_SUB_ACCOUNT = "SUB_ACCOUNT"
23+
ACCOUNT_TYPE_SMS = "SMS"
2324
INTERNATIONAL_PROVIDER_SECRET_ID = "TENCENTCLOUD_SECRET_ID_INTERNATIONAL"
2425
INTERNATIONAL_PROVIDER_SECRET_KEY = "TENCENTCLOUD_SECRET_KEY_INTERNATIONAL"
2526
PREPAY_PROVIDER_SECRET_ID = "TENCENTCLOUD_SECRET_ID_PREPAY"
@@ -30,6 +31,8 @@ const (
3031
COMMON_PROVIDER_SECRET_KEY = "TENCENTCLOUD_SECRET_KEY_COMMON"
3132
SUB_ACCOUNT_PROVIDER_SECRET_ID = "TENCENTCLOUD_SECRET_ID_SUB_ACCOUNT"
3233
SUB_ACCOUNT_PROVIDER_SECRET_KEY = "TENCENTCLOUD_SECRET_KEY_SUB_ACCOUNT"
34+
SMS_PROVIDER_SECRET_ID = "TENCENTCLOUD_SECRET_ID_SMS"
35+
SMS_PROVIDER_SECRET_KEY = "TENCENTCLOUD_SECRET_KEY_SMS"
3336
)
3437

3538
func init() {
@@ -120,6 +123,14 @@ func testAccPreCheckCommon(t *testing.T, accountType string) {
120123
}
121124
os.Setenv(PROVIDER_SECRET_ID, secretId)
122125
os.Setenv(PROVIDER_SECRET_KEY, secretKey)
126+
case accountType == ACCOUNT_TYPE_SMS:
127+
secretId := os.Getenv(SMS_PROVIDER_SECRET_ID)
128+
secretKey := os.Getenv(SMS_PROVIDER_SECRET_KEY)
129+
if secretId == "" || secretKey == "" {
130+
t.Fatalf("%v and %v must be set for acceptance tests\n", SMS_PROVIDER_SECRET_ID, SMS_PROVIDER_SECRET_KEY)
131+
}
132+
os.Setenv(PROVIDER_SECRET_ID, secretId)
133+
os.Setenv(PROVIDER_SECRET_KEY, secretKey)
123134
default:
124135
if v := os.Getenv(PROVIDER_SECRET_ID); v == "" {
125136
t.Fatalf("%v must be set for acceptance tests\n", PROVIDER_SECRET_ID)

0 commit comments

Comments
 (0)