/
config.go
69 lines (59 loc) · 1.77 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package tencentcloud
import (
"github.com/zqfan/tencentcloud-sdk-go/client"
cbs "github.com/zqfan/tencentcloud-sdk-go/services/cbs/unversioned"
ccs "github.com/zqfan/tencentcloud-sdk-go/services/ccs/unversioned"
cvm "github.com/zqfan/tencentcloud-sdk-go/services/cvm/v20170312"
lb "github.com/zqfan/tencentcloud-sdk-go/services/lb/unversioned"
vpc "github.com/zqfan/tencentcloud-sdk-go/services/vpc/unversioned"
)
type Config struct {
SecretId string
SecretKey string
Region string
}
type TencentCloudClient struct {
commonConn *client.Client
cvmConn *cvm.Client
cbsConn *cbs.Client
ccsConn *ccs.Client
lbConn *lb.Client
vpcConn *vpc.Client
}
func (c *Config) Client() (interface{}, error) {
var tcClient TencentCloudClient
userAgent := "TF_TC_1.2.2"
tcClient.commonConn = client.NewClient(c.SecretId, c.SecretKey, c.Region)
tcClient.commonConn.Debug = true
cvmConn, err := cvm.NewClientWithSecretId(c.SecretId, c.SecretKey, c.Region)
cvmConn.WithUserAgent(userAgent)
if err != nil {
return nil, err
}
tcClient.cvmConn = cvmConn
vpcConn, err := vpc.NewClientWithSecretId(c.SecretId, c.SecretKey, c.Region)
vpcConn.WithUserAgent(userAgent)
if err != nil {
return nil, err
}
tcClient.vpcConn = vpcConn
cbsConn, err := cbs.NewClientWithSecretId(c.SecretId, c.SecretKey, c.Region)
cbsConn.WithUserAgent(userAgent)
if err != nil {
return nil, err
}
tcClient.cbsConn = cbsConn
ccsConn, err := ccs.NewClientWithSecretId(c.SecretId, c.SecretKey, c.Region)
ccsConn.WithUserAgent(userAgent)
if err != nil {
return nil, err
}
tcClient.ccsConn = ccsConn
lbConn, err := lb.NewClientWithSecretId(c.SecretId, c.SecretKey, c.Region)
lbConn.WithUserAgent(userAgent)
if err != nil {
return nil, err
}
tcClient.lbConn = lbConn
return &tcClient, nil
}