This repository has been archived by the owner on Dec 9, 2020. It is now read-only.
/
config.go
executable file
·114 lines (100 loc) · 2.82 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package jdcloud
import (
"fmt"
"github.com/hashicorp/terraform/helper/schema"
"github.com/jdcloud-api/jdcloud-sdk-go/core"
)
type (
JDCloudConfig struct {
AccessKey string
SecretKey string
Region string
Credential *core.Credential
}
)
var (
regionCn = map[string]string{
"cn-north-1": "华北-北京",
"cn-south-1": "华南-广州",
"cn-east-1": "华东-宿迁",
"cn-east-2": "华东-上海",
}
)
const (
MAX_SECURITY_GROUP_COUNT = 5
MAX_RECONNECT_COUNT = 3
MAX_NI_RECONNECT = 6
MAX_EIP_RECONNECT = 10
REQUEST_COMPLETED = 0
RESOURCE_EXISTS = 0
RESOURCE_EMPTY = 0
RESOURCE_NOT_FOUND = 404
REQUEST_INVALID = 400
REQUEST_INVALID_2 = 403
MAX_DISK_COUNT = 1
DISK_AVAILABLE = "available"
DISK_DELETED = "deleted"
DISK_DELETING = "deleting"
DISK_CREATING = "creating"
DISK_ATTACHING = "attaching"
DISK_DETACHING = "detaching"
DISK_INUSE = "in-use"
DISK_TIMEOUT = 60
DISK_ATTACHMENT_TIMEOUT = 60
DISK_ATTACHED = "attached"
DISK_DETACHED = "detached"
DISK_CONCURRENT_ATTACHMENT_ERROR = "Conflict with underlay task"
REQUEST_SERVER_ERROR = 500
DISK_CONCURRENT_ATTACHMENT_ERROR_2 = "Unknown server error"
DISK_ALREADY_ATTACHED = "already attached"
MAX_EIP_COUNT = 1
MAX_SYSDISK_COUNT = 1
DISKTYPE_CLOUD = "cloud"
MAX_VM_COUNT = 1
VM_TIMEOUT = 600
VM_PENDING = "pending"
VM_STARTING = "starting"
VM_RUNNING = "running"
VM_STOPPING = "stopping"
VM_STOPPED = "stopped"
VM_STOPPED_2 = ""
VM_REBOOTING = "rebooting"
VM_REBUILDING = "rebuilding"
VM_RESIZING = "resizing"
VM_DELETING = "deleting"
VM_TERMINATED = "terminated"
VM_ERROR = "error"
VM_DELETED = ""
KEYPAIRS_PERM = 0600
KEYPAIRS_PRIV = 0400
RDS_TIMEOUT = 300
RDS_READY = "RUNNING"
RDS_CREATING = "BUILDING"
RDS_UNCERTAIN = ""
RDS_DELETING = "DELETING"
RDS_DELETED = "DELETED"
RDS_UPDATING = "MIGRATING"
RDS_MAX_RECONNECT = 6
CONNECT_FAILED = "Client.Timeout exceeded"
DEFAULT_DEVICE_INDEX = 1
DEFAULT_NETWORK_INTERFACE_AUTO_DELETE = true
DEFAULT_SANITY_CHECK = 1
MIN_DISK_SIZE = 20
MAX_DISK_SIZE = 3000
)
func initConfig(d *schema.ResourceData) (interface{}, error) {
region := d.Get("region").(string)
if _, ok := regionCn[region]; !ok {
return nil, fmt.Errorf("Invalid region '%s'", region)
}
conf := &JDCloudConfig{
AccessKey: d.Get("access_key").(string),
SecretKey: d.Get("secret_key").(string),
Region: region,
Credential: core.NewCredentials(
d.Get("access_key").(string),
d.Get("secret_key").(string),
),
}
return conf, nil
}