FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cloudstack/server/src/com/cloud/vm/UserVmManager.java at vmsync · kwanggithub/cloudstack · GitHub
This repository was archived by the owner on Jan 15, 2020. It is now read-only.
kwanggithub
/
cloudstack
Public archive
forked from
apache/cloudstack
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cloudstack
/
server
/
src
/
com
/
cloud
/
vm
/
UserVmManager.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
103 lines (85 loc) · 3.87 KB
Breadcrumbs
cloudstack
/
server
/
src
/
com
/
cloud
/
vm
/
UserVmManager.java
Copy path
File metadata and controls
executable file
·
103 lines (85 loc) · 3.87 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you 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
com
.
cloud
.
vm
;
import
java
.
util
.
HashMap
;
import
java
.
util
.
List
;
import
java
.
util
.
Map
;
import
com
.
cloud
.
agent
.
api
.
VmDiskStatsEntry
;
import
com
.
cloud
.
agent
.
api
.
VmStatsEntry
;
import
com
.
cloud
.
api
.
query
.
vo
.
UserVmJoinVO
;
import
com
.
cloud
.
exception
.*;
import
com
.
cloud
.
projects
.
Project
.
ListProjectResourcesCriteria
;
import
com
.
cloud
.
server
.
Criteria
;
import
com
.
cloud
.
user
.
Account
;
import
com
.
cloud
.
uservm
.
UserVm
;
import
com
.
cloud
.
utils
.
Pair
;
/**
*
*
*/
public
interface
UserVmManager
extends
UserVmService
{
static
final
int
MAX_USER_DATA_LENGTH_BYTES
=
2048
;
/**
* @param hostId get all of the virtual machines that belong to one host.
* @return collection of VirtualMachine.
*/
List
<?
extends
UserVm
>
getVirtualMachines
(
long
hostId
);
/**
* @param vmId id of the virtual machine.
* @return VirtualMachine
*/
UserVmVO
getVirtualMachine
(
long
vmId
);
/**
* Stops the virtual machine
* @param userId the id of the user performing the action
* @param vmId
* @return true if stopped; false if problems.
*/
boolean
stopVirtualMachine
(
long
userId
,
long
vmId
);
/**
* Obtains statistics for a list of host or VMs; CPU and network utilization
* @param host ID
* @param host name
* @param list of VM IDs or host id
* @return GetVmStatsAnswer
*/
HashMap
<
Long
,
VmStatsEntry
>
getVirtualMachineStatistics
(
long
hostId
,
String
hostName
,
List
<
Long
>
vmIds
);
HashMap
<
Long
,
List
<
VmDiskStatsEntry
>>
getVmDiskStatistics
(
long
hostId
,
String
hostName
,
List
<
Long
>
vmIds
);
boolean
deleteVmGroup
(
long
groupId
);
boolean
addInstanceToGroup
(
long
userVmId
,
String
group
);
InstanceGroupVO
getGroupForVm
(
long
vmId
);
void
removeInstanceFromInstanceGroup
(
long
vmId
);
boolean
expunge
(
UserVmVO
vm
,
long
callerUserId
,
Account
caller
);
/**
* Obtains a list of virtual machines by the specified search criteria.
* Can search by: "userId", "name", "state", "dataCenterId", "podId", "hostId"
* @param c
* @param caller TODO
* @param domainId TODO
* @param isRecursive TODO
* @param permittedAccounts TODO
* @param listAll TODO
* @param listProjectResourcesCriteria TODO
* @param tags TODO
* @return List of UserVMs + count
*/
Pair
<
List
<
UserVmJoinVO
>,
Integer
>
searchForUserVMs
(
Criteria
c
,
Account
caller
,
Long
domainId
,
boolean
isRecursive
,
List
<
Long
>
permittedAccounts
,
boolean
listAll
,
ListProjectResourcesCriteria
listProjectResourcesCriteria
,
Map
<
String
,
String
>
tags
);
Pair
<
UserVmVO
,
Map
<
VirtualMachineProfile
.
Param
,
Object
>>
startVirtualMachine
(
long
vmId
,
Long
hostId
,
Map
<
VirtualMachineProfile
.
Param
,
Object
>
additionalParams
)
throws
ConcurrentOperationException
,
ResourceUnavailableException
,
InsufficientCapacityException
;
boolean
upgradeVirtualMachine
(
Long
id
,
Long
serviceOfferingId
)
throws
ResourceUnavailableException
,
ConcurrentOperationException
,
ManagementServerException
,
VirtualMachineMigrationException
;
boolean
setupVmForPvlan
(
boolean
add
,
Long
hostId
,
NicProfile
nic
);
void
collectVmDiskStatistics
(
UserVmVO
userVm
);
}
Back
|
FazBrowse Home
|
New Git URL