-
Notifications
You must be signed in to change notification settings - Fork 494
/
guesthelper.go
171 lines (143 loc) · 3.48 KB
/
guesthelper.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
// Copyright 2019 Yunion
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package guestman
import (
"yunion.io/x/cloudmux/pkg/multicloud/esxi/vcenter"
"yunion.io/x/jsonutils"
hostapi "yunion.io/x/onecloud/pkg/apis/host"
"yunion.io/x/onecloud/pkg/hostman/guestman/desc"
"yunion.io/x/onecloud/pkg/hostman/storageman"
"yunion.io/x/onecloud/pkg/mcclient"
)
type SBaseParms struct {
Sid string
Body jsonutils.JSONObject
}
type SGuestDeploy struct {
UserCred mcclient.TokenCredential
Sid string
Body jsonutils.JSONObject
IsInit bool
}
type SSrcPrepareMigrate struct {
Sid string
LiveMigrate bool
LiveMigrateUseTLS bool
}
type SDestPrepareMigrate struct {
Sid string
ServerUrl string
QemuVersion string
SourceQemuCmdline string
MigrateCerts map[string]string
EnableTLS bool
SnapshotsUri string
DisksUri string
// TargetStorageId string
TargetStorageIds []string
LiveMigrate bool
RebaseDisks bool
Desc *desc.SGuestDesc
DisksBackingFile jsonutils.JSONObject
SrcSnapshots jsonutils.JSONObject
MemorySnapshotsUri string
SrcMemorySnapshots []string
UserCred mcclient.TokenCredential
}
type SLiveMigrate struct {
Sid string
DestPort int
DestIp string
IsLocal bool
EnableTLS bool
MaxBandwidthMB *int64
QuicklyFinish bool
}
type SDriverMirror struct {
Sid string
NbdServerUri string
Desc *desc.SGuestDesc
}
type SGuestHotplugCpuMem struct {
Sid string
AddCpuCount int64
AddMemSize int64
}
type SReloadDisk struct {
Sid string
Disk storageman.IDisk
}
type SDiskSnapshot struct {
UserCred mcclient.TokenCredential
Sid string
SnapshotId string
Disk storageman.IDisk
}
type SMemorySnapshot struct {
*hostapi.GuestMemorySnapshotRequest
Sid string
}
type SMemorySnapshotReset struct {
*hostapi.GuestMemorySnapshotResetRequest
Sid string
}
type SMemorySnapshotDelete struct {
*hostapi.GuestMemorySnapshotDeleteRequest
}
type SDiskBackup struct {
Sid string
SnapshotId string
BackupId string
Disk storageman.IDisk
}
type SDeleteDiskSnapshot struct {
Sid string
DeleteSnapshot string
Disk storageman.IDisk
ConvertSnapshot string
PendingDelete bool
}
type SLibvirtServer struct {
Uuid string
MacIp map[string]string
}
type SLibvirtDomainImportConfig struct {
LibvritDomainXmlDir string
Servers []SLibvirtServer
}
type SGuestCreateFromLibvirt struct {
Sid string
MonitorPath string
GuestDesc *desc.SGuestDesc
DisksPath *jsonutils.JSONDict
}
type SGuestIoThrottle struct {
Sid string
BPS int64
IOPS int64
}
type SGuestCreateFromEsxi struct {
Sid string
GuestDesc *desc.SGuestDesc
EsxiAccessInfo SEsxiAccessInfo
}
type SEsxiAccessInfo struct {
Datastore vcenter.SVCenterAccessInfo
HostIp string
GuestExtId string
}
type SQgaGuestSetPassword struct {
*hostapi.GuestSetPasswordRequest
Sid string
}