-
Notifications
You must be signed in to change notification settings - Fork 49
/
config.go
96 lines (89 loc) · 2.2 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package rdspostgresql
import (
"fmt"
"github.com/volcengine/volc-sdk-golang/base"
"net/http"
"net/url"
"time"
)
type RdsPostgresql struct {
*base.Client
}
var DefaultInstance = NewInstance(base.RegionCnNorth1)
func NewInstance(region string) *RdsPostgresql {
instance := &RdsPostgresql{
Client: base.NewClient(ServiceInfoMap[region], ApiInfoList),
}
return instance
}
func (p *RdsPostgresql) SetRegion(region string) error {
serviceInfo, ok := ServiceInfoMap[region]
if !ok {
return fmt.Errorf("region does not spport or unknown region")
}
p.ServiceInfo = serviceInfo
p.SetScheme("http")
return nil
}
var (
ServiceInfoMap = map[string]*base.ServiceInfo{
base.RegionCnNorth1: {
Timeout: 5 * time.Second,
Host: "xxx.volcengineapi.com",
Header: http.Header{
"Accept": []string{"application/json"},
},
Credentials: base.Credentials{Region: base.RegionCnNorth1, Service: "rds_postgresql"},
},
//base.RegionCnNorth3: {
// Timeout: 5 * time.Second,
// Host: "xxx.volcengineapi.com",
// Header: http.Header{
// "Accept": []string{"application/json"},
// },
// Credentials: base.Credentials{Region: base.RegionCnNorth3, Service: "rds_postgresql"},
//},
}
ApiInfoList = map[string]*base.ApiInfo{
ActionCreateInstance: {
Method: http.MethodPost,
Path: "/",
Query: url.Values{
"Action": []string{ActionCreateInstance},
"Version": []string{APIVersion20180101},
},
},
ActionCreateIpWhiteList: {
Method: http.MethodPost,
Path: "/",
Query: url.Values{
"Action": []string{ActionCreateIpWhiteList},
"Version": []string{APIVersion20180101},
},
},
ActionCreateAccount: {
Method: http.MethodPost,
Path: "/",
Query: url.Values{
"Action": []string{ActionCreateAccount},
"Version": []string{APIVersion20180101},
},
},
ActionCreateDatabase: {
Method: http.MethodPost,
Path: "/",
Query: url.Values{
"Action": []string{ActionCreateDatabase},
"Version": []string{APIVersion20180101},
},
},
ActionModifyDatabaseOwner: {
Method: http.MethodPost,
Path: "/",
Query: url.Values{
"Action": []string{ActionModifyDatabaseOwner},
"Version": []string{APIVersion20180101},
},
},
}
)