Skip to content

Commit c8f6bc2

Browse files
author
hellertang
authored
fix vpn ssl (#1021)
1 parent dcd4541 commit c8f6bc2

File tree

9 files changed

+2527
-1952
lines changed

9 files changed

+2527
-1952
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ require (
3131
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.283
3232
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.199
3333
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.377
34-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.391
34+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.392
3535
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.385
3636
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.359
3737
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.335
@@ -57,7 +57,7 @@ require (
5757
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.268
5858
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.381
5959
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.199
60-
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.357
60+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.392
6161
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199
6262
github.com/tencentyun/cos-go-sdk-v5 v0.7.33
6363
github.com/yangwenmai/ratelimit v0.0.0-20180104140304-44221c2292e1

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.389 h1:Ndw5
528528
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.389/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
529529
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.391 h1:aygYrFPSM5eFw2ysGJH4eAV4UXxl+zbPNaQWOHPlS3o=
530530
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.391/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
531+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.392 h1:UqcmPErxEm77NwqaRq6J1i2rcbhXcZHzq7WOuc9clAQ=
532+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.392/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
531533
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.199 h1:ajgJogYSIQ5u1PIbiV5nsvr5K0fYpm1/T7Dy+mxEM6U=
532534
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.199/go.mod h1:AqyM/ZZMD7q5mHBqNY9YImbSpEpoEe7E/vrTbUWX+po=
533535
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.351 h1:zqJsH5pxGT57La7NAOOyMQxsuM11pupNBwV1dzXcT24=
@@ -617,6 +619,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.199 h1:UDZ59pv
617619
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.199/go.mod h1:SKgeSsIfPEM6BeoIFiGHsWG9UsEXzkK0SkWx51H/OS8=
618620
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.357 h1:fltPXAHX1pQRXX94LEzJbWaDzNsculh70XA9NN+9DFY=
619621
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.357/go.mod h1:vuWreRMZo2kArdDtpXIjTf//ckEMRSot1msuSsmtQ0I=
622+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.392 h1:nx8MQ8yJ3srpfEAlKLQKtOsBCBc30QJ3Q0RsSOGSphQ=
623+
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.392/go.mod h1:IAl660UAxdUtp1rHUwbUwxFCVqwk61xAIRbBk6QtTy8=
620624
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199 h1:hMBLtiJPnZ9GvA677cTB6ELBR6B68wCR2QY1sNoGQc4=
621625
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199/go.mod h1:nnY91/H3j/Gu7V/oCA6Zeg8T5D3q36EUdBh4EjmHwqY=
622626
github.com/tencentyun/cos-go-sdk-v5 v0.7.31-0.20210902132439-360bc9b1be6b h1:rLl5sAeLt382023Kd3X4TaOEaT2hdgXWwTGyKiy16Zo=

tencentcloud/resource_tc_vpn_ssl_client.go

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ package tencentcloud
2323

2424
import (
2525
"context"
26-
"fmt"
2726
"log"
2827
"time"
2928

@@ -83,20 +82,10 @@ func resourceTencentCloudVpnSslClientCreate(d *schema.ResourceData, meta interfa
8382
request.SslVpnClientName = helper.String(sslVpnClientName)
8483
}
8584

86-
// make sure client name is unique
87-
filter := make(map[string]string)
88-
filter["ssl-vpn-server-id"] = sslVpnServerId
89-
filter["ssl-vpn-client-name"] = sslVpnClientName
90-
91-
existIns, err := vpcService.DescribeVpnGwSslClientByFilter(ctx, filter)
92-
if err != nil {
93-
return fmt.Errorf("get instance list error: %s", err.Error())
94-
}
95-
if len(existIns) > 0 {
96-
return fmt.Errorf("ssl client with same name already exist.")
97-
}
98-
99-
var taskId *uint64
85+
var (
86+
taskId *uint64
87+
sslClientId *string
88+
)
10089
if err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
10190
ratelimit.Check(request.GetAction())
10291
response, err := vpcService.client.UseVpcClient().CreateVpnGatewaySslClient(request)
@@ -108,28 +97,20 @@ func resourceTencentCloudVpnSslClientCreate(d *schema.ResourceData, meta interfa
10897
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
10998
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
11099
taskId = response.Response.TaskId
100+
sslClientId = response.Response.SslVpnClientId
111101
return nil
112102
}); err != nil {
113103
return err
114104
}
115105

116-
err = vpcService.DescribeTaskResult(ctx, helper.Uint64(*taskId))
106+
err := vpcService.DescribeTaskResult(ctx, helper.Uint64(*taskId))
117107
if err != nil {
118108
return err
119109
}
120110
// add protect
121111
time.Sleep(3)
122112

123-
newIns, err := vpcService.DescribeVpnGwSslClientByFilter(ctx, filter)
124-
if err != nil {
125-
return fmt.Errorf("get instance list error: %s", err.Error())
126-
}
127-
if len(newIns) != 1 {
128-
return fmt.Errorf("create ssl client error")
129-
}
130-
131-
sslClient := newIns[0]
132-
d.SetId(*sslClient.SslVpnClientId)
113+
d.SetId(*sslClientId)
133114

134115
return resourceTencentCloudVpnSslClientRead(d, meta)
135116
}

tencentcloud/resource_tc_vpn_ssl_server.go

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ package tencentcloud
3131

3232
import (
3333
"context"
34-
"fmt"
3534
"log"
3635
"time"
3736

@@ -161,7 +160,10 @@ func resourceTencentCloudVpnSslServerCreate(d *schema.ResourceData, meta interfa
161160
request.Compress = helper.Bool(v.(bool))
162161
}
163162

164-
var taskId *int64
163+
var (
164+
taskId *int64
165+
sslServerId *string
166+
)
165167
if err := resource.Retry(writeRetryTimeout, func() *resource.RetryError {
166168
ratelimit.Check(request.GetAction())
167169
response, err := vpcService.client.UseVpcClient().CreateVpnGatewaySslServer(request)
@@ -173,6 +175,7 @@ func resourceTencentCloudVpnSslServerCreate(d *schema.ResourceData, meta interfa
173175
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
174176
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
175177
taskId = response.Response.TaskId
178+
sslServerId = response.Response.SslVpnServerId
176179
return nil
177180
}); err != nil {
178181
return err
@@ -185,18 +188,7 @@ func resourceTencentCloudVpnSslServerCreate(d *schema.ResourceData, meta interfa
185188

186189
// add protect
187190
time.Sleep(3)
188-
189-
filter := make(map[string]string)
190-
filter["vpn-gateway-id"] = vpnGatewayId
191-
192-
instances, err := vpcService.DescribeVpnGwSslServerByFilter(ctx, filter)
193-
194-
if err != nil {
195-
return fmt.Errorf("get instance list error: %s", err.Error())
196-
}
197-
198-
sslServer := instances[0]
199-
d.SetId(*sslServer.SslVpnServerId)
191+
d.SetId(*sslServerId)
200192

201193
return resourceTencentCloudVpnSslServerRead(d, meta)
202194
}

vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)