diff --git a/api/src/com/cloud/agent/api/AgentControlAnswer.java b/api/src/com/cloud/agent/api/AgentControlAnswer.java index 79727582d78..dfe170ff46d 100644 --- a/api/src/com/cloud/agent/api/AgentControlAnswer.java +++ b/api/src/com/cloud/agent/api/AgentControlAnswer.java @@ -10,17 +10,17 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -public class AgentControlAnswer extends Answer { - public AgentControlAnswer() { - } - - public AgentControlAnswer(Command command) { - super(command); - } - - public AgentControlAnswer(Command command, boolean success, String details) { - super(command, success, details); - } -} +package com.cloud.agent.api; + +public class AgentControlAnswer extends Answer { + public AgentControlAnswer() { + } + + public AgentControlAnswer(Command command) { + super(command); + } + + public AgentControlAnswer(Command command, boolean success, String details) { + super(command, success, details); + } +} diff --git a/api/src/com/cloud/agent/api/AgentControlCommand.java b/api/src/com/cloud/agent/api/AgentControlCommand.java index d35f23bef3b..2584dade9e2 100644 --- a/api/src/com/cloud/agent/api/AgentControlCommand.java +++ b/api/src/com/cloud/agent/api/AgentControlCommand.java @@ -10,14 +10,14 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -public class AgentControlCommand extends Command { - - public AgentControlCommand() { - } - - public boolean executeInSequence() { - return false; - } -} +package com.cloud.agent.api; + +public class AgentControlCommand extends Command { + + public AgentControlCommand() { + } + + public boolean executeInSequence() { + return false; + } +} diff --git a/api/src/com/cloud/agent/api/CheckHealthAnswer.java b/api/src/com/cloud/agent/api/CheckHealthAnswer.java index afada8548d5..82bf192ef77 100644 --- a/api/src/com/cloud/agent/api/CheckHealthAnswer.java +++ b/api/src/com/cloud/agent/api/CheckHealthAnswer.java @@ -10,13 +10,13 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -public class CheckHealthAnswer extends Answer { - - public CheckHealthAnswer() {} - - public CheckHealthAnswer(CheckHealthCommand cmd, boolean alive) { - super(cmd, alive, "resource is " + (alive? "alive" : "not alive")); - } -} +package com.cloud.agent.api; + +public class CheckHealthAnswer extends Answer { + + public CheckHealthAnswer() {} + + public CheckHealthAnswer(CheckHealthCommand cmd, boolean alive) { + super(cmd, alive, "resource is " + (alive? "alive" : "not alive")); + } +} diff --git a/api/src/com/cloud/agent/api/CheckHealthCommand.java b/api/src/com/cloud/agent/api/CheckHealthCommand.java index a444c64dc0c..2a91eb34f10 100644 --- a/api/src/com/cloud/agent/api/CheckHealthCommand.java +++ b/api/src/com/cloud/agent/api/CheckHealthCommand.java @@ -10,17 +10,17 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -public class CheckHealthCommand extends Command { - +package com.cloud.agent.api; + +public class CheckHealthCommand extends Command { + public CheckHealthCommand() { setWait(50); - } + } - - @Override - public boolean executeInSequence() { - return false; - } -} + + @Override + public boolean executeInSequence() { + return false; + } +} diff --git a/api/src/com/cloud/agent/api/ConsoleAccessAuthenticationAnswer.java b/api/src/com/cloud/agent/api/ConsoleAccessAuthenticationAnswer.java index 5ee023630ba..d16cbfb3224 100644 --- a/api/src/com/cloud/agent/api/ConsoleAccessAuthenticationAnswer.java +++ b/api/src/com/cloud/agent/api/ConsoleAccessAuthenticationAnswer.java @@ -10,21 +10,21 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -public class ConsoleAccessAuthenticationAnswer extends AgentControlAnswer { - - private boolean _success; - - public ConsoleAccessAuthenticationAnswer() { - } - - public ConsoleAccessAuthenticationAnswer(Command cmd, boolean success) { - super(cmd); - _success = success; - } - - public boolean succeeded() { - return _success; - } -} +package com.cloud.agent.api; + +public class ConsoleAccessAuthenticationAnswer extends AgentControlAnswer { + + private boolean _success; + + public ConsoleAccessAuthenticationAnswer() { + } + + public ConsoleAccessAuthenticationAnswer(Command cmd, boolean success) { + super(cmd); + _success = success; + } + + public boolean succeeded() { + return _success; + } +} diff --git a/api/src/com/cloud/agent/api/ConsoleAccessAuthenticationCommand.java b/api/src/com/cloud/agent/api/ConsoleAccessAuthenticationCommand.java index 1e487a0e7c1..03e158d867f 100644 --- a/api/src/com/cloud/agent/api/ConsoleAccessAuthenticationCommand.java +++ b/api/src/com/cloud/agent/api/ConsoleAccessAuthenticationCommand.java @@ -10,26 +10,26 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -public class ConsoleAccessAuthenticationCommand extends AgentControlCommand { +package com.cloud.agent.api; + +public class ConsoleAccessAuthenticationCommand extends AgentControlCommand { private String _host; - private String _port; - private String _vmId; + private String _port; + private String _vmId; private String _sid; - private String _ticket; - - public ConsoleAccessAuthenticationCommand() { - } - + private String _ticket; + + public ConsoleAccessAuthenticationCommand() { + } + public ConsoleAccessAuthenticationCommand(String host, String port, String vmId, String sid, String ticket) { _host = host; _port = port; - _vmId = vmId; + _vmId = vmId; _sid = sid; - _ticket = ticket; - } + _ticket = ticket; + } public String getHost() { return _host; @@ -38,16 +38,16 @@ public class ConsoleAccessAuthenticationCommand extends AgentControlCommand { public String getPort() { return _port; } - - public String getVmId() { - return _vmId; - } - - public String getSid() { - return _sid; + + public String getVmId() { + return _vmId; + } + + public String getSid() { + return _sid; } public String getTicket() { return _ticket; - } -} + } +} diff --git a/api/src/com/cloud/agent/api/ConsoleProxyLoadReportCommand.java b/api/src/com/cloud/agent/api/ConsoleProxyLoadReportCommand.java index 8064fdf69ed..1dada46e6cd 100644 --- a/api/src/com/cloud/agent/api/ConsoleProxyLoadReportCommand.java +++ b/api/src/com/cloud/agent/api/ConsoleProxyLoadReportCommand.java @@ -10,26 +10,26 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -public class ConsoleProxyLoadReportCommand extends AgentControlCommand { - - private long _proxyVmId; - private String _loadInfo; - - public ConsoleProxyLoadReportCommand() { - } - - public ConsoleProxyLoadReportCommand(long proxyVmId, String loadInfo) { - _proxyVmId = proxyVmId; - _loadInfo = loadInfo; - } - - public long getProxyVmId() { - return _proxyVmId; - } - - public String getLoadInfo() { - return _loadInfo; - } -} +package com.cloud.agent.api; + +public class ConsoleProxyLoadReportCommand extends AgentControlCommand { + + private long _proxyVmId; + private String _loadInfo; + + public ConsoleProxyLoadReportCommand() { + } + + public ConsoleProxyLoadReportCommand(long proxyVmId, String loadInfo) { + _proxyVmId = proxyVmId; + _loadInfo = loadInfo; + } + + public long getProxyVmId() { + return _proxyVmId; + } + + public String getLoadInfo() { + return _loadInfo; + } +} diff --git a/api/src/com/cloud/agent/api/ManageSnapshotAnswer.java b/api/src/com/cloud/agent/api/ManageSnapshotAnswer.java index 2063ac42740..3909cbe1716 100644 --- a/api/src/com/cloud/agent/api/ManageSnapshotAnswer.java +++ b/api/src/com/cloud/agent/api/ManageSnapshotAnswer.java @@ -10,27 +10,27 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - - -public class ManageSnapshotAnswer extends Answer { - // For create Snapshot - private String _snapshotPath; - - public ManageSnapshotAnswer() {} - - public ManageSnapshotAnswer(Command cmd, boolean success, String result) { - super(cmd, success, result); - } - - // For XenServer - public ManageSnapshotAnswer(ManageSnapshotCommand cmd, long snapshotId, String snapshotPath, boolean success, String result) { - super(cmd, success, result); - _snapshotPath = snapshotPath; - } - - public String getSnapshotPath() { - return _snapshotPath; - } - -} +package com.cloud.agent.api; + + +public class ManageSnapshotAnswer extends Answer { + // For create Snapshot + private String _snapshotPath; + + public ManageSnapshotAnswer() {} + + public ManageSnapshotAnswer(Command cmd, boolean success, String result) { + super(cmd, success, result); + } + + // For XenServer + public ManageSnapshotAnswer(ManageSnapshotCommand cmd, long snapshotId, String snapshotPath, boolean success, String result) { + super(cmd, success, result); + _snapshotPath = snapshotPath; + } + + public String getSnapshotPath() { + return _snapshotPath; + } + +} diff --git a/api/src/com/cloud/agent/api/ManageSnapshotCommand.java b/api/src/com/cloud/agent/api/ManageSnapshotCommand.java index 55cc26b08ff..b8d4db0269c 100644 --- a/api/src/com/cloud/agent/api/ManageSnapshotCommand.java +++ b/api/src/com/cloud/agent/api/ManageSnapshotCommand.java @@ -10,79 +10,79 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; +package com.cloud.agent.api; import com.cloud.agent.api.to.StorageFilerTO; import com.cloud.storage.StoragePool; - - -public class ManageSnapshotCommand extends Command { + + +public class ManageSnapshotCommand extends Command { // XXX: Should be an enum // XXX: Anyway there is something called inheritance in Java - public static String CREATE_SNAPSHOT = "-c"; - public static String DESTROY_SNAPSHOT = "-d"; - - private String _commandSwitch; - - // Information about the volume that the snapshot is based on - private String _volumePath = null; + public static String CREATE_SNAPSHOT = "-c"; + public static String DESTROY_SNAPSHOT = "-d"; + + private String _commandSwitch; + + // Information about the volume that the snapshot is based on + private String _volumePath = null; StorageFilerTO _pool; - - // Information about the snapshot - private String _snapshotPath = null; - private String _snapshotName = null; + + // Information about the snapshot + private String _snapshotPath = null; + private String _snapshotName = null; private long _snapshotId; - private String _vmName = null; - - public ManageSnapshotCommand() {} - - public ManageSnapshotCommand(long snapshotId, String volumePath, StoragePool pool, String preSnapshotPath ,String snapshotName, String vmName) { + private String _vmName = null; + + public ManageSnapshotCommand() {} + + public ManageSnapshotCommand(long snapshotId, String volumePath, StoragePool pool, String preSnapshotPath ,String snapshotName, String vmName) { _commandSwitch = ManageSnapshotCommand.CREATE_SNAPSHOT; _volumePath = volumePath; _pool = new StorageFilerTO(pool); _snapshotPath = preSnapshotPath; - _snapshotName = snapshotName; + _snapshotName = snapshotName; _snapshotId = snapshotId; - _vmName = vmName; - } + _vmName = vmName; + } public ManageSnapshotCommand(long snapshotId, String snapshotPath) { _commandSwitch = ManageSnapshotCommand.DESTROY_SNAPSHOT; _snapshotPath = snapshotPath; } - - @Override - public boolean executeInSequence() { - return false; - } - - public String getCommandSwitch() { - return _commandSwitch; - } - - public String getVolumePath() { - return _volumePath; - } + + @Override + public boolean executeInSequence() { + return false; + } + + public String getCommandSwitch() { + return _commandSwitch; + } + + public String getVolumePath() { + return _volumePath; + } public StorageFilerTO getPool() { return _pool; } - - public String getSnapshotPath() { - return _snapshotPath; - } + + public String getSnapshotPath() { + return _snapshotPath; + } - public String getSnapshotName() { - return _snapshotName; - } - - public long getSnapshotId() { - return _snapshotId; + public String getSnapshotName() { + return _snapshotName; + } + + public long getSnapshotId() { + return _snapshotId; } public String getVmName() { return _vmName; - } - + } + } \ No newline at end of file diff --git a/api/src/com/cloud/agent/api/PingTestCommand.java b/api/src/com/cloud/agent/api/PingTestCommand.java index 4383cf18431..4b56c57dab9 100644 --- a/api/src/com/cloud/agent/api/PingTestCommand.java +++ b/api/src/com/cloud/agent/api/PingTestCommand.java @@ -10,41 +10,41 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -public class PingTestCommand extends Command { - - String _computingHostIp = null; - String _routerIp = null; - String _privateIp = null; - - public PingTestCommand() {} - - public PingTestCommand(String computingHostIp) { +package com.cloud.agent.api; + +public class PingTestCommand extends Command { + + String _computingHostIp = null; + String _routerIp = null; + String _privateIp = null; + + public PingTestCommand() {} + + public PingTestCommand(String computingHostIp) { _computingHostIp = computingHostIp; - setWait(20); - } - - public PingTestCommand(String routerIp, String privateIp) { - _routerIp = routerIp; + setWait(20); + } + + public PingTestCommand(String routerIp, String privateIp) { + _routerIp = routerIp; _privateIp = privateIp; - setWait(20); - } - - public String getComputingHostIp() { - return _computingHostIp; - } - - public String getRouterIp() { - return _routerIp; - } - - public String getPrivateIp() { - return _privateIp; - } - - @Override - public boolean executeInSequence() { - return false; - } -} + setWait(20); + } + + public String getComputingHostIp() { + return _computingHostIp; + } + + public String getRouterIp() { + return _routerIp; + } + + public String getPrivateIp() { + return _privateIp; + } + + @Override + public boolean executeInSequence() { + return false; + } +} diff --git a/api/src/com/cloud/agent/api/PrepareOCFS2NodesCommand.java b/api/src/com/cloud/agent/api/PrepareOCFS2NodesCommand.java index fd91ce5c9e8..a32a52a286c 100755 --- a/api/src/com/cloud/agent/api/PrepareOCFS2NodesCommand.java +++ b/api/src/com/cloud/agent/api/PrepareOCFS2NodesCommand.java @@ -10,31 +10,31 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -import java.util.List; - -import com.cloud.utils.Ternary; - -public class PrepareOCFS2NodesCommand extends Command { - List> nodes; - String clusterName; - - @Override - public boolean executeInSequence() { - return true; - } - - public PrepareOCFS2NodesCommand(String clusterName, List> nodes) { - this.nodes = nodes; - this.clusterName = clusterName; - } - - public List> getNodes() { - return nodes; - } - - public String getClusterName() { - return clusterName; - } -} +package com.cloud.agent.api; + +import java.util.List; + +import com.cloud.utils.Ternary; + +public class PrepareOCFS2NodesCommand extends Command { + List> nodes; + String clusterName; + + @Override + public boolean executeInSequence() { + return true; + } + + public PrepareOCFS2NodesCommand(String clusterName, List> nodes) { + this.nodes = nodes; + this.clusterName = clusterName; + } + + public List> getNodes() { + return nodes; + } + + public String getClusterName() { + return clusterName; + } +} diff --git a/api/src/com/cloud/agent/api/PropagateResourceEventCommand.java b/api/src/com/cloud/agent/api/PropagateResourceEventCommand.java index 21195cf779a..9c290ea8c03 100755 --- a/api/src/com/cloud/agent/api/PropagateResourceEventCommand.java +++ b/api/src/com/cloud/agent/api/PropagateResourceEventCommand.java @@ -10,35 +10,35 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api; - -import com.cloud.resource.ResourceState; - -public class PropagateResourceEventCommand extends Command { - long hostId; - ResourceState.Event event; - - protected PropagateResourceEventCommand() { - - } - - public PropagateResourceEventCommand(long hostId, ResourceState.Event event) { - this.hostId = hostId; - this.event = event; - } - - public long getHostId() { - return hostId; - } - - public ResourceState.Event getEvent() { - return event; - } - - @Override - public boolean executeInSequence() { - // TODO Auto-generated method stub - return false; - } - -} +package com.cloud.agent.api; + +import com.cloud.resource.ResourceState; + +public class PropagateResourceEventCommand extends Command { + long hostId; + ResourceState.Event event; + + protected PropagateResourceEventCommand() { + + } + + public PropagateResourceEventCommand(long hostId, ResourceState.Event event) { + this.hostId = hostId; + this.event = event; + } + + public long getHostId() { + return hostId; + } + + public ResourceState.Event getEvent() { + return event; + } + + @Override + public boolean executeInSequence() { + // TODO Auto-generated method stub + return false; + } + +} diff --git a/api/src/com/cloud/agent/api/proxy/CheckConsoleProxyLoadCommand.java b/api/src/com/cloud/agent/api/proxy/CheckConsoleProxyLoadCommand.java index 2e929d2301f..595e91ce2ad 100644 --- a/api/src/com/cloud/agent/api/proxy/CheckConsoleProxyLoadCommand.java +++ b/api/src/com/cloud/agent/api/proxy/CheckConsoleProxyLoadCommand.java @@ -10,47 +10,47 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api.proxy; - - -/** - * CheckConsoleProxyLoadCommand implements one-shot console proxy load-scan command - */ -public class CheckConsoleProxyLoadCommand extends ProxyCommand { - - private long proxyVmId; - private String proxyVmName; - private String proxyManagementIp; - private int proxyCmdPort; - - public CheckConsoleProxyLoadCommand() { - } - - public CheckConsoleProxyLoadCommand(long proxyVmId, String proxyVmName, String proxyManagementIp, int proxyCmdPort) { - this.proxyVmId = proxyVmId; - this.proxyVmName = proxyVmName; - this.proxyManagementIp = proxyManagementIp; - this.proxyCmdPort = proxyCmdPort; - } - - public long getProxyVmId() { - return proxyVmId; - } - - public String getProxyVmName() { - return proxyVmName; - } - - public String getProxyManagementIp() { - return proxyManagementIp; - } - - public int getProxyCmdPort() { - return proxyCmdPort; - } - - @Override - public boolean executeInSequence() { - return false; - } -} +package com.cloud.agent.api.proxy; + + +/** + * CheckConsoleProxyLoadCommand implements one-shot console proxy load-scan command + */ +public class CheckConsoleProxyLoadCommand extends ProxyCommand { + + private long proxyVmId; + private String proxyVmName; + private String proxyManagementIp; + private int proxyCmdPort; + + public CheckConsoleProxyLoadCommand() { + } + + public CheckConsoleProxyLoadCommand(long proxyVmId, String proxyVmName, String proxyManagementIp, int proxyCmdPort) { + this.proxyVmId = proxyVmId; + this.proxyVmName = proxyVmName; + this.proxyManagementIp = proxyManagementIp; + this.proxyCmdPort = proxyCmdPort; + } + + public long getProxyVmId() { + return proxyVmId; + } + + public String getProxyVmName() { + return proxyVmName; + } + + public String getProxyManagementIp() { + return proxyManagementIp; + } + + public int getProxyCmdPort() { + return proxyCmdPort; + } + + @Override + public boolean executeInSequence() { + return false; + } +} diff --git a/api/src/com/cloud/agent/api/proxy/ConsoleProxyLoadAnswer.java b/api/src/com/cloud/agent/api/proxy/ConsoleProxyLoadAnswer.java index 39a47739c05..cf67bcefb29 100644 --- a/api/src/com/cloud/agent/api/proxy/ConsoleProxyLoadAnswer.java +++ b/api/src/com/cloud/agent/api/proxy/ConsoleProxyLoadAnswer.java @@ -10,31 +10,31 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api.proxy; - +package com.cloud.agent.api.proxy; + import com.cloud.agent.api.Answer; import com.cloud.agent.api.Command; - -public class ConsoleProxyLoadAnswer extends Answer { - - private long proxyVmId; - private String proxyVmName; - - protected ConsoleProxyLoadAnswer() { - } - - public ConsoleProxyLoadAnswer(Command command, long proxyVmId, String proxyVmName, boolean success, String details) { - super(command, success, details); - - this.proxyVmId = proxyVmId; - this.proxyVmName = proxyVmName; - } - - public long getProxyVmId() { - return proxyVmId; - } - - public String getProxyVmName() { - return proxyVmName; - } -} + +public class ConsoleProxyLoadAnswer extends Answer { + + private long proxyVmId; + private String proxyVmName; + + protected ConsoleProxyLoadAnswer() { + } + + public ConsoleProxyLoadAnswer(Command command, long proxyVmId, String proxyVmName, boolean success, String details) { + super(command, success, details); + + this.proxyVmId = proxyVmId; + this.proxyVmName = proxyVmName; + } + + public long getProxyVmId() { + return proxyVmId; + } + + public String getProxyVmName() { + return proxyVmName; + } +} diff --git a/api/src/com/cloud/agent/api/proxy/WatchConsoleProxyLoadCommand.java b/api/src/com/cloud/agent/api/proxy/WatchConsoleProxyLoadCommand.java index 08e6431515c..d92e7482156 100644 --- a/api/src/com/cloud/agent/api/proxy/WatchConsoleProxyLoadCommand.java +++ b/api/src/com/cloud/agent/api/proxy/WatchConsoleProxyLoadCommand.java @@ -10,52 +10,52 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api.proxy; - +package com.cloud.agent.api.proxy; + import com.cloud.agent.api.CronCommand; - -public class WatchConsoleProxyLoadCommand extends ProxyCommand implements CronCommand { - - private long proxyVmId; - private String proxyVmName; - private String proxyManagementIp; - private int proxyCmdPort; - int interval; - - public WatchConsoleProxyLoadCommand(int interval, long proxyVmId, String proxyVmName, - String proxyManagementIp, int proxyCmdPort) { - this.interval = interval; - this.proxyVmId = proxyVmId; - this.proxyVmName = proxyVmName; - this.proxyManagementIp = proxyManagementIp; - this.proxyCmdPort = proxyCmdPort; - } - - protected WatchConsoleProxyLoadCommand() { - } - - public long getProxyVmId() { - return proxyVmId; - } - - public String getProxyVmName() { - return proxyVmName; - } - - public String getProxyManagementIp() { - return proxyManagementIp; - } - - public int getProxyCmdPort() { - return proxyCmdPort; - } - - public int getInterval() { - return interval; - } - - @Override - public boolean executeInSequence() { - return false; - } -} + +public class WatchConsoleProxyLoadCommand extends ProxyCommand implements CronCommand { + + private long proxyVmId; + private String proxyVmName; + private String proxyManagementIp; + private int proxyCmdPort; + int interval; + + public WatchConsoleProxyLoadCommand(int interval, long proxyVmId, String proxyVmName, + String proxyManagementIp, int proxyCmdPort) { + this.interval = interval; + this.proxyVmId = proxyVmId; + this.proxyVmName = proxyVmName; + this.proxyManagementIp = proxyManagementIp; + this.proxyCmdPort = proxyCmdPort; + } + + protected WatchConsoleProxyLoadCommand() { + } + + public long getProxyVmId() { + return proxyVmId; + } + + public String getProxyVmName() { + return proxyVmName; + } + + public String getProxyManagementIp() { + return proxyManagementIp; + } + + public int getProxyCmdPort() { + return proxyCmdPort; + } + + public int getInterval() { + return interval; + } + + @Override + public boolean executeInSequence() { + return false; + } +} diff --git a/api/src/com/cloud/agent/api/storage/CreatePrivateTemplateAnswer.java b/api/src/com/cloud/agent/api/storage/CreatePrivateTemplateAnswer.java index 9d585999238..a0220e4daef 100644 --- a/api/src/com/cloud/agent/api/storage/CreatePrivateTemplateAnswer.java +++ b/api/src/com/cloud/agent/api/storage/CreatePrivateTemplateAnswer.java @@ -10,41 +10,41 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api.storage; - +package com.cloud.agent.api.storage; + import com.cloud.agent.api.Answer; import com.cloud.agent.api.Command; import com.cloud.storage.Storage.ImageFormat; - -public class CreatePrivateTemplateAnswer extends Answer { + +public class CreatePrivateTemplateAnswer extends Answer { private String _path; private long _virtualSize; private long _physicalSize; private String _uniqueName; - private ImageFormat _format; - - public CreatePrivateTemplateAnswer() {} - + private ImageFormat _format; + + public CreatePrivateTemplateAnswer() {} + public CreatePrivateTemplateAnswer(Command cmd, boolean success, String result, String path, long virtualSize, - long physicalSize, String uniqueName, ImageFormat format) { - super(cmd, success, result); + long physicalSize, String uniqueName, ImageFormat format) { + super(cmd, success, result); _path = path; _virtualSize = virtualSize; _physicalSize = physicalSize; _uniqueName = uniqueName; - _format = format; - } + _format = format; + } public CreatePrivateTemplateAnswer(Command cmd, boolean success, String result) { super(cmd, success, result); } - - public String getPath() { - return _path; - } - public void setPath(String path) { - _path = path; + public String getPath() { + return _path; + } + + public void setPath(String path) { + _path = path; } public long getVirtualSize() { @@ -69,5 +69,5 @@ public class CreatePrivateTemplateAnswer extends Answer { public ImageFormat getImageFormat() { return _format; - } -} + } +} diff --git a/api/src/com/cloud/agent/api/storage/CreatePrivateTemplateCommand.java b/api/src/com/cloud/agent/api/storage/CreatePrivateTemplateCommand.java index 3f0bb926b40..7fa375777fc 100644 --- a/api/src/com/cloud/agent/api/storage/CreatePrivateTemplateCommand.java +++ b/api/src/com/cloud/agent/api/storage/CreatePrivateTemplateCommand.java @@ -10,77 +10,77 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api.storage; - -public class CreatePrivateTemplateCommand extends StorageCommand { - private String _snapshotFolder; - private String _snapshotPath; - private String _userFolder; - private String _userSpecifiedName; - private String _uniqueName; +package com.cloud.agent.api.storage; + +public class CreatePrivateTemplateCommand extends StorageCommand { + private String _snapshotFolder; + private String _snapshotPath; + private String _userFolder; + private String _userSpecifiedName; + private String _uniqueName; private long _templateId; - private long _accountId; - - // For XenServer - private String _secondaryStorageURL; - private String _snapshotName; - - public CreatePrivateTemplateCommand() {} - - public CreatePrivateTemplateCommand(String secondaryStorageURL, long templateId, long accountId, String userSpecifiedName, String uniqueName, String snapshotFolder, String snapshotPath, String snapshotName, String userFolder) { - _secondaryStorageURL = secondaryStorageURL; + private long _accountId; + + // For XenServer + private String _secondaryStorageURL; + private String _snapshotName; + + public CreatePrivateTemplateCommand() {} + + public CreatePrivateTemplateCommand(String secondaryStorageURL, long templateId, long accountId, String userSpecifiedName, String uniqueName, String snapshotFolder, String snapshotPath, String snapshotName, String userFolder) { + _secondaryStorageURL = secondaryStorageURL; _templateId = templateId; - _accountId = accountId; - _userSpecifiedName = userSpecifiedName; - _uniqueName = uniqueName; - _snapshotFolder = snapshotFolder; - _snapshotPath = snapshotPath; - _snapshotName = snapshotName; - _userFolder = userFolder; - } - - @Override - public boolean executeInSequence() { - return false; - } - - public String getSecondaryStorageURL() { - return _secondaryStorageURL; - } - - public String getTemplateName() { - return _userSpecifiedName; - } - - public String getUniqueName() { - return _uniqueName; - } - - public String getSnapshotFolder() { - return _snapshotFolder; - } - - public String getSnapshotPath() { - return _snapshotPath; - } - - public String getSnapshotName() { - return _snapshotName; - } - - public String getUserFolder() { - return _userFolder; - } - - public long getTemplateId() { - return _templateId; + _accountId = accountId; + _userSpecifiedName = userSpecifiedName; + _uniqueName = uniqueName; + _snapshotFolder = snapshotFolder; + _snapshotPath = snapshotPath; + _snapshotName = snapshotName; + _userFolder = userFolder; + } + + @Override + public boolean executeInSequence() { + return false; + } + + public String getSecondaryStorageURL() { + return _secondaryStorageURL; + } + + public String getTemplateName() { + return _userSpecifiedName; + } + + public String getUniqueName() { + return _uniqueName; + } + + public String getSnapshotFolder() { + return _snapshotFolder; + } + + public String getSnapshotPath() { + return _snapshotPath; + } + + public String getSnapshotName() { + return _snapshotName; + } + + public String getUserFolder() { + return _userFolder; + } + + public long getTemplateId() { + return _templateId; } public long getAccountId() { return _accountId; - } - - public void setTemplateId(long templateId) { - _templateId = templateId; - } -} + } + + public void setTemplateId(long templateId) { + _templateId = templateId; + } +} diff --git a/api/src/com/cloud/agent/api/storage/UpgradeDiskAnswer.java b/api/src/com/cloud/agent/api/storage/UpgradeDiskAnswer.java index 2169d937e0b..9cbf0ad81b5 100644 --- a/api/src/com/cloud/agent/api/storage/UpgradeDiskAnswer.java +++ b/api/src/com/cloud/agent/api/storage/UpgradeDiskAnswer.java @@ -10,16 +10,16 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api.storage; - +package com.cloud.agent.api.storage; + import com.cloud.agent.api.Answer; import com.cloud.agent.api.Command; - -public class UpgradeDiskAnswer extends Answer { - - public UpgradeDiskAnswer() {} - - public UpgradeDiskAnswer(Command cmd, boolean success, String details) { - super(cmd, success, details); - } -} + +public class UpgradeDiskAnswer extends Answer { + + public UpgradeDiskAnswer() {} + + public UpgradeDiskAnswer(Command cmd, boolean success, String details) { + super(cmd, success, details); + } +} diff --git a/api/src/com/cloud/agent/api/storage/UpgradeDiskCommand.java b/api/src/com/cloud/agent/api/storage/UpgradeDiskCommand.java index 756edaa76be..8949ce51def 100644 --- a/api/src/com/cloud/agent/api/storage/UpgradeDiskCommand.java +++ b/api/src/com/cloud/agent/api/storage/UpgradeDiskCommand.java @@ -10,37 +10,37 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.agent.api.storage; - - -public class UpgradeDiskCommand extends StorageCommand { - - private String _imagePath; - private String _newSize; - - public UpgradeDiskCommand() {} - - public UpgradeDiskCommand(String imagePath, String newSize) { - _imagePath = imagePath; - _newSize = newSize; - } - - public String getImagePath() { - return _imagePath; - } - public void setImagePath(String imagePath) { - _imagePath = imagePath; - } - - public String getNewSize() { - return _newSize; - } - public void setNewSize(String newSize) { - _newSize = newSize; - } - - @Override - public boolean executeInSequence() { - return true; - } -} +package com.cloud.agent.api.storage; + + +public class UpgradeDiskCommand extends StorageCommand { + + private String _imagePath; + private String _newSize; + + public UpgradeDiskCommand() {} + + public UpgradeDiskCommand(String imagePath, String newSize) { + _imagePath = imagePath; + _newSize = newSize; + } + + public String getImagePath() { + return _imagePath; + } + public void setImagePath(String imagePath) { + _imagePath = imagePath; + } + + public String getNewSize() { + return _newSize; + } + public void setNewSize(String newSize) { + _newSize = newSize; + } + + @Override + public boolean executeInSequence() { + return true; + } +} diff --git a/api/src/com/cloud/api/Identity.java b/api/src/com/cloud/api/Identity.java index 000b4cb4a51..57629a662d9 100644 --- a/api/src/com/cloud/api/Identity.java +++ b/api/src/com/cloud/api/Identity.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api; - -public interface Identity { - String getUuid(); -} +package com.cloud.api; + +public interface Identity { + String getUuid(); +} diff --git a/api/src/com/cloud/api/IdentityMapper.java b/api/src/com/cloud/api/IdentityMapper.java index 5741d388dbc..5b64fd542fc 100644 --- a/api/src/com/cloud/api/IdentityMapper.java +++ b/api/src/com/cloud/api/IdentityMapper.java @@ -10,16 +10,16 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api; - -import static java.lang.annotation.ElementType.FIELD; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target({ FIELD }) -public @interface IdentityMapper { - String entityTableName(); -} +package com.cloud.api; + +import static java.lang.annotation.ElementType.FIELD; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ FIELD }) +public @interface IdentityMapper { + String entityTableName(); +} diff --git a/api/src/com/cloud/api/IdentityService.java b/api/src/com/cloud/api/IdentityService.java index 237e62a82ad..63171f80a11 100644 --- a/api/src/com/cloud/api/IdentityService.java +++ b/api/src/com/cloud/api/IdentityService.java @@ -10,12 +10,12 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api; - -public interface IdentityService { - Long getIdentityId(IdentityMapper mapper, String identityString); - - Long getIdentityId(String tableName, String identityString); - - String getIdentityUuid(String tableName, String identityString); -} +package com.cloud.api; + +public interface IdentityService { + Long getIdentityId(IdentityMapper mapper, String identityString); + + Long getIdentityId(String tableName, String identityString); + + String getIdentityUuid(String tableName, String identityString); +} diff --git a/api/src/com/cloud/api/commands/AddClusterCmd.java b/api/src/com/cloud/api/commands/AddClusterCmd.java index dfb5ddb32d9..c718b195f96 100755 --- a/api/src/com/cloud/api/commands/AddClusterCmd.java +++ b/api/src/com/cloud/api/commands/AddClusterCmd.java @@ -10,136 +10,136 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseCmd; +package com.cloud.api.commands; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseCmd; import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.ClusterResponse; -import com.cloud.api.response.ListResponse; -import com.cloud.exception.DiscoveryException; -import com.cloud.org.Cluster; -import com.cloud.user.Account; - -@Implementation(description="Adds a new cluster", responseObject=ClusterResponse.class) -public class AddClusterCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(AddClusterCmd.class.getName()); - - private static final String s_name = "addclusterresponse"; - - @Parameter(name=ApiConstants.CLUSTER_NAME, type=CommandType.STRING, required=true, description="the cluster name") - private String clusterName; - - @Parameter(name=ApiConstants.PASSWORD, type=CommandType.STRING, required=false, description="the password for the host") - private String password; - +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.ClusterResponse; +import com.cloud.api.response.ListResponse; +import com.cloud.exception.DiscoveryException; +import com.cloud.org.Cluster; +import com.cloud.user.Account; + +@Implementation(description="Adds a new cluster", responseObject=ClusterResponse.class) +public class AddClusterCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(AddClusterCmd.class.getName()); + + private static final String s_name = "addclusterresponse"; + + @Parameter(name=ApiConstants.CLUSTER_NAME, type=CommandType.STRING, required=true, description="the cluster name") + private String clusterName; + + @Parameter(name=ApiConstants.PASSWORD, type=CommandType.STRING, required=false, description="the password for the host") + private String password; + @IdentityMapper(entityTableName="host_pod_ref") - @Parameter(name=ApiConstants.POD_ID, type=CommandType.LONG, required=true, description="the Pod ID for the host") - private Long podId; - - @Parameter(name=ApiConstants.URL, type=CommandType.STRING, required=false, description="the URL") - private String url; - - @Parameter(name=ApiConstants.USERNAME, type=CommandType.STRING, required=false, description="the username for the cluster") - private String username; - + @Parameter(name=ApiConstants.POD_ID, type=CommandType.LONG, required=true, description="the Pod ID for the host") + private Long podId; + + @Parameter(name=ApiConstants.URL, type=CommandType.STRING, required=false, description="the URL") + private String url; + + @Parameter(name=ApiConstants.USERNAME, type=CommandType.STRING, required=false, description="the username for the cluster") + private String username; + @IdentityMapper(entityTableName="data_center") - @Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, required=true, description="the Zone ID for the cluster") - private Long zoneId; - - @Parameter(name=ApiConstants.HYPERVISOR, type=CommandType.STRING, required=true, description="hypervisor type of the cluster: XenServer,KVM,VMware,Hyperv,BareMetal,Simulator") - private String hypervisor; - - @Parameter(name=ApiConstants.CLUSTER_TYPE, type=CommandType.STRING, required=true, description="type of the cluster: CloudManaged, ExternalManaged") - private String clusterType; - - @Parameter(name=ApiConstants.ALLOCATION_STATE, type=CommandType.STRING, description="Allocation state of this cluster for allocation of new resources") - private String allocationState; - - public String getClusterName() { - return clusterName; - } - - public String getPassword() { - return password; - } - - public Long getPodId() { - return podId; - } - - public String getUrl() { - return url; - } - - public String getUsername() { - return username; - } - - public Long getZoneId() { - return zoneId; - } - - public String getHypervisor() { - return hypervisor; - } - - @Override - public String getCommandName() { - return s_name; - } - - public String getClusterType() { - return clusterType; - } - - public void setClusterType(String type) { - this.clusterType = type; - } - - @Override - public long getEntityOwnerId() { - return Account.ACCOUNT_ID_SYSTEM; - } - - public String getAllocationState() { - return allocationState; - } - - public void setAllocationState(String allocationState) { - this.allocationState = allocationState; - } - - @Override - public void execute(){ - try { - List result = _resourceService.discoverCluster(this); - ListResponse response = new ListResponse(); - List clusterResponses = new ArrayList(); - if (result != null) { - for (Cluster cluster : result) { - ClusterResponse clusterResponse = _responseGenerator.createClusterResponse(cluster, false); - clusterResponses.add(clusterResponse); - } - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to add cluster"); - } - - response.setResponses(clusterResponses); - response.setResponseName(getCommandName()); - - this.setResponseObject(response); - } catch (DiscoveryException ex) { - s_logger.warn("Exception: ", ex); - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); - } - } -} + @Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, required=true, description="the Zone ID for the cluster") + private Long zoneId; + + @Parameter(name=ApiConstants.HYPERVISOR, type=CommandType.STRING, required=true, description="hypervisor type of the cluster: XenServer,KVM,VMware,Hyperv,BareMetal,Simulator") + private String hypervisor; + + @Parameter(name=ApiConstants.CLUSTER_TYPE, type=CommandType.STRING, required=true, description="type of the cluster: CloudManaged, ExternalManaged") + private String clusterType; + + @Parameter(name=ApiConstants.ALLOCATION_STATE, type=CommandType.STRING, description="Allocation state of this cluster for allocation of new resources") + private String allocationState; + + public String getClusterName() { + return clusterName; + } + + public String getPassword() { + return password; + } + + public Long getPodId() { + return podId; + } + + public String getUrl() { + return url; + } + + public String getUsername() { + return username; + } + + public Long getZoneId() { + return zoneId; + } + + public String getHypervisor() { + return hypervisor; + } + + @Override + public String getCommandName() { + return s_name; + } + + public String getClusterType() { + return clusterType; + } + + public void setClusterType(String type) { + this.clusterType = type; + } + + @Override + public long getEntityOwnerId() { + return Account.ACCOUNT_ID_SYSTEM; + } + + public String getAllocationState() { + return allocationState; + } + + public void setAllocationState(String allocationState) { + this.allocationState = allocationState; + } + + @Override + public void execute(){ + try { + List result = _resourceService.discoverCluster(this); + ListResponse response = new ListResponse(); + List clusterResponses = new ArrayList(); + if (result != null) { + for (Cluster cluster : result) { + ClusterResponse clusterResponse = _responseGenerator.createClusterResponse(cluster, false); + clusterResponses.add(clusterResponse); + } + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to add cluster"); + } + + response.setResponses(clusterResponses); + response.setResponseName(getCommandName()); + + this.setResponseObject(response); + } catch (DiscoveryException ex) { + s_logger.warn("Exception: ", ex); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); + } + } +} diff --git a/api/src/com/cloud/api/commands/AddHostCmd.java b/api/src/com/cloud/api/commands/AddHostCmd.java index 6679089509c..4eb00f3d6cd 100755 --- a/api/src/com/cloud/api/commands/AddHostCmd.java +++ b/api/src/com/cloud/api/commands/AddHostCmd.java @@ -28,7 +28,7 @@ import com.cloud.api.response.ListResponse; import com.cloud.exception.DiscoveryException; import com.cloud.host.Host; import com.cloud.user.Account; - + @Implementation(description="Adds a new host.", responseObject=HostResponse.class) public class AddHostCmd extends BaseCmd { public static final Logger s_logger = Logger.getLogger(AddHostCmd.class.getName()); diff --git a/api/src/com/cloud/api/commands/AddSecondaryStorageCmd.java b/api/src/com/cloud/api/commands/AddSecondaryStorageCmd.java index 0af8fea2596..522b83b0db4 100644 --- a/api/src/com/cloud/api/commands/AddSecondaryStorageCmd.java +++ b/api/src/com/cloud/api/commands/AddSecondaryStorageCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.List; import org.apache.log4j.Logger; @@ -26,10 +26,10 @@ import com.cloud.api.response.HostResponse; import com.cloud.exception.DiscoveryException; import com.cloud.host.Host; import com.cloud.user.Account; - + @Implementation(description="Adds secondary storage.", responseObject=HostResponse.class) -public class AddSecondaryStorageCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(AddSecondaryStorageCmd.class.getName()); +public class AddSecondaryStorageCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(AddSecondaryStorageCmd.class.getName()); private static final String s_name = "addsecondarystorageresponse"; ///////////////////////////////////////////////////// @@ -89,5 +89,5 @@ public class AddSecondaryStorageCmd extends BaseCmd { s_logger.warn("Exception: ", ex); throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex.getMessage()); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/AddSwiftCmd.java b/api/src/com/cloud/api/commands/AddSwiftCmd.java index 8efe7f27a8f..a71d24b52ab 100644 --- a/api/src/com/cloud/api/commands/AddSwiftCmd.java +++ b/api/src/com/cloud/api/commands/AddSwiftCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -24,9 +24,9 @@ import com.cloud.api.response.SwiftResponse; import com.cloud.exception.DiscoveryException; import com.cloud.storage.Swift; import com.cloud.user.Account; - + @Implementation(description = "Adds Swift.", responseObject = HostResponse.class, since="3.0.0") -public class AddSwiftCmd extends BaseCmd { +public class AddSwiftCmd extends BaseCmd { public static final Logger s_logger = Logger.getLogger(AddSwiftCmd.class.getName()); private static final String s_name = "addswiftresponse"; @@ -98,5 +98,5 @@ public class AddSwiftCmd extends BaseCmd { s_logger.warn(errMsg, ex); throw new ServerApiException(BaseCmd.INTERNAL_ERROR, errMsg); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/AddVpnUserCmd.java b/api/src/com/cloud/api/commands/AddVpnUserCmd.java index a10f9adce37..4549a77276e 100644 --- a/api/src/com/cloud/api/commands/AddVpnUserCmd.java +++ b/api/src/com/cloud/api/commands/AddVpnUserCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -27,13 +27,13 @@ import com.cloud.event.EventTypes; import com.cloud.network.VpnUser; import com.cloud.user.Account; import com.cloud.user.UserContext; - + @Implementation(description="Adds vpn users", responseObject=VpnUsersResponse.class) -public class AddVpnUserCmd extends BaseAsyncCreateCmd { - public static final Logger s_logger = Logger.getLogger(AddVpnUserCmd.class.getName()); - - private static final String s_name = "addvpnuserresponse"; - +public class AddVpnUserCmd extends BaseAsyncCreateCmd { + public static final Logger s_logger = Logger.getLogger(AddVpnUserCmd.class.getName()); + + private static final String s_name = "addvpnuserresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -84,8 +84,8 @@ public class AddVpnUserCmd extends BaseAsyncCreateCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -142,5 +142,5 @@ public class AddVpnUserCmd extends BaseAsyncCreateCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to add vpn user"); } setEntityId(vpnUser.getId()); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/AssignToLoadBalancerRuleCmd.java b/api/src/com/cloud/api/commands/AssignToLoadBalancerRuleCmd.java index 9224613cdd3..b1cf83d3979 100644 --- a/api/src/com/cloud/api/commands/AssignToLoadBalancerRuleCmd.java +++ b/api/src/com/cloud/api/commands/AssignToLoadBalancerRuleCmd.java @@ -10,7 +10,7 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; +package com.cloud.api.commands; import java.util.List; @@ -31,20 +31,20 @@ import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.utils.StringUtils; -@Implementation(description="Assigns virtual machine or a list of virtual machines to a load balancer rule.", responseObject=SuccessResponse.class) -public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(AssignToLoadBalancerRuleCmd.class.getName()); - +@Implementation(description="Assigns virtual machine or a list of virtual machines to a load balancer rule.", responseObject=SuccessResponse.class) +public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(AssignToLoadBalancerRuleCmd.class.getName()); + private static final String s_name = "assigntoloadbalancerruleresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// + ///////////////////////////////////////////////////// @IdentityMapper(entityTableName="firewall_rules") @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the ID of the load balancer rule") private Long id; - + @IdentityMapper(entityTableName="vm_instance") @Parameter(name=ApiConstants.VIRTUAL_MACHINE_IDS, type=CommandType.LIST, collectionType=CommandType.LONG, required=true, description="the list of IDs of the virtual machine that are being assigned to the load balancer rule(i.e. virtualMachineIds=1,2,3)") private List virtualMachineIds; @@ -114,4 +114,4 @@ public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd { } return lb.getNetworkId(); } -} +} diff --git a/api/src/com/cloud/api/commands/AssociateIPAddrCmd.java b/api/src/com/cloud/api/commands/AssociateIPAddrCmd.java index 1c4793d363d..e0d721359d8 100644 --- a/api/src/com/cloud/api/commands/AssociateIPAddrCmd.java +++ b/api/src/com/cloud/api/commands/AssociateIPAddrCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.List; import org.apache.log4j.Logger; @@ -39,10 +39,10 @@ import com.cloud.network.IpAddress; import com.cloud.network.Network; import com.cloud.user.Account; import com.cloud.user.UserContext; - + @Implementation(description="Acquires and associates a public IP to an account.", responseObject=IPAddressResponse.class) -public class AssociateIPAddrCmd extends BaseAsyncCreateCmd { - public static final Logger s_logger = Logger.getLogger(AssociateIPAddrCmd.class.getName()); +public class AssociateIPAddrCmd extends BaseAsyncCreateCmd { + public static final Logger s_logger = Logger.getLogger(AssociateIPAddrCmd.class.getName()); private static final String s_name = "associateipaddressresponse"; ///////////////////////////////////////////////////// @@ -157,12 +157,12 @@ public class AssociateIPAddrCmd extends BaseAsyncCreateCmd { @Override - public String getCommandName() { - return s_name; - } - - public static String getResultObjectName() { - return "addressinfo"; + public String getCommandName() { + return s_name; + } + + public static String getResultObjectName() { + return "addressinfo"; } @Override @@ -212,5 +212,5 @@ public class AssociateIPAddrCmd extends BaseAsyncCreateCmd { public AsyncJob.Type getInstanceType() { return AsyncJob.Type.IpAddress; } - -} + +} diff --git a/api/src/com/cloud/api/commands/CancelMaintenanceCmd.java b/api/src/com/cloud/api/commands/CancelMaintenanceCmd.java index fb8a50e129e..706bf58c549 100644 --- a/api/src/com/cloud/api/commands/CancelMaintenanceCmd.java +++ b/api/src/com/cloud/api/commands/CancelMaintenanceCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -27,12 +27,12 @@ import com.cloud.event.EventTypes; import com.cloud.host.Host; import com.cloud.user.Account; import com.cloud.user.UserContext; - + @Implementation(description="Cancels host maintenance.", responseObject=HostResponse.class) -public class CancelMaintenanceCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(CancelMaintenanceCmd.class.getName()); - - private static final String s_name = "cancelhostmaintenanceresponse"; +public class CancelMaintenanceCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(CancelMaintenanceCmd.class.getName()); + + private static final String s_name = "cancelhostmaintenanceresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -57,10 +57,10 @@ public class CancelMaintenanceCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } - + public String getCommandName() { + return s_name; + } + public static String getResultObjectName() { return "host"; } @@ -106,4 +106,4 @@ public class CancelMaintenanceCmd extends BaseAsyncCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to cancel host maintenance"); } } -} +} diff --git a/api/src/com/cloud/api/commands/CreateAccountCmd.java b/api/src/com/cloud/api/commands/CreateAccountCmd.java index 68fab959e38..c37ebaa0af7 100755 --- a/api/src/com/cloud/api/commands/CreateAccountCmd.java +++ b/api/src/com/cloud/api/commands/CreateAccountCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.Collection; import java.util.Map; @@ -29,7 +29,7 @@ import com.cloud.user.Account; import com.cloud.user.UserAccount; import com.cloud.user.UserContext; -@Implementation(description="Creates an account", responseObject=UserResponse.class) +@Implementation(description="Creates an account", responseObject=UserResponse.class) public class CreateAccountCmd extends BaseCmd { public static final Logger s_logger = Logger.getLogger(CreateAccountCmd.class.getName()); diff --git a/api/src/com/cloud/api/commands/CreateDiskOfferingCmd.java b/api/src/com/cloud/api/commands/CreateDiskOfferingCmd.java index 4e356f43bb9..035ecd8c3fb 100755 --- a/api/src/com/cloud/api/commands/CreateDiskOfferingCmd.java +++ b/api/src/com/cloud/api/commands/CreateDiskOfferingCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -24,12 +24,12 @@ import com.cloud.api.response.DiskOfferingResponse; import com.cloud.offering.DiskOffering; import com.cloud.user.Account; -@Implementation(description="Creates a disk offering.", responseObject=DiskOfferingResponse.class) -public class CreateDiskOfferingCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(CreateDiskOfferingCmd.class.getName()); - - private static final String s_name = "creatediskofferingresponse"; - +@Implementation(description="Creates a disk offering.", responseObject=DiskOfferingResponse.class) +public class CreateDiskOfferingCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(CreateDiskOfferingCmd.class.getName()); + + private static final String s_name = "creatediskofferingresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -85,8 +85,8 @@ public class CreateDiskOfferingCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -105,4 +105,4 @@ public class CreateDiskOfferingCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create disk offering"); } } -} +} diff --git a/api/src/com/cloud/api/commands/CreateDomainCmd.java b/api/src/com/cloud/api/commands/CreateDomainCmd.java index 3d49ba654d8..56019c2fd64 100644 --- a/api/src/com/cloud/api/commands/CreateDomainCmd.java +++ b/api/src/com/cloud/api/commands/CreateDomainCmd.java @@ -10,7 +10,7 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; +package com.cloud.api.commands; import org.apache.log4j.Logger; @@ -24,13 +24,13 @@ import com.cloud.api.response.DomainResponse; import com.cloud.domain.Domain; import com.cloud.user.Account; import com.cloud.user.UserContext; - + @Implementation(description="Creates a domain", responseObject=DomainResponse.class) -public class CreateDomainCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(CreateDomainCmd.class.getName()); - - private static final String s_name = "createdomainresponse"; - +public class CreateDomainCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(CreateDomainCmd.class.getName()); + + private static final String s_name = "createdomainresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -65,9 +65,9 @@ public class CreateDomainCmd extends BaseCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } @Override @@ -87,4 +87,4 @@ public class CreateDomainCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create domain"); } } -} +} diff --git a/api/src/com/cloud/api/commands/CreateRemoteAccessVpnCmd.java b/api/src/com/cloud/api/commands/CreateRemoteAccessVpnCmd.java index b6e13878f46..83ce5c5a655 100644 --- a/api/src/com/cloud/api/commands/CreateRemoteAccessVpnCmd.java +++ b/api/src/com/cloud/api/commands/CreateRemoteAccessVpnCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -29,13 +29,13 @@ import com.cloud.exception.NetworkRuleConflictException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.IpAddress; import com.cloud.network.RemoteAccessVpn; - + @Implementation(description="Creates a l2tp/ipsec remote access vpn", responseObject=RemoteAccessVpnResponse.class) -public class CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd { - public static final Logger s_logger = Logger.getLogger(CreateRemoteAccessVpnCmd.class.getName()); - - private static final String s_name = "createremoteaccessvpnresponse"; - +public class CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd { + public static final Logger s_logger = Logger.getLogger(CreateRemoteAccessVpnCmd.class.getName()); + + private static final String s_name = "createremoteaccessvpnresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -100,8 +100,8 @@ public class CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd { @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -175,5 +175,5 @@ public class CreateRemoteAccessVpnCmd extends BaseAsyncCreateCmd { throw new InvalidParameterValueException("Unable to find ip address by id " + publicIpId); } return ip; - } -} + } +} diff --git a/api/src/com/cloud/api/commands/CreateServiceOfferingCmd.java b/api/src/com/cloud/api/commands/CreateServiceOfferingCmd.java index 19fbbae71af..8ff16d0d18e 100644 --- a/api/src/com/cloud/api/commands/CreateServiceOfferingCmd.java +++ b/api/src/com/cloud/api/commands/CreateServiceOfferingCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -24,10 +24,10 @@ import com.cloud.api.response.ServiceOfferingResponse; import com.cloud.offering.ServiceOffering; import com.cloud.user.Account; -@Implementation(description="Creates a service offering.", responseObject=ServiceOfferingResponse.class) -public class CreateServiceOfferingCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(CreateServiceOfferingCmd.class.getName()); - private static final String _name = "createserviceofferingresponse"; +@Implementation(description="Creates a service offering.", responseObject=ServiceOfferingResponse.class) +public class CreateServiceOfferingCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(CreateServiceOfferingCmd.class.getName()); + private static final String _name = "createserviceofferingresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -141,14 +141,14 @@ public class CreateServiceOfferingCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return _name; + public String getCommandName() { + return _name; } @Override public long getEntityOwnerId() { return Account.ACCOUNT_ID_SYSTEM; - } + } @Override public void execute(){ @@ -160,5 +160,5 @@ public class CreateServiceOfferingCmd extends BaseCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create service offering"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/CreateSnapshotPolicyCmd.java b/api/src/com/cloud/api/commands/CreateSnapshotPolicyCmd.java index 890c66c9121..32b2783cfb4 100644 --- a/api/src/com/cloud/api/commands/CreateSnapshotPolicyCmd.java +++ b/api/src/com/cloud/api/commands/CreateSnapshotPolicyCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,12 +28,12 @@ import com.cloud.storage.Volume; import com.cloud.storage.snapshot.SnapshotPolicy; import com.cloud.user.Account; -@Implementation(description="Creates a snapshot policy for the account.", responseObject=SnapshotPolicyResponse.class) -public class CreateSnapshotPolicyCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(CreateSnapshotPolicyCmd.class.getName()); - - private static final String s_name = "createsnapshotpolicyresponse"; - +@Implementation(description="Creates a snapshot policy for the account.", responseObject=SnapshotPolicyResponse.class) +public class CreateSnapshotPolicyCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(CreateSnapshotPolicyCmd.class.getName()); + + private static final String s_name = "createsnapshotpolicyresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -90,8 +90,8 @@ public class CreateSnapshotPolicyCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -127,5 +127,5 @@ public class CreateSnapshotPolicyCmd extends BaseCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create snapshot policy"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/CreateStorageNetworkIpRangeCmd.java b/api/src/com/cloud/api/commands/CreateStorageNetworkIpRangeCmd.java index 5c4ea622297..c7f870cd4ca 100755 --- a/api/src/com/cloud/api/commands/CreateStorageNetworkIpRangeCmd.java +++ b/api/src/com/cloud/api/commands/CreateStorageNetworkIpRangeCmd.java @@ -10,114 +10,114 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseAsyncCmd; -import com.cloud.api.BaseCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.StorageNetworkIpRangeResponse; -import com.cloud.dc.StorageNetworkIpRange; -import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.user.Account; - -@Implementation(description="Creates a Storage network IP range.", responseObject=StorageNetworkIpRangeResponse.class, since="3.0.0") -public class CreateStorageNetworkIpRangeCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(CreateStorageNetworkIpRangeCmd.class); - - private static final String s_name = "createstoragenetworkiprangeresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - @IdentityMapper(entityTableName="host_pod_ref") - @Parameter(name=ApiConstants.POD_ID, type=CommandType.LONG, required=true, description="UUID of pod where the ip range belongs to") - private Long podId; - - @Parameter(name=ApiConstants.START_IP, type=CommandType.STRING, required=true, description="the beginning IP address") - private String startIp; - - @Parameter(name=ApiConstants.END_IP, type=CommandType.STRING, description="the ending IP address") - private String endIp; - - @Parameter(name = ApiConstants.VLAN, type = CommandType.INTEGER, description = "Optional. The vlan the ip range sits on, default to Null when it is not specificed which means you network is not on any Vlan. This is mainly for Vmware as other hypervisors can directly reterive bridge from pyhsical network traffic type table") - private Integer vlan; - - @Parameter(name=ApiConstants.NETMASK, type=CommandType.STRING, required=true, description="the netmask for storage network") - private String netmask; - - @Parameter(name=ApiConstants.GATEWAY, type=CommandType.STRING, required=true, description="the gateway for storage network") - private String gateway; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public String getEndIp() { - return endIp; - } - - public Long getPodId() { - return podId; - } - - public String getStartIp() { - return startIp; - } - - public Integer getVlan() { - return vlan; - } - - public String getNetmask() { - return netmask; - } - - public String getGateWay() { - return gateway; - } - - @Override - public String getEventType() { - return EventTypes.EVENT_STORAGE_IP_RANGE_CREATE; - } - - @Override - public String getEventDescription() { - return "Creating storage ip range from " + getStartIp() + " to " + getEndIp() + " with vlan " + getVlan(); - } - - @Override - public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, - ResourceAllocationException { - try { - StorageNetworkIpRange result = _storageNetworkService.createIpRange(this); - StorageNetworkIpRangeResponse response = _responseGenerator.createStorageNetworkIpRangeResponse(result); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } catch (Exception e) { - s_logger.warn("Create storage network IP range failed", e); - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); - } - } - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - return Account.ACCOUNT_ID_SYSTEM; - } - -} +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseAsyncCmd; +import com.cloud.api.BaseCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.StorageNetworkIpRangeResponse; +import com.cloud.dc.StorageNetworkIpRange; +import com.cloud.event.EventTypes; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.user.Account; + +@Implementation(description="Creates a Storage network IP range.", responseObject=StorageNetworkIpRangeResponse.class, since="3.0.0") +public class CreateStorageNetworkIpRangeCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(CreateStorageNetworkIpRangeCmd.class); + + private static final String s_name = "createstoragenetworkiprangeresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + @IdentityMapper(entityTableName="host_pod_ref") + @Parameter(name=ApiConstants.POD_ID, type=CommandType.LONG, required=true, description="UUID of pod where the ip range belongs to") + private Long podId; + + @Parameter(name=ApiConstants.START_IP, type=CommandType.STRING, required=true, description="the beginning IP address") + private String startIp; + + @Parameter(name=ApiConstants.END_IP, type=CommandType.STRING, description="the ending IP address") + private String endIp; + + @Parameter(name = ApiConstants.VLAN, type = CommandType.INTEGER, description = "Optional. The vlan the ip range sits on, default to Null when it is not specificed which means you network is not on any Vlan. This is mainly for Vmware as other hypervisors can directly reterive bridge from pyhsical network traffic type table") + private Integer vlan; + + @Parameter(name=ApiConstants.NETMASK, type=CommandType.STRING, required=true, description="the netmask for storage network") + private String netmask; + + @Parameter(name=ApiConstants.GATEWAY, type=CommandType.STRING, required=true, description="the gateway for storage network") + private String gateway; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public String getEndIp() { + return endIp; + } + + public Long getPodId() { + return podId; + } + + public String getStartIp() { + return startIp; + } + + public Integer getVlan() { + return vlan; + } + + public String getNetmask() { + return netmask; + } + + public String getGateWay() { + return gateway; + } + + @Override + public String getEventType() { + return EventTypes.EVENT_STORAGE_IP_RANGE_CREATE; + } + + @Override + public String getEventDescription() { + return "Creating storage ip range from " + getStartIp() + " to " + getEndIp() + " with vlan " + getVlan(); + } + + @Override + public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, + ResourceAllocationException { + try { + StorageNetworkIpRange result = _storageNetworkService.createIpRange(this); + StorageNetworkIpRangeResponse response = _responseGenerator.createStorageNetworkIpRangeResponse(result); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } catch (Exception e) { + s_logger.warn("Create storage network IP range failed", e); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); + } + } + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + return Account.ACCOUNT_ID_SYSTEM; + } + +} diff --git a/api/src/com/cloud/api/commands/CreateStoragePoolCmd.java b/api/src/com/cloud/api/commands/CreateStoragePoolCmd.java index c688a111819..455e3bf3e70 100644 --- a/api/src/com/cloud/api/commands/CreateStoragePoolCmd.java +++ b/api/src/com/cloud/api/commands/CreateStoragePoolCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.net.UnknownHostException; import java.util.Map; @@ -30,12 +30,12 @@ import com.cloud.storage.StoragePool; import com.cloud.user.Account; @SuppressWarnings("rawtypes") -@Implementation(description="Creates a storage pool.", responseObject=StoragePoolResponse.class) -public class CreateStoragePoolCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(CreateStoragePoolCmd.class.getName()); - - private static final String s_name = "createstoragepoolresponse"; - +@Implementation(description="Creates a storage pool.", responseObject=StoragePoolResponse.class) +public class CreateStoragePoolCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(CreateStoragePoolCmd.class.getName()); + + private static final String s_name = "createstoragepoolresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -100,9 +100,9 @@ public class CreateStoragePoolCmd extends BaseCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } @Override @@ -131,5 +131,5 @@ public class CreateStoragePoolCmd extends BaseCmd { s_logger.warn("Exception: ", ex3); throw new ServerApiException(BaseCmd.INTERNAL_ERROR, ex3.getMessage()); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/CreateVlanIpRangeCmd.java b/api/src/com/cloud/api/commands/CreateVlanIpRangeCmd.java index 3432ecf7961..e0a12c00db2 100644 --- a/api/src/com/cloud/api/commands/CreateVlanIpRangeCmd.java +++ b/api/src/com/cloud/api/commands/CreateVlanIpRangeCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,12 +28,12 @@ import com.cloud.exception.ResourceAllocationException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.user.Account; -@Implementation(description="Creates a VLAN IP range.", responseObject=VlanIpRangeResponse.class) -public class CreateVlanIpRangeCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(CreateVlanIpRangeCmd.class.getName()); - - private static final String s_name = "createvlaniprangeresponse"; - +@Implementation(description="Creates a VLAN IP range.", responseObject=VlanIpRangeResponse.class) +public class CreateVlanIpRangeCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(CreateVlanIpRangeCmd.class.getName()); + + private static final String s_name = "createvlaniprangeresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -145,8 +145,8 @@ public class CreateVlanIpRangeCmd extends BaseCmd { @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -172,5 +172,5 @@ public class CreateVlanIpRangeCmd extends BaseCmd { s_logger.info(ex); throw new ServerApiException(BaseCmd.INSUFFICIENT_CAPACITY_ERROR, ex.getMessage()); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/DeleteAccountCmd.java b/api/src/com/cloud/api/commands/DeleteAccountCmd.java index 169b18d86db..f349bc54309 100755 --- a/api/src/com/cloud/api/commands/DeleteAccountCmd.java +++ b/api/src/com/cloud/api/commands/DeleteAccountCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,11 +28,11 @@ import com.cloud.user.Account; import com.cloud.user.User; import com.cloud.user.UserContext; -@Implementation(description="Deletes a account, and all users associated with this account", responseObject=SuccessResponse.class) -public class DeleteAccountCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DeleteAccountCmd.class.getName()); - private static final String s_name = "deleteaccountresponse"; - +@Implementation(description="Deletes a account, and all users associated with this account", responseObject=SuccessResponse.class) +public class DeleteAccountCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DeleteAccountCmd.class.getName()); + private static final String s_name = "deleteaccountresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -56,14 +56,14 @@ public class DeleteAccountCmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - public static String getStaticName() { - return s_name; - } - + public static String getStaticName() { + return s_name; + } + @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -102,4 +102,4 @@ public class DeleteAccountCmd extends BaseAsyncCmd { public AsyncJob.Type getInstanceType() { return AsyncJob.Type.Account; } -} +} diff --git a/api/src/com/cloud/api/commands/DeleteClusterCmd.java b/api/src/com/cloud/api/commands/DeleteClusterCmd.java index 68aed214bb7..be90f7ba3cb 100755 --- a/api/src/com/cloud/api/commands/DeleteClusterCmd.java +++ b/api/src/com/cloud/api/commands/DeleteClusterCmd.java @@ -10,66 +10,66 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseCmd; +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseCmd; import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.SuccessResponse; -import com.cloud.user.Account; - - -@Implementation(description="Deletes a cluster.", responseObject=SuccessResponse.class) -public class DeleteClusterCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(DeleteClusterCmd.class.getName()); - - private static final String s_name = "deleteclusterresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.SuccessResponse; +import com.cloud.user.Account; + + +@Implementation(description="Deletes a cluster.", responseObject=SuccessResponse.class) +public class DeleteClusterCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(DeleteClusterCmd.class.getName()); + + private static final String s_name = "deleteclusterresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + @IdentityMapper(entityTableName="cluster") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the cluster ID") - private Long id; - - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public Long getId() { - return id; - } - - - ///////////////////////////////////////////////////// - /////////////// API Implementation/////////////////// - ///////////////////////////////////////////////////// - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - return Account.ACCOUNT_ID_SYSTEM; - } - - @Override - public void execute(){ - boolean result = _resourceService.deleteCluster(this); - if (result) { - SuccessResponse response = new SuccessResponse(getCommandName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete cluster"); - } - } -} + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the cluster ID") + private Long id; + + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public Long getId() { + return id; + } + + + ///////////////////////////////////////////////////// + /////////////// API Implementation/////////////////// + ///////////////////////////////////////////////////// + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + return Account.ACCOUNT_ID_SYSTEM; + } + + @Override + public void execute(){ + boolean result = _resourceService.deleteCluster(this); + if (result) { + SuccessResponse response = new SuccessResponse(getCommandName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete cluster"); + } + } +} diff --git a/api/src/com/cloud/api/commands/DeleteDiskOfferingCmd.java b/api/src/com/cloud/api/commands/DeleteDiskOfferingCmd.java index 0d55a5fafea..40941262f98 100644 --- a/api/src/com/cloud/api/commands/DeleteDiskOfferingCmd.java +++ b/api/src/com/cloud/api/commands/DeleteDiskOfferingCmd.java @@ -23,11 +23,11 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.user.Account; -@Implementation(description="Updates a disk offering.", responseObject=SuccessResponse.class) -public class DeleteDiskOfferingCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(DeleteDiskOfferingCmd.class.getName()); - private static final String s_name = "deletediskofferingresponse"; - +@Implementation(description="Updates a disk offering.", responseObject=SuccessResponse.class) +public class DeleteDiskOfferingCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(DeleteDiskOfferingCmd.class.getName()); + private static final String s_name = "deletediskofferingresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -50,8 +50,8 @@ public class DeleteDiskOfferingCmd extends BaseCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -68,5 +68,5 @@ public class DeleteDiskOfferingCmd extends BaseCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete disk offering"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/DeleteDomainCmd.java b/api/src/com/cloud/api/commands/DeleteDomainCmd.java index b80ae59f783..57cc9f9c77d 100644 --- a/api/src/com/cloud/api/commands/DeleteDomainCmd.java +++ b/api/src/com/cloud/api/commands/DeleteDomainCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -27,11 +27,11 @@ import com.cloud.event.EventTypes; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Deletes a specified domain", responseObject=SuccessResponse.class) -public class DeleteDomainCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DeleteDomainCmd.class.getName()); - private static final String s_name = "deletedomainresponse"; - +@Implementation(description="Deletes a specified domain", responseObject=SuccessResponse.class) +public class DeleteDomainCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DeleteDomainCmd.class.getName()); + private static final String s_name = "deletedomainresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -60,11 +60,11 @@ public class DeleteDomainCmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } - + @Override public long getEntityOwnerId() { Domain domain = _entityMgr.findById(Domain.class, getId()); @@ -95,5 +95,5 @@ public class DeleteDomainCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete domain"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/DeleteIsoCmd.java b/api/src/com/cloud/api/commands/DeleteIsoCmd.java index f3118e3b8c6..a8e4f082f48 100755 --- a/api/src/com/cloud/api/commands/DeleteIsoCmd.java +++ b/api/src/com/cloud/api/commands/DeleteIsoCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,11 +28,11 @@ import com.cloud.template.VirtualMachineTemplate; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Deletes an ISO file.", responseObject=SuccessResponse.class) -public class DeleteIsoCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DeleteIsoCmd.class.getName()); - private static final String s_name = "deleteisosresponse"; - +@Implementation(description="Deletes an ISO file.", responseObject=SuccessResponse.class) +public class DeleteIsoCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DeleteIsoCmd.class.getName()); + private static final String s_name = "deleteisosresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -62,13 +62,13 @@ public class DeleteIsoCmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; - } - - public static String getStaticName() { - return s_name; + @Override + public String getCommandName() { + return s_name; + } + + public static String getStaticName() { + return s_name; } @Override @@ -109,5 +109,5 @@ public class DeleteIsoCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete iso"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/DeleteLBStickinessPolicyCmd.java b/api/src/com/cloud/api/commands/DeleteLBStickinessPolicyCmd.java index b39c15dc3d7..97f9ea530ae 100644 --- a/api/src/com/cloud/api/commands/DeleteLBStickinessPolicyCmd.java +++ b/api/src/com/cloud/api/commands/DeleteLBStickinessPolicyCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -109,4 +109,4 @@ public class DeleteLBStickinessPolicyCmd extends BaseAsyncCmd { } return lb.getNetworkId(); } -} +} diff --git a/api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java b/api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java index 050d7908fc7..8e410c9c08b 100644 --- a/api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java +++ b/api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -29,10 +29,10 @@ import com.cloud.network.rules.LoadBalancer; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Deletes a load balancer rule.", responseObject=SuccessResponse.class) -public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DeleteLoadBalancerRuleCmd.class.getName()); - private static final String s_name = "deleteloadbalancerruleresponse"; +@Implementation(description="Deletes a load balancer rule.", responseObject=SuccessResponse.class) +public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DeleteLoadBalancerRuleCmd.class.getName()); + private static final String s_name = "deleteloadbalancerruleresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -55,8 +55,8 @@ public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -111,4 +111,4 @@ public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd { public AsyncJob.Type getInstanceType() { return AsyncJob.Type.FirewallRule; } -} +} diff --git a/api/src/com/cloud/api/commands/DeletePortForwardingRuleCmd.java b/api/src/com/cloud/api/commands/DeletePortForwardingRuleCmd.java index a9e9d6fb4d5..5a2aa8ec1dd 100644 --- a/api/src/com/cloud/api/commands/DeletePortForwardingRuleCmd.java +++ b/api/src/com/cloud/api/commands/DeletePortForwardingRuleCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,11 +28,11 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.network.rules.PortForwardingRule; import com.cloud.user.UserContext; -@Implementation(description="Deletes a port forwarding rule", responseObject=SuccessResponse.class) -public class DeletePortForwardingRuleCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DeletePortForwardingRuleCmd.class.getName()); - private static final String s_name = "deleteportforwardingruleresponse"; - +@Implementation(description="Deletes a port forwarding rule", responseObject=SuccessResponse.class) +public class DeletePortForwardingRuleCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DeletePortForwardingRuleCmd.class.getName()); + private static final String s_name = "deleteportforwardingruleresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -57,8 +57,8 @@ public class DeletePortForwardingRuleCmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -115,4 +115,4 @@ public class DeletePortForwardingRuleCmd extends BaseAsyncCmd { public AsyncJob.Type getInstanceType() { return AsyncJob.Type.FirewallRule; } -} +} diff --git a/api/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java b/api/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java index dae85b488af..f60682217ce 100644 --- a/api/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java +++ b/api/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -24,13 +24,13 @@ import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.RemoteAccessVpn; - + @Implementation(description="Destroys a l2tp/ipsec remote access vpn", responseObject=SuccessResponse.class) -public class DeleteRemoteAccessVpnCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DeleteRemoteAccessVpnCmd.class.getName()); - - private static final String s_name = "deleteremoteaccessvpnresponse"; - +public class DeleteRemoteAccessVpnCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DeleteRemoteAccessVpnCmd.class.getName()); + + private static final String s_name = "deleteremoteaccessvpnresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -51,8 +51,8 @@ public class DeleteRemoteAccessVpnCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -91,5 +91,5 @@ public class DeleteRemoteAccessVpnCmd extends BaseAsyncCmd { public Long getSyncObjId() { return _ravService.getRemoteAccessVpn(publicIpId).getNetworkId(); } - -} + +} diff --git a/api/src/com/cloud/api/commands/DeleteSecurityGroupCmd.java b/api/src/com/cloud/api/commands/DeleteSecurityGroupCmd.java index 3ffd1dc6fd7..adc751e2830 100644 --- a/api/src/com/cloud/api/commands/DeleteSecurityGroupCmd.java +++ b/api/src/com/cloud/api/commands/DeleteSecurityGroupCmd.java @@ -10,118 +10,118 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.SuccessResponse; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.ResourceInUseException; -import com.cloud.user.UserContext; - -@Implementation(description="Deletes security group", responseObject=SuccessResponse.class) -public class DeleteSecurityGroupCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(DeleteSecurityGroupCmd.class.getName()); - private static final String s_name = "deletesecuritygroupresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - - @Parameter(name=ApiConstants.ACCOUNT, type=CommandType.STRING, description="the account of the security group. Must be specified with domain ID") - private String accountName; - - @IdentityMapper(entityTableName="domain") - @Parameter(name=ApiConstants.DOMAIN_ID, type=CommandType.LONG, description="the domain ID of account owning the security group") - private Long domainId; - - @IdentityMapper(entityTableName="projects") - @Parameter(name=ApiConstants.PROJECT_ID, type=CommandType.LONG, description="the project of the security group") - private Long projectId; - - @IdentityMapper(entityTableName="security_group") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="The ID of the security group. Mutually exclusive with name parameter") - private Long id; - - @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="The ID of the security group. Mutually exclusive with id parameter") - private String name; - - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public String getAccountName() { - return accountName; - } - - public Long getDomainId() { - return domainId; - } - - public Long getProjectId() { - return projectId; - } - - public Long getId() { - if (id != null && name != null) { - throw new InvalidParameterValueException("name and id parameters are mutually exclusive"); - } - - if (name != null) { - id = _responseGenerator.getSecurityGroupId(name, getEntityOwnerId()); - if (id == null) { - throw new InvalidParameterValueException("Unable to find security group by name " + name + " for the account id=" + getEntityOwnerId()); - } - } - - if (id == null) { - throw new InvalidParameterValueException("Either id or name parameter is requred by deleteSecurityGroup command"); - } - - return id; - } - - - - ///////////////////////////////////////////////////// - /////////////// API Implementation/////////////////// - ///////////////////////////////////////////////////// - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - Long accountId = finalyzeAccountId(accountName, domainId, projectId, true); - if (accountId == null) { - return UserContext.current().getCaller().getId(); - } - - return accountId; - } - - @Override - public void execute(){ - try{ - boolean result = _securityGroupService.deleteSecurityGroup(this); - if (result) { - SuccessResponse response = new SuccessResponse(getCommandName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete security group"); - } - } catch (ResourceInUseException ex) { - s_logger.warn("Exception: ", ex); - throw new ServerApiException(BaseCmd.RESOURCE_IN_USE_ERROR, ex.getMessage()); - } - } +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.SuccessResponse; +import com.cloud.exception.InvalidParameterValueException; +import com.cloud.exception.ResourceInUseException; +import com.cloud.user.UserContext; + +@Implementation(description="Deletes security group", responseObject=SuccessResponse.class) +public class DeleteSecurityGroupCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(DeleteSecurityGroupCmd.class.getName()); + private static final String s_name = "deletesecuritygroupresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + + @Parameter(name=ApiConstants.ACCOUNT, type=CommandType.STRING, description="the account of the security group. Must be specified with domain ID") + private String accountName; + + @IdentityMapper(entityTableName="domain") + @Parameter(name=ApiConstants.DOMAIN_ID, type=CommandType.LONG, description="the domain ID of account owning the security group") + private Long domainId; + + @IdentityMapper(entityTableName="projects") + @Parameter(name=ApiConstants.PROJECT_ID, type=CommandType.LONG, description="the project of the security group") + private Long projectId; + + @IdentityMapper(entityTableName="security_group") + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="The ID of the security group. Mutually exclusive with name parameter") + private Long id; + + @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="The ID of the security group. Mutually exclusive with id parameter") + private String name; + + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public String getAccountName() { + return accountName; + } + + public Long getDomainId() { + return domainId; + } + + public Long getProjectId() { + return projectId; + } + + public Long getId() { + if (id != null && name != null) { + throw new InvalidParameterValueException("name and id parameters are mutually exclusive"); + } + + if (name != null) { + id = _responseGenerator.getSecurityGroupId(name, getEntityOwnerId()); + if (id == null) { + throw new InvalidParameterValueException("Unable to find security group by name " + name + " for the account id=" + getEntityOwnerId()); + } + } + + if (id == null) { + throw new InvalidParameterValueException("Either id or name parameter is requred by deleteSecurityGroup command"); + } + + return id; + } + + + + ///////////////////////////////////////////////////// + /////////////// API Implementation/////////////////// + ///////////////////////////////////////////////////// + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + Long accountId = finalyzeAccountId(accountName, domainId, projectId, true); + if (accountId == null) { + return UserContext.current().getCaller().getId(); + } + + return accountId; + } + + @Override + public void execute(){ + try{ + boolean result = _securityGroupService.deleteSecurityGroup(this); + if (result) { + SuccessResponse response = new SuccessResponse(getCommandName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete security group"); + } + } catch (ResourceInUseException ex) { + s_logger.warn("Exception: ", ex); + throw new ServerApiException(BaseCmd.RESOURCE_IN_USE_ERROR, ex.getMessage()); + } + } } diff --git a/api/src/com/cloud/api/commands/DeleteServiceOfferingCmd.java b/api/src/com/cloud/api/commands/DeleteServiceOfferingCmd.java index a2af2f179e5..1ab513da047 100644 --- a/api/src/com/cloud/api/commands/DeleteServiceOfferingCmd.java +++ b/api/src/com/cloud/api/commands/DeleteServiceOfferingCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -23,11 +23,11 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.user.Account; -@Implementation(description="Deletes a service offering.", responseObject=SuccessResponse.class) -public class DeleteServiceOfferingCmd extends BaseCmd{ - public static final Logger s_logger = Logger.getLogger(DeleteServiceOfferingCmd.class.getName()); - private static final String s_name = "deleteserviceofferingresponse"; - +@Implementation(description="Deletes a service offering.", responseObject=SuccessResponse.class) +public class DeleteServiceOfferingCmd extends BaseCmd{ + public static final Logger s_logger = Logger.getLogger(DeleteServiceOfferingCmd.class.getName()); + private static final String s_name = "deleteserviceofferingresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -50,9 +50,9 @@ public class DeleteServiceOfferingCmd extends BaseCmd{ /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } @Override @@ -70,4 +70,4 @@ public class DeleteServiceOfferingCmd extends BaseCmd{ throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete service offering"); } } -} +} diff --git a/api/src/com/cloud/api/commands/DeleteSnapshotCmd.java b/api/src/com/cloud/api/commands/DeleteSnapshotCmd.java index f646589defd..b089850703c 100644 --- a/api/src/com/cloud/api/commands/DeleteSnapshotCmd.java +++ b/api/src/com/cloud/api/commands/DeleteSnapshotCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,11 +28,11 @@ import com.cloud.storage.Snapshot; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Deletes a snapshot of a disk volume.", responseObject=SuccessResponse.class) -public class DeleteSnapshotCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DeleteSnapshotCmd.class.getName()); - private static final String s_name = "deletesnapshotresponse"; - +@Implementation(description="Deletes a snapshot of a disk volume.", responseObject=SuccessResponse.class) +public class DeleteSnapshotCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DeleteSnapshotCmd.class.getName()); + private static final String s_name = "deletesnapshotresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -55,9 +55,9 @@ public class DeleteSnapshotCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -98,4 +98,4 @@ public class DeleteSnapshotCmd extends BaseAsyncCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete snapshot"); } } -} +} diff --git a/api/src/com/cloud/api/commands/DeleteSnapshotPoliciesCmd.java b/api/src/com/cloud/api/commands/DeleteSnapshotPoliciesCmd.java index 583e0c8134d..7207a609f18 100755 --- a/api/src/com/cloud/api/commands/DeleteSnapshotPoliciesCmd.java +++ b/api/src/com/cloud/api/commands/DeleteSnapshotPoliciesCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.List; import org.apache.log4j.Logger; @@ -25,12 +25,12 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.user.Account; -@Implementation(description="Deletes snapshot policies for the account.", responseObject=SuccessResponse.class) -public class DeleteSnapshotPoliciesCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(DeleteSnapshotPoliciesCmd.class.getName()); - +@Implementation(description="Deletes snapshot policies for the account.", responseObject=SuccessResponse.class) +public class DeleteSnapshotPoliciesCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(DeleteSnapshotPoliciesCmd.class.getName()); + private static final String s_name = "deletesnapshotpoliciesresponse"; - + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -62,8 +62,8 @@ public class DeleteSnapshotPoliciesCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -81,4 +81,4 @@ public class DeleteSnapshotPoliciesCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete snapshot policy"); } } -} +} diff --git a/api/src/com/cloud/api/commands/DeleteStorageNetworkIpRangeCmd.java b/api/src/com/cloud/api/commands/DeleteStorageNetworkIpRangeCmd.java index 836a5dfcd8f..9f6c60a8784 100755 --- a/api/src/com/cloud/api/commands/DeleteStorageNetworkIpRangeCmd.java +++ b/api/src/com/cloud/api/commands/DeleteStorageNetworkIpRangeCmd.java @@ -10,79 +10,79 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseAsyncCmd; -import com.cloud.api.BaseCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.BaseCmd.CommandType; -import com.cloud.api.response.SuccessResponse; -import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.user.Account; - -@Implementation(description="Deletes a storage network IP Range.", responseObject=SuccessResponse.class, since="3.0.0") -public class DeleteStorageNetworkIpRangeCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DeleteStorageNetworkIpRangeCmd.class); - - private static final String s_name = "deletestoragenetworkiprangeresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - - @IdentityMapper(entityTableName="dc_storage_network_ip_range") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the uuid of the storage network ip range") - private Long id; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public Long getId() { - return id; - } - - @Override - public String getEventType() { - return EventTypes.EVENT_STORAGE_IP_RANGE_DELETE; - } - - @Override - public String getEventDescription() { - return "Deleting storage ip range " + getId(); - } - - @Override - public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, - ResourceAllocationException { - try { - _storageNetworkService.deleteIpRange(this); - SuccessResponse response = new SuccessResponse(getCommandName()); - this.setResponseObject(response); - } catch (Exception e) { - s_logger.warn("Failed to delete storage network ip range " + getId(), e); - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); - } - } - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - return Account.ACCOUNT_ID_SYSTEM; - } - -} +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseAsyncCmd; +import com.cloud.api.BaseCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.BaseCmd.CommandType; +import com.cloud.api.response.SuccessResponse; +import com.cloud.event.EventTypes; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.user.Account; + +@Implementation(description="Deletes a storage network IP Range.", responseObject=SuccessResponse.class, since="3.0.0") +public class DeleteStorageNetworkIpRangeCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DeleteStorageNetworkIpRangeCmd.class); + + private static final String s_name = "deletestoragenetworkiprangeresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + + @IdentityMapper(entityTableName="dc_storage_network_ip_range") + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the uuid of the storage network ip range") + private Long id; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public Long getId() { + return id; + } + + @Override + public String getEventType() { + return EventTypes.EVENT_STORAGE_IP_RANGE_DELETE; + } + + @Override + public String getEventDescription() { + return "Deleting storage ip range " + getId(); + } + + @Override + public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, + ResourceAllocationException { + try { + _storageNetworkService.deleteIpRange(this); + SuccessResponse response = new SuccessResponse(getCommandName()); + this.setResponseObject(response); + } catch (Exception e) { + s_logger.warn("Failed to delete storage network ip range " + getId(), e); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); + } + } + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + return Account.ACCOUNT_ID_SYSTEM; + } + +} diff --git a/api/src/com/cloud/api/commands/DeleteTemplateCmd.java b/api/src/com/cloud/api/commands/DeleteTemplateCmd.java index 430992d3bb7..0223c3433b7 100755 --- a/api/src/com/cloud/api/commands/DeleteTemplateCmd.java +++ b/api/src/com/cloud/api/commands/DeleteTemplateCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,10 +28,10 @@ import com.cloud.template.VirtualMachineTemplate; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(responseObject=SuccessResponse.class, description="Deletes a template from the system. All virtual machines using the deleted template will not be affected.") -public class DeleteTemplateCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DeleteTemplateCmd.class.getName()); - private static final String s_name = "deletetemplateresponse"; +@Implementation(responseObject=SuccessResponse.class, description="Deletes a template from the system. All virtual machines using the deleted template will not be affected.") +public class DeleteTemplateCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DeleteTemplateCmd.class.getName()); + private static final String s_name = "deletetemplateresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -63,13 +63,13 @@ public class DeleteTemplateCmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; - } - - public static String getStaticName() { - return s_name; + @Override + public String getCommandName() { + return s_name; + } + + public static String getStaticName() { + return s_name; } @Override @@ -110,5 +110,5 @@ public class DeleteTemplateCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to delete template"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/DeleteVlanIpRangeCmd.java b/api/src/com/cloud/api/commands/DeleteVlanIpRangeCmd.java index d751c791cd4..1224681baf7 100644 --- a/api/src/com/cloud/api/commands/DeleteVlanIpRangeCmd.java +++ b/api/src/com/cloud/api/commands/DeleteVlanIpRangeCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.UUID; import org.apache.log4j.Logger; @@ -25,12 +25,12 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; import com.cloud.user.Account; -@Implementation(description="Creates a VLAN IP range.", responseObject=SuccessResponse.class) -public class DeleteVlanIpRangeCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(DeleteVlanIpRangeCmd.class.getName()); - - private static final String s_name = "deletevlaniprangeresponse"; - +@Implementation(description="Creates a VLAN IP range.", responseObject=SuccessResponse.class) +public class DeleteVlanIpRangeCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(DeleteVlanIpRangeCmd.class.getName()); + + private static final String s_name = "deletevlaniprangeresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -52,8 +52,8 @@ public class DeleteVlanIpRangeCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override diff --git a/api/src/com/cloud/api/commands/DestroyConsoleProxyCmd.java b/api/src/com/cloud/api/commands/DestroyConsoleProxyCmd.java index 74751449cac..d4a7d932227 100644 --- a/api/src/com/cloud/api/commands/DestroyConsoleProxyCmd.java +++ b/api/src/com/cloud/api/commands/DestroyConsoleProxyCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -25,12 +25,12 @@ import com.cloud.event.EventTypes; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Destroys console proxy", responseObject=SuccessResponse.class) -public class DestroyConsoleProxyCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DestroyConsoleProxyCmd.class.getName()); - - private static final String s_name = "destroyconsoleproxyresponse"; - +@Implementation(description="Destroys console proxy", responseObject=SuccessResponse.class) +public class DestroyConsoleProxyCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DestroyConsoleProxyCmd.class.getName()); + + private static final String s_name = "destroyconsoleproxyresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -53,9 +53,9 @@ public class DestroyConsoleProxyCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -87,4 +87,4 @@ public class DestroyConsoleProxyCmd extends BaseAsyncCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to destroy console proxy"); } } -} +} diff --git a/api/src/com/cloud/api/commands/DestroySystemVmCmd.java b/api/src/com/cloud/api/commands/DestroySystemVmCmd.java index b202085e611..fd86e9521e3 100644 --- a/api/src/com/cloud/api/commands/DestroySystemVmCmd.java +++ b/api/src/com/cloud/api/commands/DestroySystemVmCmd.java @@ -10,93 +10,93 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseAsyncCmd; -import com.cloud.api.BaseCmd; +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseAsyncCmd; +import com.cloud.api.BaseCmd; import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.SystemVmResponse; -import com.cloud.async.AsyncJob; -import com.cloud.event.EventTypes; -import com.cloud.user.Account; -import com.cloud.user.UserContext; -import com.cloud.vm.VirtualMachine; - -@Implementation(responseObject=SystemVmResponse.class, description="Destroyes a system virtual machine.") -public class DestroySystemVmCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DestroySystemVmCmd.class.getName()); - - private static final String s_name = "destroysystemvmresponse"; - +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.SystemVmResponse; +import com.cloud.async.AsyncJob; +import com.cloud.event.EventTypes; +import com.cloud.user.Account; +import com.cloud.user.UserContext; +import com.cloud.vm.VirtualMachine; + +@Implementation(responseObject=SystemVmResponse.class, description="Destroyes a system virtual machine.") +public class DestroySystemVmCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DestroySystemVmCmd.class.getName()); + + private static final String s_name = "destroysystemvmresponse"; + @IdentityMapper(entityTableName="vm_instance") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="The ID of the system virtual machine") - private Long id; - - public Long getId() { - return id; - } - - @Override - public String getCommandName() { - return s_name; - } - - public static String getResultObjectName() { - return "systemvm"; - } - - @Override - public long getEntityOwnerId() { - Account account = UserContext.current().getCaller(); - if (account != null) { - return account.getId(); - } - - return Account.ACCOUNT_ID_SYSTEM; // no account info given, parent this command to SYSTEM so ERROR events are tracked - } - - @Override - public String getEventType() { - VirtualMachine.Type type = _mgr.findSystemVMTypeById(getId()); - if(type == VirtualMachine.Type.ConsoleProxy){ - return EventTypes.EVENT_PROXY_DESTROY; - } - else{ - return EventTypes.EVENT_SSVM_DESTROY; - } - } - - @Override - public String getEventDescription() { - return "destroying system vm: " + getId(); - } - - @Override - public AsyncJob.Type getInstanceType() { - return AsyncJob.Type.SystemVm; - } - - @Override - public Long getInstanceId() { - return getId(); - } - - @Override - public void execute(){ - UserContext.current().setEventDetails("Vm Id: "+getId()); - VirtualMachine instance = _mgr.destroySystemVM(this); - if (instance != null) { - SystemVmResponse response = _responseGenerator.createSystemVmResponse(instance); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Fail to destroy system vm"); - } - } -} + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="The ID of the system virtual machine") + private Long id; + + public Long getId() { + return id; + } + + @Override + public String getCommandName() { + return s_name; + } + + public static String getResultObjectName() { + return "systemvm"; + } + + @Override + public long getEntityOwnerId() { + Account account = UserContext.current().getCaller(); + if (account != null) { + return account.getId(); + } + + return Account.ACCOUNT_ID_SYSTEM; // no account info given, parent this command to SYSTEM so ERROR events are tracked + } + + @Override + public String getEventType() { + VirtualMachine.Type type = _mgr.findSystemVMTypeById(getId()); + if(type == VirtualMachine.Type.ConsoleProxy){ + return EventTypes.EVENT_PROXY_DESTROY; + } + else{ + return EventTypes.EVENT_SSVM_DESTROY; + } + } + + @Override + public String getEventDescription() { + return "destroying system vm: " + getId(); + } + + @Override + public AsyncJob.Type getInstanceType() { + return AsyncJob.Type.SystemVm; + } + + @Override + public Long getInstanceId() { + return getId(); + } + + @Override + public void execute(){ + UserContext.current().setEventDetails("Vm Id: "+getId()); + VirtualMachine instance = _mgr.destroySystemVM(this); + if (instance != null) { + SystemVmResponse response = _responseGenerator.createSystemVmResponse(instance); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Fail to destroy system vm"); + } + } +} diff --git a/api/src/com/cloud/api/commands/DestroyVMCmd.java b/api/src/com/cloud/api/commands/DestroyVMCmd.java index 693a995ef7d..3202324e9c9 100644 --- a/api/src/com/cloud/api/commands/DestroyVMCmd.java +++ b/api/src/com/cloud/api/commands/DestroyVMCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -31,12 +31,12 @@ import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.uservm.UserVm; -@Implementation(description="Destroys a virtual machine. Once destroyed, only the administrator can recover it.", responseObject=UserVmResponse.class) -public class DestroyVMCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DestroyVMCmd.class.getName()); - - private static final String s_name = "destroyvirtualmachineresponse"; - +@Implementation(description="Destroys a virtual machine. Once destroyed, only the administrator can recover it.", responseObject=UserVmResponse.class) +public class DestroyVMCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DestroyVMCmd.class.getName()); + + private static final String s_name = "destroyvirtualmachineresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -58,9 +58,9 @@ public class DestroyVMCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -107,5 +107,5 @@ public class DestroyVMCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to destroy vm"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/DetachIsoCmd.java b/api/src/com/cloud/api/commands/DetachIsoCmd.java index 68d3e9123b7..e097367362f 100755 --- a/api/src/com/cloud/api/commands/DetachIsoCmd.java +++ b/api/src/com/cloud/api/commands/DetachIsoCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -26,12 +26,12 @@ import com.cloud.event.EventTypes; import com.cloud.exception.InvalidParameterValueException; import com.cloud.uservm.UserVm; -@Implementation(description="Detaches any ISO file (if any) currently attached to a virtual machine.", responseObject=UserVmResponse.class) -public class DetachIsoCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DetachIsoCmd.class.getName()); - - private static final String s_name = "detachisoresponse"; - +@Implementation(description="Detaches any ISO file (if any) currently attached to a virtual machine.", responseObject=UserVmResponse.class) +public class DetachIsoCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DetachIsoCmd.class.getName()); + + private static final String s_name = "detachisoresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -52,10 +52,10 @@ public class DetachIsoCmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; - } + @Override + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -89,4 +89,4 @@ public class DetachIsoCmd extends BaseAsyncCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to detach iso"); } } -} +} diff --git a/api/src/com/cloud/api/commands/DisableAccountCmd.java b/api/src/com/cloud/api/commands/DisableAccountCmd.java index 4d06dfde9eb..4a53db184f9 100644 --- a/api/src/com/cloud/api/commands/DisableAccountCmd.java +++ b/api/src/com/cloud/api/commands/DisableAccountCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -29,11 +29,11 @@ import com.cloud.exception.ResourceUnavailableException; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Disables an account", responseObject=AccountResponse.class) -public class DisableAccountCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DisableAccountCmd.class.getName()); - private static final String s_name = "disableaccountresponse"; - +@Implementation(description="Disables an account", responseObject=AccountResponse.class) +public class DisableAccountCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DisableAccountCmd.class.getName()); + private static final String s_name = "disableaccountresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -71,11 +71,11 @@ public class DisableAccountCmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; - } - + @Override + public String getCommandName() { + return s_name; + } + @Override public String getEventType() { return EventTypes.EVENT_ACCOUNT_DISABLE; @@ -121,5 +121,5 @@ public class DisableAccountCmd extends BaseAsyncCmd { @Override public AsyncJob.Type getInstanceType() { return AsyncJob.Type.Account; - } -} + } +} diff --git a/api/src/com/cloud/api/commands/DisableUserCmd.java b/api/src/com/cloud/api/commands/DisableUserCmd.java index 69a6e41d317..46d4773f913 100644 --- a/api/src/com/cloud/api/commands/DisableUserCmd.java +++ b/api/src/com/cloud/api/commands/DisableUserCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -29,11 +29,11 @@ import com.cloud.user.User; import com.cloud.user.UserAccount; import com.cloud.user.UserContext; -@Implementation(description="Disables a user account", responseObject=UserResponse.class) -public class DisableUserCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DisableUserCmd.class.getName()); - private static final String s_name = "disableuserresponse"; - +@Implementation(description="Disables a user account", responseObject=UserResponse.class) +public class DisableUserCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DisableUserCmd.class.getName()); + private static final String s_name = "disableuserresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -54,10 +54,10 @@ public class DisableUserCmd extends BaseAsyncCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; - } + @Override + public String getCommandName() { + return s_name; + } @Override public String getEventType() { @@ -96,5 +96,5 @@ public class DisableUserCmd extends BaseAsyncCmd { @Override public AsyncJob.Type getInstanceType() { return AsyncJob.Type.User; - } -} + } +} diff --git a/api/src/com/cloud/api/commands/DisassociateIPAddrCmd.java b/api/src/com/cloud/api/commands/DisassociateIPAddrCmd.java index afdc7d7ff47..7f6ed534890 100644 --- a/api/src/com/cloud/api/commands/DisassociateIPAddrCmd.java +++ b/api/src/com/cloud/api/commands/DisassociateIPAddrCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -30,12 +30,12 @@ import com.cloud.network.IpAddress; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Disassociates an ip address from the account.", responseObject=SuccessResponse.class) -public class DisassociateIPAddrCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(DisassociateIPAddrCmd.class.getName()); - - private static final String s_name = "disassociateipaddressresponse"; - +@Implementation(description="Disassociates an ip address from the account.", responseObject=SuccessResponse.class) +public class DisassociateIPAddrCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(DisassociateIPAddrCmd.class.getName()); + + private static final String s_name = "disassociateipaddressresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -61,9 +61,9 @@ public class DisassociateIPAddrCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public void execute() throws InsufficientAddressCapacityException{ @@ -133,4 +133,4 @@ public class DisassociateIPAddrCmd extends BaseAsyncCmd { public Long getInstanceId() { return getIpAddressId(); } -} +} diff --git a/api/src/com/cloud/api/commands/EnableAccountCmd.java b/api/src/com/cloud/api/commands/EnableAccountCmd.java index e87ba8d1ed2..9e8783536cb 100644 --- a/api/src/com/cloud/api/commands/EnableAccountCmd.java +++ b/api/src/com/cloud/api/commands/EnableAccountCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -23,11 +23,11 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.AccountResponse; import com.cloud.user.Account; -@Implementation(description="Enables an account", responseObject=AccountResponse.class) -public class EnableAccountCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(EnableAccountCmd.class.getName()); - private static final String s_name = "enableaccountresponse"; - +@Implementation(description="Enables an account", responseObject=AccountResponse.class) +public class EnableAccountCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(EnableAccountCmd.class.getName()); + private static final String s_name = "enableaccountresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -62,9 +62,9 @@ public class EnableAccountCmd extends BaseCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } @Override @@ -80,7 +80,7 @@ public class EnableAccountCmd extends BaseCmd { } return Account.ACCOUNT_ID_SYSTEM; // no account info given, parent this command to SYSTEM so ERROR events are tracked - } + } @Override public void execute(){ @@ -92,5 +92,5 @@ public class EnableAccountCmd extends BaseCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to enable account"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/EnableUserCmd.java b/api/src/com/cloud/api/commands/EnableUserCmd.java index d0eb2e45b23..299e7f2c3ed 100644 --- a/api/src/com/cloud/api/commands/EnableUserCmd.java +++ b/api/src/com/cloud/api/commands/EnableUserCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -26,11 +26,11 @@ import com.cloud.user.User; import com.cloud.user.UserAccount; import com.cloud.user.UserContext; -@Implementation(description="Enables a user account", responseObject=UserResponse.class) -public class EnableUserCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(EnableUserCmd.class.getName()); - private static final String s_name = "enableuserresponse"; - +@Implementation(description="Enables a user account", responseObject=UserResponse.class) +public class EnableUserCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(EnableUserCmd.class.getName()); + private static final String s_name = "enableuserresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -52,9 +52,9 @@ public class EnableUserCmd extends BaseCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } @Override @@ -78,5 +78,5 @@ public class EnableUserCmd extends BaseCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to enable user"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/LDAPConfigCmd.java b/api/src/com/cloud/api/commands/LDAPConfigCmd.java index 6365f7ef871..b20b4d9929a 100644 --- a/api/src/com/cloud/api/commands/LDAPConfigCmd.java +++ b/api/src/com/cloud/api/commands/LDAPConfigCmd.java @@ -10,136 +10,136 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - - -import javax.naming.NamingException; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseCmd; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.LDAPConfigResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.user.Account; - -@Implementation(description="Configure the LDAP context for this site.", responseObject=LDAPConfigResponse.class, since="3.0.0") -public class LDAPConfigCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(LDAPConfigCmd.class.getName()); - - private static final String s_name = "ldapconfigresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - - @Parameter(name=ApiConstants.HOST_NAME, type=CommandType.STRING, required=true, description="Hostname or ip address of the ldap server eg: my.ldap.com") - private String hostname; - - @Parameter(name=ApiConstants.PORT, type=CommandType.INTEGER, description="Specify the LDAP port if required, default is 389.") - private Integer port=0; - - @Parameter(name=ApiConstants.USE_SSL, type=CommandType.BOOLEAN, description="Check Use SSL if the external LDAP server is configured for LDAP over SSL.") - private Boolean useSSL; - - @Parameter(name=ApiConstants.SEARCH_BASE, type=CommandType.STRING, required=true, description="The search base defines the starting point for the search in the directory tree Example: dc=cloud,dc=com.") - private String searchBase; - - @Parameter(name=ApiConstants.QUERY_FILTER, type=CommandType.STRING, required=true, description="You specify a query filter here, which narrows down the users, who can be part of this domain.") - private String queryFilter; - - @Parameter(name=ApiConstants.BIND_DN, type=CommandType.STRING, description="Specify the distinguished name of a user with the search permission on the directory.") - private String bindDN; - - @Parameter(name=ApiConstants.BIND_PASSWORD, type=CommandType.STRING, description="Enter the password.") - private String bindPassword; - - @Parameter(name=ApiConstants.TRUST_STORE, type=CommandType.STRING, description="Enter the path to trust certificates store.") - private String trustStore; - - @Parameter(name=ApiConstants.TRUST_STORE_PASSWORD, type=CommandType.STRING, description="Enter the password for trust store.") - private String trustStorePassword; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public String getBindPassword() { - return bindPassword; - } - - public String getBindDN() { - return bindDN; - } - - public String getQueryFilter() { - return queryFilter; - } - - public String getSearchBase() { - return searchBase; - } - - public Boolean getUseSSL() { - return useSSL == null ? Boolean.FALSE : Boolean.TRUE; - } - - public String getHostname() { - return hostname; - } - - public Integer getPort() { - return port <= 0 ? 389 : port; - } - - public String getTrustStore() { - return trustStore; - } - - - public String getTrustStorePassword() { - return trustStorePassword; - } - - - ///////////////////////////////////////////////////// - /////////////// API Implementation/////////////////// - ///////////////////////////////////////////////////// - - - @Override - public void execute() throws ResourceUnavailableException, - InsufficientCapacityException, ServerApiException, - ConcurrentOperationException, ResourceAllocationException { - try { - boolean result = _configService.updateLDAP(this); - if (result){ - LDAPConfigResponse lr = _responseGenerator.createLDAPConfigResponse(getHostname(), getPort(), getUseSSL(), getQueryFilter(), getSearchBase(), getBindDN()); - lr.setResponseName(getCommandName()); - this.setResponseObject(lr); - } - } - catch (NamingException ne){ - ne.printStackTrace(); - } - - } - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - return Account.ACCOUNT_ID_SYSTEM; - } - - -} +package com.cloud.api.commands; + + +import javax.naming.NamingException; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseCmd; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.LDAPConfigResponse; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.user.Account; + +@Implementation(description="Configure the LDAP context for this site.", responseObject=LDAPConfigResponse.class, since="3.0.0") +public class LDAPConfigCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(LDAPConfigCmd.class.getName()); + + private static final String s_name = "ldapconfigresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + + @Parameter(name=ApiConstants.HOST_NAME, type=CommandType.STRING, required=true, description="Hostname or ip address of the ldap server eg: my.ldap.com") + private String hostname; + + @Parameter(name=ApiConstants.PORT, type=CommandType.INTEGER, description="Specify the LDAP port if required, default is 389.") + private Integer port=0; + + @Parameter(name=ApiConstants.USE_SSL, type=CommandType.BOOLEAN, description="Check Use SSL if the external LDAP server is configured for LDAP over SSL.") + private Boolean useSSL; + + @Parameter(name=ApiConstants.SEARCH_BASE, type=CommandType.STRING, required=true, description="The search base defines the starting point for the search in the directory tree Example: dc=cloud,dc=com.") + private String searchBase; + + @Parameter(name=ApiConstants.QUERY_FILTER, type=CommandType.STRING, required=true, description="You specify a query filter here, which narrows down the users, who can be part of this domain.") + private String queryFilter; + + @Parameter(name=ApiConstants.BIND_DN, type=CommandType.STRING, description="Specify the distinguished name of a user with the search permission on the directory.") + private String bindDN; + + @Parameter(name=ApiConstants.BIND_PASSWORD, type=CommandType.STRING, description="Enter the password.") + private String bindPassword; + + @Parameter(name=ApiConstants.TRUST_STORE, type=CommandType.STRING, description="Enter the path to trust certificates store.") + private String trustStore; + + @Parameter(name=ApiConstants.TRUST_STORE_PASSWORD, type=CommandType.STRING, description="Enter the password for trust store.") + private String trustStorePassword; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public String getBindPassword() { + return bindPassword; + } + + public String getBindDN() { + return bindDN; + } + + public String getQueryFilter() { + return queryFilter; + } + + public String getSearchBase() { + return searchBase; + } + + public Boolean getUseSSL() { + return useSSL == null ? Boolean.FALSE : Boolean.TRUE; + } + + public String getHostname() { + return hostname; + } + + public Integer getPort() { + return port <= 0 ? 389 : port; + } + + public String getTrustStore() { + return trustStore; + } + + + public String getTrustStorePassword() { + return trustStorePassword; + } + + + ///////////////////////////////////////////////////// + /////////////// API Implementation/////////////////// + ///////////////////////////////////////////////////// + + + @Override + public void execute() throws ResourceUnavailableException, + InsufficientCapacityException, ServerApiException, + ConcurrentOperationException, ResourceAllocationException { + try { + boolean result = _configService.updateLDAP(this); + if (result){ + LDAPConfigResponse lr = _responseGenerator.createLDAPConfigResponse(getHostname(), getPort(), getUseSSL(), getQueryFilter(), getSearchBase(), getBindDN()); + lr.setResponseName(getCommandName()); + this.setResponseObject(lr); + } + } + catch (NamingException ne){ + ne.printStackTrace(); + } + + } + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + return Account.ACCOUNT_ID_SYSTEM; + } + + +} diff --git a/api/src/com/cloud/api/commands/ListAccountsCmd.java b/api/src/com/cloud/api/commands/ListAccountsCmd.java index 1425fa28c70..1843f935424 100755 --- a/api/src/com/cloud/api/commands/ListAccountsCmd.java +++ b/api/src/com/cloud/api/commands/ListAccountsCmd.java @@ -26,11 +26,11 @@ import com.cloud.api.response.AccountResponse; import com.cloud.api.response.ListResponse; import com.cloud.user.Account; -@Implementation(description="Lists accounts and provides detailed account information for listed accounts", responseObject=AccountResponse.class) -public class ListAccountsCmd extends BaseListDomainResourcesCmd { - public static final Logger s_logger = Logger.getLogger(ListAccountsCmd.class.getName()); - private static final String s_name = "listaccountsresponse"; - +@Implementation(description="Lists accounts and provides detailed account information for listed accounts", responseObject=AccountResponse.class) +public class ListAccountsCmd extends BaseListDomainResourcesCmd { + public static final Logger s_logger = Logger.getLogger(ListAccountsCmd.class.getName()); + private static final String s_name = "listaccountsresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -81,8 +81,8 @@ public class ListAccountsCmd extends BaseListDomainResourcesCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -99,5 +99,5 @@ public class ListAccountsCmd extends BaseListDomainResourcesCmd { response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListAsyncJobsCmd.java b/api/src/com/cloud/api/commands/ListAsyncJobsCmd.java index 3fb7aa2950e..e5671077494 100644 --- a/api/src/com/cloud/api/commands/ListAsyncJobsCmd.java +++ b/api/src/com/cloud/api/commands/ListAsyncJobsCmd.java @@ -10,7 +10,7 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; +package com.cloud.api.commands; import java.util.ArrayList; import java.util.Date; @@ -24,9 +24,9 @@ import com.cloud.api.response.AsyncJobResponse; import com.cloud.api.response.ListResponse; import com.cloud.async.AsyncJob; -@Implementation(description="Lists all pending asynchronous jobs for the account.", responseObject=AsyncJobResponse.class) -public class ListAsyncJobsCmd extends BaseListAccountResourcesCmd { - private static final String s_name = "listasyncjobsresponse"; +@Implementation(description="Lists all pending asynchronous jobs for the account.", responseObject=AsyncJobResponse.class) +public class ListAsyncJobsCmd extends BaseListAccountResourcesCmd { + private static final String s_name = "listasyncjobsresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -48,9 +48,9 @@ public class ListAsyncJobsCmd extends BaseListAccountResourcesCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public void execute(){ @@ -64,5 +64,5 @@ public class ListAsyncJobsCmd extends BaseListAccountResourcesCmd { response.setResponses(jobResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListCapabilitiesCmd.java b/api/src/com/cloud/api/commands/ListCapabilitiesCmd.java index 44396aaadb6..69beb76a071 100644 --- a/api/src/com/cloud/api/commands/ListCapabilitiesCmd.java +++ b/api/src/com/cloud/api/commands/ListCapabilitiesCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.Map; import org.apache.log4j.Logger; @@ -21,15 +21,15 @@ import com.cloud.api.Implementation; import com.cloud.api.response.CapabilitiesResponse; import com.cloud.user.Account; -@Implementation(description="Lists capabilities", responseObject=CapabilitiesResponse.class) -public class ListCapabilitiesCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(ListCapabilitiesCmd.class.getName()); - - private static final String s_name = "listcapabilitiesresponse"; +@Implementation(description="Lists capabilities", responseObject=CapabilitiesResponse.class) +public class ListCapabilitiesCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(ListCapabilitiesCmd.class.getName()); - @Override - public String getCommandName() { - return s_name; + private static final String s_name = "listcapabilitiesresponse"; + + @Override + public String getCommandName() { + return s_name; } @Override @@ -50,5 +50,5 @@ public class ListCapabilitiesCmd extends BaseCmd { response.setObjectName("capability"); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListCapacityCmd.java b/api/src/com/cloud/api/commands/ListCapacityCmd.java index 61a859d9128..96293a3ae3d 100755 --- a/api/src/com/cloud/api/commands/ListCapacityCmd.java +++ b/api/src/com/cloud/api/commands/ListCapacityCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.text.DecimalFormat; import java.util.List; @@ -27,13 +27,13 @@ import com.cloud.api.response.ListResponse; import com.cloud.capacity.Capacity; import com.cloud.exception.InvalidParameterValueException; -@Implementation(description="Lists all the system wide capacities.", responseObject=CapacityResponse.class) -public class ListCapacityCmd extends BaseListCmd { - - public static final Logger s_logger = Logger.getLogger(ListCapacityCmd.class.getName()); - private static final DecimalFormat s_percentFormat = new DecimalFormat("##.##"); - - private static final String s_name = "listcapacityresponse"; +@Implementation(description="Lists all the system wide capacities.", responseObject=CapacityResponse.class) +public class ListCapacityCmd extends BaseListCmd { + + public static final Logger s_logger = Logger.getLogger(ListCapacityCmd.class.getName()); + private static final DecimalFormat s_percentFormat = new DecimalFormat("##.##"); + + private static final String s_name = "listcapacityresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -112,8 +112,8 @@ public class ListCapacityCmd extends BaseListCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -130,5 +130,5 @@ public class ListCapacityCmd extends BaseListCmd { response.setResponses(capacityResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListDiskOfferingsCmd.java b/api/src/com/cloud/api/commands/ListDiskOfferingsCmd.java index a072786737a..25a0395365b 100644 --- a/api/src/com/cloud/api/commands/ListDiskOfferingsCmd.java +++ b/api/src/com/cloud/api/commands/ListDiskOfferingsCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,11 +26,11 @@ import com.cloud.api.response.DiskOfferingResponse; import com.cloud.api.response.ListResponse; import com.cloud.offering.DiskOffering; -@Implementation(description="Lists all available disk offerings.", responseObject=DiskOfferingResponse.class) -public class ListDiskOfferingsCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListDiskOfferingsCmd.class.getName()); - - private static final String s_name = "listdiskofferingsresponse"; +@Implementation(description="Lists all available disk offerings.", responseObject=DiskOfferingResponse.class) +public class ListDiskOfferingsCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListDiskOfferingsCmd.class.getName()); + + private static final String s_name = "listdiskofferingsresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -68,8 +68,8 @@ public class ListDiskOfferingsCmd extends BaseListCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -86,5 +86,5 @@ public class ListDiskOfferingsCmd extends BaseListCmd { response.setResponses(diskOfferingResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListDomainChildrenCmd.java b/api/src/com/cloud/api/commands/ListDomainChildrenCmd.java index c7dc22fa0d6..04756000594 100644 --- a/api/src/com/cloud/api/commands/ListDomainChildrenCmd.java +++ b/api/src/com/cloud/api/commands/ListDomainChildrenCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,11 +26,11 @@ import com.cloud.api.response.DomainResponse; import com.cloud.api.response.ListResponse; import com.cloud.domain.Domain; -@Implementation(description="Lists all children domains belonging to a specified domain", responseObject=DomainResponse.class) -public class ListDomainChildrenCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListDomainChildrenCmd.class.getName()); - - private static final String s_name = "listdomainchildrenresponse"; +@Implementation(description="Lists all children domains belonging to a specified domain", responseObject=DomainResponse.class) +public class ListDomainChildrenCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListDomainChildrenCmd.class.getName()); + + private static final String s_name = "listdomainchildrenresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -74,8 +74,8 @@ public class ListDomainChildrenCmd extends BaseListCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -92,5 +92,5 @@ public class ListDomainChildrenCmd extends BaseListCmd { response.setResponses(domainResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListDomainsCmd.java b/api/src/com/cloud/api/commands/ListDomainsCmd.java index 8e246ccef7a..eb20143f617 100644 --- a/api/src/com/cloud/api/commands/ListDomainsCmd.java +++ b/api/src/com/cloud/api/commands/ListDomainsCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,12 +26,12 @@ import com.cloud.api.response.DomainResponse; import com.cloud.api.response.ListResponse; import com.cloud.domain.Domain; -@Implementation(description="Lists domains and provides detailed information for listed domains", responseObject=DomainResponse.class) -public class ListDomainsCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListDomainsCmd.class.getName()); - - private static final String s_name = "listdomainsresponse"; - +@Implementation(description="Lists domains and provides detailed information for listed domains", responseObject=DomainResponse.class) +public class ListDomainsCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListDomainsCmd.class.getName()); + + private static final String s_name = "listdomainsresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -74,8 +74,8 @@ public class ListDomainsCmd extends BaseListCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -92,5 +92,5 @@ public class ListDomainsCmd extends BaseListCmd { response.setResponses(domainResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListEventsCmd.java b/api/src/com/cloud/api/commands/ListEventsCmd.java index 56afdfccc73..18173630043 100755 --- a/api/src/com/cloud/api/commands/ListEventsCmd.java +++ b/api/src/com/cloud/api/commands/ListEventsCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -27,12 +27,12 @@ import com.cloud.api.response.EventResponse; import com.cloud.api.response.ListResponse; import com.cloud.event.Event; -@Implementation(description="A command to list events.", responseObject=EventResponse.class) -public class ListEventsCmd extends BaseListProjectAndAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger(ListEventsCmd.class.getName()); - - private static final String s_name = "listeventsresponse"; - +@Implementation(description="A command to list events.", responseObject=EventResponse.class) +public class ListEventsCmd extends BaseListProjectAndAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger(ListEventsCmd.class.getName()); + + private static final String s_name = "listeventsresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -96,8 +96,8 @@ public class ListEventsCmd extends BaseListProjectAndAccountResourcesCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -112,5 +112,5 @@ public class ListEventsCmd extends BaseListProjectAndAccountResourcesCmd { response.setResponses(eventResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListHostsCmd.java b/api/src/com/cloud/api/commands/ListHostsCmd.java index ea3d270f940..fca666b16cb 100755 --- a/api/src/com/cloud/api/commands/ListHostsCmd.java +++ b/api/src/com/cloud/api/commands/ListHostsCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.EnumSet; import java.util.List; @@ -31,12 +31,12 @@ import com.cloud.exception.InvalidParameterValueException; import com.cloud.host.Host; import com.cloud.utils.Pair; -@Implementation(description="Lists hosts.", responseObject=HostResponse.class) -public class ListHostsCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListHostsCmd.class.getName()); - - private static final String s_name = "listhostsresponse"; - +@Implementation(description="Lists hosts.", responseObject=HostResponse.class) +public class ListHostsCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListHostsCmd.class.getName()); + + private static final String s_name = "listhostsresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -140,13 +140,13 @@ public class ListHostsCmd extends BaseListCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } public AsyncJob.Type getInstanceType() { return AsyncJob.Type.Host; - } + } @Override public void execute(){ @@ -177,5 +177,5 @@ public class ListHostsCmd extends BaseListCmd { response.setResponses(hostResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java b/api/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java index 9c1b7c88e3b..a3ae3836a25 100644 --- a/api/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java +++ b/api/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,12 +26,12 @@ import com.cloud.api.response.FirewallRuleResponse; import com.cloud.api.response.ListResponse; import com.cloud.network.rules.PortForwardingRule; -@Implementation(description="Lists all port forwarding rules for an IP address.", responseObject=FirewallRuleResponse.class) -public class ListPortForwardingRulesCmd extends BaseListProjectAndAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger(ListPortForwardingRulesCmd.class.getName()); - - private static final String s_name = "listportforwardingrulesresponse"; - +@Implementation(description="Lists all port forwarding rules for an IP address.", responseObject=FirewallRuleResponse.class) +public class ListPortForwardingRulesCmd extends BaseListProjectAndAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger(ListPortForwardingRulesCmd.class.getName()); + + private static final String s_name = "listportforwardingrulesresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -61,7 +61,7 @@ public class ListPortForwardingRulesCmd extends BaseListProjectAndAccountResourc ///////////////////////////////////////////////////// @Override - public String getCommandName() { + public String getCommandName() { return s_name; } @@ -79,5 +79,5 @@ public class ListPortForwardingRulesCmd extends BaseListProjectAndAccountResourc response.setResponses(fwResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java b/api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java index d853d65f5fd..c56e8015244 100644 --- a/api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java +++ b/api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -27,12 +27,12 @@ import com.cloud.api.response.ListResponse; import com.cloud.async.AsyncJob; import com.cloud.network.IpAddress; -@Implementation(description="Lists all public ip addresses", responseObject=IPAddressResponse.class) -public class ListPublicIpAddressesCmd extends BaseListProjectAndAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger(ListPublicIpAddressesCmd.class.getName()); - - private static final String s_name = "listpublicipaddressesresponse"; - +@Implementation(description="Lists all public ip addresses", responseObject=IPAddressResponse.class) +public class ListPublicIpAddressesCmd extends BaseListProjectAndAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger(ListPublicIpAddressesCmd.class.getName()); + + private static final String s_name = "listpublicipaddressesresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -121,9 +121,9 @@ public class ListPublicIpAddressesCmd extends BaseListProjectAndAccountResources ///////////////////////////////////////////////////// /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } @Override @@ -161,5 +161,5 @@ public class ListPublicIpAddressesCmd extends BaseListProjectAndAccountResources public Boolean getForLoadBalancing() { return forLoadBalancing; - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListRecurringSnapshotScheduleCmd.java b/api/src/com/cloud/api/commands/ListRecurringSnapshotScheduleCmd.java index bff394fb30a..369a2e49793 100644 --- a/api/src/com/cloud/api/commands/ListRecurringSnapshotScheduleCmd.java +++ b/api/src/com/cloud/api/commands/ListRecurringSnapshotScheduleCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -23,10 +23,10 @@ import com.cloud.api.response.ListResponse; import com.cloud.api.response.SnapshotScheduleResponse; import com.cloud.storage.snapshot.SnapshotSchedule; -@Implementation(description="Lists recurring snapshot schedule", responseObject=SnapshotScheduleResponse.class) -public class ListRecurringSnapshotScheduleCmd extends BaseListCmd { - private static final String s_name = "listrecurringsnapshotscheduleresponse"; - +@Implementation(description="Lists recurring snapshot schedule", responseObject=SnapshotScheduleResponse.class) +public class ListRecurringSnapshotScheduleCmd extends BaseListCmd { + private static final String s_name = "listrecurringsnapshotscheduleresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -54,7 +54,7 @@ public class ListRecurringSnapshotScheduleCmd extends BaseListCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { + public String getCommandName() { return s_name; } @@ -77,5 +77,5 @@ public class ListRecurringSnapshotScheduleCmd extends BaseListCmd { response.setResponses(snapshotScheduleResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListRemoteAccessVpnsCmd.java b/api/src/com/cloud/api/commands/ListRemoteAccessVpnsCmd.java index 5f5e49ed4c9..2d32628e716 100644 --- a/api/src/com/cloud/api/commands/ListRemoteAccessVpnsCmd.java +++ b/api/src/com/cloud/api/commands/ListRemoteAccessVpnsCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,12 +26,12 @@ import com.cloud.api.response.ListResponse; import com.cloud.api.response.RemoteAccessVpnResponse; import com.cloud.network.RemoteAccessVpn; -@Implementation(description="Lists remote access vpns", responseObject=RemoteAccessVpnResponse.class) -public class ListRemoteAccessVpnsCmd extends BaseListProjectAndAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger (ListRemoteAccessVpnsCmd.class.getName()); - - private static final String s_name = "listremoteaccessvpnsresponse"; - +@Implementation(description="Lists remote access vpns", responseObject=RemoteAccessVpnResponse.class) +public class ListRemoteAccessVpnsCmd extends BaseListProjectAndAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger (ListRemoteAccessVpnsCmd.class.getName()); + + private static final String s_name = "listremoteaccessvpnsresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -54,8 +54,8 @@ public class ListRemoteAccessVpnsCmd extends BaseListProjectAndAccountResourcesC ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -71,5 +71,5 @@ public class ListRemoteAccessVpnsCmd extends BaseListProjectAndAccountResourcesC response.setResponses(vpnResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListRoutersCmd.java b/api/src/com/cloud/api/commands/ListRoutersCmd.java index 2e713e66988..96d6f04bc13 100644 --- a/api/src/com/cloud/api/commands/ListRoutersCmd.java +++ b/api/src/com/cloud/api/commands/ListRoutersCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -28,12 +28,12 @@ import com.cloud.api.response.ListResponse; import com.cloud.async.AsyncJob; import com.cloud.network.router.VirtualRouter; -@Implementation(description="List routers.", responseObject=DomainRouterResponse.class) -public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger(ListRoutersCmd.class.getName()); - - private static final String s_name = "listroutersresponse"; - +@Implementation(description="List routers.", responseObject=DomainRouterResponse.class) +public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger(ListRoutersCmd.class.getName()); + + private static final String s_name = "listroutersresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -101,8 +101,8 @@ public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } public AsyncJob.Type getInstanceType() { @@ -123,5 +123,5 @@ public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd { response.setResponses(routerResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListSecurityGroupsCmd.java b/api/src/com/cloud/api/commands/ListSecurityGroupsCmd.java index 7568ad22000..62c8e52d529 100644 --- a/api/src/com/cloud/api/commands/ListSecurityGroupsCmd.java +++ b/api/src/com/cloud/api/commands/ListSecurityGroupsCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.List; import org.apache.log4j.Logger; @@ -26,63 +26,63 @@ import com.cloud.api.response.ListResponse; import com.cloud.api.response.SecurityGroupResponse; import com.cloud.async.AsyncJob; import com.cloud.network.security.SecurityGroupRules; - -@Implementation(description="Lists security groups", responseObject=SecurityGroupResponse.class) -public class ListSecurityGroupsCmd extends BaseListProjectAndAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger(ListSecurityGroupsCmd.class.getName()); - - private static final String s_name = "listsecuritygroupsresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - - @Parameter(name=ApiConstants.SECURITY_GROUP_NAME, type=CommandType.STRING, description="lists security groups by name") - private String securityGroupName; - + +@Implementation(description="Lists security groups", responseObject=SecurityGroupResponse.class) +public class ListSecurityGroupsCmd extends BaseListProjectAndAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger(ListSecurityGroupsCmd.class.getName()); + + private static final String s_name = "listsecuritygroupsresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + + @Parameter(name=ApiConstants.SECURITY_GROUP_NAME, type=CommandType.STRING, description="lists security groups by name") + private String securityGroupName; + @IdentityMapper(entityTableName="vm_instance") - @Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.LONG, description="lists security groups by virtual machine id") - private Long virtualMachineId; - + @Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.LONG, description="lists security groups by virtual machine id") + private Long virtualMachineId; + @IdentityMapper(entityTableName="security_group") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="list the security group by the id provided") - private Long id; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - public String getSecurityGroupName() { - return securityGroupName; - } - - public Long getVirtualMachineId() { - return virtualMachineId; - } - - public Long getId(){ - return id; - } - - ///////////////////////////////////////////////////// - /////////////// API Implementation/////////////////// - ///////////////////////////////////////////////////// - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public void execute(){ - List securityGroups = _securityGroupService.searchForSecurityGroupRules(this); - - ListResponse response = _responseGenerator.createSecurityGroupResponses(securityGroups); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } - - @Override - public AsyncJob.Type getInstanceType() { - return AsyncJob.Type.SecurityGroup; - } -} + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="list the security group by the id provided") + private Long id; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + public String getSecurityGroupName() { + return securityGroupName; + } + + public Long getVirtualMachineId() { + return virtualMachineId; + } + + public Long getId(){ + return id; + } + + ///////////////////////////////////////////////////// + /////////////// API Implementation/////////////////// + ///////////////////////////////////////////////////// + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public void execute(){ + List securityGroups = _securityGroupService.searchForSecurityGroupRules(this); + + ListResponse response = _responseGenerator.createSecurityGroupResponses(securityGroups); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } + + @Override + public AsyncJob.Type getInstanceType() { + return AsyncJob.Type.SecurityGroup; + } +} diff --git a/api/src/com/cloud/api/commands/ListSnapshotPoliciesCmd.java b/api/src/com/cloud/api/commands/ListSnapshotPoliciesCmd.java index 0e7cd12929e..12b4908ac10 100644 --- a/api/src/com/cloud/api/commands/ListSnapshotPoliciesCmd.java +++ b/api/src/com/cloud/api/commands/ListSnapshotPoliciesCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,12 +26,12 @@ import com.cloud.api.response.ListResponse; import com.cloud.api.response.SnapshotPolicyResponse; import com.cloud.storage.snapshot.SnapshotPolicy; -@Implementation(description="Lists snapshot policies.", responseObject=SnapshotPolicyResponse.class) -public class ListSnapshotPoliciesCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListSnapshotPoliciesCmd.class.getName()); - - private static final String s_name = "listsnapshotpoliciesresponse"; - +@Implementation(description="Lists snapshot policies.", responseObject=SnapshotPolicyResponse.class) +public class ListSnapshotPoliciesCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListSnapshotPoliciesCmd.class.getName()); + + private static final String s_name = "listsnapshotpoliciesresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -52,9 +52,9 @@ public class ListSnapshotPoliciesCmd extends BaseListCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } @Override @@ -70,5 +70,5 @@ public class ListSnapshotPoliciesCmd extends BaseListCmd { response.setResponses(policyResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListSnapshotsCmd.java b/api/src/com/cloud/api/commands/ListSnapshotsCmd.java index bd293d9f5c1..fdec9c7722c 100644 --- a/api/src/com/cloud/api/commands/ListSnapshotsCmd.java +++ b/api/src/com/cloud/api/commands/ListSnapshotsCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -27,12 +27,12 @@ import com.cloud.api.response.SnapshotResponse; import com.cloud.async.AsyncJob; import com.cloud.storage.Snapshot; -@Implementation(description="Lists all available snapshots for the account.", responseObject=SnapshotResponse.class) -public class ListSnapshotsCmd extends BaseListProjectAndAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger(ListSnapshotsCmd.class.getName()); - - private static final String s_name = "listsnapshotsresponse"; - +@Implementation(description="Lists all available snapshots for the account.", responseObject=SnapshotResponse.class) +public class ListSnapshotsCmd extends BaseListProjectAndAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger(ListSnapshotsCmd.class.getName()); + + private static final String s_name = "listsnapshotsresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -83,8 +83,8 @@ public class ListSnapshotsCmd extends BaseListProjectAndAccountResourcesCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } public AsyncJob.Type getInstanceType() { @@ -105,5 +105,5 @@ public class ListSnapshotsCmd extends BaseListProjectAndAccountResourcesCmd { response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListStoragePoolsCmd.java b/api/src/com/cloud/api/commands/ListStoragePoolsCmd.java index 54ee1092dc5..fc4e7444485 100644 --- a/api/src/com/cloud/api/commands/ListStoragePoolsCmd.java +++ b/api/src/com/cloud/api/commands/ListStoragePoolsCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -28,12 +28,12 @@ import com.cloud.api.response.StoragePoolResponse; import com.cloud.async.AsyncJob; import com.cloud.storage.StoragePool; -@Implementation(description="Lists storage pools.", responseObject=StoragePoolResponse.class) -public class ListStoragePoolsCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListStoragePoolsCmd.class.getName()); - - private static final String s_name = "liststoragepoolsresponse"; - +@Implementation(description="Lists storage pools.", responseObject=StoragePoolResponse.class) +public class ListStoragePoolsCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListStoragePoolsCmd.class.getName()); + + private static final String s_name = "liststoragepoolsresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -99,14 +99,14 @@ public class ListStoragePoolsCmd extends BaseListCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } public AsyncJob.Type getInstanceType() { return AsyncJob.Type.StoragePool; - } + } @Override public void execute(){ @@ -122,5 +122,5 @@ public class ListStoragePoolsCmd extends BaseListCmd { response.setResponses(poolResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListSwiftsCmd.java b/api/src/com/cloud/api/commands/ListSwiftsCmd.java index debd97b23f2..0236359b9d9 100644 --- a/api/src/com/cloud/api/commands/ListSwiftsCmd.java +++ b/api/src/com/cloud/api/commands/ListSwiftsCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,7 +26,7 @@ import com.cloud.api.response.ListResponse; import com.cloud.api.response.SwiftResponse; import com.cloud.storage.Swift; import com.cloud.user.Account; - + @Implementation(description = "List Swift.", responseObject = HostResponse.class, since="3.0.0") public class ListSwiftsCmd extends BaseListCmd { public static final Logger s_logger = Logger.getLogger(ListSwiftsCmd.class.getName()); @@ -77,4 +77,4 @@ public class ListSwiftsCmd extends BaseListCmd { response.setResponseName(getCommandName()); this.setResponseObject(response); } -} +} diff --git a/api/src/com/cloud/api/commands/ListSystemVMsCmd.java b/api/src/com/cloud/api/commands/ListSystemVMsCmd.java index 8d3f77c61ac..f9ea96b3e25 100644 --- a/api/src/com/cloud/api/commands/ListSystemVMsCmd.java +++ b/api/src/com/cloud/api/commands/ListSystemVMsCmd.java @@ -10,7 +10,7 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; +package com.cloud.api.commands; import java.util.ArrayList; import java.util.List; @@ -27,11 +27,11 @@ import com.cloud.api.response.SystemVmResponse; import com.cloud.async.AsyncJob; import com.cloud.vm.VirtualMachine; -@Implementation(description="List system virtual machines.", responseObject=SystemVmResponse.class) -public class ListSystemVMsCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListSystemVMsCmd.class.getName()); - - private static final String s_name = "listsystemvmsresponse"; +@Implementation(description="List system virtual machines.", responseObject=SystemVmResponse.class) +public class ListSystemVMsCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListSystemVMsCmd.class.getName()); + + private static final String s_name = "listsystemvmsresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -107,8 +107,8 @@ public class ListSystemVMsCmd extends BaseListCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } public AsyncJob.Type getInstanceType() { @@ -129,5 +129,5 @@ public class ListSystemVMsCmd extends BaseListCmd { response.setResponses(vmResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListTemplatePermissionsCmd.java b/api/src/com/cloud/api/commands/ListTemplatePermissionsCmd.java index e156ed72313..4e027dd00b4 100644 --- a/api/src/com/cloud/api/commands/ListTemplatePermissionsCmd.java +++ b/api/src/com/cloud/api/commands/ListTemplatePermissionsCmd.java @@ -10,14 +10,14 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.storage.Storage.ImageFormat; import com.cloud.template.VirtualMachineTemplate; - -public class ListTemplatePermissionsCmd extends ListTemplateOrIsoPermissionsCmd { + +public class ListTemplatePermissionsCmd extends ListTemplateOrIsoPermissionsCmd { protected String getResponseName() { return "listtemplatepermissionsresponse"; } @@ -34,5 +34,5 @@ public class ListTemplatePermissionsCmd extends ListTemplateOrIsoPermissionsCmd protected boolean templateIsCorrectType(VirtualMachineTemplate template) { return !template.getFormat().equals(ImageFormat.ISO); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListTrafficTypeImplementorsCmd.java b/api/src/com/cloud/api/commands/ListTrafficTypeImplementorsCmd.java index 78d62ef1e9c..6a6e258c807 100755 --- a/api/src/com/cloud/api/commands/ListTrafficTypeImplementorsCmd.java +++ b/api/src/com/cloud/api/commands/ListTrafficTypeImplementorsCmd.java @@ -10,73 +10,73 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseListCmd; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.ListResponse; -import com.cloud.api.response.TrafficTypeImplementorResponse; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.network.Networks.TrafficType; -import com.cloud.user.Account; -import com.cloud.utils.Pair; - -@Implementation(description="Lists implementors of implementor of a network traffic type or implementors of all network traffic types", responseObject=TrafficTypeImplementorResponse.class, since="3.0.0") -public class ListTrafficTypeImplementorsCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListTrafficTypeImplementorsCmd.class); - private static final String _name = "listtraffictypeimplementorsresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - @Parameter(name=ApiConstants.TRAFFIC_TYPE, type=CommandType.STRING, description="Optional. The network traffic type, if specified, return its implementor. Otherwise, return all traffic types with their implementor") - private String trafficType; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public String getTrafficType() { - return trafficType; - } - - @Override - public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, - ResourceAllocationException { - List> results = _networkService.listTrafficTypeImplementor(this); - ListResponse response = new ListResponse(); - List responses= new ArrayList(); - for (Pair r : results) { - TrafficTypeImplementorResponse p = new TrafficTypeImplementorResponse(); - p.setTrafficType(r.first().toString()); - p.setImplementor(r.second()); - p.setObjectName("traffictypeimplementorresponse"); - responses.add(p); - } - - response.setResponses(responses); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } - - @Override - public long getEntityOwnerId() { - return Account.ACCOUNT_ID_SYSTEM; - } - - @Override - public String getCommandName() { - return _name; - } -} +package com.cloud.api.commands; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseListCmd; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.ListResponse; +import com.cloud.api.response.TrafficTypeImplementorResponse; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.network.Networks.TrafficType; +import com.cloud.user.Account; +import com.cloud.utils.Pair; + +@Implementation(description="Lists implementors of implementor of a network traffic type or implementors of all network traffic types", responseObject=TrafficTypeImplementorResponse.class, since="3.0.0") +public class ListTrafficTypeImplementorsCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListTrafficTypeImplementorsCmd.class); + private static final String _name = "listtraffictypeimplementorsresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + @Parameter(name=ApiConstants.TRAFFIC_TYPE, type=CommandType.STRING, description="Optional. The network traffic type, if specified, return its implementor. Otherwise, return all traffic types with their implementor") + private String trafficType; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public String getTrafficType() { + return trafficType; + } + + @Override + public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, + ResourceAllocationException { + List> results = _networkService.listTrafficTypeImplementor(this); + ListResponse response = new ListResponse(); + List responses= new ArrayList(); + for (Pair r : results) { + TrafficTypeImplementorResponse p = new TrafficTypeImplementorResponse(); + p.setTrafficType(r.first().toString()); + p.setImplementor(r.second()); + p.setObjectName("traffictypeimplementorresponse"); + responses.add(p); + } + + response.setResponses(responses); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } + + @Override + public long getEntityOwnerId() { + return Account.ACCOUNT_ID_SYSTEM; + } + + @Override + public String getCommandName() { + return _name; + } +} diff --git a/api/src/com/cloud/api/commands/ListUsersCmd.java b/api/src/com/cloud/api/commands/ListUsersCmd.java index 848acbed514..b6ef615fca4 100644 --- a/api/src/com/cloud/api/commands/ListUsersCmd.java +++ b/api/src/com/cloud/api/commands/ListUsersCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,12 +26,12 @@ import com.cloud.api.response.ListResponse; import com.cloud.api.response.UserResponse; import com.cloud.user.UserAccount; -@Implementation(description="Lists user accounts", responseObject=UserResponse.class) -public class ListUsersCmd extends BaseListAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger(ListUsersCmd.class.getName()); - - private static final String s_name = "listusersresponse"; - +@Implementation(description="Lists user accounts", responseObject=UserResponse.class) +public class ListUsersCmd extends BaseListAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger(ListUsersCmd.class.getName()); + + private static final String s_name = "listusersresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -75,8 +75,8 @@ public class ListUsersCmd extends BaseListAccountResourcesCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -91,5 +91,5 @@ public class ListUsersCmd extends BaseListAccountResourcesCmd { response.setResponses(userResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListVlanIpRangesCmd.java b/api/src/com/cloud/api/commands/ListVlanIpRangesCmd.java index 40490144cfe..cc0206969cf 100644 --- a/api/src/com/cloud/api/commands/ListVlanIpRangesCmd.java +++ b/api/src/com/cloud/api/commands/ListVlanIpRangesCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,12 +26,12 @@ import com.cloud.api.response.ListResponse; import com.cloud.api.response.VlanIpRangeResponse; import com.cloud.dc.Vlan; -@Implementation(description="Lists all VLAN IP ranges.", responseObject=VlanIpRangeResponse.class) -public class ListVlanIpRangesCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListVlanIpRangesCmd.class.getName()); - - private static final String s_name = "listvlaniprangesresponse"; - +@Implementation(description="Lists all VLAN IP ranges.", responseObject=VlanIpRangeResponse.class) +public class ListVlanIpRangesCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListVlanIpRangesCmd.class.getName()); + + private static final String s_name = "listvlaniprangesresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -122,8 +122,8 @@ public class ListVlanIpRangesCmd extends BaseListCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -140,5 +140,5 @@ public class ListVlanIpRangesCmd extends BaseListCmd { response.setResponses(vlanResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListVolumesCmd.java b/api/src/com/cloud/api/commands/ListVolumesCmd.java index ccea7b910a5..ce140c23fd4 100755 --- a/api/src/com/cloud/api/commands/ListVolumesCmd.java +++ b/api/src/com/cloud/api/commands/ListVolumesCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -27,12 +27,12 @@ import com.cloud.api.response.VolumeResponse; import com.cloud.async.AsyncJob; import com.cloud.storage.Volume; -@Implementation(description="Lists all volumes.", responseObject=VolumeResponse.class) -public class ListVolumesCmd extends BaseListProjectAndAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger(ListVolumesCmd.class.getName()); - - private static final String s_name = "listvolumesresponse"; - +@Implementation(description="Lists all volumes.", responseObject=VolumeResponse.class) +public class ListVolumesCmd extends BaseListProjectAndAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger(ListVolumesCmd.class.getName()); + + private static final String s_name = "listvolumesresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -101,8 +101,8 @@ public class ListVolumesCmd extends BaseListProjectAndAccountResourcesCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -125,5 +125,5 @@ public class ListVolumesCmd extends BaseListProjectAndAccountResourcesCmd { response.setResponses(volResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListVpnUsersCmd.java b/api/src/com/cloud/api/commands/ListVpnUsersCmd.java index d0d0010bec2..b77bef40e26 100644 --- a/api/src/com/cloud/api/commands/ListVpnUsersCmd.java +++ b/api/src/com/cloud/api/commands/ListVpnUsersCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -26,12 +26,12 @@ import com.cloud.api.response.ListResponse; import com.cloud.api.response.VpnUsersResponse; import com.cloud.network.VpnUser; -@Implementation(description="Lists vpn users", responseObject=VpnUsersResponse.class) -public class ListVpnUsersCmd extends BaseListProjectAndAccountResourcesCmd { - public static final Logger s_logger = Logger.getLogger (ListVpnUsersCmd.class.getName()); - - private static final String s_name = "listvpnusersresponse"; - +@Implementation(description="Lists vpn users", responseObject=VpnUsersResponse.class) +public class ListVpnUsersCmd extends BaseListProjectAndAccountResourcesCmd { + public static final Logger s_logger = Logger.getLogger (ListVpnUsersCmd.class.getName()); + + private static final String s_name = "listvpnusersresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -59,8 +59,8 @@ public class ListVpnUsersCmd extends BaseListProjectAndAccountResourcesCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -76,5 +76,5 @@ public class ListVpnUsersCmd extends BaseListProjectAndAccountResourcesCmd { response.setResponses(vpnResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ListZonesByCmd.java b/api/src/com/cloud/api/commands/ListZonesByCmd.java index 44e9fae555a..616f8af3b3f 100755 --- a/api/src/com/cloud/api/commands/ListZonesByCmd.java +++ b/api/src/com/cloud/api/commands/ListZonesByCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.ArrayList; import java.util.List; @@ -27,12 +27,12 @@ import com.cloud.api.response.ListResponse; import com.cloud.api.response.ZoneResponse; import com.cloud.dc.DataCenter; -@Implementation(description="Lists zones", responseObject=ZoneResponse.class) -public class ListZonesByCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(ListZonesByCmd.class.getName()); - - private static final String s_name = "listzonesresponse"; - +@Implementation(description="Lists zones", responseObject=ZoneResponse.class) +public class ListZonesByCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(ListZonesByCmd.class.getName()); + + private static final String s_name = "listzonesresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -74,9 +74,9 @@ public class ListZonesByCmd extends BaseListCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } @Override @@ -93,5 +93,5 @@ public class ListZonesByCmd extends BaseListCmd { response.setResponses(zoneResponses); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/LockAccountCmd.java b/api/src/com/cloud/api/commands/LockAccountCmd.java index 6204f95fec2..6ee689fca03 100644 --- a/api/src/com/cloud/api/commands/LockAccountCmd.java +++ b/api/src/com/cloud/api/commands/LockAccountCmd.java @@ -10,7 +10,7 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; +package com.cloud.api.commands; import org.apache.log4j.Logger; @@ -22,12 +22,12 @@ import com.cloud.api.Parameter; import com.cloud.api.response.AccountResponse; import com.cloud.user.Account; -@Implementation(description="Locks an account", responseObject=AccountResponse.class) -public class LockAccountCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(LockAccountCmd.class.getName()); - - private static final String s_name = "lockaccountresponse"; - +@Implementation(description="Locks an account", responseObject=AccountResponse.class) +public class LockAccountCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(LockAccountCmd.class.getName()); + + private static final String s_name = "lockaccountresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -56,7 +56,7 @@ public class LockAccountCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { + public String getCommandName() { return s_name; } @@ -81,5 +81,5 @@ public class LockAccountCmd extends BaseCmd { // } else { // throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to lock account"); // } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/LockUserCmd.java b/api/src/com/cloud/api/commands/LockUserCmd.java index 7efa5f676c2..a61968ccd37 100644 --- a/api/src/com/cloud/api/commands/LockUserCmd.java +++ b/api/src/com/cloud/api/commands/LockUserCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -25,12 +25,12 @@ import com.cloud.user.Account; import com.cloud.user.User; import com.cloud.user.UserAccount; -@Implementation(description="Locks a user account", responseObject=UserResponse.class) -public class LockUserCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(LockUserCmd.class.getName()); - - private static final String s_name = "lockuserresponse"; - +@Implementation(description="Locks a user account", responseObject=UserResponse.class) +public class LockUserCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(LockUserCmd.class.getName()); + + private static final String s_name = "lockuserresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -52,8 +52,8 @@ public class LockUserCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -76,5 +76,5 @@ public class LockUserCmd extends BaseCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to lock user"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/PrepareForMaintenanceCmd.java b/api/src/com/cloud/api/commands/PrepareForMaintenanceCmd.java index c31493bfe3d..5553952490d 100644 --- a/api/src/com/cloud/api/commands/PrepareForMaintenanceCmd.java +++ b/api/src/com/cloud/api/commands/PrepareForMaintenanceCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,12 +28,12 @@ import com.cloud.host.Host; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Prepares a host for maintenance.", responseObject=HostResponse.class) -public class PrepareForMaintenanceCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(PrepareForMaintenanceCmd.class.getName()); - - private static final String s_name = "preparehostformaintenanceresponse"; - +@Implementation(description="Prepares a host for maintenance.", responseObject=HostResponse.class) +public class PrepareForMaintenanceCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(PrepareForMaintenanceCmd.class.getName()); + + private static final String s_name = "preparehostformaintenanceresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -55,9 +55,9 @@ public class PrepareForMaintenanceCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } public static String getResultObjectName() { return "host"; @@ -103,5 +103,5 @@ public class PrepareForMaintenanceCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to prepare host for maintenance"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/QueryAsyncJobResultCmd.java b/api/src/com/cloud/api/commands/QueryAsyncJobResultCmd.java index 78eca7bc376..b804080bf18 100644 --- a/api/src/com/cloud/api/commands/QueryAsyncJobResultCmd.java +++ b/api/src/com/cloud/api/commands/QueryAsyncJobResultCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -22,12 +22,12 @@ import com.cloud.api.Parameter; import com.cloud.api.response.AsyncJobResponse; import com.cloud.user.Account; -@Implementation(description="Retrieves the current status of asynchronous job.", responseObject=AsyncJobResponse.class) -public class QueryAsyncJobResultCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(QueryAsyncJobResultCmd.class.getName()); - - private static final String s_name = "queryasyncjobresultresponse"; - +@Implementation(description="Retrieves the current status of asynchronous job.", responseObject=AsyncJobResponse.class) +public class QueryAsyncJobResultCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(QueryAsyncJobResultCmd.class.getName()); + + private static final String s_name = "queryasyncjobresultresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -49,19 +49,19 @@ public class QueryAsyncJobResultCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override public long getEntityOwnerId() { return Account.ACCOUNT_ID_SYSTEM; - } + } @Override public void execute(){ AsyncJobResponse response = _responseGenerator.queryJobResult(this); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/RebootRouterCmd.java b/api/src/com/cloud/api/commands/RebootRouterCmd.java index 3c410d765ad..765575781cf 100644 --- a/api/src/com/cloud/api/commands/RebootRouterCmd.java +++ b/api/src/com/cloud/api/commands/RebootRouterCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -31,11 +31,11 @@ import com.cloud.network.router.VirtualRouter; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Starts a router.", responseObject=DomainRouterResponse.class) -public class RebootRouterCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(RebootRouterCmd.class.getName()); - private static final String s_name = "rebootrouterresponse"; - +@Implementation(description="Starts a router.", responseObject=DomainRouterResponse.class) +public class RebootRouterCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(RebootRouterCmd.class.getName()); + private static final String s_name = "rebootrouterresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -57,8 +57,8 @@ public class RebootRouterCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -101,5 +101,5 @@ public class RebootRouterCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to reboot router"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/RebootSystemVmCmd.java b/api/src/com/cloud/api/commands/RebootSystemVmCmd.java index badd3bac1fe..73ee492495c 100644 --- a/api/src/com/cloud/api/commands/RebootSystemVmCmd.java +++ b/api/src/com/cloud/api/commands/RebootSystemVmCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,12 +28,12 @@ import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.vm.VirtualMachine; -@Implementation(description="Reboots a system VM.", responseObject=SystemVmResponse.class) -public class RebootSystemVmCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(RebootSystemVmCmd.class.getName()); - - private static final String s_name = "rebootsystemvmresponse"; - +@Implementation(description="Reboots a system VM.", responseObject=SystemVmResponse.class) +public class RebootSystemVmCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(RebootSystemVmCmd.class.getName()); + + private static final String s_name = "rebootsystemvmresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -55,9 +55,9 @@ public class RebootSystemVmCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -104,5 +104,5 @@ public class RebootSystemVmCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Fail to reboot system vm"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/RebootVMCmd.java b/api/src/com/cloud/api/commands/RebootVMCmd.java index b1ff85d421a..ee9f7dfd5c5 100644 --- a/api/src/com/cloud/api/commands/RebootVMCmd.java +++ b/api/src/com/cloud/api/commands/RebootVMCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -31,10 +31,10 @@ import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.uservm.UserVm; -@Implementation(description="Reboots a virtual machine.", responseObject=UserVmResponse.class) -public class RebootVMCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(RebootVMCmd.class.getName()); - private static final String s_name = "rebootvirtualmachineresponse"; +@Implementation(description="Reboots a virtual machine.", responseObject=UserVmResponse.class) +public class RebootVMCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(RebootVMCmd.class.getName()); + private static final String s_name = "rebootvirtualmachineresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -57,9 +57,9 @@ public class RebootVMCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -106,5 +106,5 @@ public class RebootVMCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to reboot vm instance"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ReconnectHostCmd.java b/api/src/com/cloud/api/commands/ReconnectHostCmd.java index d5d0836e571..d7550379cd4 100755 --- a/api/src/com/cloud/api/commands/ReconnectHostCmd.java +++ b/api/src/com/cloud/api/commands/ReconnectHostCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -29,12 +29,12 @@ import com.cloud.host.Host; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Reconnects a host.", responseObject=HostResponse.class) -public class ReconnectHostCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(ReconnectHostCmd.class.getName()); - - private static final String s_name = "reconnecthostresponse"; - +@Implementation(description="Reconnects a host.", responseObject=HostResponse.class) +public class ReconnectHostCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(ReconnectHostCmd.class.getName()); + + private static final String s_name = "reconnecthostresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -56,9 +56,9 @@ public class ReconnectHostCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } public static String getResultObjectName() { return "host"; @@ -107,5 +107,5 @@ public class ReconnectHostCmd extends BaseAsyncCmd { s_logger.warn("Exception: ", ex); throw new ServerApiException(BaseCmd.RESOURCE_UNAVAILABLE_ERROR, ex.getMessage()); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/RecoverVMCmd.java b/api/src/com/cloud/api/commands/RecoverVMCmd.java index 88e3a73d685..88885916b99 100644 --- a/api/src/com/cloud/api/commands/RecoverVMCmd.java +++ b/api/src/com/cloud/api/commands/RecoverVMCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -25,12 +25,12 @@ import com.cloud.exception.ResourceAllocationException; import com.cloud.user.Account; import com.cloud.uservm.UserVm; -@Implementation(description="Recovers a virtual machine.", responseObject=UserVmResponse.class) -public class RecoverVMCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(RecoverVMCmd.class.getName()); - - private static final String s_name = "recovervirtualmachineresponse"; - +@Implementation(description="Recovers a virtual machine.", responseObject=UserVmResponse.class) +public class RecoverVMCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(RecoverVMCmd.class.getName()); + + private static final String s_name = "recovervirtualmachineresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -52,8 +52,8 @@ public class RecoverVMCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -77,5 +77,5 @@ public class RecoverVMCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to recover vm"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/RegisterCmd.java b/api/src/com/cloud/api/commands/RegisterCmd.java index c96a15298fb..938097c407f 100644 --- a/api/src/com/cloud/api/commands/RegisterCmd.java +++ b/api/src/com/cloud/api/commands/RegisterCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -23,11 +23,11 @@ import com.cloud.api.response.RegisterResponse; import com.cloud.user.Account; import com.cloud.user.User; -@Implementation(responseObject=RegisterResponse.class, description="This command allows a user to register for the developer API, returning a secret key and an API key. This request is made through the integration API port, so it is a privileged command and must be made on behalf of a user. It is up to the implementer just how the username and password are entered, and then how that translates to an integration API request. Both secret key and API key should be returned to the user") -public class RegisterCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(RegisterCmd.class.getName()); +@Implementation(responseObject=RegisterResponse.class, description="This command allows a user to register for the developer API, returning a secret key and an API key. This request is made through the integration API port, so it is a privileged command and must be made on behalf of a user. It is up to the implementer just how the username and password are entered, and then how that translates to an integration API request. Both secret key and API key should be returned to the user") +public class RegisterCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(RegisterCmd.class.getName()); - private static final String s_name = "registeruserkeysresponse"; + private static final String s_name = "registeruserkeysresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -49,8 +49,8 @@ public class RegisterCmd extends BaseCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -61,7 +61,7 @@ public class RegisterCmd extends BaseCmd { } return Account.ACCOUNT_ID_SYSTEM; // no account info given, parent this command to SYSTEM so ERROR events are tracked - } + } @Override public void execute(){ @@ -72,5 +72,5 @@ public class RegisterCmd extends BaseCmd { response.setObjectName("userkeys"); response.setResponseName(getCommandName()); this.setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/RegisterIsoCmd.java b/api/src/com/cloud/api/commands/RegisterIsoCmd.java index c9274589dc7..ff550d2ceea 100755 --- a/api/src/com/cloud/api/commands/RegisterIsoCmd.java +++ b/api/src/com/cloud/api/commands/RegisterIsoCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.List; import org.apache.log4j.Logger; @@ -31,12 +31,12 @@ import com.cloud.template.VirtualMachineTemplate; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(responseObject=TemplateResponse.class, description="Registers an existing ISO into the CloudStack Cloud.") -public class RegisterIsoCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(RegisterIsoCmd.class.getName()); - +@Implementation(responseObject=TemplateResponse.class, description="Registers an existing ISO into the CloudStack Cloud.") +public class RegisterIsoCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(RegisterIsoCmd.class.getName()); + private static final String s_name = "registerisoresponse"; - + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -140,8 +140,8 @@ public class RegisterIsoCmd extends BaseCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { + @Override + public String getCommandName() { return s_name; } @@ -169,4 +169,4 @@ public class RegisterIsoCmd extends BaseCmd { } } -} +} diff --git a/api/src/com/cloud/api/commands/RegisterTemplateCmd.java b/api/src/com/cloud/api/commands/RegisterTemplateCmd.java index 5c3ac3e4a07..1afd60da33b 100755 --- a/api/src/com/cloud/api/commands/RegisterTemplateCmd.java +++ b/api/src/com/cloud/api/commands/RegisterTemplateCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.net.URISyntaxException; import java.util.Collection; import java.util.List; @@ -33,12 +33,12 @@ import com.cloud.exception.ResourceAllocationException; import com.cloud.template.VirtualMachineTemplate; import com.cloud.user.UserContext; -@Implementation(description="Registers an existing template into the CloudStack cloud. ", responseObject=TemplateResponse.class) -public class RegisterTemplateCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(RegisterTemplateCmd.class.getName()); - +@Implementation(description="Registers an existing template into the CloudStack cloud. ", responseObject=TemplateResponse.class) +public class RegisterTemplateCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(RegisterTemplateCmd.class.getName()); + private static final String s_name = "registertemplateresponse"; - + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -197,8 +197,8 @@ public class RegisterTemplateCmd extends BaseCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { + @Override + public String getCommandName() { return s_name; } @@ -234,4 +234,4 @@ public class RegisterTemplateCmd extends BaseCmd { throw new ServerApiException(BaseCmd.PARAM_ERROR, ex1.getMessage()); } } -} +} diff --git a/api/src/com/cloud/api/commands/RemoveFromLoadBalancerRuleCmd.java b/api/src/com/cloud/api/commands/RemoveFromLoadBalancerRuleCmd.java index 6c99ccb3730..7fb92a03b48 100644 --- a/api/src/com/cloud/api/commands/RemoveFromLoadBalancerRuleCmd.java +++ b/api/src/com/cloud/api/commands/RemoveFromLoadBalancerRuleCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.List; import org.apache.log4j.Logger; @@ -31,12 +31,12 @@ import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.utils.StringUtils; -@Implementation(description="Removes a virtual machine or a list of virtual machines from a load balancer rule.", responseObject=SuccessResponse.class) -public class RemoveFromLoadBalancerRuleCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(RemoveFromLoadBalancerRuleCmd.class.getName()); - - private static final String s_name = "removefromloadbalancerruleresponse"; - +@Implementation(description="Removes a virtual machine or a list of virtual machines from a load balancer rule.", responseObject=SuccessResponse.class) +public class RemoveFromLoadBalancerRuleCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(RemoveFromLoadBalancerRuleCmd.class.getName()); + + private static final String s_name = "removefromloadbalancerruleresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -66,9 +66,9 @@ public class RemoveFromLoadBalancerRuleCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -114,4 +114,4 @@ public class RemoveFromLoadBalancerRuleCmd extends BaseAsyncCmd { } return lb.getNetworkId(); } -} +} diff --git a/api/src/com/cloud/api/commands/RemoveVpnUserCmd.java b/api/src/com/cloud/api/commands/RemoveVpnUserCmd.java index 2a458a004d1..cb00a57c7a2 100644 --- a/api/src/com/cloud/api/commands/RemoveVpnUserCmd.java +++ b/api/src/com/cloud/api/commands/RemoveVpnUserCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -25,13 +25,13 @@ import com.cloud.api.response.SuccessResponse; import com.cloud.event.EventTypes; import com.cloud.user.Account; import com.cloud.user.UserContext; - + @Implementation(description="Removes vpn user", responseObject=SuccessResponse.class) -public class RemoveVpnUserCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(RemoveVpnUserCmd.class.getName()); - - private static final String s_name = "removevpnuserresponse"; - +public class RemoveVpnUserCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(RemoveVpnUserCmd.class.getName()); + + private static final String s_name = "removevpnuserresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -76,8 +76,8 @@ public class RemoveVpnUserCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; + public String getCommandName() { + return s_name; } @Override @@ -114,5 +114,5 @@ public class RemoveVpnUserCmd extends BaseAsyncCmd { } SuccessResponse response = new SuccessResponse(getCommandName()); setResponseObject(response); - } -} + } +} diff --git a/api/src/com/cloud/api/commands/ResetVMPasswordCmd.java b/api/src/com/cloud/api/commands/ResetVMPasswordCmd.java index dc7299682ca..4b59274c140 100644 --- a/api/src/com/cloud/api/commands/ResetVMPasswordCmd.java +++ b/api/src/com/cloud/api/commands/ResetVMPasswordCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -32,12 +32,12 @@ import com.cloud.uservm.UserVm; @Implementation(responseObject=UserVmResponse.class, description="Resets the password for virtual machine. " + "The virtual machine must be in a \"Stopped\" state and the template must already " + - "support this feature for this command to take effect. [async]") -public class ResetVMPasswordCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(ResetVMPasswordCmd.class.getName()); + "support this feature for this command to take effect. [async]") +public class ResetVMPasswordCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(ResetVMPasswordCmd.class.getName()); - private static final String s_name = "resetpasswordforvirtualmachineresponse"; - + private static final String s_name = "resetpasswordforvirtualmachineresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -71,9 +71,9 @@ public class ResetVMPasswordCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -115,5 +115,5 @@ public class ResetVMPasswordCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to reset vm password"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/RestoreVMCmd.java b/api/src/com/cloud/api/commands/RestoreVMCmd.java index d39b9e44728..79b08ce3b57 100755 --- a/api/src/com/cloud/api/commands/RestoreVMCmd.java +++ b/api/src/com/cloud/api/commands/RestoreVMCmd.java @@ -10,77 +10,77 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseAsyncCmd; -import com.cloud.api.BaseCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.UserVmResponse; -import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.user.Account; -import com.cloud.user.UserContext; -import com.cloud.uservm.UserVm; - -@Implementation(description="Restore a VM to original template or specific snapshot", responseObject=UserVmResponse.class, since="3.0.0") -public class RestoreVMCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(RestoreVMCmd.class); - private static final String s_name = "restorevmresponse"; - - @IdentityMapper(entityTableName="vm_instance") - @Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.LONG, required=true, description="Virtual Machine ID") - private Long vmId; - - @Override - public String getEventType() { - return EventTypes.EVENT_VM_RESTORE; - } - - @Override - public String getEventDescription() { - return "Restore a VM to orignal template or specific snapshot"; - } - - @Override - public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, - ResourceAllocationException { - UserVm result; - UserContext.current().setEventDetails("Vm Id: " + getVmId()); - result = _userVmService.restoreVM(this); - if (result != null) { - UserVmResponse response = _responseGenerator.createUserVmResponse("virtualmachine", result).get(0); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to restore vm " + getVmId()); - } - } - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - UserVm vm = _responseGenerator.findUserVmById(getVmId()); - if (vm == null) { - return Account.ACCOUNT_ID_SYSTEM; // bad id given, parent this command to SYSTEM so ERROR events are tracked - } - return vm.getAccountId(); - } - - public long getVmId() { - return vmId; - } - -} +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseAsyncCmd; +import com.cloud.api.BaseCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.UserVmResponse; +import com.cloud.event.EventTypes; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.user.Account; +import com.cloud.user.UserContext; +import com.cloud.uservm.UserVm; + +@Implementation(description="Restore a VM to original template or specific snapshot", responseObject=UserVmResponse.class, since="3.0.0") +public class RestoreVMCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(RestoreVMCmd.class); + private static final String s_name = "restorevmresponse"; + + @IdentityMapper(entityTableName="vm_instance") + @Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.LONG, required=true, description="Virtual Machine ID") + private Long vmId; + + @Override + public String getEventType() { + return EventTypes.EVENT_VM_RESTORE; + } + + @Override + public String getEventDescription() { + return "Restore a VM to orignal template or specific snapshot"; + } + + @Override + public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, + ResourceAllocationException { + UserVm result; + UserContext.current().setEventDetails("Vm Id: " + getVmId()); + result = _userVmService.restoreVM(this); + if (result != null) { + UserVmResponse response = _responseGenerator.createUserVmResponse("virtualmachine", result).get(0); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to restore vm " + getVmId()); + } + } + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + UserVm vm = _responseGenerator.findUserVmById(getVmId()); + if (vm == null) { + return Account.ACCOUNT_ID_SYSTEM; // bad id given, parent this command to SYSTEM so ERROR events are tracked + } + return vm.getAccountId(); + } + + public long getVmId() { + return vmId; + } + +} diff --git a/api/src/com/cloud/api/commands/StartRouterCmd.java b/api/src/com/cloud/api/commands/StartRouterCmd.java index e19278d49b6..6cc4f0a4a37 100644 --- a/api/src/com/cloud/api/commands/StartRouterCmd.java +++ b/api/src/com/cloud/api/commands/StartRouterCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -32,12 +32,12 @@ import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(responseObject=DomainRouterResponse.class, description="Starts a router.") -public class StartRouterCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(StartRouterCmd.class.getName()); - private static final String s_name = "startrouterresponse"; - - +@Implementation(responseObject=DomainRouterResponse.class, description="Starts a router.") +public class StartRouterCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(StartRouterCmd.class.getName()); + private static final String s_name = "startrouterresponse"; + + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -59,12 +59,12 @@ public class StartRouterCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } - - public static String getResultObjectName() { - return "router"; + public String getCommandName() { + return s_name; + } + + public static String getResultObjectName() { + return "router"; } @Override @@ -106,5 +106,5 @@ public class StartRouterCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to start router"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/StartSystemVMCmd.java b/api/src/com/cloud/api/commands/StartSystemVMCmd.java index 458a40afd81..9b5d3b9b32c 100644 --- a/api/src/com/cloud/api/commands/StartSystemVMCmd.java +++ b/api/src/com/cloud/api/commands/StartSystemVMCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -28,12 +28,12 @@ import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.vm.VirtualMachine; -@Implementation(responseObject=SystemVmResponse.class, description="Starts a system virtual machine.") -public class StartSystemVMCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(StartSystemVMCmd.class.getName()); - - private static final String s_name = "startsystemvmresponse"; - +@Implementation(responseObject=SystemVmResponse.class, description="Starts a system virtual machine.") +public class StartSystemVMCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(StartSystemVMCmd.class.getName()); + + private static final String s_name = "startsystemvmresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -55,13 +55,13 @@ public class StartSystemVMCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } - - public static String getResultObjectName() { - return "systemvm"; - } + public String getCommandName() { + return s_name; + } + + public static String getResultObjectName() { + return "systemvm"; + } @Override public long getEntityOwnerId() { @@ -108,5 +108,5 @@ public class StartSystemVMCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Fail to start system vm"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/StopSystemVmCmd.java b/api/src/com/cloud/api/commands/StopSystemVmCmd.java index bc675bc582a..30f841ee168 100644 --- a/api/src/com/cloud/api/commands/StopSystemVmCmd.java +++ b/api/src/com/cloud/api/commands/StopSystemVmCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -30,11 +30,11 @@ import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.vm.VirtualMachine; -@Implementation(description="Stops a system VM.", responseObject=SystemVmResponse.class) -public class StopSystemVmCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(StopSystemVmCmd.class.getName()); - - private static final String s_name = "stopsystemvmresponse"; +@Implementation(description="Stops a system VM.", responseObject=SystemVmResponse.class) +public class StopSystemVmCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(StopSystemVmCmd.class.getName()); + + private static final String s_name = "stopsystemvmresponse"; ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// @@ -60,9 +60,9 @@ public class StopSystemVmCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } @Override public long getEntityOwnerId() { @@ -115,5 +115,5 @@ public class StopSystemVmCmd extends BaseAsyncCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Fail to stop system vm"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/StopVMCmd.java b/api/src/com/cloud/api/commands/StopVMCmd.java index a72fff6068f..324c95eab2e 100644 --- a/api/src/com/cloud/api/commands/StopVMCmd.java +++ b/api/src/com/cloud/api/commands/StopVMCmd.java @@ -10,116 +10,116 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseAsyncCmd; -import com.cloud.api.BaseCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.UserVmResponse; -import com.cloud.async.AsyncJob; -import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.hypervisor.Hypervisor.HypervisorType; -import com.cloud.user.Account; -import com.cloud.user.UserContext; -import com.cloud.uservm.UserVm; - -@Implementation(responseObject = UserVmResponse.class, description = "Stops a virtual machine.") -public class StopVMCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(StopVMCmd.class.getName()); - - private static final String s_name = "stopvirtualmachineresponse"; - - // /////////////////////////////////////////////////// - // ////////////// API parameters ///////////////////// - // /////////////////////////////////////////////////// - - @IdentityMapper(entityTableName = "vm_instance") - @Parameter(name = ApiConstants.ID, type = CommandType.LONG, required = true, description = "The ID of the virtual machine") - private Long id; - - @Parameter(name = ApiConstants.FORCED, type = CommandType.BOOLEAN, required = false, description = "Force stop the VM. The caller knows the VM is stopped.") - private Boolean forced; - - // /////////////////////////////////////////////////// - // ///////////////// Accessors /////////////////////// - // /////////////////////////////////////////////////// - - public Long getId() { - return id; - } - - // /////////////////////////////////////////////////// - // ///////////// API Implementation/////////////////// - // /////////////////////////////////////////////////// - - @Override - public String getCommandName() { - return s_name; - } - - public static String getResultObjectName() { - return "virtualmachine"; - } - - @Override - public long getEntityOwnerId() { - UserVm vm = _responseGenerator.findUserVmById(getId()); - if (vm != null) { - return vm.getAccountId(); - } - - return Account.ACCOUNT_ID_SYSTEM; // no account info given, parent this command to SYSTEM so ERROR events are -// tracked - } - - @Override - public String getEventType() { - return EventTypes.EVENT_VM_STOP; - } - - @Override - public String getEventDescription() { - return "stopping user vm: " + getId(); - } - - @Override - public AsyncJob.Type getInstanceType() { - return AsyncJob.Type.VirtualMachine; - } - - @Override - public Long getInstanceId() { - return getId(); - } - - public boolean isForced() { - return (forced != null) ? forced : false; - } - - @Override - public void execute() throws ServerApiException, ConcurrentOperationException { - UserContext.current().setEventDetails("Vm Id: " + getId()); - UserVm result; - - if (_userVmService.getHypervisorTypeOfUserVM(getId()) == HypervisorType.BareMetal) { - result = _bareMetalVmService.stopVirtualMachine(getId(), isForced()); - } else { - result = _userVmService.stopVirtualMachine(getId(), isForced()); - } - - if (result != null) { - UserVmResponse response = _responseGenerator.createUserVmResponse("virtualmachine", result).get(0); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to stop vm"); - } - } -} +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseAsyncCmd; +import com.cloud.api.BaseCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.UserVmResponse; +import com.cloud.async.AsyncJob; +import com.cloud.event.EventTypes; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.hypervisor.Hypervisor.HypervisorType; +import com.cloud.user.Account; +import com.cloud.user.UserContext; +import com.cloud.uservm.UserVm; + +@Implementation(responseObject = UserVmResponse.class, description = "Stops a virtual machine.") +public class StopVMCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(StopVMCmd.class.getName()); + + private static final String s_name = "stopvirtualmachineresponse"; + + // /////////////////////////////////////////////////// + // ////////////// API parameters ///////////////////// + // /////////////////////////////////////////////////// + + @IdentityMapper(entityTableName = "vm_instance") + @Parameter(name = ApiConstants.ID, type = CommandType.LONG, required = true, description = "The ID of the virtual machine") + private Long id; + + @Parameter(name = ApiConstants.FORCED, type = CommandType.BOOLEAN, required = false, description = "Force stop the VM. The caller knows the VM is stopped.") + private Boolean forced; + + // /////////////////////////////////////////////////// + // ///////////////// Accessors /////////////////////// + // /////////////////////////////////////////////////// + + public Long getId() { + return id; + } + + // /////////////////////////////////////////////////// + // ///////////// API Implementation/////////////////// + // /////////////////////////////////////////////////// + + @Override + public String getCommandName() { + return s_name; + } + + public static String getResultObjectName() { + return "virtualmachine"; + } + + @Override + public long getEntityOwnerId() { + UserVm vm = _responseGenerator.findUserVmById(getId()); + if (vm != null) { + return vm.getAccountId(); + } + + return Account.ACCOUNT_ID_SYSTEM; // no account info given, parent this command to SYSTEM so ERROR events are +// tracked + } + + @Override + public String getEventType() { + return EventTypes.EVENT_VM_STOP; + } + + @Override + public String getEventDescription() { + return "stopping user vm: " + getId(); + } + + @Override + public AsyncJob.Type getInstanceType() { + return AsyncJob.Type.VirtualMachine; + } + + @Override + public Long getInstanceId() { + return getId(); + } + + public boolean isForced() { + return (forced != null) ? forced : false; + } + + @Override + public void execute() throws ServerApiException, ConcurrentOperationException { + UserContext.current().setEventDetails("Vm Id: " + getId()); + UserVm result; + + if (_userVmService.getHypervisorTypeOfUserVM(getId()) == HypervisorType.BareMetal) { + result = _bareMetalVmService.stopVirtualMachine(getId(), isForced()); + } else { + result = _userVmService.stopVirtualMachine(getId(), isForced()); + } + + if (result != null) { + UserVmResponse response = _responseGenerator.createUserVmResponse("virtualmachine", result).get(0); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to stop vm"); + } + } +} diff --git a/api/src/com/cloud/api/commands/UpdateAccountCmd.java b/api/src/com/cloud/api/commands/UpdateAccountCmd.java index 8f24ecb4231..ca3668bd009 100755 --- a/api/src/com/cloud/api/commands/UpdateAccountCmd.java +++ b/api/src/com/cloud/api/commands/UpdateAccountCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.Collection; import java.util.Map; @@ -26,11 +26,11 @@ import com.cloud.api.ServerApiException; import com.cloud.api.response.AccountResponse; import com.cloud.user.Account; -@Implementation(description="Updates account information for the authenticated user", responseObject=AccountResponse.class) -public class UpdateAccountCmd extends BaseCmd{ - public static final Logger s_logger = Logger.getLogger(UpdateAccountCmd.class.getName()); - private static final String s_name = "updateaccountresponse"; - +@Implementation(description="Updates account information for the authenticated user", responseObject=AccountResponse.class) +public class UpdateAccountCmd extends BaseCmd{ + public static final Logger s_logger = Logger.getLogger(UpdateAccountCmd.class.getName()); + private static final String s_name = "updateaccountresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -93,8 +93,8 @@ public class UpdateAccountCmd extends BaseCmd{ /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { + @Override + public String getCommandName() { return s_name; } @@ -122,5 +122,5 @@ public class UpdateAccountCmd extends BaseCmd{ } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update account"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/UpdateClusterCmd.java b/api/src/com/cloud/api/commands/UpdateClusterCmd.java index 5de22567a61..766d072a10f 100755 --- a/api/src/com/cloud/api/commands/UpdateClusterCmd.java +++ b/api/src/com/cloud/api/commands/UpdateClusterCmd.java @@ -10,84 +10,84 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseCmd; +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseCmd; import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.ClusterResponse; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.org.Cluster; -import com.cloud.user.Account; - -@Implementation(description="Updates an existing cluster", responseObject=ClusterResponse.class) -public class UpdateClusterCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(AddClusterCmd.class.getName()); - - private static final String s_name = "updateclusterresponse"; - +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.ClusterResponse; +import com.cloud.exception.InvalidParameterValueException; +import com.cloud.org.Cluster; +import com.cloud.user.Account; + +@Implementation(description="Updates an existing cluster", responseObject=ClusterResponse.class) +public class UpdateClusterCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(AddClusterCmd.class.getName()); + + private static final String s_name = "updateclusterresponse"; + @IdentityMapper(entityTableName="cluster") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the ID of the Cluster") - private Long id; - - @Parameter(name=ApiConstants.CLUSTER_NAME, type=CommandType.STRING, description="the cluster name") - private String clusterName; - - @Parameter(name=ApiConstants.HYPERVISOR, type=CommandType.STRING, description="hypervisor type of the cluster") - private String hypervisor; - - @Parameter(name=ApiConstants.CLUSTER_TYPE, type=CommandType.STRING, description="hypervisor type of the cluster") - private String clusterType; - - @Parameter(name=ApiConstants.ALLOCATION_STATE, type=CommandType.STRING, description="Allocation state of this cluster for allocation of new resources") + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the ID of the Cluster") + private Long id; + + @Parameter(name=ApiConstants.CLUSTER_NAME, type=CommandType.STRING, description="the cluster name") + private String clusterName; + + @Parameter(name=ApiConstants.HYPERVISOR, type=CommandType.STRING, description="hypervisor type of the cluster") + private String hypervisor; + + @Parameter(name=ApiConstants.CLUSTER_TYPE, type=CommandType.STRING, description="hypervisor type of the cluster") + private String clusterType; + + @Parameter(name=ApiConstants.ALLOCATION_STATE, type=CommandType.STRING, description="Allocation state of this cluster for allocation of new resources") private String allocationState; @Parameter(name=ApiConstants.MANAGED_STATE, type=CommandType.STRING, description="whether this cluster is managed by cloudstack") - private String managedState; - - public String getClusterName() { - return clusterName; - } - - public Long getId() { - return id; - } - - public String getHypervisor() { - return hypervisor; - } - - @Override - public String getCommandName() { - return s_name; - } - - public String getClusterType() { - return clusterType; - } - - public void setClusterType(String type) { - this.clusterType = type; - } - - @Override - public long getEntityOwnerId() { - return Account.ACCOUNT_ID_SYSTEM; - } - - public String getAllocationState() { - return allocationState; - } - - public void setAllocationState(String allocationState) { - this.allocationState = allocationState; - } - + private String managedState; + + public String getClusterName() { + return clusterName; + } + + public Long getId() { + return id; + } + + public String getHypervisor() { + return hypervisor; + } + + @Override + public String getCommandName() { + return s_name; + } + + public String getClusterType() { + return clusterType; + } + + public void setClusterType(String type) { + this.clusterType = type; + } + + @Override + public long getEntityOwnerId() { + return Account.ACCOUNT_ID_SYSTEM; + } + + public String getAllocationState() { + return allocationState; + } + + public void setAllocationState(String allocationState) { + this.allocationState = allocationState; + } + public String getManagedstate() { return managedState; } @@ -96,20 +96,20 @@ public class UpdateClusterCmd extends BaseCmd { this.managedState = managedstate; } - @Override - public void execute(){ - Cluster cluster = _resourceService.getCluster(getId()); - if (cluster == null) { - throw new InvalidParameterValueException("Unable to find the cluster by id=" + getId()); - } - - Cluster result = _resourceService.updateCluster(cluster, getClusterType(), getHypervisor(), getAllocationState(), getManagedstate()); - if (result != null) { - ClusterResponse clusterResponse = _responseGenerator.createClusterResponse(cluster, false); - clusterResponse.setResponseName(getCommandName()); - this.setResponseObject(clusterResponse); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update cluster"); - } - } -} + @Override + public void execute(){ + Cluster cluster = _resourceService.getCluster(getId()); + if (cluster == null) { + throw new InvalidParameterValueException("Unable to find the cluster by id=" + getId()); + } + + Cluster result = _resourceService.updateCluster(cluster, getClusterType(), getHypervisor(), getAllocationState(), getManagedstate()); + if (result != null) { + ClusterResponse clusterResponse = _responseGenerator.createClusterResponse(cluster, false); + clusterResponse.setResponseName(getCommandName()); + this.setResponseObject(clusterResponse); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update cluster"); + } + } +} diff --git a/api/src/com/cloud/api/commands/UpdateDiskOfferingCmd.java b/api/src/com/cloud/api/commands/UpdateDiskOfferingCmd.java index 3ad4b47c85d..463c8a44855 100755 --- a/api/src/com/cloud/api/commands/UpdateDiskOfferingCmd.java +++ b/api/src/com/cloud/api/commands/UpdateDiskOfferingCmd.java @@ -23,11 +23,11 @@ import com.cloud.api.response.DiskOfferingResponse; import com.cloud.offering.DiskOffering; import com.cloud.user.Account; -@Implementation(description="Updates a disk offering.", responseObject=DiskOfferingResponse.class) -public class UpdateDiskOfferingCmd extends BaseCmd{ - public static final Logger s_logger = Logger.getLogger(UpdateDiskOfferingCmd.class.getName()); - private static final String s_name = "updatediskofferingresponse"; - +@Implementation(description="Updates a disk offering.", responseObject=DiskOfferingResponse.class) +public class UpdateDiskOfferingCmd extends BaseCmd{ + public static final Logger s_logger = Logger.getLogger(UpdateDiskOfferingCmd.class.getName()); + private static final String s_name = "updatediskofferingresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -70,9 +70,9 @@ public class UpdateDiskOfferingCmd extends BaseCmd{ /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { - return s_name; + @Override + public String getCommandName() { + return s_name; } @Override @@ -90,5 +90,5 @@ public class UpdateDiskOfferingCmd extends BaseCmd{ } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update disk offering"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/UpdateDomainCmd.java b/api/src/com/cloud/api/commands/UpdateDomainCmd.java index b4849cda521..28e8d83bfa6 100644 --- a/api/src/com/cloud/api/commands/UpdateDomainCmd.java +++ b/api/src/com/cloud/api/commands/UpdateDomainCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -25,11 +25,11 @@ import com.cloud.domain.Domain; import com.cloud.user.Account; import com.cloud.user.UserContext; -@Implementation(description="Updates a domain with a new name", responseObject=DomainResponse.class) -public class UpdateDomainCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(UpdateDomainCmd.class.getName()); - private static final String s_name = "updatedomainresponse"; - +@Implementation(description="Updates a domain with a new name", responseObject=DomainResponse.class) +public class UpdateDomainCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(UpdateDomainCmd.class.getName()); + private static final String s_name = "updatedomainresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -64,8 +64,8 @@ public class UpdateDomainCmd extends BaseCmd { /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// - @Override - public String getCommandName() { + @Override + public String getCommandName() { return s_name; } @@ -85,5 +85,5 @@ public class UpdateDomainCmd extends BaseCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update domain"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/UpdateHypervisorCapabilitiesCmd.java b/api/src/com/cloud/api/commands/UpdateHypervisorCapabilitiesCmd.java index 443a9e91e42..1d3b52a12a0 100644 --- a/api/src/com/cloud/api/commands/UpdateHypervisorCapabilitiesCmd.java +++ b/api/src/com/cloud/api/commands/UpdateHypervisorCapabilitiesCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import java.util.UUID; import org.apache.log4j.Logger; @@ -28,11 +28,11 @@ import com.cloud.hypervisor.HypervisorCapabilities; import com.cloud.user.Account; -@Implementation(description="Updates a hypervisor capabilities.", responseObject=ServiceOfferingResponse.class, since="3.0.0") -public class UpdateHypervisorCapabilitiesCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(UpdateHypervisorCapabilitiesCmd.class.getName()); - private static final String s_name = "updatehypervisorcapabilitiesresponse"; - +@Implementation(description="Updates a hypervisor capabilities.", responseObject=ServiceOfferingResponse.class, since="3.0.0") +public class UpdateHypervisorCapabilitiesCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(UpdateHypervisorCapabilitiesCmd.class.getName()); + private static final String s_name = "updatehypervisorcapabilitiesresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -70,8 +70,8 @@ public class UpdateHypervisorCapabilitiesCmd extends BaseCmd { ///////////////////////////////////////////////////// - @Override - public String getCommandName() { + @Override + public String getCommandName() { return s_name; } @@ -91,4 +91,4 @@ public class UpdateHypervisorCapabilitiesCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update hypervisor capabilities"); } } -} +} diff --git a/api/src/com/cloud/api/commands/UpdateIsoCmd.java b/api/src/com/cloud/api/commands/UpdateIsoCmd.java index 07836fc1bb5..933b43bfd9f 100755 --- a/api/src/com/cloud/api/commands/UpdateIsoCmd.java +++ b/api/src/com/cloud/api/commands/UpdateIsoCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.BaseCmd; @@ -21,10 +21,10 @@ import com.cloud.api.response.TemplateResponse; import com.cloud.template.VirtualMachineTemplate; import com.cloud.user.Account; -@Implementation(description="Updates an ISO file.", responseObject=TemplateResponse.class) -public class UpdateIsoCmd extends UpdateTemplateOrIsoCmd { - public static final Logger s_logger = Logger.getLogger(UpdateIsoCmd.class.getName()); - private static final String s_name = "updateisoresponse"; +@Implementation(description="Updates an ISO file.", responseObject=TemplateResponse.class) +public class UpdateIsoCmd extends UpdateTemplateOrIsoCmd { + public static final Logger s_logger = Logger.getLogger(UpdateIsoCmd.class.getName()); + private static final String s_name = "updateisoresponse"; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// @@ -69,5 +69,5 @@ public class UpdateIsoCmd extends UpdateTemplateOrIsoCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update iso"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/UpdateLoadBalancerRuleCmd.java b/api/src/com/cloud/api/commands/UpdateLoadBalancerRuleCmd.java index 4cda0d577ff..077d2bce649 100644 --- a/api/src/com/cloud/api/commands/UpdateLoadBalancerRuleCmd.java +++ b/api/src/com/cloud/api/commands/UpdateLoadBalancerRuleCmd.java @@ -10,103 +10,103 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseAsyncCmd; -import com.cloud.api.BaseCmd; +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseAsyncCmd; +import com.cloud.api.BaseCmd; import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.LoadBalancerResponse; -import com.cloud.event.EventTypes; -import com.cloud.network.rules.LoadBalancer; -import com.cloud.user.Account; -import com.cloud.user.UserContext; - -@Implementation(description="Updates load balancer", responseObject=LoadBalancerResponse.class) -public class UpdateLoadBalancerRuleCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(UpdateLoadBalancerRuleCmd.class.getName()); - private static final String s_name = "updateloadbalancerruleresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - - @Parameter(name=ApiConstants.ALGORITHM, type=CommandType.STRING, description="load balancer algorithm (source, roundrobin, leastconn)") - private String algorithm; - - @Parameter(name=ApiConstants.DESCRIPTION, type=CommandType.STRING, description="the description of the load balancer rule", length=4096) - private String description; - +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.LoadBalancerResponse; +import com.cloud.event.EventTypes; +import com.cloud.network.rules.LoadBalancer; +import com.cloud.user.Account; +import com.cloud.user.UserContext; + +@Implementation(description="Updates load balancer", responseObject=LoadBalancerResponse.class) +public class UpdateLoadBalancerRuleCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(UpdateLoadBalancerRuleCmd.class.getName()); + private static final String s_name = "updateloadbalancerruleresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + + @Parameter(name=ApiConstants.ALGORITHM, type=CommandType.STRING, description="load balancer algorithm (source, roundrobin, leastconn)") + private String algorithm; + + @Parameter(name=ApiConstants.DESCRIPTION, type=CommandType.STRING, description="the description of the load balancer rule", length=4096) + private String description; + @IdentityMapper(entityTableName="firewall_rules") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the id of the load balancer rule to update") - private Long id; - - @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="the name of the load balancer rule") - private String loadBalancerName; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public String getAlgorithm() { - return algorithm; - } - - public String getDescription() { - return description; - } - - public Long getId() { - return id; - } - - public String getLoadBalancerName() { - return loadBalancerName; - } - - ///////////////////////////////////////////////////// - /////////////// API Implementation/////////////////// - ///////////////////////////////////////////////////// - + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the id of the load balancer rule to update") + private Long id; + + @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="the name of the load balancer rule") + private String loadBalancerName; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public String getAlgorithm() { + return algorithm; + } + + public String getDescription() { + return description; + } + + public Long getId() { + return id; + } + + public String getLoadBalancerName() { + return loadBalancerName; + } + + ///////////////////////////////////////////////////// + /////////////// API Implementation/////////////////// + ///////////////////////////////////////////////////// + @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - LoadBalancer lb = _entityMgr.findById(LoadBalancer.class, getId()); - if (lb == null) { - return Account.ACCOUNT_ID_SYSTEM; // bad id given, parent this command to SYSTEM so ERROR events are tracked - } - return lb.getAccountId(); - } - - @Override - public String getEventType() { - return EventTypes.EVENT_LOAD_BALANCER_UPDATE; - } - - @Override - public String getEventDescription() { - return "updating load balancer rule"; - } - - @Override - public void execute(){ - UserContext.current().setEventDetails("Load balancer Id: "+getId()); - LoadBalancer result = _lbService.updateLoadBalancerRule(this); - if (result != null){ - LoadBalancerResponse response = _responseGenerator.createLoadBalancerResponse(result); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update load balancer rule"); - } - } -} + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + LoadBalancer lb = _entityMgr.findById(LoadBalancer.class, getId()); + if (lb == null) { + return Account.ACCOUNT_ID_SYSTEM; // bad id given, parent this command to SYSTEM so ERROR events are tracked + } + return lb.getAccountId(); + } + + @Override + public String getEventType() { + return EventTypes.EVENT_LOAD_BALANCER_UPDATE; + } + + @Override + public String getEventDescription() { + return "updating load balancer rule"; + } + + @Override + public void execute(){ + UserContext.current().setEventDetails("Load balancer Id: "+getId()); + LoadBalancer result = _lbService.updateLoadBalancerRule(this); + if (result != null){ + LoadBalancerResponse response = _responseGenerator.createLoadBalancerResponse(result); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update load balancer rule"); + } + } +} diff --git a/api/src/com/cloud/api/commands/UpdatePortForwardingRuleCmd.java b/api/src/com/cloud/api/commands/UpdatePortForwardingRuleCmd.java index eab03f469db..6944e6a3889 100644 --- a/api/src/com/cloud/api/commands/UpdatePortForwardingRuleCmd.java +++ b/api/src/com/cloud/api/commands/UpdatePortForwardingRuleCmd.java @@ -10,116 +10,116 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseAsyncCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.response.FirewallRuleResponse; -import com.cloud.event.EventTypes; -import com.cloud.network.IpAddress; -import com.cloud.user.Account; +package com.cloud.api.commands; -@Implementation(responseObject=FirewallRuleResponse.class, description="Updates a port forwarding rule. Only the private port and the virtual machine can be updated.") -public class UpdatePortForwardingRuleCmd extends BaseAsyncCmd { +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseAsyncCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.response.FirewallRuleResponse; +import com.cloud.event.EventTypes; +import com.cloud.network.IpAddress; +import com.cloud.user.Account; + +@Implementation(responseObject=FirewallRuleResponse.class, description="Updates a port forwarding rule. Only the private port and the virtual machine can be updated.") +public class UpdatePortForwardingRuleCmd extends BaseAsyncCmd { public static final Logger s_logger = Logger.getLogger(UpdatePortForwardingRuleCmd.class.getName()); - private static final String s_name = "updateportforwardingruleresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - - @Parameter(name=ApiConstants.PRIVATE_IP, type=CommandType.STRING, description="the private IP address of the port forwarding rule") - private String privateIp; - - @Parameter(name=ApiConstants.PRIVATE_PORT, type=CommandType.STRING, required=true, description="the private port of the port forwarding rule") - private String privatePort; - - @Parameter(name=ApiConstants.PROTOCOL, type=CommandType.STRING, required=true, description="the protocol for the port fowarding rule. Valid values are TCP or UDP.") - private String protocol; - + private static final String s_name = "updateportforwardingruleresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + + @Parameter(name=ApiConstants.PRIVATE_IP, type=CommandType.STRING, description="the private IP address of the port forwarding rule") + private String privateIp; + + @Parameter(name=ApiConstants.PRIVATE_PORT, type=CommandType.STRING, required=true, description="the private port of the port forwarding rule") + private String privatePort; + + @Parameter(name=ApiConstants.PROTOCOL, type=CommandType.STRING, required=true, description="the protocol for the port fowarding rule. Valid values are TCP or UDP.") + private String protocol; + @IdentityMapper(entityTableName="user_ip_address") - @Parameter(name=ApiConstants.IP_ADDRESS_ID, type=CommandType.LONG, required=true, description="the IP address id of the port forwarding rule") - private Long publicIpId; - - @Parameter(name=ApiConstants.PUBLIC_PORT, type=CommandType.STRING, required=true, description="the public port of the port forwarding rule") - private String publicPort; - + @Parameter(name=ApiConstants.IP_ADDRESS_ID, type=CommandType.LONG, required=true, description="the IP address id of the port forwarding rule") + private Long publicIpId; + + @Parameter(name=ApiConstants.PUBLIC_PORT, type=CommandType.STRING, required=true, description="the public port of the port forwarding rule") + private String publicPort; + @IdentityMapper(entityTableName="vm_instance") - @Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.LONG, description="the ID of the virtual machine for the port forwarding rule") - private Long virtualMachineId; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public String getPrivateIp() { - return privateIp; - } - - public String getPrivatePort() { - return privatePort; - } - - public String getProtocol() { - return protocol; - } - - public Long getPublicIpId() { - return publicIpId; - } - - public String getPublicPort() { - return publicPort; - } - - public Long getVirtualMachineId() { - return virtualMachineId; - } - - ///////////////////////////////////////////////////// - /////////////// API Implementation/////////////////// - ///////////////////////////////////////////////////// - + @Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.LONG, description="the ID of the virtual machine for the port forwarding rule") + private Long virtualMachineId; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public String getPrivateIp() { + return privateIp; + } + + public String getPrivatePort() { + return privatePort; + } + + public String getProtocol() { + return protocol; + } + + public Long getPublicIpId() { + return publicIpId; + } + + public String getPublicPort() { + return publicPort; + } + + public Long getVirtualMachineId() { + return virtualMachineId; + } + + ///////////////////////////////////////////////////// + /////////////// API Implementation/////////////////// + ///////////////////////////////////////////////////// + @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - IpAddress addr = _entityMgr.findById(IpAddress.class, getPublicIpId()); - if (addr != null) { - return addr.getAccountId(); - } - - // bad address given, parent this command to SYSTEM so ERROR events are tracked - return Account.ACCOUNT_ID_SYSTEM; - } - - @Override - public String getEventType() { - return EventTypes.EVENT_NET_RULE_MODIFY; - } - - @Override - public String getEventDescription() { - return "updating port forwarding rule"; - } - - @Override - public void execute(){ -//FIXME: PortForwardingRule result = _mgr.updatePortForwardingRule(this); -// if (result != null) { -// FirewallRuleResponse response = _responseGenerator.createFirewallRuleResponse(result); -// response.setResponseName(getName()); -// this.setResponseObject(response); -// } else { -// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update port forwarding rule"); -// } - } -} + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + IpAddress addr = _entityMgr.findById(IpAddress.class, getPublicIpId()); + if (addr != null) { + return addr.getAccountId(); + } + + // bad address given, parent this command to SYSTEM so ERROR events are tracked + return Account.ACCOUNT_ID_SYSTEM; + } + + @Override + public String getEventType() { + return EventTypes.EVENT_NET_RULE_MODIFY; + } + + @Override + public String getEventDescription() { + return "updating port forwarding rule"; + } + + @Override + public void execute(){ +//FIXME: PortForwardingRule result = _mgr.updatePortForwardingRule(this); +// if (result != null) { +// FirewallRuleResponse response = _responseGenerator.createFirewallRuleResponse(result); +// response.setResponseName(getName()); +// this.setResponseObject(response); +// } else { +// throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update port forwarding rule"); +// } + } +} diff --git a/api/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java b/api/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java index 62a1794882e..733a63d2141 100755 --- a/api/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java +++ b/api/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -24,11 +24,11 @@ import com.cloud.api.response.ServiceOfferingResponse; import com.cloud.offering.ServiceOffering; import com.cloud.user.Account; -@Implementation(description="Updates a service offering.", responseObject=ServiceOfferingResponse.class) -public class UpdateServiceOfferingCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(UpdateServiceOfferingCmd.class.getName()); - private static final String s_name = "updateserviceofferingresponse"; - +@Implementation(description="Updates a service offering.", responseObject=ServiceOfferingResponse.class) +public class UpdateServiceOfferingCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(UpdateServiceOfferingCmd.class.getName()); + private static final String s_name = "updateserviceofferingresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -69,8 +69,8 @@ public class UpdateServiceOfferingCmd extends BaseCmd { ///////////////////////////////////////////////////// - @Override - public String getCommandName() { + @Override + public String getCommandName() { return s_name; } @@ -92,4 +92,4 @@ public class UpdateServiceOfferingCmd extends BaseCmd { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update service offering"); } } -} +} diff --git a/api/src/com/cloud/api/commands/UpdateStorageNetworkIpRangeCmd.java b/api/src/com/cloud/api/commands/UpdateStorageNetworkIpRangeCmd.java index 47bc126bbe2..5eaa1ba0589 100755 --- a/api/src/com/cloud/api/commands/UpdateStorageNetworkIpRangeCmd.java +++ b/api/src/com/cloud/api/commands/UpdateStorageNetworkIpRangeCmd.java @@ -10,106 +10,106 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseAsyncCmd; -import com.cloud.api.BaseCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.StorageNetworkIpRangeResponse; -import com.cloud.dc.StorageNetworkIpRange; -import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.user.Account; - -@Implementation(description="Update a Storage network IP range, only allowed when no IPs in this range have been allocated.", responseObject=UpdateStorageNetworkIpRangeCmd.class, since="3.0.0") -public class UpdateStorageNetworkIpRangeCmd extends BaseAsyncCmd { - public static final Logger s_logger = Logger.getLogger(UpdateStorageNetworkIpRangeCmd.class); - private static final String s_name = "updatestoragenetworkiprangeresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - @IdentityMapper(entityTableName="dc_storage_network_ip_range") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="UUID of storage network ip range") - private Long id; - - @Parameter(name=ApiConstants.START_IP, type=CommandType.STRING, description="the beginning IP address") - private String startIp; - - @Parameter(name=ApiConstants.END_IP, type=CommandType.STRING, description="the ending IP address") - private String endIp; - - @Parameter(name=ApiConstants.VLAN, type=CommandType.INTEGER, description="Optional. the vlan the ip range sits on") - private Integer vlan; - - @Parameter(name=ApiConstants.NETMASK, type=CommandType.STRING, description="the netmask for storage network") - private String netmask; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - public String getEndIp() { - return endIp; - } - - public String getStartIp() { - return startIp; - } - - public Integer getVlan() { - return vlan; - } - - public String getNetmask() { - return netmask; - } - - public Long getId() { - return id; - } - - @Override - public String getEventType() { - return EventTypes.EVENT_STORAGE_IP_RANGE_UPDATE; - } - - @Override - public String getEventDescription() { - return "Update storage ip range " + getId() + " [StartIp=" + getStartIp() + ", EndIp=" + getEndIp() + ", vlan=" + getVlan() + ", netmask=" + getNetmask() + ']'; - } - - @Override - public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, - ResourceAllocationException { - try { - StorageNetworkIpRange result = _storageNetworkService.updateIpRange(this); - StorageNetworkIpRangeResponse response = _responseGenerator.createStorageNetworkIpRangeResponse(result); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } catch (Exception e) { - s_logger.warn("Update storage network IP range failed", e); - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); - } - - } - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - return Account.ACCOUNT_ID_SYSTEM; - } - -} +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseAsyncCmd; +import com.cloud.api.BaseCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.StorageNetworkIpRangeResponse; +import com.cloud.dc.StorageNetworkIpRange; +import com.cloud.event.EventTypes; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.user.Account; + +@Implementation(description="Update a Storage network IP range, only allowed when no IPs in this range have been allocated.", responseObject=UpdateStorageNetworkIpRangeCmd.class, since="3.0.0") +public class UpdateStorageNetworkIpRangeCmd extends BaseAsyncCmd { + public static final Logger s_logger = Logger.getLogger(UpdateStorageNetworkIpRangeCmd.class); + private static final String s_name = "updatestoragenetworkiprangeresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + @IdentityMapper(entityTableName="dc_storage_network_ip_range") + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="UUID of storage network ip range") + private Long id; + + @Parameter(name=ApiConstants.START_IP, type=CommandType.STRING, description="the beginning IP address") + private String startIp; + + @Parameter(name=ApiConstants.END_IP, type=CommandType.STRING, description="the ending IP address") + private String endIp; + + @Parameter(name=ApiConstants.VLAN, type=CommandType.INTEGER, description="Optional. the vlan the ip range sits on") + private Integer vlan; + + @Parameter(name=ApiConstants.NETMASK, type=CommandType.STRING, description="the netmask for storage network") + private String netmask; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + public String getEndIp() { + return endIp; + } + + public String getStartIp() { + return startIp; + } + + public Integer getVlan() { + return vlan; + } + + public String getNetmask() { + return netmask; + } + + public Long getId() { + return id; + } + + @Override + public String getEventType() { + return EventTypes.EVENT_STORAGE_IP_RANGE_UPDATE; + } + + @Override + public String getEventDescription() { + return "Update storage ip range " + getId() + " [StartIp=" + getStartIp() + ", EndIp=" + getEndIp() + ", vlan=" + getVlan() + ", netmask=" + getNetmask() + ']'; + } + + @Override + public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, + ResourceAllocationException { + try { + StorageNetworkIpRange result = _storageNetworkService.updateIpRange(this); + StorageNetworkIpRangeResponse response = _responseGenerator.createStorageNetworkIpRangeResponse(result); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } catch (Exception e) { + s_logger.warn("Update storage network IP range failed", e); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); + } + + } + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + return Account.ACCOUNT_ID_SYSTEM; + } + +} diff --git a/api/src/com/cloud/api/commands/UpdateTemplateCmd.java b/api/src/com/cloud/api/commands/UpdateTemplateCmd.java index 8bcf0cd5b17..d494f568058 100755 --- a/api/src/com/cloud/api/commands/UpdateTemplateCmd.java +++ b/api/src/com/cloud/api/commands/UpdateTemplateCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.BaseCmd; @@ -21,9 +21,9 @@ import com.cloud.api.response.TemplateResponse; import com.cloud.template.VirtualMachineTemplate; import com.cloud.user.Account; -@Implementation(description="Updates attributes of a template.", responseObject=TemplateResponse.class) -public class UpdateTemplateCmd extends UpdateTemplateOrIsoCmd { - public static final Logger s_logger = Logger.getLogger(UpdateTemplateCmd.class.getName()); +@Implementation(description="Updates attributes of a template.", responseObject=TemplateResponse.class) +public class UpdateTemplateCmd extends UpdateTemplateOrIsoCmd { + public static final Logger s_logger = Logger.getLogger(UpdateTemplateCmd.class.getName()); private static final String s_name = "updatetemplateresponse"; ///////////////////////////////////////////////////// @@ -70,5 +70,5 @@ public class UpdateTemplateCmd extends UpdateTemplateOrIsoCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update template"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/UpdateTemplatePermissionsCmd.java b/api/src/com/cloud/api/commands/UpdateTemplatePermissionsCmd.java index 78a96663d95..b7f6fb921a6 100644 --- a/api/src/com/cloud/api/commands/UpdateTemplatePermissionsCmd.java +++ b/api/src/com/cloud/api/commands/UpdateTemplatePermissionsCmd.java @@ -23,7 +23,7 @@ import com.cloud.user.Account; "A public template is visible to all accounts within the same domain. " + "A private template is visible only to the owner of the template. " + "A priviledged template is a private template with account permissions added. " + - "Only accounts specified under the template permissions are visible to them.") + "Only accounts specified under the template permissions are visible to them.") public class UpdateTemplatePermissionsCmd extends UpdateTemplateOrIsoPermissionsCmd { protected String getResponseName() { return "updatetemplatepermissionsresponse"; @@ -42,5 +42,5 @@ public class UpdateTemplatePermissionsCmd extends UpdateTemplateOrIsoPermissions return Account.ACCOUNT_ID_SYSTEM; // no account info given, parent this command to SYSTEM so ERROR events are tracked } - -} + +} diff --git a/api/src/com/cloud/api/commands/UpdateUserCmd.java b/api/src/com/cloud/api/commands/UpdateUserCmd.java index 0ce92bdf10f..227cd538643 100644 --- a/api/src/com/cloud/api/commands/UpdateUserCmd.java +++ b/api/src/com/cloud/api/commands/UpdateUserCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -26,7 +26,7 @@ import com.cloud.user.User; import com.cloud.user.UserAccount; import com.cloud.user.UserContext; -@Implementation(description="Updates a user account", responseObject=UserResponse.class) +@Implementation(description="Updates a user account", responseObject=UserResponse.class) public class UpdateUserCmd extends BaseCmd { public static final Logger s_logger = Logger.getLogger(UpdateUserCmd.class.getName()); diff --git a/api/src/com/cloud/api/commands/UpdateVMCmd.java b/api/src/com/cloud/api/commands/UpdateVMCmd.java index 7431ae96a42..49a0e886fe4 100644 --- a/api/src/com/cloud/api/commands/UpdateVMCmd.java +++ b/api/src/com/cloud/api/commands/UpdateVMCmd.java @@ -10,8 +10,8 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - +package com.cloud.api.commands; + import org.apache.log4j.Logger; import com.cloud.api.ApiConstants; @@ -25,11 +25,11 @@ import com.cloud.user.Account; import com.cloud.user.UserContext; import com.cloud.uservm.UserVm; -@Implementation(description="Updates parameters of a virtual machine.", responseObject=UserVmResponse.class) -public class UpdateVMCmd extends BaseCmd{ - public static final Logger s_logger = Logger.getLogger(UpdateVMCmd.class.getName()); - private static final String s_name = "updatevirtualmachineresponse"; - +@Implementation(description="Updates parameters of a virtual machine.", responseObject=UserVmResponse.class) +public class UpdateVMCmd extends BaseCmd{ + public static final Logger s_logger = Logger.getLogger(UpdateVMCmd.class.getName()); + private static final String s_name = "updatevirtualmachineresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -87,8 +87,8 @@ public class UpdateVMCmd extends BaseCmd{ return osTypeId; } - @Override - public String getCommandName() { + @Override + public String getCommandName() { return s_name; } @@ -117,5 +117,5 @@ public class UpdateVMCmd extends BaseCmd{ } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update vm"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/UpdateVMGroupCmd.java b/api/src/com/cloud/api/commands/UpdateVMGroupCmd.java index c7736e4481c..3a2eb629cc1 100644 --- a/api/src/com/cloud/api/commands/UpdateVMGroupCmd.java +++ b/api/src/com/cloud/api/commands/UpdateVMGroupCmd.java @@ -10,77 +10,77 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.InstanceGroupResponse; -import com.cloud.user.Account; -import com.cloud.vm.InstanceGroup; - -@Implementation(description="Updates a vm group", responseObject=InstanceGroupResponse.class) -public class UpdateVMGroupCmd extends BaseCmd{ - - private static final String s_name = "updateinstancegroupresponse"; - public static final Logger s_logger = Logger.getLogger(UpdateVMGroupCmd.class.getName()); - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - - @IdentityMapper(entityTableName="instance_group") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="Instance group ID") - private Long id; - - @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="new instance group name") - private String groupName; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public Long getId() { - return id; - } - - public String getGroupName() { - return groupName; - } - - ///////////////////////////////////////////////////// - /////////////// API Implementation/////////////////// - ///////////////////////////////////////////////////// - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - InstanceGroup group = _entityMgr.findById(InstanceGroup.class, getId()); - if (group != null) { - return group.getAccountId(); - } - - return Account.ACCOUNT_ID_SYSTEM; // no account info given, parent this command to SYSTEM so ERROR events are tracked - } - - @Override - public void execute(){ - InstanceGroup result = _mgr.updateVmGroup(this); - if (result != null){ - InstanceGroupResponse response = _responseGenerator.createInstanceGroupResponse(result); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } else { - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update vm instance group"); - } - } -} +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.InstanceGroupResponse; +import com.cloud.user.Account; +import com.cloud.vm.InstanceGroup; + +@Implementation(description="Updates a vm group", responseObject=InstanceGroupResponse.class) +public class UpdateVMGroupCmd extends BaseCmd{ + + private static final String s_name = "updateinstancegroupresponse"; + public static final Logger s_logger = Logger.getLogger(UpdateVMGroupCmd.class.getName()); + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + + @IdentityMapper(entityTableName="instance_group") + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="Instance group ID") + private Long id; + + @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="new instance group name") + private String groupName; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public Long getId() { + return id; + } + + public String getGroupName() { + return groupName; + } + + ///////////////////////////////////////////////////// + /////////////// API Implementation/////////////////// + ///////////////////////////////////////////////////// + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + InstanceGroup group = _entityMgr.findById(InstanceGroup.class, getId()); + if (group != null) { + return group.getAccountId(); + } + + return Account.ACCOUNT_ID_SYSTEM; // no account info given, parent this command to SYSTEM so ERROR events are tracked + } + + @Override + public void execute(){ + InstanceGroup result = _mgr.updateVmGroup(this); + if (result != null){ + InstanceGroupResponse response = _responseGenerator.createInstanceGroupResponse(result); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } else { + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update vm instance group"); + } + } +} diff --git a/api/src/com/cloud/api/commands/UpgradeVMCmd.java b/api/src/com/cloud/api/commands/UpgradeVMCmd.java index 4ab43a1bfcf..de52e3f9d3c 100644 --- a/api/src/com/cloud/api/commands/UpgradeVMCmd.java +++ b/api/src/com/cloud/api/commands/UpgradeVMCmd.java @@ -10,7 +10,7 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; +package com.cloud.api.commands; import org.apache.log4j.Logger; @@ -29,11 +29,11 @@ import com.cloud.uservm.UserVm; @Implementation(responseObject=UserVmResponse.class, description="Changes the service offering for a virtual machine. " + "The virtual machine must be in a \"Stopped\" state for " + - "this command to take effect.") -public class UpgradeVMCmd extends BaseCmd { - public static final Logger s_logger = Logger.getLogger(UpgradeVMCmd.class.getName()); - private static final String s_name = "changeserviceforvirtualmachineresponse"; - + "this command to take effect.") +public class UpgradeVMCmd extends BaseCmd { + public static final Logger s_logger = Logger.getLogger(UpgradeVMCmd.class.getName()); + private static final String s_name = "changeserviceforvirtualmachineresponse"; + ///////////////////////////////////////////////////// //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// @@ -63,9 +63,9 @@ public class UpgradeVMCmd extends BaseCmd { ///////////////////////////////////////////////////// @Override - public String getCommandName() { - return s_name; - } + public String getCommandName() { + return s_name; + } public static String getResultObjectName() { return "virtualmachine"; @@ -98,5 +98,5 @@ public class UpgradeVMCmd extends BaseCmd { } else { throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to upgrade vm"); } - } -} + } +} diff --git a/api/src/com/cloud/api/commands/UploadVolumeCmd.java b/api/src/com/cloud/api/commands/UploadVolumeCmd.java index 6195095df31..6df1fcd9fe8 100755 --- a/api/src/com/cloud/api/commands/UploadVolumeCmd.java +++ b/api/src/com/cloud/api/commands/UploadVolumeCmd.java @@ -10,148 +10,148 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseAsyncCreateCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.VolumeResponse; -import com.cloud.event.EventTypes; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.NetworkRuleConflictException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.user.UserContext; - -@Implementation(description="Uploads a data disk.", responseObject=VolumeResponse.class) -public class UploadVolumeCmd extends BaseAsyncCreateCmd { - public static final Logger s_logger = Logger.getLogger(UploadVolumeCmd.class.getName()); - private static final String s_name = "uploadvolumeresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - - @Parameter(name=ApiConstants.DISPLAY_TEXT, type=CommandType.STRING, required=true, description="the display text of the volume. This is usually used for display purposes.", length=4096) - private String displayText; - - @Parameter(name=ApiConstants.FORMAT, type=CommandType.STRING, required=true, description="the format for the volume. Possible values include QCOW2, RAW, and VHD.") - private String format; - - @Parameter(name=ApiConstants.HYPERVISOR, type=CommandType.STRING, required=true, description="the target hypervisor for the volume") - private String hypervisor; - - @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, required=true, description="the name of the volume") - private String volumeName; - - @Parameter(name=ApiConstants.URL, type=CommandType.STRING, required=true, description="the URL of where the volume is hosted. Possible URL include http:// and https://") - private String url; - - @IdentityMapper(entityTableName="data_center") - @Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, required=true, description="the ID of the zone the volume is to be hosted on") - private Long zoneId; - - @IdentityMapper(entityTableName="domain") - @Parameter(name=ApiConstants.DOMAIN_ID, type=CommandType.LONG, description="an optional domainId. If the account parameter is used, domainId must also be used.") - private Long domainId; - - @Parameter(name=ApiConstants.ACCOUNT, type=CommandType.STRING, description="an optional accountName. Must be used with domainId.") - private String accountName; - - @Parameter(name=ApiConstants.CHECKSUM, type=CommandType.STRING, description="the MD5 checksum value of this volume") - private String checksum; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public String getDisplayText() { - return displayText; - } - - public String getFormat() { - return format; - } - - public String getHypervisor() { - return hypervisor; - } - - public String getVolumeName() { - return volumeName; - } - - public String getUrl() { - return url; - } - - public Long getZoneId() { - return zoneId; - } - - public Long getDomainId() { - return domainId; - } - - public String getAccountName() { - return accountName; - } - - public String getChecksum() { - return checksum; - } - - ///////////////////////////////////////////////////// - /////////////// API Implementation/////////////////// - ///////////////////////////////////////////////////// - @Override - public void create() throws ResourceAllocationException { - - } - - @Override - public String getEntityTable() { - return "volumes"; - } - - @Override - public String getEventDescription() { - return "creating volume: " + getVolumeName(); - } - - @Override - public String getEventType() { - return EventTypes.EVENT_VOLUME_CREATE; - } - - @Override - public void execute() throws ResourceUnavailableException, - InsufficientCapacityException, ServerApiException, - ConcurrentOperationException, ResourceAllocationException, - NetworkRuleConflictException { - // TODO Auto-generated method stub - - } - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - Long accountId = finalyzeAccountId(accountName, domainId, null, true); - if (accountId == null) { - return UserContext.current().getCaller().getId(); - } - - return accountId; - } - -} +package com.cloud.api.commands; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseAsyncCreateCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.VolumeResponse; +import com.cloud.event.EventTypes; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.NetworkRuleConflictException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.user.UserContext; + +@Implementation(description="Uploads a data disk.", responseObject=VolumeResponse.class) +public class UploadVolumeCmd extends BaseAsyncCreateCmd { + public static final Logger s_logger = Logger.getLogger(UploadVolumeCmd.class.getName()); + private static final String s_name = "uploadvolumeresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + + @Parameter(name=ApiConstants.DISPLAY_TEXT, type=CommandType.STRING, required=true, description="the display text of the volume. This is usually used for display purposes.", length=4096) + private String displayText; + + @Parameter(name=ApiConstants.FORMAT, type=CommandType.STRING, required=true, description="the format for the volume. Possible values include QCOW2, RAW, and VHD.") + private String format; + + @Parameter(name=ApiConstants.HYPERVISOR, type=CommandType.STRING, required=true, description="the target hypervisor for the volume") + private String hypervisor; + + @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, required=true, description="the name of the volume") + private String volumeName; + + @Parameter(name=ApiConstants.URL, type=CommandType.STRING, required=true, description="the URL of where the volume is hosted. Possible URL include http:// and https://") + private String url; + + @IdentityMapper(entityTableName="data_center") + @Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, required=true, description="the ID of the zone the volume is to be hosted on") + private Long zoneId; + + @IdentityMapper(entityTableName="domain") + @Parameter(name=ApiConstants.DOMAIN_ID, type=CommandType.LONG, description="an optional domainId. If the account parameter is used, domainId must also be used.") + private Long domainId; + + @Parameter(name=ApiConstants.ACCOUNT, type=CommandType.STRING, description="an optional accountName. Must be used with domainId.") + private String accountName; + + @Parameter(name=ApiConstants.CHECKSUM, type=CommandType.STRING, description="the MD5 checksum value of this volume") + private String checksum; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public String getDisplayText() { + return displayText; + } + + public String getFormat() { + return format; + } + + public String getHypervisor() { + return hypervisor; + } + + public String getVolumeName() { + return volumeName; + } + + public String getUrl() { + return url; + } + + public Long getZoneId() { + return zoneId; + } + + public Long getDomainId() { + return domainId; + } + + public String getAccountName() { + return accountName; + } + + public String getChecksum() { + return checksum; + } + + ///////////////////////////////////////////////////// + /////////////// API Implementation/////////////////// + ///////////////////////////////////////////////////// + @Override + public void create() throws ResourceAllocationException { + + } + + @Override + public String getEntityTable() { + return "volumes"; + } + + @Override + public String getEventDescription() { + return "creating volume: " + getVolumeName(); + } + + @Override + public String getEventType() { + return EventTypes.EVENT_VOLUME_CREATE; + } + + @Override + public void execute() throws ResourceUnavailableException, + InsufficientCapacityException, ServerApiException, + ConcurrentOperationException, ResourceAllocationException, + NetworkRuleConflictException { + // TODO Auto-generated method stub + + } + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + Long accountId = finalyzeAccountId(accountName, domainId, null, true); + if (accountId == null) { + return UserContext.current().getCaller().getId(); + } + + return accountId; + } + +} diff --git a/api/src/com/cloud/api/commands/listStorageNetworkIpRangeCmd.java b/api/src/com/cloud/api/commands/listStorageNetworkIpRangeCmd.java index 5d51837580b..8188b996e35 100755 --- a/api/src/com/cloud/api/commands/listStorageNetworkIpRangeCmd.java +++ b/api/src/com/cloud/api/commands/listStorageNetworkIpRangeCmd.java @@ -10,95 +10,95 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.commands; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.log4j.Logger; - -import com.cloud.api.ApiConstants; -import com.cloud.api.BaseCmd; -import com.cloud.api.BaseListCmd; -import com.cloud.api.IdentityMapper; -import com.cloud.api.Implementation; -import com.cloud.api.Parameter; -import com.cloud.api.ServerApiException; -import com.cloud.api.response.ListResponse; -import com.cloud.api.response.StorageNetworkIpRangeResponse; -import com.cloud.dc.StorageNetworkIpRange; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.user.Account; - -@Implementation(description="List a storage network IP range.", responseObject=StorageNetworkIpRangeResponse.class, since="3.0.0") -public class listStorageNetworkIpRangeCmd extends BaseListCmd { - public static final Logger s_logger = Logger.getLogger(listStorageNetworkIpRangeCmd.class); - - String s_name = "liststoragenetworkiprangeresponse"; - - ///////////////////////////////////////////////////// - //////////////// API parameters ///////////////////// - ///////////////////////////////////////////////////// - - @IdentityMapper(entityTableName="dc_storage_network_ip_range") - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="optional parameter. Storaget network IP range uuid, if specicied, using it to search the range.") - private Long rangeId; - - @IdentityMapper(entityTableName="host_pod_ref") - @Parameter(name=ApiConstants.POD_ID, type=CommandType.LONG, description="optional parameter. Pod uuid, if specicied and range uuid is absent, using it to search the range.") - private Long podId; - - @IdentityMapper(entityTableName="data_center") - @Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, description="optional parameter. Zone uuid, if specicied and both pod uuid and range uuid are absent, using it to search the range.") - private Long zoneId; - - ///////////////////////////////////////////////////// - /////////////////// Accessors /////////////////////// - ///////////////////////////////////////////////////// - - public Long getRangeId() { - return rangeId; - } - - public Long getPodId() { - return podId; - } - - public Long getZoneId() { - return zoneId; - } - - @Override - public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, - ResourceAllocationException { - try { - List results = _storageNetworkService.listIpRange(this); - ListResponse response = new ListResponse(); - List resList = new ArrayList(results.size()); - for (StorageNetworkIpRange r : results) { - StorageNetworkIpRangeResponse resp = _responseGenerator.createStorageNetworkIpRangeResponse(r); - resList.add(resp); - } - response.setResponses(resList); - response.setResponseName(getCommandName()); - this.setResponseObject(response); - } catch (Exception e) { - s_logger.warn("Failed to list storage network ip range for rangeId=" + getRangeId() + " podId=" + getPodId() + " zoneId=" + getZoneId()); - throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); - } - } - - @Override - public String getCommandName() { - return s_name; - } - - @Override - public long getEntityOwnerId() { - return Account.ACCOUNT_ID_SYSTEM; - } - -} +package com.cloud.api.commands; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; + +import com.cloud.api.ApiConstants; +import com.cloud.api.BaseCmd; +import com.cloud.api.BaseListCmd; +import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; +import com.cloud.api.Parameter; +import com.cloud.api.ServerApiException; +import com.cloud.api.response.ListResponse; +import com.cloud.api.response.StorageNetworkIpRangeResponse; +import com.cloud.dc.StorageNetworkIpRange; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.user.Account; + +@Implementation(description="List a storage network IP range.", responseObject=StorageNetworkIpRangeResponse.class, since="3.0.0") +public class listStorageNetworkIpRangeCmd extends BaseListCmd { + public static final Logger s_logger = Logger.getLogger(listStorageNetworkIpRangeCmd.class); + + String s_name = "liststoragenetworkiprangeresponse"; + + ///////////////////////////////////////////////////// + //////////////// API parameters ///////////////////// + ///////////////////////////////////////////////////// + + @IdentityMapper(entityTableName="dc_storage_network_ip_range") + @Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="optional parameter. Storaget network IP range uuid, if specicied, using it to search the range.") + private Long rangeId; + + @IdentityMapper(entityTableName="host_pod_ref") + @Parameter(name=ApiConstants.POD_ID, type=CommandType.LONG, description="optional parameter. Pod uuid, if specicied and range uuid is absent, using it to search the range.") + private Long podId; + + @IdentityMapper(entityTableName="data_center") + @Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, description="optional parameter. Zone uuid, if specicied and both pod uuid and range uuid are absent, using it to search the range.") + private Long zoneId; + + ///////////////////////////////////////////////////// + /////////////////// Accessors /////////////////////// + ///////////////////////////////////////////////////// + + public Long getRangeId() { + return rangeId; + } + + public Long getPodId() { + return podId; + } + + public Long getZoneId() { + return zoneId; + } + + @Override + public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, + ResourceAllocationException { + try { + List results = _storageNetworkService.listIpRange(this); + ListResponse response = new ListResponse(); + List resList = new ArrayList(results.size()); + for (StorageNetworkIpRange r : results) { + StorageNetworkIpRangeResponse resp = _responseGenerator.createStorageNetworkIpRangeResponse(r); + resList.add(resp); + } + response.setResponses(resList); + response.setResponseName(getCommandName()); + this.setResponseObject(response); + } catch (Exception e) { + s_logger.warn("Failed to list storage network ip range for rangeId=" + getRangeId() + " podId=" + getPodId() + " zoneId=" + getZoneId()); + throw new ServerApiException(BaseCmd.INTERNAL_ERROR, e.getMessage()); + } + } + + @Override + public String getCommandName() { + return s_name; + } + + @Override + public long getEntityOwnerId() { + return Account.ACCOUNT_ID_SYSTEM; + } + +} diff --git a/api/src/com/cloud/api/response/LDAPConfigResponse.java b/api/src/com/cloud/api/response/LDAPConfigResponse.java index d67be5e9f38..821d5de90f6 100644 --- a/api/src/com/cloud/api/response/LDAPConfigResponse.java +++ b/api/src/com/cloud/api/response/LDAPConfigResponse.java @@ -10,90 +10,90 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.response; - -import com.cloud.api.ApiConstants; -import com.cloud.serializer.Param; -import com.google.gson.annotations.SerializedName; - -public class LDAPConfigResponse extends BaseResponse { - - @SerializedName(ApiConstants.HOST_NAME) @Param(description="Hostname or ip address of the ldap server eg: my.ldap.com") - private String hostname; - - @SerializedName(ApiConstants.PORT) @Param(description="Specify the LDAP port if required, default is 389") - private String port; - - @SerializedName(ApiConstants.PORT) @Param(description="Check Use SSL if the external LDAP server is configured for LDAP over SSL") - private String useSSL; - - @SerializedName(ApiConstants.SEARCH_BASE) @Param(description="The search base defines the starting point for the search in the directory tree Example: dc=cloud,dc=com") - private String searchBase; - - @SerializedName(ApiConstants.QUERY_FILTER) @Param(description="You specify a query filter here, which narrows down the users, who can be part of this domain") - private String queryFilter; - - @SerializedName(ApiConstants.BIND_DN) @Param(description="Specify the distinguished name of a user with the search permission on the directory") - private String bindDN; - - @SerializedName(ApiConstants.BIND_PASSWORD) @Param(description="DN password") - private String bindPassword; - - public String getHostname() { - return hostname; - } - - public void setHostname(String hostname) { - this.hostname = hostname; - } - - public String getPort() { - return port; - } - - public void setPort(String port) { - this.port = port; - } - - public String getUseSSL() { - return useSSL; - } - - public void setUseSSL(String useSSL) { - this.useSSL = useSSL; - } - - public String getSearchBase() { - return searchBase; - } - - public void setSearchBase(String searchBase) { - this.searchBase = searchBase; - } - - public String getQueryFilter() { - return queryFilter; - } - - public void setQueryFilter(String queryFilter) { - this.queryFilter = queryFilter; - } - - public String getBindDN() { - return bindDN; - } - - public void setBindDN(String bindDN) { - this.bindDN = bindDN; - } - - public String getBindPassword() { - return bindPassword; - } - - public void setBindPassword(String bindPassword) { - this.bindPassword = bindPassword; - } - - -} +package com.cloud.api.response; + +import com.cloud.api.ApiConstants; +import com.cloud.serializer.Param; +import com.google.gson.annotations.SerializedName; + +public class LDAPConfigResponse extends BaseResponse { + + @SerializedName(ApiConstants.HOST_NAME) @Param(description="Hostname or ip address of the ldap server eg: my.ldap.com") + private String hostname; + + @SerializedName(ApiConstants.PORT) @Param(description="Specify the LDAP port if required, default is 389") + private String port; + + @SerializedName(ApiConstants.PORT) @Param(description="Check Use SSL if the external LDAP server is configured for LDAP over SSL") + private String useSSL; + + @SerializedName(ApiConstants.SEARCH_BASE) @Param(description="The search base defines the starting point for the search in the directory tree Example: dc=cloud,dc=com") + private String searchBase; + + @SerializedName(ApiConstants.QUERY_FILTER) @Param(description="You specify a query filter here, which narrows down the users, who can be part of this domain") + private String queryFilter; + + @SerializedName(ApiConstants.BIND_DN) @Param(description="Specify the distinguished name of a user with the search permission on the directory") + private String bindDN; + + @SerializedName(ApiConstants.BIND_PASSWORD) @Param(description="DN password") + private String bindPassword; + + public String getHostname() { + return hostname; + } + + public void setHostname(String hostname) { + this.hostname = hostname; + } + + public String getPort() { + return port; + } + + public void setPort(String port) { + this.port = port; + } + + public String getUseSSL() { + return useSSL; + } + + public void setUseSSL(String useSSL) { + this.useSSL = useSSL; + } + + public String getSearchBase() { + return searchBase; + } + + public void setSearchBase(String searchBase) { + this.searchBase = searchBase; + } + + public String getQueryFilter() { + return queryFilter; + } + + public void setQueryFilter(String queryFilter) { + this.queryFilter = queryFilter; + } + + public String getBindDN() { + return bindDN; + } + + public void setBindDN(String bindDN) { + this.bindDN = bindDN; + } + + public String getBindPassword() { + return bindPassword; + } + + public void setBindPassword(String bindPassword) { + this.bindPassword = bindPassword; + } + + +} diff --git a/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java b/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java index d8fb86bcb54..247819bfddf 100755 --- a/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java +++ b/api/src/com/cloud/api/response/StorageNetworkIpRangeResponse.java @@ -10,74 +10,74 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.response; - -import com.cloud.api.ApiConstants; -import com.cloud.utils.IdentityProxy; -import com.cloud.serializer.Param; -import com.google.gson.annotations.SerializedName; - -public class StorageNetworkIpRangeResponse extends BaseResponse { - @SerializedName(ApiConstants.ID) @Param(description="the uuid of storage network IP range.") - private String uuid; - - @SerializedName(ApiConstants.VLAN) @Param(description="the ID or VID of the VLAN.") - private Integer vlan; - - @SerializedName(ApiConstants.POD_ID) @Param(description="the Pod uuid for the storage network IP range") - private String podUuid; - - @SerializedName(ApiConstants.START_IP) @Param(description="the start ip of the storage network IP range") - private String startIp; - - @SerializedName(ApiConstants.END_IP) @Param(description="the end ip of the storage network IP range") +package com.cloud.api.response; + +import com.cloud.api.ApiConstants; +import com.cloud.utils.IdentityProxy; +import com.cloud.serializer.Param; +import com.google.gson.annotations.SerializedName; + +public class StorageNetworkIpRangeResponse extends BaseResponse { + @SerializedName(ApiConstants.ID) @Param(description="the uuid of storage network IP range.") + private String uuid; + + @SerializedName(ApiConstants.VLAN) @Param(description="the ID or VID of the VLAN.") + private Integer vlan; + + @SerializedName(ApiConstants.POD_ID) @Param(description="the Pod uuid for the storage network IP range") + private String podUuid; + + @SerializedName(ApiConstants.START_IP) @Param(description="the start ip of the storage network IP range") + private String startIp; + + @SerializedName(ApiConstants.END_IP) @Param(description="the end ip of the storage network IP range") private String endIp; - - @SerializedName(ApiConstants.GATEWAY) @Param(description="the gateway of the storage network IP range") - private String gateway; - - @SerializedName(ApiConstants.NETWORK_ID) @Param(description="the network uuid of storage network IP range") - private String networkUuid; - - @SerializedName(ApiConstants.ZONE_ID) @Param(description="the Zone uuid of the storage network IP range") - private String zoneUuid; - - @SerializedName(ApiConstants.NETMASK) @Param(description="the netmask of the storage network IP range") - private String netmask; - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public void setZoneUuid(String zoneUuid) { - this.zoneUuid = zoneUuid; - } - - public void setVlan(Integer vlan) { - this.vlan = vlan; - } - - public void setPodUuid(String podUuid) { - this.podUuid = podUuid; - } - - public void setStartIp(String startIp) { - this.startIp = startIp; - } - - public void setEndIp(String endIp) { - this.endIp = endIp; - } - - public void setNetworkUuid(String networkUuid) { - this.networkUuid = networkUuid; - } - - public void setNetmask(String netmask) { - this.netmask = netmask; + + @SerializedName(ApiConstants.GATEWAY) @Param(description="the gateway of the storage network IP range") + private String gateway; + + @SerializedName(ApiConstants.NETWORK_ID) @Param(description="the network uuid of storage network IP range") + private String networkUuid; + + @SerializedName(ApiConstants.ZONE_ID) @Param(description="the Zone uuid of the storage network IP range") + private String zoneUuid; + + @SerializedName(ApiConstants.NETMASK) @Param(description="the netmask of the storage network IP range") + private String netmask; + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public void setZoneUuid(String zoneUuid) { + this.zoneUuid = zoneUuid; } - - public void setGateway(String gateway) { - this.gateway = gateway; - } -} + + public void setVlan(Integer vlan) { + this.vlan = vlan; + } + + public void setPodUuid(String podUuid) { + this.podUuid = podUuid; + } + + public void setStartIp(String startIp) { + this.startIp = startIp; + } + + public void setEndIp(String endIp) { + this.endIp = endIp; + } + + public void setNetworkUuid(String networkUuid) { + this.networkUuid = networkUuid; + } + + public void setNetmask(String netmask) { + this.netmask = netmask; + } + + public void setGateway(String gateway) { + this.gateway = gateway; + } +} diff --git a/api/src/com/cloud/api/response/TrafficTypeImplementorResponse.java b/api/src/com/cloud/api/response/TrafficTypeImplementorResponse.java index bebaf973223..74b7477da7c 100755 --- a/api/src/com/cloud/api/response/TrafficTypeImplementorResponse.java +++ b/api/src/com/cloud/api/response/TrafficTypeImplementorResponse.java @@ -10,24 +10,24 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.api.response; - -import com.cloud.api.ApiConstants; -import com.cloud.serializer.Param; -import com.google.gson.annotations.SerializedName; - -public class TrafficTypeImplementorResponse extends BaseResponse { - @SerializedName(ApiConstants.TRAFFIC_TYPE) @Param(description="network traffic type") - private String trafficType; - - @SerializedName(ApiConstants.TRAFFIC_TYPE_IMPLEMENTOR) @Param(description="implementor of network traffic type") - private String implementor; - - public void setTrafficType(String type) { - this.trafficType = type; - } - - public void setImplementor(String impl) { - this.implementor = impl; - } -} +package com.cloud.api.response; + +import com.cloud.api.ApiConstants; +import com.cloud.serializer.Param; +import com.google.gson.annotations.SerializedName; + +public class TrafficTypeImplementorResponse extends BaseResponse { + @SerializedName(ApiConstants.TRAFFIC_TYPE) @Param(description="network traffic type") + private String trafficType; + + @SerializedName(ApiConstants.TRAFFIC_TYPE_IMPLEMENTOR) @Param(description="implementor of network traffic type") + private String implementor; + + public void setTrafficType(String type) { + this.trafficType = type; + } + + public void setImplementor(String impl) { + this.implementor = impl; + } +} diff --git a/api/src/com/cloud/async/AsyncInstanceCreateStatus.java b/api/src/com/cloud/async/AsyncInstanceCreateStatus.java index be755496db4..5f6f1dabf03 100644 --- a/api/src/com/cloud/async/AsyncInstanceCreateStatus.java +++ b/api/src/com/cloud/async/AsyncInstanceCreateStatus.java @@ -10,11 +10,11 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.async; - -public enum AsyncInstanceCreateStatus { - Creating, - Created, +package com.cloud.async; + +public enum AsyncInstanceCreateStatus { + Creating, + Created, Corrupted, - Failed; -} + Failed; +} diff --git a/api/src/com/cloud/capacity/CapacityState.java b/api/src/com/cloud/capacity/CapacityState.java index 51853646ca3..7cb48e1489c 100755 --- a/api/src/com/cloud/capacity/CapacityState.java +++ b/api/src/com/cloud/capacity/CapacityState.java @@ -10,12 +10,12 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.capacity; - -public enum CapacityState { - - Enabled, - Disabled, - Maintenance, - -} +package com.cloud.capacity; + +public enum CapacityState { + + Enabled, + Disabled, + Maintenance, + +} diff --git a/api/src/com/cloud/dc/StorageNetworkIpRange.java b/api/src/com/cloud/dc/StorageNetworkIpRange.java index 4996863b0a7..5266f423e68 100755 --- a/api/src/com/cloud/dc/StorageNetworkIpRange.java +++ b/api/src/com/cloud/dc/StorageNetworkIpRange.java @@ -10,24 +10,24 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.dc; - -public interface StorageNetworkIpRange { - String getUuid(); - - Integer getVlan(); - - String getPodUuid(); - - String getStartIp(); - - String getEndIp(); - - String getNetworkUuid(); - - String getZoneUuid(); - +package com.cloud.dc; + +public interface StorageNetworkIpRange { + String getUuid(); + + Integer getVlan(); + + String getPodUuid(); + + String getStartIp(); + + String getEndIp(); + + String getNetworkUuid(); + + String getZoneUuid(); + String getNetmask(); - - String getGateway(); -} + + String getGateway(); +} diff --git a/api/src/com/cloud/exception/CloudException.java b/api/src/com/cloud/exception/CloudException.java index d9d24925f86..343f651cf90 100644 --- a/api/src/com/cloud/exception/CloudException.java +++ b/api/src/com/cloud/exception/CloudException.java @@ -10,64 +10,64 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.exception; - -import com.cloud.utils.IdentityProxy; -import java.util.ArrayList; -import com.cloud.utils.exception.CSExceptionErrorCode; -import com.cloud.utils.AnnotationHelper; - -/** - * by the API response serializer. Any exceptions that are thrown by - * class, which extends RuntimeException instead of Exception like this - * class does. - */ - -public class CloudException extends Exception { - - // This holds a list of uuids and their names. Add uuid:fieldname pairs - protected ArrayList idList = new ArrayList(); - - protected Integer csErrorCode; - - public CloudException(String message) { - super(message); - setCSErrorCode(CSExceptionErrorCode.getCSErrCode(this.getClass().getName())); - } - - public CloudException(String message, Throwable cause) { - super(message, cause); - setCSErrorCode(CSExceptionErrorCode.getCSErrCode(this.getClass().getName())); - } - - public void addProxyObject(Object voObj, Long id, String idFieldName) { - // Get the VO object's table name. - String tablename = AnnotationHelper.getTableName(voObj); - if (tablename != null) { - addProxyObject(tablename, id, idFieldName); - } - return; - } - - public CloudException() { - super(); - setCSErrorCode(CSExceptionErrorCode.getCSErrCode(this.getClass().getName())); - } - - public void addProxyObject(String tableName, Long id, String idFieldName) { - idList.add(new IdentityProxy(tableName, id, idFieldName)); - return; - } - - public ArrayList getIdProxyList() { - return idList; - } - - public void setCSErrorCode(int cserrcode) { - this.csErrorCode = cserrcode; - } - - public int getCSErrorCode() { - return this.csErrorCode; - } -} +package com.cloud.exception; + +import com.cloud.utils.IdentityProxy; +import java.util.ArrayList; +import com.cloud.utils.exception.CSExceptionErrorCode; +import com.cloud.utils.AnnotationHelper; + +/** + * by the API response serializer. Any exceptions that are thrown by + * class, which extends RuntimeException instead of Exception like this + * class does. + */ + +public class CloudException extends Exception { + + // This holds a list of uuids and their names. Add uuid:fieldname pairs + protected ArrayList idList = new ArrayList(); + + protected Integer csErrorCode; + + public CloudException(String message) { + super(message); + setCSErrorCode(CSExceptionErrorCode.getCSErrCode(this.getClass().getName())); + } + + public CloudException(String message, Throwable cause) { + super(message, cause); + setCSErrorCode(CSExceptionErrorCode.getCSErrCode(this.getClass().getName())); + } + + public void addProxyObject(Object voObj, Long id, String idFieldName) { + // Get the VO object's table name. + String tablename = AnnotationHelper.getTableName(voObj); + if (tablename != null) { + addProxyObject(tablename, id, idFieldName); + } + return; + } + + public CloudException() { + super(); + setCSErrorCode(CSExceptionErrorCode.getCSErrCode(this.getClass().getName())); + } + + public void addProxyObject(String tableName, Long id, String idFieldName) { + idList.add(new IdentityProxy(tableName, id, idFieldName)); + return; + } + + public ArrayList getIdProxyList() { + return idList; + } + + public void setCSErrorCode(int cserrcode) { + this.csErrorCode = cserrcode; + } + + public int getCSErrorCode() { + return this.csErrorCode; + } +} diff --git a/api/src/com/cloud/network/StorageNetworkService.java b/api/src/com/cloud/network/StorageNetworkService.java index c402f07a0e2..dcfa9bfb626 100755 --- a/api/src/com/cloud/network/StorageNetworkService.java +++ b/api/src/com/cloud/network/StorageNetworkService.java @@ -10,23 +10,23 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.network; - -import java.sql.SQLException; -import java.util.List; - -import com.cloud.api.commands.CreateStorageNetworkIpRangeCmd; -import com.cloud.api.commands.DeleteStorageNetworkIpRangeCmd; -import com.cloud.api.commands.UpdateStorageNetworkIpRangeCmd; -import com.cloud.api.commands.listStorageNetworkIpRangeCmd; -import com.cloud.dc.StorageNetworkIpRange; - -public interface StorageNetworkService { - StorageNetworkIpRange createIpRange(CreateStorageNetworkIpRangeCmd cmd) throws SQLException; - - void deleteIpRange(DeleteStorageNetworkIpRangeCmd cmd); - - List listIpRange(listStorageNetworkIpRangeCmd cmd); - - StorageNetworkIpRange updateIpRange(UpdateStorageNetworkIpRangeCmd cmd); -} +package com.cloud.network; + +import java.sql.SQLException; +import java.util.List; + +import com.cloud.api.commands.CreateStorageNetworkIpRangeCmd; +import com.cloud.api.commands.DeleteStorageNetworkIpRangeCmd; +import com.cloud.api.commands.UpdateStorageNetworkIpRangeCmd; +import com.cloud.api.commands.listStorageNetworkIpRangeCmd; +import com.cloud.dc.StorageNetworkIpRange; + +public interface StorageNetworkService { + StorageNetworkIpRange createIpRange(CreateStorageNetworkIpRangeCmd cmd) throws SQLException; + + void deleteIpRange(DeleteStorageNetworkIpRangeCmd cmd); + + List listIpRange(listStorageNetworkIpRangeCmd cmd); + + StorageNetworkIpRange updateIpRange(UpdateStorageNetworkIpRangeCmd cmd); +} diff --git a/api/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java b/api/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java index b9115a79fc2..65a69f44cab 100644 --- a/api/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java +++ b/api/src/com/cloud/network/ovs/OvsCreateTunnelAnswer.java @@ -10,71 +10,71 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.network.ovs; - -import com.cloud.agent.api.Answer; -import com.cloud.agent.api.Command; - -public class OvsCreateTunnelAnswer extends Answer { - Long from; - Long to; - long account; - String inPortName; - - //for debug info - String fromIp; - String toIp; - String key; - String bridge; - - public OvsCreateTunnelAnswer(Command cmd, boolean success, String details, String bridge) { - super(cmd, success, details); - OvsCreateTunnelCommand c = (OvsCreateTunnelCommand)cmd; - from = c.getFrom(); - to = c.getTo(); - account = c.getAccount(); - inPortName = "[]"; - fromIp = c.getFromIp(); - toIp = c.getRemoteIp(); - key = c.getKey(); - this.bridge = bridge; - } - - public OvsCreateTunnelAnswer(Command cmd, boolean success, String details, String inPortName, String bridge) { - this(cmd, success, details, bridge); - this.inPortName = inPortName; - } - - - public Long getFrom() { - return from; - } - - public Long getTo() { - return to; - } - - public long getAccount() { - return account; - } - - public String getInPortName() { - return inPortName; - } - - public String getFromIp() { - return fromIp; - } - - public String getToIp() { - return toIp; - } - - public String getKey() { - return key; - } - - public String getBridge() { - return bridge; - } -} +package com.cloud.network.ovs; + +import com.cloud.agent.api.Answer; +import com.cloud.agent.api.Command; + +public class OvsCreateTunnelAnswer extends Answer { + Long from; + Long to; + long account; + String inPortName; + + //for debug info + String fromIp; + String toIp; + String key; + String bridge; + + public OvsCreateTunnelAnswer(Command cmd, boolean success, String details, String bridge) { + super(cmd, success, details); + OvsCreateTunnelCommand c = (OvsCreateTunnelCommand)cmd; + from = c.getFrom(); + to = c.getTo(); + account = c.getAccount(); + inPortName = "[]"; + fromIp = c.getFromIp(); + toIp = c.getRemoteIp(); + key = c.getKey(); + this.bridge = bridge; + } + + public OvsCreateTunnelAnswer(Command cmd, boolean success, String details, String inPortName, String bridge) { + this(cmd, success, details, bridge); + this.inPortName = inPortName; + } + + + public Long getFrom() { + return from; + } + + public Long getTo() { + return to; + } + + public long getAccount() { + return account; + } + + public String getInPortName() { + return inPortName; + } + + public String getFromIp() { + return fromIp; + } + + public String getToIp() { + return toIp; + } + + public String getKey() { + return key; + } + + public String getBridge() { + return bridge; + } +} diff --git a/api/src/com/cloud/resource/ResourceState.java b/api/src/com/cloud/resource/ResourceState.java index cd4afc93738..d5ef2848573 100755 --- a/api/src/com/cloud/resource/ResourceState.java +++ b/api/src/com/cloud/resource/ResourceState.java @@ -10,105 +10,105 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/03/2012 -package com.cloud.resource; - -import java.util.List; -import java.util.Set; - -import com.cloud.utils.fsm.StateMachine; - -public enum ResourceState { - Creating, - Enabled, - Disabled, - PrepareForMaintenance, - ErrorInMaintenance, - Maintenance, - Error; - - public enum Event { - InternalCreated("Resource is created"), - Enable("Admin enables"), - Disable("Admin disables"), - AdminAskMaintenace("Admin asks to enter maintenance"), - AdminCancelMaintenance("Admin asks to cancel maintenance"), - InternalEnterMaintenance("Resource enters maintenance"), - UpdatePassword("Admin updates password of host"), - UnableToMigrate("Management server migrates VM failed"), - Error("An internal error happened"), - DeleteHost("Admin delete a host"), - - /* - * Below events don't cause resource state to change, they are merely - * for ClusterManager propagating event from one mgmt server to another - */ - Unmanaged("Umanage a cluster"); - - private final String comment; - - private Event(String comment) { - this.comment = comment; - } - - public String getDescription() { - return this.comment; - } - - public static Event toEvent(String e) { - if (Enable.toString().equals(e)) { - return Enable; - } else if (Disable.toString().equals(e)) { - return Disable; - } - - return null; - } - } - - public ResourceState getNextState(Event a) { - return s_fsm.getNextState(this, a); - } - - public ResourceState[] getFromStates(Event a) { - List from = s_fsm.getFromStates(this, a); - return from.toArray(new ResourceState[from.size()]); - } - - public Set getPossibleEvents() { - return s_fsm.getPossibleEvents(this); - } - - public static String[] toString(ResourceState... states) { - String[] strs = new String[states.length]; - for (int i = 0; i < states.length; i++) { - strs[i] = states[i].toString(); - } - return strs; - } - - protected static final StateMachine s_fsm = new StateMachine(); - static { - s_fsm.addTransition(null, Event.InternalCreated, ResourceState.Enabled); - s_fsm.addTransition(ResourceState.Creating, Event.InternalCreated, ResourceState.Enabled); - s_fsm.addTransition(ResourceState.Creating, Event.Error, ResourceState.Error); - s_fsm.addTransition(ResourceState.Enabled, Event.Enable, ResourceState.Enabled); - s_fsm.addTransition(ResourceState.Enabled, Event.InternalCreated, ResourceState.Enabled); - s_fsm.addTransition(ResourceState.Enabled, Event.Disable, ResourceState.Disabled); - s_fsm.addTransition(ResourceState.Enabled, Event.AdminAskMaintenace, ResourceState.PrepareForMaintenance); - s_fsm.addTransition(ResourceState.Disabled, Event.Enable, ResourceState.Enabled); - s_fsm.addTransition(ResourceState.Disabled, Event.Disable, ResourceState.Disabled); - s_fsm.addTransition(ResourceState.Disabled, Event.InternalCreated, ResourceState.Disabled); - s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.InternalEnterMaintenance, ResourceState.Maintenance); - s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.AdminCancelMaintenance, ResourceState.Enabled); - s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.UnableToMigrate, ResourceState.ErrorInMaintenance); - s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.InternalCreated, ResourceState.PrepareForMaintenance); - s_fsm.addTransition(ResourceState.Maintenance, Event.AdminCancelMaintenance, ResourceState.Enabled); - s_fsm.addTransition(ResourceState.Maintenance, Event.InternalCreated, ResourceState.Maintenance); - s_fsm.addTransition(ResourceState.Maintenance, Event.DeleteHost, ResourceState.Disabled); - s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.InternalCreated, ResourceState.ErrorInMaintenance); - s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.Disable, ResourceState.Disabled); - s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.DeleteHost, ResourceState.Disabled); - s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.InternalEnterMaintenance, ResourceState.Maintenance); - s_fsm.addTransition(ResourceState.Error, Event.InternalCreated, ResourceState.Error); - } -} +package com.cloud.resource; + +import java.util.List; +import java.util.Set; + +import com.cloud.utils.fsm.StateMachine; + +public enum ResourceState { + Creating, + Enabled, + Disabled, + PrepareForMaintenance, + ErrorInMaintenance, + Maintenance, + Error; + + public enum Event { + InternalCreated("Resource is created"), + Enable("Admin enables"), + Disable("Admin disables"), + AdminAskMaintenace("Admin asks to enter maintenance"), + AdminCancelMaintenance("Admin asks to cancel maintenance"), + InternalEnterMaintenance("Resource enters maintenance"), + UpdatePassword("Admin updates password of host"), + UnableToMigrate("Management server migrates VM failed"), + Error("An internal error happened"), + DeleteHost("Admin delete a host"), + + /* + * Below events don't cause resource state to change, they are merely + * for ClusterManager propagating event from one mgmt server to another + */ + Unmanaged("Umanage a cluster"); + + private final String comment; + + private Event(String comment) { + this.comment = comment; + } + + public String getDescription() { + return this.comment; + } + + public static Event toEvent(String e) { + if (Enable.toString().equals(e)) { + return Enable; + } else if (Disable.toString().equals(e)) { + return Disable; + } + + return null; + } + } + + public ResourceState getNextState(Event a) { + return s_fsm.getNextState(this, a); + } + + public ResourceState[] getFromStates(Event a) { + List from = s_fsm.getFromStates(this, a); + return from.toArray(new ResourceState[from.size()]); + } + + public Set getPossibleEvents() { + return s_fsm.getPossibleEvents(this); + } + + public static String[] toString(ResourceState... states) { + String[] strs = new String[states.length]; + for (int i = 0; i < states.length; i++) { + strs[i] = states[i].toString(); + } + return strs; + } + + protected static final StateMachine s_fsm = new StateMachine(); + static { + s_fsm.addTransition(null, Event.InternalCreated, ResourceState.Enabled); + s_fsm.addTransition(ResourceState.Creating, Event.InternalCreated, ResourceState.Enabled); + s_fsm.addTransition(ResourceState.Creating, Event.Error, ResourceState.Error); + s_fsm.addTransition(ResourceState.Enabled, Event.Enable, ResourceState.Enabled); + s_fsm.addTransition(ResourceState.Enabled, Event.InternalCreated, ResourceState.Enabled); + s_fsm.addTransition(ResourceState.Enabled, Event.Disable, ResourceState.Disabled); + s_fsm.addTransition(ResourceState.Enabled, Event.AdminAskMaintenace, ResourceState.PrepareForMaintenance); + s_fsm.addTransition(ResourceState.Disabled, Event.Enable, ResourceState.Enabled); + s_fsm.addTransition(ResourceState.Disabled, Event.Disable, ResourceState.Disabled); + s_fsm.addTransition(ResourceState.Disabled, Event.InternalCreated, ResourceState.Disabled); + s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.InternalEnterMaintenance, ResourceState.Maintenance); + s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.AdminCancelMaintenance, ResourceState.Enabled); + s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.UnableToMigrate, ResourceState.ErrorInMaintenance); + s_fsm.addTransition(ResourceState.PrepareForMaintenance, Event.InternalCreated, ResourceState.PrepareForMaintenance); + s_fsm.addTransition(ResourceState.Maintenance, Event.AdminCancelMaintenance, ResourceState.Enabled); + s_fsm.addTransition(ResourceState.Maintenance, Event.InternalCreated, ResourceState.Maintenance); + s_fsm.addTransition(ResourceState.Maintenance, Event.DeleteHost, ResourceState.Disabled); + s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.InternalCreated, ResourceState.ErrorInMaintenance); + s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.Disable, ResourceState.Disabled); + s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.DeleteHost, ResourceState.Disabled); + s_fsm.addTransition(ResourceState.ErrorInMaintenance, Event.InternalEnterMaintenance, ResourceState.Maintenance); + s_fsm.addTransition(ResourceState.Error, Event.InternalCreated, ResourceState.Error); + } +} diff --git a/build/build-cloud.properties b/build/build-cloud.properties index 7075f7b7342..258c22e2822 100755 --- a/build/build-cloud.properties +++ b/build/build-cloud.properties @@ -1,9 +1,9 @@ -debug=true -debuglevel=lines,source,vars -debug.jvmarg=-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n -deprecation=off -build.type=developer -target.compat.version=1.6 -source.compat.version=1.6 -branding.name=default - +debug=true +debuglevel=lines,source,vars +debug.jvmarg=-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n +deprecation=off +build.type=developer +target.compat.version=1.6 +source.compat.version=1.6 +branding.name=default + diff --git a/build/build-common.xml b/build/build-common.xml index e22db9dd0b6..d18c966483c 100755 --- a/build/build-common.xml +++ b/build/build-common.xml @@ -1,84 +1,84 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/cloud.properties b/build/cloud.properties index 6ae34ec44c7..519ebb41aeb 100755 --- a/build/cloud.properties +++ b/build/cloud.properties @@ -1,14 +1,14 @@ -# Copyright 2007 VMOps, Inc. - -# major.minor.patch versioning scheme for vmops -company.major.version=3 -company.minor.version=0 -company.patch.version=1 - -svn.revision=2 - -# copyright year -company.copyright.year=2008-2011 -company.url=http://cloudstack.org -company.license.name=GPL -company.name=CloudStack +# Copyright 2007 VMOps, Inc. + +# major.minor.patch versioning scheme for vmops +company.major.version=3 +company.minor.version=0 +company.patch.version=1 + +svn.revision=2 + +# copyright year +company.copyright.year=2008-2011 +company.url=http://cloudstack.org +company.license.name=GPL +company.name=CloudStack diff --git a/build/deploy/production/consoleproxy/conf/consoleproxy.properties b/build/deploy/production/consoleproxy/conf/consoleproxy.properties index 743db37ce54..7639ccc5a4d 100644 --- a/build/deploy/production/consoleproxy/conf/consoleproxy.properties +++ b/build/deploy/production/consoleproxy/conf/consoleproxy.properties @@ -1,6 +1,6 @@ -consoleproxy.tcpListenPort=0 -consoleproxy.httpListenPort=80 -consoleproxy.httpCmdListenPort=8001 -consoleproxy.jarDir=./applet/ -consoleproxy.viewerLinger=180 -consoleproxy.reconnectMaxRetry=5 +consoleproxy.tcpListenPort=0 +consoleproxy.httpListenPort=80 +consoleproxy.httpCmdListenPort=8001 +consoleproxy.jarDir=./applet/ +consoleproxy.viewerLinger=180 +consoleproxy.reconnectMaxRetry=5 diff --git a/build/deploy/production/db/server-setup-dev.xml b/build/deploy/production/db/server-setup-dev.xml index 429764a6e3e..19a67ff4eb3 100644 --- a/build/deploy/production/db/server-setup-dev.xml +++ b/build/deploy/production/db/server-setup-dev.xml @@ -1,532 +1,532 @@ - - - 2.0 - - - 1 - AH - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 100-199 - 10.1.1.0/24 - - - 2 - KM - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 200-299 - 10.1.1.0/24 - - - 3 - KY - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 300-399 - 10.1.1.0/24 - - - 4 - WC - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 400-499 - 10.1.1.0/24 - - - 5 - CV - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 500-599 - 10.1.1.0/24 - - - 6 - KS - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 600-699 - 10.1.1.0/24 - - - 7 - ES - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 700-799 - 10.1.1.0/24 - - - 8 - RC - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 800-899 - 10.1.1.0/24 - - - 9 - AX - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 900-999 - 10.1.1.0/24 - - - 10 - JW - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 900-999 - 10.1.1.0/24 - - - 11 - AJ - 72.52.126.11 - 72.52.126.12 - 192.168.10.253 - 192.168.10.254 - 1000-1099 - 10.1.1.0/24 - - - - - - - 1 - 31 - VirtualNetwork - 192.168.31.1 - 255.255.255.0 - 192.168.31.150-192.168.31.159 - - - 2 - 32 - VirtualNetwork - 192.168.32.1 - 255.255.255.0 - 192.168.32.150-192.168.32.159 - - - 3 - 33 - VirtualNetwork - 192.168.33.1 - 255.255.255.0 - 192.168.33.150-192.168.33.159 - - - 4 - 34 - VirtualNetwork - 192.168.34.1 - 255.255.255.0 - 192.168.34.150-192.168.34.159 - - - 5 - 35 - VirtualNetwork - 192.168.35.1 - 255.255.255.0 - 192.168.35.150-192.168.35.159 - - - 6 - 36 - VirtualNetwork - 192.168.36.1 - 255.255.255.0 - 192.168.36.150-192.168.36.159 - - - 7 - 37 - VirtualNetwork - 192.168.37.1 - 255.255.255.0 - 192.168.37.150-192.168.37.159 - - - 8 - 38 - VirtualNetwork - 192.168.38.1 - 255.255.255.0 - 192.168.38.150-192.168.38.159 - - - 9 - 39 - VirtualNetwork - 192.168.39.1 - 255.255.255.0 - 192.168.39.150-192.168.39.159 - - - 10 - 40 - VirtualNetwork - 192.168.40.1 - 255.255.255.0 - 192.168.40.150-192.168.40.159 - - - 11 - 41 - VirtualNetwork - 192.168.41.1 - 255.255.255.0 - 192.168.41.150-192.168.41.159 - - - - - - 1 - AH - 1 - 192.168.10.20-192.168.10.24 - 192.168.10.0/24 - - - 2 - KM - 2 - 192.168.10.25-192.168.10.29 - 192.168.10.0/24 - - - 3 - KY - 3 - 192.168.10.30-192.168.10.34 - 192.168.10.0/24 - - - 4 - WC - 4 - 192.168.10.35-192.168.10.39 - 192.168.10.0/24 - - - 5 - CV - 5 - 192.168.10.40-192.168.10.44 - 192.168.10.0/24 - - - 6 - KS - 6 - 192.168.10.45-192.168.10.49 - 192.168.10.0/24 - - - 7 - ES - 7 - 192.168.10.50-192.168.10.54 - 192.168.10.0/24 - - - 8 - RC - 8 - 192.168.10.55-192.168.10.59 - 192.168.10.0/24 - - - 9 - AX - 9 - 192.168.10.62-192.168.10.64 - 192.168.10.0/24 - - - 10 - JW - 10 - 192.168.10.65-192.168.10.69 - 192.168.10.0/24 - - - 11 - AJ - 11 - 192.168.10.70-192.168.10.74 - 192.168.10.0/24 - - - - - - - 1 - Small Instance - Small Instance [500MHZ CPU, 512MB MEM, 16GB Disk] - $0.10 per hour - 1 - 512 - 500 - false - - - 2 - Medium Instance - Medium Instance [500MHZ CPU, 1GB MEM, 32GB Disk] - $0.20 per hour - 1 - 1024 - 512 - - - 3 - Large Instance - Large Instance [2GHZ CPU, 4GB MEM, 64GB Disk] - $0.30 per hour - 2 - 4096 - 2000 - - - - - - 1 - 1 - Small Disk - Small Disk [16GB Disk] - 16000 - - - 2 - 1 - Medium Disk - Medium Disk [32GB Disk] - 32000 - - - 3 - 1 - Large Disk - Large Disk [64GB Disk] - 64000 - - - - - - - 2 - admin - password - Admin - User - admin@mailprovider.com - - - - - - default.zone - AH - - - domain.suffix - cloud-test.cloud.com - - - instance.name - AH - - - consoleproxy.ram.size - 256 - - - host.stats.interval - 3600000 - - - storage.stats.interval - 120000 - - - volume.stats.interval - -1 - - - ping.interval - 60 - - - alert.wait - 1800 - - - expunge.interval - 86400 - - - usage.aggregation.timezone - GMT - - - - ssh.privatekey - -----BEGIN RSA PRIVATE KEY-----\nMIIEoQIBAAKCAQEAnNUMVgQS87EzAQN9ufGgH3T1kOpqcvTmUrp8RVZyeA5qwptS\nrZxONRbhLK709pZFBJLmeFqiqciWoA/srVIFk+rPmBlVsMw8BK53hTGoax7iSe8s\nLFCAATm6vp0HnZzYqNfrzR2by36ET5aQD/VAyA55u+uUgAlxQuhKff2xjyahEHs+\nUiRlReiAgItygm9g3co3+8fJDOuRse+s0TOip1D0jPdo2AJFscyxrG9hWqQH86R/\nZlLJ7DqsiaAcUmn52u6Nsmd3BkRmGVx/D35Mq6upJqrk/QDfug9LF66yiIP/BEIn\n08N/wQ6m/O37WUtqqyl3rRKqs5TJ9ZnhsqeO9QIBIwKCAQA6QIDsv69EkkYk8qsK\njPJU06uq2rnS7T+bEhDmjdK+4MiRbOQx2vh6HnDktgM3BJ1K13oss/NGYHJ190lH\nsMA+QUXKx5TbRItSMixkrAta/Ne1D7FSScklBtBVbYZ8XtQhdMVML5GjWuCv2NZs\nU8eaw4xNHPyklcr7mBurI7b6p13VK5BNUWR/VNuigT4U89YzRcoEZ/sTlR+4ACYr\nxbUJJGBA03+NhdSAe2vodlMh5lGflD0JmHMFqqg9BcAtVb73JsOsxFQArbXwRd/q\nNckdoAvgJfhTOvXF5GMPLI0lGb6skJkS229F4GaBB2Iz4A9O0aHZob8I8zsWUbiu\npvBrAoGBAMjUDfF2x13NjH1cFHietO5O1oM0nZaAxKodxoAUvHVMUd5DIY50tqYw\n7ecKi2Cw43ONpdj0nP9Nc2NV3NDRqLopwkKUsTtq9AKQ2cIuw3+uS5vm0VZBzmTP\nuF04Qo4bXh/jFRA62u9bXsmIFtaehKxE1Gp6zi393GcbWP4HX/3dAoGBAMfq0KD3\ngeU1PHi9uI3Ss89nXzJsiGcwC5Iunu1aTzJCYhMlJkfmRcXYMAqSfg0nGWnfvlDh\nuOO26CHKjG182mTwYXdgQzIPpBc8suvgUWDBTrIzJI+zuyBLtPbd9DJEVrZkRVQX\nXrOV3Y5oOWsba4F+b20jaaHFAiY7s6OtrX/5AoGBAMMXI3zZyPwJgSlSIoPNX03m\nL3gke9QID4CvNduB26UlkVuRq5GzNRZ4rJdMEl3tqcC1fImdKswfWiX7o06ChqY3\nMb0FePfkPX7V2tnkSOJuzRsavLoxTCdqsxi6T0g318c0XZq81K4A/P5Jr8ksRl40\nPA+qfyVdAf3Cy3ptkHLzAoGASkFGLSi7N+CSzcLPhSJgCzUGGgsOF7LCeB/x4yGL\nIUvbSPCKj7vuB6gR2AqGlyvHnFprQpz7h8eYDI0PlmGS8kqn2+HtEpgYYGcAoMEI\nSIJQbhL+84vmaxTOL87IanEnhZL1LdzLZ0ZK+mE55fQ936P9gE77WVfNmSweJtob\n3xMCgYAl0aLeGf4oUZbI56eEaCbu8U7dEe6MF54VbozyiXqbp455QnUpuBrRn5uf\nc079dNcqTNDuk1+hYX9qNn1aXsvWeuofBXqWoFXu/c4yoWxJAPhEVhzZ9xrXI76I\nBKiPCyKrOa7bSLvs6SQPpuf5AQ8+NJrOxkEB9hbMuaAr2N5rCw==\n-----END RSA PRIVATE KEY----- - - Hidden - - - ssh.publickey - - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAnNUMVgQS87EzAQN9ufGgH3T1kOpqcvTmUrp8RVZyeA5qwptSrZxONRbhLK709pZFBJLmeFqiqciWoA/srVIFk+rPmBlVsMw8BK53hTGoax7iSe8sLFCAATm6vp0HnZzYqNfrzR2by36ET5aQD/VAyA55u+uUgAlxQuhKff2xjyahEHs+UiRlReiAgItygm9g3co3+8fJDOuRse+s0TOip1D0jPdo2AJFscyxrG9hWqQH86R/ZlLJ7DqsiaAcUmn52u6Nsmd3BkRmGVx/D35Mq6upJqrk/QDfug9LF66yiIP/BEIn08N/wQ6m/O37WUtqqyl3rRKqs5TJ9ZnhsqeO9Q== root@test2.lab.vmops.com - - Hidden - - - - - memory.capacity.threshold - 0.85 - - - cpu.capacity.threshold - 0.85 - - - storage.capacity.threshold - 0.85 - - - storage.allocated.capacity.threshold - 0.85 - - - capacity.check.period - 3600000 - - - wait - 240 - - - network.throttling.rate - 200 - - - multicast.throttling.rate - 10 - - - - - - - + + + 2.0 + + + 1 + AH + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 100-199 + 10.1.1.0/24 + + + 2 + KM + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 200-299 + 10.1.1.0/24 + + + 3 + KY + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 300-399 + 10.1.1.0/24 + + + 4 + WC + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 400-499 + 10.1.1.0/24 + + + 5 + CV + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 500-599 + 10.1.1.0/24 + + + 6 + KS + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 600-699 + 10.1.1.0/24 + + + 7 + ES + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 700-799 + 10.1.1.0/24 + + + 8 + RC + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 800-899 + 10.1.1.0/24 + + + 9 + AX + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 900-999 + 10.1.1.0/24 + + + 10 + JW + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 900-999 + 10.1.1.0/24 + + + 11 + AJ + 72.52.126.11 + 72.52.126.12 + 192.168.10.253 + 192.168.10.254 + 1000-1099 + 10.1.1.0/24 + + + + + + + 1 + 31 + VirtualNetwork + 192.168.31.1 + 255.255.255.0 + 192.168.31.150-192.168.31.159 + + + 2 + 32 + VirtualNetwork + 192.168.32.1 + 255.255.255.0 + 192.168.32.150-192.168.32.159 + + + 3 + 33 + VirtualNetwork + 192.168.33.1 + 255.255.255.0 + 192.168.33.150-192.168.33.159 + + + 4 + 34 + VirtualNetwork + 192.168.34.1 + 255.255.255.0 + 192.168.34.150-192.168.34.159 + + + 5 + 35 + VirtualNetwork + 192.168.35.1 + 255.255.255.0 + 192.168.35.150-192.168.35.159 + + + 6 + 36 + VirtualNetwork + 192.168.36.1 + 255.255.255.0 + 192.168.36.150-192.168.36.159 + + + 7 + 37 + VirtualNetwork + 192.168.37.1 + 255.255.255.0 + 192.168.37.150-192.168.37.159 + + + 8 + 38 + VirtualNetwork + 192.168.38.1 + 255.255.255.0 + 192.168.38.150-192.168.38.159 + + + 9 + 39 + VirtualNetwork + 192.168.39.1 + 255.255.255.0 + 192.168.39.150-192.168.39.159 + + + 10 + 40 + VirtualNetwork + 192.168.40.1 + 255.255.255.0 + 192.168.40.150-192.168.40.159 + + + 11 + 41 + VirtualNetwork + 192.168.41.1 + 255.255.255.0 + 192.168.41.150-192.168.41.159 + + + + + + 1 + AH + 1 + 192.168.10.20-192.168.10.24 + 192.168.10.0/24 + + + 2 + KM + 2 + 192.168.10.25-192.168.10.29 + 192.168.10.0/24 + + + 3 + KY + 3 + 192.168.10.30-192.168.10.34 + 192.168.10.0/24 + + + 4 + WC + 4 + 192.168.10.35-192.168.10.39 + 192.168.10.0/24 + + + 5 + CV + 5 + 192.168.10.40-192.168.10.44 + 192.168.10.0/24 + + + 6 + KS + 6 + 192.168.10.45-192.168.10.49 + 192.168.10.0/24 + + + 7 + ES + 7 + 192.168.10.50-192.168.10.54 + 192.168.10.0/24 + + + 8 + RC + 8 + 192.168.10.55-192.168.10.59 + 192.168.10.0/24 + + + 9 + AX + 9 + 192.168.10.62-192.168.10.64 + 192.168.10.0/24 + + + 10 + JW + 10 + 192.168.10.65-192.168.10.69 + 192.168.10.0/24 + + + 11 + AJ + 11 + 192.168.10.70-192.168.10.74 + 192.168.10.0/24 + + + + + + + 1 + Small Instance + Small Instance [500MHZ CPU, 512MB MEM, 16GB Disk] - $0.10 per hour + 1 + 512 + 500 + false + + + 2 + Medium Instance + Medium Instance [500MHZ CPU, 1GB MEM, 32GB Disk] - $0.20 per hour + 1 + 1024 + 512 + + + 3 + Large Instance + Large Instance [2GHZ CPU, 4GB MEM, 64GB Disk] - $0.30 per hour + 2 + 4096 + 2000 + + + + + + 1 + 1 + Small Disk + Small Disk [16GB Disk] + 16000 + + + 2 + 1 + Medium Disk + Medium Disk [32GB Disk] + 32000 + + + 3 + 1 + Large Disk + Large Disk [64GB Disk] + 64000 + + + + + + + 2 + admin + password + Admin + User + admin@mailprovider.com + + + + + + default.zone + AH + + + domain.suffix + cloud-test.cloud.com + + + instance.name + AH + + + consoleproxy.ram.size + 256 + + + host.stats.interval + 3600000 + + + storage.stats.interval + 120000 + + + volume.stats.interval + -1 + + + ping.interval + 60 + + + alert.wait + 1800 + + + expunge.interval + 86400 + + + usage.aggregation.timezone + GMT + + + + ssh.privatekey + -----BEGIN RSA PRIVATE KEY-----\nMIIEoQIBAAKCAQEAnNUMVgQS87EzAQN9ufGgH3T1kOpqcvTmUrp8RVZyeA5qwptS\nrZxONRbhLK709pZFBJLmeFqiqciWoA/srVIFk+rPmBlVsMw8BK53hTGoax7iSe8s\nLFCAATm6vp0HnZzYqNfrzR2by36ET5aQD/VAyA55u+uUgAlxQuhKff2xjyahEHs+\nUiRlReiAgItygm9g3co3+8fJDOuRse+s0TOip1D0jPdo2AJFscyxrG9hWqQH86R/\nZlLJ7DqsiaAcUmn52u6Nsmd3BkRmGVx/D35Mq6upJqrk/QDfug9LF66yiIP/BEIn\n08N/wQ6m/O37WUtqqyl3rRKqs5TJ9ZnhsqeO9QIBIwKCAQA6QIDsv69EkkYk8qsK\njPJU06uq2rnS7T+bEhDmjdK+4MiRbOQx2vh6HnDktgM3BJ1K13oss/NGYHJ190lH\nsMA+QUXKx5TbRItSMixkrAta/Ne1D7FSScklBtBVbYZ8XtQhdMVML5GjWuCv2NZs\nU8eaw4xNHPyklcr7mBurI7b6p13VK5BNUWR/VNuigT4U89YzRcoEZ/sTlR+4ACYr\nxbUJJGBA03+NhdSAe2vodlMh5lGflD0JmHMFqqg9BcAtVb73JsOsxFQArbXwRd/q\nNckdoAvgJfhTOvXF5GMPLI0lGb6skJkS229F4GaBB2Iz4A9O0aHZob8I8zsWUbiu\npvBrAoGBAMjUDfF2x13NjH1cFHietO5O1oM0nZaAxKodxoAUvHVMUd5DIY50tqYw\n7ecKi2Cw43ONpdj0nP9Nc2NV3NDRqLopwkKUsTtq9AKQ2cIuw3+uS5vm0VZBzmTP\nuF04Qo4bXh/jFRA62u9bXsmIFtaehKxE1Gp6zi393GcbWP4HX/3dAoGBAMfq0KD3\ngeU1PHi9uI3Ss89nXzJsiGcwC5Iunu1aTzJCYhMlJkfmRcXYMAqSfg0nGWnfvlDh\nuOO26CHKjG182mTwYXdgQzIPpBc8suvgUWDBTrIzJI+zuyBLtPbd9DJEVrZkRVQX\nXrOV3Y5oOWsba4F+b20jaaHFAiY7s6OtrX/5AoGBAMMXI3zZyPwJgSlSIoPNX03m\nL3gke9QID4CvNduB26UlkVuRq5GzNRZ4rJdMEl3tqcC1fImdKswfWiX7o06ChqY3\nMb0FePfkPX7V2tnkSOJuzRsavLoxTCdqsxi6T0g318c0XZq81K4A/P5Jr8ksRl40\nPA+qfyVdAf3Cy3ptkHLzAoGASkFGLSi7N+CSzcLPhSJgCzUGGgsOF7LCeB/x4yGL\nIUvbSPCKj7vuB6gR2AqGlyvHnFprQpz7h8eYDI0PlmGS8kqn2+HtEpgYYGcAoMEI\nSIJQbhL+84vmaxTOL87IanEnhZL1LdzLZ0ZK+mE55fQ936P9gE77WVfNmSweJtob\n3xMCgYAl0aLeGf4oUZbI56eEaCbu8U7dEe6MF54VbozyiXqbp455QnUpuBrRn5uf\nc079dNcqTNDuk1+hYX9qNn1aXsvWeuofBXqWoFXu/c4yoWxJAPhEVhzZ9xrXI76I\nBKiPCyKrOa7bSLvs6SQPpuf5AQ8+NJrOxkEB9hbMuaAr2N5rCw==\n-----END RSA PRIVATE KEY----- + + Hidden + + + ssh.publickey + + ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAnNUMVgQS87EzAQN9ufGgH3T1kOpqcvTmUrp8RVZyeA5qwptSrZxONRbhLK709pZFBJLmeFqiqciWoA/srVIFk+rPmBlVsMw8BK53hTGoax7iSe8sLFCAATm6vp0HnZzYqNfrzR2by36ET5aQD/VAyA55u+uUgAlxQuhKff2xjyahEHs+UiRlReiAgItygm9g3co3+8fJDOuRse+s0TOip1D0jPdo2AJFscyxrG9hWqQH86R/ZlLJ7DqsiaAcUmn52u6Nsmd3BkRmGVx/D35Mq6upJqrk/QDfug9LF66yiIP/BEIn08N/wQ6m/O37WUtqqyl3rRKqs5TJ9ZnhsqeO9Q== root@test2.lab.vmops.com + + Hidden + + + + + memory.capacity.threshold + 0.85 + + + cpu.capacity.threshold + 0.85 + + + storage.capacity.threshold + 0.85 + + + storage.allocated.capacity.threshold + 0.85 + + + capacity.check.period + 3600000 + + + wait + 240 + + + network.throttling.rate + 200 + + + multicast.throttling.rate + 10 + + + + + + + diff --git a/build/license/eula.ja.html b/build/license/eula.ja.html index 75b4631414b..22a022198b1 100755 --- a/build/license/eula.ja.html +++ b/build/license/eula.ja.html @@ -1 +1 @@ -

CITRIX® ライセンス契約書

この文書は、ライセンスを許諾されるユーザー (以下「お客様」といいます) と Citrix Systems, Inc、、Citrix Systems International GmbH、または Citrix Systems Asia Pacific Pty Ltd. との間で締結される法的に有効な契約 (以下「本契約」といいます) です。お客様がこの製品または Feature Release (以下、総称して「本製品」といいます) またはテクニカル サポート (以下「サポート」といいます) の引渡しを受ける具体的場所によって、本契約に基づく提供主体が決定されます (該当する法人を、以下「CITRIX」といいます)。アメリカ合衆国デラウェア州法人である Citrix Systems, Inc. は、北米、中米、および南米の各諸国ならびに日本において、本製品のライセンス許諾を提供し、北米、中米、および南米の各諸国において、サポートを提供しています。Citrix Systems, Inc. が全株式を保有するスイス連邦共和国法人である Citrix Systems International GmbH は、ヨーロッパ、中東、およびアフリカにおいて、本製品のライセンス許諾およびサポートを提供し、アジアおよび太平洋沿岸の各諸国 (日本を除く) において、本製品のライセンス許諾を提供しています。Citrix Systems Asia Pacific Pty Ltd. は、アジアおよび太平洋沿岸の各諸国 (日本を除く) において、サポートを提供しています。シトリックス・システムズ・ジャパン株式会社は、日本において、サポートを提供しています。本製品をインストールおよび/または使用することにより、お客様は本契約条項に同意されたものとします。本契約条項に同意いただけない場合、本製品をインストールおよび/または使用しないでください。

1. ライセンスの許諾。本製品は Citrix が所有権を有するソフトウェア プログラムであり、本契約に基づいてオブジェクト コード形式で配布されます。本製品のライセンスは、CPU ソケット モデルに基づいて許諾されます。ライセンス モデルで定義される、ソフトウェアを使用可能にするライセンス (以下「ライセンス」といいます) によって、本製品がアクティブ化されます。

CPU ソケット モデル条件では、「CPU ソケット」は、CPU を搭載するか否かにかかわらず、本製品を実行するサーバー上の個々の CPU ソケットを指します。

ほかの CITRIX 製品または本製品の別のエディションのライセンスを使って、本製品の許可される使用範囲を拡大することはできません。ライセンスは製品のバージョンごとに許諾されます。ライセンスのバージョンは、アクセスされる本製品と同じか新しいものである必要があります。CITRIX は、お客様に対し、本製品および付属文書 (以下、総称して「本ソフトウェア」といいます) について、次のとおり全世界での非独占的な権利を許諾します。

a. ライセンス。お客様は、合計して最大でお客様が購入されたライセンスに対応する数の CPU ソケットを搭載する複数のサーバー (以下「実稼働サーバー」といいます) に、本ソフトウェアをインストールすることができます。さらに、お客様は、実稼働サーバーで実行する本ソフトウェアをサポートするために、必要に応じて管理用サーバーに本ソフトウェアの管理部分をインストールすることができます。お客様は、内部ユーザーまたは第三者にクラウド サービスを提供するために、本ソフトウェアを使用することができます。実稼働環境と障害復旧環境の両方にインストールされている各ライセンスは、常に、いずれか一方の環境でのみ使用することができます。ただし、障害復旧環境の定期的なテストを行う場合に限り、当該ライセンスを両方の環境で同時に使用することができます。お客様は、本ソフトウェアの Web ユーザー インターフェイスのみをカスタマイズする権利を有します。

b. 永続的ライセンス。本ソフトウェアが「永続的ライセンス ソフトウェア」である場合は、本ソフトウェアは永続的に使用許諾され、サブスクリプション (下記第 2 条に定義します) による特典を受け取る権利が含まれるものとします。

c. 年間ライセンス。本ソフトウェアが「年間ライセンス ソフトウェア」である場合は、お客様のライセンスは 1 年間有効で、この期間中アップデートを受け取る権利が含まれます。ただし、サブスクリプション (下記第 2 条に定義します) に基づくものではありません。本契約においてアップデートとは、本ソフトウェア専用に一般に公開されたリリース版を意味するものとします。年間ライセンスの有効期間を延長するには、お客様は、現在のライセンスが失効する前に、新しいライセンスを購入しインストールしていただく必要があります。新しいライセンスを購入しインストールしていただけない場合は、年間ライセンス ソフトウェアを、ライセンスの有効期間失効後は使用いただけません。年間ライセンス ソフトウェアは、ライセンスの有効期間が失効した時点で自動的に無効となります。

d. パートナー デモ用ソフトウェア。本ソフトウェアに「Partner Demo (パートナー デモ用)」と記されている場合は、本契約の規定のいかんにかかわらず、お客様が現在 CITRIX 正規ディストリビューターまたは正規販売代理店である場合に限り、お客様の顧客の支援を目的として、デモンストレーション、テストまたは評価のためにのみ、本ソフトウェアを使用することができます。パートナー デモ用ソフトウェアは、お客様の顧客トレーニングを目的として使用することはできません。パートナー デモ用ソフトウェアは、ソフトウェア パッケージに記された期日に自動的に機能を停止します。

e. 評価用ソフトウェア。本ソフトウェアに「Evaluation (評価用)」と記されている場合は、本契約の規定のいかんにかかわらず、お客様自身の内部デモンストレーション、テストまたは評価のためにのみ、本ソフトウェアを使用することができます。評価用ソフトウェアは、ソフトウェア パッケージに記された期日に自動的に機能を停止します。

f. 保存用の複製。お客様は、バックアップのみを目的として、機械可読形態の本ソフトウェアの複製物を 1 部作成することができます。ただし、所有権に関するすべての表示を当該複製物に複写することを条件とします。

2. サブスクリプション権。永続的ライセンス ソフトウェアの初回サブスクリプション (以下「サブスクリプション」といいます) はサポートを含み、電子メールによるお客様に対するユーザー ライセンスの引渡日より開始します。サブスクリプションは、その後 1 年間存続しますが、毎年更新をご購入いただく必要があります (「サブスクリプション期間」)。最初のまたは更新されたサブスクリプション期間中、CITRIX は随時、アップデートを一般に公開する場合があります。サブスクリプション期間内にアップデートが公開された場合、CITRIX はお客様に対し、対象となるライセンスのアップデートを提供するものとします。お客様に引き渡される一切のアップデートは、本契約条項に基づく本ソフトウェアとみなされます。ただし、適用法令により許容される限度において、本ソフトウェアに適用される限定担保責任条項の対象外とします。本ソフトウェアに対する Subscription Advantage は、www.citrix.com に掲載される Citrix Product Lifecycle Support Policy (Citrix 製品ライフサイクル サポート ポリシー) に従って本ソフトウェアが提供されなくなるまでご購入いただけます。

お客様は、CITRIX が、本ソフトウェアの一部を使用し、本ソフトウェアの機能の一部または全部を実行できる、新規のもしくは異なるコンピューター プログラムまたは本ソフトウェアの別エディションを開発し販売できることを了承するものとします。本契約は、そのような新規もしくは異なるコンピューター プログラムまたはエディションに関する権利をお客様に許諾するものではありません。お客様は、CITRIX は、本契約によってアップデートを公開する義務を負わないことも了承するものとします。アップデートの引渡条件は、CITRIX の工場渡し条件 (Ex Works CITRIX) とします (2000 年インコタームズ準拠)。

3. サポート。サポートは、インシデント、テクニカル サポート コンタクト、対応時間、地理的な対応地域、テクニカル リレーションシップ マネジメント サービス、およびインフラストラクチャ評価オプションからなるさまざまな組み合わせにより販売されます。利用権の内容は、お客様が購入する商品により決定されます。「インシデント」とは、サポートを必要とする単一の問題およびその解決に必要とされる合理的な努力とします。最終的な解決策を見いだすためには、複数回の通話およびオフラインでの調査が必要となる可能性があります。インシデントの重大度によって、本ソフトウェアに対する対応レベルが決定されます。未使用のインシデントおよびそのほかの利用権は、各年間サポート期間の終了日に失効します。本ソフトウェアに対するサポートは、www.citrix.com に掲載される Citrix Product Lifecycle Support Policy (Citrix 製品ライフサイクル サポート ポリシー) に従って本ソフトウェアが提供されなくなるまでご購入いただけます。サポートは、CITRIX からお客様の所在地へ、リモートで提供されます。お客様の所在地への訪問が相互に合意された場合は、CITRIX は、お客様の出張規定に従って、妥当な旅費および滞在費をお客様に請求するものとします。CITRIX によるサポートの実施は、お客様に次の義務を履行いただくことを前提とします。(i) 主な管理担当者としてカスタマー サポート マネージャー (Customer Support Manager: 以下「CSM」といいます) を 1 名指名いただきます。(ii) ネームド コンタクト (CSM を含む) として、できれば CITRIX 認定資格を有する方を複数名指名いただきます。各ネームド コンタクト (CSM を除く) には、サポート担当者に連絡するための個別のサービス ID が提供されます。(iii) CITRIX の指示に従い、問題の特定および解決のための合理的な作業を行うことに同意いただきます。お客様には、このような要求に協力することに同意いただきます。(iv) ソフトウェアおよびデータの保全性および安全性を不正アクセスから保護するために必要な手続きを導入すること、および致命的なエラーにより消失または変更されたあらゆるファイルを再構築することに責任を負っていただきます。(v) お客様の所在地においてすべての機器、電話回線、通信インターフェイスおよびそのほかのハードウェアを調達、設置および保守すること、本ソフトウェアを操作するために、お客様の設備へのアクセスを CITRIX に必要に応じて提供すること、ならびに本契約により要求されるサービスを CITRIX が実施することを許可することに責任を負っていただきます。(vi) 現在入手可能および適用可能なすべての Hotfix、Hotfix ロールアップ パック、サービス パック等を、本ソフトウェアに時宜に即して適用いただきます。CITRIX は、次を原因とする問題に関連して、一切のサポート提供を要求されないものとします。(i) 本ソフトウェアに悪影響を与える、本ソフトウェア、オペレーティング システム、または環境に対するお客様または第三者による改変または追加。(ii) 異常または欠陥に対処しない、本ソフトウェアに対する CITRIX による改変または追加。(ii) CITRIX によって発行され、本製品に同封されている製品付属文書に定義されていない機能。(iii) 文書に定義されているプロセッサおよび周辺機器以外のプロセッサおよび周辺機器での本ソフトウェアの使用。(iv) 製造終了した本ソフトウェア。(v) 当事者によるコンサルティング成果物。「異常」とは、文書に定義されている機能に実質的に適合しない、本ソフトウェアにおける不具合のこととします。「欠陥」とは、文書に記載されている仕様に適合しない、本ソフトウェアにおける不具合のこととします。お客様の重大な問題に対して CITRIX が通常のサポート方法では十分な解決策を提供できない場合は、CITRIX はその製品開発チームに Private fix を作成させる場合があります。Private fix はお客様固有の状況に対処するために設計されるもので、CITRIX の書面による同意なしに、お客様の組織外で配布することはできません。CITRIX は、すべての Private fix に対するすべての権利、権原および利益を留保します。一切の Hotfix または Private fix は、本契約条項に基づく本ソフトウェアではなく、適用法令により許容される限度において、本ソフトウェアに適用される限定担保責任条項または知的財産権侵害補償条項の対象外とします。インフラストラクチャ評価またはそのほかのコンサルティング サービスについて、すべてのレポート、既存の著作物およびその二次的著作物、ならびに評価の実施にあたり作成、着想、創作、発見、発明または実用化される、インストール スクリプトその他成果物および開発成果にかかるすべての知的財産権は、CITRIX が単独かつ完全に有し続けるものとします。なお、お客様には、お客様の内部使用を目的に、この知的財産権に対する全世界での、非独占的な権利が許諾されます。

4. その他の権利、制限および義務。下記制限特約をすることが適用法令によって明示的に禁止されている限度を除き、お客様は、本ソフトウェアを譲渡、レンタル、タイムシェアリング、権利を許諾、およびリースすることはできません。お客様が本ソフトウェア以外の CITRIX ソフトウェアの CITRIX ライセンスと置き換えるために本ソフトウェアのライセンスを購入された場合で、この置換えが当該購入についての取引条件であるときは、お客様は、新しいライセンスおよび本ソフトウェアをインストールした後は、置き換えられた以前の CITRIX ライセンスを破棄し、いかなる複製物も保有しないことに合意するものとします。お客様は、ライセンスの追跡調査を目的として、当該置換対象ライセンスおよび置き換え後の対応ライセンスのシリアル番号を販売代理店または、請求ある場合、CITRIX に直接提供するものとします。本契約において明示的に許可される場合または下記制限特約をすることが適用法令によって明示的に禁止されている限度を除き、お客様は、本ソフトウェアを改変、翻訳、リバース エンジニア、逆コンパイル、逆アセンブル、本ソフトウェアに基づいた二次的著作物の作成、または複製物の作成をすることはできません。お客様は、本ソフトウェアから所有権に関する通知、ラベル、表示の一切を除去することはできません。お客様は、適用法令により許容される限度において、CITRIX が、事前通知をもって、お客様の通常営業時間内に本契約の遵守状況を調査することに同意いただくものとします。上記にかかわらず、本契約は、本ソフトウェアに含まれるかまたは共に提供される無償のオープン ソース コード、その関連文書および資料に対して、当該の無償のオープン ソース コード、その関連文書および資料を対象に適用される無償のオープン ソース ライセンスに基づいて、追加のまたは異なる権利をお客様が行使することを阻止または制限するものではありません。

明示的に許諾されていない本ソフトウェアのすべての権利は、CITRIX あるいはその製品供給者が留保します。

適用される強行法規 (たとえば、コンピューター プログラムの法的保護に関する EC 指令 91/250 に準拠した内国制定法) により、お客様が、CITRIX の同意を要せず、本ソフトウェアに係るある一定の情報を取得する権利を有する場合、お客様は、制定法上の当該権利を行使される前に先ず、CITRIX に対し書面でもって利用目的を明確にして当該情報を請求いただくものとします。CITRIX が、その単独の判断で当該情報の一部または全部の提供を拒否した場合に限り、お客様は、制定法上の当該権利を行使するものとします。

5. 侵害行為に対する補償。本ソフトウェア (オープン ソース ソフトウェアを除く) が第三者の特許または著作権を侵害するという申し立て (以下「侵害申立」といいます) に基づいて、お客様に対し提起される賠償請求、訴訟、または訴訟手続について、お客様が侵害申立についての通知を受けまたは発見したことを、CITRIX が当該の通知の遅れにより損害を受けないように速やかに CITRIX に書面で通知することを条件に、CITRIX は、当該の賠償請求、訴訟、または訴訟手続について、お客様の損失を補償し、また、CITRIX の選択により、訴訟追行または私的解決をするものとします。本第 5 条において「オープン ソース ソフトウェア」とは、オープン ソース ライセンス モデル (GNU General Public License、BSD、または Open Source Initiative により承認されるライセンスと同様のもの) に基づいて CITRIX により頒布されるソフトウェアを指します。CITRIX は、一切の侵害申立の訴訟追行または私的解決について単独の追行権限を有し、お客様は、侵害申立に対する攻撃・防禦について合理的な支援を提供するものとします。侵害申立の通知を受けて、または CITRIX が当該侵害申立の妥当性が高いと信じる場合、CITRIX は、その単独の費用と選択において、次の行為を行うことができます。(i) 侵害申立を受けた本ソフトウェアの使用を続行する権利をお客様のために獲得する、(ii) 本ソフトウェアを侵害しないものへ交換または変更する、または、(iii) 本ソフトウェアの返品を承認し、必要に応じて、お客様に返金する。以下の場合には、CITRIX は、あらゆる侵害申立または権利侵害の主張に対して、一切の責任を負いません。(i) 侵害申立により、本ソフトウェアの使用を停止すべきであると認識した後も、お客様が本ソフトウェアを使用した場合、(ii) お客様により、またはお客様の指示により本ソフトウェアが変更された場合、または (iii) 侵害申立が、本ソフトウェア単独の使用により避けられた場合に、CITRIX 製品でないプログラム、データ、ハードウェア、またはその他のものと、本ソフトウェアを組み合わせて使用した場合。上記内容は、あらゆる権利侵害主張に対するお客様の唯一の救済方法とします。

6. 限定担保責任および免責。CITRIX は、本ソフトウェアの引渡日から 90 日間、CITRIX によって発行され、本製品に同封されている製品付属文書どおりに本ソフトウェアが実質的に動作することを保証します。本限定担保責任条項に基づく CITRIX およびその製品供給者の全責任ならびにお客様の唯一の救済方法は、CITRIX 単独の選択および適用法令に従って、媒体または本ソフトウェアの交換、または購入金額の払戻と本契約の解約に限られます。ただし、お客様が本ソフトウェアを CITRIX またはその正規代理店に返品することが条件となります。本限定担保責任は、お客様による本ソフトウェアの一切の変更または関連問題についてはその対象といたしません。CITRIX は、専門職業的手法をもってお客様により要求されるサポートを提供しますが、お客様により提起されるすべての質問または問題が、一定の時間内に解決されることを保証するものではありません。コンサルティング サービスについて、本限定担保責任条項に基づく CITRIX およびその製品供給者の全責任ならびにお客様の唯一の救済方法は、サービスの再実施に限られます。

適用法令により許容される限度において、および本ソフトウェアに対する上記限定担保責任を除き、CITRIX およびその製品供給者は、明示、黙示、法令上その他いかなる担保責任または契約上の保証もお客様に付与するものではありません。また、CITRIX およびその製品供給者は、本ソフトウェア、アップデート、Subscription Advantage、およびサポートについて、品質、可用性、信頼性、安全性、またはコンピューター ウィルス、不具合、もしくは異常のないことに関わる一切の契約上の保証責任および、権原、平穏享有、平穏占有、商品性、第三者の権利を侵害しないこと、または特定目的への適合性を含む、一切の黙示の担保責任を否認します。本ソフトウェアは、その故障を直接の原因として人の生命、身体、財産または環境に係る深刻な被害をもたらすような装置との組合せによる使用または販売を目的として、設計、製造、または意図されたものではありません。お客様は、意図する結果を得るための本ソフトウェアおよびハードウェアの選択、ならびに、本ソフトウェアおよびハードウェアのインストール、使用、およびそれにより得られた結果について一切の責任を負うものとします。

7. 所有権。本ソフトウェアに係る権原および所有権は、お客様に譲渡されるものではありません。その改作物、変更物、翻訳、二次的著作物、および複製物を含め、本ソフトウェアに係るすべての知的財産権に係る一切の権原および所有権は、CITRIX および/またはそのライセンサーが保有し、留保します。お客様は、本ソフトウェアを使用するための限定的なライセンスを取得するものとします。

8. 輸出規制。お客様は、適切な政府の許可を得ずに、いかなる形態でも本ソフトウェアを輸出、再輸出または輸入しないことに合意します。お客様は、いかなる場合でも、アメリカ合衆国の禁輸対象国、アメリカ合衆国により取引の禁止を指定されている個人もしくは団体、またはアメリカ合衆国により特別に指定された同国人に対し、本ソフトウェアを輸出してはならないことを了解します。

9. 責任の限定。適用法令により許容される限度において、CITRIX もしくは、その関連会社、製品供給者、または正規ディストリビューターが、データまたは個人情報の喪失、収益の減損、機会または利益の逸失、回復費用、本ソフトウェアまたはサポートの使用により生じた損失、サードパーティ製ソフトウェアもしくはハードウェアの使用によって生じた損害、または、本契約に関連する、本ソフトウェアまたはサポート、関連資料、もしくは付属文書の使用によって生じた、またはお客様による本ソフトウェアの輸出、再輸出、もしくは輸入によって生じた、その他の特別、付随的、二次的、もしくは間接的な損害に対し、損害発生の態様またはその請求原因のいかんにかかわらず、一切責任を負わないものとします。この責任の限定は、CITRIX、その関連会社、製品供給者、または正規ディストリビューターが、当該損害の発生可能性を事前に通知されていた場合といえども、なお適用されるものとします。適用法令により許容される限度において、いかなる場合においても、CITRIX、その関連会社、製品供給者、または正規ディストリビューターの責任額は、問題となっている特定のソフトウェア、サブスクリプション (サポート付きのサブスクリプションを含む)、またはサポートを購入するためにお客様にお支払いいただいた金額を超えないものとします。お客様は、本ソフトウェアのライセンス料またはサポート料が、上記の危険負担を反映したものであることを了承するものとします。法域によっては、付随的または二次的損害に対する責任の限定または排除が認められていないことがあり、上記の責任の限定または排除がお客様に適用されない場合があります。本契約において「CITRIX の関連会社」とは、その 50% 以上の議決権を Citrix Systems, Inc. が直接または間接的に所有する法人をいいます。関連会社、製品供給者、および正規代理店は、本契約による利益を享受する第三受益者となります。

10. 解約。本契約は、本契約に基づき解約されない限り有効に存続するものとします。お客様は、本ソフトウェアをコンピューターから削除し、本ソフトウェアのすべての複製物を破棄し、解約するライセンスのシリアル番号を書面で CITRIX に通知することにより、いつでも本契約を解約することができます。CITRIX は、お客様の本契約に対する違反により、いつでも本契約を解約することができます。本ソフトウェアまたは付属文書の無許諾複製その他本契約に基づくライセンスの許諾条件に違反した場合、本契約は自動的に終了し、CITRIX はその他の一切の法的救済手段を講じることができるものとします。お客様は、本契約に対する重大な違反は、金銭損害賠償のみでは不十分な、回復不能な損害を CITRIX にもたらすこと、および、適用法令により許容される限度において、CITRIX が、保証金の支払いを要せず、差止命令による救済もしくは衡平法上の救済を受ける権利を有することに合意し、了承します。本契約の終了と同時に、本契約に基づいて許諾されたライセンスは終了するものとし、お客様は、直ちに本ソフトウェア、付属文書、およびすべてのバックアップ コピーを破棄しなければなりません。

11. お客様がアメリカ合衆国政府機関である場合。お客様がアメリカ合衆国政府機関である場合は、連邦調達規則第 12.212 条 (48 CFR 12.212 (1995 年 10 月)) ならびに国防連邦調達規則補遺第 227.7202-1 条および第 227.7202-3 条 (48 CFR 227.7202-1、227.7202-3 (1995 年 6 月)) に基づき、お客様は、本ソフトウェアが「商用コンピューター ソフトウェア」であり続けること、および、本契約により、本ソフトウェアのアメリカ合衆国政府またはその機関による使用、複製、および開示は、この標準的な商用ライセンス契約に定めるすべての条項、条件、制約、および制限に従うものとすることを了承するものとします。理由の如何を問わず、第 12.212 条、第 227.7202-1 条、または第 227.7202-3 条が適用法令とみなされない場合は、お客様は、アメリカ合衆国政府機関による本ソフトウェアの使用、複製、および開示の権利は、規定どおりに、48 CFR 第 52.227-19 条 (c) (1) および (2) 項 (1987 年 6 月)、または DFARS 第 252.227-7014 条 (a) (14) 項 (1995 年 6 月) に定義される「制限付き権利」に限定されることを了承するものとします。製造者は、Citrix Systems, Inc., 851 West Cypress Creek Road, Fort Lauderdale, Florida, 33309, United States of America です。

12. 正規ディストリビューターおよび正規販売代理店。CITRIX 正規ディストリビューターおよび販売代理店には、本契約を変更する権限、および CITRIX を拘束する一切の表明、約束、保証を行う権限はありません。

13. 準拠法および裁判籍の選択。提供者が Citrix Systems, Inc. の場合、本契約は、国際物品売買契約に関する国連条約の適用を排除し、かつ、抵触法の原則に関わりなく、アメリカ合衆国フロリダ州法に準拠するものとします。また、本契約に起因するいかなる紛争についても、お客様は、フロリダ州ブラウワード郡内の州裁判所および連邦裁判所が専属的に人的裁判管轄権ならびに裁判籍を有することに同意するものとします。提供者が Citrix Systems International GmbH の場合、本契約は、国際物品売買契約に関する国連条約の適用を排除し、かつ、抵触法の原則に関わりなく、スイス連邦共和国法に準拠するものとします。また、本契約に起因するいかなる紛争についても、お客様は、チューリッヒ州内の所管裁判所が専属的に人的裁判管轄権ならびに裁判籍を有することに同意するものとします。提供者が Citrix Systems Asia Pacific Pty Ltd の場合、本契約は、国際物品売買契約に関する国連条約の適用を排除し、オーストラリア連邦ニュー サウス ウェールズ州法に準拠するものとします。また、本契約に起因するいかなる紛争についても、お客様は、ニュー サウス ウェールズ州内の所管裁判所が専属的に人的裁判管轄権ならびに裁判籍を有することに同意するものとします。本契約の規定のいずれかが適用法令によって無効または強制不能であるとされた場合、その限度において、当該規定は削除、抹消されているものとみなし、本契約のその他すべての規定はなお有効に存続するものとします。当該規定が削除、抹消されているとみなす限りにおいて、両当事者は、本契約の当初の目的と整合性を有する方法で、本契約の残りの規定を遵守することに合意します。

14. CITRIX への連絡。本契約に関する質問その他 CITRIX へのお問い合わせは、CITRIX まで次の住所宛に書面でお送りください。Citrix Systems, Inc., Customer Service, 851 West Cypress Creek Road, Ft. Lauderdale, Florida 33309、Citrix Systems International GmbH, Rheinweg 9, CH-8200 Schaffhausen, Switzerland、または Citrix Systems Asia Pacific Pty Ltd., Level 3, 1 Julius Ave., Riverside Corporate Park, North Ryde NSW 2113, Sydney, Australia。

15. 商標。Citrix は、Citrix Systems, Inc. の米国およびそのほかの国における商標および/または登録商標です。

+

CITRIX® ライセンス契約書

この文書は、ライセンスを許諾されるユーザー (以下「お客様」といいます) と Citrix Systems, Inc、、Citrix Systems International GmbH、または Citrix Systems Asia Pacific Pty Ltd. との間で締結される法的に有効な契約 (以下「本契約」といいます) です。お客様がこの製品または Feature Release (以下、総称して「本製品」といいます) またはテクニカル サポート (以下「サポート」といいます) の引渡しを受ける具体的場所によって、本契約に基づく提供主体が決定されます (該当する法人を、以下「CITRIX」といいます)。アメリカ合衆国デラウェア州法人である Citrix Systems, Inc. は、北米、中米、および南米の各諸国ならびに日本において、本製品のライセンス許諾を提供し、北米、中米、および南米の各諸国において、サポートを提供しています。Citrix Systems, Inc. が全株式を保有するスイス連邦共和国法人である Citrix Systems International GmbH は、ヨーロッパ、中東、およびアフリカにおいて、本製品のライセンス許諾およびサポートを提供し、アジアおよび太平洋沿岸の各諸国 (日本を除く) において、本製品のライセンス許諾を提供しています。Citrix Systems Asia Pacific Pty Ltd. は、アジアおよび太平洋沿岸の各諸国 (日本を除く) において、サポートを提供しています。シトリックス・システムズ・ジャパン株式会社は、日本において、サポートを提供しています。本製品をインストールおよび/または使用することにより、お客様は本契約条項に同意されたものとします。本契約条項に同意いただけない場合、本製品をインストールおよび/または使用しないでください。

1. ライセンスの許諾。本製品は Citrix が所有権を有するソフトウェア プログラムであり、本契約に基づいてオブジェクト コード形式で配布されます。本製品のライセンスは、CPU ソケット モデルに基づいて許諾されます。ライセンス モデルで定義される、ソフトウェアを使用可能にするライセンス (以下「ライセンス」といいます) によって、本製品がアクティブ化されます。

CPU ソケット モデル条件では、「CPU ソケット」は、CPU を搭載するか否かにかかわらず、本製品を実行するサーバー上の個々の CPU ソケットを指します。

ほかの CITRIX 製品または本製品の別のエディションのライセンスを使って、本製品の許可される使用範囲を拡大することはできません。ライセンスは製品のバージョンごとに許諾されます。ライセンスのバージョンは、アクセスされる本製品と同じか新しいものである必要があります。CITRIX は、お客様に対し、本製品および付属文書 (以下、総称して「本ソフトウェア」といいます) について、次のとおり全世界での非独占的な権利を許諾します。

a. ライセンス。お客様は、合計して最大でお客様が購入されたライセンスに対応する数の CPU ソケットを搭載する複数のサーバー (以下「実稼働サーバー」といいます) に、本ソフトウェアをインストールすることができます。さらに、お客様は、実稼働サーバーで実行する本ソフトウェアをサポートするために、必要に応じて管理用サーバーに本ソフトウェアの管理部分をインストールすることができます。お客様は、内部ユーザーまたは第三者にクラウド サービスを提供するために、本ソフトウェアを使用することができます。実稼働環境と障害復旧環境の両方にインストールされている各ライセンスは、常に、いずれか一方の環境でのみ使用することができます。ただし、障害復旧環境の定期的なテストを行う場合に限り、当該ライセンスを両方の環境で同時に使用することができます。お客様は、本ソフトウェアの Web ユーザー インターフェイスのみをカスタマイズする権利を有します。

b. 永続的ライセンス。本ソフトウェアが「永続的ライセンス ソフトウェア」である場合は、本ソフトウェアは永続的に使用許諾され、サブスクリプション (下記第 2 条に定義します) による特典を受け取る権利が含まれるものとします。

c. 年間ライセンス。本ソフトウェアが「年間ライセンス ソフトウェア」である場合は、お客様のライセンスは 1 年間有効で、この期間中アップデートを受け取る権利が含まれます。ただし、サブスクリプション (下記第 2 条に定義します) に基づくものではありません。本契約においてアップデートとは、本ソフトウェア専用に一般に公開されたリリース版を意味するものとします。年間ライセンスの有効期間を延長するには、お客様は、現在のライセンスが失効する前に、新しいライセンスを購入しインストールしていただく必要があります。新しいライセンスを購入しインストールしていただけない場合は、年間ライセンス ソフトウェアを、ライセンスの有効期間失効後は使用いただけません。年間ライセンス ソフトウェアは、ライセンスの有効期間が失効した時点で自動的に無効となります。

d. パートナー デモ用ソフトウェア。本ソフトウェアに「Partner Demo (パートナー デモ用)」と記されている場合は、本契約の規定のいかんにかかわらず、お客様が現在 CITRIX 正規ディストリビューターまたは正規販売代理店である場合に限り、お客様の顧客の支援を目的として、デモンストレーション、テストまたは評価のためにのみ、本ソフトウェアを使用することができます。パートナー デモ用ソフトウェアは、お客様の顧客トレーニングを目的として使用することはできません。パートナー デモ用ソフトウェアは、ソフトウェア パッケージに記された期日に自動的に機能を停止します。

e. 評価用ソフトウェア。本ソフトウェアに「Evaluation (評価用)」と記されている場合は、本契約の規定のいかんにかかわらず、お客様自身の内部デモンストレーション、テストまたは評価のためにのみ、本ソフトウェアを使用することができます。評価用ソフトウェアは、ソフトウェア パッケージに記された期日に自動的に機能を停止します。

f. 保存用の複製。お客様は、バックアップのみを目的として、機械可読形態の本ソフトウェアの複製物を 1 部作成することができます。ただし、所有権に関するすべての表示を当該複製物に複写することを条件とします。

2. サブスクリプション権。永続的ライセンス ソフトウェアの初回サブスクリプション (以下「サブスクリプション」といいます) はサポートを含み、電子メールによるお客様に対するユーザー ライセンスの引渡日より開始します。サブスクリプションは、その後 1 年間存続しますが、毎年更新をご購入いただく必要があります (「サブスクリプション期間」)。最初のまたは更新されたサブスクリプション期間中、CITRIX は随時、アップデートを一般に公開する場合があります。サブスクリプション期間内にアップデートが公開された場合、CITRIX はお客様に対し、対象となるライセンスのアップデートを提供するものとします。お客様に引き渡される一切のアップデートは、本契約条項に基づく本ソフトウェアとみなされます。ただし、適用法令により許容される限度において、本ソフトウェアに適用される限定担保責任条項の対象外とします。本ソフトウェアに対する Subscription Advantage は、www.citrix.com に掲載される Citrix Product Lifecycle Support Policy (Citrix 製品ライフサイクル サポート ポリシー) に従って本ソフトウェアが提供されなくなるまでご購入いただけます。

お客様は、CITRIX が、本ソフトウェアの一部を使用し、本ソフトウェアの機能の一部または全部を実行できる、新規のもしくは異なるコンピューター プログラムまたは本ソフトウェアの別エディションを開発し販売できることを了承するものとします。本契約は、そのような新規もしくは異なるコンピューター プログラムまたはエディションに関する権利をお客様に許諾するものではありません。お客様は、CITRIX は、本契約によってアップデートを公開する義務を負わないことも了承するものとします。アップデートの引渡条件は、CITRIX の工場渡し条件 (Ex Works CITRIX) とします (2000 年インコタームズ準拠)。

3. サポート。サポートは、インシデント、テクニカル サポート コンタクト、対応時間、地理的な対応地域、テクニカル リレーションシップ マネジメント サービス、およびインフラストラクチャ評価オプションからなるさまざまな組み合わせにより販売されます。利用権の内容は、お客様が購入する商品により決定されます。「インシデント」とは、サポートを必要とする単一の問題およびその解決に必要とされる合理的な努力とします。最終的な解決策を見いだすためには、複数回の通話およびオフラインでの調査が必要となる可能性があります。インシデントの重大度によって、本ソフトウェアに対する対応レベルが決定されます。未使用のインシデントおよびそのほかの利用権は、各年間サポート期間の終了日に失効します。本ソフトウェアに対するサポートは、www.citrix.com に掲載される Citrix Product Lifecycle Support Policy (Citrix 製品ライフサイクル サポート ポリシー) に従って本ソフトウェアが提供されなくなるまでご購入いただけます。サポートは、CITRIX からお客様の所在地へ、リモートで提供されます。お客様の所在地への訪問が相互に合意された場合は、CITRIX は、お客様の出張規定に従って、妥当な旅費および滞在費をお客様に請求するものとします。CITRIX によるサポートの実施は、お客様に次の義務を履行いただくことを前提とします。(i) 主な管理担当者としてカスタマー サポート マネージャー (Customer Support Manager: 以下「CSM」といいます) を 1 名指名いただきます。(ii) ネームド コンタクト (CSM を含む) として、できれば CITRIX 認定資格を有する方を複数名指名いただきます。各ネームド コンタクト (CSM を除く) には、サポート担当者に連絡するための個別のサービス ID が提供されます。(iii) CITRIX の指示に従い、問題の特定および解決のための合理的な作業を行うことに同意いただきます。お客様には、このような要求に協力することに同意いただきます。(iv) ソフトウェアおよびデータの保全性および安全性を不正アクセスから保護するために必要な手続きを導入すること、および致命的なエラーにより消失または変更されたあらゆるファイルを再構築することに責任を負っていただきます。(v) お客様の所在地においてすべての機器、電話回線、通信インターフェイスおよびそのほかのハードウェアを調達、設置および保守すること、本ソフトウェアを操作するために、お客様の設備へのアクセスを CITRIX に必要に応じて提供すること、ならびに本契約により要求されるサービスを CITRIX が実施することを許可することに責任を負っていただきます。(vi) 現在入手可能および適用可能なすべての Hotfix、Hotfix ロールアップ パック、サービス パック等を、本ソフトウェアに時宜に即して適用いただきます。CITRIX は、次を原因とする問題に関連して、一切のサポート提供を要求されないものとします。(i) 本ソフトウェアに悪影響を与える、本ソフトウェア、オペレーティング システム、または環境に対するお客様または第三者による改変または追加。(ii) 異常または欠陥に対処しない、本ソフトウェアに対する CITRIX による改変または追加。(ii) CITRIX によって発行され、本製品に同封されている製品付属文書に定義されていない機能。(iii) 文書に定義されているプロセッサおよび周辺機器以外のプロセッサおよび周辺機器での本ソフトウェアの使用。(iv) 製造終了した本ソフトウェア。(v) 当事者によるコンサルティング成果物。「異常」とは、文書に定義されている機能に実質的に適合しない、本ソフトウェアにおける不具合のこととします。「欠陥」とは、文書に記載されている仕様に適合しない、本ソフトウェアにおける不具合のこととします。お客様の重大な問題に対して CITRIX が通常のサポート方法では十分な解決策を提供できない場合は、CITRIX はその製品開発チームに Private fix を作成させる場合があります。Private fix はお客様固有の状況に対処するために設計されるもので、CITRIX の書面による同意なしに、お客様の組織外で配布することはできません。CITRIX は、すべての Private fix に対するすべての権利、権原および利益を留保します。一切の Hotfix または Private fix は、本契約条項に基づく本ソフトウェアではなく、適用法令により許容される限度において、本ソフトウェアに適用される限定担保責任条項または知的財産権侵害補償条項の対象外とします。インフラストラクチャ評価またはそのほかのコンサルティング サービスについて、すべてのレポート、既存の著作物およびその二次的著作物、ならびに評価の実施にあたり作成、着想、創作、発見、発明または実用化される、インストール スクリプトその他成果物および開発成果にかかるすべての知的財産権は、CITRIX が単独かつ完全に有し続けるものとします。なお、お客様には、お客様の内部使用を目的に、この知的財産権に対する全世界での、非独占的な権利が許諾されます。

4. その他の権利、制限および義務。下記制限特約をすることが適用法令によって明示的に禁止されている限度を除き、お客様は、本ソフトウェアを譲渡、レンタル、タイムシェアリング、権利を許諾、およびリースすることはできません。お客様が本ソフトウェア以外の CITRIX ソフトウェアの CITRIX ライセンスと置き換えるために本ソフトウェアのライセンスを購入された場合で、この置換えが当該購入についての取引条件であるときは、お客様は、新しいライセンスおよび本ソフトウェアをインストールした後は、置き換えられた以前の CITRIX ライセンスを破棄し、いかなる複製物も保有しないことに合意するものとします。お客様は、ライセンスの追跡調査を目的として、当該置換対象ライセンスおよび置き換え後の対応ライセンスのシリアル番号を販売代理店または、請求ある場合、CITRIX に直接提供するものとします。本契約において明示的に許可される場合または下記制限特約をすることが適用法令によって明示的に禁止されている限度を除き、お客様は、本ソフトウェアを改変、翻訳、リバース エンジニア、逆コンパイル、逆アセンブル、本ソフトウェアに基づいた二次的著作物の作成、または複製物の作成をすることはできません。お客様は、本ソフトウェアから所有権に関する通知、ラベル、表示の一切を除去することはできません。お客様は、適用法令により許容される限度において、CITRIX が、事前通知をもって、お客様の通常営業時間内に本契約の遵守状況を調査することに同意いただくものとします。上記にかかわらず、本契約は、本ソフトウェアに含まれるかまたは共に提供される無償のオープン ソース コード、その関連文書および資料に対して、当該の無償のオープン ソース コード、その関連文書および資料を対象に適用される無償のオープン ソース ライセンスに基づいて、追加のまたは異なる権利をお客様が行使することを阻止または制限するものではありません。

明示的に許諾されていない本ソフトウェアのすべての権利は、CITRIX あるいはその製品供給者が留保します。

適用される強行法規 (たとえば、コンピューター プログラムの法的保護に関する EC 指令 91/250 に準拠した内国制定法) により、お客様が、CITRIX の同意を要せず、本ソフトウェアに係るある一定の情報を取得する権利を有する場合、お客様は、制定法上の当該権利を行使される前に先ず、CITRIX に対し書面でもって利用目的を明確にして当該情報を請求いただくものとします。CITRIX が、その単独の判断で当該情報の一部または全部の提供を拒否した場合に限り、お客様は、制定法上の当該権利を行使するものとします。

5. 侵害行為に対する補償。本ソフトウェア (オープン ソース ソフトウェアを除く) が第三者の特許または著作権を侵害するという申し立て (以下「侵害申立」といいます) に基づいて、お客様に対し提起される賠償請求、訴訟、または訴訟手続について、お客様が侵害申立についての通知を受けまたは発見したことを、CITRIX が当該の通知の遅れにより損害を受けないように速やかに CITRIX に書面で通知することを条件に、CITRIX は、当該の賠償請求、訴訟、または訴訟手続について、お客様の損失を補償し、また、CITRIX の選択により、訴訟追行または私的解決をするものとします。本第 5 条において「オープン ソース ソフトウェア」とは、オープン ソース ライセンス モデル (GNU General Public License、BSD、または Open Source Initiative により承認されるライセンスと同様のもの) に基づいて CITRIX により頒布されるソフトウェアを指します。CITRIX は、一切の侵害申立の訴訟追行または私的解決について単独の追行権限を有し、お客様は、侵害申立に対する攻撃・防禦について合理的な支援を提供するものとします。侵害申立の通知を受けて、または CITRIX が当該侵害申立の妥当性が高いと信じる場合、CITRIX は、その単独の費用と選択において、次の行為を行うことができます。(i) 侵害申立を受けた本ソフトウェアの使用を続行する権利をお客様のために獲得する、(ii) 本ソフトウェアを侵害しないものへ交換または変更する、または、(iii) 本ソフトウェアの返品を承認し、必要に応じて、お客様に返金する。以下の場合には、CITRIX は、あらゆる侵害申立または権利侵害の主張に対して、一切の責任を負いません。(i) 侵害申立により、本ソフトウェアの使用を停止すべきであると認識した後も、お客様が本ソフトウェアを使用した場合、(ii) お客様により、またはお客様の指示により本ソフトウェアが変更された場合、または (iii) 侵害申立が、本ソフトウェア単独の使用により避けられた場合に、CITRIX 製品でないプログラム、データ、ハードウェア、またはその他のものと、本ソフトウェアを組み合わせて使用した場合。上記内容は、あらゆる権利侵害主張に対するお客様の唯一の救済方法とします。

6. 限定担保責任および免責。CITRIX は、本ソフトウェアの引渡日から 90 日間、CITRIX によって発行され、本製品に同封されている製品付属文書どおりに本ソフトウェアが実質的に動作することを保証します。本限定担保責任条項に基づく CITRIX およびその製品供給者の全責任ならびにお客様の唯一の救済方法は、CITRIX 単独の選択および適用法令に従って、媒体または本ソフトウェアの交換、または購入金額の払戻と本契約の解約に限られます。ただし、お客様が本ソフトウェアを CITRIX またはその正規代理店に返品することが条件となります。本限定担保責任は、お客様による本ソフトウェアの一切の変更または関連問題についてはその対象といたしません。CITRIX は、専門職業的手法をもってお客様により要求されるサポートを提供しますが、お客様により提起されるすべての質問または問題が、一定の時間内に解決されることを保証するものではありません。コンサルティング サービスについて、本限定担保責任条項に基づく CITRIX およびその製品供給者の全責任ならびにお客様の唯一の救済方法は、サービスの再実施に限られます。

適用法令により許容される限度において、および本ソフトウェアに対する上記限定担保責任を除き、CITRIX およびその製品供給者は、明示、黙示、法令上その他いかなる担保責任または契約上の保証もお客様に付与するものではありません。また、CITRIX およびその製品供給者は、本ソフトウェア、アップデート、Subscription Advantage、およびサポートについて、品質、可用性、信頼性、安全性、またはコンピューター ウィルス、不具合、もしくは異常のないことに関わる一切の契約上の保証責任および、権原、平穏享有、平穏占有、商品性、第三者の権利を侵害しないこと、または特定目的への適合性を含む、一切の黙示の担保責任を否認します。本ソフトウェアは、その故障を直接の原因として人の生命、身体、財産または環境に係る深刻な被害をもたらすような装置との組合せによる使用または販売を目的として、設計、製造、または意図されたものではありません。お客様は、意図する結果を得るための本ソフトウェアおよびハードウェアの選択、ならびに、本ソフトウェアおよびハードウェアのインストール、使用、およびそれにより得られた結果について一切の責任を負うものとします。

7. 所有権。本ソフトウェアに係る権原および所有権は、お客様に譲渡されるものではありません。その改作物、変更物、翻訳、二次的著作物、および複製物を含め、本ソフトウェアに係るすべての知的財産権に係る一切の権原および所有権は、CITRIX および/またはそのライセンサーが保有し、留保します。お客様は、本ソフトウェアを使用するための限定的なライセンスを取得するものとします。

8. 輸出規制。お客様は、適切な政府の許可を得ずに、いかなる形態でも本ソフトウェアを輸出、再輸出または輸入しないことに合意します。お客様は、いかなる場合でも、アメリカ合衆国の禁輸対象国、アメリカ合衆国により取引の禁止を指定されている個人もしくは団体、またはアメリカ合衆国により特別に指定された同国人に対し、本ソフトウェアを輸出してはならないことを了解します。

9. 責任の限定。適用法令により許容される限度において、CITRIX もしくは、その関連会社、製品供給者、または正規ディストリビューターが、データまたは個人情報の喪失、収益の減損、機会または利益の逸失、回復費用、本ソフトウェアまたはサポートの使用により生じた損失、サードパーティ製ソフトウェアもしくはハードウェアの使用によって生じた損害、または、本契約に関連する、本ソフトウェアまたはサポート、関連資料、もしくは付属文書の使用によって生じた、またはお客様による本ソフトウェアの輸出、再輸出、もしくは輸入によって生じた、その他の特別、付随的、二次的、もしくは間接的な損害に対し、損害発生の態様またはその請求原因のいかんにかかわらず、一切責任を負わないものとします。この責任の限定は、CITRIX、その関連会社、製品供給者、または正規ディストリビューターが、当該損害の発生可能性を事前に通知されていた場合といえども、なお適用されるものとします。適用法令により許容される限度において、いかなる場合においても、CITRIX、その関連会社、製品供給者、または正規ディストリビューターの責任額は、問題となっている特定のソフトウェア、サブスクリプション (サポート付きのサブスクリプションを含む)、またはサポートを購入するためにお客様にお支払いいただいた金額を超えないものとします。お客様は、本ソフトウェアのライセンス料またはサポート料が、上記の危険負担を反映したものであることを了承するものとします。法域によっては、付随的または二次的損害に対する責任の限定または排除が認められていないことがあり、上記の責任の限定または排除がお客様に適用されない場合があります。本契約において「CITRIX の関連会社」とは、その 50% 以上の議決権を Citrix Systems, Inc. が直接または間接的に所有する法人をいいます。関連会社、製品供給者、および正規代理店は、本契約による利益を享受する第三受益者となります。

10. 解約。本契約は、本契約に基づき解約されない限り有効に存続するものとします。お客様は、本ソフトウェアをコンピューターから削除し、本ソフトウェアのすべての複製物を破棄し、解約するライセンスのシリアル番号を書面で CITRIX に通知することにより、いつでも本契約を解約することができます。CITRIX は、お客様の本契約に対する違反により、いつでも本契約を解約することができます。本ソフトウェアまたは付属文書の無許諾複製その他本契約に基づくライセンスの許諾条件に違反した場合、本契約は自動的に終了し、CITRIX はその他の一切の法的救済手段を講じることができるものとします。お客様は、本契約に対する重大な違反は、金銭損害賠償のみでは不十分な、回復不能な損害を CITRIX にもたらすこと、および、適用法令により許容される限度において、CITRIX が、保証金の支払いを要せず、差止命令による救済もしくは衡平法上の救済を受ける権利を有することに合意し、了承します。本契約の終了と同時に、本契約に基づいて許諾されたライセンスは終了するものとし、お客様は、直ちに本ソフトウェア、付属文書、およびすべてのバックアップ コピーを破棄しなければなりません。

11. お客様がアメリカ合衆国政府機関である場合。お客様がアメリカ合衆国政府機関である場合は、連邦調達規則第 12.212 条 (48 CFR 12.212 (1995 年 10 月)) ならびに国防連邦調達規則補遺第 227.7202-1 条および第 227.7202-3 条 (48 CFR 227.7202-1、227.7202-3 (1995 年 6 月)) に基づき、お客様は、本ソフトウェアが「商用コンピューター ソフトウェア」であり続けること、および、本契約により、本ソフトウェアのアメリカ合衆国政府またはその機関による使用、複製、および開示は、この標準的な商用ライセンス契約に定めるすべての条項、条件、制約、および制限に従うものとすることを了承するものとします。理由の如何を問わず、第 12.212 条、第 227.7202-1 条、または第 227.7202-3 条が適用法令とみなされない場合は、お客様は、アメリカ合衆国政府機関による本ソフトウェアの使用、複製、および開示の権利は、規定どおりに、48 CFR 第 52.227-19 条 (c) (1) および (2) 項 (1987 年 6 月)、または DFARS 第 252.227-7014 条 (a) (14) 項 (1995 年 6 月) に定義される「制限付き権利」に限定されることを了承するものとします。製造者は、Citrix Systems, Inc., 851 West Cypress Creek Road, Fort Lauderdale, Florida, 33309, United States of America です。

12. 正規ディストリビューターおよび正規販売代理店。CITRIX 正規ディストリビューターおよび販売代理店には、本契約を変更する権限、および CITRIX を拘束する一切の表明、約束、保証を行う権限はありません。

13. 準拠法および裁判籍の選択。提供者が Citrix Systems, Inc. の場合、本契約は、国際物品売買契約に関する国連条約の適用を排除し、かつ、抵触法の原則に関わりなく、アメリカ合衆国フロリダ州法に準拠するものとします。また、本契約に起因するいかなる紛争についても、お客様は、フロリダ州ブラウワード郡内の州裁判所および連邦裁判所が専属的に人的裁判管轄権ならびに裁判籍を有することに同意するものとします。提供者が Citrix Systems International GmbH の場合、本契約は、国際物品売買契約に関する国連条約の適用を排除し、かつ、抵触法の原則に関わりなく、スイス連邦共和国法に準拠するものとします。また、本契約に起因するいかなる紛争についても、お客様は、チューリッヒ州内の所管裁判所が専属的に人的裁判管轄権ならびに裁判籍を有することに同意するものとします。提供者が Citrix Systems Asia Pacific Pty Ltd の場合、本契約は、国際物品売買契約に関する国連条約の適用を排除し、オーストラリア連邦ニュー サウス ウェールズ州法に準拠するものとします。また、本契約に起因するいかなる紛争についても、お客様は、ニュー サウス ウェールズ州内の所管裁判所が専属的に人的裁判管轄権ならびに裁判籍を有することに同意するものとします。本契約の規定のいずれかが適用法令によって無効または強制不能であるとされた場合、その限度において、当該規定は削除、抹消されているものとみなし、本契約のその他すべての規定はなお有効に存続するものとします。当該規定が削除、抹消されているとみなす限りにおいて、両当事者は、本契約の当初の目的と整合性を有する方法で、本契約の残りの規定を遵守することに合意します。

14. CITRIX への連絡。本契約に関する質問その他 CITRIX へのお問い合わせは、CITRIX まで次の住所宛に書面でお送りください。Citrix Systems, Inc., Customer Service, 851 West Cypress Creek Road, Ft. Lauderdale, Florida 33309、Citrix Systems International GmbH, Rheinweg 9, CH-8200 Schaffhausen, Switzerland、または Citrix Systems Asia Pacific Pty Ltd., Level 3, 1 Julius Ave., Riverside Corporate Park, North Ryde NSW 2113, Sydney, Australia。

15. 商標。Citrix は、Citrix Systems, Inc. の米国およびそのほかの国における商標および/または登録商標です。

diff --git a/build/release-notes b/build/release-notes index 5523568e72a..34b20803a00 100644 --- a/build/release-notes +++ b/build/release-notes @@ -1,328 +1,328 @@ -******************************************************************************** - VMOps Cloud Stack Version 0.4 - Release Notes -******************************************************************************** - -================================= -WHAT'S NEW : -================================= - -* NIC bonding support for the Computing, Routing, and Storage nodes to take -advantage of the multiple NICS installed on the server. -* Maintenance Mode support for physical servers. Administrators now have the -option to enable or disable maintenance mode on any physical servers. Enabling -maintenance mode on a Routing or Computing node will result in the seamless live -migration of guest virtual machines into other physical servers within the same -zone before making the server available for maintenance. -* Introduction of a new user web interface for allowing user accounts to manage -their own virtual machines. This new interface has a brand new look and feel, -allows for easier branding and customization, and is easier to incorporate into -existing web interfaces. -* Added support for the creation of Reseller Domains. The Reseller Domain -feature allows host providers to create resellers complete with their own -user base and administrators while using the same global computing resources -provided by the host provider. -* Added a new email alerting system that will now inform administrators of -events such as when physical servers are down or computing resources are -passing a pre-configured threshold. -* Massive improvements to the existing Developer and Integration API. Error -codes have now been added and existing API method names and parameters have been -made more consistent. A JSON format can also now be optionally -returned in addition to the existing XML format. Please read the new API -Reference documentation for more details on the changes. -* Billing records have now been changed to Usage records to provide data for -both billing integration and usage metering. Price has been completely removed -from VMOps. Instead we added ability to set your own display text for both -service offering and templates. You can now use this to set any text for the UI -to display. -* New virtual machines deployed will now generate a random password. A reset -password is also now available both in the web user interface as well as the -API. We support both Linux and Windows OS based templates. -* Storage server is now a bare-bone installation and uses the new COMSTAR iSCSI -stack for improved performance. We recognized that while running the storage -server as a virtual machine does allows for more hardware support, it severely -impacts performance. The list of compatible hardware can be found in the Open -Solaris website. -* Added clustering support for the VMOps Management Server. -* Added the ability to configure an additional storage ip address (separate -subnet) for both Routing and Computing servers. If a server is configured with -an additional storage ip, all storage traffic will route through this subnet and -all network/internet traffic will route through the existing private network. -* Added concept of a user account. VMOps supports multiple username for a -single user account. -* Created new installers for the VMOps MultiTenant Hypervisor and the VMOps -Storage. - -================================= -KNOWN ISSUES : -================================= - -* DomR is still counting internal network activities as part of the usage that -is being returned by the API. -* The reset password for virtual machine feature does not return an error if it -fails to successfully reset the password. -* VMOps installation scripts to not validate bad network configuration values. -* VNX Proxy Server does not handle rapid refreshes of web console proxy well. -* VNC Proxy Server at times do not return a thumbnail image. -* Rebooting a DomR instance will cause network traffic to not be collected. -* Associating new IP addresses should clean out existing LB or PF rules before -assigning it to a DomR instance. -* The Usage parse engine needs to be split out from the VMOps Management Server -so that only a single instance of this can be running and does not affect -normal operations. -* Templates needs a way of specifying the minimum CPU and Memory requirements. -* createUser API method currently allows you to assign users to admin accounts. -* Installations of servers with more than 3 NIC sometimes duplicates the MAC -address on the ifcfg configuration files. -* Additional admin only API methods are missing (ie. Domain management, router -management). -* Usage parse engine could go OOM in the event it has not been run recently -and there are a large (2 million+ records). -* Problem with domU when both e1000 and e1000e used as a NIC drivers for a -Computing Server. The installer needs to blacklist one of the drivers. -* vnet failures and xen crashes currently do not generate an alert to the administrator. -* The current limit for domU instances created on a Computing Server is 64 and -the currently limit for domR instances created is 59 on a Routing Server. -* No current way of allowing different subnets for different pods within the -same zone. -* limit the number of usage and event records returned by the API. A large -enough of the query could cause the Management Server to go oom. - -================================= -BUG FIXES : -================================= - -* Improved transactions across both database calls and calls across agents. -* Fixed an issue where duplicate IP or LB rules could be sent to the DomR -instance during a DomR restart. -* Removed requirement of the reverse DNS lookup for the Storage Server. -* Massive improvements to the HA process. -* Fixed an issue where the it would take too long for the management server -to detect a TCP disconnect. -* Fixed an issue where the the agent would *think* it has connected to the -management server but in reality, it is just stuck waiting for a response that -will never come. -* Generic DB lock wait timeout fixes. -* Improvements to the general state management of the servers. -* Fixed issue where where physical servers with the same IP attempts to connect -to the Management Server. The second server is now prevented from registering. -* Fixed an issue where deleting a user from an account would result in all the -virtual machines to be cleaned up. This can only happen if the last user for -an account has been deleted. -* Fixed an issue where the source NAT ip address of a DomR instance is being -released back into the public pool even though the DomR instance was not -successfully destroyed. -* Fixed an issue where a guest virtual machine cannot be destroyed while in HA -state. -* Removed requirement to specify the storage type when installing a new tempate. -* Fixed an issue where the console proxy from different zones are all starting -in the same zone. -* Fixed an issue where the listing of virtual machines would hang if the console -proxy is not even started. -* Massive improvements to our installer scripts. -* Massive improvements to the general stability of the Cloud Stack. -* Fixed an issue where the Hypervisor installer is unable to install onto -machines with a IPMI card. -* As usual, there are too many bug fixes to list... - -******************************************************************************** - VMOps Cloud Stack Version 0.3.xxxx - Release Notes -******************************************************************************** - -================================= -WHAT'S NEW : -================================= - -* Introduction of VMOps Developer API. This allows users of the VMOps Cloud - Stack to manage their virtual machines through a set of REST-like API. -* Improved collection of user usage data that can be used for both billing - aggregation and metric collection. -* High availability support for user virtual machines. -* Support for automatic hypervisor agent software update. -* VNC console proxy servers can now run as managed VMOps system VMs. The new - implementation provides features such as on-demand VM startup, standby - capacity pre-allocation and console proxy load monitoring. -* Much Improved VMOps Cloud Stack installation process. VMOps Cloud Stack can - now be installed with a minimum of two physical servers. -* VMOps Cloud Stack installation DVD now comes in two flavors. VMOps Cloud Stack - Management Server Installation DVD and VMOps Cloud Stack Multitenant - Hypervisor Installation DVD. - -================================= -KNOWN ISSUES : -================================= - -* PV drivers for Windows 2003 and Windows 2003 x86_64 (Incomplete Feature) -* GUI panel for allowing administrators to set various system configurations - - i.e. zones, pods, ip addresses (Incomplete Feature) -* Support for multiple NIC cards on computing, routing, and storage servers - (Disabled Feature) -* Support for resellers (Incomplete Feature) -* Allow admins/users to specify the root password for their new instance. It - cannot default to root/password (Bug 134) -* Admin/User Dashboard (Bug 154 and 155) -* Dynamically refresh server and vm instance status in GUI without a manual - refresh (Bug 389) -* Need transaction semantics across DB and agent. Without this, it is possible - to timeout db calls that first lock a record and relies on an agent response - before releasing that record. (Bug 408) -* All Server Roles (Mgmt, Computing, Routing, and Storage) require a functioning - eth0 NIC in order to install correctly. (Bug 470) -* Unable to handle HA when an entire Pod is unreachable (Bug 620) -* Improved network traffic reporting (Bug 642) -* Multiple login support a single user account (Bug 589) -* DomR instances continue to run even though all VMs associated with the DomR - are no longer even running. (Bug 617) -* HA fails when VM and Router for the same user go down at the same time - (Bug 603) - -================================= -BUG FIXES : -================================= - -* Improved Billing data generation (Bug 482) -* Able to create new admins through the admin console UI. (Bug 492) -* Able to create new Service Offerings through the admin console UI (Bug 500) -* Significantly improved the imaging speed when installing VMOps Cloud Stack - (Bug 476) -* Harden DomR Template to prevent unauthorized access -* No longer require eth0 during installation process of the hosts (Bug 490) -* Fixed issue where having multiple NIC cards caused issues (Bug 489) -* Installation UI will now allow you to select to the disk for storage - (Bug 556) -* Installation UI will now allow you to select NIC to use as private, public, - or simply disabled -* Mgmt server will now reflect the status of user vms if the storage server that - hosts the vm's volumes is no longer accessible. (Bug 521) -* Routing and Console Proxy VM will now be HA-enabled by default (Bug 614) -* Console Proxy VM are now automatically managed by the Mgmt Server (Bug 110) -* Template Management from the console admin UI should be improved -* Too many to list... - -******************************************************************************** - VMOps Cloud Stack Version 0.2.6297 - Release Notes -******************************************************************************** - -================================= -WHAT'S NEW : -================================= - -* VMOps Server - - Introduction of VMOps Integration API. This API allows service providers - to provision users and to retrieve billing info and events. It is a simple - query language written on top of HTTP that simply returns results in XML - format. - - Improved VMOps Server installation process. - -* VMOps Multitenant Hypervisor - - Improved VMOps Multitenant Hypervisor installation process. - -================================= -KNOWN ISSUES : -================================= - -* PV drivers for Windows 2003 and Windows 2003 x86_64 (Incomplete Feature) -* Developer, Billing, and Provisioning API (Incomplete Feature) -* Mirroring of disk images on storage servers across pods (Incomplete Feature) -* HA Enabled VMs (Disabled Feature) -* Firewall integration API (Incomplete Feature) -* GUI panel for allowing administrators to set various system configurations - - i.e. zones, pods, ip addresses (Incomplete Feature) -* Support for multiple NIC cards on computing, routing, and storage servers - (Disabled Feature) -* Ability to deploy agent upgrade on VMOps server and have the upgrade - automatically propagated to storage, routing, and computing servers. - (Bug 386) -* Detailed IO stats for storage servers (Bug 94) -* Admin/User Dashboard (Bug 154 and 155) -* OpenSolaris kernel panic (Bug 413) -* Dynamically refresh server and vm instance status in GUI without a manual - refresh (Bug 389) -* Need transaction semantics across DB and agent. Without this, it is possible - to timeout db calls that first lock a record and relies on an agent response - before releasing that record. (Bug 408) -* All Server Roles (Mgmt, Computing, Routing, and Storage) require a functioning - eth0 NIC in order to install correctly. (Bug 470) -* Admin Console UI Templates Tab needs improvement. (Bug 469) -* Unable to create new admins through the admin console UI. (Bug 492) -* Unable to create new Service Offerings through the admin console UI (Bug 500) - -================================= -BUG FIXES : -================================= - -* Added a new XML (server-setup.xml) to configure initial VMOps Server data. - (Bug 430) -* Made installation of the router template easier (Bug 434) -* Deleting a user through the admin UI will now show a progress bar (Bug 428) -* You can no longer any drop down boxes in the search left panel of the console - UI (Bug 439) -* Configured dom0 and domR to no longer do any reverse DNS lookup (Bug 459) -* Fixed installer to handle multiple NIC (Bug 457) -* Missing SDL module in all templates (Bug 449) - -******************************************************************************** - VMOps Cloud Stack Version 0.1.6053 - Release Notes -******************************************************************************** - -================================= -WHAT'S NEW : -================================= - -* VMOps Server - - Complete web UI for both administrators and users to manage VMOps Cloud - Stack. - - Allows administrators to manage the creation of service offerings and set - its pricing along with pricing for network bandwidth, additional public - ips, and vm templates. - - Allows administrators to retrieve billing records and user usages. - - VM Sync - coordinates, manages, and maintains the life cycle of VMOps agents - running on attached computing, routing, and storage hosts. - - VM Template Management - allows administrators to manage and upload hosted - vm templates into VMOps Cloud Stack. - -* VMOps Multitenant Hypervisor - - Designed to allow for the complete isolation of CPU, memory, storage, and - network resources for each user. - Hypervisor Attached Storage (HAS) The storage solution that is - integrated within the hypervisor and does not rely on centralized SAN or NAS - to implement storage virtualization. It provides a high performance and - ultra-reliable block storage for virtual machine images - - Hypervisor Aware Network (HAN) The network solution for VMOps Cloud Stack - that implements the necessary IP address translation and tunneling for the - guest OS running inside the virtual machine. It does not rely on VLAN to - implement any network virtualization and isolation. - -================================= -KNOWN ISSUES : -================================= - -* PV drivers for Windows 2003 and Windows 2003 x86_64 (Incomplete Feature) -* Developer, Billing, and Provisioning API (Incomplete Feature) -* Mirroring of disk images on storage servers across pods (Incomplete Feature) -* HA Enabled VMs (Disabled Feature) -* Firewall integration API (Incomplete Feature) -* GUI panel for allowing administrators to set various system configurations - - i.e. zones, pods, ip addresses (Incomplete Feature) -* Support for multiple NIC cards on computing, routing, and storage servers - (Disabled Feature) -* Ability to deploy agent upgrade on VMOps server and have the upgrade - automatically propagated to storage, routing, and computing servers. - (Bug 386) -* Detailed IO stats for storage servers (Bug 94) -* Admin/User Dashboard (Bug 154 and 155) -* OpenSolaris kernel panic (Bug 413) -* Dynamically refresh server and vm instance status in GUI without a manual - refresh (Bug 389) -* Need transaction semantics across DB and agent. Without this, it is possible - to timeout db calls that first lock a record and relies on an agent response - before releasing that record. (Bug 408) - -================================= -BUG FIXES : -================================= - +******************************************************************************** + VMOps Cloud Stack Version 0.4 + Release Notes +******************************************************************************** + +================================= +WHAT'S NEW : +================================= + +* NIC bonding support for the Computing, Routing, and Storage nodes to take +advantage of the multiple NICS installed on the server. +* Maintenance Mode support for physical servers. Administrators now have the +option to enable or disable maintenance mode on any physical servers. Enabling +maintenance mode on a Routing or Computing node will result in the seamless live +migration of guest virtual machines into other physical servers within the same +zone before making the server available for maintenance. +* Introduction of a new user web interface for allowing user accounts to manage +their own virtual machines. This new interface has a brand new look and feel, +allows for easier branding and customization, and is easier to incorporate into +existing web interfaces. +* Added support for the creation of Reseller Domains. The Reseller Domain +feature allows host providers to create resellers complete with their own +user base and administrators while using the same global computing resources +provided by the host provider. +* Added a new email alerting system that will now inform administrators of +events such as when physical servers are down or computing resources are +passing a pre-configured threshold. +* Massive improvements to the existing Developer and Integration API. Error +codes have now been added and existing API method names and parameters have been +made more consistent. A JSON format can also now be optionally +returned in addition to the existing XML format. Please read the new API +Reference documentation for more details on the changes. +* Billing records have now been changed to Usage records to provide data for +both billing integration and usage metering. Price has been completely removed +from VMOps. Instead we added ability to set your own display text for both +service offering and templates. You can now use this to set any text for the UI +to display. +* New virtual machines deployed will now generate a random password. A reset +password is also now available both in the web user interface as well as the +API. We support both Linux and Windows OS based templates. +* Storage server is now a bare-bone installation and uses the new COMSTAR iSCSI +stack for improved performance. We recognized that while running the storage +server as a virtual machine does allows for more hardware support, it severely +impacts performance. The list of compatible hardware can be found in the Open +Solaris website. +* Added clustering support for the VMOps Management Server. +* Added the ability to configure an additional storage ip address (separate +subnet) for both Routing and Computing servers. If a server is configured with +an additional storage ip, all storage traffic will route through this subnet and +all network/internet traffic will route through the existing private network. +* Added concept of a user account. VMOps supports multiple username for a +single user account. +* Created new installers for the VMOps MultiTenant Hypervisor and the VMOps +Storage. + +================================= +KNOWN ISSUES : +================================= + +* DomR is still counting internal network activities as part of the usage that +is being returned by the API. +* The reset password for virtual machine feature does not return an error if it +fails to successfully reset the password. +* VMOps installation scripts to not validate bad network configuration values. +* VNX Proxy Server does not handle rapid refreshes of web console proxy well. +* VNC Proxy Server at times do not return a thumbnail image. +* Rebooting a DomR instance will cause network traffic to not be collected. +* Associating new IP addresses should clean out existing LB or PF rules before +assigning it to a DomR instance. +* The Usage parse engine needs to be split out from the VMOps Management Server +so that only a single instance of this can be running and does not affect +normal operations. +* Templates needs a way of specifying the minimum CPU and Memory requirements. +* createUser API method currently allows you to assign users to admin accounts. +* Installations of servers with more than 3 NIC sometimes duplicates the MAC +address on the ifcfg configuration files. +* Additional admin only API methods are missing (ie. Domain management, router +management). +* Usage parse engine could go OOM in the event it has not been run recently +and there are a large (2 million+ records). +* Problem with domU when both e1000 and e1000e used as a NIC drivers for a +Computing Server. The installer needs to blacklist one of the drivers. +* vnet failures and xen crashes currently do not generate an alert to the administrator. +* The current limit for domU instances created on a Computing Server is 64 and +the currently limit for domR instances created is 59 on a Routing Server. +* No current way of allowing different subnets for different pods within the +same zone. +* limit the number of usage and event records returned by the API. A large +enough of the query could cause the Management Server to go oom. + +================================= +BUG FIXES : +================================= + +* Improved transactions across both database calls and calls across agents. +* Fixed an issue where duplicate IP or LB rules could be sent to the DomR +instance during a DomR restart. +* Removed requirement of the reverse DNS lookup for the Storage Server. +* Massive improvements to the HA process. +* Fixed an issue where the it would take too long for the management server +to detect a TCP disconnect. +* Fixed an issue where the the agent would *think* it has connected to the +management server but in reality, it is just stuck waiting for a response that +will never come. +* Generic DB lock wait timeout fixes. +* Improvements to the general state management of the servers. +* Fixed issue where where physical servers with the same IP attempts to connect +to the Management Server. The second server is now prevented from registering. +* Fixed an issue where deleting a user from an account would result in all the +virtual machines to be cleaned up. This can only happen if the last user for +an account has been deleted. +* Fixed an issue where the source NAT ip address of a DomR instance is being +released back into the public pool even though the DomR instance was not +successfully destroyed. +* Fixed an issue where a guest virtual machine cannot be destroyed while in HA +state. +* Removed requirement to specify the storage type when installing a new tempate. +* Fixed an issue where the console proxy from different zones are all starting +in the same zone. +* Fixed an issue where the listing of virtual machines would hang if the console +proxy is not even started. +* Massive improvements to our installer scripts. +* Massive improvements to the general stability of the Cloud Stack. +* Fixed an issue where the Hypervisor installer is unable to install onto +machines with a IPMI card. +* As usual, there are too many bug fixes to list... + +******************************************************************************** + VMOps Cloud Stack Version 0.3.xxxx + Release Notes +******************************************************************************** + +================================= +WHAT'S NEW : +================================= + +* Introduction of VMOps Developer API. This allows users of the VMOps Cloud + Stack to manage their virtual machines through a set of REST-like API. +* Improved collection of user usage data that can be used for both billing + aggregation and metric collection. +* High availability support for user virtual machines. +* Support for automatic hypervisor agent software update. +* VNC console proxy servers can now run as managed VMOps system VMs. The new + implementation provides features such as on-demand VM startup, standby + capacity pre-allocation and console proxy load monitoring. +* Much Improved VMOps Cloud Stack installation process. VMOps Cloud Stack can + now be installed with a minimum of two physical servers. +* VMOps Cloud Stack installation DVD now comes in two flavors. VMOps Cloud Stack + Management Server Installation DVD and VMOps Cloud Stack Multitenant + Hypervisor Installation DVD. + +================================= +KNOWN ISSUES : +================================= + +* PV drivers for Windows 2003 and Windows 2003 x86_64 (Incomplete Feature) +* GUI panel for allowing administrators to set various system configurations - + i.e. zones, pods, ip addresses (Incomplete Feature) +* Support for multiple NIC cards on computing, routing, and storage servers + (Disabled Feature) +* Support for resellers (Incomplete Feature) +* Allow admins/users to specify the root password for their new instance. It + cannot default to root/password (Bug 134) +* Admin/User Dashboard (Bug 154 and 155) +* Dynamically refresh server and vm instance status in GUI without a manual + refresh (Bug 389) +* Need transaction semantics across DB and agent. Without this, it is possible + to timeout db calls that first lock a record and relies on an agent response + before releasing that record. (Bug 408) +* All Server Roles (Mgmt, Computing, Routing, and Storage) require a functioning + eth0 NIC in order to install correctly. (Bug 470) +* Unable to handle HA when an entire Pod is unreachable (Bug 620) +* Improved network traffic reporting (Bug 642) +* Multiple login support a single user account (Bug 589) +* DomR instances continue to run even though all VMs associated with the DomR + are no longer even running. (Bug 617) +* HA fails when VM and Router for the same user go down at the same time + (Bug 603) + +================================= +BUG FIXES : +================================= + +* Improved Billing data generation (Bug 482) +* Able to create new admins through the admin console UI. (Bug 492) +* Able to create new Service Offerings through the admin console UI (Bug 500) +* Significantly improved the imaging speed when installing VMOps Cloud Stack + (Bug 476) +* Harden DomR Template to prevent unauthorized access +* No longer require eth0 during installation process of the hosts (Bug 490) +* Fixed issue where having multiple NIC cards caused issues (Bug 489) +* Installation UI will now allow you to select to the disk for storage + (Bug 556) +* Installation UI will now allow you to select NIC to use as private, public, + or simply disabled +* Mgmt server will now reflect the status of user vms if the storage server that + hosts the vm's volumes is no longer accessible. (Bug 521) +* Routing and Console Proxy VM will now be HA-enabled by default (Bug 614) +* Console Proxy VM are now automatically managed by the Mgmt Server (Bug 110) +* Template Management from the console admin UI should be improved +* Too many to list... + +******************************************************************************** + VMOps Cloud Stack Version 0.2.6297 + Release Notes +******************************************************************************** + +================================= +WHAT'S NEW : +================================= + +* VMOps Server + - Introduction of VMOps Integration API. This API allows service providers + to provision users and to retrieve billing info and events. It is a simple + query language written on top of HTTP that simply returns results in XML + format. + - Improved VMOps Server installation process. + +* VMOps Multitenant Hypervisor + - Improved VMOps Multitenant Hypervisor installation process. + +================================= +KNOWN ISSUES : +================================= + +* PV drivers for Windows 2003 and Windows 2003 x86_64 (Incomplete Feature) +* Developer, Billing, and Provisioning API (Incomplete Feature) +* Mirroring of disk images on storage servers across pods (Incomplete Feature) +* HA Enabled VMs (Disabled Feature) +* Firewall integration API (Incomplete Feature) +* GUI panel for allowing administrators to set various system configurations - + i.e. zones, pods, ip addresses (Incomplete Feature) +* Support for multiple NIC cards on computing, routing, and storage servers + (Disabled Feature) +* Ability to deploy agent upgrade on VMOps server and have the upgrade + automatically propagated to storage, routing, and computing servers. + (Bug 386) +* Detailed IO stats for storage servers (Bug 94) +* Admin/User Dashboard (Bug 154 and 155) +* OpenSolaris kernel panic (Bug 413) +* Dynamically refresh server and vm instance status in GUI without a manual + refresh (Bug 389) +* Need transaction semantics across DB and agent. Without this, it is possible + to timeout db calls that first lock a record and relies on an agent response + before releasing that record. (Bug 408) +* All Server Roles (Mgmt, Computing, Routing, and Storage) require a functioning + eth0 NIC in order to install correctly. (Bug 470) +* Admin Console UI Templates Tab needs improvement. (Bug 469) +* Unable to create new admins through the admin console UI. (Bug 492) +* Unable to create new Service Offerings through the admin console UI (Bug 500) + +================================= +BUG FIXES : +================================= + +* Added a new XML (server-setup.xml) to configure initial VMOps Server data. + (Bug 430) +* Made installation of the router template easier (Bug 434) +* Deleting a user through the admin UI will now show a progress bar (Bug 428) +* You can no longer any drop down boxes in the search left panel of the console + UI (Bug 439) +* Configured dom0 and domR to no longer do any reverse DNS lookup (Bug 459) +* Fixed installer to handle multiple NIC (Bug 457) +* Missing SDL module in all templates (Bug 449) + +******************************************************************************** + VMOps Cloud Stack Version 0.1.6053 + Release Notes +******************************************************************************** + +================================= +WHAT'S NEW : +================================= + +* VMOps Server + - Complete web UI for both administrators and users to manage VMOps Cloud + Stack. + - Allows administrators to manage the creation of service offerings and set + its pricing along with pricing for network bandwidth, additional public + ips, and vm templates. + - Allows administrators to retrieve billing records and user usages. + - VM Sync - coordinates, manages, and maintains the life cycle of VMOps agents + running on attached computing, routing, and storage hosts. + - VM Template Management - allows administrators to manage and upload hosted + vm templates into VMOps Cloud Stack. + +* VMOps Multitenant Hypervisor + - Designed to allow for the complete isolation of CPU, memory, storage, and + network resources for each user. + Hypervisor Attached Storage (HAS) The storage solution that is + integrated within the hypervisor and does not rely on centralized SAN or NAS + to implement storage virtualization. It provides a high performance and + ultra-reliable block storage for virtual machine images + - Hypervisor Aware Network (HAN) The network solution for VMOps Cloud Stack + that implements the necessary IP address translation and tunneling for the + guest OS running inside the virtual machine. It does not rely on VLAN to + implement any network virtualization and isolation. + +================================= +KNOWN ISSUES : +================================= + +* PV drivers for Windows 2003 and Windows 2003 x86_64 (Incomplete Feature) +* Developer, Billing, and Provisioning API (Incomplete Feature) +* Mirroring of disk images on storage servers across pods (Incomplete Feature) +* HA Enabled VMs (Disabled Feature) +* Firewall integration API (Incomplete Feature) +* GUI panel for allowing administrators to set various system configurations - + i.e. zones, pods, ip addresses (Incomplete Feature) +* Support for multiple NIC cards on computing, routing, and storage servers + (Disabled Feature) +* Ability to deploy agent upgrade on VMOps server and have the upgrade + automatically propagated to storage, routing, and computing servers. + (Bug 386) +* Detailed IO stats for storage servers (Bug 94) +* Admin/User Dashboard (Bug 154 and 155) +* OpenSolaris kernel panic (Bug 413) +* Dynamically refresh server and vm instance status in GUI without a manual + refresh (Bug 389) +* Need transaction semantics across DB and agent. Without this, it is possible + to timeout db calls that first lock a record and relies on an agent response + before releasing that record. (Bug 408) + +================================= +BUG FIXES : +================================= + * N/A \ No newline at end of file diff --git a/client/WEB-INF/classes/resources/messages_es.properties b/client/WEB-INF/classes/resources/messages_es.properties index 226e6f3d8df..5b4ff32e0f1 100644 --- a/client/WEB-INF/classes/resources/messages_es.properties +++ b/client/WEB-INF/classes/resources/messages_es.properties @@ -1,866 +1,866 @@ -#cloudstack 3.0 (begin) ******************************************************************************************** -create.template.confirm = Por favor, confirme que desea crear una plantilla -create.template.success = Nueva plantilla se está creando -create.template.notification = Crear nueva plantilla -create.template.complete plantilla = se ha creado correctamente -#cloudstack 3.0 (end) ********************************************************************************************** - - - -#cloudstack 2.2.Y (begin) ****************************************************************************************** -label.action.migrate.router=migrar Router -label.action.migrate.router.processing=Migración router .... -message.migrate.router.confirm=Por favor, confirme el huésped que desea migrar el router: -label.migrate.router.to=Router para migrar - -label.action.migrate.systemvm=Migrar del sistema VM -label.action.migrate.systemvm.processing=La migración de VM del sistema .... -message.migrate.systemvm.confirm=Por favor, confirme el huésped que desea migrar la máquina virtual de sistema: -label.migrate.systemvm.to=Migrar máquina virtual del sistema para - - -mode=modo -side.by.side=Juntos -inline=en línea - -extractable=extraíble - -label.ocfs2=OCFS2 - -label.action.edit.host=edición Anfitrión - -network.rate=Tasa de red - -ICMP.type=Tipo ICMP -ICMP.code=ICMP Código - -image.directory=Directorio de la imagen - -label.action.create.template.from.vm=Crear plantilla de VM -label.action.create.template.from.volume=Crear plantilla de volumen - -message.vm.create.template.confirm=Crear plantilla de la máquina virtual se reiniciará automáticamente. - -label.action.manage.cluster=gestionar racimo -message.action.manage.cluster=Por favor, confirme que desea para administrar el clúster. -label.action.manage.cluster.processing=La gestión de clústeres .... - -label.action.unmanage.cluster=Unmanage racimo -message.action.unmanage.cluster=Por favor, confirme que desea unmanage del clúster. -label.action.unmanage.cluster.processing=Unmanaging Grupo .... - -allocation.state=asignación del Estado -managed.state=Estado logró - -label.default.use=Usar por defecto -label.host.tags=etiquetas de la máquina - -label.cidr=CIDR -label.cidr.list=fuente CIDR - -label.storage.tags=Etiquetas de almacenamiento - -label.redundant.router=enrutador redundante -label.is.redundant.router=redundante - -force.delete=Fuerza Borrar -force.delete.domain.warning=Advertencia: Si elige esta opción, la supresión de todos los dominios secundarios y todas las cuentas asociadas y sus recursos. - -force.remove=Fuerza Retire -force.remove.host.warning=Advertencia: Si elige esta opción, CloudStack para detener la fuerza todas las máquinas virtuales en ejecución antes de retirar este host del clúster. - -force.stop=Grupo de Alto -force.stop.instance.warning=Advertencia: Obligar a una parada en este caso debería ser su última opción. Puede conducir a la pérdida de datos, así como un comportamiento incoherente del Estado de la máquina virtual. - -label.PreSetup=PreSetup -label.SR.name = SR Nombre de etiqueta -label.SharedMountPoint = SharedMountPoint -label.clvm=CLVM -label.volgroup=Volume Group -label.VMFS.datastore=VMFS de datos tienda - -label.network.device=De dispositivos de red -label.add.network.device=Añadir dispositivo de red -label.network.device.type=Tipo de red de dispositivos -label.DHCP.server.type=Tipo de servidor DHCP -label.Pxe.server.type=Tipo de servidor Pxe -label.PING.storage.IP=PING almacenamiento IP -label.PING.dir=PING Directorio -label.TFTP.dir=Directorio de TFTP -label.PING.CIFS.username=PING CIFS nombre de usuario -label.PING.CIFS.password=PING CIFS contraseña -label.CPU.cap=CPU Cap - -label.network.domain=red de dominio - -label.action.enable.zone=Habilitar la zona -label.action.enable.zone.processing = Habilitación de zona .... -message.action.enable.zone = Por favor, confirme que desea habilitar esta zona. -label.action.disable.zone = Deshabilitar la zona -label.action.disable.zone.processing = Desactivación de la zona .... -message.action.disable.zone = Por favor, confirme que desea desactivar esta zona. - -label.action.enable.pod = Habilitar Pod -label.action.enable.pod.processing = Habilitación Pod .... -message.action.enable.pod = Por favor, confirme que desea habilitar esta vaina. -label.action.disable.pod = Deshabilitar Pod -label.action.disable.pod.processing = Deshabilitar Pod .... -message.action.disable.pod = Por favor, confirme que desea desactivar esta vaina. - -label.action.enable.cluster = Habilitar clúster -label.action.enable.cluster.processing = Habilitar clúster .... -message.action.enable.cluster = Por favor, confirme que desea habilitar este grupo. -label.action.disable.cluster = Deshabilitar clúster -label.action.disable.cluster.processing = Desactivación de Cluster Server .... -message.action.disable.cluster = Por favor, confirme que desea desactivar este grupo. - -label.account = Cuenta -label.account.id = ID de la cuenta -label.account.name = Nombre de la cuenta -label.account.specific = específicas de la cuenta -label.accounts = Cuentas -label.acquire.new.ip = adquirir nuevas IP -label.show.ingress.rule=Mostrar la regla del ingreso -label.hide.ingress.rule=Ocultar el artículo ingreso -label.action.attach.disk = Conecte el disco -label.action.attach.disk.processing = disco Fijación .... -label.action.attach.iso = Adjuntar ISO -label.action.attach.iso.processing = Colocación de la norma ISO .... -label.action.cancel.maintenance.mode = Cancelar modo de mantenimiento -label.action.cancel.maintenance.mode.processing = Cancelación del modo de mantenimiento .... -label.action.change.password = Cambiar contraseña -label.action.change.service = Cambio de Servicio -label.action.change.service.processing = Cambio de servicio .... -label.action.copy.ISO = Copia de la ISO -label.action.copy.ISO.processing = hacer frente ISO .... -label.action.copy.template = Copia de plantilla -label.action.copy.template.processing = hacer frente plantilla .... -label.action.create.template = Crear plantilla -label.action.create.template.processing = Creación de plantillas .... -label.action.create.vm = Crear VM -label.action.create.vm.processing = Creación de máquina virtual .... -label.action.create.volume = Crear volumen -label.action.create.volume.processing = Crear volumen .... -label.action.delete.IP.range = Eliminar Rango de IP -label.action.delete.IP.range.processing = Eliminar Rango de IP .... -label.action.delete.ISO = Eliminar ISO -label.action.delete.ISO.processing = Eliminación de la norma ISO .... -label.action.delete.account = Eliminar cuenta -label.action.delete.account.processing = Eliminar cuentas .... -label.action.delete.cluster = Borrar Grupo -label.action.delete.cluster.processing = Borrar Grupo .... -label.action.delete.disk.offering = Borrar disco Ofrenda -label.action.delete.disk.offering.processing = Borrar disco ofrece .... - -label.action.update.resource.count=Actualización de recursos Conde -label.action.update.resource.count.processing=Actualización de Conde de recursos .... - -label.action.delete.domain = Eliminar de dominio -label.action.delete.domain.processing = Eliminación de dominio .... -label.action.delete.firewall = Eliminar servidor de seguridad -label.action.delete.firewall.processing = Eliminación de firewall .... -label.action.delete.ingress.rule = Borrar ingreso Regla -label.action.delete.ingress.rule.processing = Eliminación de ingreso regla .... -label.action.delete.load.balancer = Eliminar equilibrador de carga -label.action.delete.load.balancer.processing = Eliminación del equilibrador de carga .... -label.action.edit.network=Edición de redes -label.action.delete.network = Eliminar Red -label.action.delete.network.processing = Eliminación de red .... -label.action.delete.pod = Eliminar Pod -label.action.delete.pod.processing = Eliminar Pod .... -label.action.delete.primary.storage = Almacenamiento primario Eliminar -label.action.delete.primary.storage.processing = Eliminación de almacenamiento primaria .... -label.action.delete.secondary.storage = secundaria almacenamiento Eliminar -label.action.delete.secondary.storage.processing = Eliminación de almacenamiento secundario .... -label.action.delete.security.group = Borrar Grupo de Seguridad -label.action.delete.security.group.processing = Eliminar grupo de seguridad .... -label.action.delete.service.offering = Eliminar Oferta de Servicio -label.action.delete.service.offering.processing = Eliminación de Oferta de Servicio .... -label.action.delete.snapshot = Eliminar instantánea -label.action.delete.snapshot.processing = Eliminar instantánea .... -label.action.delete.template = Eliminar plantilla -label.action.delete.template.processing = Eliminar plantilla .... -label.action.delete.user = Eliminar usuario -label.action.delete.user.processing = Eliminar usuario .... -label.action.delete.volume = Eliminar volumen -label.action.delete.volume.processing = Eliminar volumen .... -label.action.delete.zone = Eliminar Zona -label.action.delete.zone.processing = Eliminación de la Zona .... -label.action.destroy.instance = Destruye Instancia -label.action.destroy.instance.processing = Destrucción Instancia .... -label.action.destroy.systemvm = destruir el sistema VM -label.action.destroy.systemvm.processing = Destrucción del sistema VM .... -label.action.detach.disk = Separar disco -label.action.detach.disk.processing = Extracción disco .... -label.action.detach.iso = Separar ISO -label.action.detach.iso.processing = Extracción ISO .... -label.action.disable.account = Desactivar cuenta -label.action.disable.account.processing = Deshabilitar cuenta .... -label.action.disable.static.NAT = Deshabilitar NAT estática -label.action.disable.static.NAT.processing = Deshabilitar NAT estática .... -label.action.disable.user = Deshabilitar usuario -label.action.disable.user.processing = Desactivación de usuario .... -label.action.download.ISO = ISO Descargar -label.action.download.template = Descargar plantilla -label.action.download.volume = Descargar Volumen -label.action.download.volume.processing = Volumen Descargar .... -label.action.edit.ISO = Editar ISO -label.action.edit.account = Editar cuenta -label.action.edit.disk.offering = Editar disco Ofrenda -label.action.edit.domain = Editar Dominio -label.action.edit.global.setting = Editar Mundial Marco -label.action.edit.instance = Editar Instancia -label.action.edit.network.offering = Editar Red ofrece -label.action.edit.pod = Editar Pod -label.action.edit.primary.storage = Editar Almacenamiento primario -label.action.edit.resource.limits = Editar límites de recursos -label.action.edit.service.offering = Editar Oferta de Servicio -label.action.edit.template = Editar plantilla -label.action.edit.user = Editar usuario -label.action.edit.zone = Edición Zona -label.action.enable.account = Habilitar cuenta -label.action.enable.account.processing = cuenta de Habilitación .... -label.action.enable.maintenance.mode = Activar el modo de mantenimiento -label.action.enable.maintenance.mode.processing = Habilitación del modo de mantenimiento .... -label.action.enable.static.NAT = Habilitar NAT estática -label.action.enable.static.NAT.processing = Habilitar NAT estática .... -label.action.enable.user = usuario Activar -label.action.enable.user.processing = Habilitación del usuario .... -label.action.force.reconnect = Fuerza Vuelva a conectar -label.action.force.reconnect.processing = Reconectando .... -label.action.generate.keys = Generar Claves -label.action.generate.keys.processing = Generar claves .... -label.action.lock.account = Bloqueo de cuenta -label.action.lock.account.processing = Bloqueo de cuenta .... -label.action.migrate.instance = Migrar Instancia -label.action.migrate.instance.processing = Migrar Instancia .... -label.action.reboot.instance = Reiniciar Instancia -label.action.reboot.instance.processing = Reiniciar Instancia .... -label.action.reboot.router = Reiniciar router -label.action.reboot.router.processing = Reiniciar router .... -label.action.reboot.systemvm = Reiniciar sistema VM -label.action.reboot.systemvm.processing = reinicio del sistema VM .... -label.action.recurring.snapshot = recurrente instantáneas -label.action.release.ip = estreno IP -label.action.release.ip.processing = Liberar IP .... -label.action.remove.host = Quitar host -label.action.remove.host.processing = Extracción de host .... -label.action.reset.password = Restablecer contraseña -label.action.reset.password.processing = Restablecimiento de la contraseña .... -label.action.resource.limits = Recursos límites -label.action.restore.instance = Restaurar Instancia -label.action.restore.instance.processing = Restaurar Instancia .... -label.action.start.instance = Iniciar Instancia -label.action.start.instance.processing = A partir Instancia .... -label.action.start.router = inicio del router -label.action.start.router.processing = A partir del router .... -label.action.start.systemvm = Inicio del sistema VM -label.action.start.systemvm.processing = A partir del sistema VM .... -label.action.stop.instance = Detener Instancia -label.action.stop.instance.processing = Detener Instancia .... -label.action.stop.router = Detener router -label.action.stop.router.processing = Detener router .... -label.action.stop.systemvm = parada del sistema VM -label.action.stop.systemvm.processing = Detener sistema VM .... -label.action.take.snapshot = Tomar instantánea -label.action.take.snapshot.processing = Tomar instantáneas .... -label.action.update.OS.preference = Actualizar OS Preferencia -label.action.update.OS.preference.processing = Actualización de sistema operativo preferencia .... -label.actions = Acciones -label.active.sessions = Sesiones activas -label.add = Agregar -label.add.account = Añadir cuenta -label.add.by.cidr = Añadir Por CIDR -label.add.by.group = Añadir Por el Grupo de -label.add.cluster = Añadir Grupo -label.add.direct.iprange = Añadir Direct IP Gama -label.add.disk.offering = Añadir disco Ofrenda -label.add.domain = Agregar dominio -label.add.firewall = Agregar Servidor de seguridad -label.add.host = Agregar host -label.add.ingress.rule = Añadir regla del ingreso -label.add.ip.range = Añadir Rango de IP -label.add.iso = Añadir ISO -label.add.load.balancer = Añadir equilibrador de carga -label.add.more = Añadir más -label.add.network = Agregar sitios de red -label.add.pod = Añadir Pod -label.add.primary.storage = Añadir Almacenamiento primario -label.add.secondary.storage = Añadir secundaria almacenamiento -label.add.security.group = Agregar grupo de seguridad -label.add.service.offering = Añadir Servicio de Oferta -label.add.template = Añadir plantilla -label.add.user = Agregar usuario -label.add.vlan = Añadir VLAN -label.add.volume = Añadir volumen -label.add.zone = Añadir Zona -label.adding = Agregar -label.adding.cluster = Adición de clúster -label.adding.failed = No se pudo agregar -label.adding.pod = Agregar Pod -label.adding.processing = Añadir .... -label.adding.succeeded = Agregar Sucesor -label.adding.user = Agregar usuario -label.adding.zone = Agregar la zona -label.additional.networks = Redes adicional -label.admin = Admin -label.admin.accounts = Administrador de Cuentas -label.advanced = Avanzado -label.advanced.mode = Modo avanzado -label.advanced.search = Búsqueda Avanzada -label.alert=Alerta -label.algorithm = Algoritmo -label.allocated = Asignados -label.api.key = clave de API -label.assign = Asignar -label.assign.to.load.balancer = instancia de Asignación de equilibrador de carga -label.associated.network.id = ID de red asociados -label.attached.iso = adjunta ISO -label.availability = Disponibilidad -label.availability.zone = Disponibilidad de la zona -label.available = Disponible -label.available.public.ips = Disponible direcciones IP públicas -label.back = Volver -label.basic.mode = Modo básico -label.bootable = arranque -label.broadcast.domain.type = Tipo de dominio de difusión -label.by.account = Por Cuenta -label.by.availability = Por Disponibilidad -label.by.domain = Por dominio -label.by.end.date = Por Fecha de finalización -label.by.level = por Nivel -label.by.pod = Por Pod -label.by.role = por función -label.by.start.date = Por Fecha de inicio -label.by.state = Por Estado -label.by.traffic.type = Por tipo de tráfico -label.by.type = Por tipo -label.by.type.id = Por tipo de identificación -label.by.zone = Por Zona -label.bytes.received = Bytes recibidos -label.bytes.sent = Bytes enviados -label.cancel = Cancelar -label.certificate = Certificado -label.privatekey=PKCS#8 la clave privada -label.domain.suffix=DNS sufijo de dominio (es decir, xyz.com) -label.character = Personaje -label.cidr.account = CIDR o de cuenta / Grupo de Seguridad -label.close = Cerrar -label.cloud.console = Cloud Management Console -label.cloud.managed = Cloud.com Gestionado -label.cluster = Grupo -label.cluster.type = Tipo de Cluster Server -label.code = Código -label.confirmation=Confirmation -label.cpu = CPU -label.cpu.allocated = CPU asignado -label.cpu.allocated.for.VMs=CPU asignado para máquinas virtuales -label.cpu.mhz = CPU (en MHZ) -label.cpu.utilized=CPU Utilizado -label.created = creación -label.cross.zones = Cruz Zonas -label.custom.disk.size = Personal Disk Size -label.daily = diario -label.data.disk.offering=Datos Disco Offering -label.date = Fecha -label.day.of.month = Día del mes -label.day.of.week = día de la semana -label.delete = Eliminar -label.deleting.failed = No se pudo eliminar -label.deleting.processing = Eliminar .... -label.description = Descripción -label.detaching.disk = Extracción del disco -label.details = Detalles -label.device.id = ID de dispositivo -label.disabled = personas de movilidad reducida -label.disabling.vpn.access = Desactivación de VPN de acceso -label.disk.allocated = disco asignado -label.disk.offering = disco Ofrenda -label.disk.size = tamaño de disco -label.disk.size.gb = tamaño de disco (en GB) -label.disk.total = disco Total -label.disk.volume = volumen de disco -label.display.text = visualización de texto -label.dns.1 = DNS 1 -label.dns.2 = DNS 2 -label.domain = dominio -label.domain.admin = Administrador de dominio -label.domain.id = ID de dominio -label.domain.name = Nombre de dominio -label.double.quotes.are.not.allowed = comillas dobles no se permite -label.download.progress=Progreso de la descarga -label.edit = Editar -label.email = correo electrónico -label.enabling.vpn = Habilitación VPN -label.enabling.vpn.access = Habilitación de Acceso VPN -label.end.port = Puerto final -label.endpoint.or.operation = punto final o de Operación -label.error = Error -label.error.code = Código de error -label.esx.host = ESX / ESXi anfitrión -label.example = Ejemplo -label.failed = Error -label.featured = destacados -label.firewall = Servidor de seguridad -label.first.name = Nombre -label.format = Formato -label.friday = Viernes -label.full = completo -label.gateway = puerta de enlace -label.general.alerts = General de Alertas -label.generating.url = Generar URL -label.generating.url = Generar URL -label.go.step.2 = Ir al paso 2 -label.go.step.3 = Ir al paso 3 -label.go.step.4 = Ir al paso 4 -label.go.step.5 = Ir al paso 5 -label.group = Grupo -label.group.optional = Grupo (Opcional) -label.guest.cidr = Habitación CIDR -label.guest.gateway = Habitación Gateway -label.guest.ip = Habitación dirección IP -label.guest.ip.range = Habitación Rango de IP -label.guest.netmask = Habitación máscara de red -label.ha.enabled = HA Activado -label.help = Ayuda -label.host = Ejércitos -label.host.alerts = Host Alertas -label.host.name = nombre de host -label.hosts = Ejércitos -label.hourly = por hora -label.hypervisor = Hypervisor -label.hypervisor.type = Tipo Hypervisor -label.id = ID -label.info = Información -label.ingress.rule = ingreso Regla -label.initiated.by = Iniciado por -label.instance = Instancia -label.instance.limits = Instancia Límites -label.instance.name = Nombre de instancia -label.instances = Instancias -label.internal.dns.1 = DNS interno una -label.internal.dns.2 = DNS interno 2 -label.interval.type = Tipo de intervalo -label.invalid.integer = entero no válido -label.invalid.number = Número no válido -label.ip = IP -label.ip.address = Dirección IP -label.ip.allocations = IP asignaciones -label.ip.limits = IP pública Límites -label.ip.or.fqdn = IP o FQDN -label.ip.range = Rango de IP -label.ips = IP -label.is.default = Es por defecto -label.is.shared = es compartido -label.is.system = es el Sistema -label.iscsi = iSCSI -label.iso = ISO -label.iso.boot = ISO de arranque -label.isolation.mode=modo de aislamiento -label.keep = Mantener -label.lang.chinese = Chino (simplificado) -label.lang.english = Inglés -label.lang.japanese = japonés -label.lang.spanish = Español -label.last.disconnected = Última Desconectado -label.last.name = Apellido -label.level = Nivel -lable.linklocal.ip=Enlace adddress IP local -label.load.balancer = equilibrador de carga -label.loading = Carga -label.local = local -label.login = Login -label.logout = Cerrar sesión -label.lun = LUN -label.manage = Administrar -label.maximum = máximo -label.memory = Memoria -label.memory.allocated = memoria asignada -label.memory.mb = memoria (en MB) -label.memory.total = Total de memoria -label.memory.used = memoria usada -label.menu.accounts = Cuentas -label.menu.alerts = Alertas -label.menu.all.accounts = Todas las cuentas -label.menu.all.instances = todas las instancias -label.menu.community.isos = Comunidad ISOs -label.menu.community.templates = plantillas de la comunidad -label.menu.configuration = Configuración -label.menu.dashboard = Interfaz -label.menu.destroyed.instances = Destruir instancias -label.menu.disk.offerings = disco ofertas -label.menu.domains = dominio -label.menu.events = Eventos -label.menu.featured.isos = destacados ISO -label.menu.featured.templates = destacados plantillas -label.menu.global.settings = Configuración global -label.menu.instances = Instancias -label.menu.ipaddresses = Direcciones IP -label.menu.isos = ISO -label.menu.my.accounts = Mis cuentas -label.menu.my.instances = Mi instancias -label.menu.my.isos = Mi ISOs -label.menu.my.templates = Mis plantillas -label.menu.network = Red -label.menu.network.offerings = Red de ofertas -label.menu.physical.resources = Recursos Físicos -label.menu.running.instances = Ejecución de instancias -label.menu.security.groups = Grupos de seguridad -label.menu.service.offerings = Ofertas de Servicios -label.menu.snapshots = instantáneas -label.menu.stopped.instances = Detenido instancias -label.menu.storage = Almacenamiento -label.menu.system = Sistema -label.menu.system.vms = Sistema de máquinas virtuales -label.menu.templates = plantillas -label.menu.virtual.appliances = Virtual Appliances -label.menu.virtual.resources = Virtual de Recursos -label.menu.volumes = Volúmenes -label.migrate.instance.to = Migración de ejemplo para -label.minimum = Mínimo -label.minute.past.hour = Minuto (s) después de la hora -label.monday = lunes -label.monthly = mensual -label.more.templates plantillas = Más -label.my.account = Mi Cuenta -label.name = Nombre -label.name.optional = Nombre (Opcional) -label.netmask = máscara de red -label.network = Red -label.network.desc = Red de Desc -label.network.domain = Red de dominio -label.network.id = ID de red -label.network.name = Nombre de red -label.network.offering = Red ofrece -label.network.offering.display.text = Red ofrece visualización de texto -label.network.offering.id = Red ofrece ID -label.network.offering.name = Red ofrece Nombre -label.network.rate = Tasa de Red -label.network.read = Leer de la red -label.network.type = Tipo de red -label.network.write = Escribir en la red -label.new.password = Nueva contraseña -label.next = Siguiente -label.nfs = NFS -label.nfs.server = servidor NFS -label.nfs.storage = NFS Almacenamiento -label.nics = NIC -label.no = No -label.no.actions = No Acciones disponibles -label.no.alerts = No alertas recientes -label.no.errors = No recientes errores -label.no.isos = No ISOs disponibles -label.no.items = No artículos disponibles -label.no.security.groups = No hay grupos disponibles de Seguridad -label.no.thanks = No, gracias -label.none=Ninguno -label.not.found=No se ha encontrado -label.num.cpu.cores = número de núcleos de CPU -label.numretries = Número de reintentos -label.offer.ha = Oferta HA -label.optional = Opcional -label.os.preference = OS Preferencia -label.os.type = tipo de Sistema Operativo -label.owned.public.ips = propiedad pública Direcciones IP -label.owner.account = titular de la cuenta -label.owner.domain = Propietario de Dominio -label.parent.domain = Padres de dominio -label.password = Contraseña -label.password.enabled = Contraseña Activado -label.path = Ruta -label.please.wait = Por favor espere -label.pod = Pod -label.port.forwarding = Port Forwarding -label.port.range = rango de puertos -label.prev = Anterior -label.primary.allocated = primaria asignado de almacenamiento -label.primary.network = Red Primaria -label.primary.storage = Almacenamiento Primario -label.primary.used = Primaria Almacenado -label.private.interface = Interfaz privada -label.private.ip = dirección IP privada -label.private.ip.range = IP privada Gama -label.private.ips = direcciones IP privadas -label.private.port = Puerto privado -label.private.zone = Zona Privada -label.protocol = Protocolo -label.protocol = Protocolo -label.public = Pública -label.public.interface = interfaz pública -label.public.ip = dirección IP pública -label.public.ips = direcciones IP públicas -label.public.port = Puerto Público -label.public.zone = Zona Pública -label.recent.errors = recientes errores -label.refresh = Actualizar -label.related = relacionados -label.remove.from.load.balancer = ejemplo Eliminación de equilibrador de carga -label.removing.user = Eliminar usuario -label.required = Requerido -label.reserved.system.ip = Reservados sistema de PI -label.resource = Recursos -label.resource.limits = Límites de Recursos -label.resources = Recursos -label.role = Papel -label.root.disk.offering=Root Disco Offering -label.running.vms = Ejecución de máquinas virtuales -label.saturday = sábado -label.save = Guardar -label.saving.processing = ahorro .... -label.scope = Alcance -label.search = Buscar -label.secondary.storage = Almacenamiento secundario -label.secondary.used = Secundaria Almacenado -label.secret.key = clave secreta -label.security.group = Grupo de Seguridad -label.security.group.name = Nombre de grupo de seguridad -label.security.groups = Grupos de seguridad -label.security.groups.enabled=Los grupos de seguridad habilitado -label.sent = Enviados -label.server = Servidor -label.service.offering = Oferta de Servicio -label.session.expired=Session Caducado -label.shared = compartidas -label.size = Tamaño -label.snapshot = Instantánea -label.snapshot.limits = instantáneas Límites -label.snapshot.name = Nombre de instantáneas -label.snapshot.s = Instantánea (s) -label.snapshot.schedule = Lista de instantáneas -label.snapshots = instantáneas -label.source.nat = NAT Fuente -label.specify.vlan = Especifique VLAN -label.start.port = Iniciar Puerto -label.state = Estado -label.static.nat = NAT estática -label.static.nat.to = estático NAT para -label.statistics = Estadísticas -label.status = Estado -label.step.1 = Paso 1 -label.step.1.title = Paso 1: Seleccione una plantilla -label.step.2 = Paso 2 -label.step.2.title = Paso 2: Oferta de Servicio -label.step.3 = Paso 3 -label.step.3.title = Paso 3: Seleccione un disco Ofrenda -label.step.4 = Paso 4 -label.step.4.title = Paso 4: Red -label.step.5 = Paso 5 -label.step.5.title = Paso 5: Revisión -label.stopped.vms = Detenido máquinas virtuales -label.storage = Almacenamiento -label.storage.type = Tipo de almacenamiento -label.submit = Enviar -label.submitted.by = [Enviado por: ] -label.succeeded = Sucesor -label.sunday = domingo -label.system.capacity = Capacidad de todo el sistema -label.system.vm = Sistema de VM -label.system.vm.type = Tipo de sistema VM -label.system.vm.type = Tipo de sistema VM -label.system.vms = Sistema de máquinas virtuales -label.tagged = etiqueta -label.tags = Etiquetas -label.target.iqn = Objetivo IQN -label.template = plantilla -label.template.limits = Plantilla Límites -label.theme.default =Tema Por Defecto -label.theme.grey =Personal - Gris -label.theme.lightblue=Personal - Azul -label.thursday = Jueves -label.time = Tiempo -label.time.zone = Zona horaria -label.timeout.in.second = Tiempo de espera (segundos) -label.timezone = Zona horaria -label.total.cpu=Total CPU -label.total.vms = Total de máquinas virtuales -label.traffic.type = Tipo de Tráfico -label.tuesday = martes -label.type = Tipo -label.type.id = Tipo de identificación -label.unavailable = no disponible -label.unlimited=Unlimited -label.untagged = sin etiquetar -label.update.ssl = Actualizar certificado SSL -label.update.ssl.cert = Actualizar certificado SSL -label.updating = Actualizar -label.url = URL -label.usage.interface = Interfaz de uso -label.used = Usado -label.user = Usuario -label.username = Nombre de usuario -label.users = usuario -label.value = Valor -label.vcenter.cluster = vCenter clúster -label.vcenter.datacenter = vCenter de centros de datos -label.vcenter.datastore = vCenter almacén de datos -label.vcenter.host = vCenter anfitrión -label.vcenter.password = vCenter Contraseña -label.vcenter.username = vCenter Nombre de usuario -label.version = Versión -label.virtual.appliance = Virtual Appliance -label.virtual.appliances = Virtual Appliances -label.virtual.network = Red Virtual -label.vlan = VLAN -label.vlan.id = ID de VLAN -label.vlan.range = VLAN Gama -label.vm.add = Añadir Instancia -label.vm.destroy = Destroy -label.vm.reboot = Reiniciar -label.vm.start = Inicio -label.vm.stop = Detener -label.vmfs = VMFS -label.vms = VM -label.volume = Volumen -label.volume.limits = límites de volumen -label.volume.name = Nombre de Volumen -label.volumes = Volúmenes -label.vpn = VPN -label.vsphere.managed Gestionado = vSphere -label.waiting = Esperando -label.warn = Advertir -label.wednesday = miércoles -label.weekly = Semanal -label.welcome = Bienvenido -label.welcome.cloud.console = Bienvenido a la consola de administración -label.yes = Sí -label.zone = Zona -label.zone.id = Zona de identificación -label.zone.step.1.title = Paso 1: Seleccione una red -label.zone.step.2.title = Paso 2: Añadir una zona -label.zone.step.3.title = Paso 3: Añadir una vaina -label.zone.step.4.title = Paso 4: Añadir un rango de IP -label.zone.wide = Zona para todo el - -#Messages -message.acquire.public.ip = Por favor seleccione una zona de la que desea adquirir su nueva IP. -message.action.cancel.maintenance = Su acogida ha sido cancelado con éxito para el mantenimiento. Este proceso puede tardar hasta varios minutos. -message.action.cancel.maintenance.mode = Por favor, confirme que desea cancelar el mantenimiento -message.action.delete.ISO = Por favor, confirme que desea eliminar la norma ISO -message.action.delete.ISO.for.all.zones = La ISO es utilizado por todas las zonas. Por favor, confirme que desea eliminar de todas las zonas. -message.action.delete.cluster = Por favor, confirme que desea eliminar del clúster -message.action.delete.disk.offering = Por favor, confirme que desea eliminar ofreciendo disco -message.action.delete.domain = Por favor, confirme que desea eliminar de dominio -message.action.delete.external.firewall = Por favor, confirme que desea quitar este servidor de seguridad externo. Advertencia: Si usted está planeando volver a agregar el servidor de seguridad externo mismo, debe restablecer los datos de uso en el dispositivo. -message.action.delete.external.load.balancer = Por favor, confirme que desea eliminar este equilibrador de carga externa. Advertencia: Si usted está planeando volver a agregar la misma equilibrador de carga externo, debe restablecer los datos de uso en el dispositivo. -message.action.delete.ingress.rule = Por favor, confirme que desea eliminar la regla de ingreso -message.action.delete.network = Por favor, confirme que desea eliminar de la red -message.action.delete.pod = Por favor, confirme que desea eliminar de la vaina -message.action.delete.primary.storage = Por favor, confirme que desea eliminar el almacenamiento primario -message.action.delete.secondary.storage = Por favor, confirme que desea eliminar de almacenamiento secundario -message.action.delete.security.group = Por favor, confirme que desea eliminar el grupo de seguridad -message.action.delete.service.offering = Por favor, confirme que desea eliminar oferta de servicios -message.action.delete.snapshot = Por favor, confirme que desea eliminar instantáneas -message.action.delete.template = Por favor, confirme que desea eliminar la plantilla -message.action.delete.template.for.all.zones = La plantilla es utilizada por todas las zonas. Por favor, confirme que desea eliminar de todas las zonas. -message.action.delete.volume = Por favor, confirme que desea eliminar el volumen -message.action.delete.zone = Por favor, confirme que desea eliminar la zona -message.action.destroy.instance = Por favor, confirme que desea destruir ejemplo -message.action.destroy.systemvm = Por favor, confirme que desea destruir la máquina virtual del sistema. -message.action.disable.static.NAT = Por favor, confirme que desea desactivar NAT estática -message.action.enable.maintenance = Su acogida ha sido preparado con éxito para el mantenimiento. Este proceso puede tardar hasta varios minutos o más dependiendo de cómo las máquinas virtuales se encuentran actualmente en este servidor. -message.action.force.reconnect = Por favor, confirme que desea forzar una reconexión para el anfitrión -message.action.force.reconnect = Su acogida ha sido obligado a volver a conectar con éxito. Este proceso puede tardar hasta varios minutos. -message.action.host.enable.maintenance.mode mode = mantenimiento de Habilitación provocará una migración en vivo de todas las instancias que se ejecutan en el sistema para cualquier máquina disponible. -message.action.instance.reset.password = Por favor, confirme que desea cambiar la contraseña de root para esta máquina virtual. -message.action.primarystorage.enable.maintenance.mode = Advertencia: colocar el almacenamiento principal en modo de mantenimiento hará que todas las máquinas virtuales utilizando volúmenes de que sea detenido. ¿Desea continuar? -message.action.reboot.instance = Por favor, confirme que desea reiniciar el ejemplo -message.action.reboot.router = Por favor, confirme que desea reiniciar el router -message.action.reboot.systemvm = Por favor, confirme que desea reiniciar el sistema VM -message.action.release.ip = Por favor, confirme que desea liberar IP -message.action.remove.host = Extracción último / único huésped en el grupo y volver a instalar el huésped va a destruir el medio ambiente de trabajo / base de datos en el host y hacer que la movilidad virtual inutilizable. -message.action.restore.instance = Por favor, confirme que desea restaurar ejemplo -message.action.start.instance = Por favor, confirme que desea iniciar la instancia -message.action.start.router = Por favor, confirme que desea iniciar router -message.action.start.systemvm = Por favor, confirme que desea iniciar el sistema VM -message.action.stop.instance = Por favor, confirme que desea detener la instancia -message.action.stop.router = Por favor, confirme que desea detener router -message.action.stop.systemvm = Por favor, confirme que desea detener sistema VM -message.action.take.snapshot = Por favor, confirme que desea tomar instantáneas -message.add.cluster = Añadir un hipervisor administradas por clúster de zona , la consola de -message.add.cluster.zone = Añadir un hipervisor administradas por clúster de zona -message.add.disk.offering = Por favor, especifique los parámetros siguientes para agregar un nuevo disco que ofrece -message.add.firewall = Añadir un servidor de seguridad a la zona -message.add.host = Por favor, especifique los parámetros siguientes para agregar un nuevo host -message.add.ip.range = Añadir un rango de IP a la red pública en la zona -message.add.ip.range.direct.network = Añadir un rango de IP para dirigir red en la zona -message.add.ip.range.to.pod =

Añadir un rango de IP de la vaina:

-message.add.load.balancer = Añadir un equilibrador de carga a la zona -message.add.network = Agregar una nueva red para la zona: -message.add.pod = Agregar una vaina nueva zona -message.add.primary = Por favor, especifique los parámetros siguientes para agregar un nuevo almacenamiento primario -message.add.primary.storage = Agregar una nueva almacenamiento primario para zona , la consola de -message.add.secondary.storage = Añadir un nuevo almacenamiento de zona -message.add.service.offering = Por favor, rellene los siguientes datos para agregar una nueva oferta de servicio. -message.add.template = Por favor ingrese los siguientes datos para crear la nueva plantilla -message.add.volume = Por favor, rellene los siguientes datos para agregar un nuevo volumen. -message.additional.networks.desc = Por favor seleccione de red adicionales (s) que la instancia virtual estará conectado. -message.advanced.mode.desc = Seleccione este modelo de red si desea habilitar soporte VLAN. Este modelo de red proporciona la máxima flexibilidad al permitir a los administradores proporcionar ofertas personalizadas de la red como el suministro de firewall, VPN, o el apoyo equilibrador de carga, así como permitir vs directa de redes virtuales. -message.advanced.security.group = Elija esta opción si desea utilizar grupos de seguridad para proporcionar resultados de aislamiento VM. -message.advanced.virtual = Elija esta opción si desea utilizar VLAN toda la zona para proporcionar el aislamiento VM invitado. -message.allow.vpn.access = Por favor, introduzca un nombre de usuario y la contraseña del usuario que desea permitir el acceso de VPN. -message.attach.iso.confirm = Por favor, confirme que desea conectar el ISO a la instancia virtual -message.attach.volume = Por favor, rellene los siguientes datos para fijar un nuevo volumen. Si está colocando un volumen de disco a una máquina virtual de Windows basado, usted tendrá que reiniciar la instancia para ver el disco adjunto. -message.basic.mode.desc = Seleccione este modelo de red si lo haces * no * desea habilitar cualquier soporte VLAN. Todas las instancias virtuales creados en virtud de este modelo de red se le asignará una dirección IP directamente desde la red y grupos de seguridad se utilizan para proporcionar la seguridad y la segregación. -message.change.offering.confirm = Por favor, confirme que desea cambiar la oferta de servicio de la instancia virtual. -message.copy.iso.confirm = Por favor, confirme que desea copiar el ISO a -message.copy.template = Copia plantilla XXX de la zona -message.create.template.vm = Crear VM de la plantilla -message.create.template.volume = Por favor, especifique la siguiente información antes de crear una plantilla de su volumen de disco: . Creación de la plantilla puede oscilar entre varios minutos más, dependiendo del tamaño del volumen. -message.delete.account = Por favor, confirme que desea eliminar esta cuenta. -message.detach.iso.confirm = Por favor, confirme que desea quitar el ISO de la instancia virtual -message.disable.account = Por favor, confirme que desea deshabilitar esta cuenta. Al deshabilitar la cuenta, todos los usuarios de esta cuenta ya no tienen acceso a los recursos de su nube. Todas las máquinas virtuales en ejecución se cierre inmediatamente. -message.disable.vpn.access = Por favor, confirme que desea desactivar VPN de acceso. -message.download.ISO=Por favor, haga clic 00000 para descargar la ISO -message.download.template=Por favor, haga clic 00000 para descargar la plantilla -message.download.volume=Por favor, haga clic 00000 para bajar el volumen -message.edit.confirm = Por favor confirmar los cambios antes de hacer clic en "Guardar" -message.edit.limits = Por favor, especifique los límites de los recursos siguientes. A "-1" indica que no hay límite a la cantidad de los recursos de crear. -message.enable.account = Por favor, confirme que desea habilitar esta cuenta. -message.enable.vpn = VPN de acceso actualmente no está habilitado. Por favor, haga clic aquí para habilitar VPN. -message.enable.vpn.access VPN = está desactivado para esta dirección IP. ¿Te gustaría que permitan el acceso VPN? -message.enabled.vpn = Su acceso a la VPN está habilitado y se puede acceder a través de la IP -message.enabled.vpn.ip.sec = La clave pre-compartida IPSec es -message.launch.vm.on.private.network = ¿Desea iniciar su ejemplo en su propia red privada dedicada? -message.lock.account = Por favor, confirme que desea bloquear esta cuenta. Al bloquear la cuenta, todos los usuarios de esta cuenta ya no será capaz de gestionar sus recursos de la nube. Los recursos existentes todavía se puede acceder. -message.migrate.instance.confirm = Por favor, confirme el anfitrión desea migrar la instancia virtual. -message.new.user = Especifique lo siguiente para agregar un nuevo usuario a la cuenta -message.no.network.support = El hipervisor seleccionado, vSphere, no tiene funciones de red adicionales. Por favor, continúe con el paso 5. -message.no.network.support.configuration.not.true = Usted no tiene ninguna zona que ha permitido a grupo de seguridad. Por lo tanto, no hay funciones de red adicionales. Por favor, continúe con el paso 5. -message.number.clusters =

# de Grupos

-message.number.hosts =

# de Anfitrión

-message.number.pods =

# de Las vainas

-message.number.storage =

# de Almacenamiento primario

-message.number.zones =

# de Zonas

-message.remove.vpn.access = Por favor, confirme que desea eliminar el acceso VPN desde el siguiente usuario -message.restart.mgmt.server = Por favor, reinicie el servidor de administración (s) para la nueva configuración surta efecto. -message.security.group.usage = (Uso pulse Ctrl para seleccionar todos los grupos de seguridad se aplica) -message.snapshot.schedule = Puede horarios de configuración recurrente instantáneas mediante la selección de las opciones disponibles a continuación y la aplicación de su preferencia política -message.step.1.continue = Por favor seleccione una plantilla o ISO para continuar -message.step.1.desc = Por favor seleccione una plantilla para la instancia virtual. También puede optar por seleccionar una plantilla en blanco desde el que puede ser una imagen ISO instalado en. -message.step.2.continue = Por favor seleccione una oferta de servicio para continuar -message.step.2.desc = -message.step.3.continue = Por favor seleccione una oferta en disco para continuar -message.step.3.desc = -message.step.4.continue = Por favor seleccione al menos una red social para continuar -message.step.4.desc = Por favor, seleccione la red primaria que la instancia virtual estará conectado. -message.update.os.preference = Por favor seleccione un sistema operativo de preferencia para este equipo. Todas las instancias virtuales con preferencias similares serán los primeros asignados a este equipo antes de elegir otro. -message.update.ssl = Por favor, envíe una nueva X.509 compatible con certificado SSL que se actualizará a cada instancia virtual de la consola del servidor proxy: -message.virtual.network.desc = Una red dedicada virtualizados para su cuenta. El dominio de difusión está contenida dentro de una VLAN y todos los acceso a la red pública se encamina a cabo por un router virtual. -message.volume.create.template.confirm = Por favor, confirme que desea crear una plantilla para este volumen de disco. Creación de la plantilla puede oscilar entre varios minutos más, dependiendo del tamaño del volumen. -message.zone.step.1.desc = Por favor seleccione un modelo de red para su zona. -message.zone.step.2.desc = Por favor ingrese los siguientes datos para agregar una nueva zona -message.zone.step.3.desc = Por favor ingrese los siguientes datos para agregar una vaina nueva -message.apply.snapshot.policy = Ha actualizado su política instantánea actual. -message.disable.snapshot.policy = Ha desactivado su política instantánea actual. -message.action.change.service.warning = Su ejemplo debe ser detenido antes de intentar cambiar su oferta de servicios actual. -message.action.reset.password.warning = Su ejemplo debe ser detenido antes de intentar cambiar su contraseña actual. -message.action.reset.password.off = Su ejemplo en la actualidad no es compatible con esta función. - - -#Errors -error.login = Su nombre de usuario / contraseña no coincide con nuestros registros. -error.menu.select = No se puede realizar la acción debido a que no los artículos que son seleccionados. -error.mgmt.server.inaccessible = El Servidor de Gestión es inaccesible. Por favor, inténtelo de nuevo más tarde. -error.session.expired = Su sesión ha caducado. -error.unresolved.internet.name = El nombre de Internet no se puede resolver. +#cloudstack 3.0 (begin) ******************************************************************************************** +create.template.confirm = Por favor, confirme que desea crear una plantilla +create.template.success = Nueva plantilla se está creando +create.template.notification = Crear nueva plantilla +create.template.complete plantilla = se ha creado correctamente +#cloudstack 3.0 (end) ********************************************************************************************** + + + +#cloudstack 2.2.Y (begin) ****************************************************************************************** +label.action.migrate.router=migrar Router +label.action.migrate.router.processing=Migración router .... +message.migrate.router.confirm=Por favor, confirme el huésped que desea migrar el router: +label.migrate.router.to=Router para migrar + +label.action.migrate.systemvm=Migrar del sistema VM +label.action.migrate.systemvm.processing=La migración de VM del sistema .... +message.migrate.systemvm.confirm=Por favor, confirme el huésped que desea migrar la máquina virtual de sistema: +label.migrate.systemvm.to=Migrar máquina virtual del sistema para + + +mode=modo +side.by.side=Juntos +inline=en línea + +extractable=extraíble + +label.ocfs2=OCFS2 + +label.action.edit.host=edición Anfitrión + +network.rate=Tasa de red + +ICMP.type=Tipo ICMP +ICMP.code=ICMP Código + +image.directory=Directorio de la imagen + +label.action.create.template.from.vm=Crear plantilla de VM +label.action.create.template.from.volume=Crear plantilla de volumen + +message.vm.create.template.confirm=Crear plantilla de la máquina virtual se reiniciará automáticamente. + +label.action.manage.cluster=gestionar racimo +message.action.manage.cluster=Por favor, confirme que desea para administrar el clúster. +label.action.manage.cluster.processing=La gestión de clústeres .... + +label.action.unmanage.cluster=Unmanage racimo +message.action.unmanage.cluster=Por favor, confirme que desea unmanage del clúster. +label.action.unmanage.cluster.processing=Unmanaging Grupo .... + +allocation.state=asignación del Estado +managed.state=Estado logró + +label.default.use=Usar por defecto +label.host.tags=etiquetas de la máquina + +label.cidr=CIDR +label.cidr.list=fuente CIDR + +label.storage.tags=Etiquetas de almacenamiento + +label.redundant.router=enrutador redundante +label.is.redundant.router=redundante + +force.delete=Fuerza Borrar +force.delete.domain.warning=Advertencia: Si elige esta opción, la supresión de todos los dominios secundarios y todas las cuentas asociadas y sus recursos. + +force.remove=Fuerza Retire +force.remove.host.warning=Advertencia: Si elige esta opción, CloudStack para detener la fuerza todas las máquinas virtuales en ejecución antes de retirar este host del clúster. + +force.stop=Grupo de Alto +force.stop.instance.warning=Advertencia: Obligar a una parada en este caso debería ser su última opción. Puede conducir a la pérdida de datos, así como un comportamiento incoherente del Estado de la máquina virtual. + +label.PreSetup=PreSetup +label.SR.name = SR Nombre de etiqueta +label.SharedMountPoint = SharedMountPoint +label.clvm=CLVM +label.volgroup=Volume Group +label.VMFS.datastore=VMFS de datos tienda + +label.network.device=De dispositivos de red +label.add.network.device=Añadir dispositivo de red +label.network.device.type=Tipo de red de dispositivos +label.DHCP.server.type=Tipo de servidor DHCP +label.Pxe.server.type=Tipo de servidor Pxe +label.PING.storage.IP=PING almacenamiento IP +label.PING.dir=PING Directorio +label.TFTP.dir=Directorio de TFTP +label.PING.CIFS.username=PING CIFS nombre de usuario +label.PING.CIFS.password=PING CIFS contraseña +label.CPU.cap=CPU Cap + +label.network.domain=red de dominio + +label.action.enable.zone=Habilitar la zona +label.action.enable.zone.processing = Habilitación de zona .... +message.action.enable.zone = Por favor, confirme que desea habilitar esta zona. +label.action.disable.zone = Deshabilitar la zona +label.action.disable.zone.processing = Desactivación de la zona .... +message.action.disable.zone = Por favor, confirme que desea desactivar esta zona. + +label.action.enable.pod = Habilitar Pod +label.action.enable.pod.processing = Habilitación Pod .... +message.action.enable.pod = Por favor, confirme que desea habilitar esta vaina. +label.action.disable.pod = Deshabilitar Pod +label.action.disable.pod.processing = Deshabilitar Pod .... +message.action.disable.pod = Por favor, confirme que desea desactivar esta vaina. + +label.action.enable.cluster = Habilitar clúster +label.action.enable.cluster.processing = Habilitar clúster .... +message.action.enable.cluster = Por favor, confirme que desea habilitar este grupo. +label.action.disable.cluster = Deshabilitar clúster +label.action.disable.cluster.processing = Desactivación de Cluster Server .... +message.action.disable.cluster = Por favor, confirme que desea desactivar este grupo. + +label.account = Cuenta +label.account.id = ID de la cuenta +label.account.name = Nombre de la cuenta +label.account.specific = específicas de la cuenta +label.accounts = Cuentas +label.acquire.new.ip = adquirir nuevas IP +label.show.ingress.rule=Mostrar la regla del ingreso +label.hide.ingress.rule=Ocultar el artículo ingreso +label.action.attach.disk = Conecte el disco +label.action.attach.disk.processing = disco Fijación .... +label.action.attach.iso = Adjuntar ISO +label.action.attach.iso.processing = Colocación de la norma ISO .... +label.action.cancel.maintenance.mode = Cancelar modo de mantenimiento +label.action.cancel.maintenance.mode.processing = Cancelación del modo de mantenimiento .... +label.action.change.password = Cambiar contraseña +label.action.change.service = Cambio de Servicio +label.action.change.service.processing = Cambio de servicio .... +label.action.copy.ISO = Copia de la ISO +label.action.copy.ISO.processing = hacer frente ISO .... +label.action.copy.template = Copia de plantilla +label.action.copy.template.processing = hacer frente plantilla .... +label.action.create.template = Crear plantilla +label.action.create.template.processing = Creación de plantillas .... +label.action.create.vm = Crear VM +label.action.create.vm.processing = Creación de máquina virtual .... +label.action.create.volume = Crear volumen +label.action.create.volume.processing = Crear volumen .... +label.action.delete.IP.range = Eliminar Rango de IP +label.action.delete.IP.range.processing = Eliminar Rango de IP .... +label.action.delete.ISO = Eliminar ISO +label.action.delete.ISO.processing = Eliminación de la norma ISO .... +label.action.delete.account = Eliminar cuenta +label.action.delete.account.processing = Eliminar cuentas .... +label.action.delete.cluster = Borrar Grupo +label.action.delete.cluster.processing = Borrar Grupo .... +label.action.delete.disk.offering = Borrar disco Ofrenda +label.action.delete.disk.offering.processing = Borrar disco ofrece .... + +label.action.update.resource.count=Actualización de recursos Conde +label.action.update.resource.count.processing=Actualización de Conde de recursos .... + +label.action.delete.domain = Eliminar de dominio +label.action.delete.domain.processing = Eliminación de dominio .... +label.action.delete.firewall = Eliminar servidor de seguridad +label.action.delete.firewall.processing = Eliminación de firewall .... +label.action.delete.ingress.rule = Borrar ingreso Regla +label.action.delete.ingress.rule.processing = Eliminación de ingreso regla .... +label.action.delete.load.balancer = Eliminar equilibrador de carga +label.action.delete.load.balancer.processing = Eliminación del equilibrador de carga .... +label.action.edit.network=Edición de redes +label.action.delete.network = Eliminar Red +label.action.delete.network.processing = Eliminación de red .... +label.action.delete.pod = Eliminar Pod +label.action.delete.pod.processing = Eliminar Pod .... +label.action.delete.primary.storage = Almacenamiento primario Eliminar +label.action.delete.primary.storage.processing = Eliminación de almacenamiento primaria .... +label.action.delete.secondary.storage = secundaria almacenamiento Eliminar +label.action.delete.secondary.storage.processing = Eliminación de almacenamiento secundario .... +label.action.delete.security.group = Borrar Grupo de Seguridad +label.action.delete.security.group.processing = Eliminar grupo de seguridad .... +label.action.delete.service.offering = Eliminar Oferta de Servicio +label.action.delete.service.offering.processing = Eliminación de Oferta de Servicio .... +label.action.delete.snapshot = Eliminar instantánea +label.action.delete.snapshot.processing = Eliminar instantánea .... +label.action.delete.template = Eliminar plantilla +label.action.delete.template.processing = Eliminar plantilla .... +label.action.delete.user = Eliminar usuario +label.action.delete.user.processing = Eliminar usuario .... +label.action.delete.volume = Eliminar volumen +label.action.delete.volume.processing = Eliminar volumen .... +label.action.delete.zone = Eliminar Zona +label.action.delete.zone.processing = Eliminación de la Zona .... +label.action.destroy.instance = Destruye Instancia +label.action.destroy.instance.processing = Destrucción Instancia .... +label.action.destroy.systemvm = destruir el sistema VM +label.action.destroy.systemvm.processing = Destrucción del sistema VM .... +label.action.detach.disk = Separar disco +label.action.detach.disk.processing = Extracción disco .... +label.action.detach.iso = Separar ISO +label.action.detach.iso.processing = Extracción ISO .... +label.action.disable.account = Desactivar cuenta +label.action.disable.account.processing = Deshabilitar cuenta .... +label.action.disable.static.NAT = Deshabilitar NAT estática +label.action.disable.static.NAT.processing = Deshabilitar NAT estática .... +label.action.disable.user = Deshabilitar usuario +label.action.disable.user.processing = Desactivación de usuario .... +label.action.download.ISO = ISO Descargar +label.action.download.template = Descargar plantilla +label.action.download.volume = Descargar Volumen +label.action.download.volume.processing = Volumen Descargar .... +label.action.edit.ISO = Editar ISO +label.action.edit.account = Editar cuenta +label.action.edit.disk.offering = Editar disco Ofrenda +label.action.edit.domain = Editar Dominio +label.action.edit.global.setting = Editar Mundial Marco +label.action.edit.instance = Editar Instancia +label.action.edit.network.offering = Editar Red ofrece +label.action.edit.pod = Editar Pod +label.action.edit.primary.storage = Editar Almacenamiento primario +label.action.edit.resource.limits = Editar límites de recursos +label.action.edit.service.offering = Editar Oferta de Servicio +label.action.edit.template = Editar plantilla +label.action.edit.user = Editar usuario +label.action.edit.zone = Edición Zona +label.action.enable.account = Habilitar cuenta +label.action.enable.account.processing = cuenta de Habilitación .... +label.action.enable.maintenance.mode = Activar el modo de mantenimiento +label.action.enable.maintenance.mode.processing = Habilitación del modo de mantenimiento .... +label.action.enable.static.NAT = Habilitar NAT estática +label.action.enable.static.NAT.processing = Habilitar NAT estática .... +label.action.enable.user = usuario Activar +label.action.enable.user.processing = Habilitación del usuario .... +label.action.force.reconnect = Fuerza Vuelva a conectar +label.action.force.reconnect.processing = Reconectando .... +label.action.generate.keys = Generar Claves +label.action.generate.keys.processing = Generar claves .... +label.action.lock.account = Bloqueo de cuenta +label.action.lock.account.processing = Bloqueo de cuenta .... +label.action.migrate.instance = Migrar Instancia +label.action.migrate.instance.processing = Migrar Instancia .... +label.action.reboot.instance = Reiniciar Instancia +label.action.reboot.instance.processing = Reiniciar Instancia .... +label.action.reboot.router = Reiniciar router +label.action.reboot.router.processing = Reiniciar router .... +label.action.reboot.systemvm = Reiniciar sistema VM +label.action.reboot.systemvm.processing = reinicio del sistema VM .... +label.action.recurring.snapshot = recurrente instantáneas +label.action.release.ip = estreno IP +label.action.release.ip.processing = Liberar IP .... +label.action.remove.host = Quitar host +label.action.remove.host.processing = Extracción de host .... +label.action.reset.password = Restablecer contraseña +label.action.reset.password.processing = Restablecimiento de la contraseña .... +label.action.resource.limits = Recursos límites +label.action.restore.instance = Restaurar Instancia +label.action.restore.instance.processing = Restaurar Instancia .... +label.action.start.instance = Iniciar Instancia +label.action.start.instance.processing = A partir Instancia .... +label.action.start.router = inicio del router +label.action.start.router.processing = A partir del router .... +label.action.start.systemvm = Inicio del sistema VM +label.action.start.systemvm.processing = A partir del sistema VM .... +label.action.stop.instance = Detener Instancia +label.action.stop.instance.processing = Detener Instancia .... +label.action.stop.router = Detener router +label.action.stop.router.processing = Detener router .... +label.action.stop.systemvm = parada del sistema VM +label.action.stop.systemvm.processing = Detener sistema VM .... +label.action.take.snapshot = Tomar instantánea +label.action.take.snapshot.processing = Tomar instantáneas .... +label.action.update.OS.preference = Actualizar OS Preferencia +label.action.update.OS.preference.processing = Actualización de sistema operativo preferencia .... +label.actions = Acciones +label.active.sessions = Sesiones activas +label.add = Agregar +label.add.account = Añadir cuenta +label.add.by.cidr = Añadir Por CIDR +label.add.by.group = Añadir Por el Grupo de +label.add.cluster = Añadir Grupo +label.add.direct.iprange = Añadir Direct IP Gama +label.add.disk.offering = Añadir disco Ofrenda +label.add.domain = Agregar dominio +label.add.firewall = Agregar Servidor de seguridad +label.add.host = Agregar host +label.add.ingress.rule = Añadir regla del ingreso +label.add.ip.range = Añadir Rango de IP +label.add.iso = Añadir ISO +label.add.load.balancer = Añadir equilibrador de carga +label.add.more = Añadir más +label.add.network = Agregar sitios de red +label.add.pod = Añadir Pod +label.add.primary.storage = Añadir Almacenamiento primario +label.add.secondary.storage = Añadir secundaria almacenamiento +label.add.security.group = Agregar grupo de seguridad +label.add.service.offering = Añadir Servicio de Oferta +label.add.template = Añadir plantilla +label.add.user = Agregar usuario +label.add.vlan = Añadir VLAN +label.add.volume = Añadir volumen +label.add.zone = Añadir Zona +label.adding = Agregar +label.adding.cluster = Adición de clúster +label.adding.failed = No se pudo agregar +label.adding.pod = Agregar Pod +label.adding.processing = Añadir .... +label.adding.succeeded = Agregar Sucesor +label.adding.user = Agregar usuario +label.adding.zone = Agregar la zona +label.additional.networks = Redes adicional +label.admin = Admin +label.admin.accounts = Administrador de Cuentas +label.advanced = Avanzado +label.advanced.mode = Modo avanzado +label.advanced.search = Búsqueda Avanzada +label.alert=Alerta +label.algorithm = Algoritmo +label.allocated = Asignados +label.api.key = clave de API +label.assign = Asignar +label.assign.to.load.balancer = instancia de Asignación de equilibrador de carga +label.associated.network.id = ID de red asociados +label.attached.iso = adjunta ISO +label.availability = Disponibilidad +label.availability.zone = Disponibilidad de la zona +label.available = Disponible +label.available.public.ips = Disponible direcciones IP públicas +label.back = Volver +label.basic.mode = Modo básico +label.bootable = arranque +label.broadcast.domain.type = Tipo de dominio de difusión +label.by.account = Por Cuenta +label.by.availability = Por Disponibilidad +label.by.domain = Por dominio +label.by.end.date = Por Fecha de finalización +label.by.level = por Nivel +label.by.pod = Por Pod +label.by.role = por función +label.by.start.date = Por Fecha de inicio +label.by.state = Por Estado +label.by.traffic.type = Por tipo de tráfico +label.by.type = Por tipo +label.by.type.id = Por tipo de identificación +label.by.zone = Por Zona +label.bytes.received = Bytes recibidos +label.bytes.sent = Bytes enviados +label.cancel = Cancelar +label.certificate = Certificado +label.privatekey=PKCS#8 la clave privada +label.domain.suffix=DNS sufijo de dominio (es decir, xyz.com) +label.character = Personaje +label.cidr.account = CIDR o de cuenta / Grupo de Seguridad +label.close = Cerrar +label.cloud.console = Cloud Management Console +label.cloud.managed = Cloud.com Gestionado +label.cluster = Grupo +label.cluster.type = Tipo de Cluster Server +label.code = Código +label.confirmation=Confirmation +label.cpu = CPU +label.cpu.allocated = CPU asignado +label.cpu.allocated.for.VMs=CPU asignado para máquinas virtuales +label.cpu.mhz = CPU (en MHZ) +label.cpu.utilized=CPU Utilizado +label.created = creación +label.cross.zones = Cruz Zonas +label.custom.disk.size = Personal Disk Size +label.daily = diario +label.data.disk.offering=Datos Disco Offering +label.date = Fecha +label.day.of.month = Día del mes +label.day.of.week = día de la semana +label.delete = Eliminar +label.deleting.failed = No se pudo eliminar +label.deleting.processing = Eliminar .... +label.description = Descripción +label.detaching.disk = Extracción del disco +label.details = Detalles +label.device.id = ID de dispositivo +label.disabled = personas de movilidad reducida +label.disabling.vpn.access = Desactivación de VPN de acceso +label.disk.allocated = disco asignado +label.disk.offering = disco Ofrenda +label.disk.size = tamaño de disco +label.disk.size.gb = tamaño de disco (en GB) +label.disk.total = disco Total +label.disk.volume = volumen de disco +label.display.text = visualización de texto +label.dns.1 = DNS 1 +label.dns.2 = DNS 2 +label.domain = dominio +label.domain.admin = Administrador de dominio +label.domain.id = ID de dominio +label.domain.name = Nombre de dominio +label.double.quotes.are.not.allowed = comillas dobles no se permite +label.download.progress=Progreso de la descarga +label.edit = Editar +label.email = correo electrónico +label.enabling.vpn = Habilitación VPN +label.enabling.vpn.access = Habilitación de Acceso VPN +label.end.port = Puerto final +label.endpoint.or.operation = punto final o de Operación +label.error = Error +label.error.code = Código de error +label.esx.host = ESX / ESXi anfitrión +label.example = Ejemplo +label.failed = Error +label.featured = destacados +label.firewall = Servidor de seguridad +label.first.name = Nombre +label.format = Formato +label.friday = Viernes +label.full = completo +label.gateway = puerta de enlace +label.general.alerts = General de Alertas +label.generating.url = Generar URL +label.generating.url = Generar URL +label.go.step.2 = Ir al paso 2 +label.go.step.3 = Ir al paso 3 +label.go.step.4 = Ir al paso 4 +label.go.step.5 = Ir al paso 5 +label.group = Grupo +label.group.optional = Grupo (Opcional) +label.guest.cidr = Habitación CIDR +label.guest.gateway = Habitación Gateway +label.guest.ip = Habitación dirección IP +label.guest.ip.range = Habitación Rango de IP +label.guest.netmask = Habitación máscara de red +label.ha.enabled = HA Activado +label.help = Ayuda +label.host = Ejércitos +label.host.alerts = Host Alertas +label.host.name = nombre de host +label.hosts = Ejércitos +label.hourly = por hora +label.hypervisor = Hypervisor +label.hypervisor.type = Tipo Hypervisor +label.id = ID +label.info = Información +label.ingress.rule = ingreso Regla +label.initiated.by = Iniciado por +label.instance = Instancia +label.instance.limits = Instancia Límites +label.instance.name = Nombre de instancia +label.instances = Instancias +label.internal.dns.1 = DNS interno una +label.internal.dns.2 = DNS interno 2 +label.interval.type = Tipo de intervalo +label.invalid.integer = entero no válido +label.invalid.number = Número no válido +label.ip = IP +label.ip.address = Dirección IP +label.ip.allocations = IP asignaciones +label.ip.limits = IP pública Límites +label.ip.or.fqdn = IP o FQDN +label.ip.range = Rango de IP +label.ips = IP +label.is.default = Es por defecto +label.is.shared = es compartido +label.is.system = es el Sistema +label.iscsi = iSCSI +label.iso = ISO +label.iso.boot = ISO de arranque +label.isolation.mode=modo de aislamiento +label.keep = Mantener +label.lang.chinese = Chino (simplificado) +label.lang.english = Inglés +label.lang.japanese = japonés +label.lang.spanish = Español +label.last.disconnected = Última Desconectado +label.last.name = Apellido +label.level = Nivel +lable.linklocal.ip=Enlace adddress IP local +label.load.balancer = equilibrador de carga +label.loading = Carga +label.local = local +label.login = Login +label.logout = Cerrar sesión +label.lun = LUN +label.manage = Administrar +label.maximum = máximo +label.memory = Memoria +label.memory.allocated = memoria asignada +label.memory.mb = memoria (en MB) +label.memory.total = Total de memoria +label.memory.used = memoria usada +label.menu.accounts = Cuentas +label.menu.alerts = Alertas +label.menu.all.accounts = Todas las cuentas +label.menu.all.instances = todas las instancias +label.menu.community.isos = Comunidad ISOs +label.menu.community.templates = plantillas de la comunidad +label.menu.configuration = Configuración +label.menu.dashboard = Interfaz +label.menu.destroyed.instances = Destruir instancias +label.menu.disk.offerings = disco ofertas +label.menu.domains = dominio +label.menu.events = Eventos +label.menu.featured.isos = destacados ISO +label.menu.featured.templates = destacados plantillas +label.menu.global.settings = Configuración global +label.menu.instances = Instancias +label.menu.ipaddresses = Direcciones IP +label.menu.isos = ISO +label.menu.my.accounts = Mis cuentas +label.menu.my.instances = Mi instancias +label.menu.my.isos = Mi ISOs +label.menu.my.templates = Mis plantillas +label.menu.network = Red +label.menu.network.offerings = Red de ofertas +label.menu.physical.resources = Recursos Físicos +label.menu.running.instances = Ejecución de instancias +label.menu.security.groups = Grupos de seguridad +label.menu.service.offerings = Ofertas de Servicios +label.menu.snapshots = instantáneas +label.menu.stopped.instances = Detenido instancias +label.menu.storage = Almacenamiento +label.menu.system = Sistema +label.menu.system.vms = Sistema de máquinas virtuales +label.menu.templates = plantillas +label.menu.virtual.appliances = Virtual Appliances +label.menu.virtual.resources = Virtual de Recursos +label.menu.volumes = Volúmenes +label.migrate.instance.to = Migración de ejemplo para +label.minimum = Mínimo +label.minute.past.hour = Minuto (s) después de la hora +label.monday = lunes +label.monthly = mensual +label.more.templates plantillas = Más +label.my.account = Mi Cuenta +label.name = Nombre +label.name.optional = Nombre (Opcional) +label.netmask = máscara de red +label.network = Red +label.network.desc = Red de Desc +label.network.domain = Red de dominio +label.network.id = ID de red +label.network.name = Nombre de red +label.network.offering = Red ofrece +label.network.offering.display.text = Red ofrece visualización de texto +label.network.offering.id = Red ofrece ID +label.network.offering.name = Red ofrece Nombre +label.network.rate = Tasa de Red +label.network.read = Leer de la red +label.network.type = Tipo de red +label.network.write = Escribir en la red +label.new.password = Nueva contraseña +label.next = Siguiente +label.nfs = NFS +label.nfs.server = servidor NFS +label.nfs.storage = NFS Almacenamiento +label.nics = NIC +label.no = No +label.no.actions = No Acciones disponibles +label.no.alerts = No alertas recientes +label.no.errors = No recientes errores +label.no.isos = No ISOs disponibles +label.no.items = No artículos disponibles +label.no.security.groups = No hay grupos disponibles de Seguridad +label.no.thanks = No, gracias +label.none=Ninguno +label.not.found=No se ha encontrado +label.num.cpu.cores = número de núcleos de CPU +label.numretries = Número de reintentos +label.offer.ha = Oferta HA +label.optional = Opcional +label.os.preference = OS Preferencia +label.os.type = tipo de Sistema Operativo +label.owned.public.ips = propiedad pública Direcciones IP +label.owner.account = titular de la cuenta +label.owner.domain = Propietario de Dominio +label.parent.domain = Padres de dominio +label.password = Contraseña +label.password.enabled = Contraseña Activado +label.path = Ruta +label.please.wait = Por favor espere +label.pod = Pod +label.port.forwarding = Port Forwarding +label.port.range = rango de puertos +label.prev = Anterior +label.primary.allocated = primaria asignado de almacenamiento +label.primary.network = Red Primaria +label.primary.storage = Almacenamiento Primario +label.primary.used = Primaria Almacenado +label.private.interface = Interfaz privada +label.private.ip = dirección IP privada +label.private.ip.range = IP privada Gama +label.private.ips = direcciones IP privadas +label.private.port = Puerto privado +label.private.zone = Zona Privada +label.protocol = Protocolo +label.protocol = Protocolo +label.public = Pública +label.public.interface = interfaz pública +label.public.ip = dirección IP pública +label.public.ips = direcciones IP públicas +label.public.port = Puerto Público +label.public.zone = Zona Pública +label.recent.errors = recientes errores +label.refresh = Actualizar +label.related = relacionados +label.remove.from.load.balancer = ejemplo Eliminación de equilibrador de carga +label.removing.user = Eliminar usuario +label.required = Requerido +label.reserved.system.ip = Reservados sistema de PI +label.resource = Recursos +label.resource.limits = Límites de Recursos +label.resources = Recursos +label.role = Papel +label.root.disk.offering=Root Disco Offering +label.running.vms = Ejecución de máquinas virtuales +label.saturday = sábado +label.save = Guardar +label.saving.processing = ahorro .... +label.scope = Alcance +label.search = Buscar +label.secondary.storage = Almacenamiento secundario +label.secondary.used = Secundaria Almacenado +label.secret.key = clave secreta +label.security.group = Grupo de Seguridad +label.security.group.name = Nombre de grupo de seguridad +label.security.groups = Grupos de seguridad +label.security.groups.enabled=Los grupos de seguridad habilitado +label.sent = Enviados +label.server = Servidor +label.service.offering = Oferta de Servicio +label.session.expired=Session Caducado +label.shared = compartidas +label.size = Tamaño +label.snapshot = Instantánea +label.snapshot.limits = instantáneas Límites +label.snapshot.name = Nombre de instantáneas +label.snapshot.s = Instantánea (s) +label.snapshot.schedule = Lista de instantáneas +label.snapshots = instantáneas +label.source.nat = NAT Fuente +label.specify.vlan = Especifique VLAN +label.start.port = Iniciar Puerto +label.state = Estado +label.static.nat = NAT estática +label.static.nat.to = estático NAT para +label.statistics = Estadísticas +label.status = Estado +label.step.1 = Paso 1 +label.step.1.title = Paso 1: Seleccione una plantilla +label.step.2 = Paso 2 +label.step.2.title = Paso 2: Oferta de Servicio +label.step.3 = Paso 3 +label.step.3.title = Paso 3: Seleccione un disco Ofrenda +label.step.4 = Paso 4 +label.step.4.title = Paso 4: Red +label.step.5 = Paso 5 +label.step.5.title = Paso 5: Revisión +label.stopped.vms = Detenido máquinas virtuales +label.storage = Almacenamiento +label.storage.type = Tipo de almacenamiento +label.submit = Enviar +label.submitted.by = [Enviado por: ] +label.succeeded = Sucesor +label.sunday = domingo +label.system.capacity = Capacidad de todo el sistema +label.system.vm = Sistema de VM +label.system.vm.type = Tipo de sistema VM +label.system.vm.type = Tipo de sistema VM +label.system.vms = Sistema de máquinas virtuales +label.tagged = etiqueta +label.tags = Etiquetas +label.target.iqn = Objetivo IQN +label.template = plantilla +label.template.limits = Plantilla Límites +label.theme.default =Tema Por Defecto +label.theme.grey =Personal - Gris +label.theme.lightblue=Personal - Azul +label.thursday = Jueves +label.time = Tiempo +label.time.zone = Zona horaria +label.timeout.in.second = Tiempo de espera (segundos) +label.timezone = Zona horaria +label.total.cpu=Total CPU +label.total.vms = Total de máquinas virtuales +label.traffic.type = Tipo de Tráfico +label.tuesday = martes +label.type = Tipo +label.type.id = Tipo de identificación +label.unavailable = no disponible +label.unlimited=Unlimited +label.untagged = sin etiquetar +label.update.ssl = Actualizar certificado SSL +label.update.ssl.cert = Actualizar certificado SSL +label.updating = Actualizar +label.url = URL +label.usage.interface = Interfaz de uso +label.used = Usado +label.user = Usuario +label.username = Nombre de usuario +label.users = usuario +label.value = Valor +label.vcenter.cluster = vCenter clúster +label.vcenter.datacenter = vCenter de centros de datos +label.vcenter.datastore = vCenter almacén de datos +label.vcenter.host = vCenter anfitrión +label.vcenter.password = vCenter Contraseña +label.vcenter.username = vCenter Nombre de usuario +label.version = Versión +label.virtual.appliance = Virtual Appliance +label.virtual.appliances = Virtual Appliances +label.virtual.network = Red Virtual +label.vlan = VLAN +label.vlan.id = ID de VLAN +label.vlan.range = VLAN Gama +label.vm.add = Añadir Instancia +label.vm.destroy = Destroy +label.vm.reboot = Reiniciar +label.vm.start = Inicio +label.vm.stop = Detener +label.vmfs = VMFS +label.vms = VM +label.volume = Volumen +label.volume.limits = límites de volumen +label.volume.name = Nombre de Volumen +label.volumes = Volúmenes +label.vpn = VPN +label.vsphere.managed Gestionado = vSphere +label.waiting = Esperando +label.warn = Advertir +label.wednesday = miércoles +label.weekly = Semanal +label.welcome = Bienvenido +label.welcome.cloud.console = Bienvenido a la consola de administración +label.yes = Sí +label.zone = Zona +label.zone.id = Zona de identificación +label.zone.step.1.title = Paso 1: Seleccione una red +label.zone.step.2.title = Paso 2: Añadir una zona +label.zone.step.3.title = Paso 3: Añadir una vaina +label.zone.step.4.title = Paso 4: Añadir un rango de IP +label.zone.wide = Zona para todo el + +#Messages +message.acquire.public.ip = Por favor seleccione una zona de la que desea adquirir su nueva IP. +message.action.cancel.maintenance = Su acogida ha sido cancelado con éxito para el mantenimiento. Este proceso puede tardar hasta varios minutos. +message.action.cancel.maintenance.mode = Por favor, confirme que desea cancelar el mantenimiento +message.action.delete.ISO = Por favor, confirme que desea eliminar la norma ISO +message.action.delete.ISO.for.all.zones = La ISO es utilizado por todas las zonas. Por favor, confirme que desea eliminar de todas las zonas. +message.action.delete.cluster = Por favor, confirme que desea eliminar del clúster +message.action.delete.disk.offering = Por favor, confirme que desea eliminar ofreciendo disco +message.action.delete.domain = Por favor, confirme que desea eliminar de dominio +message.action.delete.external.firewall = Por favor, confirme que desea quitar este servidor de seguridad externo. Advertencia: Si usted está planeando volver a agregar el servidor de seguridad externo mismo, debe restablecer los datos de uso en el dispositivo. +message.action.delete.external.load.balancer = Por favor, confirme que desea eliminar este equilibrador de carga externa. Advertencia: Si usted está planeando volver a agregar la misma equilibrador de carga externo, debe restablecer los datos de uso en el dispositivo. +message.action.delete.ingress.rule = Por favor, confirme que desea eliminar la regla de ingreso +message.action.delete.network = Por favor, confirme que desea eliminar de la red +message.action.delete.pod = Por favor, confirme que desea eliminar de la vaina +message.action.delete.primary.storage = Por favor, confirme que desea eliminar el almacenamiento primario +message.action.delete.secondary.storage = Por favor, confirme que desea eliminar de almacenamiento secundario +message.action.delete.security.group = Por favor, confirme que desea eliminar el grupo de seguridad +message.action.delete.service.offering = Por favor, confirme que desea eliminar oferta de servicios +message.action.delete.snapshot = Por favor, confirme que desea eliminar instantáneas +message.action.delete.template = Por favor, confirme que desea eliminar la plantilla +message.action.delete.template.for.all.zones = La plantilla es utilizada por todas las zonas. Por favor, confirme que desea eliminar de todas las zonas. +message.action.delete.volume = Por favor, confirme que desea eliminar el volumen +message.action.delete.zone = Por favor, confirme que desea eliminar la zona +message.action.destroy.instance = Por favor, confirme que desea destruir ejemplo +message.action.destroy.systemvm = Por favor, confirme que desea destruir la máquina virtual del sistema. +message.action.disable.static.NAT = Por favor, confirme que desea desactivar NAT estática +message.action.enable.maintenance = Su acogida ha sido preparado con éxito para el mantenimiento. Este proceso puede tardar hasta varios minutos o más dependiendo de cómo las máquinas virtuales se encuentran actualmente en este servidor. +message.action.force.reconnect = Por favor, confirme que desea forzar una reconexión para el anfitrión +message.action.force.reconnect = Su acogida ha sido obligado a volver a conectar con éxito. Este proceso puede tardar hasta varios minutos. +message.action.host.enable.maintenance.mode mode = mantenimiento de Habilitación provocará una migración en vivo de todas las instancias que se ejecutan en el sistema para cualquier máquina disponible. +message.action.instance.reset.password = Por favor, confirme que desea cambiar la contraseña de root para esta máquina virtual. +message.action.primarystorage.enable.maintenance.mode = Advertencia: colocar el almacenamiento principal en modo de mantenimiento hará que todas las máquinas virtuales utilizando volúmenes de que sea detenido. ¿Desea continuar? +message.action.reboot.instance = Por favor, confirme que desea reiniciar el ejemplo +message.action.reboot.router = Por favor, confirme que desea reiniciar el router +message.action.reboot.systemvm = Por favor, confirme que desea reiniciar el sistema VM +message.action.release.ip = Por favor, confirme que desea liberar IP +message.action.remove.host = Extracción último / único huésped en el grupo y volver a instalar el huésped va a destruir el medio ambiente de trabajo / base de datos en el host y hacer que la movilidad virtual inutilizable. +message.action.restore.instance = Por favor, confirme que desea restaurar ejemplo +message.action.start.instance = Por favor, confirme que desea iniciar la instancia +message.action.start.router = Por favor, confirme que desea iniciar router +message.action.start.systemvm = Por favor, confirme que desea iniciar el sistema VM +message.action.stop.instance = Por favor, confirme que desea detener la instancia +message.action.stop.router = Por favor, confirme que desea detener router +message.action.stop.systemvm = Por favor, confirme que desea detener sistema VM +message.action.take.snapshot = Por favor, confirme que desea tomar instantáneas +message.add.cluster = Añadir un hipervisor administradas por clúster de zona , la consola de +message.add.cluster.zone = Añadir un hipervisor administradas por clúster de zona +message.add.disk.offering = Por favor, especifique los parámetros siguientes para agregar un nuevo disco que ofrece +message.add.firewall = Añadir un servidor de seguridad a la zona +message.add.host = Por favor, especifique los parámetros siguientes para agregar un nuevo host +message.add.ip.range = Añadir un rango de IP a la red pública en la zona +message.add.ip.range.direct.network = Añadir un rango de IP para dirigir red en la zona +message.add.ip.range.to.pod =

Añadir un rango de IP de la vaina:

+message.add.load.balancer = Añadir un equilibrador de carga a la zona +message.add.network = Agregar una nueva red para la zona: +message.add.pod = Agregar una vaina nueva zona +message.add.primary = Por favor, especifique los parámetros siguientes para agregar un nuevo almacenamiento primario +message.add.primary.storage = Agregar una nueva almacenamiento primario para zona , la consola de +message.add.secondary.storage = Añadir un nuevo almacenamiento de zona +message.add.service.offering = Por favor, rellene los siguientes datos para agregar una nueva oferta de servicio. +message.add.template = Por favor ingrese los siguientes datos para crear la nueva plantilla +message.add.volume = Por favor, rellene los siguientes datos para agregar un nuevo volumen. +message.additional.networks.desc = Por favor seleccione de red adicionales (s) que la instancia virtual estará conectado. +message.advanced.mode.desc = Seleccione este modelo de red si desea habilitar soporte VLAN. Este modelo de red proporciona la máxima flexibilidad al permitir a los administradores proporcionar ofertas personalizadas de la red como el suministro de firewall, VPN, o el apoyo equilibrador de carga, así como permitir vs directa de redes virtuales. +message.advanced.security.group = Elija esta opción si desea utilizar grupos de seguridad para proporcionar resultados de aislamiento VM. +message.advanced.virtual = Elija esta opción si desea utilizar VLAN toda la zona para proporcionar el aislamiento VM invitado. +message.allow.vpn.access = Por favor, introduzca un nombre de usuario y la contraseña del usuario que desea permitir el acceso de VPN. +message.attach.iso.confirm = Por favor, confirme que desea conectar el ISO a la instancia virtual +message.attach.volume = Por favor, rellene los siguientes datos para fijar un nuevo volumen. Si está colocando un volumen de disco a una máquina virtual de Windows basado, usted tendrá que reiniciar la instancia para ver el disco adjunto. +message.basic.mode.desc = Seleccione este modelo de red si lo haces * no * desea habilitar cualquier soporte VLAN. Todas las instancias virtuales creados en virtud de este modelo de red se le asignará una dirección IP directamente desde la red y grupos de seguridad se utilizan para proporcionar la seguridad y la segregación. +message.change.offering.confirm = Por favor, confirme que desea cambiar la oferta de servicio de la instancia virtual. +message.copy.iso.confirm = Por favor, confirme que desea copiar el ISO a +message.copy.template = Copia plantilla XXX de la zona +message.create.template.vm = Crear VM de la plantilla +message.create.template.volume = Por favor, especifique la siguiente información antes de crear una plantilla de su volumen de disco: . Creación de la plantilla puede oscilar entre varios minutos más, dependiendo del tamaño del volumen. +message.delete.account = Por favor, confirme que desea eliminar esta cuenta. +message.detach.iso.confirm = Por favor, confirme que desea quitar el ISO de la instancia virtual +message.disable.account = Por favor, confirme que desea deshabilitar esta cuenta. Al deshabilitar la cuenta, todos los usuarios de esta cuenta ya no tienen acceso a los recursos de su nube. Todas las máquinas virtuales en ejecución se cierre inmediatamente. +message.disable.vpn.access = Por favor, confirme que desea desactivar VPN de acceso. +message.download.ISO=Por favor, haga clic 00000 para descargar la ISO +message.download.template=Por favor, haga clic 00000 para descargar la plantilla +message.download.volume=Por favor, haga clic 00000 para bajar el volumen +message.edit.confirm = Por favor confirmar los cambios antes de hacer clic en "Guardar" +message.edit.limits = Por favor, especifique los límites de los recursos siguientes. A "-1" indica que no hay límite a la cantidad de los recursos de crear. +message.enable.account = Por favor, confirme que desea habilitar esta cuenta. +message.enable.vpn = VPN de acceso actualmente no está habilitado. Por favor, haga clic aquí para habilitar VPN. +message.enable.vpn.access VPN = está desactivado para esta dirección IP. ¿Te gustaría que permitan el acceso VPN? +message.enabled.vpn = Su acceso a la VPN está habilitado y se puede acceder a través de la IP +message.enabled.vpn.ip.sec = La clave pre-compartida IPSec es +message.launch.vm.on.private.network = ¿Desea iniciar su ejemplo en su propia red privada dedicada? +message.lock.account = Por favor, confirme que desea bloquear esta cuenta. Al bloquear la cuenta, todos los usuarios de esta cuenta ya no será capaz de gestionar sus recursos de la nube. Los recursos existentes todavía se puede acceder. +message.migrate.instance.confirm = Por favor, confirme el anfitrión desea migrar la instancia virtual. +message.new.user = Especifique lo siguiente para agregar un nuevo usuario a la cuenta +message.no.network.support = El hipervisor seleccionado, vSphere, no tiene funciones de red adicionales. Por favor, continúe con el paso 5. +message.no.network.support.configuration.not.true = Usted no tiene ninguna zona que ha permitido a grupo de seguridad. Por lo tanto, no hay funciones de red adicionales. Por favor, continúe con el paso 5. +message.number.clusters =

# de Grupos

+message.number.hosts =

# de Anfitrión

+message.number.pods =

# de Las vainas

+message.number.storage =

# de Almacenamiento primario

+message.number.zones =

# de Zonas

+message.remove.vpn.access = Por favor, confirme que desea eliminar el acceso VPN desde el siguiente usuario +message.restart.mgmt.server = Por favor, reinicie el servidor de administración (s) para la nueva configuración surta efecto. +message.security.group.usage = (Uso pulse Ctrl para seleccionar todos los grupos de seguridad se aplica) +message.snapshot.schedule = Puede horarios de configuración recurrente instantáneas mediante la selección de las opciones disponibles a continuación y la aplicación de su preferencia política +message.step.1.continue = Por favor seleccione una plantilla o ISO para continuar +message.step.1.desc = Por favor seleccione una plantilla para la instancia virtual. También puede optar por seleccionar una plantilla en blanco desde el que puede ser una imagen ISO instalado en. +message.step.2.continue = Por favor seleccione una oferta de servicio para continuar +message.step.2.desc = +message.step.3.continue = Por favor seleccione una oferta en disco para continuar +message.step.3.desc = +message.step.4.continue = Por favor seleccione al menos una red social para continuar +message.step.4.desc = Por favor, seleccione la red primaria que la instancia virtual estará conectado. +message.update.os.preference = Por favor seleccione un sistema operativo de preferencia para este equipo. Todas las instancias virtuales con preferencias similares serán los primeros asignados a este equipo antes de elegir otro. +message.update.ssl = Por favor, envíe una nueva X.509 compatible con certificado SSL que se actualizará a cada instancia virtual de la consola del servidor proxy: +message.virtual.network.desc = Una red dedicada virtualizados para su cuenta. El dominio de difusión está contenida dentro de una VLAN y todos los acceso a la red pública se encamina a cabo por un router virtual. +message.volume.create.template.confirm = Por favor, confirme que desea crear una plantilla para este volumen de disco. Creación de la plantilla puede oscilar entre varios minutos más, dependiendo del tamaño del volumen. +message.zone.step.1.desc = Por favor seleccione un modelo de red para su zona. +message.zone.step.2.desc = Por favor ingrese los siguientes datos para agregar una nueva zona +message.zone.step.3.desc = Por favor ingrese los siguientes datos para agregar una vaina nueva +message.apply.snapshot.policy = Ha actualizado su política instantánea actual. +message.disable.snapshot.policy = Ha desactivado su política instantánea actual. +message.action.change.service.warning = Su ejemplo debe ser detenido antes de intentar cambiar su oferta de servicios actual. +message.action.reset.password.warning = Su ejemplo debe ser detenido antes de intentar cambiar su contraseña actual. +message.action.reset.password.off = Su ejemplo en la actualidad no es compatible con esta función. + + +#Errors +error.login = Su nombre de usuario / contraseña no coincide con nuestros registros. +error.menu.select = No se puede realizar la acción debido a que no los artículos que son seleccionados. +error.mgmt.server.inaccessible = El Servidor de Gestión es inaccesible. Por favor, inténtelo de nuevo más tarde. +error.session.expired = Su sesión ha caducado. +error.unresolved.internet.name = El nombre de Internet no se puede resolver. #cloudstack 2.2.Y (end) ******************************************************************************************** \ No newline at end of file diff --git a/client/WEB-INF/classes/resources/messages_zh_CN.properties b/client/WEB-INF/classes/resources/messages_zh_CN.properties index 8f20ac1a583..8c95d78becc 100644 --- a/client/WEB-INF/classes/resources/messages_zh_CN.properties +++ b/client/WEB-INF/classes/resources/messages_zh_CN.properties @@ -1,1371 +1,1371 @@ -#new labels (begin) ********************************************************************************************** -label.management.ips=Management IP Addresses -#new labels (end) ************************************************************************************************ - - -#modified labels (begin) ***************************************************************************************** - - -#modified labels (end) ******************************************************************************************* - - -label.isolated.networks=隔离网络 -label.latest.events=最新事件 -state.Enabled=已启用 -label.system.wide.capacity=全系统容量 -label.network.service.providers=网络服务提供程序 -message.launch.zone=区域已准备就绪,可随时启动;请继续执行下一步骤。 -error.unable.to.reach.management.server=无法访问 Management Server -label.internal.name=内部名称 -message.configure.all.traffic.types=您有多个物理网络,请单击“编辑”按钮为每种流量类型配置标签。 -message.edit.traffic.type=请指定您希望与此流量类型关联的流量标签。 -label.edit.traffic.type=编辑流量类型 -label.label=标签 -label.max.networks=最大网络数 -error.invalid.username.password=用户名或密码无效 -message.enabling.security.group.provider=正在启用安全组提供程序 -message.adding.Netscaler.provider=正在添加 Netscaler 提供程序 -message.creating.guest.network=正在创建来宾网络 -label.action.delete.physical.network=删除物理网络 -message.action.delete.physical.network=请确认您确实要删除此物理网络 -message.installWizard.copy.whatIsAHost=主机是指一台计算机。主机提供运行来宾虚拟机的计算资源。每台主机上都安装有虚拟机管理程序软件,用于管理来宾 VM (裸机主机除外,将在“高级安装指南”中讨论这一特殊案例)。例如,启用了 KVM 的 Linux 服务器、Citrix XenServer 服务器和 ESXi 服务器都可用作主机。在基本安装中,我们将使用一台运行 XenServer 的主机。

主机是 CloudStack™ 部署中最小的组织单位。主机包含在群集中,群集包含在提供点中,提供点包含在区域中。 - - -label.add.compute.offering=添加计算方案 -label.compute.offering=计算方案 -label.compute.offerings=计算方案 -label.select.offering=选择方案 -label.menu.infrastructure=基础架构 -label.sticky.tablesize=表大小 -label.sticky.expire=过期日期 -label.sticky.cookie-name=Cookie 名称 -label.sticky.mode=模式 -label.sticky.length=长度 -label.sticky.holdtime=持续时间 -label.sticky.request-learn=request-learn -label.sticky.prefix=prefix -label.sticky.nocache=nocache -label.sticky.indirect=indirect -label.sticky.postonly=postonly -label.sticky.domain=域 -state.Allocating=正在分配 -state.Migrating=正在迁移 -error.please.specify.physical.network.tags=网络方案在您为此物理网络指定标签之后才可用。 - - -state.Stopping=正在停止 -message.add.load.balancer.under.ip=已在以下 IP 下添加负载平衡器规则: -message.select.instance=请选择一个实例。 -label.select=选择 -label.select.vm.for.static.nat=为静态 NAT 选择 VM -label.select.instance=选择实例 -label.nat.port.range=NAT 端口范围 -label.static.nat.vm.details=静态 NAT VM 详情 -label.edit.lb.rule=编辑负载平衡器规则 -message.migrate.instance.to.host=请确认您确实要将实例迁移到其他主机。 -label.migrate.instance.to.host=将实例迁移到其他主机 -message.migrate.instance.to.ps=请确认您确实要将实例迁移到其他主存储。 -label.migrate.instance.to.ps=将实例迁移到其他主存储 -label.corrections.saved=已保存修正 -message.installWizard.copy.whatIsSecondaryStorage=辅助存储与区域相关联,用于存储以下项目:
  • 模板 - 可用于启动 VM 并可以包含其他配置信息(例如,已安装的应用程序)的操作系统映像
  • ISO 映像 - 可重新启动或不可重新启动的操作系统映像
  • 磁盘卷快照 - 已保存的 VM 数据副本,可用于执行数据恢复或创建新模板
-message.installWizard.copy.whatIsPrimaryStorage=CloudStack™ 云基础架构使用以下两种类型的存储: 主存储和辅助存储。这两种类型的存储可以是 iSCSI 或 NFS 服务器,也可以是本地磁盘。

主存储与群集相关联,用于存储该群集中的主机上正在运行的所有 VM 对应的每个来宾 VM 的磁盘卷。主存储服务器通常位于靠近主机的位置。 -message.installWizard.copy.whatIsACluster=群集提供了一种编组主机的方法。群集中的所有主机都具有相同的硬件,运行相同的虚拟机管理程序,位于同一子网中,并访问相同的共享存储。可以实时将虚拟机实例(VM)从一台主机迁移到同一群集内的其他主机,而无需中断向用户提供服务。群集是 CloudStack™ 部署中的第三大组织单位。群集包含在提供点中,提供点包含在区域中。

CloudStack™ 允许云部署中存在多个群集,但对于基本安装,我们只需要一个群集。 -message.installWizard.copy.whatIsAPod=一个提供点通常代表一个机架。同一提供点中的主机位于同一子网中。

提供点是 CloudStack™ 部署中的第二大组织单位。提供点包含在区域中。每个区域中可以包含一个或多个提供点;在基本安装中,您的区域中将仅包含一个提供点。 -message.installWizard.copy.whatIsAZone=区域是 CloudStack™ 部署中最大的组织单位。虽然允许一个数据中心中存在多个区域,但是一个区域通常与一个数据中心相对应。将基础架构编组到区域中的好处是可以提供物理隔离和冗余。例如,每个区域都可以拥有各自的电源供应和网络上行方案,并且各区域可以在地理位置上相隔很远(虽然并非必须相隔很远)。 -message.installWizard.copy.whatIsCloudStack=CloudStack™ 是一个软件平台,可将计算资源集中在一起以构建公共、私有和混合基础设施即服务(IaaS)云。CloudStack™ 负责管理组成云基础架构的网络、存储和计算节点。使用 CloudStack™ 可以部署、管理和配置云计算环境。

CloudStack™ 通过扩展商用硬件上运行的每个虚拟机映像的范围,提供了一个实时可用的云基础架构软件堆栈用于以服务方式交付虚拟数据中心,即交付构建、部署和管理多层次和多租户云应用程序必需的所有组件。开源版本和 Premium 版本都已可用,且提供的功能几乎完全相同。 -message.installWizard.tooltip.addSecondaryStorage.path=导出路径(位于上述指定服务器上) -message.installWizard.tooltip.addSecondaryStorage.nfsServer=托管辅助存储的 NFS 服务器的 IP 地址 -message.installWizard.tooltip.addPrimaryStorage.path=(适用于 NFS)在 NFS 中,此路径为服务器的导出路径。路径(针对 SharedMountPoint)。对于 KVM,此路径为装载了辅助存储的每个主机上的路径。例如,/mnt/primary。 -message.installWizard.tooltip.addPrimaryStorage.server=(适用于 NFS、iSCSI 或 PreSetup)存储设备的 IP 地址或 DNS 名称。 -message.installWizard.tooltip.addPrimaryStorage.name=存储设备的名称。 -message.installWizard.tooltip.addHost.password=此为上述用户的密码(来自 XenServer 安装)。 -message.installWizard.tooltip.addHost.username=通常为 root。 -message.installWizard.tooltip.addHost.hostname=主机的 DNS 名称或 IP 地址。 -message.installWizard.tooltip.addCluster.name=群集的名称。此名称可以是您选择的文本,且未由 CloudStack 使用。 -message.installWizard.tooltip.addPod.reservedSystemEndIp=此为 CloudStack 用于管理辅助存储 VM 和控制台代理 VM 的专用网络中的 IP 范围。这些 IP 地址来自与计算服务器相同的子网。 -message.installWizard.tooltip.addPod.reservedSystemStartIp=此为 CloudStack 用于管理辅助存储 VM 和控制台代理 VM 的专用网络中的 IP 范围。这些 IP 地址来自与计算服务器相同的子网。 -message.installWizard.tooltip.addPod.reservedSystemNetmask=来宾将要使用的子网上正在使用的网络掩码。 -message.installWizard.tooltip.addPod.reservedSystemGateway=该提供点中的主机网关。 -message.installWizard.tooltip.addPod.name=提供点的名称 -message.installWizard.tooltip.configureGuestTraffic.guestEndIp=能够分配给此区域中的来宾的 IP 地址范围。如果使用一个 NIC,这些 IP 应位于与提供点 CIDR 相同的 CIDR 中。 -message.installWizard.tooltip.configureGuestTraffic.guestStartIp=能够分配给此区域中的来宾的 IP 地址范围。如果使用一个 NIC,这些 IP 应位于与提供点 CIDR 相同的 CIDR 中。 -message.installWizard.tooltip.configureGuestTraffic.guestNetmask=来宾应使用的子网上正在使用的网络掩码 -message.installWizard.tooltip.configureGuestTraffic.guestGateway=来宾应使用的网关 -message.installWizard.tooltip.configureGuestTraffic.description=您的网络说明 -message.installWizard.tooltip.configureGuestTraffic.name=您的网络名称 -message.installWizard.tooltip.addZone.internaldns2=这些服务器是供此区域中的系统 VM 使用的 DNS 服务器,将通过系统 VM 的专用网络接口进行访问。您为提供点提供的专用 IP 地址必须路由到在此处指定的 DNS 服务器。 -message.installWizard.tooltip.addZone.internaldns1=这些服务器是供此区域中的系统 VM 使用的 DNS 服务器,将通过系统 VM 的专用网络接口进行访问。您为提供点提供的专用 IP 地址必须路由到在此处指定的 DNS 服务器。 -message.installWizard.tooltip.addZone.dns2=这些服务器是供此区域中的来宾 VM 使用的 DNS 服务器,将通过您稍后要添加的公用网络进行访问。此区域的公用 IP 地址必须路由到在此处指定的 DNS 服务器。 -message.installWizard.tooltip.addZone.name=区域名称 -message.installWizard.tooltip.addZone.dns1=这些服务器是供此区域中的来宾 VM 使用的 DNS 服务器,将通过您稍后要添加的公用网络进行访问。此区域的公用 IP 地址必须路由到在此处指定的 DNS 服务器。 -message.setup.successful=已成功设置云! -label.may.continue=您现在可以继续进行操作。 -error.installWizard.message=出现问题;请返回并更正任何错误 -message.installWizard.now.building=现在正在构建您的云... -message.installWizard.click.retry=请单击此按钮重新尝试启动。 -label.launch=启动 -label.installWizard.click.launch=请单击“启动”按钮。 -label.congratulations=祝贺您! -label.installWizard.addSecondaryStorageIntro.subtitle=什么是辅助存储? -label.installWizard.addSecondaryStorageIntro.title=添加一个辅助存储 -label.installWizard.addPrimaryStorageIntro.subtitle=什么是主存储? -label.installWizard.addPrimaryStorageIntro.title=添加一个主存储 -label.installWizard.addHostIntro.subtitle=什么是主机? -label.installWizard.addHostIntro.title=添加一个主机 -label.installWizard.addClusterIntro.subtitle=什么是群集? -label.installWizard.addClusterIntro.title=添加一个群集 -label.installWizard.addPodIntro.subtitle=什么是提供点? -label.installWizard.addPodIntro.title=添加一个提供点 -label.installWizard.addZone.title=添加区域 -label.installWizard.addZoneIntro.subtitle=什么是区域? -label.installWizard.addZoneIntro.title=添加一个区域 -error.password.not.match=密码字段不一致 -label.confirm.password=确认密码 -message.change.password=请更改您的密码。 -label.save.and.continue=保存并继续 -label.skip.guide=我以前使用过 CloudStack,跳过此指南 -label.continue.basic.install=继续执行基本安装 -label.introduction.to.cloudstack=CloudStack™ 简介 -label.what.is.cloudstack=什么是 CloudStack™? -label.hints=提示 -label.installWizard.subtitle=此教程将帮助您设置 CloudStack™ 安装 -label.continue=继续 -label.installWizard.title=您好,欢迎使用 CloudStack™ -label.agree=同意 -label.license.agreement=许可协议 -label.license.agreement.subtitle=必须先接受 CloudStack™ EULA 才能进行安装。 -label.manage.resources=管理资源 -label.port.forwarding.policies=端口转发策略 -label.load.balancing.policies=负载平衡策略 -label.networking.and.security=网络连接与安全 -label.bandwidth=带宽 -label.virtual.machines=虚拟机 -label.compute.and.storage=计算与存储 -label.task.completed=已完成任务 -label.update.project.resources=更新项目资源 -label.remove.project.account=删除项目帐户 -label.item.listing=项目列表 -message.select.item=请选择一个项目。 -label.removing=正在删除 -label.invite=邀请 -label.add.by=添加方式 -label.max.vms=最大用户 VM 数 -label.max.public.ips=最大公用 IP 数 -label.max.volumes=最大卷数 -label.max.snapshots=最大快照数 -label.max.templates=最大模板数 -label.project.dashboard=项目控制板 -label.remind.later=以后提醒我 -label.invited.accounts=已邀请的帐户 -label.invite.to=邀请加入 -label.add.accounts.to=添加帐户至 -label.add.accounts=添加帐户 -label.project.name=项目名称 -label.create.project=创建项目 -label.networks=网络 -label.launch.vm=启动 VM -label.new.vm=新建 VM -label.previous=上一步 -label.add.to.group=添加到组 -message.vm.review.launch=请先核对以下信息,确认您的虚拟实例正确无误,然后再启动。 -message.select.security.groups=请为您的新 VM 选择安全组 -label.new=新建 -message.please.select.networks=请为您的虚拟机选择网络。 -message.please.proceed=请继续执行下个步骤。 -message.zone.no.network.selection=所选区域无任何网络选项。 -label.no.thanks=不,谢谢 -label.my.templates=我的模板 -message.select.template=请为您的新虚拟实例选择一个模板。 -message.select.iso=请为您的新虚拟实例选择一个 ISO。 -message.template.desc=可用于启动 VM 的操作系统映像 -message.iso.desc=包含操作系统的数据或可启动介质的磁盘映像 -label.select.iso.or.template=选择 ISO 或模板 -message.select.a.zone=一个区域通常与一个数据中心相对应。多个区域可以提供物理隔离和冗余,有助于使云更加可靠。 -label.select.a.zone=选择一个区域 -label.review=核对 -label.select.a.template=选择一个模板 -label.setup=设置 -state.Allocated=已分配 -changed.item.properties=更改项目属性 -label.apply=应用 -label.default=默认值 -label.viewing=正在查看 -label.move.to.top=移至顶部 -label.move.up.row=向上移动一行 -label.move.down.row=向下移动一行 -label.drag.new.position=拖动到新位置 -label.order=排序 -label.no.data=无可显示的数据 -label.change.value=更改值 -label.clear.list=清除列表 -label.full.path=完整路径 -message.add.domain=请指定要在此域下创建的子域 -message.delete.user=请确认您确实要删除此用户。 -message.enable.user=请确认您确实要启用此用户。 -message.disable.user=请确认您确实要禁用此用户。 -message.generate.keys=请确认您确实要为此用户生成新密钥。 -message.update.resource.count=请确认您确实要更新此帐户的资源数。 -message.edit.account=编辑(“-1”表示对要创建的资源数量没有任何限制) -label.total.of.vm=总 VM 数 -label.total.of.ip=总 IP 地址数 -state.enabled=已启用 -message.action.download.iso=请确认您确实要下载此 ISO。 -message.action.download.template=请确认您确实要下载此模板。 -label.destination.zone=目标区域 -label.keyboard.type=键盘类型 -label.nic.adapter.type=NIC 适配器类型 -label.root.disk.controller=根磁盘控制器 -label.community=社区 -label.remove.egress.rule=删除出口规则 -label.add.egress.rule=添加出口规则 -label.egress.rule=出口规则 -label.remove.ingress.rule=删除入口规则 -label.delete.vpn.user=删除 VPN 用户 -label.add.vpn.user=添加 VPN 用户 -label.remove.pf=删除端口转发规则 -label.remove.vm.from.lb=从负载平衡器规则中删除 VM -label.add.vms.to.lb=向负载平衡器规则中添加 VM -label.add.vm=添加 VM -label.remove.static.nat.rule=删除静态 NAT 规则 -label.remove.rule=删除规则 -label.add.static.nat.rule=添加静态 NAT 规则 -label.add.rule=添加规则 -label.configuration=配置 -message.disable.vpn=是否确实要禁用 VPN? -label.disable.vpn=禁用 VPN -message.enable.vpn=请确认您确实要对此 IP 地址启用 VPN 访问。 -label.enable.vpn=启用 VPN -message.acquire.new.ip=请确认您确实要为此网络获取一个新 IP。 -label.elastic=弹性 -label.my.network=我的网络 -label.add.vms=添加 VM -label.configure=配置 -label.stickiness=粘性 -label.source=源算法 -label.least.connections=最少连接算法 -label.round.robin=轮询算法 -label.network.domain.text=网络域文本 -label.restart.required=需要重新启动 -label.clean.up=清除 -message.restart.network=请确认您确实要重新启动网络 -label.restart.network=重新启动网络 -label.edit.network.details=编辑网络详情 -label.add.guest.network=添加来宾网络 -label.guest.networks=来宾网络 -message.ip.address.changed=您的 IP 地址可能已发生变化;是否要刷新此列表? 请注意,刷新此列表时,“详细信息”窗格将关闭。 -state.BackingUp=正在备份 -state.BackedUp=已备份 -label.done=完成 -label.vm.name=VM 名称 -message.migrate.volume=请确认您确实要将卷迁移到其他主存储。 -label.migrate.volume=将卷迁移到其他主存储 -message.create.template=是否确实要创建模板? -label.create.template=创建模板 -message.download.volume.confirm=请确认您确实要下载此卷 -message.detach.disk=是否确实要取消附加此磁盘? -state.ready=已就绪 -state.Ready=已就绪 -label.vm.display.name=VM 显示名称 -label.select-view=选择视图 -label.local.storage=本地存储 -label.direct.ips=直接 IP -label.view.all=查看全部 -label.zone.details=区域详情 -message.alert.state.detected=检测到警报状态 -state.Starting=正在启动 -state.Expunging=正在删除 -state.Creating=正在创建 -message.decline.invitation=是否确实要拒绝此项目邀请? -label.decline.invitation=拒绝邀请 -message.confirm.join.project=请确认您确实要加入此项目。 -message.join.project=您现在已加入了一个项目。请切换到“项目视图”以查看项目。 -label.accept.project.invitation=接受项目邀请 -label.token=令牌 -label.project.id=项目 ID -message.enter.token=请输入您在邀请电子邮件中收到的令牌。 -label.enter.token=输入令牌 -state.Accepted=已接受 -state.Pending=待定 -state.Completed=已完成 -state.Declined=已拒绝 -label.project=项目 -label.invitations=邀请 -label.delete.project=删除项目 -message.delete.project=是否确实要删除此项目? -message.activate.project=是否确实要激活此项目? -label.activate.project=激活项目 -label.suspend.project=暂停项目 -message.suspend.project=是否确实要暂停此项目? -state.Suspended=已暂停 -label.edit.project.details=编辑项目详情 -label.new.project=新建项目 -state.Active=活动 -state.Disabled=已禁用 -label.projects=项目 -label.make.project.owner=设为帐户项目所有者 -label.remove.project.account=从项目中删除帐户 -message.project.invite.sent=发送给用户的邀请;用户接受邀请后,将加入到项目中 -label.add.account.to.project=向项目中添加帐户 -label.revoke.project.invite=撤销邀请 -label.project.invite=邀请加入项目 -label.select.project=选择项目 -message.no.projects=您没有任何项目。
请从“项目”部分中创建一个新项目。 -message.no.projects.adminOnly=您没有任何项目。
请要求管理员创建一个新项目。 -message.pending.projects.1=您有待定项目邀请: -message.pending.projects.2=要查看,请转至“项目”部分,然后从下拉列表中选择“邀请”。 -message.instanceWizard.noTemplates=您没有任何可用模板;请添加一个兼容的模板,然后重新启动实例向导。 -label.view=查看 -create.template.complete=已成功创建模板 -create.template.confirm=请确认您确实要创建一个模板 -create.template.notification=正在创建新模板 -create.template.success=正在创建新模板 -instances.actions.reboot.label=重新启动实例 -label.filterBy=过滤依据 -label.ok=确定 -notification.reboot.instance=重新启动实例 -notification.start.instance=启动实例 -notification.stop.instance=停止实例 -label.display.name=显示名称 -label.zone.name=区域名称 -ui.listView.filters.all=全部 -ui.listView.filters.mine=本用户 -state.Running=正在运行 -state.Stopped=已停止 -state.Destroyed=已销毁 -state.Error=错误 -message.reset.password.warning.notPasswordEnabled=创建此实例时使用的模板未启用密码 -message.reset.password.warning.notStopped=必须先停止您的实例,才能尝试更改其当前密码 -label.notifications=通知 -label.default.view=默认视图 -label.project.view=项目视图 - -message.add.system.service.offering=请填写以下数据以添加一个新的系统服务方案。 -message.action.delete.system.service.offering=请确认您确实要删除此系统服务方案。 -label.action.delete.system.service.offering=删除系统服务方案 -label.hypervisor.capabilities=虚拟机管理程序功能 -label.hypervisor.version=虚拟机管理程序版本 -label.max.guest.limit=最大来宾数限制 -label.add.network.offering=添加网络方案 -label.supported.services=支持的服务 -label.service.capabilities=服务功能 -label.guest.type=来宾类型 -label.specify.IP.ranges=指定 IP 范围 -label.conserve.mode=保护模式 -label.created.by.system=由系统创建 -label.menu.system.service.offerings=系统方案 -label.add.system.service.offering=添加系统服务方案 -label.redundant.router.capability=冗余路由器功能 -label.supported.source.NAT.type=支持的源 NAT 类型 -label.elastic.LB=弹性负载平衡器 -label.LB.isolation=负载平衡器隔离 -label.elastic.IP=弹性 IP -label.network.label.display.for.blank.value=使用默认网关 -label.xen.traffic.label=XenServer 流量标签 -label.kvm.traffic.label=KVM 流量标签 -label.vmware.traffic.label=VMware 流量标签 -label.start.IP=起始 IP -label.end.IP=结束 IP -label.remove.ip.range=删除 IP 范围 -label.ip.ranges=IP 范围 -label.start.vlan=起始 VLAN -label.end.vlan=结束 VLAN -label.broadcast.domain.range=广播域范围 -label.compute=计算 -message.add.guest.network=请确认您确实要添加一个来宾网络 -label.subdomain.access=子域访问 -label.guest.start.ip=来宾起始 IP -label.guest.end.ip=来宾结束 IP -label.virtual.router=虚拟路由器 -label.physical.network.ID=物理网络 ID -label.destination.physical.network.id=目标物理网络 ID -label.dhcp=DHCP -label.destroy.router=销毁路由器 -message.confirm.destroy.router=请确认您确实要销毁此路由器 -label.change.service.offering=更改服务方案 -label.view.console=查看控制台 -label.redundant.state=冗余状态 -label.enable.provider=启用提供程序 -message.confirm.enable.provider=请确认您确实要启用此提供程序 -label.disable.provider=禁用提供程序 -message.confirm.disable.provider=请确认您确实要禁用此提供程序 -label.shutdown.provider=关闭提供程序 -message.confirm.shutdown.provider=请确认您确实要关闭此提供程序 -label.netScaler=NetScaler -label.add.new.NetScaler=添加新 NetScaler -label.capacity=容量 -label.dedicated=专用 -label.f5=F5 -label.add.new.F5=添加新 F5 -label.srx=SRX -label.providers=提供程序 -label.add.new.SRX=添加新 SRX -label.timeout=超时 -label.public.network=公用网络 -label.private.network=专用网络 -label.enable.swift=启用 SWIFT -confirm.enable.swift=请填写以下信息以启用对 SWIFT 的支持 -message.after.enable.swift=已配置 SWIFT。注意: 退出此页面后,您将无法再次重新配置 SWIFT。 -label.key=密钥 -label.delete.NetScaler=删除 NetScaler -message.confirm.delete.NetScaler=请确认您确实要删除 NetScaler -label.delete.F5=删除 F5 -message.confirm.delete.F5=请确认您确实要删除 F5 -label.delete.SRX=删除 SRX -message.confirm.delete.SRX=请确认您确实要删除 SRX -label.pods=提供点 -label.pod.name=提供点名称 -label.reserved.system.gateway=预留的系统网关 -label.reserved.system.netmask=预留的系统网络掩码 -label.start.reserved.system.IP=起始预留系统 IP -label.end.reserved.system.IP=结束预留系统 IP -label.clusters=群集 -label.cluster.name=群集名称 -label.host.MAC=主机 MAC -label.agent.username=代理用户名 -label.agent.password=代理密码 -message.confirm.action.force.reconnect=请确认您确实要强制重新连接此主机。 -label.resource.state=资源状态 -label.LUN.number=LUN 号 -message.confirm.remove.IP.range=请确认您确实要删除此 IP 范围。 -message.tooltip.zone.name=区域名称。 -message.tooltip.dns.1=供区域中的 VM 使用的 DNS 服务器名称。区域的公用 IP 地址必须路由到此服务器。 -message.tooltip.dns.2=供区域中的 VM 使用的辅助 DNS 服务器名称。区域的公用 IP 地址必须路由到此服务器。 -message.tooltip.internal.dns.1=供区域中的 CloudStack 内部系统 VM 使用的 DNS 服务器名称。提供点的专用 IP 地址必须路由到此服务器。 -message.tooltip.internal.dns.2=供区域中的 CloudStack 内部系统 VM 使用的 DNS 服务器名称。提供点的专用 IP 地址必须路由到此服务器。 -message.tooltip.network.domain=DNS 后缀,将为由来宾 VM 访问的网络创建一个自定义域名。 -message.tooltip.pod.name=此提供点的名称。 -message.tooltip.reserved.system.gateway=提供点中的主机网关。 -message.tooltip.reserved.system.netmask=用于定义提供点子网的网络前缀。请使用 CIDR 符号。 -message.creating.zone=正在创建区域 -message.creating.physical.networks=正在创建物理网络 -message.configuring.physical.networks=正在配置物理网络 -message.adding.Netscaler.device=正在添加 Netscaler 设备 -message.creating.pod=正在创建提供点 -message.configuring.public.traffic=正在配置公共流量 -message.configuring.storage.traffic=正在配置存储流量 -message.configuring.guest.traffic=正在配置来宾流量 -message.creating.cluster=正在创建群集 -message.adding.host=正在添加主机 -message.creating.primary.storage=正在创建主存储 -message.creating.secondary.storage=正在创建辅助存储 -message.Zone.creation.complete=已完成创建区域 -message.enabling.zone=正在启用区域 -error.something.went.wrong.please.correct.the.following=出现问题;请更正以下各项 -error.could.not.enable.zone=无法启用区域 -message.zone.creation.complete.would.you.like.to.enable.this.zone=已完成创建区域。是否要启用此区域? -message.please.add.at.lease.one.traffic.range=请至少添加一个流量范围。 -message.you.must.have.at.least.one.physical.network=您必须至少拥有一个物理网络 -message.please.select.a.different.public.and.management.network.before.removing=请先选择其他公共管理网络,然后再删除 - -label.zone.type=区域类型 -label.setup.zone=设置区域 -label.setup.network=设置网络 -label.add.resources=添加资源 -label.launch=启动 -label.set.up.zone.type=设置区域类型 -message.please.select.a.configuration.for.your.zone=请为您的区域选择一种配置。 -message.desc.basic.zone=提供一个网络,将直接从此网络中为每个 VM 实例分配一个 IP。可以通过安全组等第 3 层方式提供来宾隔离(IP 地址源过滤)。 -label.basic=基本 -message.desc.advanced.zone=适用于更加复杂的网络拓扑。此网络模式在定义来宾网络并提供防火墙、VPN 或负载平衡器支持等自定义网络方案方面提供了最大的灵活性。 -label.advanced=高级 -message.desc.zone=区域是 CloudStack 中最大的组织单位,一个区域通常与一个数据中心相对应。区域可提供物理隔离和冗余。一个区域由一个或多个提供点以及由区域中的所有提供点共享的一个辅助存储服务器组成,其中每个提供点中包含多个主机和主存储服务器。 -label.physical.network=物理网络 -label.public.traffic=公共流量 -label.guest.traffic=来宾流量 -label.storage.traffic=存储流量 -message.setup.physical.network.during.zone.creation=添加高级区域时,需要设置一个或多个物理网络。每个网络都与虚拟机管理程序中的一个 NIC 相对应。每个物理网络中可以包含一种或多种流量类型,并对这些流量类型可能的组合方式设置了某些限制。

可以将一种或多种流量类型拖放到每个物理网络中。 -label.add.physical.network=添加物理网络 -label.traffic.types=流量类型 -label.management=管理 -label.guest=来宾 -label.please.specify.netscaler.info=请指定 Netscaler 信息 -message.public.traffic.in.advanced.zone=云中的 VM 访问 Internet 时将生成公共流量,但必须分配可公开访问的 IP 才能实现。最终用户可以使用 CloudStack UI 获取这些 IP,以在其来宾网络与公用网络之间执行 NAT。

请至少为 Internet 流量提供一个 IP 地址范围。 -message.public.traffic.in.basic.zone=云中的 VM 访问 Internet 或通过 Internet 向客户端提供服务时将生成公共流量,但必须分配可公开访问的 IP 才能实现。创建实例时,将把这一组公用 IP 中的 IP (来宾 IP 地址除外)分配给此实例。静态 1-1 NAT 将在公用 IP 与来宾 IP 之间自动设置。最终用户还可以使用 CloudStack UI 获取其他 IP,以在其实例与公用 IP 之间执行静态 NAT。 -message.add.pod.during.zone.creation=每个区域中必须包含一个或多个提供点,现在我们将添加第一个提供点。提供点中包含主机和主存储服务器,您将在随后的某个步骤中添加这些主机和服务器。首先,请为 CloudStack 的内部管理流量配置一个预留 IP 地址范围。预留的 IP 范围对云中的每个区域来说必须唯一。 -message.guest.traffic.in.advanced.zone=来宾网络流量是指最终用户虚拟机之间的通信。指定一个 VLAN ID 范围可传送每个物理网络的来宾流量。 -message.guest.traffic.in.basic.zone=来宾网络流量是指最终用户虚拟机之间的通信。应指定一个 CloudStack 可以分配给来宾 VM 的 IP 地址范围。请确保此范围与预留的系统 IP 范围不重叠。 -message.storage.traffic=CloudStack 内部资源(包括与 Management Server 通信的任何组件,例如主机和 CloudStack 系统 VM)之间的流量。请在此处配置存储流量。 -message.desc.cluster=每个提供点中必须包含一个或多个群集,现在我们将添加第一个群集。群集提供了一种编组主机的方法。群集中的所有主机都具有相同的硬件,运行相同的虚拟机管理程序,位于相同的子网中,并访问相同的共享存储。每个群集由一个或多个主机以及一个或多个主存储服务器组成。 -message.desc.host=每个群集中必须至少包含一个主机以供来宾 VM 在上面运行,现在我们将添加第一个主机。要使主机在 CloudStack 中运行,必须在此主机上安装虚拟机管理程序软件,为其分配一个 IP 地址,并确保将其连接到 CloudStack Management Server。

请提供主机的 DNS 或 IP 地址、用户名(通常为 root)和密码,以及用于对主机进行分类的任何标签。 -message.desc.primary.storage=每个群集中必须包含一个或多个主存储服务器,现在我们将添加第一个主存储服务器。主存储中包含在群集中的主机上运行的所有 VM 的磁盘卷。请使用底层虚拟机管理程序支持的符合标准的协议。 -message.desc.secondary.storage=每个区域中必须至少包含一个 NFS 或辅助存储服务器,现在我们将添加第一个 NFS 或辅助存储服务器。辅助存储用于存储 VM 模板、ISO 映像和 VM 磁盘卷快照。此服务器必须对区域中的所有服务器可用。

请提供 IP 地址和导出路径。 -label.launch.zone=启动区域 -message.please.wait.while.zone.is.being.created=正在创建区域,请稍候;此操作可能需要一段时间才能完成... - -label.load.balancing=负载平衡 -label.static.nat.enabled=已启用静态 NAT -label.zones=区域 -label.view.more=查看更多 -label.number.of.zones=区域数量 -label.number.of.pods=提供点数量 -label.number.of.clusters=群集数量 -label.number.of.hosts=主机数量 -label.total.hosts=总主机数 -label.total.CPU=CPU 总量 -label.total.memory=内存总量 -label.total.storage=存储总量 -label.purpose=目的 - - - - -label.action.migrate.router=迁移路由器 -label.action.migrate.router.processing=正在迁移路由器... -message.migrate.router.confirm=请确认您要将路由器迁移到的主机: -label.migrate.router.to=迁移路由器至 - -label.action.migrate.systemvm=迁移系统 VM -label.action.migrate.systemvm.processing=正在迁移系统 VM... -message.migrate.systemvm.confirm=请确认您要将系统 VM 迁移到的主机: -label.migrate.systemvm.to=迁移系统 VM 至 - - -mode=模式 -side.by.side=并行 -inline=内联 - -extractable=可提取 - -label.ocfs2=OCFS2 - -label.action.edit.host=编辑主机 - -network.rate=网络速率 - -ICMP.type=ICMP 类型 -ICMP.code=ICMP 代码 - -image.directory=图片目录 - -label.action.create.template.from.vm=基于 VM 创建模板 -label.action.create.template.from.volume=基于卷创建模板 - -message.vm.create.template.confirm=创建模板将自动重新启动 VM。 - -label.action.manage.cluster=托管群集 -message.action.manage.cluster=请确认您确实要托管此群集。 -label.action.manage.cluster.processing=正在托管群集... - -label.action.unmanage.cluster=取消托管群集 -message.action.unmanage.cluster=请确认您确实要取消托管此群集。 -label.action.unmanage.cluster.processing=正在取消托管群集... - -label.allocation.state=分配状态 -managed.state=托管状态 - -label.default.use=默认使用 -label.host.tags=主机标签 - -label.cidr=CIDR -label.cidr.list=源 CIDR - -label.storage.tags=存储标签 - -label.redundant.router=冗余路由器 -label.is.redundant.router=冗余 - -force.delete=强制删除 -force.delete.domain.warning=警告: 选择此选项将导致删除所有子域以及所有相关联的帐户及其资源。 - -force.remove=强制移除 -force.remove.host.warning=警告: 选择此选项将导致 CloudStack 在从群集中移除此主机之前,强制停止所有正在运行的虚拟机。 - -force.stop=强制停止 -force.stop.instance.warning=警告: 除非万不得已,否则不应强制停止此实例。停止此实例可能会导致数据丢失以及致使虚拟机状态不一致。 - -label.PreSetup=PreSetup -label.SR.name = SR 名称标签 -label.SharedMountPoint=SharedMountPoint -label.clvm=CLVM -label.volgroup=卷组 -label.VMFS.datastore=VMFS 数据存储 - -label.network.device=网络设备 -label.add.network.device=添加网络设备 -label.network.device.type=网络设备类型 -label.DHCP.server.type=DHCP 服务器类型 -label.Pxe.server.type=Pxe 服务器类型 -label.PING.storage.IP=PING 存储 IP -label.PING.dir=PING 目录 -label.TFTP.dir=TFTP 目录 -label.PING.CIFS.username=PING CIFS 用户名 -label.PING.CIFS.password=PING CIFS 密码 -label.CPU.cap=CPU 上限 - - -label.action.enable.zone=启用区域 -label.action.enable.zone.processing=正在启用区域... -message.action.enable.zone=请确认您确实要启用此区域。 -label.action.disable.zone=禁用区域 -label.action.disable.zone.processing=正在禁用区域... -message.action.disable.zone=请确认您确实要禁用此区域。 - -label.action.enable.pod=启用提供点 -label.action.enable.pod.processing=正在启用提供点... -message.action.enable.pod=请确认您确实要启用此提供点。 -label.action.disable.pod=禁用提供点 -label.action.disable.pod.processing=正在禁用提供点... -message.action.disable.pod=请确认您确实要禁用此提供点。 - -label.action.enable.cluster=启用群集 -label.action.enable.cluster.processing=正在启用群集... -message.action.enable.cluster=请确认您确实要启用此群集。 -label.action.disable.cluster=禁用群集 -label.action.disable.cluster.processing=正在禁用群集... -message.action.disable.cluster=请确认您确实要禁用此群集。 - -label.account.id=帐户 ID -label.account.name=帐户名称 -label.account.specific=帐户专用 -label.account=帐户 -label.accounts=帐户 -label.acquire.new.ip=获取新 IP -label.show.ingress.rule=显示入口规则 -label.hide.ingress.rule=隐藏入口规则 -label.action.attach.disk.processing=正在附加磁盘... -label.action.attach.disk=附加磁盘 -label.action.attach.iso.processing=正在附加 ISO... -label.action.attach.iso=附加 ISO -label.action.cancel.maintenance.mode.processing=正在取消维护模式... -label.action.cancel.maintenance.mode=取消维护模式 -label.action.change.password=更改密码 -label.action.change.service.processing=正在更改服务... -label.action.change.service=更改服务 -label.action.copy.ISO.processing=正在复制 ISO... -label.action.copy.ISO=复制 ISO -label.action.copy.template.processing=正在复制模板... -label.action.copy.template=复制模板 -label.action.create.template.processing=正在创建模板... -label.action.create.template=创建模板 -label.action.create.vm.processing=正在创建 VM... -label.action.create.vm=创建 VM -label.action.create.volume.processing=正在创建卷... -label.action.create.volume=创建卷 -label.action.delete.IP.range.processing=正在删除 IP 范围... -label.action.delete.IP.range=删除 IP 范围 -label.action.delete.ISO.processing=正在删除 ISO... -label.action.delete.ISO=删除 ISO -label.action.delete.account.processing=正在删除帐户... -label.action.delete.account=删除帐户 -label.action.delete.cluster.processing=正在删除群集... -label.action.delete.cluster=删除群集 -label.action.delete.disk.offering.processing=正在删除磁盘方案... -label.action.delete.disk.offering=删除磁盘方案 - -label.action.update.resource.count=更新资源数量 -label.action.update.resource.count.processing=正在更新资源数量... - -label.action.delete.domain=删除域 -label.action.delete.domain.processing=正在删除域... - -label.action.delete.firewall.processing=正在删除防火墙... -label.action.delete.firewall=删除防火墙规则 -label.action.delete.ingress.rule.processing=正在删除入口规则... -label.action.delete.ingress.rule=删除入口规则 -label.action.delete.load.balancer.processing=正在删除负载平衡器... -label.action.delete.load.balancer=删除负载平衡器规则 -label.action.edit.network.processing=正在编辑网络... -label.action.edit.network=编辑网络 -label.action.delete.network.processing=正在删除网络... -label.action.delete.network=删除网络 -label.action.delete.pod.processing=正在删除提供点... -label.action.delete.pod=删除提供点 -label.action.delete.primary.storage.processing=正在删除主存储... -label.action.delete.primary.storage=删除主存储 -label.action.delete.secondary.storage.processing=正在删除辅助存储... -label.action.delete.secondary.storage=删除辅助存储 -label.action.delete.security.group.processing=正在删除安全组... -label.action.delete.security.group=删除安全组 -label.action.delete.service.offering.processing=正在删除服务方案... -label.action.delete.service.offering=删除服务方案 -label.action.delete.snapshot.processing=正在删除快照... -label.action.delete.snapshot=删除快照 -label.action.delete.template.processing=正在删除模板... -label.action.delete.template=删除模板 -label.action.delete.user.processing=正在删除用户... -label.action.delete.user=删除用户 -label.action.delete.volume.processing=正在删除卷... -label.action.delete.volume=删除卷 -label.action.delete.zone.processing=正在删除区域... -label.action.delete.zone=删除区域 -label.action.destroy.instance.processing=正在销毁实例... -label.action.destroy.instance=销毁实例 -label.action.destroy.systemvm.processing=正在销毁系统 VM... -label.action.destroy.systemvm=销毁系统 VM -label.action.detach.disk.processing=正在取消附加磁盘... -label.action.detach.disk=取消附加磁盘 -label.action.detach.iso.processing=正在取消附加 ISO... -label.action.detach.iso=取消附加 ISO -label.action.disable.account.processing=正在禁用帐户... -label.action.disable.account=禁用帐户 -label.action.disable.static.NAT.processing=正在禁用静态 NAT... -label.action.disable.static.NAT=禁用静态 NAT -label.action.disable.user.processing=正在禁用用户... -label.action.disable.user=禁用用户 -label.action.download.ISO=下载 ISO -label.action.download.template=下载模板 -label.action.download.volume.processing=正在下载卷... -label.action.download.volume=下载卷 -label.action.edit.ISO=编辑 ISO -label.action.edit.account=编辑帐户 -label.action.edit.disk.offering=编辑磁盘方案 -label.action.edit.domain=编辑域 -label.action.edit.global.setting=编辑全局设置 -label.action.edit.instance=编辑实例 -label.action.edit.network.offering=编辑网络方案 -label.action.edit.pod=编辑提供点 -label.action.edit.primary.storage=编辑主存储 -label.action.edit.resource.limits=编辑资源限制 -label.action.edit.service.offering=编辑服务方案 -label.action.edit.template=编辑模板 -label.action.edit.user=编辑用户 -label.action.edit.zone=编辑区域 -label.action.enable.account.processing=正在启用帐户... -label.action.enable.account=启用帐户 -label.action.enable.maintenance.mode.processing=正在启用维护模式... -label.action.enable.maintenance.mode=启用维护模式 -label.action.enable.static.NAT.processing=正在启用静态 NAT... -label.action.enable.static.NAT=启用静态 NAT -label.action.enable.user.processing=正在启用用户... -label.action.enable.user=启用用户 -label.action.force.reconnect.processing=正在重新连接... -label.action.force.reconnect=强制重新连接 -label.action.generate.keys.processing=正在生成密钥... -label.action.generate.keys=生成密钥 -label.action.lock.account.processing=正在锁定帐户... -label.action.lock.account=锁定帐户 -label.action.migrate.instance=迁移实例 -label.action.migrate.instance.processing=正在迁移实例... -label.action.reboot.instance.processing=正在重新启动实例... -label.action.reboot.instance=重新启动实例 -label.action.reboot.router.processing=正在重新启动路由器... -label.action.reboot.router=重新启动路由器 -label.action.reboot.systemvm.processing=正在重新启动系统 VM... -label.action.reboot.systemvm=重新启动系统 VM -label.action.recurring.snapshot=重现快照 -label.action.release.ip.processing=正在释放 IP... -label.action.release.ip=释放 IP -label.action.remove.host.processing=正在删除主机... -label.action.remove.host=删除主机 -label.action.reset.password.processing=正在重置密码... -label.action.reset.password=重置密码 -label.action.resource.limits=资源限制 -label.action.restore.instance.processing=正在还原实例... -label.action.restore.instance=还原实例 -label.action.start.instance.processing=正在启动实例... -label.action.start.instance=启动实例 -label.action.start.router.processing=正在启动路由器... -label.action.start.router=启动路由器 -label.action.start.systemvm.processing=正在启动系统 VM... -label.action.start.systemvm=启动系统 VM -label.action.stop.instance.processing=正在停止实例... -label.action.stop.instance=停止实例 -label.action.stop.router.processing=正在停止路由器... -label.action.stop.router=停止路由器 -label.action.stop.systemvm.processing=正在停止系统 VM... -label.action.stop.systemvm=停止系统 VM -label.action.take.snapshot.processing=正在创建快照... -label.action.take.snapshot=创建快照 -label.action.update.OS.preference.processing=正在更新操作系统首选项... -label.action.update.OS.preference=更新操作系统首选项 -label.actions=操作 -label.active.sessions=活动会话 -label.add.account=添加帐户 -label.add.by.cidr=按 CIDR 添加 -label.add.by.group=按组添加 -label.add.cluster=添加群集 -label.add.direct.iprange=添加直接 IP 范围 -label.add.disk.offering=添加磁盘方案 -label.add.domain=添加域 -label.add.firewall=添加防火墙规则 -label.add.host=添加主机 -label.add.ingress.rule=添加入口规则 -label.add.ip.range=添加 IP 范围 -label.add.iso=添加 ISO -label.add.load.balancer=添加负载平衡器 -label.add.more=添加更多 -label.add.network=添加网络 -label.add.pod=添加提供点 -label.add.primary.storage=添加主存储 -label.add.secondary.storage=添加辅助存储 -label.add.security.group=添加安全组 -label.add.service.offering=添加服务方案 -label.add.template=添加模板 -label.add.user=添加用户 -label.add.vlan=添加 VLAN -label.add.volume=添加卷 -label.add.zone=添加区域 -label.add=添加 -label.adding.cluster=正在添加群集 -label.adding.failed=添加失败 -label.adding.pod=正在添加提供点 -label.adding.processing=正在添加... -label.adding.succeeded=已成功添加 -label.adding.user=正在添加用户 -label.adding.zone=正在添加区域 -label.adding=正在添加 -label.additional.networks=其他网络 -label.admin.accounts=管理员帐户 -label.admin=管理员 -label.advanced.mode=高级模式 -label.advanced.search=高级搜索 -label.advanced=高级 -label.alert=警报 -label.algorithm=算法 -label.allocated=已分配 -label.api.key=API 密钥 -label.assign.to.load.balancer=正在将实例分配给负载平衡器 -label.assign=分配 -label.associated.network.id=已关联网络 ID -label.attached.iso=已附加 ISO -label.availability.zone=可用区域 -label.availability=可用性 -label.available.public.ips=可用公用 IP 地址 -label.available=可用 -label.back=返回 -label.basic.mode=基本模式 -label.bootable=可启动 -label.broadcast.domain.type=广播域类型 -label.by.account=按帐户 -label.by.availability=按可用性 -label.by.domain=按域 -label.by.end.date=按结束日期 -label.by.level=按级别 -label.by.pod=按提供点 -label.by.role=按角色 -label.by.start.date=按开始日期 -label.by.state=按状态 -label.by.traffic.type=按流量类型 -label.by.type.id=按类型 ID -label.by.type=按类型 -label.by.zone=按区域 -label.bytes.received=接收的字节数 -label.bytes.sent=发送的字节数 -label.cancel=取消 -label.certificate=证书 -label.privatekey=PKCS#8 私钥 -label.domain.suffix=DNS 域后缀(例如 xyz.com) -label.character=字符 -label.cidr.account=CIDR 或帐户/安全组 -label.close=关闭 -label.cloud.console=云管理控制台 -label.cloud.managed=由 Cloud.com 管理 -label.cluster.type=群集类型 -label.cluster=群集 -label.code=代码 -label.confirmation=确认 -label.cpu.allocated.for.VMs=已分配给 VM 的 CPU -label.cpu.allocated=已分配的 CPU -label.cpu.mhz=CPU (MHz) -label.cpu.utilized=CPU 利用率 -label.cpu=CPU -label.created=创建日期 -label.cross.zones=跨区域 -label.custom.disk.size=自定义磁盘大小 -label.daily=每天一次 -label.data.disk.offering=数据磁盘方案 -label.date=日期 -label.day.of.month=日期 -label.day.of.week=星期 -label.delete=删除 -label.deleting.failed=删除失败 -label.deleting.processing=正在删除... -label.description=说明 -label.detaching.disk=正在取消附加磁盘 -label.details=详细信息 -label.device.id=设备 ID -label.disabled=已禁用 -label.disabling.vpn.access=正在禁用 VPN 访问 -label.disk.allocated=已分配的磁盘 -label.disk.offering=磁盘方案 -label.disk.size.gb=磁盘大小(GB) -label.disk.size=磁盘大小 -label.disk.total=磁盘总量 -label.disk.volume=磁盘卷 -label.display.text=显示文本 -label.dns.1=DNS 1 -label.dns.2=DNS 2 -label.domain.admin=域管理员 -label.domain.id=域 ID -label.domain.name=域名 -label.domain=域 -label.double.quotes.are.not.allowed=不允许使用双引号 -label.download.progress=下载进度 -label.edit=编辑 -label.email=电子邮件 -label.enabling.vpn.access=正在启用 VPN 访问 -label.enabling.vpn=正在启用 VPN -label.end.port=结束端口 -label.endpoint.or.operation=端点或操作 -label.error.code=错误代码 -label.error=错误 -label.esx.host=ESX/ESXi 主机 -label.example=示例 -label.failed=失败 -label.featured=精选 -label.firewall=防火墙 -label.first.name=名字 -label.format=格式 -label.friday=星期五 -label.full=满载 -label.gateway=网关 -label.general.alerts=常规警报 -label.generating.url=正在生成 URL -label.go.step.2=转至步骤 2 -label.go.step.3=转至步骤 3 -label.go.step.4=转至步骤 4 -label.go.step.5=转至步骤 5 -label.group.optional=组(可选) -label.group=组 -label.guest.cidr=来宾 CIDR -label.guest.gateway=来宾网关 -label.guest.ip.range=来宾 IP 范围 -label.guest.ip=来宾 IP 地址 -label.guest.netmask=来宾网络掩码 -label.ha.enabled=已启用高可用性 -label.help=帮助 -label.host.alerts=主机警报 -label.host.name=主机名称 -label.host=主机 -label.hosts=主机 -label.hourly=每小时一次 -label.hypervisor.type=虚拟机管理程序类型 -label.hypervisor=虚拟机管理程序 -label.id=ID -label.info=信息 -label.ingress.rule=入口规则 -label.initiated.by=启动者 -label.instance.limits=实例限制 -label.instance.name=实例名称 -label.instance=实例 -label.instances=实例 -label.internal.dns.1=内部 DNS 1 -label.internal.dns.2=内部 DNS 2 -label.interval.type=间隔类型 -label.invalid.integer=无效整数 -label.invalid.number=无效数字 -label.ip.address=IP 地址 -label.ip.allocations=IP 分配 -label.ip.limits=公用 IP 限制 -label.ip.or.fqdn=IP 或 FQDN -label.ip.range=IP 范围 -label.ip=IP -label.ips=IP -label.is.default=是否为默认值 -label.is.shared=是否共享 -label.is.system=是否为系统 -label.iscsi=iSCSI -label.iso.boot=ISO 启动 -label.iso=ISO -label.isolation.mode=隔离模式 -label.keep=保留 -label.lang.chinese=简体中文 -label.lang.english=英语 -label.lang.japanese=日语 -label.lang.spanish=西班牙语 -label.last.disconnected=上次断开连接时间 -label.last.name=姓氏 -label.level=级别 -label.linklocal.ip=链接本地 IP 地址 -label.load.balancer=负载平衡器 -label.loading=正在加载 -label.local=本地 -label.login=登录 -label.logout=注销 -label.lun=LUN -label.manage=托管 -label.maximum=最大值 -label.memory.allocated=已分配的内存 -label.memory.mb=内存(MB) -label.memory.total=内存总量 -label.memory.used=已使用的内存 -label.memory=内存 -label.menu.accounts=帐户 -label.menu.alerts=警报 -label.menu.all.accounts=所有帐户 -label.menu.all.instances=所有实例 -label.menu.community.isos=社区 ISO -label.menu.community.templates=社区模板 -label.menu.configuration=配置 -label.menu.dashboard=控制板 -label.menu.destroyed.instances=已销毁的实例 -label.menu.disk.offerings=磁盘方案 -label.menu.domains=域 -label.menu.events=事件 -label.menu.featured.isos=精选 ISO -label.menu.featured.templates=精选模板 -label.menu.global.settings=全局设置 -label.menu.instances=实例 -label.menu.ipaddresses=IP 地址 -label.menu.isos=ISO -label.menu.my.accounts=我的帐户 -label.menu.my.instances=我的实例 -label.menu.my.isos=我的 ISO -label.menu.my.templates=我的模板 -label.menu.network.offerings=网络方案 -label.menu.network=网络 -label.menu.physical.resources=物理资源 -label.menu.running.instances=正在运行的实例 -label.menu.security.groups=安全组 -label.menu.service.offerings=服务方案 -label.menu.snapshots=快照 -label.menu.stopped.instances=已停止的实例 -label.menu.storage=存储 -label.menu.system.vms=系统 VM -label.menu.system=系统 -label.menu.templates=模板 -label.menu.virtual.appliances=虚拟设备 -label.menu.virtual.resources=虚拟资源 -label.menu.volumes=卷 -label.migrate.instance.to=迁移实例至 -label.minimum=最小值 -label.minute.past.hour=分钟时 -label.monday=星期一 -label.monthly=每月一次 -label.more.templates=更多模板 -label.my.account=我的帐户 -label.name.optional=名称(可选) -label.name=名称 -label.netmask=网络掩码 -label.network.desc=网络描述 -label.network.domain=网络域 -label.network.id=网络 ID -label.network.name=网络名称 -label.network.offering.display.text=网络方案显示文本 -label.network.offering.id=网络方案 ID -label.network.offering.name=网络方案名称 -label.network.offering=网络方案 -label.network.rate=网络速率 -label.network.read=网络读取量 -label.network.type=网络类型 -label.network.write=网络写入量 -label.network=网络 -label.new.password=新密码 -label.next=下一步 -label.nfs.server=NFS 服务器 -label.nfs.storage=NFS 存储 -label.nfs=NFS -label.nics=NIC -label.no.actions=无可用操作 -label.no.alerts=无最近发出的警报 -label.no.errors=无最近出现的错误 -label.no.isos=无可用 ISO -label.no.items=无可用项目 -label.no.security.groups=无可用安全组 -label.no.thanks=不,谢谢 -label.no=否 -label.none=无 -label.not.found=未找到 -label.num.cpu.cores=CPU 内核数 -label.numretries=重试次数 -label.offer.ha=提供高可用性 -label.optional=可选 -label.os.preference=操作系统首选项 -label.os.type=操作系统类型 -label.owned.public.ips=拥有的公用 IP 地址数 -label.owner.account=所有者帐户 -label.owner.domain=所有者域 -label.parent.domain=父域 -label.password.enabled=已启用密码 -label.password=密码 -label.path=路径 -label.please.wait=请稍候 -label.pod=提供点 -label.port.forwarding=端口转发 -label.port.range=端口范围 -label.prev=上一页 -label.primary.allocated=已分配的主存储 -label.primary.network=主网络 -label.primary.storage=主存储 -label.primary.used=已使用的主存储 -label.private.interface=专用接口 -label.private.ip.range=专用 IP 范围 -label.private.ip=专用 IP 地址 -label.private.ips=专用 IP 地址 -label.private.port=专用端口 -label.private.zone=专用区域 -label.protocol=协议 -label.public.interface=公用接口 -label.public.ip=公用 IP 地址 -label.public.ips=公用 IP 地址 -label.public.port=公用端口 -label.public.zone=公用区域 -label.public=公用 -label.recent.errors=最近出现的错误 -label.refresh=刷新 -label.related=相关联 -label.remove.from.load.balancer=正在从负载平衡器中删除实例 -label.removing.user=正在删除用户 -label.required=必填项 -label.reserved.system.ip=预留的系统 IP -label.resource.limits=资源限制 -label.resource=资源 -label.resources=资源 -label.role=角色 -label.root.disk.offering=根磁盘方案 -label.running.vms=正在运行的 VM -label.saturday=星期六 -label.save=保存 -label.saving.processing=正在保存... -label.scope=范围 -label.search=搜索 -label.secondary.storage=辅助存储 -label.secondary.used=已使用的辅助存储 -label.secret.key=密钥 -label.security.group.name=安全组名称 -label.security.group=安全组 -label.security.groups.enabled=已启用安全组 -label.security.groups=安全组 -label.sent=已发送 -label.server=服务器 -label.service.offering=服务方案 -label.system.service.offering=系统服务方案 -label.session.expired=会话已过期 -label.shared=已共享 -label.size=大小 -label.snapshot.limits=快照限制 -label.snapshot.name=快照名称 -label.snapshot.s=快照 -label.snapshot.schedule=设置重现快照 -label.snapshot=快照 -label.snapshots=快照 -label.source.nat=源 NAT -label.specify.vlan=指定 VLAN -label.start.port=起始端口 -label.state=状态 -label.static.nat.to=静态 NAT 目标 -label.static.nat=静态 NAT -label.statistics=统计数据 -label.status=状态 -label.step.1.title=步骤 1: 选择一个模板 -label.step.1=步骤 1 -label.step.2.title=步骤 2: 服务方案 -label.step.2=步骤 2 -label.step.3.title=步骤 3: 选择一种磁盘方案 -label.step.3=步骤 3 -label.step.4.title=步骤 4: 网络 -label.step.4=步骤 4 -label.step.5.title=步骤 5: 核对 -label.step.5=步骤 5 -label.stopped.vms=已停止的 VM -label.storage.type=存储类型 -label.storage=存储 -label.submit=提交 -label.submitted.by=[提交者: ] -label.succeeded=成功 -label.sunday=星期日 -label.system.capacity=系统容量 -label.system.vm.type=系统 VM 类型 -label.system.vm=系统 VM -label.system.vms=系统 VM -label.tagged=已标记 -label.tags=标签 -label.target.iqn=目标 IQN -label.template.limits=模板限制 -label.template=模板 -label.theme.default=默认主题 -label.theme.grey=自定义 - 灰色 -label.theme.lightblue=自定义 - 淡蓝色 -label.thursday=星期四 -label.time.zone=时区 -label.time=时间 -label.timeout.in.second = 超时(秒) -label.timezone=时区 -label.total.cpu=CPU 总量 -label.total.vms=总 VM 数 -label.traffic.type=流量类型 -label.tuesday=星期二 -label.type.id=类型 ID -label.type=类型 -label.unavailable=不可用 -label.unlimited=无限制 -label.untagged=已取消标记 -label.update.ssl.cert=更新 SSL 证书 -label.update.ssl=更新 SSL 证书 -label.updating=正在更新 -label.url=URL -label.usage.interface=使用界面 -label.used=已使用 -label.user=用户 -label.username=用户名 -label.users=用户 -label.value=值 -label.vcenter.cluster=vCenter 群集 -label.vcenter.datacenter=vCenter 数据中心 -label.vcenter.datastore=vCenter 数据存储 -label.vcenter.host=vCenter 主机 -label.vcenter.password=vCenter 密码 -label.vcenter.username=vCenter 用户名 -label.version=版本 -label.virtual.appliance=虚拟设备 -label.virtual.appliances=虚拟设备 -label.virtual.network=虚拟网络 -label.vlan.id=VLAN ID -label.vlan.range=VLAN 范围 -label.vlan=VLAN -label.vm.add=添加实例 -label.vm.destroy=销毁 -label.vm.reboot=重新启动 -label.vm.start=启动 -label.vm.stop=停止 -label.vmfs=VMFS -label.vms=VM -label.volume.limits=卷限制 -label.volume.name=卷名称 -label.volume=卷 -label.volumes=卷 -label.vpn=VPN -label.vsphere.managed=由 vSphere 管理 -label.waiting=正在等待 -label.warn=警告 -label.wednesday=星期三 -label.weekly=每周一次 -label.welcome.cloud.console=欢迎使用管理控制台 -label.welcome=欢迎 -label.yes=是 -label.zone.id=区域 ID -label.zone.step.1.title=步骤 1: 选择一个网络 -label.zone.step.2.title=步骤 2: 添加一个区域 -label.zone.step.3.title=步骤 3: 添加一个提供点 -label.zone.step.4.title=步骤 4: 添加一个 IP 范围 -label.zone.wide=整个区域 -label.zone=区域 - -#Messages -message.acquire.public.ip=请选择一个要从中获取新 IP 的区域。 -message.action.cancel.maintenance.mode=请确认您确实要取消此维护。 -message.action.cancel.maintenance=已成功取消维护您的主机。此过程可能需要长达几分钟时间。 -message.action.delete.ISO.for.all.zones=此 ISO 由所有区域使用。请确认您确实要将其从所有区域中删除。 -message.action.delete.ISO=请确认您确实要删除此 ISO。 -message.action.delete.cluster=请确认您确实要删除此群集。 -message.action.delete.disk.offering=请确认您确实要删除此磁盘方案。 -message.action.delete.domain=请确认您确实要删除此域。 -message.action.delete.external.firewall=请确认您确实要删除此外部防火墙。警告: 如果您计划重新添加同一个外部防火墙,则必须在设备上重置使用数据。 -message.action.delete.external.load.balancer=请确认您确实要删除此外部负载平衡器。警告: 如果您计划重新添加同一个外部负载平衡器,则必须在设备上重置使用数据。 -message.action.delete.ingress.rule=请确认您确实要删除此入口规则。 -message.action.delete.network=请确认您确实要删除此网络。 -message.action.delete.pod=请确认您确实要删除此提供点。 -message.action.delete.primary.storage=请确认您确实要删除此主存储。 -message.action.delete.secondary.storage=请确认您确实要删除此辅助存储。 -message.action.delete.security.group=请确认您确实要删除此安全组。 -message.action.delete.service.offering=请确认您确实要删除此服务方案。 -message.action.delete.snapshot=请确认您确实要删除此快照。 -message.action.delete.template.for.all.zones=此模板由所有区域使用。请确认您确实要将其从所有区域中删除。 -message.action.delete.template=请确认您确实要删除此模板。 -message.action.delete.volume=请确认您确实要删除此卷。 -message.action.delete.zone=请确认您确实要删除此区域。 -message.action.destroy.instance=请确认您确实要销毁此实例。 -message.action.destroy.systemvm=请确认您确实要销毁此系统 VM。 -message.action.disable.static.NAT=请确认您确实要禁用静态 NAT。 -message.action.enable.maintenance=已成功准备好维护您的主机。此过程可能需要长达几分钟或更长时间,具体取决于当前此主机上的 VM 数量。 -message.action.force.reconnect=已成功强制重新连接您的主机。此过程可能需要长达几分钟时间。 -message.action.host.enable.maintenance.mode=启用维护模式将导致将此主机上正在运行的所有实例实时迁移到任何可用的主机。 -message.action.instance.reset.password=请确认您确实要更改此虚拟机的 ROOT 用户密码。 -message.action.primarystorage.enable.maintenance.mode=警告: 将主存储置于维护模式将导致使用主存储中的卷的所有 VM 停止运行。是否要继续? -message.action.reboot.instance=请确认您确实要重新启动此实例。 -message.action.reboot.router=请确认您确实要重新启动此路由器。 -message.action.reboot.systemvm=请确认您确实要重新启动此系统 VM。 -message.action.release.ip=请确认您确实要释放此 IP。 -message.action.remove.host=删除群集中的最后一个/仅有的主机并重新安装此主机将销毁主机上的工作环境/数据库,并呈现无法使用的 VM 来宾。 -message.action.restore.instance=请确认您确实要还原此实例。 -message.action.start.instance=请确认您确实要启动此实例。 -message.action.start.router=请确认您确实要启动此路由器。 -message.action.start.systemvm=请确认您确实要启动此系统 VM。 -message.action.stop.instance=请确认您确实要停止此实例。 -message.action.stop.router=请确认您确实要停止此路由器。 -message.action.stop.systemvm=请确认您确实要停止此系统 VM。 -message.action.take.snapshot=请确认您确实要创建此卷的快照。 -message.add.cluster.zone=向区域 中添加一个虚拟机管理程序托管的群集 -message.add.cluster=向区域 、提供点 中添加一个虚拟机管理程序托管的群集 -message.add.disk.offering=请指定以下参数以添加一个新的磁盘方案 -message.add.firewall=向区域中添加一个防火墙 -message.add.host=请指定以下参数以添加一台新主机 -message.add.ip.range.direct.network=向区域 中的直接网络 添加一个 IP 范围 -message.add.ip.range.to.pod=

向提供点添加一个 IP 范围:

-message.add.ip.range=向区域中的公用网络添加一个 IP 范围 -message.add.load.balancer=向区域中添加一个负载平衡器 -message.add.network=为区域添加一个新网络: -message.add.pod=为区域 添加一个新提供点 -message.add.primary.storage=为区域 、提供点 添加一个新的主存储 -message.add.primary=请指定以下参数以添加一个新主存储 -message.add.secondary.storage=为区域 添加一个新存储 -message.add.service.offering=请填写以下数据以添加一个新计算方案。 -message.add.template=请输入以下数据以创建新模板 -message.add.volume=请填写以下数据以添加一个新卷。 -message.additional.networks.desc=请选择虚拟机要连接到的其他网络。 -message.advanced.mode.desc=如果您希望启用 VLAN 支持,请选择此网络模式。此网络模式在允许管理员提供防火墙、VPN 或负载平衡器支持等自定义网络方案以及启用直接网络连接与虚拟网络连接等方面提供了最大的灵活性。 -message.advanced.security.group=如果要使用安全组提供来宾 VM 隔离,请选择此模式。 -message.advanced.virtual=如果要使用整个区域的 VLAN 提供来宾 VM 隔离,请选择此模式。 -message.allow.vpn.access=请输入要允许进行 VPN 访问的用户的用户名和密码。 -message.attach.iso.confirm=请确认您确实要将此 ISO 附加到此虚拟实例。 -message.attach.volume=请填写以下数据以附加一个新卷。如果要将磁盘卷附加到基于 Windows 的虚拟机,需要重新启动此实例才能显示已连接的磁盘。 -message.basic.mode.desc=如果您**希望启用任何 VLAN 支持,请选择此网络模式。将直接从此网络中为在此网络模式下创建的所有虚拟机实例分配一个 IP,并使用安全组提供安全性和隔离。 -message.change.offering.confirm=请确认您确实要更改此虚拟实例的服务方案。 -message.copy.iso.confirm=请确认您确实要将 ISO 复制到 -message.copy.template=将模板 XXX 从区域 复制到 -message.create.template.vm=基于模板 创建 VM -message.create.template.volume=请先指定以下信息,然后再创建磁盘卷的模板: 。创建模板可能需要几分钟到更长的时间,具体取决于磁盘卷的大小。 -message.delete.account=请确认您确实要删除此帐户。 -message.detach.iso.confirm=请确认您确实要从此虚拟机中取消附加此 ISO。 -message.disable.account=请确认您确实要禁用此帐户。通过禁用此帐户,此帐户的所有用户将不再有权访问各自的云资源。所有正在运行的虚拟机将立即关闭。 -message.disable.vpn.access=请确认您确实要禁用 VPN 访问。 -message.download.ISO=请单击 00000 下载 ISO -message.download.template=请单击 00000 下载模板 -message.download.volume=请单击 00000 下载卷 -message.edit.confirm=请先确认您所做的更改,然后单击“保存”。 -message.edit.limits=请指定对以下资源的限制。“-1”表示不限制要创建的资源数。 -message.enable.account=请确认您确实要启用此帐户。 -message.enable.vpn.access=当前已对此 IP 地址禁用了 VPN。是否要启用 VPN 访问? -message.enabled.vpn.ip.sec=您的 IPSec 预共享密钥 -message.enabled.vpn=您的 VPN 访问功能当前已启用,可以通过 IP 进行访问 -message.launch.vm.on.private.network=是否要在您的私人专用网络中启动实例? -message.lock.account=请确认您确实要锁定此帐户。通过锁定此帐户,此帐户的所有用户将不再能够管理各自的云资源,但仍然可以访问现有资源。 -message.migrate.instance.confirm=请确认要将虚拟实例迁移到的主机。 -message.new.user=请指定以下信息以向帐户中添加一个新用户 -message.no.network.support.configuration.not.true=您的所有区域都未启用安全组,因此无其他网络功能。请继续执行步骤 5。 -message.no.network.support=您选择的虚拟机管理程序 vSphere 没有任何其他网络功能。请继续执行步骤 5。 -message.number.clusters=

群集

-message.number.hosts=

主机

-message.number.pods=

提供点

-message.number.storage=

主存储卷

-message.number.zones=

区域

-message.remove.vpn.access=请确认您确实要删除以下用户的 VPN 访问。 -message.restart.mgmt.server=请重新启动 Management Server 以使您的新设置生效。 -message.security.group.usage=(按住 Ctrl 键并单击鼠标可选择所有适用的安全组) -message.snapshot.schedule=可以通过从以下可用选项中进行选择并应用您的策略首选项来设置重现快照计划 -message.step.1.continue=请选择一个模板或 ISO 以继续 -message.step.1.desc=请为您的新虚拟实例选择一个模板。还可以选择一个可将 ISO 映像安装到其中的空模板。 -message.step.2.continue=请选择一种服务方案以继续 -message.step.2.desc= -message.step.3.continue=请选择一种磁盘方案以继续 -message.step.3.desc= -message.step.4.continue=请至少选择一个网络以继续 -message.step.4.desc=请选择虚拟实例要连接到的主网络。 -message.update.os.preference=请为此主机选择一个操作系统首选项。首先将具有相似首选项的所有虚拟实例分配至此主机,然后再选择其他实例。 -message.update.ssl=请提交一个新的 X.509 兼容的 SSL 证书,以将其更新到每个控制台代理虚拟实例: -message.virtual.network.desc=您的帐户的专用虚拟网络。广播域包含在 VLAN 中,并且所有公用网络访问都由虚拟路由器路由出去。 -message.volume.create.template.confirm=请确认您确实要为此磁盘卷创建一个模板。创建模板可能需要几分钟到更长的时间,具体取决于卷的大小。 -message.zone.step.1.desc=请为您的区域选择一种网络模式。 -message.zone.step.2.desc=请输入以下信息以添加一个新区域 -message.zone.step.3.desc=请输入以下信息以添加一个新提供点 -message.apply.snapshot.policy=您已成功更新当前的快照策略。 -message.disable.snapshot.policy=您已成功禁用当前的快照策略。 -message.action.change.service.warning.for.instance=必须先禁用您的实例,然后再尝试更改其当前的服务方案。 -message.action.change.service.warning.for.router=必须先停止您的路由器,然后再尝试更改其当前的服务方案。 -message.action.reset.password.warning=必须先停止您的实例,然后再尝试更改其当前的密码。 -message.action.reset.password.off=您的实例当前不支持此功能。 - -#Errors -error.login=您的用户名/密码与我们的记录不一致。 -error.menu.select=正在选择项目,无法执行操作。 -error.mgmt.server.inaccessible=无法访问 Management Server。请稍后再试。 -error.session.expired=您的会话已过期。 -error.unresolved.internet.name=无法解析您的 Internet 名称。 - - - - - - - - +#new labels (begin) ********************************************************************************************** +label.management.ips=Management IP Addresses +#new labels (end) ************************************************************************************************ + + +#modified labels (begin) ***************************************************************************************** + + +#modified labels (end) ******************************************************************************************* + + +label.isolated.networks=隔离网络 +label.latest.events=最新事件 +state.Enabled=已启用 +label.system.wide.capacity=全系统容量 +label.network.service.providers=网络服务提供程序 +message.launch.zone=区域已准备就绪,可随时启动;请继续执行下一步骤。 +error.unable.to.reach.management.server=无法访问 Management Server +label.internal.name=内部名称 +message.configure.all.traffic.types=您有多个物理网络,请单击“编辑”按钮为每种流量类型配置标签。 +message.edit.traffic.type=请指定您希望与此流量类型关联的流量标签。 +label.edit.traffic.type=编辑流量类型 +label.label=标签 +label.max.networks=最大网络数 +error.invalid.username.password=用户名或密码无效 +message.enabling.security.group.provider=正在启用安全组提供程序 +message.adding.Netscaler.provider=正在添加 Netscaler 提供程序 +message.creating.guest.network=正在创建来宾网络 +label.action.delete.physical.network=删除物理网络 +message.action.delete.physical.network=请确认您确实要删除此物理网络 +message.installWizard.copy.whatIsAHost=主机是指一台计算机。主机提供运行来宾虚拟机的计算资源。每台主机上都安装有虚拟机管理程序软件,用于管理来宾 VM (裸机主机除外,将在“高级安装指南”中讨论这一特殊案例)。例如,启用了 KVM 的 Linux 服务器、Citrix XenServer 服务器和 ESXi 服务器都可用作主机。在基本安装中,我们将使用一台运行 XenServer 的主机。

主机是 CloudStack™ 部署中最小的组织单位。主机包含在群集中,群集包含在提供点中,提供点包含在区域中。 + + +label.add.compute.offering=添加计算方案 +label.compute.offering=计算方案 +label.compute.offerings=计算方案 +label.select.offering=选择方案 +label.menu.infrastructure=基础架构 +label.sticky.tablesize=表大小 +label.sticky.expire=过期日期 +label.sticky.cookie-name=Cookie 名称 +label.sticky.mode=模式 +label.sticky.length=长度 +label.sticky.holdtime=持续时间 +label.sticky.request-learn=request-learn +label.sticky.prefix=prefix +label.sticky.nocache=nocache +label.sticky.indirect=indirect +label.sticky.postonly=postonly +label.sticky.domain=域 +state.Allocating=正在分配 +state.Migrating=正在迁移 +error.please.specify.physical.network.tags=网络方案在您为此物理网络指定标签之后才可用。 + + +state.Stopping=正在停止 +message.add.load.balancer.under.ip=已在以下 IP 下添加负载平衡器规则: +message.select.instance=请选择一个实例。 +label.select=选择 +label.select.vm.for.static.nat=为静态 NAT 选择 VM +label.select.instance=选择实例 +label.nat.port.range=NAT 端口范围 +label.static.nat.vm.details=静态 NAT VM 详情 +label.edit.lb.rule=编辑负载平衡器规则 +message.migrate.instance.to.host=请确认您确实要将实例迁移到其他主机。 +label.migrate.instance.to.host=将实例迁移到其他主机 +message.migrate.instance.to.ps=请确认您确实要将实例迁移到其他主存储。 +label.migrate.instance.to.ps=将实例迁移到其他主存储 +label.corrections.saved=已保存修正 +message.installWizard.copy.whatIsSecondaryStorage=辅助存储与区域相关联,用于存储以下项目:
  • 模板 - 可用于启动 VM 并可以包含其他配置信息(例如,已安装的应用程序)的操作系统映像
  • ISO 映像 - 可重新启动或不可重新启动的操作系统映像
  • 磁盘卷快照 - 已保存的 VM 数据副本,可用于执行数据恢复或创建新模板
+message.installWizard.copy.whatIsPrimaryStorage=CloudStack™ 云基础架构使用以下两种类型的存储: 主存储和辅助存储。这两种类型的存储可以是 iSCSI 或 NFS 服务器,也可以是本地磁盘。

主存储与群集相关联,用于存储该群集中的主机上正在运行的所有 VM 对应的每个来宾 VM 的磁盘卷。主存储服务器通常位于靠近主机的位置。 +message.installWizard.copy.whatIsACluster=群集提供了一种编组主机的方法。群集中的所有主机都具有相同的硬件,运行相同的虚拟机管理程序,位于同一子网中,并访问相同的共享存储。可以实时将虚拟机实例(VM)从一台主机迁移到同一群集内的其他主机,而无需中断向用户提供服务。群集是 CloudStack™ 部署中的第三大组织单位。群集包含在提供点中,提供点包含在区域中。

CloudStack™ 允许云部署中存在多个群集,但对于基本安装,我们只需要一个群集。 +message.installWizard.copy.whatIsAPod=一个提供点通常代表一个机架。同一提供点中的主机位于同一子网中。

提供点是 CloudStack™ 部署中的第二大组织单位。提供点包含在区域中。每个区域中可以包含一个或多个提供点;在基本安装中,您的区域中将仅包含一个提供点。 +message.installWizard.copy.whatIsAZone=区域是 CloudStack™ 部署中最大的组织单位。虽然允许一个数据中心中存在多个区域,但是一个区域通常与一个数据中心相对应。将基础架构编组到区域中的好处是可以提供物理隔离和冗余。例如,每个区域都可以拥有各自的电源供应和网络上行方案,并且各区域可以在地理位置上相隔很远(虽然并非必须相隔很远)。 +message.installWizard.copy.whatIsCloudStack=CloudStack™ 是一个软件平台,可将计算资源集中在一起以构建公共、私有和混合基础设施即服务(IaaS)云。CloudStack™ 负责管理组成云基础架构的网络、存储和计算节点。使用 CloudStack™ 可以部署、管理和配置云计算环境。

CloudStack™ 通过扩展商用硬件上运行的每个虚拟机映像的范围,提供了一个实时可用的云基础架构软件堆栈用于以服务方式交付虚拟数据中心,即交付构建、部署和管理多层次和多租户云应用程序必需的所有组件。开源版本和 Premium 版本都已可用,且提供的功能几乎完全相同。 +message.installWizard.tooltip.addSecondaryStorage.path=导出路径(位于上述指定服务器上) +message.installWizard.tooltip.addSecondaryStorage.nfsServer=托管辅助存储的 NFS 服务器的 IP 地址 +message.installWizard.tooltip.addPrimaryStorage.path=(适用于 NFS)在 NFS 中,此路径为服务器的导出路径。路径(针对 SharedMountPoint)。对于 KVM,此路径为装载了辅助存储的每个主机上的路径。例如,/mnt/primary。 +message.installWizard.tooltip.addPrimaryStorage.server=(适用于 NFS、iSCSI 或 PreSetup)存储设备的 IP 地址或 DNS 名称。 +message.installWizard.tooltip.addPrimaryStorage.name=存储设备的名称。 +message.installWizard.tooltip.addHost.password=此为上述用户的密码(来自 XenServer 安装)。 +message.installWizard.tooltip.addHost.username=通常为 root。 +message.installWizard.tooltip.addHost.hostname=主机的 DNS 名称或 IP 地址。 +message.installWizard.tooltip.addCluster.name=群集的名称。此名称可以是您选择的文本,且未由 CloudStack 使用。 +message.installWizard.tooltip.addPod.reservedSystemEndIp=此为 CloudStack 用于管理辅助存储 VM 和控制台代理 VM 的专用网络中的 IP 范围。这些 IP 地址来自与计算服务器相同的子网。 +message.installWizard.tooltip.addPod.reservedSystemStartIp=此为 CloudStack 用于管理辅助存储 VM 和控制台代理 VM 的专用网络中的 IP 范围。这些 IP 地址来自与计算服务器相同的子网。 +message.installWizard.tooltip.addPod.reservedSystemNetmask=来宾将要使用的子网上正在使用的网络掩码。 +message.installWizard.tooltip.addPod.reservedSystemGateway=该提供点中的主机网关。 +message.installWizard.tooltip.addPod.name=提供点的名称 +message.installWizard.tooltip.configureGuestTraffic.guestEndIp=能够分配给此区域中的来宾的 IP 地址范围。如果使用一个 NIC,这些 IP 应位于与提供点 CIDR 相同的 CIDR 中。 +message.installWizard.tooltip.configureGuestTraffic.guestStartIp=能够分配给此区域中的来宾的 IP 地址范围。如果使用一个 NIC,这些 IP 应位于与提供点 CIDR 相同的 CIDR 中。 +message.installWizard.tooltip.configureGuestTraffic.guestNetmask=来宾应使用的子网上正在使用的网络掩码 +message.installWizard.tooltip.configureGuestTraffic.guestGateway=来宾应使用的网关 +message.installWizard.tooltip.configureGuestTraffic.description=您的网络说明 +message.installWizard.tooltip.configureGuestTraffic.name=您的网络名称 +message.installWizard.tooltip.addZone.internaldns2=这些服务器是供此区域中的系统 VM 使用的 DNS 服务器,将通过系统 VM 的专用网络接口进行访问。您为提供点提供的专用 IP 地址必须路由到在此处指定的 DNS 服务器。 +message.installWizard.tooltip.addZone.internaldns1=这些服务器是供此区域中的系统 VM 使用的 DNS 服务器,将通过系统 VM 的专用网络接口进行访问。您为提供点提供的专用 IP 地址必须路由到在此处指定的 DNS 服务器。 +message.installWizard.tooltip.addZone.dns2=这些服务器是供此区域中的来宾 VM 使用的 DNS 服务器,将通过您稍后要添加的公用网络进行访问。此区域的公用 IP 地址必须路由到在此处指定的 DNS 服务器。 +message.installWizard.tooltip.addZone.name=区域名称 +message.installWizard.tooltip.addZone.dns1=这些服务器是供此区域中的来宾 VM 使用的 DNS 服务器,将通过您稍后要添加的公用网络进行访问。此区域的公用 IP 地址必须路由到在此处指定的 DNS 服务器。 +message.setup.successful=已成功设置云! +label.may.continue=您现在可以继续进行操作。 +error.installWizard.message=出现问题;请返回并更正任何错误 +message.installWizard.now.building=现在正在构建您的云... +message.installWizard.click.retry=请单击此按钮重新尝试启动。 +label.launch=启动 +label.installWizard.click.launch=请单击“启动”按钮。 +label.congratulations=祝贺您! +label.installWizard.addSecondaryStorageIntro.subtitle=什么是辅助存储? +label.installWizard.addSecondaryStorageIntro.title=添加一个辅助存储 +label.installWizard.addPrimaryStorageIntro.subtitle=什么是主存储? +label.installWizard.addPrimaryStorageIntro.title=添加一个主存储 +label.installWizard.addHostIntro.subtitle=什么是主机? +label.installWizard.addHostIntro.title=添加一个主机 +label.installWizard.addClusterIntro.subtitle=什么是群集? +label.installWizard.addClusterIntro.title=添加一个群集 +label.installWizard.addPodIntro.subtitle=什么是提供点? +label.installWizard.addPodIntro.title=添加一个提供点 +label.installWizard.addZone.title=添加区域 +label.installWizard.addZoneIntro.subtitle=什么是区域? +label.installWizard.addZoneIntro.title=添加一个区域 +error.password.not.match=密码字段不一致 +label.confirm.password=确认密码 +message.change.password=请更改您的密码。 +label.save.and.continue=保存并继续 +label.skip.guide=我以前使用过 CloudStack,跳过此指南 +label.continue.basic.install=继续执行基本安装 +label.introduction.to.cloudstack=CloudStack™ 简介 +label.what.is.cloudstack=什么是 CloudStack™? +label.hints=提示 +label.installWizard.subtitle=此教程将帮助您设置 CloudStack™ 安装 +label.continue=继续 +label.installWizard.title=您好,欢迎使用 CloudStack™ +label.agree=同意 +label.license.agreement=许可协议 +label.license.agreement.subtitle=必须先接受 CloudStack™ EULA 才能进行安装。 +label.manage.resources=管理资源 +label.port.forwarding.policies=端口转发策略 +label.load.balancing.policies=负载平衡策略 +label.networking.and.security=网络连接与安全 +label.bandwidth=带宽 +label.virtual.machines=虚拟机 +label.compute.and.storage=计算与存储 +label.task.completed=已完成任务 +label.update.project.resources=更新项目资源 +label.remove.project.account=删除项目帐户 +label.item.listing=项目列表 +message.select.item=请选择一个项目。 +label.removing=正在删除 +label.invite=邀请 +label.add.by=添加方式 +label.max.vms=最大用户 VM 数 +label.max.public.ips=最大公用 IP 数 +label.max.volumes=最大卷数 +label.max.snapshots=最大快照数 +label.max.templates=最大模板数 +label.project.dashboard=项目控制板 +label.remind.later=以后提醒我 +label.invited.accounts=已邀请的帐户 +label.invite.to=邀请加入 +label.add.accounts.to=添加帐户至 +label.add.accounts=添加帐户 +label.project.name=项目名称 +label.create.project=创建项目 +label.networks=网络 +label.launch.vm=启动 VM +label.new.vm=新建 VM +label.previous=上一步 +label.add.to.group=添加到组 +message.vm.review.launch=请先核对以下信息,确认您的虚拟实例正确无误,然后再启动。 +message.select.security.groups=请为您的新 VM 选择安全组 +label.new=新建 +message.please.select.networks=请为您的虚拟机选择网络。 +message.please.proceed=请继续执行下个步骤。 +message.zone.no.network.selection=所选区域无任何网络选项。 +label.no.thanks=不,谢谢 +label.my.templates=我的模板 +message.select.template=请为您的新虚拟实例选择一个模板。 +message.select.iso=请为您的新虚拟实例选择一个 ISO。 +message.template.desc=可用于启动 VM 的操作系统映像 +message.iso.desc=包含操作系统的数据或可启动介质的磁盘映像 +label.select.iso.or.template=选择 ISO 或模板 +message.select.a.zone=一个区域通常与一个数据中心相对应。多个区域可以提供物理隔离和冗余,有助于使云更加可靠。 +label.select.a.zone=选择一个区域 +label.review=核对 +label.select.a.template=选择一个模板 +label.setup=设置 +state.Allocated=已分配 +changed.item.properties=更改项目属性 +label.apply=应用 +label.default=默认值 +label.viewing=正在查看 +label.move.to.top=移至顶部 +label.move.up.row=向上移动一行 +label.move.down.row=向下移动一行 +label.drag.new.position=拖动到新位置 +label.order=排序 +label.no.data=无可显示的数据 +label.change.value=更改值 +label.clear.list=清除列表 +label.full.path=完整路径 +message.add.domain=请指定要在此域下创建的子域 +message.delete.user=请确认您确实要删除此用户。 +message.enable.user=请确认您确实要启用此用户。 +message.disable.user=请确认您确实要禁用此用户。 +message.generate.keys=请确认您确实要为此用户生成新密钥。 +message.update.resource.count=请确认您确实要更新此帐户的资源数。 +message.edit.account=编辑(“-1”表示对要创建的资源数量没有任何限制) +label.total.of.vm=总 VM 数 +label.total.of.ip=总 IP 地址数 +state.enabled=已启用 +message.action.download.iso=请确认您确实要下载此 ISO。 +message.action.download.template=请确认您确实要下载此模板。 +label.destination.zone=目标区域 +label.keyboard.type=键盘类型 +label.nic.adapter.type=NIC 适配器类型 +label.root.disk.controller=根磁盘控制器 +label.community=社区 +label.remove.egress.rule=删除出口规则 +label.add.egress.rule=添加出口规则 +label.egress.rule=出口规则 +label.remove.ingress.rule=删除入口规则 +label.delete.vpn.user=删除 VPN 用户 +label.add.vpn.user=添加 VPN 用户 +label.remove.pf=删除端口转发规则 +label.remove.vm.from.lb=从负载平衡器规则中删除 VM +label.add.vms.to.lb=向负载平衡器规则中添加 VM +label.add.vm=添加 VM +label.remove.static.nat.rule=删除静态 NAT 规则 +label.remove.rule=删除规则 +label.add.static.nat.rule=添加静态 NAT 规则 +label.add.rule=添加规则 +label.configuration=配置 +message.disable.vpn=是否确实要禁用 VPN? +label.disable.vpn=禁用 VPN +message.enable.vpn=请确认您确实要对此 IP 地址启用 VPN 访问。 +label.enable.vpn=启用 VPN +message.acquire.new.ip=请确认您确实要为此网络获取一个新 IP。 +label.elastic=弹性 +label.my.network=我的网络 +label.add.vms=添加 VM +label.configure=配置 +label.stickiness=粘性 +label.source=源算法 +label.least.connections=最少连接算法 +label.round.robin=轮询算法 +label.network.domain.text=网络域文本 +label.restart.required=需要重新启动 +label.clean.up=清除 +message.restart.network=请确认您确实要重新启动网络 +label.restart.network=重新启动网络 +label.edit.network.details=编辑网络详情 +label.add.guest.network=添加来宾网络 +label.guest.networks=来宾网络 +message.ip.address.changed=您的 IP 地址可能已发生变化;是否要刷新此列表? 请注意,刷新此列表时,“详细信息”窗格将关闭。 +state.BackingUp=正在备份 +state.BackedUp=已备份 +label.done=完成 +label.vm.name=VM 名称 +message.migrate.volume=请确认您确实要将卷迁移到其他主存储。 +label.migrate.volume=将卷迁移到其他主存储 +message.create.template=是否确实要创建模板? +label.create.template=创建模板 +message.download.volume.confirm=请确认您确实要下载此卷 +message.detach.disk=是否确实要取消附加此磁盘? +state.ready=已就绪 +state.Ready=已就绪 +label.vm.display.name=VM 显示名称 +label.select-view=选择视图 +label.local.storage=本地存储 +label.direct.ips=直接 IP +label.view.all=查看全部 +label.zone.details=区域详情 +message.alert.state.detected=检测到警报状态 +state.Starting=正在启动 +state.Expunging=正在删除 +state.Creating=正在创建 +message.decline.invitation=是否确实要拒绝此项目邀请? +label.decline.invitation=拒绝邀请 +message.confirm.join.project=请确认您确实要加入此项目。 +message.join.project=您现在已加入了一个项目。请切换到“项目视图”以查看项目。 +label.accept.project.invitation=接受项目邀请 +label.token=令牌 +label.project.id=项目 ID +message.enter.token=请输入您在邀请电子邮件中收到的令牌。 +label.enter.token=输入令牌 +state.Accepted=已接受 +state.Pending=待定 +state.Completed=已完成 +state.Declined=已拒绝 +label.project=项目 +label.invitations=邀请 +label.delete.project=删除项目 +message.delete.project=是否确实要删除此项目? +message.activate.project=是否确实要激活此项目? +label.activate.project=激活项目 +label.suspend.project=暂停项目 +message.suspend.project=是否确实要暂停此项目? +state.Suspended=已暂停 +label.edit.project.details=编辑项目详情 +label.new.project=新建项目 +state.Active=活动 +state.Disabled=已禁用 +label.projects=项目 +label.make.project.owner=设为帐户项目所有者 +label.remove.project.account=从项目中删除帐户 +message.project.invite.sent=发送给用户的邀请;用户接受邀请后,将加入到项目中 +label.add.account.to.project=向项目中添加帐户 +label.revoke.project.invite=撤销邀请 +label.project.invite=邀请加入项目 +label.select.project=选择项目 +message.no.projects=您没有任何项目。
请从“项目”部分中创建一个新项目。 +message.no.projects.adminOnly=您没有任何项目。
请要求管理员创建一个新项目。 +message.pending.projects.1=您有待定项目邀请: +message.pending.projects.2=要查看,请转至“项目”部分,然后从下拉列表中选择“邀请”。 +message.instanceWizard.noTemplates=您没有任何可用模板;请添加一个兼容的模板,然后重新启动实例向导。 +label.view=查看 +create.template.complete=已成功创建模板 +create.template.confirm=请确认您确实要创建一个模板 +create.template.notification=正在创建新模板 +create.template.success=正在创建新模板 +instances.actions.reboot.label=重新启动实例 +label.filterBy=过滤依据 +label.ok=确定 +notification.reboot.instance=重新启动实例 +notification.start.instance=启动实例 +notification.stop.instance=停止实例 +label.display.name=显示名称 +label.zone.name=区域名称 +ui.listView.filters.all=全部 +ui.listView.filters.mine=本用户 +state.Running=正在运行 +state.Stopped=已停止 +state.Destroyed=已销毁 +state.Error=错误 +message.reset.password.warning.notPasswordEnabled=创建此实例时使用的模板未启用密码 +message.reset.password.warning.notStopped=必须先停止您的实例,才能尝试更改其当前密码 +label.notifications=通知 +label.default.view=默认视图 +label.project.view=项目视图 + +message.add.system.service.offering=请填写以下数据以添加一个新的系统服务方案。 +message.action.delete.system.service.offering=请确认您确实要删除此系统服务方案。 +label.action.delete.system.service.offering=删除系统服务方案 +label.hypervisor.capabilities=虚拟机管理程序功能 +label.hypervisor.version=虚拟机管理程序版本 +label.max.guest.limit=最大来宾数限制 +label.add.network.offering=添加网络方案 +label.supported.services=支持的服务 +label.service.capabilities=服务功能 +label.guest.type=来宾类型 +label.specify.IP.ranges=指定 IP 范围 +label.conserve.mode=保护模式 +label.created.by.system=由系统创建 +label.menu.system.service.offerings=系统方案 +label.add.system.service.offering=添加系统服务方案 +label.redundant.router.capability=冗余路由器功能 +label.supported.source.NAT.type=支持的源 NAT 类型 +label.elastic.LB=弹性负载平衡器 +label.LB.isolation=负载平衡器隔离 +label.elastic.IP=弹性 IP +label.network.label.display.for.blank.value=使用默认网关 +label.xen.traffic.label=XenServer 流量标签 +label.kvm.traffic.label=KVM 流量标签 +label.vmware.traffic.label=VMware 流量标签 +label.start.IP=起始 IP +label.end.IP=结束 IP +label.remove.ip.range=删除 IP 范围 +label.ip.ranges=IP 范围 +label.start.vlan=起始 VLAN +label.end.vlan=结束 VLAN +label.broadcast.domain.range=广播域范围 +label.compute=计算 +message.add.guest.network=请确认您确实要添加一个来宾网络 +label.subdomain.access=子域访问 +label.guest.start.ip=来宾起始 IP +label.guest.end.ip=来宾结束 IP +label.virtual.router=虚拟路由器 +label.physical.network.ID=物理网络 ID +label.destination.physical.network.id=目标物理网络 ID +label.dhcp=DHCP +label.destroy.router=销毁路由器 +message.confirm.destroy.router=请确认您确实要销毁此路由器 +label.change.service.offering=更改服务方案 +label.view.console=查看控制台 +label.redundant.state=冗余状态 +label.enable.provider=启用提供程序 +message.confirm.enable.provider=请确认您确实要启用此提供程序 +label.disable.provider=禁用提供程序 +message.confirm.disable.provider=请确认您确实要禁用此提供程序 +label.shutdown.provider=关闭提供程序 +message.confirm.shutdown.provider=请确认您确实要关闭此提供程序 +label.netScaler=NetScaler +label.add.new.NetScaler=添加新 NetScaler +label.capacity=容量 +label.dedicated=专用 +label.f5=F5 +label.add.new.F5=添加新 F5 +label.srx=SRX +label.providers=提供程序 +label.add.new.SRX=添加新 SRX +label.timeout=超时 +label.public.network=公用网络 +label.private.network=专用网络 +label.enable.swift=启用 SWIFT +confirm.enable.swift=请填写以下信息以启用对 SWIFT 的支持 +message.after.enable.swift=已配置 SWIFT。注意: 退出此页面后,您将无法再次重新配置 SWIFT。 +label.key=密钥 +label.delete.NetScaler=删除 NetScaler +message.confirm.delete.NetScaler=请确认您确实要删除 NetScaler +label.delete.F5=删除 F5 +message.confirm.delete.F5=请确认您确实要删除 F5 +label.delete.SRX=删除 SRX +message.confirm.delete.SRX=请确认您确实要删除 SRX +label.pods=提供点 +label.pod.name=提供点名称 +label.reserved.system.gateway=预留的系统网关 +label.reserved.system.netmask=预留的系统网络掩码 +label.start.reserved.system.IP=起始预留系统 IP +label.end.reserved.system.IP=结束预留系统 IP +label.clusters=群集 +label.cluster.name=群集名称 +label.host.MAC=主机 MAC +label.agent.username=代理用户名 +label.agent.password=代理密码 +message.confirm.action.force.reconnect=请确认您确实要强制重新连接此主机。 +label.resource.state=资源状态 +label.LUN.number=LUN 号 +message.confirm.remove.IP.range=请确认您确实要删除此 IP 范围。 +message.tooltip.zone.name=区域名称。 +message.tooltip.dns.1=供区域中的 VM 使用的 DNS 服务器名称。区域的公用 IP 地址必须路由到此服务器。 +message.tooltip.dns.2=供区域中的 VM 使用的辅助 DNS 服务器名称。区域的公用 IP 地址必须路由到此服务器。 +message.tooltip.internal.dns.1=供区域中的 CloudStack 内部系统 VM 使用的 DNS 服务器名称。提供点的专用 IP 地址必须路由到此服务器。 +message.tooltip.internal.dns.2=供区域中的 CloudStack 内部系统 VM 使用的 DNS 服务器名称。提供点的专用 IP 地址必须路由到此服务器。 +message.tooltip.network.domain=DNS 后缀,将为由来宾 VM 访问的网络创建一个自定义域名。 +message.tooltip.pod.name=此提供点的名称。 +message.tooltip.reserved.system.gateway=提供点中的主机网关。 +message.tooltip.reserved.system.netmask=用于定义提供点子网的网络前缀。请使用 CIDR 符号。 +message.creating.zone=正在创建区域 +message.creating.physical.networks=正在创建物理网络 +message.configuring.physical.networks=正在配置物理网络 +message.adding.Netscaler.device=正在添加 Netscaler 设备 +message.creating.pod=正在创建提供点 +message.configuring.public.traffic=正在配置公共流量 +message.configuring.storage.traffic=正在配置存储流量 +message.configuring.guest.traffic=正在配置来宾流量 +message.creating.cluster=正在创建群集 +message.adding.host=正在添加主机 +message.creating.primary.storage=正在创建主存储 +message.creating.secondary.storage=正在创建辅助存储 +message.Zone.creation.complete=已完成创建区域 +message.enabling.zone=正在启用区域 +error.something.went.wrong.please.correct.the.following=出现问题;请更正以下各项 +error.could.not.enable.zone=无法启用区域 +message.zone.creation.complete.would.you.like.to.enable.this.zone=已完成创建区域。是否要启用此区域? +message.please.add.at.lease.one.traffic.range=请至少添加一个流量范围。 +message.you.must.have.at.least.one.physical.network=您必须至少拥有一个物理网络 +message.please.select.a.different.public.and.management.network.before.removing=请先选择其他公共管理网络,然后再删除 + +label.zone.type=区域类型 +label.setup.zone=设置区域 +label.setup.network=设置网络 +label.add.resources=添加资源 +label.launch=启动 +label.set.up.zone.type=设置区域类型 +message.please.select.a.configuration.for.your.zone=请为您的区域选择一种配置。 +message.desc.basic.zone=提供一个网络,将直接从此网络中为每个 VM 实例分配一个 IP。可以通过安全组等第 3 层方式提供来宾隔离(IP 地址源过滤)。 +label.basic=基本 +message.desc.advanced.zone=适用于更加复杂的网络拓扑。此网络模式在定义来宾网络并提供防火墙、VPN 或负载平衡器支持等自定义网络方案方面提供了最大的灵活性。 +label.advanced=高级 +message.desc.zone=区域是 CloudStack 中最大的组织单位,一个区域通常与一个数据中心相对应。区域可提供物理隔离和冗余。一个区域由一个或多个提供点以及由区域中的所有提供点共享的一个辅助存储服务器组成,其中每个提供点中包含多个主机和主存储服务器。 +label.physical.network=物理网络 +label.public.traffic=公共流量 +label.guest.traffic=来宾流量 +label.storage.traffic=存储流量 +message.setup.physical.network.during.zone.creation=添加高级区域时,需要设置一个或多个物理网络。每个网络都与虚拟机管理程序中的一个 NIC 相对应。每个物理网络中可以包含一种或多种流量类型,并对这些流量类型可能的组合方式设置了某些限制。

可以将一种或多种流量类型拖放到每个物理网络中。 +label.add.physical.network=添加物理网络 +label.traffic.types=流量类型 +label.management=管理 +label.guest=来宾 +label.please.specify.netscaler.info=请指定 Netscaler 信息 +message.public.traffic.in.advanced.zone=云中的 VM 访问 Internet 时将生成公共流量,但必须分配可公开访问的 IP 才能实现。最终用户可以使用 CloudStack UI 获取这些 IP,以在其来宾网络与公用网络之间执行 NAT。

请至少为 Internet 流量提供一个 IP 地址范围。 +message.public.traffic.in.basic.zone=云中的 VM 访问 Internet 或通过 Internet 向客户端提供服务时将生成公共流量,但必须分配可公开访问的 IP 才能实现。创建实例时,将把这一组公用 IP 中的 IP (来宾 IP 地址除外)分配给此实例。静态 1-1 NAT 将在公用 IP 与来宾 IP 之间自动设置。最终用户还可以使用 CloudStack UI 获取其他 IP,以在其实例与公用 IP 之间执行静态 NAT。 +message.add.pod.during.zone.creation=每个区域中必须包含一个或多个提供点,现在我们将添加第一个提供点。提供点中包含主机和主存储服务器,您将在随后的某个步骤中添加这些主机和服务器。首先,请为 CloudStack 的内部管理流量配置一个预留 IP 地址范围。预留的 IP 范围对云中的每个区域来说必须唯一。 +message.guest.traffic.in.advanced.zone=来宾网络流量是指最终用户虚拟机之间的通信。指定一个 VLAN ID 范围可传送每个物理网络的来宾流量。 +message.guest.traffic.in.basic.zone=来宾网络流量是指最终用户虚拟机之间的通信。应指定一个 CloudStack 可以分配给来宾 VM 的 IP 地址范围。请确保此范围与预留的系统 IP 范围不重叠。 +message.storage.traffic=CloudStack 内部资源(包括与 Management Server 通信的任何组件,例如主机和 CloudStack 系统 VM)之间的流量。请在此处配置存储流量。 +message.desc.cluster=每个提供点中必须包含一个或多个群集,现在我们将添加第一个群集。群集提供了一种编组主机的方法。群集中的所有主机都具有相同的硬件,运行相同的虚拟机管理程序,位于相同的子网中,并访问相同的共享存储。每个群集由一个或多个主机以及一个或多个主存储服务器组成。 +message.desc.host=每个群集中必须至少包含一个主机以供来宾 VM 在上面运行,现在我们将添加第一个主机。要使主机在 CloudStack 中运行,必须在此主机上安装虚拟机管理程序软件,为其分配一个 IP 地址,并确保将其连接到 CloudStack Management Server。

请提供主机的 DNS 或 IP 地址、用户名(通常为 root)和密码,以及用于对主机进行分类的任何标签。 +message.desc.primary.storage=每个群集中必须包含一个或多个主存储服务器,现在我们将添加第一个主存储服务器。主存储中包含在群集中的主机上运行的所有 VM 的磁盘卷。请使用底层虚拟机管理程序支持的符合标准的协议。 +message.desc.secondary.storage=每个区域中必须至少包含一个 NFS 或辅助存储服务器,现在我们将添加第一个 NFS 或辅助存储服务器。辅助存储用于存储 VM 模板、ISO 映像和 VM 磁盘卷快照。此服务器必须对区域中的所有服务器可用。

请提供 IP 地址和导出路径。 +label.launch.zone=启动区域 +message.please.wait.while.zone.is.being.created=正在创建区域,请稍候;此操作可能需要一段时间才能完成... + +label.load.balancing=负载平衡 +label.static.nat.enabled=已启用静态 NAT +label.zones=区域 +label.view.more=查看更多 +label.number.of.zones=区域数量 +label.number.of.pods=提供点数量 +label.number.of.clusters=群集数量 +label.number.of.hosts=主机数量 +label.total.hosts=总主机数 +label.total.CPU=CPU 总量 +label.total.memory=内存总量 +label.total.storage=存储总量 +label.purpose=目的 + + + + +label.action.migrate.router=迁移路由器 +label.action.migrate.router.processing=正在迁移路由器... +message.migrate.router.confirm=请确认您要将路由器迁移到的主机: +label.migrate.router.to=迁移路由器至 + +label.action.migrate.systemvm=迁移系统 VM +label.action.migrate.systemvm.processing=正在迁移系统 VM... +message.migrate.systemvm.confirm=请确认您要将系统 VM 迁移到的主机: +label.migrate.systemvm.to=迁移系统 VM 至 + + +mode=模式 +side.by.side=并行 +inline=内联 + +extractable=可提取 + +label.ocfs2=OCFS2 + +label.action.edit.host=编辑主机 + +network.rate=网络速率 + +ICMP.type=ICMP 类型 +ICMP.code=ICMP 代码 + +image.directory=图片目录 + +label.action.create.template.from.vm=基于 VM 创建模板 +label.action.create.template.from.volume=基于卷创建模板 + +message.vm.create.template.confirm=创建模板将自动重新启动 VM。 + +label.action.manage.cluster=托管群集 +message.action.manage.cluster=请确认您确实要托管此群集。 +label.action.manage.cluster.processing=正在托管群集... + +label.action.unmanage.cluster=取消托管群集 +message.action.unmanage.cluster=请确认您确实要取消托管此群集。 +label.action.unmanage.cluster.processing=正在取消托管群集... + +label.allocation.state=分配状态 +managed.state=托管状态 + +label.default.use=默认使用 +label.host.tags=主机标签 + +label.cidr=CIDR +label.cidr.list=源 CIDR + +label.storage.tags=存储标签 + +label.redundant.router=冗余路由器 +label.is.redundant.router=冗余 + +force.delete=强制删除 +force.delete.domain.warning=警告: 选择此选项将导致删除所有子域以及所有相关联的帐户及其资源。 + +force.remove=强制移除 +force.remove.host.warning=警告: 选择此选项将导致 CloudStack 在从群集中移除此主机之前,强制停止所有正在运行的虚拟机。 + +force.stop=强制停止 +force.stop.instance.warning=警告: 除非万不得已,否则不应强制停止此实例。停止此实例可能会导致数据丢失以及致使虚拟机状态不一致。 + +label.PreSetup=PreSetup +label.SR.name = SR 名称标签 +label.SharedMountPoint=SharedMountPoint +label.clvm=CLVM +label.volgroup=卷组 +label.VMFS.datastore=VMFS 数据存储 + +label.network.device=网络设备 +label.add.network.device=添加网络设备 +label.network.device.type=网络设备类型 +label.DHCP.server.type=DHCP 服务器类型 +label.Pxe.server.type=Pxe 服务器类型 +label.PING.storage.IP=PING 存储 IP +label.PING.dir=PING 目录 +label.TFTP.dir=TFTP 目录 +label.PING.CIFS.username=PING CIFS 用户名 +label.PING.CIFS.password=PING CIFS 密码 +label.CPU.cap=CPU 上限 + + +label.action.enable.zone=启用区域 +label.action.enable.zone.processing=正在启用区域... +message.action.enable.zone=请确认您确实要启用此区域。 +label.action.disable.zone=禁用区域 +label.action.disable.zone.processing=正在禁用区域... +message.action.disable.zone=请确认您确实要禁用此区域。 + +label.action.enable.pod=启用提供点 +label.action.enable.pod.processing=正在启用提供点... +message.action.enable.pod=请确认您确实要启用此提供点。 +label.action.disable.pod=禁用提供点 +label.action.disable.pod.processing=正在禁用提供点... +message.action.disable.pod=请确认您确实要禁用此提供点。 + +label.action.enable.cluster=启用群集 +label.action.enable.cluster.processing=正在启用群集... +message.action.enable.cluster=请确认您确实要启用此群集。 +label.action.disable.cluster=禁用群集 +label.action.disable.cluster.processing=正在禁用群集... +message.action.disable.cluster=请确认您确实要禁用此群集。 + +label.account.id=帐户 ID +label.account.name=帐户名称 +label.account.specific=帐户专用 +label.account=帐户 +label.accounts=帐户 +label.acquire.new.ip=获取新 IP +label.show.ingress.rule=显示入口规则 +label.hide.ingress.rule=隐藏入口规则 +label.action.attach.disk.processing=正在附加磁盘... +label.action.attach.disk=附加磁盘 +label.action.attach.iso.processing=正在附加 ISO... +label.action.attach.iso=附加 ISO +label.action.cancel.maintenance.mode.processing=正在取消维护模式... +label.action.cancel.maintenance.mode=取消维护模式 +label.action.change.password=更改密码 +label.action.change.service.processing=正在更改服务... +label.action.change.service=更改服务 +label.action.copy.ISO.processing=正在复制 ISO... +label.action.copy.ISO=复制 ISO +label.action.copy.template.processing=正在复制模板... +label.action.copy.template=复制模板 +label.action.create.template.processing=正在创建模板... +label.action.create.template=创建模板 +label.action.create.vm.processing=正在创建 VM... +label.action.create.vm=创建 VM +label.action.create.volume.processing=正在创建卷... +label.action.create.volume=创建卷 +label.action.delete.IP.range.processing=正在删除 IP 范围... +label.action.delete.IP.range=删除 IP 范围 +label.action.delete.ISO.processing=正在删除 ISO... +label.action.delete.ISO=删除 ISO +label.action.delete.account.processing=正在删除帐户... +label.action.delete.account=删除帐户 +label.action.delete.cluster.processing=正在删除群集... +label.action.delete.cluster=删除群集 +label.action.delete.disk.offering.processing=正在删除磁盘方案... +label.action.delete.disk.offering=删除磁盘方案 + +label.action.update.resource.count=更新资源数量 +label.action.update.resource.count.processing=正在更新资源数量... + +label.action.delete.domain=删除域 +label.action.delete.domain.processing=正在删除域... + +label.action.delete.firewall.processing=正在删除防火墙... +label.action.delete.firewall=删除防火墙规则 +label.action.delete.ingress.rule.processing=正在删除入口规则... +label.action.delete.ingress.rule=删除入口规则 +label.action.delete.load.balancer.processing=正在删除负载平衡器... +label.action.delete.load.balancer=删除负载平衡器规则 +label.action.edit.network.processing=正在编辑网络... +label.action.edit.network=编辑网络 +label.action.delete.network.processing=正在删除网络... +label.action.delete.network=删除网络 +label.action.delete.pod.processing=正在删除提供点... +label.action.delete.pod=删除提供点 +label.action.delete.primary.storage.processing=正在删除主存储... +label.action.delete.primary.storage=删除主存储 +label.action.delete.secondary.storage.processing=正在删除辅助存储... +label.action.delete.secondary.storage=删除辅助存储 +label.action.delete.security.group.processing=正在删除安全组... +label.action.delete.security.group=删除安全组 +label.action.delete.service.offering.processing=正在删除服务方案... +label.action.delete.service.offering=删除服务方案 +label.action.delete.snapshot.processing=正在删除快照... +label.action.delete.snapshot=删除快照 +label.action.delete.template.processing=正在删除模板... +label.action.delete.template=删除模板 +label.action.delete.user.processing=正在删除用户... +label.action.delete.user=删除用户 +label.action.delete.volume.processing=正在删除卷... +label.action.delete.volume=删除卷 +label.action.delete.zone.processing=正在删除区域... +label.action.delete.zone=删除区域 +label.action.destroy.instance.processing=正在销毁实例... +label.action.destroy.instance=销毁实例 +label.action.destroy.systemvm.processing=正在销毁系统 VM... +label.action.destroy.systemvm=销毁系统 VM +label.action.detach.disk.processing=正在取消附加磁盘... +label.action.detach.disk=取消附加磁盘 +label.action.detach.iso.processing=正在取消附加 ISO... +label.action.detach.iso=取消附加 ISO +label.action.disable.account.processing=正在禁用帐户... +label.action.disable.account=禁用帐户 +label.action.disable.static.NAT.processing=正在禁用静态 NAT... +label.action.disable.static.NAT=禁用静态 NAT +label.action.disable.user.processing=正在禁用用户... +label.action.disable.user=禁用用户 +label.action.download.ISO=下载 ISO +label.action.download.template=下载模板 +label.action.download.volume.processing=正在下载卷... +label.action.download.volume=下载卷 +label.action.edit.ISO=编辑 ISO +label.action.edit.account=编辑帐户 +label.action.edit.disk.offering=编辑磁盘方案 +label.action.edit.domain=编辑域 +label.action.edit.global.setting=编辑全局设置 +label.action.edit.instance=编辑实例 +label.action.edit.network.offering=编辑网络方案 +label.action.edit.pod=编辑提供点 +label.action.edit.primary.storage=编辑主存储 +label.action.edit.resource.limits=编辑资源限制 +label.action.edit.service.offering=编辑服务方案 +label.action.edit.template=编辑模板 +label.action.edit.user=编辑用户 +label.action.edit.zone=编辑区域 +label.action.enable.account.processing=正在启用帐户... +label.action.enable.account=启用帐户 +label.action.enable.maintenance.mode.processing=正在启用维护模式... +label.action.enable.maintenance.mode=启用维护模式 +label.action.enable.static.NAT.processing=正在启用静态 NAT... +label.action.enable.static.NAT=启用静态 NAT +label.action.enable.user.processing=正在启用用户... +label.action.enable.user=启用用户 +label.action.force.reconnect.processing=正在重新连接... +label.action.force.reconnect=强制重新连接 +label.action.generate.keys.processing=正在生成密钥... +label.action.generate.keys=生成密钥 +label.action.lock.account.processing=正在锁定帐户... +label.action.lock.account=锁定帐户 +label.action.migrate.instance=迁移实例 +label.action.migrate.instance.processing=正在迁移实例... +label.action.reboot.instance.processing=正在重新启动实例... +label.action.reboot.instance=重新启动实例 +label.action.reboot.router.processing=正在重新启动路由器... +label.action.reboot.router=重新启动路由器 +label.action.reboot.systemvm.processing=正在重新启动系统 VM... +label.action.reboot.systemvm=重新启动系统 VM +label.action.recurring.snapshot=重现快照 +label.action.release.ip.processing=正在释放 IP... +label.action.release.ip=释放 IP +label.action.remove.host.processing=正在删除主机... +label.action.remove.host=删除主机 +label.action.reset.password.processing=正在重置密码... +label.action.reset.password=重置密码 +label.action.resource.limits=资源限制 +label.action.restore.instance.processing=正在还原实例... +label.action.restore.instance=还原实例 +label.action.start.instance.processing=正在启动实例... +label.action.start.instance=启动实例 +label.action.start.router.processing=正在启动路由器... +label.action.start.router=启动路由器 +label.action.start.systemvm.processing=正在启动系统 VM... +label.action.start.systemvm=启动系统 VM +label.action.stop.instance.processing=正在停止实例... +label.action.stop.instance=停止实例 +label.action.stop.router.processing=正在停止路由器... +label.action.stop.router=停止路由器 +label.action.stop.systemvm.processing=正在停止系统 VM... +label.action.stop.systemvm=停止系统 VM +label.action.take.snapshot.processing=正在创建快照... +label.action.take.snapshot=创建快照 +label.action.update.OS.preference.processing=正在更新操作系统首选项... +label.action.update.OS.preference=更新操作系统首选项 +label.actions=操作 +label.active.sessions=活动会话 +label.add.account=添加帐户 +label.add.by.cidr=按 CIDR 添加 +label.add.by.group=按组添加 +label.add.cluster=添加群集 +label.add.direct.iprange=添加直接 IP 范围 +label.add.disk.offering=添加磁盘方案 +label.add.domain=添加域 +label.add.firewall=添加防火墙规则 +label.add.host=添加主机 +label.add.ingress.rule=添加入口规则 +label.add.ip.range=添加 IP 范围 +label.add.iso=添加 ISO +label.add.load.balancer=添加负载平衡器 +label.add.more=添加更多 +label.add.network=添加网络 +label.add.pod=添加提供点 +label.add.primary.storage=添加主存储 +label.add.secondary.storage=添加辅助存储 +label.add.security.group=添加安全组 +label.add.service.offering=添加服务方案 +label.add.template=添加模板 +label.add.user=添加用户 +label.add.vlan=添加 VLAN +label.add.volume=添加卷 +label.add.zone=添加区域 +label.add=添加 +label.adding.cluster=正在添加群集 +label.adding.failed=添加失败 +label.adding.pod=正在添加提供点 +label.adding.processing=正在添加... +label.adding.succeeded=已成功添加 +label.adding.user=正在添加用户 +label.adding.zone=正在添加区域 +label.adding=正在添加 +label.additional.networks=其他网络 +label.admin.accounts=管理员帐户 +label.admin=管理员 +label.advanced.mode=高级模式 +label.advanced.search=高级搜索 +label.advanced=高级 +label.alert=警报 +label.algorithm=算法 +label.allocated=已分配 +label.api.key=API 密钥 +label.assign.to.load.balancer=正在将实例分配给负载平衡器 +label.assign=分配 +label.associated.network.id=已关联网络 ID +label.attached.iso=已附加 ISO +label.availability.zone=可用区域 +label.availability=可用性 +label.available.public.ips=可用公用 IP 地址 +label.available=可用 +label.back=返回 +label.basic.mode=基本模式 +label.bootable=可启动 +label.broadcast.domain.type=广播域类型 +label.by.account=按帐户 +label.by.availability=按可用性 +label.by.domain=按域 +label.by.end.date=按结束日期 +label.by.level=按级别 +label.by.pod=按提供点 +label.by.role=按角色 +label.by.start.date=按开始日期 +label.by.state=按状态 +label.by.traffic.type=按流量类型 +label.by.type.id=按类型 ID +label.by.type=按类型 +label.by.zone=按区域 +label.bytes.received=接收的字节数 +label.bytes.sent=发送的字节数 +label.cancel=取消 +label.certificate=证书 +label.privatekey=PKCS#8 私钥 +label.domain.suffix=DNS 域后缀(例如 xyz.com) +label.character=字符 +label.cidr.account=CIDR 或帐户/安全组 +label.close=关闭 +label.cloud.console=云管理控制台 +label.cloud.managed=由 Cloud.com 管理 +label.cluster.type=群集类型 +label.cluster=群集 +label.code=代码 +label.confirmation=确认 +label.cpu.allocated.for.VMs=已分配给 VM 的 CPU +label.cpu.allocated=已分配的 CPU +label.cpu.mhz=CPU (MHz) +label.cpu.utilized=CPU 利用率 +label.cpu=CPU +label.created=创建日期 +label.cross.zones=跨区域 +label.custom.disk.size=自定义磁盘大小 +label.daily=每天一次 +label.data.disk.offering=数据磁盘方案 +label.date=日期 +label.day.of.month=日期 +label.day.of.week=星期 +label.delete=删除 +label.deleting.failed=删除失败 +label.deleting.processing=正在删除... +label.description=说明 +label.detaching.disk=正在取消附加磁盘 +label.details=详细信息 +label.device.id=设备 ID +label.disabled=已禁用 +label.disabling.vpn.access=正在禁用 VPN 访问 +label.disk.allocated=已分配的磁盘 +label.disk.offering=磁盘方案 +label.disk.size.gb=磁盘大小(GB) +label.disk.size=磁盘大小 +label.disk.total=磁盘总量 +label.disk.volume=磁盘卷 +label.display.text=显示文本 +label.dns.1=DNS 1 +label.dns.2=DNS 2 +label.domain.admin=域管理员 +label.domain.id=域 ID +label.domain.name=域名 +label.domain=域 +label.double.quotes.are.not.allowed=不允许使用双引号 +label.download.progress=下载进度 +label.edit=编辑 +label.email=电子邮件 +label.enabling.vpn.access=正在启用 VPN 访问 +label.enabling.vpn=正在启用 VPN +label.end.port=结束端口 +label.endpoint.or.operation=端点或操作 +label.error.code=错误代码 +label.error=错误 +label.esx.host=ESX/ESXi 主机 +label.example=示例 +label.failed=失败 +label.featured=精选 +label.firewall=防火墙 +label.first.name=名字 +label.format=格式 +label.friday=星期五 +label.full=满载 +label.gateway=网关 +label.general.alerts=常规警报 +label.generating.url=正在生成 URL +label.go.step.2=转至步骤 2 +label.go.step.3=转至步骤 3 +label.go.step.4=转至步骤 4 +label.go.step.5=转至步骤 5 +label.group.optional=组(可选) +label.group=组 +label.guest.cidr=来宾 CIDR +label.guest.gateway=来宾网关 +label.guest.ip.range=来宾 IP 范围 +label.guest.ip=来宾 IP 地址 +label.guest.netmask=来宾网络掩码 +label.ha.enabled=已启用高可用性 +label.help=帮助 +label.host.alerts=主机警报 +label.host.name=主机名称 +label.host=主机 +label.hosts=主机 +label.hourly=每小时一次 +label.hypervisor.type=虚拟机管理程序类型 +label.hypervisor=虚拟机管理程序 +label.id=ID +label.info=信息 +label.ingress.rule=入口规则 +label.initiated.by=启动者 +label.instance.limits=实例限制 +label.instance.name=实例名称 +label.instance=实例 +label.instances=实例 +label.internal.dns.1=内部 DNS 1 +label.internal.dns.2=内部 DNS 2 +label.interval.type=间隔类型 +label.invalid.integer=无效整数 +label.invalid.number=无效数字 +label.ip.address=IP 地址 +label.ip.allocations=IP 分配 +label.ip.limits=公用 IP 限制 +label.ip.or.fqdn=IP 或 FQDN +label.ip.range=IP 范围 +label.ip=IP +label.ips=IP +label.is.default=是否为默认值 +label.is.shared=是否共享 +label.is.system=是否为系统 +label.iscsi=iSCSI +label.iso.boot=ISO 启动 +label.iso=ISO +label.isolation.mode=隔离模式 +label.keep=保留 +label.lang.chinese=简体中文 +label.lang.english=英语 +label.lang.japanese=日语 +label.lang.spanish=西班牙语 +label.last.disconnected=上次断开连接时间 +label.last.name=姓氏 +label.level=级别 +label.linklocal.ip=链接本地 IP 地址 +label.load.balancer=负载平衡器 +label.loading=正在加载 +label.local=本地 +label.login=登录 +label.logout=注销 +label.lun=LUN +label.manage=托管 +label.maximum=最大值 +label.memory.allocated=已分配的内存 +label.memory.mb=内存(MB) +label.memory.total=内存总量 +label.memory.used=已使用的内存 +label.memory=内存 +label.menu.accounts=帐户 +label.menu.alerts=警报 +label.menu.all.accounts=所有帐户 +label.menu.all.instances=所有实例 +label.menu.community.isos=社区 ISO +label.menu.community.templates=社区模板 +label.menu.configuration=配置 +label.menu.dashboard=控制板 +label.menu.destroyed.instances=已销毁的实例 +label.menu.disk.offerings=磁盘方案 +label.menu.domains=域 +label.menu.events=事件 +label.menu.featured.isos=精选 ISO +label.menu.featured.templates=精选模板 +label.menu.global.settings=全局设置 +label.menu.instances=实例 +label.menu.ipaddresses=IP 地址 +label.menu.isos=ISO +label.menu.my.accounts=我的帐户 +label.menu.my.instances=我的实例 +label.menu.my.isos=我的 ISO +label.menu.my.templates=我的模板 +label.menu.network.offerings=网络方案 +label.menu.network=网络 +label.menu.physical.resources=物理资源 +label.menu.running.instances=正在运行的实例 +label.menu.security.groups=安全组 +label.menu.service.offerings=服务方案 +label.menu.snapshots=快照 +label.menu.stopped.instances=已停止的实例 +label.menu.storage=存储 +label.menu.system.vms=系统 VM +label.menu.system=系统 +label.menu.templates=模板 +label.menu.virtual.appliances=虚拟设备 +label.menu.virtual.resources=虚拟资源 +label.menu.volumes=卷 +label.migrate.instance.to=迁移实例至 +label.minimum=最小值 +label.minute.past.hour=分钟时 +label.monday=星期一 +label.monthly=每月一次 +label.more.templates=更多模板 +label.my.account=我的帐户 +label.name.optional=名称(可选) +label.name=名称 +label.netmask=网络掩码 +label.network.desc=网络描述 +label.network.domain=网络域 +label.network.id=网络 ID +label.network.name=网络名称 +label.network.offering.display.text=网络方案显示文本 +label.network.offering.id=网络方案 ID +label.network.offering.name=网络方案名称 +label.network.offering=网络方案 +label.network.rate=网络速率 +label.network.read=网络读取量 +label.network.type=网络类型 +label.network.write=网络写入量 +label.network=网络 +label.new.password=新密码 +label.next=下一步 +label.nfs.server=NFS 服务器 +label.nfs.storage=NFS 存储 +label.nfs=NFS +label.nics=NIC +label.no.actions=无可用操作 +label.no.alerts=无最近发出的警报 +label.no.errors=无最近出现的错误 +label.no.isos=无可用 ISO +label.no.items=无可用项目 +label.no.security.groups=无可用安全组 +label.no.thanks=不,谢谢 +label.no=否 +label.none=无 +label.not.found=未找到 +label.num.cpu.cores=CPU 内核数 +label.numretries=重试次数 +label.offer.ha=提供高可用性 +label.optional=可选 +label.os.preference=操作系统首选项 +label.os.type=操作系统类型 +label.owned.public.ips=拥有的公用 IP 地址数 +label.owner.account=所有者帐户 +label.owner.domain=所有者域 +label.parent.domain=父域 +label.password.enabled=已启用密码 +label.password=密码 +label.path=路径 +label.please.wait=请稍候 +label.pod=提供点 +label.port.forwarding=端口转发 +label.port.range=端口范围 +label.prev=上一页 +label.primary.allocated=已分配的主存储 +label.primary.network=主网络 +label.primary.storage=主存储 +label.primary.used=已使用的主存储 +label.private.interface=专用接口 +label.private.ip.range=专用 IP 范围 +label.private.ip=专用 IP 地址 +label.private.ips=专用 IP 地址 +label.private.port=专用端口 +label.private.zone=专用区域 +label.protocol=协议 +label.public.interface=公用接口 +label.public.ip=公用 IP 地址 +label.public.ips=公用 IP 地址 +label.public.port=公用端口 +label.public.zone=公用区域 +label.public=公用 +label.recent.errors=最近出现的错误 +label.refresh=刷新 +label.related=相关联 +label.remove.from.load.balancer=正在从负载平衡器中删除实例 +label.removing.user=正在删除用户 +label.required=必填项 +label.reserved.system.ip=预留的系统 IP +label.resource.limits=资源限制 +label.resource=资源 +label.resources=资源 +label.role=角色 +label.root.disk.offering=根磁盘方案 +label.running.vms=正在运行的 VM +label.saturday=星期六 +label.save=保存 +label.saving.processing=正在保存... +label.scope=范围 +label.search=搜索 +label.secondary.storage=辅助存储 +label.secondary.used=已使用的辅助存储 +label.secret.key=密钥 +label.security.group.name=安全组名称 +label.security.group=安全组 +label.security.groups.enabled=已启用安全组 +label.security.groups=安全组 +label.sent=已发送 +label.server=服务器 +label.service.offering=服务方案 +label.system.service.offering=系统服务方案 +label.session.expired=会话已过期 +label.shared=已共享 +label.size=大小 +label.snapshot.limits=快照限制 +label.snapshot.name=快照名称 +label.snapshot.s=快照 +label.snapshot.schedule=设置重现快照 +label.snapshot=快照 +label.snapshots=快照 +label.source.nat=源 NAT +label.specify.vlan=指定 VLAN +label.start.port=起始端口 +label.state=状态 +label.static.nat.to=静态 NAT 目标 +label.static.nat=静态 NAT +label.statistics=统计数据 +label.status=状态 +label.step.1.title=步骤 1: 选择一个模板 +label.step.1=步骤 1 +label.step.2.title=步骤 2: 服务方案 +label.step.2=步骤 2 +label.step.3.title=步骤 3: 选择一种磁盘方案 +label.step.3=步骤 3 +label.step.4.title=步骤 4: 网络 +label.step.4=步骤 4 +label.step.5.title=步骤 5: 核对 +label.step.5=步骤 5 +label.stopped.vms=已停止的 VM +label.storage.type=存储类型 +label.storage=存储 +label.submit=提交 +label.submitted.by=[提交者: ] +label.succeeded=成功 +label.sunday=星期日 +label.system.capacity=系统容量 +label.system.vm.type=系统 VM 类型 +label.system.vm=系统 VM +label.system.vms=系统 VM +label.tagged=已标记 +label.tags=标签 +label.target.iqn=目标 IQN +label.template.limits=模板限制 +label.template=模板 +label.theme.default=默认主题 +label.theme.grey=自定义 - 灰色 +label.theme.lightblue=自定义 - 淡蓝色 +label.thursday=星期四 +label.time.zone=时区 +label.time=时间 +label.timeout.in.second = 超时(秒) +label.timezone=时区 +label.total.cpu=CPU 总量 +label.total.vms=总 VM 数 +label.traffic.type=流量类型 +label.tuesday=星期二 +label.type.id=类型 ID +label.type=类型 +label.unavailable=不可用 +label.unlimited=无限制 +label.untagged=已取消标记 +label.update.ssl.cert=更新 SSL 证书 +label.update.ssl=更新 SSL 证书 +label.updating=正在更新 +label.url=URL +label.usage.interface=使用界面 +label.used=已使用 +label.user=用户 +label.username=用户名 +label.users=用户 +label.value=值 +label.vcenter.cluster=vCenter 群集 +label.vcenter.datacenter=vCenter 数据中心 +label.vcenter.datastore=vCenter 数据存储 +label.vcenter.host=vCenter 主机 +label.vcenter.password=vCenter 密码 +label.vcenter.username=vCenter 用户名 +label.version=版本 +label.virtual.appliance=虚拟设备 +label.virtual.appliances=虚拟设备 +label.virtual.network=虚拟网络 +label.vlan.id=VLAN ID +label.vlan.range=VLAN 范围 +label.vlan=VLAN +label.vm.add=添加实例 +label.vm.destroy=销毁 +label.vm.reboot=重新启动 +label.vm.start=启动 +label.vm.stop=停止 +label.vmfs=VMFS +label.vms=VM +label.volume.limits=卷限制 +label.volume.name=卷名称 +label.volume=卷 +label.volumes=卷 +label.vpn=VPN +label.vsphere.managed=由 vSphere 管理 +label.waiting=正在等待 +label.warn=警告 +label.wednesday=星期三 +label.weekly=每周一次 +label.welcome.cloud.console=欢迎使用管理控制台 +label.welcome=欢迎 +label.yes=是 +label.zone.id=区域 ID +label.zone.step.1.title=步骤 1: 选择一个网络 +label.zone.step.2.title=步骤 2: 添加一个区域 +label.zone.step.3.title=步骤 3: 添加一个提供点 +label.zone.step.4.title=步骤 4: 添加一个 IP 范围 +label.zone.wide=整个区域 +label.zone=区域 + +#Messages +message.acquire.public.ip=请选择一个要从中获取新 IP 的区域。 +message.action.cancel.maintenance.mode=请确认您确实要取消此维护。 +message.action.cancel.maintenance=已成功取消维护您的主机。此过程可能需要长达几分钟时间。 +message.action.delete.ISO.for.all.zones=此 ISO 由所有区域使用。请确认您确实要将其从所有区域中删除。 +message.action.delete.ISO=请确认您确实要删除此 ISO。 +message.action.delete.cluster=请确认您确实要删除此群集。 +message.action.delete.disk.offering=请确认您确实要删除此磁盘方案。 +message.action.delete.domain=请确认您确实要删除此域。 +message.action.delete.external.firewall=请确认您确实要删除此外部防火墙。警告: 如果您计划重新添加同一个外部防火墙,则必须在设备上重置使用数据。 +message.action.delete.external.load.balancer=请确认您确实要删除此外部负载平衡器。警告: 如果您计划重新添加同一个外部负载平衡器,则必须在设备上重置使用数据。 +message.action.delete.ingress.rule=请确认您确实要删除此入口规则。 +message.action.delete.network=请确认您确实要删除此网络。 +message.action.delete.pod=请确认您确实要删除此提供点。 +message.action.delete.primary.storage=请确认您确实要删除此主存储。 +message.action.delete.secondary.storage=请确认您确实要删除此辅助存储。 +message.action.delete.security.group=请确认您确实要删除此安全组。 +message.action.delete.service.offering=请确认您确实要删除此服务方案。 +message.action.delete.snapshot=请确认您确实要删除此快照。 +message.action.delete.template.for.all.zones=此模板由所有区域使用。请确认您确实要将其从所有区域中删除。 +message.action.delete.template=请确认您确实要删除此模板。 +message.action.delete.volume=请确认您确实要删除此卷。 +message.action.delete.zone=请确认您确实要删除此区域。 +message.action.destroy.instance=请确认您确实要销毁此实例。 +message.action.destroy.systemvm=请确认您确实要销毁此系统 VM。 +message.action.disable.static.NAT=请确认您确实要禁用静态 NAT。 +message.action.enable.maintenance=已成功准备好维护您的主机。此过程可能需要长达几分钟或更长时间,具体取决于当前此主机上的 VM 数量。 +message.action.force.reconnect=已成功强制重新连接您的主机。此过程可能需要长达几分钟时间。 +message.action.host.enable.maintenance.mode=启用维护模式将导致将此主机上正在运行的所有实例实时迁移到任何可用的主机。 +message.action.instance.reset.password=请确认您确实要更改此虚拟机的 ROOT 用户密码。 +message.action.primarystorage.enable.maintenance.mode=警告: 将主存储置于维护模式将导致使用主存储中的卷的所有 VM 停止运行。是否要继续? +message.action.reboot.instance=请确认您确实要重新启动此实例。 +message.action.reboot.router=请确认您确实要重新启动此路由器。 +message.action.reboot.systemvm=请确认您确实要重新启动此系统 VM。 +message.action.release.ip=请确认您确实要释放此 IP。 +message.action.remove.host=删除群集中的最后一个/仅有的主机并重新安装此主机将销毁主机上的工作环境/数据库,并呈现无法使用的 VM 来宾。 +message.action.restore.instance=请确认您确实要还原此实例。 +message.action.start.instance=请确认您确实要启动此实例。 +message.action.start.router=请确认您确实要启动此路由器。 +message.action.start.systemvm=请确认您确实要启动此系统 VM。 +message.action.stop.instance=请确认您确实要停止此实例。 +message.action.stop.router=请确认您确实要停止此路由器。 +message.action.stop.systemvm=请确认您确实要停止此系统 VM。 +message.action.take.snapshot=请确认您确实要创建此卷的快照。 +message.add.cluster.zone=向区域 中添加一个虚拟机管理程序托管的群集 +message.add.cluster=向区域 、提供点 中添加一个虚拟机管理程序托管的群集 +message.add.disk.offering=请指定以下参数以添加一个新的磁盘方案 +message.add.firewall=向区域中添加一个防火墙 +message.add.host=请指定以下参数以添加一台新主机 +message.add.ip.range.direct.network=向区域 中的直接网络 添加一个 IP 范围 +message.add.ip.range.to.pod=

向提供点添加一个 IP 范围:

+message.add.ip.range=向区域中的公用网络添加一个 IP 范围 +message.add.load.balancer=向区域中添加一个负载平衡器 +message.add.network=为区域添加一个新网络: +message.add.pod=为区域 添加一个新提供点 +message.add.primary.storage=为区域 、提供点 添加一个新的主存储 +message.add.primary=请指定以下参数以添加一个新主存储 +message.add.secondary.storage=为区域 添加一个新存储 +message.add.service.offering=请填写以下数据以添加一个新计算方案。 +message.add.template=请输入以下数据以创建新模板 +message.add.volume=请填写以下数据以添加一个新卷。 +message.additional.networks.desc=请选择虚拟机要连接到的其他网络。 +message.advanced.mode.desc=如果您希望启用 VLAN 支持,请选择此网络模式。此网络模式在允许管理员提供防火墙、VPN 或负载平衡器支持等自定义网络方案以及启用直接网络连接与虚拟网络连接等方面提供了最大的灵活性。 +message.advanced.security.group=如果要使用安全组提供来宾 VM 隔离,请选择此模式。 +message.advanced.virtual=如果要使用整个区域的 VLAN 提供来宾 VM 隔离,请选择此模式。 +message.allow.vpn.access=请输入要允许进行 VPN 访问的用户的用户名和密码。 +message.attach.iso.confirm=请确认您确实要将此 ISO 附加到此虚拟实例。 +message.attach.volume=请填写以下数据以附加一个新卷。如果要将磁盘卷附加到基于 Windows 的虚拟机,需要重新启动此实例才能显示已连接的磁盘。 +message.basic.mode.desc=如果您**希望启用任何 VLAN 支持,请选择此网络模式。将直接从此网络中为在此网络模式下创建的所有虚拟机实例分配一个 IP,并使用安全组提供安全性和隔离。 +message.change.offering.confirm=请确认您确实要更改此虚拟实例的服务方案。 +message.copy.iso.confirm=请确认您确实要将 ISO 复制到 +message.copy.template=将模板 XXX 从区域 复制到 +message.create.template.vm=基于模板 创建 VM +message.create.template.volume=请先指定以下信息,然后再创建磁盘卷的模板: 。创建模板可能需要几分钟到更长的时间,具体取决于磁盘卷的大小。 +message.delete.account=请确认您确实要删除此帐户。 +message.detach.iso.confirm=请确认您确实要从此虚拟机中取消附加此 ISO。 +message.disable.account=请确认您确实要禁用此帐户。通过禁用此帐户,此帐户的所有用户将不再有权访问各自的云资源。所有正在运行的虚拟机将立即关闭。 +message.disable.vpn.access=请确认您确实要禁用 VPN 访问。 +message.download.ISO=请单击 00000 下载 ISO +message.download.template=请单击 00000 下载模板 +message.download.volume=请单击 00000 下载卷 +message.edit.confirm=请先确认您所做的更改,然后单击“保存”。 +message.edit.limits=请指定对以下资源的限制。“-1”表示不限制要创建的资源数。 +message.enable.account=请确认您确实要启用此帐户。 +message.enable.vpn.access=当前已对此 IP 地址禁用了 VPN。是否要启用 VPN 访问? +message.enabled.vpn.ip.sec=您的 IPSec 预共享密钥 +message.enabled.vpn=您的 VPN 访问功能当前已启用,可以通过 IP 进行访问 +message.launch.vm.on.private.network=是否要在您的私人专用网络中启动实例? +message.lock.account=请确认您确实要锁定此帐户。通过锁定此帐户,此帐户的所有用户将不再能够管理各自的云资源,但仍然可以访问现有资源。 +message.migrate.instance.confirm=请确认要将虚拟实例迁移到的主机。 +message.new.user=请指定以下信息以向帐户中添加一个新用户 +message.no.network.support.configuration.not.true=您的所有区域都未启用安全组,因此无其他网络功能。请继续执行步骤 5。 +message.no.network.support=您选择的虚拟机管理程序 vSphere 没有任何其他网络功能。请继续执行步骤 5。 +message.number.clusters=

群集

+message.number.hosts=

主机

+message.number.pods=

提供点

+message.number.storage=

主存储卷

+message.number.zones=

区域

+message.remove.vpn.access=请确认您确实要删除以下用户的 VPN 访问。 +message.restart.mgmt.server=请重新启动 Management Server 以使您的新设置生效。 +message.security.group.usage=(按住 Ctrl 键并单击鼠标可选择所有适用的安全组) +message.snapshot.schedule=可以通过从以下可用选项中进行选择并应用您的策略首选项来设置重现快照计划 +message.step.1.continue=请选择一个模板或 ISO 以继续 +message.step.1.desc=请为您的新虚拟实例选择一个模板。还可以选择一个可将 ISO 映像安装到其中的空模板。 +message.step.2.continue=请选择一种服务方案以继续 +message.step.2.desc= +message.step.3.continue=请选择一种磁盘方案以继续 +message.step.3.desc= +message.step.4.continue=请至少选择一个网络以继续 +message.step.4.desc=请选择虚拟实例要连接到的主网络。 +message.update.os.preference=请为此主机选择一个操作系统首选项。首先将具有相似首选项的所有虚拟实例分配至此主机,然后再选择其他实例。 +message.update.ssl=请提交一个新的 X.509 兼容的 SSL 证书,以将其更新到每个控制台代理虚拟实例: +message.virtual.network.desc=您的帐户的专用虚拟网络。广播域包含在 VLAN 中,并且所有公用网络访问都由虚拟路由器路由出去。 +message.volume.create.template.confirm=请确认您确实要为此磁盘卷创建一个模板。创建模板可能需要几分钟到更长的时间,具体取决于卷的大小。 +message.zone.step.1.desc=请为您的区域选择一种网络模式。 +message.zone.step.2.desc=请输入以下信息以添加一个新区域 +message.zone.step.3.desc=请输入以下信息以添加一个新提供点 +message.apply.snapshot.policy=您已成功更新当前的快照策略。 +message.disable.snapshot.policy=您已成功禁用当前的快照策略。 +message.action.change.service.warning.for.instance=必须先禁用您的实例,然后再尝试更改其当前的服务方案。 +message.action.change.service.warning.for.router=必须先停止您的路由器,然后再尝试更改其当前的服务方案。 +message.action.reset.password.warning=必须先停止您的实例,然后再尝试更改其当前的密码。 +message.action.reset.password.off=您的实例当前不支持此功能。 + +#Errors +error.login=您的用户名/密码与我们的记录不一致。 +error.menu.select=正在选择项目,无法执行操作。 +error.mgmt.server.inaccessible=无法访问 Management Server。请稍后再试。 +error.session.expired=您的会话已过期。 +error.unresolved.internet.name=无法解析您的 Internet 名称。 + + + + + + + + diff --git a/client/tomcatconf/commands-ext.properties.in b/client/tomcatconf/commands-ext.properties.in index 84c28a21bf8..682e0887fbf 100644 --- a/client/tomcatconf/commands-ext.properties.in +++ b/client/tomcatconf/commands-ext.properties.in @@ -1,38 +1,38 @@ -#### usage commands -generateUsageRecords=com.cloud.api.commands.GenerateUsageRecordsCmd;1 -listUsageRecords=com.cloud.api.commands.GetUsageRecordsCmd;1 -listUsageTypes=com.cloud.api.commands.ListUsageTypesCmd;1 - -#### external firewall commands -addExternalFirewall=com.cloud.api.commands.AddExternalFirewallCmd;1 -deleteExternalFirewall=com.cloud.api.commands.DeleteExternalFirewallCmd;1 -listExternalFirewalls=com.cloud.api.commands.ListExternalFirewallsCmd;1 - -#### external loadbalancer commands -addExternalLoadBalancer=com.cloud.api.commands.AddExternalLoadBalancerCmd;1 -deleteExternalLoadBalancer=com.cloud.api.commands.DeleteExternalLoadBalancerCmd;1 -listExternalLoadBalancers=com.cloud.api.commands.ListExternalLoadBalancersCmd;1 - -### Network Devices commands -addNetworkDevice=com.cloud.api.commands.AddNetworkDeviceCmd;1 -listNetworkDevice=com.cloud.api.commands.ListNetworkDeviceCmd;1 -deleteNetworkDevice=com.cloud.api.commands.DeleteNetworkDeviceCmd;1 - -#### traffic monitor commands -addTrafficMonitor=com.cloud.api.commands.AddTrafficMonitorCmd;1 -deleteTrafficMonitor=com.cloud.api.commands.DeleteTrafficMonitorCmd;1 -listTrafficMonitors=com.cloud.api.commands.ListTrafficMonitorsCmd;1 - -####Netapp integration commands -createVolumeOnFiler=com.cloud.api.commands.netapp.CreateVolumeOnFilerCmd;15 -destroyVolumeOnFiler=com.cloud.api.commands.netapp.DestroyVolumeOnFilerCmd;15 -listVolumesOnFiler=com.cloud.api.commands.netapp.ListVolumesOnFilerCmd;15 -createLunOnFiler=com.cloud.api.commands.netapp.CreateLunCmd;15 -destroyLunOnFiler=com.cloud.api.commands.netapp.DestroyLunCmd;15 -listLunsOnFiler=com.cloud.api.commands.netapp.ListLunsCmd;15 -associateLun=com.cloud.api.commands.netapp.AssociateLunCmd;15 -dissociateLun=com.cloud.api.commands.netapp.DissociateLunCmd;15 -createPool=com.cloud.api.commands.netapp.CreateVolumePoolCmd;15 -deletePool=com.cloud.api.commands.netapp.DeleteVolumePoolCmd;15 -modifyPool=com.cloud.api.commands.netapp.ModifyVolumePoolCmd;15 -listPools=com.cloud.api.commands.netapp.ListVolumePoolsCmd;15 +#### usage commands +generateUsageRecords=com.cloud.api.commands.GenerateUsageRecordsCmd;1 +listUsageRecords=com.cloud.api.commands.GetUsageRecordsCmd;1 +listUsageTypes=com.cloud.api.commands.ListUsageTypesCmd;1 + +#### external firewall commands +addExternalFirewall=com.cloud.api.commands.AddExternalFirewallCmd;1 +deleteExternalFirewall=com.cloud.api.commands.DeleteExternalFirewallCmd;1 +listExternalFirewalls=com.cloud.api.commands.ListExternalFirewallsCmd;1 + +#### external loadbalancer commands +addExternalLoadBalancer=com.cloud.api.commands.AddExternalLoadBalancerCmd;1 +deleteExternalLoadBalancer=com.cloud.api.commands.DeleteExternalLoadBalancerCmd;1 +listExternalLoadBalancers=com.cloud.api.commands.ListExternalLoadBalancersCmd;1 + +### Network Devices commands +addNetworkDevice=com.cloud.api.commands.AddNetworkDeviceCmd;1 +listNetworkDevice=com.cloud.api.commands.ListNetworkDeviceCmd;1 +deleteNetworkDevice=com.cloud.api.commands.DeleteNetworkDeviceCmd;1 + +#### traffic monitor commands +addTrafficMonitor=com.cloud.api.commands.AddTrafficMonitorCmd;1 +deleteTrafficMonitor=com.cloud.api.commands.DeleteTrafficMonitorCmd;1 +listTrafficMonitors=com.cloud.api.commands.ListTrafficMonitorsCmd;1 + +####Netapp integration commands +createVolumeOnFiler=com.cloud.api.commands.netapp.CreateVolumeOnFilerCmd;15 +destroyVolumeOnFiler=com.cloud.api.commands.netapp.DestroyVolumeOnFilerCmd;15 +listVolumesOnFiler=com.cloud.api.commands.netapp.ListVolumesOnFilerCmd;15 +createLunOnFiler=com.cloud.api.commands.netapp.CreateLunCmd;15 +destroyLunOnFiler=com.cloud.api.commands.netapp.DestroyLunCmd;15 +listLunsOnFiler=com.cloud.api.commands.netapp.ListLunsCmd;15 +associateLun=com.cloud.api.commands.netapp.AssociateLunCmd;15 +dissociateLun=com.cloud.api.commands.netapp.DissociateLunCmd;15 +createPool=com.cloud.api.commands.netapp.CreateVolumePoolCmd;15 +deletePool=com.cloud.api.commands.netapp.DeleteVolumePoolCmd;15 +modifyPool=com.cloud.api.commands.netapp.ModifyVolumePoolCmd;15 +listPools=com.cloud.api.commands.netapp.ListVolumePoolsCmd;15 diff --git a/client/tomcatconf/commands.properties.in b/client/tomcatconf/commands.properties.in index 503bf29347f..41f0b8876e5 100755 --- a/client/tomcatconf/commands.properties.in +++ b/client/tomcatconf/commands.properties.in @@ -1,333 +1,333 @@ -### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER -### Please standardize naming conventions to camel-case (even for acronyms). - -### Account commands -createAccount=com.cloud.api.commands.CreateAccountCmd;3 -deleteAccount=com.cloud.api.commands.DeleteAccountCmd;3 -updateAccount=com.cloud.api.commands.UpdateAccountCmd;3 -disableAccount=com.cloud.api.commands.DisableAccountCmd;7 -enableAccount=com.cloud.api.commands.EnableAccountCmd;7 -###lockAccount=com.cloud.api.commands.LockAccountCmd;7 -listAccounts=com.cloud.api.commands.ListAccountsCmd;15 - -#### User commands -createUser=com.cloud.api.commands.CreateUserCmd;3 -deleteUser=com.cloud.api.commands.DeleteUserCmd;3 -updateUser=com.cloud.api.commands.UpdateUserCmd;3 -listUsers=com.cloud.api.commands.ListUsersCmd;7 -####lockUser=com.cloud.api.commands.LockUserCmd;7 -disableUser=com.cloud.api.commands.DisableUserCmd;7 -enableUser=com.cloud.api.commands.EnableUserCmd;7 - -#### Domain commands -createDomain=com.cloud.api.commands.CreateDomainCmd;1 -updateDomain=com.cloud.api.commands.UpdateDomainCmd;1 -deleteDomain=com.cloud.api.commands.DeleteDomainCmd;1 -listDomains=com.cloud.api.commands.ListDomainsCmd;7 -listDomainChildren=com.cloud.api.commands.ListDomainChildrenCmd;7 - -####Cloud Identifier commands -getCloudIdentifier=com.cloud.api.commands.GetCloudIdentifierCmd;15 - -#### Limit commands -updateResourceLimit=com.cloud.api.commands.UpdateResourceLimitCmd;7 -updateResourceCount=com.cloud.api.commands.UpdateResourceCountCmd;7 -listResourceLimits=com.cloud.api.commands.ListResourceLimitsCmd;15 - -#### VM commands -deployVirtualMachine=com.cloud.api.commands.DeployVMCmd;15 -destroyVirtualMachine=com.cloud.api.commands.DestroyVMCmd;15 -rebootVirtualMachine=com.cloud.api.commands.RebootVMCmd;15 -startVirtualMachine=com.cloud.api.commands.StartVMCmd;15 -stopVirtualMachine=com.cloud.api.commands.StopVMCmd;15 -resetPasswordForVirtualMachine=com.cloud.api.commands.ResetVMPasswordCmd;15 -changeServiceForVirtualMachine=com.cloud.api.commands.UpgradeVMCmd;15 -updateVirtualMachine=com.cloud.api.commands.UpdateVMCmd;15 -recoverVirtualMachine=com.cloud.api.commands.RecoverVMCmd;7 -listVirtualMachines=com.cloud.api.commands.ListVMsCmd;15 -getVMPassword=com.cloud.api.commands.GetVMPasswordCmd;15 -migrateVirtualMachine=com.cloud.api.commands.MigrateVMCmd;1 -assignVirtualMachine=com.cloud.api.commands.AssignVMCmd;1 +### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER +### Please standardize naming conventions to camel-case (even for acronyms). + +### Account commands +createAccount=com.cloud.api.commands.CreateAccountCmd;3 +deleteAccount=com.cloud.api.commands.DeleteAccountCmd;3 +updateAccount=com.cloud.api.commands.UpdateAccountCmd;3 +disableAccount=com.cloud.api.commands.DisableAccountCmd;7 +enableAccount=com.cloud.api.commands.EnableAccountCmd;7 +###lockAccount=com.cloud.api.commands.LockAccountCmd;7 +listAccounts=com.cloud.api.commands.ListAccountsCmd;15 + +#### User commands +createUser=com.cloud.api.commands.CreateUserCmd;3 +deleteUser=com.cloud.api.commands.DeleteUserCmd;3 +updateUser=com.cloud.api.commands.UpdateUserCmd;3 +listUsers=com.cloud.api.commands.ListUsersCmd;7 +####lockUser=com.cloud.api.commands.LockUserCmd;7 +disableUser=com.cloud.api.commands.DisableUserCmd;7 +enableUser=com.cloud.api.commands.EnableUserCmd;7 + +#### Domain commands +createDomain=com.cloud.api.commands.CreateDomainCmd;1 +updateDomain=com.cloud.api.commands.UpdateDomainCmd;1 +deleteDomain=com.cloud.api.commands.DeleteDomainCmd;1 +listDomains=com.cloud.api.commands.ListDomainsCmd;7 +listDomainChildren=com.cloud.api.commands.ListDomainChildrenCmd;7 + +####Cloud Identifier commands +getCloudIdentifier=com.cloud.api.commands.GetCloudIdentifierCmd;15 + +#### Limit commands +updateResourceLimit=com.cloud.api.commands.UpdateResourceLimitCmd;7 +updateResourceCount=com.cloud.api.commands.UpdateResourceCountCmd;7 +listResourceLimits=com.cloud.api.commands.ListResourceLimitsCmd;15 + +#### VM commands +deployVirtualMachine=com.cloud.api.commands.DeployVMCmd;15 +destroyVirtualMachine=com.cloud.api.commands.DestroyVMCmd;15 +rebootVirtualMachine=com.cloud.api.commands.RebootVMCmd;15 +startVirtualMachine=com.cloud.api.commands.StartVMCmd;15 +stopVirtualMachine=com.cloud.api.commands.StopVMCmd;15 +resetPasswordForVirtualMachine=com.cloud.api.commands.ResetVMPasswordCmd;15 +changeServiceForVirtualMachine=com.cloud.api.commands.UpgradeVMCmd;15 +updateVirtualMachine=com.cloud.api.commands.UpdateVMCmd;15 +recoverVirtualMachine=com.cloud.api.commands.RecoverVMCmd;7 +listVirtualMachines=com.cloud.api.commands.ListVMsCmd;15 +getVMPassword=com.cloud.api.commands.GetVMPasswordCmd;15 +migrateVirtualMachine=com.cloud.api.commands.MigrateVMCmd;1 +assignVirtualMachine=com.cloud.api.commands.AssignVMCmd;1 restoreVirtualMachine=com.cloud.api.commands.RestoreVMCmd;15 - -#### snapshot commands -createSnapshot=com.cloud.api.commands.CreateSnapshotCmd;15 -listSnapshots=com.cloud.api.commands.ListSnapshotsCmd;15 -deleteSnapshot=com.cloud.api.commands.DeleteSnapshotCmd;15 -createSnapshotPolicy=com.cloud.api.commands.CreateSnapshotPolicyCmd;15 -deleteSnapshotPolicies=com.cloud.api.commands.DeleteSnapshotPoliciesCmd;15 -listSnapshotPolicies=com.cloud.api.commands.ListSnapshotPoliciesCmd;15 - - -#### template commands -createTemplate=com.cloud.api.commands.CreateTemplateCmd;15 -registerTemplate=com.cloud.api.commands.RegisterTemplateCmd;15 -updateTemplate=com.cloud.api.commands.UpdateTemplateCmd;15 -copyTemplate=com.cloud.api.commands.CopyTemplateCmd;15 -deleteTemplate=com.cloud.api.commands.DeleteTemplateCmd;15 -listTemplates=com.cloud.api.commands.ListTemplatesCmd;15 -updateTemplatePermissions=com.cloud.api.commands.UpdateTemplatePermissionsCmd;15 -listTemplatePermissions=com.cloud.api.commands.ListTemplatePermissionsCmd;15 -extractTemplate=com.cloud.api.commands.ExtractTemplateCmd;15 -prepareTemplate=com.cloud.api.commands.PrepareTemplateCmd;1 - -#### iso commands -attachIso=com.cloud.api.commands.AttachIsoCmd;15 -detachIso=com.cloud.api.commands.DetachIsoCmd;15 -listIsos=com.cloud.api.commands.ListIsosCmd;15 -registerIso=com.cloud.api.commands.RegisterIsoCmd;15 -updateIso=com.cloud.api.commands.UpdateIsoCmd;15 -deleteIso=com.cloud.api.commands.DeleteIsoCmd;15 -copyIso=com.cloud.api.commands.CopyTemplateCmd;15 -updateIsoPermissions=com.cloud.api.commands.UpdateIsoPermissionsCmd;15 -listIsoPermissions=com.cloud.api.commands.ListIsoPermissionsCmd;15 -extractIso=com.cloud.api.commands.ExtractIsoCmd;15 - -#### guest OS commands -listOsTypes=com.cloud.api.commands.ListGuestOsCmd;15 -listOsCategories=com.cloud.api.commands.ListGuestOsCategoriesCmd;15 - -#### service offering commands -createServiceOffering=com.cloud.api.commands.CreateServiceOfferingCmd;1 -deleteServiceOffering=com.cloud.api.commands.DeleteServiceOfferingCmd;1 -updateServiceOffering=com.cloud.api.commands.UpdateServiceOfferingCmd;1 -listServiceOfferings=com.cloud.api.commands.ListServiceOfferingsCmd;15 - -#### disk offering commands -createDiskOffering=com.cloud.api.commands.CreateDiskOfferingCmd;1 -updateDiskOffering=com.cloud.api.commands.UpdateDiskOfferingCmd;1 -deleteDiskOffering=com.cloud.api.commands.DeleteDiskOfferingCmd;1 -listDiskOfferings=com.cloud.api.commands.ListDiskOfferingsCmd;15 - -#### vlan commands -createVlanIpRange=com.cloud.api.commands.CreateVlanIpRangeCmd;1 -deleteVlanIpRange=com.cloud.api.commands.DeleteVlanIpRangeCmd;1 -listVlanIpRanges=com.cloud.api.commands.ListVlanIpRangesCmd;1 - -#### address commands -associateIpAddress=com.cloud.api.commands.AssociateIPAddrCmd;15 -disassociateIpAddress=com.cloud.api.commands.DisassociateIPAddrCmd;15 -listPublicIpAddresses=com.cloud.api.commands.ListPublicIpAddressesCmd;15 - -#### firewall commands -listPortForwardingRules=com.cloud.api.commands.ListPortForwardingRulesCmd;15 -createPortForwardingRule=com.cloud.api.commands.CreatePortForwardingRuleCmd;15 -deletePortForwardingRule=com.cloud.api.commands.DeletePortForwardingRuleCmd;15 -#### updatePortForwardingRule=com.cloud.api.commands.UpdatePortForwardingRuleCmd;15 - -#### NAT commands -enableStaticNat=com.cloud.api.commands.EnableStaticNatCmd;15 -createIpForwardingRule=com.cloud.api.commands.CreateIpForwardingRuleCmd;15 -deleteIpForwardingRule=com.cloud.api.commands.DeleteIpForwardingRuleCmd;15 -listIpForwardingRules=com.cloud.api.commands.ListIpForwardingRulesCmd;15 -disableStaticNat=com.cloud.api.commands.DisableStaticNatCmd;15 - -#### load balancer commands -createLoadBalancerRule=com.cloud.api.commands.CreateLoadBalancerRuleCmd;15 -deleteLoadBalancerRule=com.cloud.api.commands.DeleteLoadBalancerRuleCmd;15 -removeFromLoadBalancerRule=com.cloud.api.commands.RemoveFromLoadBalancerRuleCmd;15 -assignToLoadBalancerRule=com.cloud.api.commands.AssignToLoadBalancerRuleCmd;15 + +#### snapshot commands +createSnapshot=com.cloud.api.commands.CreateSnapshotCmd;15 +listSnapshots=com.cloud.api.commands.ListSnapshotsCmd;15 +deleteSnapshot=com.cloud.api.commands.DeleteSnapshotCmd;15 +createSnapshotPolicy=com.cloud.api.commands.CreateSnapshotPolicyCmd;15 +deleteSnapshotPolicies=com.cloud.api.commands.DeleteSnapshotPoliciesCmd;15 +listSnapshotPolicies=com.cloud.api.commands.ListSnapshotPoliciesCmd;15 + + +#### template commands +createTemplate=com.cloud.api.commands.CreateTemplateCmd;15 +registerTemplate=com.cloud.api.commands.RegisterTemplateCmd;15 +updateTemplate=com.cloud.api.commands.UpdateTemplateCmd;15 +copyTemplate=com.cloud.api.commands.CopyTemplateCmd;15 +deleteTemplate=com.cloud.api.commands.DeleteTemplateCmd;15 +listTemplates=com.cloud.api.commands.ListTemplatesCmd;15 +updateTemplatePermissions=com.cloud.api.commands.UpdateTemplatePermissionsCmd;15 +listTemplatePermissions=com.cloud.api.commands.ListTemplatePermissionsCmd;15 +extractTemplate=com.cloud.api.commands.ExtractTemplateCmd;15 +prepareTemplate=com.cloud.api.commands.PrepareTemplateCmd;1 + +#### iso commands +attachIso=com.cloud.api.commands.AttachIsoCmd;15 +detachIso=com.cloud.api.commands.DetachIsoCmd;15 +listIsos=com.cloud.api.commands.ListIsosCmd;15 +registerIso=com.cloud.api.commands.RegisterIsoCmd;15 +updateIso=com.cloud.api.commands.UpdateIsoCmd;15 +deleteIso=com.cloud.api.commands.DeleteIsoCmd;15 +copyIso=com.cloud.api.commands.CopyTemplateCmd;15 +updateIsoPermissions=com.cloud.api.commands.UpdateIsoPermissionsCmd;15 +listIsoPermissions=com.cloud.api.commands.ListIsoPermissionsCmd;15 +extractIso=com.cloud.api.commands.ExtractIsoCmd;15 + +#### guest OS commands +listOsTypes=com.cloud.api.commands.ListGuestOsCmd;15 +listOsCategories=com.cloud.api.commands.ListGuestOsCategoriesCmd;15 + +#### service offering commands +createServiceOffering=com.cloud.api.commands.CreateServiceOfferingCmd;1 +deleteServiceOffering=com.cloud.api.commands.DeleteServiceOfferingCmd;1 +updateServiceOffering=com.cloud.api.commands.UpdateServiceOfferingCmd;1 +listServiceOfferings=com.cloud.api.commands.ListServiceOfferingsCmd;15 + +#### disk offering commands +createDiskOffering=com.cloud.api.commands.CreateDiskOfferingCmd;1 +updateDiskOffering=com.cloud.api.commands.UpdateDiskOfferingCmd;1 +deleteDiskOffering=com.cloud.api.commands.DeleteDiskOfferingCmd;1 +listDiskOfferings=com.cloud.api.commands.ListDiskOfferingsCmd;15 + +#### vlan commands +createVlanIpRange=com.cloud.api.commands.CreateVlanIpRangeCmd;1 +deleteVlanIpRange=com.cloud.api.commands.DeleteVlanIpRangeCmd;1 +listVlanIpRanges=com.cloud.api.commands.ListVlanIpRangesCmd;1 + +#### address commands +associateIpAddress=com.cloud.api.commands.AssociateIPAddrCmd;15 +disassociateIpAddress=com.cloud.api.commands.DisassociateIPAddrCmd;15 +listPublicIpAddresses=com.cloud.api.commands.ListPublicIpAddressesCmd;15 + +#### firewall commands +listPortForwardingRules=com.cloud.api.commands.ListPortForwardingRulesCmd;15 +createPortForwardingRule=com.cloud.api.commands.CreatePortForwardingRuleCmd;15 +deletePortForwardingRule=com.cloud.api.commands.DeletePortForwardingRuleCmd;15 +#### updatePortForwardingRule=com.cloud.api.commands.UpdatePortForwardingRuleCmd;15 + +#### NAT commands +enableStaticNat=com.cloud.api.commands.EnableStaticNatCmd;15 +createIpForwardingRule=com.cloud.api.commands.CreateIpForwardingRuleCmd;15 +deleteIpForwardingRule=com.cloud.api.commands.DeleteIpForwardingRuleCmd;15 +listIpForwardingRules=com.cloud.api.commands.ListIpForwardingRulesCmd;15 +disableStaticNat=com.cloud.api.commands.DisableStaticNatCmd;15 + +#### load balancer commands +createLoadBalancerRule=com.cloud.api.commands.CreateLoadBalancerRuleCmd;15 +deleteLoadBalancerRule=com.cloud.api.commands.DeleteLoadBalancerRuleCmd;15 +removeFromLoadBalancerRule=com.cloud.api.commands.RemoveFromLoadBalancerRuleCmd;15 +assignToLoadBalancerRule=com.cloud.api.commands.AssignToLoadBalancerRuleCmd;15 createLBStickinessPolicy=com.cloud.api.commands.CreateLBStickinessPolicyCmd;15 deleteLBStickinessPolicy=com.cloud.api.commands.DeleteLBStickinessPolicyCmd;15 -listLoadBalancerRules=com.cloud.api.commands.ListLoadBalancerRulesCmd;15 -listLBStickinessPolicies=com.cloud.api.commands.ListLBStickinessPoliciesCmd;15 -listLoadBalancerRuleInstances=com.cloud.api.commands.ListLoadBalancerRuleInstancesCmd;15 -updateLoadBalancerRule=com.cloud.api.commands.UpdateLoadBalancerRuleCmd;15 - -#### router commands -startRouter=com.cloud.api.commands.StartRouterCmd;7 -rebootRouter=com.cloud.api.commands.RebootRouterCmd;7 -stopRouter=com.cloud.api.commands.StopRouterCmd;7 -destroyRouter=com.cloud.api.commands.DestroyRouterCmd;7 -changeServiceForRouter=com.cloud.api.commands.UpgradeRouterCmd;7 -listRouters=com.cloud.api.commands.ListRoutersCmd;7 - -#### system vm commands -startSystemVm=com.cloud.api.commands.StartSystemVMCmd;1 -rebootSystemVm=com.cloud.api.commands.RebootSystemVmCmd;1 -stopSystemVm=com.cloud.api.commands.StopSystemVmCmd;1 -destroySystemVm=com.cloud.api.commands.DestroySystemVmCmd;1 -listSystemVms=com.cloud.api.commands.ListSystemVMsCmd;3 -migrateSystemVm=com.cloud.api.commands.MigrateSystemVMCmd;1 -changeServiceForSystemVm=com.cloud.api.commands.UpgradeSystemVMCmd;1 - -#### configuration commands -updateConfiguration=com.cloud.api.commands.UpdateCfgCmd;1 -listConfigurations=com.cloud.api.commands.ListCfgsByCmd;1 -ldapConfig=com.cloud.api.commands.LDAPConfigCmd;1 -ldapRemove=com.cloud.api.commands.LDAPRemoveCmd;1 -listCapabilities=com.cloud.api.commands.ListCapabilitiesCmd;15 - -#### pod commands -createPod=com.cloud.api.commands.CreatePodCmd;1 -updatePod=com.cloud.api.commands.UpdatePodCmd;1 -deletePod=com.cloud.api.commands.DeletePodCmd;1 -listPods=com.cloud.api.commands.ListPodsByCmd;3 - -#### zone commands -createZone=com.cloud.api.commands.CreateZoneCmd;1 -updateZone=com.cloud.api.commands.UpdateZoneCmd;1 -deleteZone=com.cloud.api.commands.DeleteZoneCmd;1 -listZones=com.cloud.api.commands.ListZonesByCmd;15 - -#### events commands -listEvents=com.cloud.api.commands.ListEventsCmd;15 -listEventTypes=com.cloud.api.commands.ListEventTypesCmd;15 - -#### alerts commands -listAlerts=com.cloud.api.commands.ListAlertsCmd;3 - -#### system capacity commands -listCapacity=com.cloud.api.commands.ListCapacityCmd;3 +listLoadBalancerRules=com.cloud.api.commands.ListLoadBalancerRulesCmd;15 +listLBStickinessPolicies=com.cloud.api.commands.ListLBStickinessPoliciesCmd;15 +listLoadBalancerRuleInstances=com.cloud.api.commands.ListLoadBalancerRuleInstancesCmd;15 +updateLoadBalancerRule=com.cloud.api.commands.UpdateLoadBalancerRuleCmd;15 + +#### router commands +startRouter=com.cloud.api.commands.StartRouterCmd;7 +rebootRouter=com.cloud.api.commands.RebootRouterCmd;7 +stopRouter=com.cloud.api.commands.StopRouterCmd;7 +destroyRouter=com.cloud.api.commands.DestroyRouterCmd;7 +changeServiceForRouter=com.cloud.api.commands.UpgradeRouterCmd;7 +listRouters=com.cloud.api.commands.ListRoutersCmd;7 + +#### system vm commands +startSystemVm=com.cloud.api.commands.StartSystemVMCmd;1 +rebootSystemVm=com.cloud.api.commands.RebootSystemVmCmd;1 +stopSystemVm=com.cloud.api.commands.StopSystemVmCmd;1 +destroySystemVm=com.cloud.api.commands.DestroySystemVmCmd;1 +listSystemVms=com.cloud.api.commands.ListSystemVMsCmd;3 +migrateSystemVm=com.cloud.api.commands.MigrateSystemVMCmd;1 +changeServiceForSystemVm=com.cloud.api.commands.UpgradeSystemVMCmd;1 + +#### configuration commands +updateConfiguration=com.cloud.api.commands.UpdateCfgCmd;1 +listConfigurations=com.cloud.api.commands.ListCfgsByCmd;1 +ldapConfig=com.cloud.api.commands.LDAPConfigCmd;1 +ldapRemove=com.cloud.api.commands.LDAPRemoveCmd;1 +listCapabilities=com.cloud.api.commands.ListCapabilitiesCmd;15 + +#### pod commands +createPod=com.cloud.api.commands.CreatePodCmd;1 +updatePod=com.cloud.api.commands.UpdatePodCmd;1 +deletePod=com.cloud.api.commands.DeletePodCmd;1 +listPods=com.cloud.api.commands.ListPodsByCmd;3 + +#### zone commands +createZone=com.cloud.api.commands.CreateZoneCmd;1 +updateZone=com.cloud.api.commands.UpdateZoneCmd;1 +deleteZone=com.cloud.api.commands.DeleteZoneCmd;1 +listZones=com.cloud.api.commands.ListZonesByCmd;15 + +#### events commands +listEvents=com.cloud.api.commands.ListEventsCmd;15 +listEventTypes=com.cloud.api.commands.ListEventTypesCmd;15 + +#### alerts commands +listAlerts=com.cloud.api.commands.ListAlertsCmd;3 + +#### system capacity commands +listCapacity=com.cloud.api.commands.ListCapacityCmd;3 #### swift commands^M addSwift=com.cloud.api.commands.AddSwiftCmd;1 listSwifts=com.cloud.api.commands.ListSwiftsCmd;1 - -#### host commands -addHost=com.cloud.api.commands.AddHostCmd;3 -addCluster=com.cloud.api.commands.AddClusterCmd;1 -deleteCluster=com.cloud.api.commands.DeleteClusterCmd;1 -updateCluster=com.cloud.api.commands.UpdateClusterCmd;1 -reconnectHost=com.cloud.api.commands.ReconnectHostCmd;1 -updateHost=com.cloud.api.commands.UpdateHostCmd;1 -deleteHost=com.cloud.api.commands.DeleteHostCmd;3 -prepareHostForMaintenance=com.cloud.api.commands.PrepareForMaintenanceCmd;1 -cancelHostMaintenance=com.cloud.api.commands.CancelMaintenanceCmd;1 -listHosts=com.cloud.api.commands.ListHostsCmd;3 -addSecondaryStorage=com.cloud.api.commands.AddSecondaryStorageCmd;1 -updateHostPassword=com.cloud.api.commands.UpdateHostPasswordCmd;1 - -#### volume commands -attachVolume=com.cloud.api.commands.AttachVolumeCmd;15 -uploadVolume=com.cloud.api.commands.UploadVolumeCmd;15 -detachVolume=com.cloud.api.commands.DetachVolumeCmd;15 -createVolume=com.cloud.api.commands.CreateVolumeCmd;15 -deleteVolume=com.cloud.api.commands.DeleteVolumeCmd;15 -listVolumes=com.cloud.api.commands.ListVolumesCmd;15 -extractVolume=com.cloud.api.commands.ExtractVolumeCmd;15 -migrateVolume=com.cloud.api.commands.MigrateVolumeCmd;15 - -#### registration command: FIXME -- this really should be something in management server that -#### generates a new key for the user and they just have to -#### use that key...the key is stored in the db associated w/ -#### the userId...every request to the developer API should be -#### checked against the key -registerUserKeys=com.cloud.api.commands.RegisterCmd;1 - -### async-query command -queryAsyncJobResult=com.cloud.api.commands.QueryAsyncJobResultCmd;15 -listAsyncJobs=com.cloud.api.commands.ListAsyncJobsCmd;15 - -#### storage pools commands -listStoragePools=com.cloud.api.commands.ListStoragePoolsCmd;3 -createStoragePool=com.cloud.api.commands.CreateStoragePoolCmd;1 -updateStoragePool=com.cloud.api.commands.UpdateStoragePoolCmd;1 -deleteStoragePool=com.cloud.api.commands.DeletePoolCmd;1 -listClusters=com.cloud.api.commands.ListClustersCmd;3 -enableStorageMaintenance=com.cloud.api.commands.PreparePrimaryStorageForMaintenanceCmd;1 -cancelStorageMaintenance=com.cloud.api.commands.CancelPrimaryStorageMaintenanceCmd;1 - -#### security group commands -createSecurityGroup=com.cloud.api.commands.CreateSecurityGroupCmd;15 -deleteSecurityGroup=com.cloud.api.commands.DeleteSecurityGroupCmd;15 -authorizeSecurityGroupIngress=com.cloud.api.commands.AuthorizeSecurityGroupIngressCmd;15 -revokeSecurityGroupIngress=com.cloud.api.commands.RevokeSecurityGroupIngressCmd;15 -authorizeSecurityGroupEgress=com.cloud.api.commands.AuthorizeSecurityGroupEgressCmd;15 -revokeSecurityGroupEgress=com.cloud.api.commands.RevokeSecurityGroupEgressCmd;15 -listSecurityGroups=com.cloud.api.commands.ListSecurityGroupsCmd;15 - -#### vm group commands -createInstanceGroup=com.cloud.api.commands.CreateVMGroupCmd;15 -deleteInstanceGroup=com.cloud.api.commands.DeleteVMGroupCmd;15 -updateInstanceGroup=com.cloud.api.commands.UpdateVMGroupCmd;15 -listInstanceGroups=com.cloud.api.commands.ListVMGroupsCmd;15 - -### Certificate commands -uploadCustomCertificate=com.cloud.api.commands.UploadCustomCertificateCmd;1 - -### other commands -listHypervisors=com.cloud.api.commands.ListHypervisorsCmd;15 - -### VPN -createRemoteAccessVpn=com.cloud.api.commands.CreateRemoteAccessVpnCmd;15 -deleteRemoteAccessVpn=com.cloud.api.commands.DeleteRemoteAccessVpnCmd;15 -listRemoteAccessVpns=com.cloud.api.commands.ListRemoteAccessVpnsCmd;15 - -addVpnUser=com.cloud.api.commands.AddVpnUserCmd;15 -removeVpnUser=com.cloud.api.commands.RemoveVpnUserCmd;15 -listVpnUsers=com.cloud.api.commands.ListVpnUsersCmd;15 - -#### network offering commands -createNetworkOffering=com.cloud.api.commands.CreateNetworkOfferingCmd;1 -updateNetworkOffering=com.cloud.api.commands.UpdateNetworkOfferingCmd;1 -deleteNetworkOffering=com.cloud.api.commands.DeleteNetworkOfferingCmd;1 -listNetworkOfferings=com.cloud.api.commands.ListNetworkOfferingsCmd;15 - -#### network commands -createNetwork=com.cloud.api.commands.CreateNetworkCmd;15 -deleteNetwork=com.cloud.api.commands.DeleteNetworkCmd;15 -listNetworks=com.cloud.api.commands.ListNetworksCmd;15 -restartNetwork=com.cloud.api.commands.RestartNetworkCmd;15 -updateNetwork=com.cloud.api.commands.UpdateNetworkCmd;15 - -#### SSH key pair commands -registerSSHKeyPair=com.cloud.api.commands.RegisterSSHKeyPairCmd;15 -createSSHKeyPair=com.cloud.api.commands.CreateSSHKeyPairCmd;15 -deleteSSHKeyPair=com.cloud.api.commands.DeleteSSHKeyPairCmd;15 + +#### host commands +addHost=com.cloud.api.commands.AddHostCmd;3 +addCluster=com.cloud.api.commands.AddClusterCmd;1 +deleteCluster=com.cloud.api.commands.DeleteClusterCmd;1 +updateCluster=com.cloud.api.commands.UpdateClusterCmd;1 +reconnectHost=com.cloud.api.commands.ReconnectHostCmd;1 +updateHost=com.cloud.api.commands.UpdateHostCmd;1 +deleteHost=com.cloud.api.commands.DeleteHostCmd;3 +prepareHostForMaintenance=com.cloud.api.commands.PrepareForMaintenanceCmd;1 +cancelHostMaintenance=com.cloud.api.commands.CancelMaintenanceCmd;1 +listHosts=com.cloud.api.commands.ListHostsCmd;3 +addSecondaryStorage=com.cloud.api.commands.AddSecondaryStorageCmd;1 +updateHostPassword=com.cloud.api.commands.UpdateHostPasswordCmd;1 + +#### volume commands +attachVolume=com.cloud.api.commands.AttachVolumeCmd;15 +uploadVolume=com.cloud.api.commands.UploadVolumeCmd;15 +detachVolume=com.cloud.api.commands.DetachVolumeCmd;15 +createVolume=com.cloud.api.commands.CreateVolumeCmd;15 +deleteVolume=com.cloud.api.commands.DeleteVolumeCmd;15 +listVolumes=com.cloud.api.commands.ListVolumesCmd;15 +extractVolume=com.cloud.api.commands.ExtractVolumeCmd;15 +migrateVolume=com.cloud.api.commands.MigrateVolumeCmd;15 + +#### registration command: FIXME -- this really should be something in management server that +#### generates a new key for the user and they just have to +#### use that key...the key is stored in the db associated w/ +#### the userId...every request to the developer API should be +#### checked against the key +registerUserKeys=com.cloud.api.commands.RegisterCmd;1 + +### async-query command +queryAsyncJobResult=com.cloud.api.commands.QueryAsyncJobResultCmd;15 +listAsyncJobs=com.cloud.api.commands.ListAsyncJobsCmd;15 + +#### storage pools commands +listStoragePools=com.cloud.api.commands.ListStoragePoolsCmd;3 +createStoragePool=com.cloud.api.commands.CreateStoragePoolCmd;1 +updateStoragePool=com.cloud.api.commands.UpdateStoragePoolCmd;1 +deleteStoragePool=com.cloud.api.commands.DeletePoolCmd;1 +listClusters=com.cloud.api.commands.ListClustersCmd;3 +enableStorageMaintenance=com.cloud.api.commands.PreparePrimaryStorageForMaintenanceCmd;1 +cancelStorageMaintenance=com.cloud.api.commands.CancelPrimaryStorageMaintenanceCmd;1 + +#### security group commands +createSecurityGroup=com.cloud.api.commands.CreateSecurityGroupCmd;15 +deleteSecurityGroup=com.cloud.api.commands.DeleteSecurityGroupCmd;15 +authorizeSecurityGroupIngress=com.cloud.api.commands.AuthorizeSecurityGroupIngressCmd;15 +revokeSecurityGroupIngress=com.cloud.api.commands.RevokeSecurityGroupIngressCmd;15 +authorizeSecurityGroupEgress=com.cloud.api.commands.AuthorizeSecurityGroupEgressCmd;15 +revokeSecurityGroupEgress=com.cloud.api.commands.RevokeSecurityGroupEgressCmd;15 +listSecurityGroups=com.cloud.api.commands.ListSecurityGroupsCmd;15 + +#### vm group commands +createInstanceGroup=com.cloud.api.commands.CreateVMGroupCmd;15 +deleteInstanceGroup=com.cloud.api.commands.DeleteVMGroupCmd;15 +updateInstanceGroup=com.cloud.api.commands.UpdateVMGroupCmd;15 +listInstanceGroups=com.cloud.api.commands.ListVMGroupsCmd;15 + +### Certificate commands +uploadCustomCertificate=com.cloud.api.commands.UploadCustomCertificateCmd;1 + +### other commands +listHypervisors=com.cloud.api.commands.ListHypervisorsCmd;15 + +### VPN +createRemoteAccessVpn=com.cloud.api.commands.CreateRemoteAccessVpnCmd;15 +deleteRemoteAccessVpn=com.cloud.api.commands.DeleteRemoteAccessVpnCmd;15 +listRemoteAccessVpns=com.cloud.api.commands.ListRemoteAccessVpnsCmd;15 + +addVpnUser=com.cloud.api.commands.AddVpnUserCmd;15 +removeVpnUser=com.cloud.api.commands.RemoveVpnUserCmd;15 +listVpnUsers=com.cloud.api.commands.ListVpnUsersCmd;15 + +#### network offering commands +createNetworkOffering=com.cloud.api.commands.CreateNetworkOfferingCmd;1 +updateNetworkOffering=com.cloud.api.commands.UpdateNetworkOfferingCmd;1 +deleteNetworkOffering=com.cloud.api.commands.DeleteNetworkOfferingCmd;1 +listNetworkOfferings=com.cloud.api.commands.ListNetworkOfferingsCmd;15 + +#### network commands +createNetwork=com.cloud.api.commands.CreateNetworkCmd;15 +deleteNetwork=com.cloud.api.commands.DeleteNetworkCmd;15 +listNetworks=com.cloud.api.commands.ListNetworksCmd;15 +restartNetwork=com.cloud.api.commands.RestartNetworkCmd;15 +updateNetwork=com.cloud.api.commands.UpdateNetworkCmd;15 + +#### SSH key pair commands +registerSSHKeyPair=com.cloud.api.commands.RegisterSSHKeyPairCmd;15 +createSSHKeyPair=com.cloud.api.commands.CreateSSHKeyPairCmd;15 +deleteSSHKeyPair=com.cloud.api.commands.DeleteSSHKeyPairCmd;15 listSSHKeyPairs=com.cloud.api.commands.ListSSHKeyPairsCmd;15 -#### Projects commands -createProject=com.cloud.api.commands.CreateProjectCmd;15 -deleteProject=com.cloud.api.commands.DeleteProjectCmd;15 -updateProject=com.cloud.api.commands.UpdateProjectCmd;15 -activateProject=com.cloud.api.commands.ActivateProjectCmd;15 -suspendProject=com.cloud.api.commands.SuspendProjectCmd;15 +#### Projects commands +createProject=com.cloud.api.commands.CreateProjectCmd;15 +deleteProject=com.cloud.api.commands.DeleteProjectCmd;15 +updateProject=com.cloud.api.commands.UpdateProjectCmd;15 +activateProject=com.cloud.api.commands.ActivateProjectCmd;15 +suspendProject=com.cloud.api.commands.SuspendProjectCmd;15 listProjects=com.cloud.api.commands.ListProjectsCmd;15 -addAccountToProject=com.cloud.api.commands.AddAccountToProjectCmd;15 -deleteAccountFromProject=com.cloud.api.commands.DeleteAccountFromProjectCmd;15 -listProjectAccounts=com.cloud.api.commands.ListProjectAccountsCmd;15 -listProjectInvitations=com.cloud.api.commands.ListProjectInvitationsCmd;15 -updateProjectInvitation=com.cloud.api.commands.UpdateProjectInvitationCmd;15 +addAccountToProject=com.cloud.api.commands.AddAccountToProjectCmd;15 +deleteAccountFromProject=com.cloud.api.commands.DeleteAccountFromProjectCmd;15 +listProjectAccounts=com.cloud.api.commands.ListProjectAccountsCmd;15 +listProjectInvitations=com.cloud.api.commands.ListProjectInvitationsCmd;15 +updateProjectInvitation=com.cloud.api.commands.UpdateProjectInvitationCmd;15 deleteProjectInvitation=com.cloud.api.commands.DeleteProjectInvitationCmd;15 - -#### -createFirewallRule=com.cloud.api.commands.CreateFirewallRuleCmd;15 -deleteFirewallRule=com.cloud.api.commands.DeleteFirewallRuleCmd;15 -listFirewallRules=com.cloud.api.commands.ListFirewallRulesCmd;15 - -#### hypervisor capabilities commands -updateHypervisorCapabilities=com.cloud.api.commands.UpdateHypervisorCapabilitiesCmd;1 -listHypervisorCapabilities=com.cloud.api.commands.ListHypervisorCapabilitiesCmd;1 - -#### Physical Network commands -createPhysicalNetwork=com.cloud.api.commands.CreatePhysicalNetworkCmd;1 -deletePhysicalNetwork=com.cloud.api.commands.DeletePhysicalNetworkCmd;1 -listPhysicalNetworks=com.cloud.api.commands.ListPhysicalNetworksCmd;1 -updatePhysicalNetwork=com.cloud.api.commands.UpdatePhysicalNetworkCmd;1 -#### Physical Network Service Provider commands -listSupportedNetworkServices=com.cloud.api.commands.ListSupportedNetworkServicesCmd;1 -addNetworkServiceProvider=com.cloud.api.commands.AddNetworkServiceProviderCmd;1 -deleteNetworkServiceProvider=com.cloud.api.commands.DeleteNetworkServiceProviderCmd;1 -listNetworkServiceProviders=com.cloud.api.commands.ListNetworkServiceProvidersCmd;1 -updateNetworkServiceProvider=com.cloud.api.commands.UpdateNetworkServiceProviderCmd;1 - -#### Physical Network Traffic Type commands -addTrafficType=com.cloud.api.commands.AddTrafficTypeCmd;1 -deleteTrafficType=com.cloud.api.commands.DeleteTrafficTypeCmd;1 -listTrafficTypes=com.cloud.api.commands.ListTrafficTypesCmd;1 -updateTrafficType=com.cloud.api.commands.UpdateTrafficTypeCmd;1 +#### +createFirewallRule=com.cloud.api.commands.CreateFirewallRuleCmd;15 +deleteFirewallRule=com.cloud.api.commands.DeleteFirewallRuleCmd;15 +listFirewallRules=com.cloud.api.commands.ListFirewallRulesCmd;15 + +#### hypervisor capabilities commands +updateHypervisorCapabilities=com.cloud.api.commands.UpdateHypervisorCapabilitiesCmd;1 +listHypervisorCapabilities=com.cloud.api.commands.ListHypervisorCapabilitiesCmd;1 + +#### Physical Network commands +createPhysicalNetwork=com.cloud.api.commands.CreatePhysicalNetworkCmd;1 +deletePhysicalNetwork=com.cloud.api.commands.DeletePhysicalNetworkCmd;1 +listPhysicalNetworks=com.cloud.api.commands.ListPhysicalNetworksCmd;1 +updatePhysicalNetwork=com.cloud.api.commands.UpdatePhysicalNetworkCmd;1 + +#### Physical Network Service Provider commands +listSupportedNetworkServices=com.cloud.api.commands.ListSupportedNetworkServicesCmd;1 +addNetworkServiceProvider=com.cloud.api.commands.AddNetworkServiceProviderCmd;1 +deleteNetworkServiceProvider=com.cloud.api.commands.DeleteNetworkServiceProviderCmd;1 +listNetworkServiceProviders=com.cloud.api.commands.ListNetworkServiceProvidersCmd;1 +updateNetworkServiceProvider=com.cloud.api.commands.UpdateNetworkServiceProviderCmd;1 + +#### Physical Network Traffic Type commands +addTrafficType=com.cloud.api.commands.AddTrafficTypeCmd;1 +deleteTrafficType=com.cloud.api.commands.DeleteTrafficTypeCmd;1 +listTrafficTypes=com.cloud.api.commands.ListTrafficTypesCmd;1 +updateTrafficType=com.cloud.api.commands.UpdateTrafficTypeCmd;1 listTrafficTypeImplementors=com.cloud.api.commands.ListTrafficTypeImplementorsCmd;1 - -#### Storage Network commands -createStorageNetworkIpRange=com.cloud.api.commands.CreateStorageNetworkIpRangeCmd;1 -deleteStorageNetworkIpRange=com.cloud.api.commands.DeleteStorageNetworkIpRangeCmd;1 -listStorageNetworkIpRange=com.cloud.api.commands.listStorageNetworkIpRangeCmd;1 + +#### Storage Network commands +createStorageNetworkIpRange=com.cloud.api.commands.CreateStorageNetworkIpRangeCmd;1 +deleteStorageNetworkIpRange=com.cloud.api.commands.DeleteStorageNetworkIpRangeCmd;1 +listStorageNetworkIpRange=com.cloud.api.commands.listStorageNetworkIpRangeCmd;1 updateStorageNetworkIpRange=com.cloud.api.commands.UpdateStorageNetworkIpRangeCmd;1 - -### Network Devices commands -addNetworkDevice=com.cloud.api.commands.AddNetworkDeviceCmd;1 -listNetworkDevice=com.cloud.api.commands.ListNetworkDeviceCmd;1 -deleteNetworkDevice=com.cloud.api.commands.DeleteNetworkDeviceCmd;1 + +### Network Devices commands +addNetworkDevice=com.cloud.api.commands.AddNetworkDeviceCmd;1 +listNetworkDevice=com.cloud.api.commands.ListNetworkDeviceCmd;1 +deleteNetworkDevice=com.cloud.api.commands.DeleteNetworkDeviceCmd;1 diff --git a/client/tomcatconf/db.properties.in b/client/tomcatconf/db.properties.in index 0460bad4a70..9c099dc0e3d 100644 --- a/client/tomcatconf/db.properties.in +++ b/client/tomcatconf/db.properties.in @@ -1,51 +1,51 @@ -# management server clustering parameters, change cluster.node.IP to the machine IP address -# in which the management server(Tomcat) is running -cluster.node.IP=127.0.0.1 -cluster.servlet.port=9090 - -# CloudStack database settings -db.cloud.username=@DBUSER@ -db.cloud.password=@DBPW@ -db.cloud.host=@DBHOST@ -db.cloud.port=3306 -db.cloud.name=cloud - -# CloudStack database tuning parameters -db.cloud.maxActive=250 -db.cloud.maxIdle=30 -db.cloud.maxWait=10000 -db.cloud.autoReconnect=true -db.cloud.validationQuery=SELECT 1 -db.cloud.testOnBorrow=true -db.cloud.testWhileIdle=true -db.cloud.timeBetweenEvictionRunsMillis=40000 -db.cloud.minEvictableIdleTimeMillis=240000 -db.cloud.removeAbandoned=false -db.cloud.removeAbandonedTimeout=300 -db.cloud.logAbandoned=true -db.cloud.poolPreparedStatements=false -db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true - -# CloudStack database SSL settings -db.cloud.useSSL=false -db.cloud.keyStore= -db.cloud.keyStorePassword= -db.cloud.trustStore= -db.cloud.trustStorePassword= - -# Encryption Settings -db.cloud.encryption.type=none -db.cloud.encrypt.secret= - -# usage database settings -db.usage.username=@DBUSER@ -db.usage.password=@DBPW@ -db.usage.host=@DBHOST@ -db.usage.port=3306 -db.usage.name=cloud_usage - -# usage database tuning parameters -db.usage.maxActive=100 -db.usage.maxIdle=30 -db.usage.maxWait=10000 -db.usage.autoReconnect=true +# management server clustering parameters, change cluster.node.IP to the machine IP address +# in which the management server(Tomcat) is running +cluster.node.IP=127.0.0.1 +cluster.servlet.port=9090 + +# CloudStack database settings +db.cloud.username=@DBUSER@ +db.cloud.password=@DBPW@ +db.cloud.host=@DBHOST@ +db.cloud.port=3306 +db.cloud.name=cloud + +# CloudStack database tuning parameters +db.cloud.maxActive=250 +db.cloud.maxIdle=30 +db.cloud.maxWait=10000 +db.cloud.autoReconnect=true +db.cloud.validationQuery=SELECT 1 +db.cloud.testOnBorrow=true +db.cloud.testWhileIdle=true +db.cloud.timeBetweenEvictionRunsMillis=40000 +db.cloud.minEvictableIdleTimeMillis=240000 +db.cloud.removeAbandoned=false +db.cloud.removeAbandonedTimeout=300 +db.cloud.logAbandoned=true +db.cloud.poolPreparedStatements=false +db.cloud.url.params=prepStmtCacheSize=517&cachePrepStmts=true + +# CloudStack database SSL settings +db.cloud.useSSL=false +db.cloud.keyStore= +db.cloud.keyStorePassword= +db.cloud.trustStore= +db.cloud.trustStorePassword= + +# Encryption Settings +db.cloud.encryption.type=none +db.cloud.encrypt.secret= + +# usage database settings +db.usage.username=@DBUSER@ +db.usage.password=@DBPW@ +db.usage.host=@DBHOST@ +db.usage.port=3306 +db.usage.name=cloud_usage + +# usage database tuning parameters +db.usage.maxActive=100 +db.usage.maxIdle=30 +db.usage.maxWait=10000 +db.usage.autoReconnect=true diff --git a/client/tomcatconf/environment.properties.in b/client/tomcatconf/environment.properties.in index 90b9aab8ee5..f7b5afd8f9e 100644 --- a/client/tomcatconf/environment.properties.in +++ b/client/tomcatconf/environment.properties.in @@ -1,5 +1,5 @@ -# management server compile-time environment parameters - -paths.script=@AGENTLIBDIR@ -mount.parent=@MSMNTDIR@ -cloud-stack-components-specification=@COMPONENTS-SPEC@ +# management server compile-time environment parameters + +paths.script=@AGENTLIBDIR@ +mount.parent=@MSMNTDIR@ +cloud-stack-components-specification=@COMPONENTS-SPEC@ diff --git a/client/tomcatconf/f5bigip_commands.properties.in b/client/tomcatconf/f5bigip_commands.properties.in index b82f1361a02..d6f86039eff 100644 --- a/client/tomcatconf/f5bigip_commands.properties.in +++ b/client/tomcatconf/f5bigip_commands.properties.in @@ -1,15 +1,15 @@ -### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER -### Please standardize naming conventions to camel-case (even for acronyms). - -#### f5 big ip load balancer commands - -#Deprecated commands -addExternalLoadBalancer = com.cloud.api.commands.AddExternalLoadBalancerCmd;7 -deleteExternalLoadBalancer = com.cloud.api.commands.DeleteExternalLoadBalancerCmd;7 -listExternalLoadBalancers = com.cloud.api.commands.ListExternalLoadBalancersCmd;7 - -addF5LoadBalancer = com.cloud.api.commands.AddF5LoadBalancerCmd;7 -configureF5LoadBalancer = com.cloud.api.commands.ConfigureF5LoadBalancerCmd;7 -deleteF5LoadBalancer = com.cloud.api.commands.DeleteF5LoadBalancerCmd;7 -listF5LoadBalancers = com.cloud.api.commands.ListF5LoadBalancersCmd;7 -listF5LoadBalancerNetworks = com.cloud.api.commands.ListF5LoadBalancerNetworksCmd;7 +### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER +### Please standardize naming conventions to camel-case (even for acronyms). + +#### f5 big ip load balancer commands + +#Deprecated commands +addExternalLoadBalancer = com.cloud.api.commands.AddExternalLoadBalancerCmd;7 +deleteExternalLoadBalancer = com.cloud.api.commands.DeleteExternalLoadBalancerCmd;7 +listExternalLoadBalancers = com.cloud.api.commands.ListExternalLoadBalancersCmd;7 + +addF5LoadBalancer = com.cloud.api.commands.AddF5LoadBalancerCmd;7 +configureF5LoadBalancer = com.cloud.api.commands.ConfigureF5LoadBalancerCmd;7 +deleteF5LoadBalancer = com.cloud.api.commands.DeleteF5LoadBalancerCmd;7 +listF5LoadBalancers = com.cloud.api.commands.ListF5LoadBalancersCmd;7 +listF5LoadBalancerNetworks = com.cloud.api.commands.ListF5LoadBalancerNetworksCmd;7 diff --git a/client/tomcatconf/junipersrx_commands.properties.in b/client/tomcatconf/junipersrx_commands.properties.in index e7619f9f577..014cbf782ef 100644 --- a/client/tomcatconf/junipersrx_commands.properties.in +++ b/client/tomcatconf/junipersrx_commands.properties.in @@ -1,13 +1,13 @@ -### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER -### Please standardize naming conventions to camel-case (even for acronyms). - -#### juniper srx firewall commands -addExternalFirewall = com.cloud.api.commands.AddExternalFirewallCmd;7 -deleteExternalFirewall = com.cloud.api.commands.DeleteExternalFirewallCmd;7 -listExternalFirewalls = com.cloud.api.commands.ListExternalFirewallsCmd;7 - -addSrxFirewall = com.cloud.api.commands.AddSrxFirewallCmd;7 -deleteSrxFirewall = com.cloud.api.commands.DeleteSrxFirewallCmd;7 -configureSrxFirewall = com.cloud.api.commands.ConfigureSrxFirewallCmd;7 -listSrxFirewalls = com.cloud.api.commands.ListSrxFirewallsCmd;7 -listSrxFirewallNetworks = com.cloud.api.commands.ListSrxFirewallNetworksCmd;7 +### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER +### Please standardize naming conventions to camel-case (even for acronyms). + +#### juniper srx firewall commands +addExternalFirewall = com.cloud.api.commands.AddExternalFirewallCmd;7 +deleteExternalFirewall = com.cloud.api.commands.DeleteExternalFirewallCmd;7 +listExternalFirewalls = com.cloud.api.commands.ListExternalFirewallsCmd;7 + +addSrxFirewall = com.cloud.api.commands.AddSrxFirewallCmd;7 +deleteSrxFirewall = com.cloud.api.commands.DeleteSrxFirewallCmd;7 +configureSrxFirewall = com.cloud.api.commands.ConfigureSrxFirewallCmd;7 +listSrxFirewalls = com.cloud.api.commands.ListSrxFirewallsCmd;7 +listSrxFirewallNetworks = com.cloud.api.commands.ListSrxFirewallNetworksCmd;7 diff --git a/client/tomcatconf/netscalerloadbalancer_commands.properties.in b/client/tomcatconf/netscalerloadbalancer_commands.properties.in index c4c00ab0014..e5b548272cd 100644 --- a/client/tomcatconf/netscalerloadbalancer_commands.properties.in +++ b/client/tomcatconf/netscalerloadbalancer_commands.properties.in @@ -1,9 +1,9 @@ -### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER -### Please standardize naming conventions to camel-case (even for acronyms). - -#### netscaler load balancer commands -addNetscalerLoadBalancer = com.cloud.api.commands.AddNetscalerLoadBalancerCmd;7 -deleteNetscalerLoadBalancer = com.cloud.api.commands.DeleteNetscalerLoadBalancerCmd;7 -configureNetscalerLoadBalancer = com.cloud.api.commands.ConfigureNetscalerLoadBalancerCmd;7 -listNetscalerLoadBalancers = com.cloud.api.commands.ListNetscalerLoadBalancersCmd;7 -listNetscalerLoadBalancerNetworks = com.cloud.api.commands.ListNetscalerLoadBalancerNetworksCmd;7 +### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER +### Please standardize naming conventions to camel-case (even for acronyms). + +#### netscaler load balancer commands +addNetscalerLoadBalancer = com.cloud.api.commands.AddNetscalerLoadBalancerCmd;7 +deleteNetscalerLoadBalancer = com.cloud.api.commands.DeleteNetscalerLoadBalancerCmd;7 +configureNetscalerLoadBalancer = com.cloud.api.commands.ConfigureNetscalerLoadBalancerCmd;7 +listNetscalerLoadBalancers = com.cloud.api.commands.ListNetscalerLoadBalancersCmd;7 +listNetscalerLoadBalancerNetworks = com.cloud.api.commands.ListNetscalerLoadBalancerNetworksCmd;7 diff --git a/client/tomcatconf/virtualrouter_commands.properties.in b/client/tomcatconf/virtualrouter_commands.properties.in index 069dd451a63..b6a479dea17 100644 --- a/client/tomcatconf/virtualrouter_commands.properties.in +++ b/client/tomcatconf/virtualrouter_commands.properties.in @@ -1,7 +1,7 @@ -### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER -### Please standardize naming conventions to camel-case (even for acronyms). - -#### router commands -createVirtualRouterElement=com.cloud.api.commands.CreateVirtualRouterElementCmd;7 -configureVirtualRouterElement=com.cloud.api.commands.ConfigureVirtualRouterElementCmd;7 -listVirtualRouterElements=com.cloud.api.commands.ListVirtualRouterElementsCmd;7 +### bitmap of permissions at the end of each classname, 1 = ADMIN, 2 = RESOURCE_DOMAIN_ADMIN, 4 = DOMAIN_ADMIN, 8 = USER +### Please standardize naming conventions to camel-case (even for acronyms). + +#### router commands +createVirtualRouterElement=com.cloud.api.commands.CreateVirtualRouterElementCmd;7 +configureVirtualRouterElement=com.cloud.api.commands.ConfigureVirtualRouterElementCmd;7 +listVirtualRouterElements=com.cloud.api.commands.ListVirtualRouterElementsCmd;7