Merge branch 'master' into internallb1

Conflicts:
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/query/QueryManagerImpl.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	setup/db/db/schema-410to420.sql
This commit is contained in:
Alena Prokharchyk 2013-04-29 15:49:48 -07:00
commit 7b24a7640c
181 changed files with 17495 additions and 10758 deletions

View File

@ -78,7 +78,7 @@ domr.scripts.dir=scripts/network/domr/kvm
# a sensible default will be selected based on the network.bridge.type but can
# be overridden here.
# native = com.cloud.hypervisor.kvm.resource.BridgeVifDriver
# openvswitch = com.cloud.hypervisor.kvm.resource.OvsBridgeDriver
# openvswitch = com.cloud.hypervisor.kvm.resource.OvsVifDriver
#libvirt.vif.driver=com.cloud.hypervisor.kvm.resource.BridgeVifDriver
# set the hypervisor type, values are: kvm, lxc

View File

@ -0,0 +1,34 @@
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.agent.api;
public class UnregisterVMCommand extends Command {
String vmName;
public UnregisterVMCommand(String vmName){
this.vmName = vmName;
}
@Override
public boolean executeInSequence() {
return false;
}
public String getVmName() {
return vmName;
}
}

View File

@ -20,6 +20,11 @@ import java.util.List;
import javax.naming.NamingException;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.ConcurrentOperationException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.exception.ResourceAllocationException;
import org.apache.cloudstack.api.command.admin.config.UpdateCfgCmd;
import org.apache.cloudstack.api.command.admin.ldap.LDAPConfigCmd;
import org.apache.cloudstack.api.command.admin.ldap.LDAPRemoveCmd;
@ -46,10 +51,6 @@ import org.apache.cloudstack.api.command.user.network.ListNetworkOfferingsCmd;
import com.cloud.dc.DataCenter;
import com.cloud.dc.Pod;
import com.cloud.dc.Vlan;
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.offering.DiskOffering;
import com.cloud.offering.NetworkOffering;
@ -65,7 +66,7 @@ public interface ConfigurationService {
* - the command wrapping name and value parameters
* @return updated configuration object if successful
*/
Configuration updateConfiguration(UpdateCfgCmd cmd);
Configuration updateConfiguration(UpdateCfgCmd cmd) throws InvalidParameterValueException;
/**
* Create a service offering through the API
@ -250,7 +251,7 @@ public interface ConfigurationService {
NetworkOffering getNetworkOffering(long id);
Integer getNetworkOfferingNetworkRate(long networkOfferingId);
Integer getNetworkOfferingNetworkRate(long networkOfferingId, Long dataCenterId);
Account getVlanAccount(long vlanId);
@ -262,7 +263,7 @@ public interface ConfigurationService {
Long getDefaultPageSize();
Integer getServiceOfferingNetworkRate(long serviceOfferingId);
Integer getServiceOfferingNetworkRate(long serviceOfferingId, Long dataCenterId);
DiskOffering getDiskOffering(long diskOfferingId);

View File

@ -16,6 +16,8 @@
// under the License.
package com.cloud.hypervisor;
import java.util.List;
import com.cloud.agent.api.Command;
import com.cloud.agent.api.to.NicTO;
import com.cloud.agent.api.to.VirtualMachineTO;
@ -57,4 +59,11 @@ public interface HypervisorGuru extends Adapter {
* @return
*/
NicTO toNicTO(NicProfile profile);
/**
* Give hypervisor guru opportunity to decide if certain command needs to be done after expunge VM from DB
* @param vm
* @return a list of Commands
*/
List<Command> finalizeExpunge(VirtualMachine vm);
}

View File

@ -182,7 +182,7 @@ public interface NetworkModel {
/**
* @return
*/
String getDefaultNetworkDomain();
String getDefaultNetworkDomain(long zoneId);
/**
* @param ntwkOffId

View File

@ -158,7 +158,7 @@ public interface NetworkService {
throws ResourceAllocationException, ConcurrentOperationException, InsufficientCapacityException;
/* Requests an IP address for the guest nic */
String allocateSecondaryGuestIP(Account account, long zoneId, Long nicId,
NicSecondaryIp allocateSecondaryGuestIP(Account account, long zoneId, Long nicId,
Long networkId, String ipaddress) throws InsufficientAddressCapacityException;
boolean releaseSecondaryIpFromNic(long ipAddressId);

View File

@ -17,6 +17,7 @@
package com.cloud.region.ha;
import com.cloud.network.rules.LoadBalancer;
import org.apache.cloudstack.api.command.user.region.ha.gslb.*;
import java.util.List;
@ -44,4 +45,6 @@ public interface GlobalLoadBalancingRulesService {
List<GlobalLoadBalancerRule> listGlobalLoadBalancerRule(ListGlobalLoadBalancerRuleCmd listGslbCmd);
List<LoadBalancer> listSiteLoadBalancers(long gslbRuleId);
}

View File

@ -21,9 +21,22 @@ import java.util.Map;
import javax.naming.InsufficientResourcesException;
import org.apache.cloudstack.api.BaseCmd.HTTPMethod;
import org.apache.cloudstack.api.command.admin.vm.AssignVMCmd;
import org.apache.cloudstack.api.command.admin.vm.RecoverVMCmd;
import org.apache.cloudstack.api.command.user.vm.*;
import org.apache.cloudstack.api.command.user.vm.AddNicToVMCmd;
import org.apache.cloudstack.api.command.user.vm.DeployVMCmd;
import org.apache.cloudstack.api.command.user.vm.DestroyVMCmd;
import org.apache.cloudstack.api.command.user.vm.RebootVMCmd;
import org.apache.cloudstack.api.command.user.vm.RemoveNicFromVMCmd;
import org.apache.cloudstack.api.command.user.vm.ResetVMPasswordCmd;
import org.apache.cloudstack.api.command.user.vm.ResetVMSSHKeyCmd;
import org.apache.cloudstack.api.command.user.vm.RestoreVMCmd;
import org.apache.cloudstack.api.command.user.vm.ScaleVMCmd;
import org.apache.cloudstack.api.command.user.vm.StartVMCmd;
import org.apache.cloudstack.api.command.user.vm.UpdateDefaultNicForVMCmd;
import org.apache.cloudstack.api.command.user.vm.UpdateVMCmd;
import org.apache.cloudstack.api.command.user.vm.UpgradeVMCmd;
import org.apache.cloudstack.api.command.user.vmgroup.CreateVMGroupCmd;
import org.apache.cloudstack.api.command.user.vmgroup.DeleteVMGroupCmd;
import com.cloud.dc.DataCenter;
@ -185,8 +198,8 @@ public interface UserVmService {
*/
UserVm createBasicSecurityGroupVirtualMachine(DataCenter zone, ServiceOffering serviceOffering, VirtualMachineTemplate template, List<Long> securityGroupIdList, Account owner, String hostName,
String displayName, Long diskOfferingId, Long diskSize, String group, HypervisorType hypervisor,
String userData, String sshKeyPair, Map<Long, IpAddresses> requestedIps, IpAddresses defaultIp,
String keyboard, List<Long> affinityGroupIdList)
HTTPMethod httpmethod, String userData, String sshKeyPair, Map<Long, IpAddresses> requestedIps,
IpAddresses defaultIp, String keyboard, List<Long> affinityGroupIdList)
throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException, StorageUnavailableException, ResourceAllocationException;
/**
@ -257,8 +270,8 @@ public interface UserVmService {
* @throws InsufficientResourcesException
*/
UserVm createAdvancedSecurityGroupVirtualMachine(DataCenter zone, ServiceOffering serviceOffering, VirtualMachineTemplate template, List<Long> networkIdList, List<Long> securityGroupIdList,
Account owner, String hostName, String displayName, Long diskOfferingId, Long diskSize, String group, HypervisorType hypervisor, String userData, String sshKeyPair, Map<Long, IpAddresses> requestedIps,
IpAddresses defaultIps, String keyboard, List<Long> affinityGroupIdList)
Account owner, String hostName, String displayName, Long diskOfferingId, Long diskSize, String group, HypervisorType hypervisor, HTTPMethod httpmethod, String userData, String sshKeyPair,
Map<Long, IpAddresses> requestedIps, IpAddresses defaultIps, String keyboard, List<Long> affinityGroupIdList)
throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException, StorageUnavailableException, ResourceAllocationException;
/**
@ -327,8 +340,8 @@ public interface UserVmService {
*/
UserVm createAdvancedVirtualMachine(DataCenter zone, ServiceOffering serviceOffering, VirtualMachineTemplate template, List<Long> networkIdList, Account owner, String hostName,
String displayName, Long diskOfferingId, Long diskSize, String group, HypervisorType hypervisor,
String userData, String sshKeyPair, Map<Long, IpAddresses> requestedIps, IpAddresses defaultIps,
String keyboard, List<Long> affinityGroupIdList)
HTTPMethod httpmethod, String userData, String sshKeyPair, Map<Long, IpAddresses> requestedIps,
IpAddresses defaultIps, String keyboard, List<Long> affinityGroupIdList)
throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException, StorageUnavailableException, ResourceAllocationException;
/**

View File

@ -335,6 +335,7 @@ public class ApiConstants {
public static final String LOAD_BALANCER_DEVICE_STATE = "lbdevicestate";
public static final String LOAD_BALANCER_DEVICE_CAPACITY = "lbdevicecapacity";
public static final String LOAD_BALANCER_DEVICE_DEDICATED = "lbdevicededicated";
public static final String LOAD_BALANCER_RULE = "loadbalancerrule";
public static final String LOAD_BALANCER_RULE_LIST = "loadbalancerrulelist";
public static final String FIREWALL_DEVICE_ID = "fwdeviceid";
public static final String FIREWALL_DEVICE_NAME = "fwdevicename";

View File

@ -99,6 +99,11 @@ public abstract class BaseCmd {
private Object _responseObject = null;
private Map<String, String> fullUrlParams;
public enum HTTPMethod {
GET, POST, PUT, DELETE
}
private HTTPMethod httpMethod;
@Parameter(name = "response", type = CommandType.STRING)
private String responseType;
@ -150,6 +155,25 @@ public abstract class BaseCmd {
public void configure() {
}
public HTTPMethod getHttpMethod() {
return httpMethod;
}
public void setHttpMethod(String method) {
if (method != null) {
if (method.equalsIgnoreCase("GET"))
httpMethod = HTTPMethod.GET;
else if (method.equalsIgnoreCase("PUT"))
httpMethod = HTTPMethod.PUT;
else if (method.equalsIgnoreCase("POST"))
httpMethod = HTTPMethod.POST;
else if (method.equalsIgnoreCase("DELETE"))
httpMethod = HTTPMethod.DELETE;
} else {
httpMethod = HTTPMethod.GET;
}
}
public String getResponseType() {
if (responseType == null) {
return RESPONSE_TYPE_XML;

View File

@ -21,6 +21,7 @@ import java.util.EnumSet;
import java.util.List;
import java.util.Map;
import com.cloud.vm.NicSecondaryIp;
import org.apache.cloudstack.affinity.AffinityGroup;
import org.apache.cloudstack.affinity.AffinityGroupResponse;
import org.apache.cloudstack.api.ApiConstants.HostDetails;
@ -415,8 +416,7 @@ public interface ResponseGenerator {
TrafficMonitorResponse createTrafficMonitorResponse(Host trafficMonitor);
VMSnapshotResponse createVMSnapshotResponse(VMSnapshot vmSnapshot);
NicSecondaryIpResponse createSecondaryIPToNicResponse(String ip,
Long nicId, Long networkId);
NicSecondaryIpResponse createSecondaryIPToNicResponse(NicSecondaryIp result);
public NicResponse createNicResponse(Nic result);
ApplicationLoadBalancerResponse createLoadBalancerContainerReponse(ApplicationLoadBalancerRule lb, Map<Ip, UserVm> lbInstances);

View File

@ -70,6 +70,9 @@ public class ListClustersCmd extends BaseListCmd {
@Parameter(name=ApiConstants.MANAGED_STATE, type=CommandType.STRING, description="whether this cluster is managed by cloudstack")
private String managedState;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
@Parameter(name=ApiConstants.SHOW_CAPACITIES, type=CommandType.BOOLEAN, description="flag to display the capacity of the clusters")
private Boolean showCapacities;
@ -114,7 +117,10 @@ public class ListClustersCmd extends BaseListCmd {
this.managedState = managedstate;
}
public String getZoneType() {
return zoneType;
}
public Boolean getShowCapacities() {
return showCapacities;
}

View File

@ -45,11 +45,17 @@ public class ListCfgsByCmd extends BaseListCmd {
@Parameter(name = ApiConstants.NAME, type = CommandType.STRING, description = "lists configuration by name")
private String configName;
@Parameter(name=ApiConstants.SCOPE, type = CommandType.STRING, description = "scope(zone/cluster/pool/account) of the parameter that needs to be updated")
private String scope;
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.UUID, entityType=ZoneResponse.class, description="the ID of the Zone to update the parameter value for corresponding zone")
private Long zone_id;
@Parameter(name=ApiConstants.ID, type = CommandType.UUID, entityType = {ZoneResponse.class, ClusterResponse.class, StoragePoolResponse.class, AccountResponse.class}, description = "corresponding ID of the scope")
private Long id;
@Parameter(name=ApiConstants.CLUSTER_ID, type=CommandType.UUID, entityType=ClusterResponse.class, description="the ID of the Cluster to update the parameter value for corresponding cluster")
private Long cluster_id;
@Parameter(name=ApiConstants.STORAGE_ID, type=CommandType.UUID, entityType=StoragePoolResponse.class, description="the ID of the Storage pool to update the parameter value for corresponding storage pool")
private Long storagepool_id;
@Parameter(name=ApiConstants.ACCOUNT_ID, type=CommandType.UUID, entityType=AccountResponse.class, description="the ID of the Account to update the parameter value for corresponding account")
private Long account_id;
// ///////////////////////////////////////////////////
@ -64,14 +70,21 @@ public class ListCfgsByCmd extends BaseListCmd {
return configName;
}
public String getScope() {
return scope;
public Long getZoneId() {
return zone_id;
}
public Long getId() {
return id;
public Long getClusterId() {
return cluster_id;
}
public Long getStoragepoolId() {
return storagepool_id;
}
public Long getAccountId() {
return account_id;
}
@Override
public Long getPageSizeVal() {
@ -100,10 +113,17 @@ public class ListCfgsByCmd extends BaseListCmd {
for (Configuration cfg : result.first()) {
ConfigurationResponse cfgResponse = _responseGenerator.createConfigurationResponse(cfg);
cfgResponse.setObjectName("configuration");
if (scope != null) {
cfgResponse.setScope(scope);
} else {
cfgResponse.setScope("global");
if(getZoneId() != null) {
cfgResponse.setScope("zone");
}
if(getClusterId() != null) {
cfgResponse.setScope("cluster");
}
if(getStoragepoolId() != null) {
cfgResponse.setScope("storagepool");
}
if(getAccountId() != null) {
cfgResponse.setScope("account");
}
configResponses.add(cfgResponse);
}

View File

@ -43,11 +43,17 @@ public class UpdateCfgCmd extends BaseCmd {
@Parameter(name=ApiConstants.VALUE, type=CommandType.STRING, description="the value of the configuration", length=4095)
private String value;
@Parameter(name=ApiConstants.SCOPE, type = CommandType.STRING, description = "scope(zone/cluster/pool/account) of the parameter that needs to be updated")
private String scope;
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.UUID, entityType=ZoneResponse.class, description="the ID of the Zone to update the parameter value for corresponding zone")
private Long zone_id;
@Parameter(name=ApiConstants.ID, type = CommandType.UUID, entityType = {ZoneResponse.class, ClusterResponse.class, StoragePoolResponse.class, AccountResponse.class}, description = "corresponding ID of the scope")
private Long id;
@Parameter(name=ApiConstants.CLUSTER_ID, type=CommandType.UUID, entityType=ClusterResponse.class, description="the ID of the Cluster to update the parameter value for corresponding cluster")
private Long cluster_id;
@Parameter(name=ApiConstants.STORAGE_ID, type=CommandType.UUID, entityType=StoragePoolResponse.class, description="the ID of the Storage pool to update the parameter value for corresponding storage pool")
private Long storagepool_id;
@Parameter(name=ApiConstants.ACCOUNT_ID, type=CommandType.UUID, entityType=AccountResponse.class, description="the ID of the Account to update the parameter value for corresponding account")
private Long account_id;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
@ -61,12 +67,20 @@ public class UpdateCfgCmd extends BaseCmd {
return value;
}
public String getScope() {
return scope;
public Long getZoneId() {
return zone_id;
}
public Long getId() {
return id;
public Long getClusterId() {
return cluster_id;
}
public Long getStoragepoolId() {
return storagepool_id;
}
public Long getAccountId() {
return account_id;
}
/////////////////////////////////////////////////////
@ -89,12 +103,19 @@ public class UpdateCfgCmd extends BaseCmd {
if (cfg != null) {
ConfigurationResponse response = _responseGenerator.createConfigurationResponse(cfg);
response.setResponseName(getCommandName());
if (scope != null) {
response.setScope(scope);
response.setValue(value);
} else {
response.setScope("global");
if(getZoneId() != null) {
response.setScope("zone");
}
if(getClusterId() != null) {
response.setScope("cluster");
}
if(getStoragepoolId() != null) {
response.setScope("storagepool");
}
if(getAccountId() != null) {
response.setScope("account");
}
response.setValue(value);
this.setResponseObject(response);
} else {
throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to update config");

View File

@ -75,6 +75,9 @@ public class ListHostsCmd extends BaseListCmd {
description="the Zone ID for the host")
private Long zoneId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
@Parameter(name=ApiConstants.VIRTUAL_MACHINE_ID, type=CommandType.UUID, entityType = UserVmResponse.class,
required=false, description="lists hosts in the same cluster as this VM and flag hosts with enough CPU/RAm to host this VM")
private Long virtualMachineId;
@ -124,6 +127,10 @@ public class ListHostsCmd extends BaseListCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public Long getVirtualMachineId() {
return virtualMachineId;
}

View File

@ -76,6 +76,9 @@ public class ListInternalLBVMsCmd extends BaseListProjectAndAccountResourcesCmd
@Parameter(name=ApiConstants.FOR_VPC, type=CommandType.BOOLEAN, description="if true is passed for this parameter, list only VPC Internal LB VMs")
private Boolean forVpc;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
@ -120,6 +123,10 @@ public class ListInternalLBVMsCmd extends BaseListProjectAndAccountResourcesCmd
public String getRole() {
return Role.INTERNAL_LB_VM.toString();
}
public String getZoneType() {
return zoneType;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////

View File

@ -55,6 +55,9 @@ public class ListPodsByCmd extends BaseListCmd {
@Parameter(name=ApiConstants.ALLOCATION_STATE, type=CommandType.STRING, description="list pods by allocation state")
private String allocationState;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
@Parameter(name=ApiConstants.SHOW_CAPACITIES, type=CommandType.BOOLEAN, description="flag to display the capacity of the pods")
private Boolean showCapacities;
@ -78,6 +81,10 @@ public class ListPodsByCmd extends BaseListCmd {
return allocationState;
}
public String getZoneType() {
return zoneType;
}
public Boolean getShowCapacities() {
return showCapacities;
}

View File

@ -65,6 +65,9 @@ public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd {
description="the Zone ID of the router")
private Long zoneId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
@Parameter(name=ApiConstants.NETWORK_ID, type=CommandType.UUID, entityType=NetworkResponse.class,
description="list by network id")
private Long networkId;
@ -104,6 +107,10 @@ public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public Long getNetworkId() {
return networkId;
}

View File

@ -60,6 +60,9 @@ public class ListStoragePoolsCmd extends BaseListCmd {
description="the Zone ID for the storage pool")
private Long zoneId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
@Parameter(name=ApiConstants.ID, type=CommandType.UUID, entityType = StoragePoolResponse.class,
description="the ID of the storage pool")
private Long id;
@ -92,6 +95,10 @@ public class ListStoragePoolsCmd extends BaseListCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public Long getId() {
return id;
}

View File

@ -74,6 +74,9 @@ public class ListSystemVMsCmd extends BaseListCmd {
description="the storage ID where vm's volumes belong to", since="3.0.1")
private Long storageId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -110,6 +113,10 @@ public class ListSystemVMsCmd extends BaseListCmd {
return storageId;
}
public String getZoneType() {
return zoneType;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////

View File

@ -78,6 +78,9 @@ public class ListIsosCmd extends BaseListTaggedResourcesCmd {
description="the ID of the zone")
private Long zoneId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -115,6 +118,10 @@ public class ListIsosCmd extends BaseListTaggedResourcesCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public boolean listInReadyState() {
Account account = UserContext.current().getCaller();
// It is account specific if account is admin type and domainId and accountName are not null

View File

@ -48,6 +48,9 @@ public class ListNetworksCmd extends BaseListTaggedResourcesCmd {
description="the Zone ID of the network")
private Long zoneId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
@Parameter(name=ApiConstants.TYPE, type=CommandType.STRING, description="the type of the network. Supported values are: Isolated and Shared")
private String guestIpType;
@ -96,6 +99,10 @@ public class ListNetworksCmd extends BaseListTaggedResourcesCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public String getGuestIpType() {
return guestIpType;
}

View File

@ -58,6 +58,9 @@ public class ListSnapshotsCmd extends BaseListTaggedResourcesCmd {
@Parameter(name=ApiConstants.VOLUME_ID, type=CommandType.UUID, entityType = VolumeResponse.class,
description="the ID of the disk volume")
private Long volumeId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
@ -83,6 +86,10 @@ public class ListSnapshotsCmd extends BaseListTaggedResourcesCmd {
return volumeId;
}
public String getZoneType() {
return zoneType;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////

View File

@ -68,6 +68,10 @@ public class ListTemplatesCmd extends BaseListTaggedResourcesCmd {
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.UUID, entityType = ZoneResponse.class,
description="list templates by zoneId")
private Long zoneId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -92,6 +96,10 @@ public class ListTemplatesCmd extends BaseListTaggedResourcesCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public boolean listInReadyState() {
Account account = UserContext.current().getCaller();

View File

@ -16,6 +16,7 @@
// under the License.
package org.apache.cloudstack.api.command.user.vm;
import com.cloud.vm.NicSecondaryIp;
import org.apache.log4j.Logger;
import org.apache.cloudstack.api.APICommand;
@ -146,6 +147,7 @@ public class AddIpToVmNicCmd extends BaseAsyncCmd {
UserContext.current().setEventDetails("Nic Id: " + getNicId() );
String ip;
NicSecondaryIp result;
String secondaryIp = null;
if ((ip = getIpaddress()) != null) {
if (!NetUtils.isValidIp(ip)) {
@ -154,12 +156,13 @@ public class AddIpToVmNicCmd extends BaseAsyncCmd {
}
try {
secondaryIp = _networkService.allocateSecondaryGuestIP(_accountService.getAccount(getEntityOwnerId()), getZoneId(), getNicId(), getNetworkId(), getIpaddress());
result = _networkService.allocateSecondaryGuestIP(_accountService.getAccount(getEntityOwnerId()), getZoneId(), getNicId(), getNetworkId(), getIpaddress());
} catch (InsufficientAddressCapacityException e) {
throw new InvalidParameterValueException("Allocating guest ip for nic failed");
}
if (secondaryIp != null) {
if (result != null) {
secondaryIp = result.getIp4Address();
if (getNetworkType() == NetworkType.Basic) {
// add security group rules for the secondary ip addresses
boolean success = false;
@ -171,7 +174,7 @@ public class AddIpToVmNicCmd extends BaseAsyncCmd {
s_logger.info("Associated ip address to NIC : " + secondaryIp);
NicSecondaryIpResponse response = new NicSecondaryIpResponse();
response = _responseGenerator.createSecondaryIPToNicResponse(secondaryIp, getNicId(), getNetworkId());
response = _responseGenerator.createSecondaryIPToNicResponse(result);
response.setResponseName(getCommandName());
this.setResponseObject(response);
} else {

View File

@ -128,7 +128,7 @@ public class DeployVMCmd extends BaseAsyncCreateCmd {
@Parameter(name=ApiConstants.HYPERVISOR, type=CommandType.STRING, description="the hypervisor on which to deploy the virtual machine")
private String hypervisor;
@Parameter(name=ApiConstants.USER_DATA, type=CommandType.STRING, description="an optional binary data that can be sent to the virtual machine upon a successful deployment. This binary data must be base64 encoded before adding it to the request. Currently only HTTP GET is supported. Using HTTP GET (via querystring), you can send up to 2KB of data after base64 encoding.", length=2048)
@Parameter(name=ApiConstants.USER_DATA, type=CommandType.STRING, description="an optional binary data that can be sent to the virtual machine upon a successful deployment. This binary data must be base64 encoded before adding it to the request. Using HTTP GET (via querystring), you can send up to 2KB of data after base64 encoding. Using HTTP POST(via POST body), you can send up to 32K of data after base64 encoding.", length=32768)
private String userData;
@Parameter(name=ApiConstants.SSH_KEYPAIR, type=CommandType.STRING, description="name of the ssh key pair used to login to the virtual machine")
@ -312,8 +312,8 @@ public class DeployVMCmd extends BaseAsyncCreateCmd {
throw new InvalidParameterValueException("Unable to translate and find entity with networkId: " + ips.get("networkid"));
}
}
String requestedIp = (String) ips.get("ip");
String requestedIpv6 = (String) ips.get("ipv6");
String requestedIp = ips.get("ip");
String requestedIpv6 = ips.get("ipv6");
if (requestedIpv6 != null) {
requestedIpv6 = requestedIpv6.toLowerCase();
}
@ -481,18 +481,18 @@ public class DeployVMCmd extends BaseAsyncCreateCmd {
throw new InvalidParameterValueException("Can't specify network Ids in Basic zone");
} else {
vm = _userVmService.createBasicSecurityGroupVirtualMachine(zone, serviceOffering, template, getSecurityGroupIdList(), owner, name,
displayName, diskOfferingId, size, group, getHypervisor(), userData, sshKeyPairName, getIpToNetworkMap(), addrs, keyboard, getAffinityGroupIdList());
displayName, diskOfferingId, size, group, getHypervisor(), this.getHttpMethod(), userData, sshKeyPairName, getIpToNetworkMap(), addrs, keyboard, getAffinityGroupIdList());
}
} else {
if (zone.isSecurityGroupEnabled()) {
vm = _userVmService.createAdvancedSecurityGroupVirtualMachine(zone, serviceOffering, template, getNetworkIds(), getSecurityGroupIdList(),
owner, name, displayName, diskOfferingId, size, group, getHypervisor(), userData, sshKeyPairName, getIpToNetworkMap(), addrs, keyboard, getAffinityGroupIdList());
owner, name, displayName, diskOfferingId, size, group, getHypervisor(), this.getHttpMethod(), userData, sshKeyPairName, getIpToNetworkMap(), addrs, keyboard, getAffinityGroupIdList());
} else {
if (getSecurityGroupIdList() != null && !getSecurityGroupIdList().isEmpty()) {
throw new InvalidParameterValueException("Can't create vm with security groups; security group feature is not enabled per zone");
}
vm = _userVmService.createAdvancedVirtualMachine(zone, serviceOffering, template, getNetworkIds(), owner, name, displayName,
diskOfferingId, size, group, getHypervisor(), userData, sshKeyPairName, getIpToNetworkMap(), addrs, keyboard, getAffinityGroupIdList());
diskOfferingId, size, group, getHypervisor(), this.getHttpMethod(), userData, sshKeyPairName, getIpToNetworkMap(), addrs, keyboard, getAffinityGroupIdList());
}
}

View File

@ -75,10 +75,12 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd {
@Parameter(name=ApiConstants.STATE, type=CommandType.STRING, description="state of the virtual machine")
private String state;
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.UUID, entityType=ZoneResponse.class,
description="the availability zone ID")
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.UUID, entityType=ZoneResponse.class, description="the availability zone ID")
private Long zoneId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
@Parameter(name=ApiConstants.FOR_VIRTUAL_NETWORK, type=CommandType.BOOLEAN,
description="list by network type; true if need to list vms using Virtual Network, false otherwise")
private Boolean forVirtualNetwork;
@ -147,6 +149,10 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
public Boolean getForVirtualNetwork() {
return forVirtualNetwork;
}

View File

@ -61,7 +61,7 @@ public class UpdateVMCmd extends BaseCmd{
description="the ID of the OS type that best represents this VM.")
private Long osTypeId;
@Parameter(name=ApiConstants.USER_DATA, type=CommandType.STRING, description="an optional binary data that can be sent to the virtual machine upon a successful deployment. This binary data must be base64 encoded before adding it to the request. Currently only HTTP GET is supported. Using HTTP GET (via querystring), you can send up to 2KB of data after base64 encoding.", length=2048)
@Parameter(name=ApiConstants.USER_DATA, type=CommandType.STRING, description="an optional binary data that can be sent to the virtual machine upon a successful deployment. This binary data must be base64 encoded before adding it to the request. Using HTTP GET (via querystring), you can send up to 2KB of data after base64 encoding. Using HTTP POST(via POST body), you can send up to 32K of data after base64 encoding.", length=32768)
private String userData;

View File

@ -67,6 +67,9 @@ public class ListVolumesCmd extends BaseListTaggedResourcesCmd {
description="the ID of the availability zone")
private Long zoneId;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@ -100,6 +103,10 @@ public class ListVolumesCmd extends BaseListTaggedResourcesCmd {
return zoneId;
}
public String getZoneType() {
return zoneType;
}
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////

View File

@ -23,6 +23,7 @@ import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseListCmd;
import org.apache.cloudstack.api.Parameter;
import org.apache.cloudstack.api.BaseCmd.CommandType;
import org.apache.cloudstack.api.response.DomainResponse;
import org.apache.cloudstack.api.response.ListResponse;
import org.apache.cloudstack.api.response.ServiceOfferingResponse;
@ -56,6 +57,9 @@ public class ListZonesByCmd extends BaseListCmd {
@Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="the name of the zone")
private String name;
@Parameter(name=ApiConstants.ZONE_TYPE, type=CommandType.STRING, description="the network type of the zone that the virtual machine belongs to")
private String zoneType;
@Parameter(name=ApiConstants.SHOW_CAPACITIES, type=CommandType.BOOLEAN, description="flag to display the capacity of the zones")
private Boolean showCapacities;
@ -79,6 +83,10 @@ public class ListZonesByCmd extends BaseListCmd {
return name;
}
public String getZoneType() {
return zoneType;
}
public Boolean getShowCapacities() {
return showCapacities;
}

View File

@ -35,6 +35,9 @@ public class ConfigurationResponse extends BaseResponse {
@SerializedName(ApiConstants.SCOPE) @Param(description="scope(zone/cluster/pool/account) of the parameter that needs to be updated")
private String scope;
@SerializedName(ApiConstants.ID) @Param(description="the value of the configuration")
private Long id;
@SerializedName(ApiConstants.DESCRIPTION) @Param(description="the description of the configuration")
private String description;

View File

@ -23,6 +23,8 @@ import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.BaseResponse;
import org.apache.cloudstack.api.EntityReference;
import java.util.List;
@EntityReference(value= GlobalLoadBalancerRule.class)
public class GlobalLoadBalancerResponse extends BaseResponse implements ControlledEntityResponse {
@ -76,6 +78,10 @@ public class GlobalLoadBalancerResponse extends BaseResponse implements Controll
@Param(description = "the domain of the load balancer rule")
private String domainName;
@SerializedName(ApiConstants.LOAD_BALANCER_RULE)
@Param(description="List of load balancer rules that are part of GSLB rule", responseObject = LoadBalancerResponse.class)
private List<LoadBalancerResponse> siteLoadBalancers;
public void setRegionIdId(Integer regionId) {
this.regionId = regionId;
}
@ -130,4 +136,8 @@ public class GlobalLoadBalancerResponse extends BaseResponse implements Controll
public void setDomainName(String domainName) {
this.domainName = domainName;
}
public void setSiteLoadBalancers(List<LoadBalancerResponse> siteLoadBalancers) {
this.siteLoadBalancers = siteLoadBalancers;
}
}

View File

@ -16,6 +16,7 @@
// under the License.
package org.apache.cloudstack.api.command.test;
import com.cloud.vm.NicSecondaryIp;
import junit.framework.Assert;
import junit.framework.TestCase;
@ -64,15 +65,16 @@ public class AddIpToVmNicTest extends TestCase {
NetworkService networkService = Mockito.mock(NetworkService.class);
AddIpToVmNicCmd ipTonicCmd = Mockito.mock(AddIpToVmNicCmd.class);
NicSecondaryIp secIp = Mockito.mock(NicSecondaryIp.class);
Mockito.when(
networkService.allocateSecondaryGuestIP(Mockito.any(Account.class), Mockito.anyLong(), Mockito.anyLong(), Mockito.anyLong(), Mockito.anyString())).thenReturn("10.1.1.2");
networkService.allocateSecondaryGuestIP(Mockito.any(Account.class), Mockito.anyLong(), Mockito.anyLong(), Mockito.anyLong(), Mockito.anyString())).thenReturn(secIp);
ipTonicCmd._networkService = networkService;
responseGenerator = Mockito.mock(ResponseGenerator.class);
NicSecondaryIpResponse ipres = Mockito.mock(NicSecondaryIpResponse.class);
Mockito.when(responseGenerator.createSecondaryIPToNicResponse(Mockito.anyString(), Mockito.anyLong(), Mockito.anyLong())).thenReturn(ipres);
Mockito.when(responseGenerator.createSecondaryIPToNicResponse(secIp)).thenReturn(ipres);
ipTonicCmd._responseGenerator = responseGenerator;
ipTonicCmd.execute();

View File

@ -1126,7 +1126,7 @@ public class S3Engine {
SBucketVO sbucket = bucketDao.getByName( bucketName );
if (sbucket == null) {
response.setResultCode(404);
response.setResultDescription("<Code>Bucket dosen't exists</Code><Message>Bucket " + bucketName + " does not exist</Message>");
response.setResultDescription("<Code>Bucket doesn't exists</Code><Message>Bucket " + bucketName + " does not exist</Message>");
return response;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,285 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
changed.item.properties=\u062a\u063a\u064a\u0631 \u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0639\u0646\u0635\u0631
confirm.enable.s3=\u0641\u0636\u0644\u0627 \u0642\u0645 \u0628\u062a\u0639\u0628\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0642\u0627\u062f\u0645\u0629 \u0644\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 S3 \u0644\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629.
instances.actions.reboot.label=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c
label.accept.project.invitation=\u0642\u0628\u0648\u0644 \u062f\u0639\u0648\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639
label.action.delete.system.service.offering=\u062d\u0630\u0641 \u0646\u0638\u0627\u0645 \u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u062e\u062f\u0645\u0629
label.action.disable.physical.network=\u062a\u0639\u0637\u064a\u0644 \u0634\u0628\u0643\u0629 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629
label.action.enable.physical.network=\u062a\u0645\u0643\u064a\u0646 \u0634\u0628\u0643\u0629 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629
label.activate.project=\u062a\u0641\u0639\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639
label.add.accounts.to=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628\u0627\u062a \u0625\u0644\u0649
label.add.accounts=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628\u0627\u062a
label.add.account.to.project=\u0625\u0636\u0627\u0641\u0629 \u062d\u0633\u0627\u0628 \u0644\u0644\u0645\u0634\u0631\u0648\u0639
label.add.ACL=\u0625\u0636\u0627\u0641\u0629 ACL
label.add.network.ACL=\u0625\u0636\u0627\u0641\u0629 \u0634\u0628\u0643\u0629 ACL
label.add.new.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u062c\u062f\u064a\u062f\u0629
label.add.new.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 \u062c\u062f\u064a\u062f\u0629
label.add.port.forwarding.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629 \u0645\u0646\u0641\u0630 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647
label.add.route=\u0625\u0636\u0627\u0641\u0629 \u0645\u0633\u0627\u0631
label.add.rule=\u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0639\u062f\u0629
label.add.static.route=\u0625\u0636\u0627\u0641\u0629 \u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a
label.add.to.group=\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629
label.add.VM.to.tier=\u0625\u0636\u0627\u0641\u0629 \u062c\u0647\u0627\u0632 \u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0641\u064a \u0637\u0628\u0642\u0629
label.add.vpc=\u0625\u0636\u0627\u0641\u0629 \u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629
label.add.VPN.gateway=\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629
label.allocated=\u062a\u062e\u0635\u064a\u0635
label.apply=\u062a\u0637\u0628\u064a\u0642
label.associated.network=\u0634\u0628\u0643\u0629 \u0645\u0631\u062a\u0628\u0637\u0629
label.broadcast.uri=\u0628\u062b \u0627\u0644\u0631\u0627\u0628\u0637
label.change.value=\u062a\u063a\u064a\u0631 \u0627\u0644\u0642\u064a\u0645\u0629
label.CIDR.list=\u0642\u0627\u0626\u0645\u0629 CIDR
label.CIDR.of.destination.network=CIDR \u0627\u0644\u062e\u0627\u0635 \u0628\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0645\u0648\u062c\u0647\u0629.
label.clean.up=\u062a\u0646\u0638\u064a\u0641
label.clear.list=\u0645\u0633\u062d \u0627\u0644\u0642\u0627\u0626\u0645\u0629
label.configuration=\u0627\u0644\u062a\u0643\u0648\u064a\u0646
label.configure.network.ACLs=\u0636\u0628\u0637 \u0634\u0628\u0643\u0629 ACLs
label.configure=\u0642\u0645 \u0628\u062a\u0643\u0648\u064a\u0646
label.configure.vpc=\u062a\u0643\u0648\u064a\u0646 VPC
label.corrections.saved=\u062a\u0645 \u062d\u0641\u0638 \u0627\u0644\u062a\u0635\u062d\u064a\u062d\u0627\u062a
label.cpu.mhz=\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0645\u0631\u0643\u0632\u064a\u0629 (\u0628\u0627\u0644\u0645\u064a\u063a\u0627\u0647\u064a\u0631\u062a\u0632)
label.cpu=\u00d9\u0088\u00d8\u00ad\u00d8\u00af\u00d8\u00a9 \u00d8\u00a7\u00d9\u0084\u00d9
label.create.project=\u0623\u0646\u0634\u0626 \u0645\u0634\u0631\u0648\u0639
label.create.VPN.connection=\u0625\u0646\u0634\u0627\u0621 \u0627\u062a\u0635\u0627\u0644 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629
label.dead.peer.detection=\u0643\u0634\u0641 \u0627\u0644\u0642\u0631\u064a\u0646 \u0627\u0644\u0645\u0641\u0642\u0648\u062f
label.decline.invitation=\u0631\u0641\u0636 \u0627\u0644\u062f\u0639\u0648\u0629
label.default=\u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a
label.default.view=\u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629
label.delete.gateway=\u0627\u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629
label.delete.project=\u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639
label.delete.VPN.connection=\u0627\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629
label.delete.VPN.customer.gateway=\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 VPN \u0627\u0644\u0645\u062e\u0635\u0635\u0629
label.delete.VPN.gateway=\u0627\u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629
label.destroy=\u0647\u062f\u0645
label.devices=\u0627\u0644\u0623\u062c\u0647\u0632\u0629
label.direct.ips=\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 IPs
label.display.name=\u0639\u0631\u0636 \u0627\u0644\u0627\u0633\u0645
label.DNS.domain.for.guest.networks=\u0645\u062c\u0627\u0644 DNS \u0644\u0634\u0628\u0643\u0627\u062a \u0627\u0644\u0632\u0627\u0626\u0631
label.dns=\u0646\u0638\u0627\u0645 \u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0645\u062c\u0627\u0644 DNS
label.drag.new.position=\u0627\u0633\u062d\u0628 \u0644\u0645\u0648\u0642\u0641 \u062c\u062f\u064a\u062f
label.edit.network.details=\u062a\u062d\u0631\u064a\u0631 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629
label.edit.project.details=\u0627\u0636\u0627\u0641\u0629 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0634\u0631\u0648\u0639
label.edit.tags=\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a
label.edit.vpc=\u062a\u0639\u062f\u064a\u0644 VPC
label.egress.rules=\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u062e\u0631\u0648\u062c
label.elastic=\u0645\u0631\u0646
label.enable.s3=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u0648\u064a S3
label.endpoint=\u0646\u0642\u0637\u0629 \u0627\u0644\u0646\u0647\u0627\u064a\u0629
label.error=\u062e\u0637\u0623
label.ESP.lifetime=\u0639\u0645\u0631 ESP (\u062b\u0627\u0646\u064a\u0629)
label.ESP.policy=\u0633\u064a\u0627\u0633\u0629 ESP
label.filterBy=\u062a\u0635\u0641\u064a\u0629 \u062d\u0633\u0628
label.full.path=\u0645\u0633\u0627\u0631 \u0643\u0627\u0645\u0644
label.guest.type=\u0646\u0648\u0639 \u0627\u0644\u0636\u064a\u0641
label.IKE.lifetime=\u0639\u0645\u0631 IKE (\u062b\u0627\u0646\u064a\u0629)
label.IKE.policy=\u0633\u064a\u0627\u0633\u0629 IKE
label.instances=\u0627\u0644\u062d\u0627\u0644\u0627\u062a
label.invitations=\u062f\u0639\u0648\u0627\u062a
label.invited.accounts=\u062f\u0639\u0648\u0629 \u062d\u0633\u0627\u0628\u0627\u062a
label.invite.to=\u062f\u0639\u0648\u0629 \u0644\u0640
label.IPsec.preshared.key=\u0645\u0641\u062a\u0627\u062d \u0623\u0645\u0646 \u0628\u0631\u0648\u062a\u0648\u0643\u0648\u0644 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u062a\u0645\u062a \u0645\u0634\u0627\u0631\u0643\u062a\u0647 \u0645\u0633\u0628\u0642\u0627
label.isolation.uri=\u0639\u0632\u0644 \u0627\u0644\u0631\u0627\u0628\u0637
label.keyboard.type=\u0646\u0648\u0639 \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d
label.least.connections=\u0623\u0642\u0644 \u0627\u0644\u0625\u062a\u0635\u0627\u0644\u0627\u062a
label.local.storage.enabled=\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062d\u0644\u064a
label.make.project.owner=\u062c\u0639\u0644 \u0627\u0644\u062d\u0633\u0627\u0628 \u0645\u0627\u0644\u0643 \u0644\u0644\u0645\u0634\u0631\u0648\u0639
label.max.guest.limit=\u0627\u0644\u062d\u062f \u0627\u0644\u0623\u0642\u0635\u0627\u0621 \u0644\u0636\u064a\u0641
label.memory.mb=\u0627\u0644\u0630\u0627\u0643\u0631\u0629 ( \u0628\u0627\u0644\u0645\u064a\u062c\u0627\u0628\u0627\u064a\u0628\u062a)
label.memory=\u0627\u0644\u0630\u0627\u0643\u0631\u0629
label.menu.alerts=\u0627\u0644\u062a\u0646\u0628\u064a\u0647\u0627\u062a
label.menu.all.accounts=\u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a
label.menu.all.instances=\u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0627\u0644\u0627\u062a
label.menu.community.isos=\u0627\u0644\u062a\u0636\u0627\u0645\u0646 \u0627\u0644\u062f\u0648\u0644\u064a \u0627\u0644\u0645\u062c\u062a\u0645\u0639\u064a
label.menu.community.templates=\u0642\u0648\u0627\u0644\u0628 \u0627\u0644\u0645\u062c\u062a\u0645\u0639
label.menu.configuration=\u062a\u0631\u062a\u064a\u0628
label.menu.dashboard=\u0644\u0648\u062d\u0629 \u0627\u0644\u0642\u064a\u0627\u062f\u0629
label.menu.destroyed.instances=\u062d\u0627\u0644\u0627\u062a \u0627\u0644\u062a\u062f\u0645\u064a\u0631
label.menu.disk.offerings=\u0639\u0631\u0648\u0636 \u0627\u0644\u0642\u0631\u0635
label.menu.domains=\u0627\u0644\u0645\u062c\u0627\u0644\u0627\u062a
label.menu.events=\u0623\u062d\u062f\u0627\u062b
label.menu.featured.isos=\u0645\u0645\u064a\u0632\u0627\u062a \u0627\u0644\u062a\u0636\u0627\u0645\u0646 \u0627\u0644\u062f\u0648\u0644\u064a
label.menu.featured.templates=\u0642\u0648\u0627\u0644\u0628 \u0645\u0645\u064a\u0632\u0629
label.menu.global.settings=\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0639\u0645\u0648\u0645\u064a\u0629
label.menu.instances=\u0627\u0644\u062d\u0627\u0644\u0627\u062a
label.migrate.instance.to.host=\u0646\u0642\u0644 \u0627\u0644\u0642\u0627\u0644\u0628 \u0625\u0644\u0649 \u0645\u0636\u064a\u0641 \u0622\u062e\u0631
label.migrate.instance.to.ps=\u0646\u0642\u0644 \u0627\u0644\u0642\u0627\u0644\u0628 \u0625\u0644\u0649 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629
label.migrate.to.host=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u0636\u064a\u0641
label.migrate.to.storage=\u0627\u0644\u062a\u062d\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u062e\u0632\u064a\u0646
label.move.down.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0633\u0641\u0644 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f
label.move.to.bottom=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0633\u0641\u0644
label.move.to.top=\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0623\u0639\u0644\u0649
label.move.up.row=\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u0623\u0639\u0644\u0649 \u0628\u0635\u0641 \u0648\u0627\u062d\u062f
label.my.network=\u0634\u0628\u0643\u062a\u064a
label.my.templates=\u0642\u0648\u0627\u0644\u0628\u064a
label.network.ACLs=\u0634\u0628\u0643\u0629 ACLs
label.network.ACL.total=\u0625\u062c\u0645\u0627\u0644 \u0634\u0628\u0643\u0629 ACL
label.network.ACL=\u0634\u0628\u0643\u0629 ACL
label.networks=\u0627\u0644\u0634\u0628\u0643\u0627\u062a
label.new.project=\u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f
label.new=\u062c\u062f\u064a\u062f
label.no.data=\u0644\u0627 \u064a\u0648\u062c\u062f \u0628\u064a\u0627\u0646\u0627\u062a \u0644\u0644\u0639\u0631\u0636
label.no.thanks=\u0644\u0627\u061b \u0634\u0643\u0631\u0627\u064b
label.notifications=\u0627\u0644\u062a\u0646\u0628\u064a\u0647\u0627\u062a
label.ok=\u0645\u0648\u0627\u0641\u0642
label.order=\u062a\u0631\u062a\u064a\u0628
label.previous=\u0627\u0644\u0633\u0627\u0628\u0642
label.private.Gateway=\u0645\u0646\u0641\u0630\\Gateway \u062e\u0627\u0635
label.project.invite=\u062f\u0639\u0648\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639
label.project.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0634\u0631\u0648\u0639
label.projects=\u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639
label.project=\u0645\u0634\u0631\u0648\u0639
label.project.view=\u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639
label.quickview=\u0646\u0638\u0631\u0629 \u0633\u0631\u064a\u0639\u0629
label.reboot=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644
label.remind.later=\u0630\u0643\u0631\u0646\u064a \u0644\u0627\u062d\u0642\u0627\u064b
label.remove.ACL=\u0625\u0632\u0627\u0644\u0629 ACL
label.remove.static.route=\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 \u062b\u0627\u0628\u062a
label.remove.tier=\u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629
label.remove.vpc=\u0625\u0632\u0627\u0644\u0629 VPC
label.reset.VPN.connection=\u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646 \u0627\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629
label.restart.network=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0634\u0628\u0643\u0629
label.restart.required=\u0645\u0637\u0644\u0648\u0628 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644
label.restart.vpc=\u0625\u0639\u062f\u0627\u0629 \u062a\u0634\u063a\u064a\u0644 VPC
label.restore=\u0625\u0633\u062a\u0639\u0627\u062f\u0629
label.review=\u0645\u0631\u0627\u062c\u0639\u0629
label.revoke.project.invite=\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062f\u0639\u0648\u0629
label.s3.access_key=\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0648\u0635\u0648\u0644
label.s3.bucket=\u062f\u0644\u0648
label.s3.connection_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0627\u062a\u0635\u0627\u0644
label.s3.endpoint=\u0646\u0642\u0637\u0629 \u0627\u0644\u0646\u0647\u0627\u064a\u0629
label.s3.max_error_retry=\u0623\u0642\u0635\u0649 \u062e\u0637\u0623 \u0641\u064a \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629
label.s3.secret_key=\u0627\u0644\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0633\u0631\u064a
label.s3.socket_timeout=\u0645\u0647\u0644\u0629 \u0627\u0644\u0645\u0642\u0628\u0633
label.s3.use_https=\u0627\u0633\u062a\u062e\u062f\u0645 HTTPS
label.scope=\u0627\u0644\u0645\u062c\u0627\u0644
label.search=\u0628\u062d\u062b
label.secret.key=\u0627\u0644\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0633\u0631\u064a
label.select.a.template=\u0627\u062e\u062a\u0631 \u0642\u0627\u0644\u0628
label.select.project=\u062d\u062f\u062f \u0627\u0644\u0645\u0634\u0631\u0648\u0639
label.select.tier=\u062d\u062f\u062f \u0637\u0628\u0642\u0629
label.select-view=\u062d\u062f\u062f \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0631\u0636
label.service.capabilities=\u0642\u062f\u0631\u0627\u062a \u0627\u0644\u062e\u062f\u0645\u0629
label.setup=\u0627\u0644\u062a\u062b\u0628\u064a\u062a
label.site.to.site.VPN=\u0645\u0648\u0642\u0639 \u0625\u0644\u0649 \u0645\u0648\u0642\u0639-\u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 VPN
label.source=\u0645\u0635\u062f\u0631
label.specify.IP.ranges=\u062a\u062d\u062f\u064a\u062f \u0646\u0637\u0627\u0642\u0627\u062a IP
label.sticky.tablesize=\u062d\u062c\u0645 \u0627\u0644\u062c\u062f\u0648\u0644
label.stop=\u062a\u0648\u0642\u0641
label.super.cidr.for.guest.networks=CIDR \u0645\u0645\u062a\u0627\u0632 \u0644\u0634\u0628\u0643\u0627\u062a \u0627\u0644\u0636\u064a\u0641.
label.supported.services=\t\u0627\u0644\u062e\u062f\u0645\u0627\u062a \u0627\u0644\u0645\u062f\u0639\u0648\u0645\u0629
label.suspend.project=\u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639
label.tier.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0637\u0628\u0642\u0629
label.tier=\u0637\u0628\u0642\u0629
label.upload=\u0631\u0641\u0639
label.view.all=\u0639\u0631\u0636 \u0627\u0644\u0643\u0644
label.viewing=\u0639\u0631\u0636
label.view=\u0639\u0631\u0636
label.vm.destroy=\u0647\u062f\u0645
label.vm.reboot=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644
label.VMs.in.tier=\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0641\u064a \u0637\u0628\u0642\u0629
label.vm.stop=\u062a\u0648\u0642\u0641
label.volume.limits=\u062d\u062f\u0648\u062f \u0627\u0644\u0645\u0646\u0637\u0642\u0629
label.vpc.id=\u0647\u0648\u064a\u0629 \u062e\u0627\u0635\u0629 \u0628\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629
label.VPC.router.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u062c\u0647\u0627\u0632 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 VPC
label.vpc=\u0633\u062d\u0627\u0628\u0629 \u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u062e\u0627\u0635\u0629 VPC
label.VPN.connection=\u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629
label.vpn.customer.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0644\u0644\u0639\u0645\u064a\u0644
label.VPN.customer.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0644\u0644\u0639\u0645\u064a\u0644
label.VPN.gateway=\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629
label.waiting=\u0642\u064a\u062f \u0627\u0644\u0625\u0646\u062a\u0638\u0627\u0631
label.warn=\u062a\u062d\u0630\u064a\u0631
label.wednesday=\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621
label.weekly=\u0625\u0633\u0628\u0648\u0639\u064a
label.welcome.cloud.console=\u0645\u0631\u062d\u0628\u0627 \u0628\u0643\u0645 \u0641\u064a \u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u062d\u0643\u0645 \u0627\u0644\u0625\u0631\u0627\u062f\u064a\u0629
label.welcome=\u0645\u0631\u062d\u0628\u0627
label.yes=\u0646\u0639\u0645
label.zone.details=\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0646\u0637\u0642\u0629
label.zone.name=\u0627\u0633\u0645 \u0627\u0644\u0645\u0646\u0637\u0642\u0629
label.zone.step.1.title=\u0627\u0644\u062e\u0637\u0648\u0629 1 \\\: \u0639\u0644\u0649 .<\u0642\u0648\u064a> \u0627\u062e\u062a\u0631 \u0634\u0628\u0643\u0629 </ \u0642\u0648\u064a>
label.zone.step.2.title=\u0627\u0644\u062e\u0637\u0648\u0629 2 \\\: <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0645\u0646\u0637\u0642\u0629 </ \u0642\u0648\u064a>
label.zone.step.3.title=\u0627\u0644\u062e\u0637\u0648\u0629 3 \\\: \u0639\u0644\u0649 <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u062f </ \u0642\u0648\u064a>
label.zone.step.4.title=\u0627\u0644\u062e\u0637\u0648\u0629 4 \\\: <\u0642\u0648\u064a> \u0625\u0636\u0627\u0641\u0629 \u0645\u062c\u0645\u0648\u0639\u0629 IP <\\\u0642\u0648\u064a>
label.zone.wide=\u0645\u0646\u0637\u0642\u0629 \u0648\u0627\u0633\u0639\u0629
label.zoneWizard.trafficType.guest=\u0627\u0644\u0636\u064a\u0641 \\\: \u0627\u0644\u062d\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0646\u0647\u0627\u0626\u064a.
label.zoneWizard.trafficType.public=\u0627\u0644\u0639\u0627\u0645\u0629 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0648\u0627\u0644\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0638\u0627\u0647\u0631\u064a\u0629 \u0641\u064a \u0627\u0644\u0633\u062d\u0627\u0628\u0629.
label.zoneWizard.trafficType.storage=\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \\\: \u0627\u0644\u0645\u0631\u0648\u0631 \u0628\u064a\u0646 \u0645\u0644\u0642\u0645\u0627\u062a \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0627\u0628\u062a\u062f\u0627\u0626\u064a\u0629 \u0648\u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629\u060c \u0645\u062b\u0644 \u0642\u0648\u0627\u0644\u0628 VM \u0648\u0627\u0644\u0644\u0642\u0637\u0627\u062a
message.acquire.new.ip.vpc=\u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0641\u064a \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0628\u0648\u0631\u062a\u0648\u0643\u0648\u0644 \u0625\u0646\u062a\u0631\u0646\u062a \u062c\u062f\u064a\u062f \u0644\u0647\u0630\u0627 \u0627\u0644\u062d\u0627\u0633\u0648\u0628 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a.
message.action.delete.system.service.offering=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u062e\u062f\u0645\u0629 \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0645\u0642\u062f\u0645\u0629.
message.action.disable.physical.network=\u0641\u0636\u0644\u0627 \u060c \u0623\u0643\u0651\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0647 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629
message.action.enable.physical.network=\u0641\u0636\u0644\u0627 \u060c \u0623\u0643\u0651\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0645\u0643\u064a\u0646 \u0647\u0630\u0647 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629
message.activate.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0641\u0639\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f
message.add.domain=\u064a\u0631\u062c\u0649 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u062c\u0627\u0644 \u0627\u0644\u0641\u0631\u0639\u064a \u0627\u0644\u0630\u064a \u062a\u0631\u064a\u062f \u0625\u0646\u0634\u0627\u0621 \u062a\u062d\u062a \u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642
message.add.new.gateway.to.vpc=\u0641\u0636\u0644\u0627 \u062d\u062f\u062f \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0644\u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u0627\u0628\u0629 gateway \u0644\u0647\u0630\u0647 \u0627\u0644\u0633\u062d\u0627\u0628\u0629 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 VPC
message.add.system.service.offering=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0639\u0628\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0644\u0625\u0636\u0627\u0641\u0629 \u0646\u0638\u0627\u0645 \u062c\u062f\u064a\u062f \u0644\u0637\u0631\u062d
message.add.VPN.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u0625\u0636\u0627\u0641\u0629 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 VPN
message.after.enable.s3=\u062a\u0645 \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u062a\u062e\u0632\u064a\u0646 S3 \u0644\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u062b\u0627\u0646\u0648\u064a\u0629. \u062a\u0646\u0648\u064a\u0647 \: \u0639\u0646\u062f \u0645\u063a\u0627\u062f\u0631\u062a\u0643 \u0644\u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629 \u0644\u0646 \u064a\u0643\u0648\u0646 \u0628\u0625\u0645\u0643\u0627\u0646\u0643 \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 S3 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649.
message.confirm.join.project=\u0646\u0631\u062c\u0648 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0627\u0644\u0645\u0634\u0631\u0648\u0639
message.decline.invitation=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0631\u0641\u0636 \u0647\u0630\u0647 \u0627\u0644\u062f\u0639\u0648\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u061f
message.delete.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0627\u0644\u0628\u0648\u0627\u0628\u0629
message.delete.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f
message.delete.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
message.delete.VPN.connection=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 VPN
message.delete.VPN.gateway=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629
message.detach.disk=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0641\u0635\u0644 \u0647\u0630\u0627 \u0627\u0644\u0642\u0631\u0635\u061f
message.disable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
message.enable.account=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0645\u0643\u064a\u0646 \u0647\u0630\u0627 \u0627\u0644\u062d\u0633\u0627\u0628.
message.enable.user=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u0641\u0639\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
message.generate.keys=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u0625\u0646\u0634\u0627\u0621 \u0645\u0641\u0627\u062a\u064a\u062d \u062c\u062f\u064a\u062f\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
message.instanceWizard.noTemplates=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0642\u0648\u0627\u0644\u0628 \u0645\u062a\u0627\u062d\u0629\u061b \u064a\u0631\u062c\u0649 \u0625\u0636\u0627\u0641\u0629 \u0642\u0627\u0644\u0628 \u0645\u062a\u0648\u0627\u0641\u0642\u060c \u0648\u0625\u0639\u0627\u062f\u0629 \u0625\u0637\u0644\u0627\u0642 \u0627\u0644\u0645\u0639\u0627\u0644\u062c .
message.join.project=\u0644\u0642\u062f \u0627\u0646\u0636\u0645\u0645\u062a \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639. \u064a\u0631\u062c\u0649 \u0627\u0644\u062a\u0628\u062f\u064a\u0644 \u0625\u0644\u0649 \u0637\u0631\u064a\u0642\u0629 \u0639\u0631\u0636 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639
message.migrate.instance.to.host=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0646\u0642\u0644 \u0627\u0644\u0642\u0627\u0644\u0628 \u0625\u0644\u0649 \u0645\u0636\u064a\u0641 \u0622\u062e\u0631.
message.migrate.instance.to.ps=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0646\u0642\u0644 \u0627\u0644\u0642\u0627\u0644\u0628 \u0625\u0644\u0649 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629.
message.no.projects.adminOnly=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639. <br/> \u0627\u0644\u0631\u062c\u0627\u0621 \u0637\u0644\u0628 \u0645\u0646 \u0627\u0644\u0645\u0633\u0624\u0648\u0644 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f.
message.no.projects=\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u0634\u0627\u0631\u064a\u0639. <br/> \u064a\u0631\u062c\u0649 \u0625\u0646\u0634\u0627\u0621 \u0645\u0634\u0631\u0648\u0639 \u062c\u062f\u064a\u062f \u0645\u0646 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639.
message.pending.projects.1=\u0644\u062f\u064a\u0643 \u062f\u0639\u0648\u0627\u062a \u0645\u0634\u0631\u0648\u0639 \u0645\u0639\u0644\u0642\u0629/\:
message.pending.projects.2=\u0644\u0639\u0631\u0636\u060c \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0630\u0647\u0627\u0628 \u0625\u0644\u0649 \u0642\u0633\u0645 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639\u060c \u062b\u0645 \u062d\u062f\u062f \u062f\u0639\u0648\u0627\u062a \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0633\u062f\u0644\u0629.
message.please.select.networks=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0634\u0628\u0643\u0627\u062a \u0644\u062c\u0647\u0627\u0632\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a
message.project.invite.sent=\u062a\u0645 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u062f\u0639\u0648\u0629 ; \u0633\u064a\u062a\u0645 \u0625\u0636\u0627\u0641\u062a\u0647\u0645 \u0625\u0644\u0649 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0628\u0645\u062c\u0631\u062f \u0642\u0628\u0648\u0644 \u0627\u0644\u062f\u0639\u0648\u0629
message.remove.vpc=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u062d\u0630\u0641 \u0627\u0644\u0640VPC
message.reset.password.warning.notPasswordEnabled=\u0627\u0644\u0642\u0627\u0644\u0628 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u062a\u0645 \u0627\u0646\u0634\u0627\u0626\u0647 \u0645\u0646 \u062f\u0648\u0646 \u0643\u0644\u0645\u0629 \u0645\u0631\u0648\u0631 \u0645\u0645\u0643\u0646\u0629
message.reset.password.warning.notStopped=\u064a\u062c\u0628 \u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0642\u0628\u0644 \u0645\u062d\u0627\u0648\u0644\u0629 \u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u0631\u0648\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629
message.reset.VPN.connection=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u0639\u0627\u062f\u0629-\u0636\u0628\u0637 \u0625\u062a\u0635\u0627\u0644 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 VPN
message.restart.vpc=\u064a\u0631\u062c\u0649 \u062a\u0623\u0643\u064a\u062f \u0631\u063a\u0628\u062a\u0643 \u0641\u064a \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0640VPN
message.select.template=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u062e\u062a\u064a\u0627\u0631 \u0642\u0627\u0644\u0628 \u0644\u0645\u062b\u0627\u0644\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0627\u0644\u062c\u062f\u064a\u062f
message.step.2.desc=
message.step.3.desc=
message.suspend.project=\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u064a\u0642\u0627\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u061f
message.update.resource.count=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0628\u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0628\u062a\u062d\u062f\u064a\u062b \u0645\u0635\u0627\u062f\u0631 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a \u0644\u0647\u0630\u0627 \u0627\u0644\u062d\u0633\u0627\u0628
message.vm.review.launch=\u064a\u0631\u062c\u0649 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0648\u062a\u0623\u0643\u062f \u0623\u0646 \u0645\u062b\u0627\u0644\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u0635\u062d\u064a\u062d \u0642\u0628\u0644 \u0627\u0644\u0625\u0646\u0637\u0644\u0627\u0642
message.zoneWizard.enable.local.storage=\u062a\u062d\u0630\u064a\u0631\\\: \u0625\u0630\u0627 \u0642\u0645\u062a \u0628\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642 \u064a\u062c\u0628 \u0639\u0644\u064a\u0643 \u0639\u0645\u0644 \u0627\u0644\u0622\u062a\u064a \u060c \u0625\u0639\u062a\u0645\u0627\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0630\u064a \u062a\u0631\u063a\u0628 \u0623\u0646 \u064a\u0646\u0637\u0644\u0642 \u0645\u0646\u0647 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \\\: </br><br/> 1.\u0625\u0630\u0627 \u0643\u0627\u0646 \u0646\u0638\u0627\u0645\u0643 \u0627\u0644\u0625\u0641\u062a\u0631\u0627\u0636\u064a \u064a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0627\u0644\u0625\u0628\u062a\u062f\u0627\u0626\u064a\u0629
notification.reboot.instance=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c
notification.start.instance=\u0628\u062f\u0621 \u0627\u0644\u0646\u0645\u0648\u0630\u062c
notification.stop.instance=\u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0646\u0645\u0648\u0630\u062c
state.Accepted=\u062a\u0645 \u0627\u0644\u0642\u0628\u0648\u0644
state.Active=\u0646\u0634\u0637
state.Allocated=\u062a\u062e\u0635\u064a\u0635
state.Completed=\u062a\u0645 \u0627\u0644\u0627\u0643\u0645\u0627\u0644
state.Creating=\u0625\u0646\u0634\u0627\u0621
state.Declined=\u062a\u0645 \u0627\u0644\u0631\u0641\u0636
state.Destroyed=\u062f\u0645\u0631
state.enabled=\u062a\u0645\u0643\u064a\u0646
state.Enabled=\u062a\u0645\u0643\u064a\u0646
state.Error=\u062e\u0637\u0623
state.Expunging=\u0645\u062d\u0648
state.Pending=\u0641\u064a \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631
state.ready=\u062c\u0627\u0647\u0632
state.Ready=\u062c\u0627\u0647\u0632
state.Stopped=\u062a\u0648\u0642\u0641
state.Suspended=\u062a\u0645 \u0627\u0644\u0625\u064a\u0642\u0627\u0641
ui.listView.filters.all=\u0627\u0644\u0643\u0644

View File

@ -0,0 +1,307 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
confirm.enable.swift=Si us plau ompliu la seg\u00fcent informaci\u00f3 per habilitar el suport per a Swift
error.installWizard.message=Quelcom ha fallat, vost\u00e8 pot tornar enrere i corregir els errors detalls suggerime
error.password.not.match=Els camps de contrasenya no coincideixen
extractable=Es pot extreure
inline=En l\u00ednia
label.accept.project.invitation=Accpetar invitaci\u00f3 al projecte
label.action.edit.host=Editar Host
label.action.migrate.router=Migrar router
label.action.migrate.router.processing=Migrant router...
label.action.migrate.systemvm=Migrar MV de Sistema
label.action.migrate.systemvm.processing=Migrant MV de Sistema...
label.activate.project=Activar projecte
label.add.accounts=Afegir comptes
label.add.accounts.to=Afegir comptes a
label.add.account.to.project=Afegir compte al projecte
label.add.by=Afegir per
label.add.egress.rule=Afegir regla de sortida
label.add.new.F5=Afegir nou F5
label.add.new.NetScaler=Afegir un nou NetScaler
label.add.new.SRX=Afegir nou SRX
label.add.physical.network=Afegir xarxa f\u00edsica
label.add.rule=Afegir regla
label.add.static.nat.rule=Afegir regla de NAT est\u00e0tic
label.add.to.group=Afegir a grup
label.add.vm=Afegir MV
label.add.vms=Afegir MVs
label.add.vms.to.lb=Afegir MV(s) a la regla de balanceig de c\u00e0rrega
label.add.vpn.user=Afegir usuari VPN
label.agree=D\\'acord
label.apply=Aplicar
label.bandwidth=Ample de banda
label.broadcast.domain.range=Rang del domini de broadcast
label.capacity=Capacitat
label.change.service.offering=Canvia oferta de servei
label.change.value=Canviar valor
label.clear.list=Esborra llista
label.community=Comunitat
label.compute.and.storage=Computaci\u00f3 i Emmagatzematge
label.compute=Computaci\u00f3
label.configuration=Configuraci\u00f3
label.configure=Configurar
label.confirm.password=Confirmar contrasenya
label.congratulations=Enorabona\!
label.continue.basic.install=Continueu amb la instal\u00b7laci\u00f3 b\u00e0sica
label.continue=Continuar
label.corrections.saved=Correccions guardades
label.create.project=Crear projecte
label.decline.invitation=Declinar invitaci\u00f3
label.dedicated=Dedicat
label.default=Per defecte
label.delete.F5=Esborrar F5
label.delete.NetScaler=Esborrar NetScaler
label.delete.project=Esborrar projecte
label.delete.SRX=Esborar SRX
label.delete.vpn.user=Esborrar usuari VPN
label.destination.physical.network.id=ID de xarxa f\u00edsica de dest\u00ed
label.destination.zone=Zona de dest\u00ed
label.destroy.router=Destruir router
label.dhcp=DHCP
label.disabled=Deshabilitat
label.disable.provider=Deshabilitar prove\u00efdor
label.disable.vpn=Deshabilitar VPN
label.drag.new.position=Arrosegar a la nova posici\u00f3
label.edit.project.details=Editar detalls del projecte
label.egress.rule=Regla de sortida
label.elastic=El\u00e0stic
label.enable.provider=Habilitar prove\u00efdor
label.enable.swift=Habilitar Swift
label.enable.vpn=Habilitar VPN
label.end.vlan=VLAN fi
label.f5=F5
label.full.path=Cam\u00ed sencer
label.guest.end.ip=Fi d\\'IP per a MV
label.guest=MV
label.guest.start.ip=Inici d\\'IP per a MV
label.guest.traffic=Tr\u00e0fic de MV
label.hints=Pistes
label.installWizard.addClusterIntro.subtitle=Que \u00e9s un cluster?
label.installWizard.addClusterIntro.title=Anem a afegir un cluster
label.installWizard.addHostIntro.subtitle=Qu\u00e8 \u00e9s un amfitri\u00f3 "host"?
label.installWizard.addHostIntro.title=Anem a afegir un amfitri\u00f3
label.installWizard.addPodIntro.subtitle=Que \u00e9s un pod?
label.installWizard.addPodIntro.title=Anem a afegir un pod
label.installWizard.addPrimaryStorageIntro.subtitle=Qu\u00e8 \u00e9s l\\'emmagatzematge primari?
label.installWizard.addPrimaryStorageIntro.title=Anem a afegir emmagatzematge primari
label.installWizard.addSecondaryStorageIntro.subtitle=Qu\u00e8 \u00e9s el emmagatzematge secundari?
label.installWizard.addSecondaryStorageIntro.title=Anem a afegir emmagatzematge secundari
label.installWizard.addZoneIntro.subtitle=Que \u00e9s una zona?
label.installWizard.addZoneIntro.title=Anem a afegir una zona
label.installWizard.addZone.title=Afegir zona
label.installWizard.click.launch=Feu clic al bot\u00f3 d\\'inici.
label.installWizard.subtitle=Auqesta guia us ajudar\u00e0 a configurar la vostra instal\u00b7laci\u00f3 de CloudStack&\#8482
label.installWizard.title=Hola i benvigut a CloudStack&\#8482
label.introduction.to.cloudstack=Introducci\u00f3 a la CloudStack&\#8482
label.invitations=Invitacions
label.invite=Convidar
label.invited.accounts=Comptes convidades
label.invite.to=Convidar a
label.ip.ranges=Rangs d\\'IPs
label.item.listing=Llista d\\'articles
label.keyboard.type=Tipus de teclat
label.key=Clau
label.launch=Iniciar
label.launch.vm=Arrencar MV
label.load.balancing=Balanceig de c\u00e0rrega
label.load.balancing.policies=Pol\u00b7l\u00edtiques de balanceig de c\u00e0rrega
label.local.storage=Emmagatzemament local
label.make.project.owner=Feu la compta propiet\u00e0ria del projecte
label.management=Administraci\u00f3
label.manage.resources=Administrar Recursos
label.max.public.ips=Max. IP p\u00fabliques
label.max.snapshots=Max. instant\u00e0nies
label.max.templates=Max. plantilles
label.max.vms=Max. MV d\\'usuari
label.max.volumes=Max. Volums
label.may.continue=Ara pot continuar
label.menu.configuration=Configuraci\u00f3
label.migrate.instance.to.host=Migrar inst\u00e0ncia a un altre amfitri\u00f3 "Host"
label.migrate.instance.to.ps=Migrar inst\u00e0ncia a un altra emmagatzematge primari
label.migrate.router.to=Migrar router a
label.migrate.systemvm.to=Migrar MV de sistema a\:
label.move.down.row=Moure una fila cap a baix
label.move.to.top=Moure a dalt
label.move.up.row=Moure una fla cap a dalt
label.my.network=La meva xarxa
label.my.templates=Les meves plantilles
label.netScaler=NetScaler
label.networking.and.security=Xarxa i seguretat
label.network.rate=Velocitat de xarxa
label.networks=Xarxes
label.new=Nou
label.new.project=Nou projecte
label.new.vm=Nova MV
label.nic.adapter.type=Tipus de tarja de xarxa
label.no.data=No hi ha dades
label.no.thanks=No gr\u00e0cies
label.number.of.clusters=Nombre de cl\u00fasters
label.number.of.hosts=Nombre de Hosts
label.number.of.pods=Nombre de racks
label.number.of.zones=Nombre de zones
label.ocfs2=OCFS2
label.order=Ordre
label.physical.network.ID=ID de xarxa f\u00edsica
label.please.specify.netscaler.info=Si us plau doneu informaci\u00f3 del NetScaler
label.pod.name=Nom de rack
label.pods=Racks
label.port.forwarding.policies=Pol\u00b7l\u00edtiques de reenviament de ports
label.previous=Anterior
label.private.network=Xarxa privada
label.project.dashboard=Quadre de comandament del projecte
label.project.id=ID de projecte
label.project.invite=Convidar al projecte
label.project.name=Nom del projecte
label.project=Projecte
label.projects=Projectes
label.providers=Prove\u00efdors
label.public.network=Xarxa p\u00fablica
label.Pxe.server.type=Tipus de servidor PXE
label.redundant.state=Estat redundant
label.remind.later=Recordeu-m\\'ho despr\u00e9s
label.remove.egress.rule=Esborrar regla de sortida
label.remove.ingress.rule=Esborrar regla d\\'entrada
label.remove.pf=Esborrar regla de reenviament de port
label.remove.rule=Esborrar regla
label.remove.static.nat.rule=Esborrar regla de NAT est\u00e0tic
label.remove.vm.from.lb=Treure VM de la regla de balanceig de c\u00e0rrega
label.removing=Esborrant
label.reserved.system.gateway=Pasarel\u00b7la reservada del sistema
label.reserved.system.netmask=M\u00e0scara reservada del sistema
label.revoke.project.invite=Revocar invitaci\u00f3
label.root.disk.controller=Controlador de disc arrel
label.save.and.continue=Desa i continua
label.select.a.template=Sel\u00b7leccioni una plantilla
label.select.a.zone=Sel\u00b7leccioni una zona
label.select.iso.or.template=Sel\u00b7leccioni ISO o plantilla
label.select.project=Sel\u00b7leccionar projecte
label.select-view=Sel\u00b7lecioni vista
label.setup=Configuraci\u00f3
label.shutdown.provider=Apagar prove\u00efdor
label.skip.guide=Si heu utilitzat CloudStack abans, ometi aquesta guia
label.srx=SRX
label.start.vlan=VLAN inici
label.static.nat.enabled=NAT est\u00e0tic habilitat
label.stickiness=Tend\u00e8ncia
label.sticky.mode=Mode
label.storage.traffic=Tr\u00e0fic d\\'emmagatzemament
label.subdomain.access=Acc\u00e9s de subdomini
label.suspend.project=Suspendre projecte
label.task.completed=Tasca complerta
label.timeout=Timeout
label.total.cpu=Total de CPU
label.total.CPU=Total de CPU
label.total.hosts=Total de hosts
label.total.memory=Total de RAM
label.total.of.ip=Total d\\'adre\u00e7es IP
label.total.of.vm=Total de MV
label.total.storage=Total d\\'emmagatzemament
label.traffic.types=Tipus de tr\u00e0fics
label.update.project.resources=Actualitzar recursos del projecte
label.view.all=Veure tots
label.view.console=Veure consola
label.viewing=Veient
label.view.more=Veure m\u00e9s
label.view=Veure
label.virtual.machines=M\u00e0quines virtuals
label.virtual.router=Router virtual
label.what.is.cloudstack=Que \u00e9s CloudStack&\#8482?
label.zone.details=Detalls de la zona
label.zones=Zones
message.acquire.new.ip=Si us plau confirmeu que voleu adquirir una nova IP per aquesta xarxa.
message.action.download.iso=Si us plau confirmeu que voleu descarregar aquesta ISO.
message.action.download.template=Si us plau confirmeu que voleu descarregar aquesta plantilla.
message.activate.project=Esteu segurs d\\'activar aquest projecte?
message.add.domain=Si us plau especifiqueu el sub-domini que voleu crear sota aquest domini
message.add.guest.network=Si us plau confirmeu que voleu afegir una xarxa per a MVs
message.after.enable.swift=Swift configurat. Nota\: Quan abandoneu aquesta p\u00e0gina, no sereu capa\u00e7os de reconfigurar Swift de nou.
message.alert.state.detected=Estat d\\'alerta detectat
message.change.password=Si us plau, canvieu la contrasenya.
message.confirm.delete.F5=Si us plau confirmeu que voleu esborrar l\\'F5
message.confirm.delete.NetScaler=Si us plau confirmeu que voleu esborrar el NetScaler
message.confirm.delete.SRX=Si us plau confirmeu que voleu esborrar l\\'SRX
message.confirm.destroy.router=Si us plau confirmeu que voleu destruir aquest router
message.confirm.disable.provider=Si us plau confirmeu que voleu deshabilitar aquest prove\u00efdor
message.confirm.enable.provider=Si us plau confirmeu que voleu habilitar aquest prove\u00efdor
message.confirm.join.project=Si us plau confirmeu que voleu unir-vos al projecte.
message.confirm.shutdown.provider=Si us plau confirmeu que voleu apagar aquest prove\u00efdor
message.decline.invitation=Esteu segurs de declinar aquesta invitaci\u00f3 per al projecte?
message.delete.project=Esteu segurs d\\'eliminar el projecte?
message.delete.user=Si us plau confirmeu que voleu esborrar aquest usuari.
message.disable.user=Si us plao confirmeu que voleu deshabilitar aquest usuari.
message.disable.vpn=\u00bfEsteu segurs de deshabilitar la VPN?
message.edit.account=Editar ("-1" indica que no hi ha limit en la quantitat de recursos a crear)
message.enable.user=Si us plau confirmeu que voleu habilitar aquest usuari.
message.enable.vpn=Si us plau confirmeu que voleu habilitar l\\'acc\u00e9s VPN per aquesta adre\u00e7a IP
message.generate.keys=Si us plau confirmeu que voleu generar noves claus per aquest usuari.
message.installWizard.click.retry=Feu clic al bot\u00f3 per tornar a intentar l\\'inici.
message.installWizard.copy.whatIsSecondaryStorage=L\\'emmagatzemament secundari s\\'associa amb una zona, i emmagatzema el seg\u00fcent\:<ul><li>Plantilles - Imatges de SO que es poden fer servir per arrencar MVs i poden incloure altra informaci\u00f3 de configuraci\u00f3, com ara aplicacions instal\u00b7lades</li><li>Imatges ISO - Imatges de SO que poden ser arrencables o no</li><li>Snapshots de disc - copies guardades de dades de MV que poden usar-se per recuperaci\u00f3 de dades o crear altres plantilles</ul>
message.installWizard.tooltip.addCluster.name=Un nom per al cluster. Pot ser un text de la seva elecci\u00f3 i no utilitzat per CloudStack.
message.installWizard.tooltip.addHost.hostname=El nom DNS o adre\u00e7a de l\\'amfitri\u00f3 "host".
message.installWizard.tooltip.addHost.password=Aquesta \u00e9s la contrasenya per a l\\'usuari del d\\'amunt (des de la instal\u00b7laci\u00f3 de XenServer).
message.installWizard.tooltip.addHost.username=Normalment root
message.installWizard.tooltip.addPod.name=Un nom per al pod
message.installWizard.tooltip.addPod.reservedSystemEndIp=Aquest \u00e9s el rang IP a la xarxa privada que el CloudStack fa servir per administrar MVs per al Secondary Storage i Proxy de consoles. Aquestes IP es prenen de la mateixa sub-xarxa que els servidors de virtualitzaci\u00f3.
message.installWizard.tooltip.addPod.reservedSystemGateway=La passarel\u00b7la per als amfitrions en aquest pot.
message.installWizard.tooltip.addPod.reservedSystemNetmask=La m\u00e0scara de xarxa en \u00fas en la subxarxa dels clients a utilitzar
message.installWizard.tooltip.addPod.reservedSystemStartIp=Aquest \u00e9s el rang IP a la xarxa privada que el CloudStack fa servir per administrar MVs per al Secondary Storage i Proxy de consoles. Aquestes IP es prenen de la mateixa sub-xarxa que els servidors de virtualitzaci\u00f3.
message.installWizard.tooltip.addPrimaryStorage.name=El nom per al dispositiu d\\'emmagatzematge
message.installWizard.tooltip.addPrimaryStorage.path=(per a NFS) A NFS, aquest \u00e9s el cam\u00ed exportat des del servidor. Cam\u00ed (per SharedMountPoint). Amb KVM aquest \u00e9s el cam\u00ed a cada host on es munta el emmagatzemament primari. Per exemple, "/mnt/primary".
message.installWizard.tooltip.addPrimaryStorage.server=(per NFS, iSCSI, o PreSetup) La adre\u00e7a IP o nom DNS del dispositiu d\\'emmagatzematge.
message.installWizard.tooltip.addSecondaryStorage.nfsServer=L\\'adre\u00e7a IP del servidor NFS que allotja l\\'emmagatzematge secundari
message.installWizard.tooltip.addSecondaryStorage.path=La ruta d\\'exportaci\u00f3, que es troba en el servidor que s\\'ha especificat anteriorment
message.installWizard.tooltip.configureGuestTraffic.description=Una descripci\u00f3 de la xarxa
message.installWizard.tooltip.configureGuestTraffic.guestGateway=La passarel\u00b7la que els convidats han d\\'utilitzar
message.installWizard.tooltip.configureGuestTraffic.guestNetmask=La m\u00e0scara de xarxa en \u00fas en la subxarxa que els clients han d\\'utilitzar
message.installWizard.tooltip.configureGuestTraffic.name=Un nom per a la teva xarxa
message.instanceWizard.noTemplates=No teniu cap plantilla disponible; si us plau afegiu una plantilla disponible i torneu a usar l\\'assistent.
message.join.project=Us heu unit a un projecte. Si us pla canvieu a vista de projecte per veure el projecte.
message.migrate.instance.to.host=Si us plau, confirmi que vol migrar la inst\u00e0ncia a un altra amfitri\u00f3 "host"
message.migrate.instance.to.ps=Si us plau, confirmi que vol migrar la inst\u00e0ncia a un altra emmagatzematge primari.
message.migrate.router.confirm=Si us plau confirmeu que voleu migrar el router a\:
message.migrate.systemvm.confirm=Si us plau confirmeu que voleu migrar la MV de sistema a\:
message.no.projects.adminOnly=No teniu cap projecte.<br/>Si us plau demaneu a l\\'administrador que us en crei un.
message.no.projects=No teniu cap projecte.<br/>Si us plau creeu-ne un des de la secci\u00f3 de projecte.
message.pending.projects.1=Teniu invitacions pendents.
message.pending.projects.2=Per veure, si us plau aneu a la secci\u00f3 de projectes, i sel\u00b7leccioneu invitacions al desplegable.
message.project.invite.sent=Invitaci\u00f3 enviada a l\\'usuari; ser\u00e0 afegit al projecte quan accepti l\\'invitaci\u00f3
message.select.item=Si us plau sel\u00b7leccioneu un article
message.setup.successful=Instal\u00b7laci\u00f3 del cloud correcte\!
message.step.2.desc=
message.step.3.desc=
message.suspend.project=Esteu segurs de suspendre aquest projecte?
message.update.resource.count=Si us plau confirmeu que voleu actualitzar el comptatge de recursos per aquest compte.
mode=Mode
network.rate=Velocitat de xarxa
side.by.side=Costat a costat
state.Accepted=Acceptat
state.Active=Actiu
state.Completed=Complert
state.Creating=Creant
state.Declined=Declinat
state.Disabled=Deshabilitat
state.enabled=Habilitat
state.Enabled=Habilitat
state.Expunging=Esborrant
state.Pending=Pendent
state.ready=Preparat
state.Ready=Preparat
state.Starting=Arrencant
state.Suspended=Susp\u00e9s

View File

@ -0,0 +1,748 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
error.installWizard.message=Ein Fehler ist aufgetreten; Sie k\u00f6nnen zur\u00fcckgehen und den Fehler korregieren
error.login=Ihr Benutzername / Passwort stimmt nicht mit uneren unseren Aufzeichnungen \u00fcberein.
error.session.expired=Ihre Sitzung ist abgelaufen.
force.delete.domain.warning=Achtung\: Diese Auswahl f\u00fchrt zu einer L\u00f6schung aller untergeordneten Domains und aller angeschlossenen Konten sowie ihrer Quellen.
force.delete=Erzwinge L\u00f6schung
force.remove=Erzwinge Entfernung
force.remove.host.warning=Achtung\: Diese Auswahl wird CloudStack zum sofortigen Anhalten der virtuellen Maschine f\u00fchren, bevor der Host vom Cluster entfernt wurde.
force.stop=Erzwinge Abbruch
ICMP.code=ICMP Code
ICMP.type=ICMP-Typ
image.directory=Bildverzeichnis
label.account=Benutzerkonto
label.account.id=Benutzerkonto-ID
label.account.name=Benutzerkonto-Name
label.accounts=Benutzerkonten
label.account.specific=Besonderheiten des Benutzerkontos
label.acquire.new.ip=Neue IP erwerben
label.action.attach.disk=Festplatte hinzuf\u00fcgen
label.action.attach.disk.processing=Hinzuf\u00fcgen einer Festplatte ....
label.action.attach.iso=ISO hinzuf\u00fcgen
label.action.attach.iso.processing=Hinzuf\u00fcgen einer ISO....
label.action.cancel.maintenance.mode.processing=Abbruch des Wartungsmodus
label.action.cancel.maintenance.mode=Wartungsmodus abbrechen
label.action.change.password=Passwort \u00e4ndern
label.action.change.service=Dienst \u00e4ndern
label.action.change.service.processing=Wechseln des Dienstes ....
label.action.copy.ISO=ISO kopieren
label.action.copy.ISO.processing=Kopieren der ISO ....
label.action.copy.template.processing=Kopieren der Vorlage ....
label.action.copy.template=Vorlage kopieren
label.action.create.template.from.vm=Erstelle Vorlage aus VM
label.action.create.template.from.volume=Erstelle Vorlage vom Datentr\u00e4ger
label.action.create.template.processing=Erstellen der Vorlage ....
label.action.create.template=Vorlage erstellen
label.action.create.vm=Erstelle VM
label.action.create.vm.processing=Erstellung der VM....
label.action.create.volume=Erstelle Volume
label.action.create.volume.processing=Erstellen von Volume ....
label.action.delete.account=Benutzerkonto l\u00f6schen
label.action.delete.account.processing=L\u00f6schung des Benutzerkontos ....
label.action.delete.cluster=L\u00f6schen des Clusters
label.action.delete.cluster.processing=L\u00f6schung des Clusters ....
label.action.delete.disk.offering=Festplatten-Angebot l\u00f6schen
label.action.delete.disk.offering.processing=L\u00f6schen des Festplatten-Angebots ....
label.action.delete.domain=L\u00f6schen der Domain
label.action.delete.domain.processing=L\u00f6schung der Domain ....
label.action.delete.firewall.processing=L\u00f6schung der Firewall ....
label.action.delete.ingress.rule.processing=L\u00f6schen der Zutrittsregel ....
label.action.delete.ingress.rule=Zutrittsregel l\u00f6schen
label.action.delete.IP.range=IP-Bereich l\u00f6schen
label.action.delete.IP.range.processing=L\u00f6schen von IP-Bereich ....
label.action.delete.ISO=ISO l\u00f6schen
label.action.delete.ISO.processing=L\u00f6schen der ISO ....
label.action.delete.load.balancer.processing=Beendigung der Serverlastverteilung....
label.action.delete.network=L\u00f6schen des Netzwerks
label.action.delete.network.processing=L\u00f6schung des Netzwerks ....
label.action.delete.pod=Pod l\u00f6schen
label.action.delete.pod.processing=L\u00f6schen des Pod ....
label.action.delete.primary.storage=Hauptspeicher l\u00f6schen
label.action.delete.primary.storage.processing=L\u00f6schen des Hauptspeichers ....
label.action.delete.secondary.storage.processing=L\u00f6schen des Sekund\u00e4rspeichers....
label.action.delete.secondary.storage=Sekund\u00e4rspeicher l\u00f6schen
label.action.delete.security.group.processing=L\u00f6schen der Sicherheitsgruppe ....
label.action.delete.security.group=Sicherheitsgruppe l\u00f6schen
label.action.delete.service.offering.processing=L\u00f6schen des Serviceangebots ....
label.action.delete.service.offering=Serviceangebot l\u00f6schen
label.action.delete.snapshot.processing=L\u00f6schen des Schnappschusses....
label.action.delete.snapshot=Schnappschuss l\u00f6schen
label.action.delete.template.processing=L\u00f6schen der Vorlage ....
label.action.delete.template=Vorlage l\u00f6schen
label.action.delete.user=Benutzer l\u00f6schen
label.action.delete.user.processing=L\u00f6schung des Benutzers ....
label.action.delete.volume=Datentr\u00e4ger l\u00f6schen
label.action.delete.volume.processing=L\u00f6schen des Datentr\u00e4gers....
label.action.delete.zone.processing=L\u00f6schen der Zone ....
label.action.delete.zone=Zone l\u00f6schen
label.action.destroy.instance=Die Instanz vernichten
label.action.destroy.instance.processing=Die Vernichtung der Instanz....
label.action.destroy.systemvm.processing=Vernichtung des System-VM ....
label.action.destroy.systemvm=System-VM vernichten
label.action.detach.disk=Festplatte entfernen
label.action.detach.disk.processing=Entfernen der Festplatte
label.action.detach.iso=ISO entfernen
label.action.detach.iso.processing=Entfernen von ISO ....
label.action.disable.account=Benutzerkonto deaktivieren
label.action.disable.account.processing=Deaktivierung des Benutzerkontos ....
label.action.disable.cluster=Deaktivieren des Clusters
label.action.disable.cluster.processing=Deaktivierung des Clusters....
label.action.disable.pod=Deaktiviere Pod
label.action.disable.pod.processing=Deaktivierung des Pod....
label.action.disable.static.NAT.processing=Deaktivieren der statischen NAT ....
label.action.disable.static.NAT=Statische NAT deaktivieren
label.action.disable.user=Benutzer deaktivieren
label.action.disable.user.processing=Deaktivierung des Benutzers ....
label.action.disable.zone=Deaktivieren der Zone
label.action.disable.zone.processing=Deaktivierung der Zone....
label.action.download.ISO=ISO herunterladen
label.action.download.template=Vorlage herunterladen
label.action.download.volume.processing=Herunterladen des Volumes ....
label.action.download.volume=Volume herunterladen
label.action.edit.account=Benutzerkonto bearbeiten
label.action.edit.disk.offering=Bearbeiten des Festplatten-Angebots
label.action.edit.domain=Domain bearbeiten
label.action.edit.global.setting=Globale Einstellungen bearbeiten
label.action.edit.host=Bearbeite Host
label.action.edit.instance=Instanz bearbeiten
label.action.edit.ISO=ISO bearbeiten
label.action.edit.network=Bearbeiten des Netzwerks
label.action.edit.network.offering=Bearbeiten des Netzwerk-Angebots
label.action.edit.network.processing=Bearbeitung des Netzwerks ....
label.action.edit.pod=Bearbeiten des Pods
label.action.edit.primary.storage=Hauptspeicher bearbeiten
label.action.edit.resource.limits=Resourcen Grenzen bearbeiten
label.action.edit.service.offering=Service-Angebot bearbeiten
label.action.edit.template=Vorlage bearbeiten
label.action.edit.user=Benutzer bearbeiten
label.action.edit.zone=Zone bearbeiten
label.action.enable.account=Konto aktivieren
label.action.enable.account.processing=Aktivierung des Kontos....
label.action.enable.cluster=Aktivieren des Clusters
label.action.enable.cluster.processing=Aktivierung des Clusters....
label.action.enable.maintenance.mode.processing=Aktivieren des Wartungsmodus
label.action.enable.maintenance.mode=Wartungsmodus aktivieren
label.action.enable.pod=Aktiviere Pod
label.action.enable.pod.processing=Aktivierung des Pod....
label.action.enable.static.NAT.processing=Aktivieren der statischen NAT ....
label.action.enable.static.NAT=Statische NAT aktivieren
label.action.enable.user=Nutzer aktivieren
label.action.enable.user.processing=Aktivierung des Nutzers...
label.action.enable.zone=Aktivieren der Zone
label.action.enable.zone.processing=Aktivierung der Zone....
label.action.force.reconnect=Erzwinge wieder verbinden
label.action.force.reconnect.processing=Wieder verbinden....
label.action.generate.keys.processing=Genieren der Schl\u00fcssel
label.action.generate.keys=Schl\u00fcssel generieren
label.action.lock.account=Konto sperren
label.action.lock.account.processing=Kontosperrung ....
label.action.manage.cluster.processing=Verwaltung des Clusters....
label.action.manage.cluster=Verwalte Cluster
label.action.migrate.instance=Mit einer Instanz umziehen
label.action.migrate.instance.processing=Umziehen einer Instanz
label.action.reboot.instance=Instanz neustarten
label.action.reboot.instance.processing=Neustarten der Instanz...
label.action.reboot.router.processing=Neustart vom Router ....
label.action.reboot.router=Router neu starten
label.action.reboot.systemvm.processing=Neustart-System VM ....
label.action.reboot.systemvm=System VM neu starten
label.action.release.ip=IP ver\u00f6ffentlichen
label.action.release.ip.processing=Ver\u00f6ffentlichung der IP....
label.action.remove.host=Host entfernen
label.action.remove.host.processing=Entfernen des Hosts....
label.action.reset.password=Passwort zur\u00fccksetzen
label.action.reset.password.processing=Zur\u00fccksetzen des Passworts ....
label.action.resource.limits=Grenzen der Ressourcen
label.action.restore.instance=Instanz wiederherstellen
label.action.restore.instance.processing=Wiederherstellen der Instanz....
label.actions=Aktionen
label.action.start.instance=Instanz beginnen
label.action.start.instance.processing=Beginnen mit der Instanz....
label.action.start.router.processing=Starten des Routers ....
label.action.start.router=Router starten
label.action.start.systemvm.processing=Starten von System VM ....
label.action.start.systemvm=System VM starten
label.action.stop.instance=Instanz stoppen
label.action.stop.instance.processing=Stoppen der Instanz....
label.action.stop.router.processing=Stoppen des Routers ....
label.action.stop.router=Router stoppen
label.action.stop.systemvm.processing=Stoppen vom System VM ....
label.action.stop.systemvm=System VM stoppen
label.action.take.snapshot.processing=Schnappschuss erstellen...
label.action.take.snapshot=Schnappschuss erstellen
label.action.unmanage.cluster.processing=Vernachl\u00e4ssigung des Clusters ....
label.action.unmanage.cluster=Vernachl\u00e4ssige Cluster
label.action.update.OS.preference=Betriebssystem Pr\u00e4verenz aktualisieren
label.action.update.OS.preference.processing=Aktualisierung der Betriebssystem Pr\u00e4verenz....
label.active.sessions=Aktive Sitzungen
label.add.account=Konto hinzuf\u00fcgen
label.add.by.cidr=Hinzuf\u00fcgen durch CIDR
label.add.by.group=Hinzuf\u00fcgen durch Gruppe
label.add.cluster=Cluster hinzuf\u00fcgen
label.add.direct.iprange=Direkten Ip-Bereich hinzuf\u00fcgen
label.add.disk.offering=Festplatten-Angebot hinzuf\u00fcgen
label.add.domain=Domain hinzuf\u00fcgen
label.add=Hinzuf\u00fcgen
label.add.host=Host hinzuf\u00fcgen
label.adding.cluster=Cluster hinzuf\u00fcgen
label.adding.failed=Hinzuf\u00fcgen fehlgeschlagen
label.adding=Hinzuf\u00fcgen
label.adding.pod=Hinzuf\u00fcgen des Pods
label.adding.processing=Hinzuf\u00fcgen....
label.add.ingress.rule=Zutrittsregel hinzuf\u00fcgen
label.adding.succeeded=Erfolgreich hinzugef\u00fcgt
label.adding.user=Nutzer hinzuf\u00fcgen
label.adding.zone=Hinzuf\u00fcgen der Zone
label.add.ip.range=IP Bereich hinzuf\u00fcgen
label.additional.networks=Zus\u00e4tzliche Networks
label.add.load.balancer=Serverlastverteilung hinzuf\u00fcgen
label.add.more=Mehr hinzuf\u00fcgen
label.add.network.device=Hinzuf\u00fcgen eines Netzwerkger\u00e4tes
label.add.network=Netzwerk hinzuf\u00fcgen
label.add.pod=Pod hinzuf\u00fcgen
label.add.primary.storage=Hauptspeicher hinzuf\u00fcgen
label.add.secondary.storage=Sekund\u00e4rspeicher hinzuf\u00fcgen
label.add.security.group=Sicherheitsgruppe hinzuf\u00fcgen
label.add.service.offering=Service-Angebot hinzuf\u00fcgen
label.add.system.service.offering=System-Service-Angebot hinzuf\u00fcgen
label.add.template=Vorlage hinzuf\u00fcgen
label.add.user=Benutzer hinzuf\u00fcgen
label.add.vlan=VLAN hinzuf\u00fcgen
label.add.volume=Volume hinzuf\u00fcgen
label.add.zone=Zone hinzuf\u00fcgen
label.admin.accounts=Administrator-Konten
label.admin=Administrator
label.advanced.mode=Erweiterter Modus
label.advanced.search=Erweiterte Suche
label.advanced=Weitergehend
label.alert=Warnung
label.algorithm=Algorithmus
label.allocated=Zugeteilt
label.allocation.state=Belegungszustand
label.api.key=API Schl\u00fcssel
label.assign.to.load.balancer=Instanz zum Lastverteiler hinzuf\u00fcgen
label.assign=Zuweisen
label.associated.network.id=Assozierte Netzwerk ID
label.attached.iso=Angeh\u00e4ngte ISO
label.availability=Verf\u00fcgbarkeit
label.availability.zone=Verf\u00fcgbare Zone
label.available.public.ips=Verf\u00fcgbaren \u00f6ffentlichen IP-Adressen
label.available=Verf\u00fcgbar
label.back=Zur\u00fcck
label.basic.mode=Grundmodus
label.bootable=Bootbar
label.broadcast.domain.type=Benachrichtigung an alle Nutzer \u00fcber Domain Typ
label.by.account=Nach Benutzerkonto
label.by.availability=Nach Verf\u00fcgbarkeit
label.by.domain=Nach Domain
label.by.end.date=Nach Endedatum
label.by.level=Nach Level
label.by.pod=Nach Pod
label.by.role=Nach Rolle
label.by.start.date=Nach Beginndatum
label.by.state=\u00fcber den Zustand
label.bytes.received=Empfangene Bytes
label.bytes.sent=Gesendete Bytes
label.by.traffic.type=Nach Traffic-Typ
label.by.type.id=Nach Typ ID
label.by.type=Nach Typ
label.by.zone=Nach Zone
label.cancel=Abbrechen
label.certificate=Zertifikat
label.character=Buchstabe
label.cidr.account=CIDR oder Benutzerkonto/Sicherheitsgruppe
label.cidr=CIDR
label.cidr.list=Quelle CIDR
label.close=Schliessen
label.cloud.console=Cloud Management Konsole
label.cloud.managed=Geleitet von cloud.com
label.cluster=Cluster
label.cluster.type=Cluster-Typ
label.code=Code
label.configuration=Konfiguration
label.confirmation=Best\u00e4tigung
label.congratulations=Herzlichen Gl\u00fcckwunsch
label.corrections.saved=Korrekturen gespeichert
label.cpu.allocated=Zugeteilte CPU
label.CPU.cap=CPU Obergrenze
label.cpu=CPU
label.cpu.mhz=CPU (in MHz)
label.cpu.utilized=genutzte CPU
label.created=Erstellt
label.cross.zones=\u00fcberschneidende Zonen
label.custom.disk.size=Benutzerdefinierte Festplattengr\u00f6sse
label.daily=T\u00e4glich
label.data.disk.offering=Daten-Speicherplatz-Angebot
label.date=Datum
label.day.of.month=Tag des Monats
label.day.of.week=Tag der Woche
label.default.use=Standardeinstellung nutzen
label.delete=L\u00f6schen
label.deleting.failed=L\u00f6schen fehlgeschlagen
label.deleting.processing=L\u00f6schen ....
label.description=Beschreibung
label.destroy=Zerst\u00f6ren
label.detaching.disk=Entfernen der Festplatte
label.details=Details
label.device.id=Ger\u00e4te-ID
label.DHCP.server.type=DHCP Server Type
label.disabled=Deaktiviert
label.disabling.vpn.access=Deaktivierung des VPN Zugangs
label.disk.allocated=Zugeordnete Festplatte
label.disk.offering=Festplatten-Angebot
label.disk.size=Festplattengr\u00f6\u00dfe
label.disk.size.gb=Festplattengr\u00f6\u00dfe (in GB)
label.disk.total=Gesamtzahl der Festplatten
label.disk.volume=Festplatten Volume
label.display.text=Anzeigetext
label.dns.1=DNS 1
label.dns.2=DNS 2
label.domain.admin=Domain Administrator
label.domain=Domain
label.domain.id=Domain ID
label.domain.name=Domain Name
label.domain.suffix=DNS Domainsuffix (z.B. xzy.com)
label.double.quotes.are.not.allowed=Anf\u00fchrungszeichen sind nicht erlaubt
label.download.progress=Download-Fortschritt
label.edit=Bearbeiten
label.email=E-Mail
label.enabling.vpn.access=Aktivieren des VPN-Zugriffs
label.enabling.vpn=VPN aktivieren
label.endpoint.or.operation=Endpunkt oder Bedienung
label.end.port=Beende Port
label.error.code=Fehlercode
label.error=Fehler
label.esx.host=ESX / ESXi-Host
label.example=Beispiel
label.failed=Fehlgeschlagen
label.featured=Besonderheiten aufweisen
label.firewall=Firewall
label.first.name=Vorname
label.format=Format
label.friday=Freitag
label.full=Voll
label.gateway=Schnittstelle
label.general.alerts=Allgemeine Warnungen
label.generating.url=Generieren der URL
label.go.step.2=Gehe zu Schritt 2
label.go.step.3=Weiter zu Schritt 3
label.go.step.4=Weiter mit Schritt 4
label.go.step.5=Weiter mit Schritt 5
label.group=Gruppe
label.group.optional=Gruppe (optional)
label.guest.cidr=Gast CIDR
label.guest.gateway=Gast-Schnittstelle
label.guest.ip=Gast IP-Adresse
label.guest.ip.range=Gast IP Berecih
label.guest.netmask=Gast Netzmaske
label.ha.enabled=HA aktiviert
label.help=Hilfe
label.hide.ingress.rule=Verstecke Regeln, die den Zutritt steuern
label.host.alerts=Host Warnungen
label.host=Host
label.host.name=Host Name
label.hosts=Hosts
label.host.tags=Markierungen des Hosts
label.hourly=St\u00fcndlich
label.hypervisor=Hypervisor
label.hypervisor.type=Hypervisor Typ
label.id=Identifikation
label.info=Info
label.ingress.rule=Zutrittsregel
label.initiated.by=Initiiert durch
label.installWizard.addClusterIntro.subtitle=Was ist ein Cluster?
label.installWizard.addClusterIntro.title=cluster hinzuf\u00fcgen
label.installWizard.addHostIntro.subtitle=Was ist ein host?
label.installWizard.addHostIntro.title=host hinzuf\u00fcgen
label.installWizard.addPodIntro.subtitle=Was ist ein pod?
label.installWizard.addPodIntro.title=pod hinzuf\u00fcgen
label.installWizard.addPrimaryStorageIntro.subtitle=Was ist primay storage?
label.installWizard.addPrimaryStorageIntro.title=primary storage hinzuf\u00fcgen
label.installWizard.addSecondaryStorageIntro.subtitle=Was ist secondary storage?
label.installWizard.addSecondaryStorageIntro.title=secondary storage
label.installWizard.addZone.title=zone hinzuf\u00fcgen
label.installWizard.click.launch=Bitte den Start Button dr\u00fccken
label.instance=Instanz
label.instance.limits=Instanz Grenzen
label.instance.name=Name der Instanz
label.instances=Instanzen
label.internal.dns.1=Interne DNS 1
label.internal.dns.2=Interne DNS 2
label.interval.type=Interval Typ
label.invalid.integer=Ung\u00fcltige Ganzzahl
label.invalid.number=Ung\u00fcltige Anzahl
label.ip.address=IP-Adresse
label.ipaddress=IP-Adresse
label.ip=IP
label.ip.or.fqdn=IP oder FQDN
label.ip.range=IP-Bereich
label.ips=IPs
label.iscsi=iSCSI
label.is.default=Ist vorgegeben
label.iso.boot=ISO-Boot
label.iso=ISO
label.is.redundant.router=Redundant
label.is.shared=Gemeinsam
label.keep=Behalten
label.lang.chinese=chinesisch (vereinfacht)
label.lang.english=englisch
label.lang.japanese=japanisch
label.lang.spanish=spanisch
label.last.disconnected=Zuletzt getrennt
label.last.name=Nachname
label.launch=Start
label.level=Ebene
label.load.balancer=Serverlastverteilung
label.loading=Laden
label.local=Lokal
label.login=Login
label.logout=Abmelden
label.lun=LUN
label.manage=Verwalten
label.maximum=Maximum
label.may.continue=Sie k\u00f6nnen jetzt fortfahren
label.memory.allocated=zugeordneter Speicher
label.memory.mb=Speicher (in MB)
label.memory=Speicher (in MB)
label.memory.total=Speicher insgesamt
label.memory.used=Genutzter Speicher
label.menu.accounts=Benutzerkonten
label.menu.alerts=Warnungen
label.menu.all.accounts=Alle Konten
label.menu.all.instances=Alle Instanzen
label.menu.community.isos=Gemeinschaft ISOs
label.menu.community.templates=Gemeinschaft Vorlagen
label.menu.configuration=Konfiguration
label.menu.dashboard=Dashboard
label.menu.destroyed.instances=Zerst\u00f6rte Instanzen
label.menu.disk.offerings=Festplatten-Angebote
label.menu.domains=Domains
label.menu.events=Events
label.menu.featured.isos=Besondere ISOs
label.menu.global.settings=Allgemeine Einstellungen
label.menu.instances=Instanzen
label.menu.ipaddresses=IP-Adressen
label.menu.isos=ISOs
label.menu.my.accounts=Meine Konten
label.menu.my.instances=Meine F\u00e4lle
label.menu.my.isos=Meine ISOs
label.menu.my.templates=Meine Vorlagen
label.menu.network=Netzwerk
label.menu.network.offerings=Netzwerk-Angebote
label.menu.physical.resources=Technische Ressourcen
label.menu.running.instances=Laufende Instanzen
label.menu.security.groups=Sicherheitsgruppen
label.menu.service.offerings=Service-Angebote
label.menu.snapshots=Schnappsch\u00fcsse
label.menu.stopped.instances=Beendete Instanzen
label.menu.storage=Speicherung
label.menu.system=System
label.menu.system.vms=System VMs
label.menu.templates=Vorlagen
label.menu.virtual.resources=Virtuelle Ressourcen
label.menu.volumes=Volumes
label.migrate.instance.to.host=Instanz auf einen anderen Host migrieren
label.migrate.instance.to.ps=Instanz auf einen anderen Speicher migrieren
label.minimum=Minimum
label.monday=Montag
label.monthly=Monatlich
label.more.templates=Mehr Vorlagen
label.my.account=Ihr Benutzerkonto
label.name=Name
label.name.optional=Name (Optional)
label.netmask=Netzmaske
label.network.device=Netzwerkger\u00e4t
label.network.device.type=Netzwerkger\u00e4tetyp
label.network.domain=Netzwerk-Domain
label.network.id=Netzwerk-ID
label.network.name=Netzwerk Name
label.network=Netzwerk
label.network.offering=Netzwerk-Angebot
label.network.rate=Netzwerk-Rate
label.network.type=Netzwerk-Typ
label.new.password=Neues Passwort
label.next=Weiter
label.nfs=NFS
label.nfs.server=NFS Server
label.nfs.storage=NFS-Speicher
label.nics=NICs
label.no.actions=Nicht verf\u00fcgbare Aktionen
label.no.alerts=Keine neuen Warnungen
label.no.errors=Keine neuen Fehler
label.no.isos=Kein verf\u00fcgbaren ISOs
label.no.items=Keine verf\u00fcgbaren Eintr\u00e4ge
label.no=Nein
label.none=Kein
label.no.security.groups=Keine verf\u00fcgbare Sicherheitsgruppe
label.not.found=Nicht gefunden
label.numretries=Anzahl von Wiederholungen
label.ocfs2=OCFS2
label.offer.ha=HA anbieten
label.optional=optional
label.os.preference=OS Pr\u00e4ferenz
label.os.type=OS Typ
label.password.enabled=Passwort aktiviert
label.password=Passwort
label.PING.CIFS.password=PING CIFS Passwort
label.PING.CIFS.username=PING CIFS Benutzername
label.PING.dir=PING-Verzeichnis
label.PING.storage.IP=IP des externen Speichers anpingen
label.please.wait=Bitte warten
label.pod=Pod
label.PreSetup=Voreinstellung
label.primary.allocated=Zugewiesener Hauptspeicher
label.primary.network=Hauptnetzwerk
label.primary.storage=Hauptspeicher
label.primary.used=Genutzter Hauptspeicher
label.private.interface=Privates Interface
label.private.ip=Private IP-Adresse
label.private.ips=Private IP-Adressen
label.private.port=Privater Port
label.private.zone=Private Zone
label.protocol=Protokoll
label.public.interface=\u00d6ffentliches Interface
label.public.ips=\u00d6ffentliche IP-Adressen
label.public.ip=\u00d6ffentliche IP-Adresse
label.public.port=\u00d6ffentlicher Port
label.public=\u00d6ffentlich
label.public.zone=\u00d6ffentliche Zone
label.Pxe.server.type=PXE Server Type
label.reboot=Neustart
label.recent.errors=Aktuelle Fehler
label.redundant.router=Redundanter Router
label.refresh=Aktualisieren
label.related=Verwandt
label.removing.user=Entfernen von Benutzern
label.required=Erforderlich
label.resource=Ressource
label.resources=Ressourcen
label.role=Rolle
label.running.vms=Laufende VMs
label.s3.secret_key=Secret Key
label.saturday=Samstag
label.save=Sichern
label.saving.processing=Sichern ....
label.search=Suche
label.secondary.storage=Sekund\u00e4rspeicher
label.secondary.used=Genutzter Sekund\u00e4rspeicher
label.secret.key=Secret Key
label.security.group.name=Sicherheitsgruppen-Name
label.security.groups.enabled=Sicherheitsgruppe aktiviert
label.security.group=Sicherheitsgruppe
label.security.groups=Sicherheitsgruppen
label.sent=Versendet
label.server=Server
label.service.offering=Service-Angebot
label.session.expired=Sitzung abgelaufen
label.shared=Gemeinsame
label.SharedMountPoint=Geteilter Einh\u00e4ngepunkt
label.show.ingress.rule=Zeige Regeln, die den Zutritt steuern
label.size=Gr\u00f6\u00dfe
label.snapshot.limits=Schnappschuss Grenzen
label.snapshot.name=Schnappschuss Name
label.snapshot=Schnappschuss
label.snapshots=Schnappsch\u00fcsse
label.snapshot.s=Schnappschuss (Schnappsch\u00fcsse)
label.static.nat=Statische NAT
label.statistics=Statistiken
label.status=Status
label.step.1=Schritt 1
label.step.2=Schritt 2
label.step.3=Schritt 3
label.step.4=Schritt 4
label.step.5=Schritt 5
label.sticky.domain=Domain
label.stopped.vms=Gestoppte VMs
label.stop=Stopp
label.storage=Speicherung
label.storage.tags=Datenspeicher-Markierung
label.storage.type=Speichertyp
label.submit=\u00dcberreichen
label.succeeded=Erfolgreich
label.sunday=Sonntag
label.system.service.offering=System-Service-Angebot
label.system.vms=System VMs
label.system.vm=System-VM
label.system.vm.type=System VM Typ
label.tagged=Markiert
label.tags=Markierungen
label.target.iqn=Ziel IQN
label.template.limits=Vorlagen Grenzen
label.template=Vorlage
label.TFTP.dir=TFTP-Verzeichnis
label.theme.default=Motiv-Standardeinstellung
label.theme.grey=personalisiertes - grau
label.theme.lightblue=personalisiertes - hellblau
label.thursday=Donnerstag
label.time=Zeit
label.time.zone=Zeitzone
label.timezone=Zeitzone
label.total.cpu=Gesamtanzahl CPU
label.total.CPU=Gesamtanzahl CPU
label.total.vms=Insgesamte VMs
label.traffic.type=Traffic Typ
label.tuesday=Dienstag
label.type.id=Typ ID
label.type=Typ
label.unavailable=nichtverf\u00fcgbar
label.unlimited=uneingeschr\u00e4nkt
label.untagged=Unmarkiert
label.updating=Aktualisierung
label.url=URL
label.used=Gebraucht
label.user=Benutzer
label.username=Benutzername
label.users=Benutzer
label.value=Wert
label.vcenter.cluster=vCenter Cluster
label.vcenter.datacenter=vCenter Rechenzentrum
label.vcenter.datastore=vCenter Datenspeicher
label.vcenter.host=vCenter Host
label.vcenter.password=vCenter Passwort
label.vcenter.username=vCenter Benutzername
label.version=Version
label.virtual.network=Virtuelles Netzwerk
label.vlan.id=VLAN ID
label.vlan.range=VLAN Reichweite
label.vlan=VLAN
label.vm.add=Instanz hinzuf\u00fcgen
label.vm.destroy=Zerst\u00f6ren
label.VMFS.datastore=VMFS Datenspeicher
label.vmfs=VMFS
label.vm.reboot=Neustart
label.vmsnapshot.type=Typ
label.vm.start=Start
label.vm.stop=Stopp
label.vms=VMs
label.volume.limits=Volume Grenzen
label.volume.name=Volume Name
label.volumes=Volumes
label.volume=Volume
label.vpn=VPN
label.waiting=Warten
label.warn=Warnen
label.wednesday=Mittwoch
label.weekly=W\u00f6chentlich
label.welcome=Willkommen
label.yes=Ja
label.zone.id=Zone ID
label.zone=Zone
message.acquire.public.ip=Bitte w\u00e4hlen Sie eine Zone, von der Sie Ihre neue IP erlangen m\u00f6chten.
message.action.cancel.maintenance=Ihr Host ist erfolgreich f\u00fcr die Wartung abgebrochen. Dieser Prozess kann ein paar Minuten dauern.
message.action.cancel.maintenance.mode=Bitte best\u00e4tigen Sie, dass Sie die Wartung abbrechen m\u00f6chten.
message.action.change.service.warning.for.instance=Ihre Instanz muss zuerst unterbrochen werden, bevor Sie Ihr derzeitiges Service-Angebot \u00e4ndern m\u00f6chten.
message.action.change.service.warning.for.router=Ihre Instanz muss zuerst unterbrochen werden, bevor Sie Ihr derzeitiges Service-Angebot \u00e4ndern m\u00f6chten.
message.action.delete.cluster=Bitte best\u00e4tigen Sie, dass Sie dieses Cluster l\u00f6schen m\u00f6chten.
message.action.delete.disk.offering=Bitte best\u00e4tigen Sie, dass Sie dieses Festplatten-Angebot l\u00f6schen m\u00f6chten.
message.action.delete.domain=Bitte best\u00e4tigen Sie, dass Sie diese Domain l\u00f6schen m\u00f6chten.
message.action.delete.ingress.rule=Bitte best\u00e4tigen Sie, dass Sie diese Zutrittsregel l\u00f6schen wollen.
message.action.delete.ISO=Bitte best\u00e4tigen Sie, dass Sie diese ISO l\u00f6schen m\u00f6chten.
message.action.delete.ISO.for.all.zones=Die ISO gilt f\u00fcr alle Zonen. Bitte best\u00e4tigen Sie, dass Sie diese aus allen Zonen l\u00f6schen m\u00f6chten.
message.action.delete.network=Bitte best\u00e4tigen Sie, dass Sie dieses Netzwerk l\u00f6schen m\u00f6chten.
message.action.delete.pod=Bitte best\u00e4tigen Sie, dass Sie dieses pod l\u00f6schen m\u00f6chten.
message.action.delete.primary.storage=Bitte best\u00e4tigen Sie, dass Sie diese Hauptspeicher l\u00f6schen m\u00f6chten.
message.action.delete.secondary.storage=Bitte best\u00e4tigen Sie, dass Sie diesen Sekund\u00e4rspeicher l\u00f6schen m\u00f6chten.
message.action.delete.security.group=Bitte best\u00e4tigen Sie, dass Sie diese Sicherheitsgruppe l\u00f6schen m\u00f6chten.
message.action.delete.service.offering=Bitte best\u00e4tigen Sie, dass Sie diesen Service-Angebot l\u00f6schen m\u00f6chten.
message.action.delete.snapshot=Bitte best\u00e4tigen Sie, dass Sie diesen Schnappschuss l\u00f6schen m\u00f6chten.
message.action.delete.template=Bitte best\u00e4tigen Sie, dass Sie diese Vorlage l\u00f6schen m\u00f6chten.
message.action.delete.template.for.all.zones=Die Vorlage wird f\u00fcr alle Zonen genutzt. Bitte best\u00e4tigen Sie, dass Sie diese f\u00fcr alle Zonen l\u00f6schen m\u00f6chten.
message.action.delete.volume=Bitte best\u00e4tigen Sie, dass Sie dieses Volume l\u00f6schen m\u00f6chten.
message.action.delete.zone=Bitte best\u00e4tigen Sie, dass Sie diese Zone l\u00f6schen m\u00f6chten.
message.action.destroy.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz l\u00f6schen m\u00f6chten.
message.action.destroy.systemvm=Bitte best\u00e4tigen Sie, dass Sie die System VM zerst\u00f6ren m\u00f6chten.
message.action.disable.cluster=Bitte best\u00e4tigen Sie, dass Sie diesen Cluster deaktivieren m\u00f6chten.
message.action.disable.pod=Bitte best\u00e4tigen Sie, dass Sie diesen Pod deaktivieren m\u00f6chten.
message.action.disable.static.NAT=Bitte best\u00e4tigen Sie, dass Sie die statische NAT deaktivieren m\u00f6chten.
message.action.disable.zone=Bitte best\u00e4tigen Sie, dass Sie diese Zone deaktivieren m\u00f6chten.
message.action.enable.cluster=Bitte best\u00e4tigen Sie, dass Sie diesen Cluster aktivieren m\u00f6chten.
message.action.enable.pod=Bitte best\u00e4tigen Sie, dass Sie diesen Pod aktivieren m\u00f6chten.
message.action.enable.zone=Bitte best\u00e4tigen Sie, dass Sie diese Zone aktivieren m\u00f6chten.
message.action.instance.reset.password=Bitte best\u00e4tigen Sie, dass Sie das ROOT Passwort f\u00fcr diese virtuelle Maschine \u00e4ndern m\u00f6chten.
message.action.manage.cluster=Bitte best\u00e4tigen Sie, dass das Cluster bearbeitet werden soll.
message.action.reboot.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz neustarten m\u00f6chten.
message.action.reboot.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System VM neustarten m\u00f6chten.
message.action.reset.password.off=Ihre Instanz untersch\u00fctzt derzeitig nicht dieses Feature.
message.action.reset.password.warning=Ihre Instanz muss zuerst unterbrochen werden, bevor Sie Ihr derzeitiges Passwort \u00e4ndern k\u00f6nnen.
message.action.restore.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz wiederherstellen m\u00f6chten.
message.action.start.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz starten m\u00f6chten.
message.action.start.router=Bitte best\u00e4tigen Sie, dass Sie diesen Router starten m\u00f6chten.
message.action.start.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System VM starten m\u00f6chten.
message.action.stop.instance=Bitte best\u00e4tigen Sie, dass Sie diese Instanz anhalten m\u00f6chten.
message.action.stop.systemvm=Bitte best\u00e4tigen Sie, dass Sie diese System VM anhalten m\u00f6chten.
message.action.unmanage.cluster=Bitte best\u00e4tigen Sie, dass Sie das Cluster vernachl\u00e4ssigen m\u00f6chten.
message.add.firewall=Eine Firewall zur Zone hinzuf\u00fcgen
message.add.host=Bitte spezifizieren Sie die folgenden Parameter, um einen neuen Host hinzuzuf\u00fcgen.
message.additional.networks.desc=Bitte w\u00e4hlen Sie ein oder mehrere Netzwerke aus, an die Ihre virtuelle Instanz verbunden wird.
message.add.load.balancer=Einen Lastverteiler zur Zone hinzuf\u00fcgen
message.add.primary=Bitte spezifizieren Sie die folgenden Parameter, um einen neuen Hauptspeicher hinzuzuf\u00fcgen
message.add.template=Bitte geben Sie die folgende Daten ein, um Ihre neue Vorlage zu erstellen
message.add.volume=Bitte geben Sie die folgende Daten ein, um ein neues Volume hinzuzuf\u00fcgen.
message.allow.vpn.access=Bitte geben Sie einen Benutzernamen und ein Kennwort f\u00fcr den Benutzer ein, f\u00fcr den Sie VPN-Zugang m\u00f6chten.
message.apply.snapshot.policy=Sie haben Ihre derzeitige Schnappschuss Richtlinie erfolgreich aktualisiert.
message.attach.iso.confirm=Bitte best\u00e4tigen Sie, dass sie die ISO zu Ihrer virtuellen Instanz hinzuf\u00fcgen m\u00f6chten.
message.change.offering.confirm=Bitte best\u00e4tigen Sie, dass Sie das Service-Angebot dieser virtuellen Instanz \u00e4ndern m\u00f6chten.
message.copy.iso.confirm=Bitte best\u00e4tigen Sie, dass Sie Ihre ISO kopieren m\u00f6chten und zwar nach
message.delete.account=Bitte best\u00e4tigen Sie, dass Sie dieses Benutzerkonto l\u00f6schen m\u00f6chten.
message.detach.iso.confirm=Bitte best\u00e4tigen Sie, dass Sie die ISO von der virtuellen Instanz trennen m\u00f6chten.
message.disable.account=Bitte best\u00e4tigen Sie, dass Sie Ihr Benutzerkonto deaktivieren m\u00f6chten. Kein Nutzer dieses Kontos wird mehr Zugriff auf die Cloud Ressourcen haben. Alle laufenden virtuellen Maschinen werden sofort abgestellt.
message.disable.snapshot.policy=Sie haben Ihre derzeitige Schnappschuss Richtlinie erfolgreich deaktiviert.
message.disable.vpn.access=Bitte best\u00e4tigen Sie, dass Sie den VPN Zugriff deaktivieren m\u00f6chten.
message.enable.account=Bitte best\u00e4tigen Sie, dass Sie dieses Konto aktivieren m\u00f6chten.
message.enabled.vpn=Ihr VPN Zugriff ist zurzeit aktiv und via IP k\u00f6nnen Sie darauf zugreifen
message.enable.vpn.access=VPN ist zurzeit nicht f\u00fcr diese IP Addresse aktiviert. M\u00f6chten Sie den VPN Zugriff aktivieren?
message.installWizard.click.retry=Bitte den Start Button f\u00fcr einen neuen Versuch dr\u00fccken
message.installWizard.tooltip.addCluster.name=Der Name des Clusters. Der Name kann frei gew\u00e4hlt werden und wird von Cloudstack nicht genutzt.
message.installWizard.tooltip.addHost.hostname=Der DNS-Name oder die IP-Adresse des hosts
message.installWizard.tooltip.addHost.password=Dies ist das Passwort des o.a. Users (von der XenServer Installation)
message.installWizard.tooltip.addHost.username=\u00fcberlicherweise root
message.installWizard.tooltip.addPod.name=Der Name f\u00fcr den pod
message.installWizard.tooltip.addPod.reservedSystemGateway=Das Gateways f\u00fcr die Hosts des pod
message.installWizard.tooltip.addPod.reservedSystemNetmask=Die Subnetzmaske des Gast-Netzwerks
message.installWizard.tooltip.addPrimaryStorage.name=Der Name der Storage Devices
message.installWizard.tooltip.addPrimaryStorage.path=(f\u00fcr NFS) Bei NFS wird hier der exportierte Pfad (Shared Mount Point) angegeben. F\u00fcr KVM wird hier der Pfad angegeben, wo auf jedem Host das primary storage gemountet wurde. Z.B. "/mnt/primary"
message.installWizard.tooltip.addPrimaryStorage.server=(f\u00fcr NFS, iSCSI oder PreSetup) Die IP-Adresse oder der DNS-Name des storage devices.
message.installWizard.tooltip.addSecondaryStorage.nfsServer=Die IP-Adresse des NFS-Servers, der den Secondary Storage bereitstellt.
message.installWizard.tooltip.addSecondaryStorage.path=Der exportierte Pfad, der auf dem o.a. Server liegt.
message.installWizard.tooltip.addZone.name=Der Name f\u00fcr die zone
message.installWizard.tooltip.configureGuestTraffic.description=Eine Beschreibung des Netzwerkes.
message.installWizard.tooltip.configureGuestTraffic.guestGateway=Das gateway, welches der Gast benutzen soll.
message.installWizard.tooltip.configureGuestTraffic.guestNetmask=Die Subnetzmaske des Gast-Netzwerks
message.installWizard.tooltip.configureGuestTraffic.name=Der Name f\u00fcr das Netzwerk
message.migrate.instance.to.host=Bitte best\u00e4tigen sie, dass die Instanz auf einen anderen Host migriert werden soll
message.migrate.instance.to.ps=Bitte best\u00e4tigen sie, dass sie die Instanz auf einen anderen prim\u00e4ren Speicher migrieren wollen.
message.new.user=Spezifieren Sie das folgende um einen neuen Nutzer dem Benutzerkonto hinzuzuf\u00fcgen
message.remove.vpn.access=Bitte best\u00e4tigen Sie, dass Sie den VPN-Zugriff vom folgenden Benutzer entfernen m\u00f6chten.
message.setup.successful=Cloud setup erfolgreich
message.step.1.continue=Bitte w\u00e4hlen Sie eine Vorlage oder ISO, um fortzufahren
message.step.2.continue=Bitte w\u00e4hlen Sie ein Service-Angebot, um fortzufahren
message.step.2.desc=
message.step.3.continue=Bitte w\u00e4hlen Sie ein Festplatten-Angebot, um fortzufahren
message.step.3.desc=
message.step.4.continue=Bitte w\u00e4hlen Sie mindestens ein Netzwerk, um fortzufahren
message.step.4.desc=Bitte w\u00e4hlen Sie Ihr Hauptnetzwerk zu dem Ihre virtuelle Instanz verbunden sein wird.
message.vm.create.template.confirm=Das Erstellen einer Vorlage f\u00fchrt automatisch zu einem Neustart der VM.
message.zone.step.1.desc=Bitte w\u00e4hlen Sie ein Netzwerk-Modell f\u00fcr Ihre Zone.
message.zone.step.2.desc=Bitte geben Sie die folgende Information ein, um eine neue Zone hinzuzuf\u00fcgen
message.zone.step.3.desc=Bitte geben Sie die folgende Information ein, um einen neuen pod hinzuzuf\u00fcgen
network.rate=Netzwerk-Rate
state.Allocated=Zugeteilt
state.Disabled=Deaktiviert
state.Error=Fehler

View File

@ -0,0 +1,862 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
error.installWizard.message=Algo salio mal, debes ir para atr\u00e1s y corregir los error.
error.login=Su nombre de usuario / contrase\u00c3\u00b1a no coincide con nuestros registros.
error.mgmt.server.inaccessible=El Servidor de Gesti\u00c3\u00b3n es inaccesible. Por favor, int\u00c3\u00a9ntelo de nuevo m\u00c3\u00a1s tarde.
error.session.expired=Su sesi\u00c3\u00b3n ha caducado.
error.unresolved.internet.name=El nombre de Internet no se puede resolver.
extractable=extra\u00c3\u00adble
force.delete.domain.warning=Advertencia\: Si elige esta opci\u00c3\u00b3n, la supresi\u00c3\u00b3n de todos los dominios secundarios y todas las cuentas asociadas y sus recursos.
force.delete=Fuerza Borrar
force.remove=Fuerza Retire
force.remove.host.warning=Advertencia\: Si elige esta opci\u00c3\u00b3n, CloudStack para detener la fuerza todas las m\u00c3\u00a1quinas virtuales en ejecuci\u00c3\u00b3n antes de retirar este host del cl\u00c3\u00baster.
force.stop=Grupo de Alto
force.stop.instance.warning=Advertencia\: Obligar a una parada en este caso deber\u00c3\u00ada ser su \u00c3\u00baltima opci\u00c3\u00b3n. Puede conducir a la p\u00c3\u00a9rdida de datos, as\u00c3\u00ad como un comportamiento incoherente del Estado de la m\u00c3\u00a1quina virtual.
ICMP.code=ICMP C\u00c3\u00b3digo
ICMP.type=Tipo ICMP
image.directory=Directorio de la imagen
inline=en l\u00c3\u00adnea
label.account=Cuenta
label.account.id=ID de la cuenta
label.account.name=Nombre de la cuenta
label.accounts=Cuentas
label.account.specific=espec\u00c3\u00adficas de la cuenta
label.acquire.new.ip=adquirir nuevas IP
label.action.attach.disk=Conecte el disco
label.action.attach.disk.processing=disco Fijaci\u00c3\u00b3n ....
label.action.attach.iso=Adjuntar ISO
label.action.attach.iso.processing=Colocaci\u00c3\u00b3n de la norma ISO ....
label.action.cancel.maintenance.mode=Cancelar modo de mantenimiento
label.action.cancel.maintenance.mode.processing=Cancelaci\u00c3\u00b3n del modo de mantenimiento ....
label.action.change.password=Cambiar contrase\u00c3\u00b1a
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.from.vm=Crear plantilla de VM
label.action.create.template.from.volume=Crear plantilla de volumen
label.action.create.template.processing=Creaci\u00c3\u00b3n de plantillas ....
label.action.create.vm=Crear VM
label.action.create.vm.processing=Creaci\u00c3\u00b3n de m\u00c3\u00a1quina virtual ....
label.action.create.volume=Crear volumen
label.action.create.volume.processing=Crear volumen ....
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.delete.domain=Eliminar de dominio
label.action.delete.domain.processing=Eliminaci\u00c3\u00b3n de dominio ....
label.action.delete.firewall=Eliminar servidor de seguridad
label.action.delete.firewall.processing=Eliminaci\u00c3\u00b3n de firewall ....
label.action.delete.ingress.rule=Borrar ingreso Regla
label.action.delete.ingress.rule.processing=Eliminaci\u00c3\u00b3n de ingreso regla ....
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\u00c3\u00b3n de la norma ISO ....
label.action.delete.load.balancer=Eliminar equilibrador de carga
label.action.delete.load.balancer.processing=Eliminaci\u00c3\u00b3n del equilibrador de carga ....
label.action.delete.network=Eliminar Red
label.action.delete.network.processing=Eliminaci\u00c3\u00b3n 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\u00c3\u00b3n de almacenamiento primaria ....
label.action.delete.secondary.storage.processing=Eliminaci\u00c3\u00b3n de almacenamiento secundario ....
label.action.delete.secondary.storage=secundaria almacenamiento Eliminar
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\u00c3\u00b3n de Oferta de Servicio ....
label.action.delete.snapshot=Eliminar instant\u00c3\u00a1nea
label.action.delete.snapshot.processing=Eliminar instant\u00c3\u00a1nea ....
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\u00c3\u00b3n de la Zona ....
label.action.destroy.instance=Destruye Instancia
label.action.destroy.instance.processing=Destrucci\u00c3\u00b3n Instancia ....
label.action.destroy.systemvm=destruir el sistema VM
label.action.destroy.systemvm.processing=Destrucci\u00c3\u00b3n del sistema VM ....
label.action.detach.disk.processing=Extracci\u00c3\u00b3n disco ....
label.action.detach.disk=Separar disco
label.action.detach.iso.processing=Extracci\u00c3\u00b3n ISO ....
label.action.detach.iso=Separar ISO
label.action.disable.account=Desactivar cuenta
label.action.disable.account.processing=Deshabilitar cuenta ....
label.action.disable.cluster=Deshabilitar cl\u00c3\u00baster
label.action.disable.cluster.processing=Desactivaci\u00c3\u00b3n de Cluster Server ....
label.action.disable.pod=Deshabilitar Pod
label.action.disable.pod.processing=Deshabilitar Pod ....
label.action.disable.static.NAT=Deshabilitar NAT est\u00c3\u00a1tica
label.action.disable.static.NAT.processing=Deshabilitar NAT est\u00c3\u00a1tica ....
label.action.disable.user=Deshabilitar usuario
label.action.disable.user.processing=Desactivaci\u00c3\u00b3n de usuario ....
label.action.disable.zone=Deshabilitar la zona
label.action.disable.zone.processing=Desactivaci\u00c3\u00b3n de la zona ....
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.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.host=edici\u00c3\u00b3n Anfitri\u00c3\u00b3n
label.action.edit.instance=Editar Instancia
label.action.edit.ISO=Editar ISO
label.action.edit.network=Edici\u00c3\u00b3n de redes
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\u00c3\u00admites 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\u00c3\u00b3n Zona
label.action.enable.account=Habilitar cuenta
label.action.enable.account.processing=cuenta de Habilitaci\u00c3\u00b3n ....
label.action.enable.cluster=Habilitar cl\u00c3\u00baster
label.action.enable.cluster.processing=Habilitar cl\u00c3\u00baster ....
label.action.enable.maintenance.mode=Activar el modo de mantenimiento
label.action.enable.maintenance.mode.processing=Habilitaci\u00c3\u00b3n del modo de mantenimiento ....
label.action.enable.pod=Habilitar Pod
label.action.enable.pod.processing=Habilitaci\u00c3\u00b3n Pod ....
label.action.enable.static.NAT=Habilitar NAT est\u00c3\u00a1tica
label.action.enable.static.NAT.processing=Habilitar NAT est\u00c3\u00a1tica ....
label.action.enable.user.processing=Habilitaci\u00c3\u00b3n del usuario ....
label.action.enable.user=usuario Activar
label.action.enable.zone=Habilitar la zona
label.action.enable.zone.processing=Habilitaci\u00c3\u00b3n de zona ....
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.manage.cluster=gestionar racimo
label.action.manage.cluster.processing=La gesti\u00c3\u00b3n de cl\u00c3\u00basteres ....
label.action.migrate.instance=Migrar Instancia
label.action.migrate.instance.processing=Migrar Instancia ....
label.action.migrate.router=migrar Router
label.action.migrate.router.processing=Migraci\u00c3\u00b3n router ....
label.action.migrate.systemvm=Migrar del sistema VM
label.action.migrate.systemvm.processing=La migraci\u00c3\u00b3n de VM del sistema ....
label.action.reboot.instance.processing=Reiniciar Instancia ....
label.action.reboot.instance=Reiniciar Instancia
label.action.reboot.router.processing=Reiniciar router ....
label.action.reboot.router=Reiniciar router
label.action.reboot.systemvm.processing=reinicio del sistema VM ....
label.action.reboot.systemvm=Reiniciar sistema VM
label.action.recurring.snapshot=recurrente instant\u00c3\u00a1neas
label.action.release.ip=estreno IP
label.action.release.ip.processing=Liberar IP ....
label.action.remove.host.processing=Extracci\u00c3\u00b3n de host ....
label.action.remove.host=Quitar host
label.action.reset.password.processing=Restablecimiento de la contrase\u00c3\u00b1a ....
label.action.reset.password=Restablecer contrase\u00c3\u00b1a
label.action.resource.limits=Recursos l\u00c3\u00admites
label.action.restore.instance.processing=Restaurar Instancia ....
label.action.restore.instance=Restaurar Instancia
label.actions=Acciones
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.processing=Tomar instant\u00c3\u00a1neas ....
label.action.take.snapshot=Tomar instant\u00c3\u00a1nea
label.action.unmanage.cluster.processing=Unmanaging Grupo ....
label.action.unmanage.cluster=Unmanage racimo
label.action.update.OS.preference=Actualizar OS Preferencia
label.action.update.OS.preference.processing=Actualizaci\u00c3\u00b3n de sistema operativo preferencia ....
label.action.update.resource.count=Actualizaci\u00c3\u00b3n de recursos Conde
label.action.update.resource.count.processing=Actualizaci\u00c3\u00b3n de Conde de recursos ....
label.active.sessions=Sesiones activas
label.add.account=A\u00c3\u00b1adir cuenta
label.add=Agregar
label.add.by.cidr=A\u00c3\u00b1adir Por CIDR
label.add.by.group=A\u00c3\u00b1adir Por el Grupo de
label.add.cluster=A\u00c3\u00b1adir Grupo
label.add.direct.iprange=A\u00c3\u00b1adir Direct IP Gama
label.add.disk.offering=A\u00c3\u00b1adir disco Ofrenda
label.add.domain=Agregar dominio
label.add.firewall=Agregar Servidor de seguridad
label.add.host=Agregar host
label.adding=Agregar
label.adding.cluster=Adici\u00c3\u00b3n de cl\u00c3\u00baster
label.adding.failed=No se pudo agregar
label.adding.pod=Agregar Pod
label.adding.processing=A\u00c3\u00b1adir ....
label.add.ingress.rule=A\u00c3\u00b1adir regla del ingreso
label.adding.succeeded=Agregar Sucesor
label.adding.user=Agregar usuario
label.adding.zone=Agregar la zona
label.add.ip.range=A\u00c3\u00b1adir Rango de IP
label.additional.networks=Redes adicional
label.add.load.balancer=A\u00c3\u00b1adir equilibrador de carga
label.add.more=A\u00c3\u00b1adir m\u00c3\u00a1s
label.add.network=Agregar sitios de red
label.add.network.device=A\u00c3\u00b1adir dispositivo de red
label.add.pod=A\u00c3\u00b1adir Pod
label.add.primary.storage=A\u00c3\u00b1adir Almacenamiento primario
label.add.secondary.storage=A\u00c3\u00b1adir secundaria almacenamiento
label.add.security.group=Agregar grupo de seguridad
label.add.service.offering=A\u00c3\u00b1adir Servicio de Oferta
label.add.template=A\u00c3\u00b1adir plantilla
label.add.to.group=Agregar al grupo
label.add.user=Agregar usuario
label.add.vlan=A\u00c3\u00b1adir VLAN
label.add.volume=A\u00c3\u00b1adir volumen
label.add.zone=A\u00c3\u00b1adir Zona
label.admin.accounts=Administrador de Cuentas
label.admin=Admin
label.advanced=Avanzado
label.advanced.mode=Modo avanzado
label.advanced.search=B\u00c3\u00basqueda 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\u00c3\u00b3n 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\u00c3\u00bablicas
label.back=Volver
label.basic.mode=Modo b\u00c3\u00a1sico
label.bootable=arranque
label.broadcast.domain.type=Tipo de dominio de difusi\u00c3\u00b3n
label.by.account=Por Cuenta
label.by.availability=Por Disponibilidad
label.by.domain=Por dominio
label.by.end.date=Por Fecha de finalizaci\u00c3\u00b3n
label.by.level=por Nivel
label.by.pod=Por Pod
label.by.role=por funci\u00c3\u00b3n
label.by.start.date=Por Fecha de inicio
label.by.state=Por Estado
label.bytes.received=Bytes recibidos
label.bytes.sent=Bytes enviados
label.by.traffic.type=Por tipo de tr\u00c3\u00a1fico
label.by.type.id=Por tipo de identificaci\u00c3\u00b3n
label.by.type=Por tipo
label.by.zone=Por Zona
label.cancel=Cancelar
label.certificate=Certificado
label.character=Personaje
label.cidr.account=CIDR o de cuenta / Grupo de Seguridad
label.cidr=CIDR
label.cidr.list=fuente CIDR
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.clvm=CLVM
label.code=C\u00c3\u00b3digo
label.configuration=Configuraci\u00c3\u00b3n
label.confirmation=Confirmation
label.congratulations=Felicitaciones \!
label.cpu.allocated=CPU asignado
label.cpu.allocated.for.VMs=CPU asignado para m\u00c3\u00a1quinas virtuales
label.CPU.cap=CPU Cap
label.cpu=CPU
label.cpu.utilized=CPU Utilizado
label.created=creaci\u00c3\u00b3n
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\u00c3\u00ada del mes
label.day.of.week=d\u00c3\u00ada de la semana
label.default.use=Usar por defecto
label.delete=Eliminar
label.deleting.failed=No se pudo eliminar
label.deleting.processing=Eliminar ....
label.description=Descripci\u00c3\u00b3n
label.destroy=Destroy
label.detaching.disk=Extracci\u00c3\u00b3n del disco
label.details=Detalles
label.device.id=ID de dispositivo
label.DHCP.server.type=Tipo de servidor DHCP
label.disabled=personas de movilidad reducida
label.disabling.vpn.access=Desactivaci\u00c3\u00b3n de VPN de acceso
label.disk.allocated=disco asignado
label.disk.offering=disco Ofrenda
label.disk.size.gb=tama\u00c3\u00b1o de disco (en GB)
label.disk.size=tama\u00c3\u00b1o de disco
label.disk.total=disco Total
label.disk.volume=volumen de disco
label.display.text=visualizaci\u00c3\u00b3n de texto
label.dns.1=DNS 1
label.dns.2=DNS 2
label.domain.admin=Administrador de dominio
label.domain=dominio
label.domain.id=ID de dominio
label.domain.name=Nombre de dominio
label.domain.suffix=DNS sufijo de dominio (es decir, xyz.com)
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\u00c3\u00b3nico
label.enabling.vpn.access=Habilitaci\u00c3\u00b3n de Acceso VPN
label.enabling.vpn=Habilitaci\u00c3\u00b3n VPN
label.endpoint.or.operation=punto final o de Operaci\u00c3\u00b3n
label.end.port=Puerto final
label.error.code=C\u00c3\u00b3digo de error
label.error=Error
label.esx.host=ESX / ESXi anfitri\u00c3\u00b3n
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.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\u00c3\u00b3n CIDR
label.guest.gateway=Habitaci\u00c3\u00b3n Gateway
label.guest.ip=Habitaci\u00c3\u00b3n direcci\u00c3\u00b3n IP
label.guest.ip.range=Habitaci\u00c3\u00b3n Rango de IP
label.guest.netmask=Habitaci\u00c3\u00b3n m\u00c3\u00a1scara de red
label.ha.enabled=HA Activado
label.help=Ayuda
label.hide.ingress.rule=Ocultar el art\u00c3\u00adculo ingreso
label.host.alerts=Host Alertas
label.host=Ej\u00c3\u00a9rcitos
label.host.name=nombre de host
label.hosts=Ej\u00c3\u00a9rcitos
label.hourly=por hora
label.hypervisor=Hypervisor
label.hypervisor.type=Tipo Hypervisor
label.id=ID
label.info=Informaci\u00c3\u00b3n
label.ingress.rule=ingreso Regla
label.initiated.by=Iniciado por
label.installWizard.click.launch=Click en el bot\u00f3n de lanzar.
label.instance=Instancia
label.instance.limits=Instancia L\u00c3\u00admites
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\u00c3\u00a1lido
label.invalid.number=N\u00c3\u00bamero no v\u00c3\u00a1lido
label.invite=Invitar
label.invite.to=Invitar a .
label.ip.address=Direcci\u00c3\u00b3n IP
label.ipaddress=Direcci\u00c3\u00b3n IP
label.ip.allocations=IP asignaciones
label.ip=IP
label.ip.limits=IP p\u00c3\u00bablica L\u00c3\u00admites
label.ip.or.fqdn=IP o FQDN
label.ip.range=Rango de IP
label.ips=IP
label.iscsi=iSCSI
label.is.default=Es por defecto
label.iso.boot=ISO de arranque
label.iso=ISO
label.isolation.mode=modo de aislamiento
label.is.redundant.router=redundante
label.is.shared=es compartido
label.is.system=es el Sistema
label.keep=Mantener
label.lang.chinese=Chino (simplificado)
label.lang.english=Ingl\u00c3\u00a9s
label.lang.japanese=japon\u00c3\u00a9s
label.lang.spanish=Espa\u00c3\u00b1ol
label.last.disconnected=\u00c3\u009altima Desconectado
label.last.name=Apellido
label.launch=Lanzar
label.launch.vm=Lanzar maquina virtual
label.level=Nivel
label.load.balancer=equilibrador de carga
label.loading=Carga
label.local=local
label.login=Login
label.logout=Cerrar sesi\u00c3\u00b3n
label.lun=LUN
label.manage=Administrar
label.maximum=m\u00c3\u00a1ximo
label.max.volumes=Maxima cantidad de Volumes
label.memory.allocated=memoria asignada
label.memory=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\u00c3\u00b3n
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\u00c3\u00b3n 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.offerings=Red de ofertas
label.menu.network=Red
label.menu.physical.resources=Recursos F\u00c3\u00adsicos
label.menu.running.instances=Ejecuci\u00c3\u00b3n de instancias
label.menu.security.groups=Grupos de seguridad
label.menu.service.offerings=Ofertas de Servicios
label.menu.snapshots=instant\u00c3\u00a1neas
label.menu.stopped.instances=Detenido instancias
label.menu.storage=Almacenamiento
label.menu.system=Sistema
label.menu.system.vms=Sistema de m\u00c3\u00a1quinas virtuales
label.menu.templates=plantillas
label.menu.virtual.appliances=Virtual Appliances
label.menu.virtual.resources=Virtual de Recursos
label.menu.volumes=Vol\u00c3\u00bamenes
label.migrate.instance.to.host=Migrar instancia a otro host.
label.migrate.instance.to=Migraci\u00c3\u00b3n de ejemplo para
label.migrate.instance.to.ps=Migrar instancia a otro primary storage.
label.migrate.router.to=Router para migrar
label.migrate.systemvm.to=Migrar m\u00c3\u00a1quina virtual del sistema para
label.minimum=M\u00c3\u00adnimo
label.minute.past.hour=Minuto (s) despu\u00c3\u00a9s de la hora
label.monday=lunes
label.monthly=mensual
label.more.templates=plantillas \= M\u00c3\u00a1s
label.my.account=Mi Cuenta
label.my.templates=Mis plantillas
label.name=Nombre
label.name.optional=Nombre (Opcional)
label.netmask=m\u00c3\u00a1scara de red
label.network.desc=Red de Desc
label.network.device=De dispositivos de red
label.network.device.type=Tipo de red de dispositivos
label.network.domain=red de dominio
label.network.id=ID de red
label.network.name=Nombre de red
label.network.offering.display.text=Red ofrece visualizaci\u00c3\u00b3n de texto
label.network.offering.id=Red ofrece ID
label.network.offering.name=Red ofrece Nombre
label.network.offering=Red ofrece
label.network.rate=Tasa de Red
label.network.read=Leer de la red
label.network=Red
label.networks=Redes
label.network.type=Tipo de red
label.network.write=Escribir en la red
label.new=Nuevo
label.new.password=Nueva contrase\u00c3\u00b1a
label.new.vm=Nueva maquina virtual
label.next=Siguiente
label.nfs=NFS
label.nfs.server=servidor NFS
label.nfs.storage=NFS Almacenamiento
label.nics=NIC
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\u00c3\u00adculos disponibles
label.none=Ninguno
label.no=No
label.no.security.groups=No hay grupos disponibles de Seguridad
label.not.found=No se ha encontrado
label.no.thanks=No, gracias
label.num.cpu.cores=n\u00c3\u00bamero de n\u00c3\u00bacleos de CPU
label.numretries=N\u00c3\u00bamero de reintentos
label.ocfs2=OCFS2
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\u00c3\u00bablica Direcciones IP
label.owner.account=titular de la cuenta
label.parent.domain=Padres de dominio
label.password=Contrase\u00c3\u00b1a
label.password.enabled=Contrase\u00c3\u00b1a Activado
label.path=Ruta
label.PING.CIFS.password=PING CIFS contrase\u00c3\u00b1a
label.PING.CIFS.username=PING CIFS nombre de usuario
label.PING.dir=PING Directorio
label.PING.storage.IP=PING almacenamiento IP
label.please.wait=Por favor espere
label.pod=Pod
label.port.forwarding=Port Forwarding
label.port.range=rango de puertos
label.PreSetup=PreSetup
label.prev=Anterior
label.previous=Previo
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\u00c3\u00b3n IP privada
label.private.ip.range=IP privada Gama
label.private.ips=direcciones IP privadas
label.privatekey=PKCS\#8 la clave privada
label.private.port=Puerto privado
label.private.zone=Zona Privada
label.project.name=Nombre del Proyecto
label.protocol=Protocolo
label.public.interface=interfaz p\u00c3\u00bablica
label.public.ip=direcci\u00c3\u00b3n IP p\u00c3\u00bablica
label.public.ips=direcciones IP p\u00c3\u00bablicas
label.public.port=Puerto P\u00c3\u00bablico
label.public=P\u00c3\u00bablica
label.public.zone=Zona P\u00c3\u00bablica
label.Pxe.server.type=Tipo de servidor Pxe
label.reboot=Reiniciar
label.recent.errors=recientes errores
label.redundant.router=enrutador redundante
label.refresh=Actualizar
label.related=relacionados
label.remind.later=Recordar mas tarde
label.remove.from.load.balancer=ejemplo Eliminaci\u00c3\u00b3n de equilibrador de carga
label.removing=Borrando.
label.removing.user=Eliminar usuario
label.required=Requerido
label.reserved.system.ip=Reservados sistema de PI
label.resource.limits=L\u00c3\u00admites de Recursos
label.resource=Recursos
label.resources=Recursos
label.role=Papel
label.root.disk.offering=Root Disco Offering
label.running.vms=Ejecuci\u00c3\u00b3n de m\u00c3\u00a1quinas virtuales
label.s3.secret_key=clave secreta
label.saturday=s\u00c3\u00a1bado
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.enabled=Los grupos de seguridad habilitado
label.security.groups=Grupos de seguridad
label.select.a.zone=Seleccione una zona.
label.sent=Enviados
label.server=Servidor
label.service.offering=Oferta de Servicio
label.session.expired=Session Caducado
label.shared=compartidas
label.SharedMountPoint=SharedMountPoint
label.show.ingress.rule=Mostrar la regla del ingreso
label.size=Tama\u00c3\u00b1o
label.snapshot=Instant\u00c3\u00a1nea
label.snapshot.limits=instant\u00c3\u00a1neas L\u00c3\u00admites
label.snapshot.name=Nombre de instant\u00c3\u00a1neas
label.snapshot.schedule=Lista de instant\u00c3\u00a1neas
label.snapshot.s=Instant\u00c3\u00a1nea (s)
label.snapshots=instant\u00c3\u00a1neas
label.source.nat=NAT Fuente
label.specify.vlan=Especifique VLAN
label.SR.name = SR Nombre de etiqueta
label.start.port=Iniciar Puerto
label.state=Estado
label.static.nat=NAT est\u00c3\u00a1tica
label.static.nat.to=est\u00c3\u00a1tico NAT para
label.statistics=Estad\u00c3\u00adsticas
label.status=Estado
label.step.1=Paso 1
label.step.1.title=Paso 1\: <strong> Seleccione una plantilla </strong>
label.step.2=Paso 2
label.step.2.title=Paso 2\: <strong> Oferta de Servicio </strong>
label.step.3=Paso 3
label.step.3.title=Paso 3\: <strong id\="step3_label"> Seleccione un disco Ofrenda </strong>
label.step.4=Paso 4
label.step.4.title=Paso 4\: <strong> Red </strong>
label.step.5=Paso 5
label.step.5.title=Paso 5\: Revisi\u00c3\u00b3n <strong> </strong>
label.sticky.domain=dominio
label.sticky.mode=modo
label.stop=Detener
label.stopped.vms=Detenido m\u00c3\u00a1quinas virtuales
label.storage=Almacenamiento
label.storage.tags=Etiquetas de almacenamiento
label.storage.type=Tipo de almacenamiento
label.submit=Enviar
label.submitted.by=[Enviado por\: <span id\="submitted_by"> </span>]
label.succeeded=Sucesor
label.sunday=domingo
label.system.capacity=Capacidad de todo el sistema
label.system.vm=Sistema de VM
label.system.vms=Sistema de m\u00c3\u00a1quinas virtuales
label.system.vm.type=Tipo de sistema VM
label.tagged=etiqueta
label.tags=Etiquetas
label.target.iqn=Objetivo IQN
label.task.completed=Tarea finalizada.
label.template.limits=Plantilla L\u00c3\u00admites
label.template=plantilla
label.TFTP.dir=Directorio de TFTP
label.theme.default=Tema Por Defecto
label.theme.grey=Personal - Gris
label.theme.lightblue=Personal - Azul
label.thursday=Jueves
label.timeout.in.second = Tiempo de espera (segundos)
label.time=Tiempo
label.time.zone=Zona horaria
label.timezone=Zona horaria
label.total.cpu=Total CPU
label.total.CPU=Total CPU
label.total.vms=Total de m\u00c3\u00a1quinas virtuales
label.traffic.type=Tipo de Tr\u00c3\u00a1fico
label.tuesday=martes
label.type.id=Tipo de identificaci\u00c3\u00b3n
label.type=Tipo
label.unavailable=no disponible
label.unlimited=Unlimited
label.untagged=sin etiquetar
label.updating=Actualizar
label.url=URL
label.usage.interface=Interfaz de uso
label.used=Usado
label.username=Nombre de usuario
label.users=usuario
label.user=Usuario
label.value=Valor
label.vcenter.cluster=vCenter cl\u00c3\u00baster
label.vcenter.datacenter=vCenter de centros de datos
label.vcenter.datastore=vCenter almac\u00c3\u00a9n de datos
label.vcenter.host=vCenter anfitri\u00c3\u00b3n
label.vcenter.password=vCenter Contrase\u00c3\u00b1a
label.vcenter.username=vCenter Nombre de usuario
label.version=Versi\u00c3\u00b3n
label.virtual.appliances=Virtual Appliances
label.virtual.appliance=Virtual Appliance
label.virtual.machines=Maquinas virtuales
label.virtual.network=Red Virtual
label.vlan.id=ID de VLAN
label.vlan.range=VLAN Gama
label.vlan=VLAN
label.vm.add=A\u00c3\u00b1adir Instancia
label.vm.destroy=Destroy
label.VMFS.datastore=VMFS de datos tienda
label.vmfs=VMFS
label.vm.reboot=Reiniciar
label.vmsnapshot.type=Tipo
label.vm.start=Inicio
label.vm.stop=Detener
label.vms=VM
label.volgroup=Volume Group
label.volume.limits=l\u00c3\u00admites de volumen
label.volume.name=Nombre de Volumen
label.volumes=Vol\u00c3\u00bamenes
label.volume=Volumen
label.vpn=VPN
label.vsphere.managed=Gestionado \= vSphere
label.waiting=Esperando
label.warn=Advertir
label.wednesday=mi\u00c3\u00a9rcoles
label.weekly=Semanal
label.welcome=Bienvenido
label.welcome.cloud.console=Bienvenido a la consola de administraci\u00c3\u00b3n
label.yes=S\u00c3\u00ad
label.zone.id=Zona de identificaci\u00c3\u00b3n
label.zone.step.1.title=Paso 1\: <strong> Seleccione una red </strong>
label.zone.step.2.title=Paso 2\: <strong>A\u00c3\u00b1adir una zona </strong>
label.zone.step.3.title=Paso 3\: <strong>A\u00c3\u00b1adir una vaina </strong>
label.zone.step.4.title=Paso 4\: <strong>A\u00c3\u00b1adir un rango de IP </strong>
label.zone.wide=Zona para todo el
label.zone=Zona
managed.state=Estado logr\u00c3\u00b3
message.acquire.public.ip=Por favor seleccione una zona de la que desea adquirir su nueva IP.
message.action.cancel.maintenance.mode=Por favor, confirme que desea cancelar el mantenimiento
message.action.cancel.maintenance=Su acogida ha sido cancelado con \u00c3\u00a9xito para el mantenimiento. Este proceso puede tardar hasta varios minutos.
message.action.delete.cluster=Por favor, confirme que desea eliminar del cl\u00c3\u00baster
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\u00c3\u00a1 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\u00c3\u00a1 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.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.ISO=Por favor, confirme que desea eliminar la norma ISO
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\u00c3\u00a1neas
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.template=Por favor, confirme que desea eliminar la plantilla
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\u00c3\u00a1quina virtual del sistema.
message.action.disable.cluster=Por favor, confirme que desea desactivar este grupo.
message.action.disable.pod=Por favor, confirme que desea desactivar esta vaina.
message.action.disable.static.NAT=Por favor, confirme que desea desactivar NAT est\u00c3\u00a1tica
message.action.disable.zone=Por favor, confirme que desea desactivar esta zona.
message.action.enable.cluster=Por favor, confirme que desea habilitar este grupo.
message.action.enable.maintenance=Su acogida ha sido preparado con \u00c3\u00a9xito para el mantenimiento. Este proceso puede tardar hasta varios minutos o m\u00c3\u00a1s dependiendo de c\u00c3\u00b3mo las m\u00c3\u00a1quinas virtuales se encuentran actualmente en este servidor.
message.action.enable.pod=Por favor, confirme que desea habilitar esta vaina.
message.action.enable.zone=Por favor, confirme que desea habilitar esta zona.
message.action.force.reconnect=Por favor, confirme que desea forzar una reconexi\u00c3\u00b3n para el anfitri\u00c3\u00b3n
message.action.host.enable.maintenance.mode=mode \= mantenimiento de Habilitaci\u00c3\u00b3n provocar\u00c3\u00a1 una migraci\u00c3\u00b3n en vivo de todas las instancias que se ejecutan en el sistema para cualquier m\u00c3\u00a1quina disponible.
message.action.manage.cluster=Por favor, confirme que desea para administrar el cl\u00c3\u00baster.
message.action.primarystorage.enable.maintenance.mode=Advertencia\: colocar el almacenamiento principal en modo de mantenimiento har\u00c3\u00a1 que todas las m\u00c3\u00a1quinas virtuales utilizando vol\u00c3\u00bamenes de que sea detenido. \u00c2\u00bfDesea continuar?
message.action.reboot.instance=Por favor, confirme que desea reiniciar el ejemplo
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.reset.password.off=Su ejemplo en la actualidad no es compatible con esta funci\u00c3\u00b3n.
message.action.reset.password.warning=Su ejemplo debe ser detenido antes de intentar cambiar su contrase\u00c3\u00b1a actual.
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.systemvm=Por favor, confirme que desea detener sistema VM
message.action.take.snapshot=Por favor, confirme que desea tomar instant\u00c3\u00a1neas
message.action.unmanage.cluster=Por favor, confirme que desea unmanage del cl\u00c3\u00baster.
message.add.cluster=A\u00c3\u00b1adir un hipervisor administradas por cl\u00c3\u00baster de <b> zona <span id\="zone_name"> </span> </b>, la consola de <b> <span id\="pod_name"> </span> </b>
message.add.cluster.zone=A\u00c3\u00b1adir un hipervisor administradas por cl\u00c3\u00baster de <b> zona <span id\="zone_name"> </span> </b>
message.add.disk.offering=Por favor, especifique los par\u00c3\u00a1metros siguientes para agregar un nuevo disco que ofrece
message.add.firewall=A\u00c3\u00b1adir un servidor de seguridad a la zona
message.add.host=Por favor, especifique los par\u00c3\u00a1metros siguientes para agregar un nuevo host
message.add.ip.range=A\u00c3\u00b1adir un rango de IP a la red p\u00c3\u00bablica en la zona
message.add.ip.range.direct.network=A\u00c3\u00b1adir un rango de IP para dirigir <b> red <span id\="directnetwork_name"> </span> </b> en la zona <b> <span id \= "zone_name" > </span> </b>
message.add.ip.range.to.pod=<p> A\u00c3\u00b1adir un rango de IP de la vaina\: <b><span id\="pod_name_label"> </span> </b> </p>
message.additional.networks.desc=Por favor seleccione de red adicionales (s) que la instancia virtual estar\u00c3\u00a1 conectado.
message.add.load.balancer=A\u00c3\u00b1adir un equilibrador de carga a la zona
message.add.network=Agregar una nueva red para la zona\: <b><span id\="zone_name"> </span> </b>
message.add.pod=Agregar una vaina nueva <b> zona <span id\="add_pod_zone_name"> </span> </b>
message.add.primary=Por favor, especifique los par\u00c3\u00a1metros siguientes para agregar un nuevo almacenamiento primario
message.add.primary.storage=Agregar una nueva almacenamiento primario para <b> zona <span id\="zone_name"> </span> </b>, la consola de <b> <span id\="pod_name"> </span> </b>
message.add.secondary.storage=A\u00c3\u00b1adir un nuevo almacenamiento de <b> zona <span id\="zone_name"> </span> </b>
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.advanced.mode.desc=Seleccione este modelo de red si desea habilitar soporte VLAN. Este modelo de red proporciona la m\u00c3\u00a1xima 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\u00c3\u00ad como permitir vs directa de redes virtuales.
message.advanced.security.group=Elija esta opci\u00c3\u00b3n si desea utilizar grupos de seguridad para proporcionar resultados de aislamiento VM.
message.advanced.virtual=Elija esta opci\u00c3\u00b3n 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\u00c3\u00b1a del usuario que desea permitir el acceso de VPN.
message.apply.snapshot.policy=Ha actualizado su pol\u00c3\u00adtica instant\u00c3\u00a1nea actual.
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\u00c3\u00a1 colocando un volumen de disco a una m\u00c3\u00a1quina virtual de Windows basado, usted tendr\u00c3\u00a1 que reiniciar la instancia para ver el disco adjunto.
message.basic.mode.desc=Seleccione este modelo de red si lo haces * <b> no <u> </u> * </b> desea habilitar cualquier soporte VLAN. Todas las instancias virtuales creados en virtud de este modelo de red se le asignar\u00c3\u00a1 una direcci\u00c3\u00b3n IP directamente desde la red y grupos de seguridad se utilizan para proporcionar la seguridad y la segregaci\u00c3\u00b3n.
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 <b id\="copy_template_name_text"> XXX </b> de la zona <b id\="copy_template_source_zone_text"> </b>
message.create.template.vm=Crear VM de la plantilla <b id\="p_name"> </b>
message.create.template.volume=Por favor, especifique la siguiente informaci\u00c3\u00b3n antes de crear una plantilla de su volumen de disco\: <b> <span id\="volume_name"> </span> </b>. Creaci\u00c3\u00b3n de la plantilla puede oscilar entre varios minutos m\u00c3\u00a1s, dependiendo del tama\u00c3\u00b1o 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.snapshot.policy=Ha desactivado su pol\u00c3\u00adtica instant\u00c3\u00a1nea actual.
message.disable.vpn.access=Por favor, confirme que desea desactivar VPN de acceso.
message.download.volume=Por favor, haga clic <a href\="\#">00000</a> 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\u00c3\u00admites de los recursos siguientes. A "-1" indica que no hay l\u00c3\u00admite a la cantidad de los recursos de crear.
message.enable.account=Por favor, confirme que desea habilitar esta cuenta.
message.enabled.vpn.ip.sec=La clave pre-compartida IPSec es
message.enabled.vpn=Su acceso a la VPN est\u00c3\u00a1 habilitado y se puede acceder a trav\u00c3\u00a9s de la IP
message.enable.vpn.access=VPN \= est\u00c3\u00a1 desactivado para esta direcci\u00c3\u00b3n IP. \u00c2\u00bfTe gustar\u00c3\u00ada que permitan el acceso VPN?
message.enable.vpn=VPN de acceso actualmente no est\u00c3\u00a1 habilitado. Por favor, <a href\="\#" id\="enable_vpn_link"> haga clic aqu\u00c3\u00ad </a> para habilitar VPN.
message.installWizard.click.retry=Haz click en el bot\u00f3n para re-intentar el lanzamiento de la instancia.
message.installWizard.tooltip.addCluster.name=Nombre del Cluster. Puede ser alfanum\u00e9rico .Este no es usado por CloudStack
message.installWizard.tooltip.addHost.hostname=El nombre DNS o direcci\u00f3n IP del host
message.installWizard.tooltip.addHost.username=Generalmente root
message.installWizard.tooltip.addPod.name=Nombre del POD
message.installWizard.tooltip.addPod.reservedSystemGateway=El gateway ,puerta de enlace, para los host en ese pod.
message.installWizard.tooltip.addPrimaryStorage.name=\ Nombre para el storage
message.installWizard.tooltip.addSecondaryStorage.nfsServer=Direcci\u00f3n IP del servidor NFS que contiene el secondary storage
message.installWizard.tooltip.addZone.name=Nombre de la zona.
message.installWizard.tooltip.configureGuestTraffic.description=Una breve descripci\u00f3n para su red.
message.installWizard.tooltip.configureGuestTraffic.guestGateway=El gatway, puerta de enlace, que las maquinas guest deben usar.
message.installWizard.tooltip.configureGuestTraffic.name=Nombre de su RED
message.lock.account=Por favor, confirme que desea bloquear esta cuenta. Al bloquear la cuenta, todos los usuarios de esta cuenta ya no ser\u00c3\u00a1 capaz de gestionar sus recursos de la nube. Los recursos existentes todav\u00c3\u00ada se puede acceder.
message.migrate.instance.confirm=Por favor, confirme el anfitri\u00c3\u00b3n desea migrar la instancia virtual.
message.migrate.instance.to.host=Por favor, confirmar que desea mover la instancia a otro host.
message.migrate.instance.to.ps=Por favor, confirmar que desea mover la instancia a otro primary storage.
message.migrate.router.confirm=Por favor, confirme el hu\u00c3\u00a9sped que desea migrar el router\:
message.migrate.systemvm.confirm=Por favor, confirme el hu\u00c3\u00a9sped que desea migrar la m\u00c3\u00a1quina virtual de sistema\:
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\u00c3\u00bae con el paso 5.
message.no.network.support=El hipervisor seleccionado, vSphere, no tiene funciones de red adicionales. Por favor, contin\u00c3\u00bae con el paso 5.
message.number.clusters=<h2> <span> \# de </span> Grupos </h2>
message.number.hosts=<h2> <span> \# de </span> Anfitri\u00c3\u00b3n </h2>
message.number.pods=<h2> <span> \# de </span> Las vainas </h2>
message.number.storage=<h2> <span> \# de </span> Almacenamiento primario </h2>
message.number.zones=<h2> <span> \# de </span> Zonas </h2>
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\u00c3\u00b3n (s) para la nueva configuraci\u00c3\u00b3n surta efecto.
message.security.group.usage=(Uso <strong> pulse Ctrl </strong> para seleccionar todos los grupos de seguridad se aplica)
message.select.item=Por favor, seleccionar un item .
message.setup.successful=La configuraci\u00f3n de la cloud finalizo satisfactoriamente.
message.snapshot.schedule=Puede horarios de configuraci\u00c3\u00b3n recurrente instant\u00c3\u00a1neas mediante la selecci\u00c3\u00b3n de las opciones disponibles a continuaci\u00c3\u00b3n y la aplicaci\u00c3\u00b3n de su preferencia pol\u00c3\u00adtica
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\u00c3\u00a9n 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\u00c3\u00a1 conectado.
message.update.os.preference=Por favor seleccione un sistema operativo de preferencia para este equipo. Todas las instancias virtuales con preferencias similares ser\u00c3\u00a1n los primeros asignados a este equipo antes de elegir otro.
message.update.ssl=Por favor, env\u00c3\u00ade una nueva X.509 compatible con certificado SSL que se actualizar\u00c3\u00a1 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\u00c3\u00b3n est\u00c3\u00a1 contenida dentro de una VLAN y todos los acceso a la red p\u00c3\u00bablica se encamina a cabo por un router virtual.
message.vm.create.template.confirm=Crear plantilla de la m\u00c3\u00a1quina virtual se reiniciar\u00c3\u00a1 autom\u00c3\u00a1ticamente.
message.volume.create.template.confirm=Por favor, confirme que desea crear una plantilla para este volumen de disco. Creaci\u00c3\u00b3n de la plantilla puede oscilar entre varios minutos m\u00c3\u00a1s, dependiendo del tama\u00c3\u00b1o del volumen.
message.zone.step.1.desc=Por favor seleccione un modelo de red para su zona.
mode=modo
network.rate=Tasa de Red
side.by.side=Juntos
state.Allocated=Asignados
state.Disabled=personas de movilidad reducida
state.Error=Error

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,618 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
changed.item.properties=Elementi delle propriet\u00e0 modificati
confirm.enable.s3=Si prega di inserire i valori richiesti per abilitare il supporto per il Secondary Storage di tipo S3
confirm.enable.swift=Si prega di inserire i valori richiesti per abilitare il supporto per Swift
error.could.not.enable.zone=Impossibile abilitare la zona
error.installWizard.message=E\\' stato rilevato un errore\: tornare agli step precedenti e correggere gli errori
error.invalid.username.password=Username o Password non valida
error.password.not.match=I campi password non corrispondono
error.please.specify.physical.network.tags=Le offerte di rete non sono disponibili se non si specificano tag per questa rete fisica.
error.something.went.wrong.please.correct.the.following=E\\' stato rilevato un errore; si prega di correggere quanto indicato di seguito
error.unable.to.reach.management.server=Impossibile raggiungere il Management Server
instances.actions.reboot.label=Riavviare una instanza
label.accept.project.invitation=Accettare un invito ad un progetto
label.account.and.security.group=Account, Security group
label.action.delete.nexusVswitch=Cancellare Nexus 1000v
label.action.delete.physical.network=Cancellazione di una rete fisica
label.action.delete.system.service.offering=Cancellare Offerta di Servizio di Sistema
label.action.disable.nexusVswitch=Disabilitare Nexus 1000v
label.action.disable.physical.network=Disabilitare la rete fisica
label.action.enable.nexusVswitch=Abilitare Nexus 1000v
label.action.enable.physical.network=Abilitare la rete fisica
label.action.list.nexusVswitch=Elencare Nexus 1000v
label.action.migrate.router.processing=Migrazione Router...
label.action.register.iso=Registrare una ISO
label.action.register.template=Registrare un template
label.activate.project=Attivare il Progetto
label.add.accounts=Aggiungere utenti
label.add.accounts.to=Aggiungere utenti a
label.add.account.to.project=Aggiungere account al progetto
label.add.ACL=Aggiungere ACL
label.add.compute.offering=Aggiungere una offerta computazionale
label.add.egress.rule=Aggiungere una regola d\\'uscita
label.add.F5.device=Aggiungere device F5
label.add.guest.network=Aggiungere una rete guest
label.add.netScaler.device=Aggiungere device Netscaler
label.add.network.ACL=Aggiungere le ACL di rete
label.add.network.offering=Aggiungere offerta di rete
label.add.new.F5=Aggiungere nuovo F5
label.add.new.gateway=Aggiungere un nuovo gateway
label.add.new.NetScaler=Aggiungere nuovo NetScaler
label.add.new.SRX=Aggiungere nuovo SRX
label.add.new.tier=Aggiungere un nuovo livello
label.add.physical.network=Aggiungere rete fisica
label.add.port.forwarding.rule=Aggiungere una regola di port forwarding
label.add.resources=Aggiungere Risorse
label.add.route=Aggiungere una rotta
label.add.rule=Aggiungere regola
label.add.SRX.device=Aggiungere device SRX
label.add.static.nat.rule=Aggiungere regola di NAT statico
label.add.static.route=Aggiungere una rotta statica
label.add.system.service.offering=Aggiungere Offerte di Servizio di Sistema
label.add.to.group=Aggiungere al gruppo
label.add.vm=Aggiungere VM
label.add.vms=Aggiunvere VM
label.add.vms.to.lb=Aggiungere VM a regola di bilanciamento di carico
label.add.VM.to.tier=Aggiungere una VM al livello
label.add.vpc=Aggiungere VPC
label.add.vpn.customer.gateway=Aggiungere Gateway VPN del Cliente
label.add.VPN.gateway=Aggiungere un Gateway VPN
label.add.vpn.user=Aggiungere utente VPN
label.advanced=Avanzato
label.agent.password=Password per l\\'Agent
label.agent.username=Username per l\\'Agent
label.allocated=Allocato
label.apply=Applicare
label.associated.network=Rete Associata
label.bandwidth=Capacit\u00e0 della banda (Bandwidth)
label.basic=Basic
label.broadcast.uri=URI di Broadcast
label.change.service.offering=Modificare offerta di servizio
label.checksum=Checksum MD5
label.CIDR.list=Lista CIDR
label.CIDR.of.destination.network=Valore CIDR della rete di destinazione
label.clear.list=Pulizia dell\\'elenco
label.cluster=Cluster
label.cluster.name=Nome del Cluster
label.clusters=Cluster
label.community=Community
label.compute.and.storage=Computazione e Storage
label.compute=Compute
label.compute.offering=Offerta computazionale
label.compute.offerings=Offerte computazionali
label.configuration=Configurazione
label.configure=Configurare
label.configure.network.ACLs=Configurare le ACL di rete
label.configure.vpc=Configurare VPC
label.confirm.password=Confermare la password
label.congratulations=Congratulazioni\!
label.console.proxy=Proxy di Console
label.continue.basic.install=Proseguire con l\\'installazione di base
label.continue=Continuare
label.corrections.saved=Salvataggio correzioni effettuato
label.cpu.mhz=CPU (in MHz)
label.created.by.system=Creato dal sistema
label.create.project=Creare un progetto
label.create.template=Creare un template
label.create.VPN.connection=Creare una Connessione VPN
label.decline.invitation=Declinare un invito
label.dedicated=Dedicato
label.default=Default
label.default.view=Vista di default
label.delete.F5=Rimozione F5
label.delete.gateway=rimuovere il gateway
label.delete.NetScaler=Rimozione NetScaler
label.delete.project=Cancellare progetto
label.delete.SRX=Rimozione SRX
label.delete.VPN.connection=cancellare la connessione VPN
label.delete.VPN.customer.gateway=cancellare il Gateway VPN del Cliente
label.delete.VPN.gateway=cancellare un Gateway VPN
label.delete.vpn.user=Cancellare utente VPN
label.destination.physical.network.id=ID della rete fisica di destinazione
label.destination.zone=Zona di destinazione
label.destroy=Destroy
label.devices=Device
label.dhcp=DHCP
label.direct.ips=Indirizzi IP di Rete condivisi
label.disabled=Disabilitato
label.disable.provider=Disabilitare il provider
label.disable.vpn=Disabilitare VPN
label.display.name=Nome visualizzato
label.dns=DNS
label.DNS.domain.for.guest.networks=Dominio DNS per Reti Guest
label.domain=Dominio
label.domain.router=Router di Dominio
label.done=Fatto
label.drag.new.position=Trascina nella nuova posizione
label.edit.lb.rule=Modifica regola LB
label.edit.network.details=Modificare le impostazioni di rete
label.edit.project.details=Modificare i dettagli del progetto
label.edit.tags=Modifica dei tag
label.edit.traffic.type=Modifica del tipo di traffico
label.edit.vpc=Modificare VPC
label.egress.rule=Regola d\\'uscita
label.egress.rules=Regole d\\'uscita
label.enable.provider=Abilitare il provider
label.enable.s3=Abilitare il Secondary Storage di tipo S3
label.enable.swift=Abilitare Swift
label.enable.vpn=Abilitare VPN
label.end.IP=Indirizzo IP finale
label.endpoint=Dispositivo
label.end.reserved.system.IP=Indirizzo IP finale riservato di sistema
label.end.vlan=Vlan finale
label.enter.token=Inserire il token
label.error=Errore
label.ESP.encryption=Encryption di ESP
label.ESP.hash=Hash di ESP
label.ESP.policy=Policy di ESP
label.f5=F5
label.full.path=Path completo
label.guest.end.ip=Indirizzo IP guest finale
label.guest=Guest
label.guest.networks=Reti guest
label.guest.start.ip=Indirizzo IP guest iniziale
label.guest.traffic=Traffico della rete Guest
label.guest.type=Tipo di Guest
label.hints=Suggerimenti
label.host.MAC=MAC del sistema host
label.hypervisor.capabilities=Funzionalit\u00e0 del Hypervisor
label.hypervisor=Hypervisor
label.hypervisor.version=Versione hypervisor
label.IKE.DH=DH di IKE
label.IKE.encryption=Encryption di IKE
label.IKE.hash=Hash di IKE
label.IKE.policy=Policy di IKE
label.installWizard.addClusterIntro.subtitle=Che cosa \u00e8 un cluster?
label.installWizard.addClusterIntro.title=Let&rsquo;s aggiungere un cluster
label.installWizard.addHostIntro.subtitle=Che cosa \u00e8 un host?
label.installWizard.addHostIntro.title=Let&rsquo;s aggiungere un host
label.installWizard.addPodIntro.subtitle=Che cosa \u00e8 un pod?
label.installWizard.addPodIntro.title=Let&rsquo;s aggiungere un pod
label.installWizard.addPrimaryStorageIntro.subtitle=Che cosa \u00e8 un primary storage?
label.installWizard.addPrimaryStorageIntro.title=Let&rsquo;s aggiungere primary storage
label.installWizard.addSecondaryStorageIntro.subtitle=Che cosa \u00e8 un secondary storage?
label.installWizard.addSecondaryStorageIntro.title=Let&rsquo;s aggiungere secondary storage
label.installWizard.addZoneIntro.subtitle=Che cosa \u00e8 una zona?
label.installWizard.addZoneIntro.title=Let&rsquo;s aggiungere una zone
label.installWizard.addZone.title=Aggiungere una zona
label.installWizard.click.launch=Fare click sul pulsante di avvio.
label.installWizard.subtitle=Questa guida fornisce supporto nelle attivit\u00e0 di configurazione di una installazione CloudStack&\#8482
label.installWizard.title=Ciao e Benvenuti nel mondo di CloudStack&\#8482
label.internal.name=Nome Interno
label.introduction.to.cloudstack=Introduzione a CloudStack&\#8482
label.invitations=Inviti
label.invited.accounts=Utenti invitati
label.invite=Invito
label.invite.to=Invito a
label.ip.address=Indirizzo IP
label.ipaddress=Indirizzo IP
label.ip.ranges=Intervalli di indirizzi IP
label.IPsec.preshared.key=Preshared-Key di IPsec
label.isolated.networks=Reti isolate
label.isolation.method=Metodo di isolamento
label.isolation.uri=URI di isolamento
label.keyboard.type=Tipo di tastiera
label.key=Key
label.kvm.traffic.label=Etichetta del traffico via KVM
label.label=Label
label.latest.events=Ultimi eventi
label.launch=Avvio
label.launch.vm=Avviare una VM
label.LB.isolation=Isolamento di LB
label.load.balancing=Bilanciamento di Carico
label.load.balancing.policies=Politiche di Bilanciamento di Carico
label.local.storage.enabled=Local storage abilitato
label.local.storage=Storage locale
label.LUN.number=LUN \#
label.management=Gestione
label.management.ips=Indirizzo IP di Management
label.manage.resources=Gestione Risorse
label.max.guest.limit=Limite max di guest
label.max.networks=Numero Max di reti
label.max.public.ips=Numero max di indirizzi IP pubblici
label.max.snapshots=Numero max di snapshot
label.max.templates=Numero max di template
label.max.vms=Numero max di VM utente
label.max.volumes=Numero max di volumi
label.max.vpcs=Numero max di VPC
label.may.continue=E\\' ora possibile continuare.
label.memory.mb=Memoria (in MB)
label.menu.configuration=Configurazione
label.menu.infrastructure=Infrastruttura
label.menu.system.service.offerings=Offerte di Sistema
label.menu.templates=Template
label.migrate.instance.to.host=Migrare instance verso un altro host
label.migrate.instance.to.ps=Migrare instance verso un altro primary storage
label.migrate.to.host=Migrare verso un host
label.migrate.to.storage=Migrare verso uno storage
label.migrate.volume=Migrare un volume verso un altro primary storage
label.move.down.row=Sposta gi\u00f9 di una riga
label.move.to.bottom=Sposta gi\u00f9 alla fine
label.move.to.top=Sposta in su all\\'inizio
label.move.up.row=Sposta su di una riga
label.my.network=La mia rete
label.my.templates=I miei template
label.nat.port.range=Intervallo di porte NAT
label.netScaler=NetScaler
label.network.ACL=ACL di rete
label.network.ACLs=ACL di rete
label.network.ACL.total=Totale ACL di rete
label.network.domain.text=Dominio di Rete
label.networking.and.security=Networking e sicurezza
label.network.label.display.for.blank.value=Utilizzare il default gateway
label.network.service.providers=Service Provider di Rete
label.networks=Reti
label.new=Nuovo
label.new.project=Nuovo Progetto
label.new.vm=Nuova VM
label.nexusVswitch=Nexus 1000v
label.nfs=NFS
label.nic.adapter.type=Tipo di scheda NIC
label.no.data=Nessun dato da mostrare
label.no=No
label.no.thanks=No grazie
label.notifications=Notifiche
label.number.of.clusters=Numero di Cluster
label.number.of.hosts=Numero di Host
label.number.of.pods=Numero di Pod
label.number.of.system.vms=Numero delle VM di Sistema
label.number.of.virtual.routers=Numero dei Router Virtuali
label.number.of.zones=Numero di Zone
label.ok=OK
label.order=Ordine
label.perfect.forward.secrecy=Segretezza di Forward perfetta
label.physical.network.ID=ID della rete fisica
label.please.specify.netscaler.info=Si prega di specificare le informazioni per Netscaler
label.pod.name=Nome del Pod
label.pods=Pod
label.port.forwarding.policies=Politiche di Port Forwarding
label.previous=Precedente
label.primary.storage.count=Pool del Primary Storage
label.primary.storage=Storage Primario
label.private.Gateway=Gateway Privato
label.private.network=Rete privata
label.project.dashboard=Dashboard di progetto
label.project.id=Project ID
label.project.invite=Invitare ad un progetto
label.project.name=Nome del progetto
label.project=Project
label.projects=Progetti
label.project.view=Vista Progetto
label.providers=Fornitori
label.public.network=Rete pubblica
label.purpose=Scopo
label.quickview=Panoramica rapida
label.reboot=Reboot
label.redundant.router.capability=Capacit\u00e0 di ridondanza del router
label.remind.later=Ricordami in seguito
label.remove.ACL=Rimuovere ACL
label.remove.egress.rule=Rimuovere una regola d\\'uscita
label.remove.ip.range=Rimuovere intervallo di indirizzi IP
label.remove.pf=Rimuovere regola di port forwarding
label.remove.rule=Rimuovere regola
label.remove.static.nat.rule=Rimuovere regola di NAT statico
label.remove.static.route=Rimuovere una rotta statica
label.remove.tier=Rimuovere un livello
label.remove.vm.from.lb=Rimuovere una VM da regola di bilanciamento di carico
label.remove.vpc=Rimuovere VPC
label.removing=Rimozione
label.reserved.system.gateway=Gateway di sistema riservato
label.reserved.system.netmask=Netmask di sistema riservata
label.reset.VPN.connection=Reset della connessione VPN
label.resource.state=Stato della risorsa
label.restart.network=Riavviare il servizio di rete
label.restart.required=E\\' necessario un riavvio
label.restart.vpc=Riavviare VPC
label.restore=Restore
label.review=Riesaminare
label.revoke.project.invite=Revocare un invit
label.root.disk.controller=Controller del disco root
label.round.robin=Round-robin
label.rules=Regole
label.s3.access_key=Access Key
label.s3.connection_timeout=Tempo di scadenza connessione
label.s3.endpoint=Dispositivo
label.s3.max_error_retry=Numero massimo di tentativi a seguito di errore
label.s3.secret_key=Secret Key
label.s3.socket_timeout=Tempo di scadenza del Socket
label.s3.use_https=Utilizzare HTTPS
label.save.and.continue=Salvare e proseguire
label.secondary.storage.count=Pool del Secondary Storage
label.secondary.storage=Storage Secondario
label.secondary.storage.vm=VM di Secondary Storage
label.secret.key=Secret Key
label.select.a.template=Selezionare un template
label.select.a.zone=Selezionare una zone
label.select.instance=Selezionare una instanza
label.select.instance.to.attach.volume.to=Selezionare l\\'instanza da collegare al volume
label.select.iso.or.template=Selezionare immagine ISO o template
label.select.offering=Seleziona l\\'offerta
label.select.project=Selezionare un Progetto
label.select=Selezionare
label.select.tier=Selezionare il Livello
label.select-view=Selezionare la vista
label.select.vm.for.static.nat=Selezionare una VM per il NAT statico
label.service.capabilities=Capacit\u00e0 di Servizio
label.setup=Installazione
label.setup.network=Configurazione Rete
label.setup.zone=Configurazione Zona
label.set.up.zone.type=Configurazione del tipo di Zona
label.shutdown.provider=Arresto del provider
label.site.to.site.VPN=Site-to-site VPN
label.skip.guide=Se si ha familiarit\u00e0 con CloudStack per utilizzi precedenti, si pu\u00f2 saltare questa guida
label.source=Sorgente
label.specify.IP.ranges=Specificare intervallo di indirizzi IP
label.srx=SRX
label.start.IP=Indirizzo IP iniziale
label.start.reserved.system.IP=Indirizzo IP iniziale riservato di sistema
label.start.vlan=Vlan iniziale
label.static.nat.enabled=NAT Statico Abilitato
label.static.nat.vm.details=Dettagli di NAT Statico della VM
label.sticky.cookie-name=Nome del cookie
label.sticky.domain=Dominio
label.sticky.expire=Scadenza
label.sticky.length=Lunghezza
label.sticky.mode=Modalit\u00e0
label.sticky.nocache=Senza cache
label.sticky.prefix=Prefisso
label.sticky.tablesize=Dimensione della tabella
label.stop=Stop
label.storage.traffic=Traffico della rete Storage
label.super.cidr.for.guest.networks=Super CIDR per Reti Guest
label.supported.services=Servizi Supportati
label.supported.source.NAT.type=Tipo di Source NAT supportato
label.suspend.project=Sospendere il Progett
label.system.offering=Offerta del sistema
label.system.wide.capacity=Capacit\u00e0 del Sistema
label.task.completed=Attivit\u00e0 completata
label.tier.details=Dettagli del livello
label.tier=Livello
label.timeout=Timeout
label.token=Token
label.total.cpu=CPU Totali
label.total.CPU=CPU Totali
label.total.hosts=Host Totali
label.total.memory=Memoria Totale
label.total.of.ip=Totale di Indirizzo IP
label.total.of.vm=Totale di VM
label.total.storage=Storage Totale
label.traffic.label=Etichetta del traffico
label.traffic.types=Tipi di Traffico
label.update.project.resources=Aggiornare le risorse di progetto
label.upload=Upload
label.upload.volume=Volume di upload
label.vcdcname=Nome DC del vCenter
label.vcipaddress=Indirizzo IP del vCenter
label.viewing=Visualizzazione
label.view=Vista
label.virtual.machines=Virtual machine
label.virtual.routers=Router Virtuali
label.virtual.router=Virtual Router
label.vlan=VLAN
label.vm.destroy=Destroy
label.vm.display.name=Nome visualizzato della VM
label.vm.name=Nome VM
label.vm.reboot=Reboot
label.VMs.in.tier=VM nei livelli
label.vm.state=Stato VM
label.vm.stop=Stop
label.vmware.traffic.label=Etichetta del traffico via VMware
label.vpc.id=ID del VPC
label.VPC.router.details=Dettagli del router VPC
label.vpc=VPC
label.VPN.connection=Connessione VPN
label.vpn.customer.gateway=Gateway VPN del Cliente
label.VPN.customer.gateway=Gateway VPN del Cliente
label.VPN.gateway=Gateway VPN
label.vpn=VPN
label.vsmctrlvlanid=VLAN ID di Controllo
label.vsmpktvlanid=VLAN ID del Pacchetto
label.vsmstoragevlanid=VLAN ID di Storage
label.what.is.cloudstack=Che cosa \u00e8 CloudStack&\#8482?
label.xen.traffic.label=Etichetta del traffico via XenServer
label.yes=S\u00ec
label.zone.details=Dettagli della Zona
label.zone.name=Nome Zona
label.zones=Zone
label.zone.type=Tipo di Zona
label.zoneWizard.trafficType.guest=Guest\: Traffico di rete tra le virtual machine dell\\'utente finale
label.zoneWizard.trafficType.public=Public\: Traffico di rete tra la rete internet e le virtual machine nell\\'infrastruttura cloud.
label.zoneWizard.trafficType.storage=Storage\: Traffico di rete tra i server di primary e secondary storage, come ad esempio i template delle VM e le operazioni di snapshot
message.acquire.new.ip=Si prega di confermare di voler acquisire un nuovo indirizzo IP per questa rete.
message.acquire.new.ip.vpc=Si prega di confermare di voler acquisire un nuovo indirizzo IP per questo VPC.
message.action.delete.nexusVswitch=Si prega di confermare di voler cancellare questo nexus 1000v
message.action.delete.physical.network=Si prega di confermare di voler cancellare questa rete fisica
message.action.delete.system.service.offering=Si prega di confermare di voler cancellare questa offerta di servizio di sistema.
message.action.disable.nexusVswitch=Si prega di confermare di voler disabilitare questo nexus 1000v
message.action.disable.physical.network=Si prega di confermare di voler disabilitare questa rete fisica.
message.action.download.iso=Si prega di confermare di voler scaricare questa immagine ISO.
message.action.download.template=Si prega di confermare di voler scaricare questo template.
message.action.enable.nexusVswitch=Si prega di confermare di voler abilitare questo nexus 1000v
message.action.enable.physical.network=Si prega di confermare l\\'intenzione di abilitare questa rete fisica.
message.action.reboot.router=Tutti i servizi forniti da questo router virtuale saranno interrotti. Si prega di confermare di voler riavviare questo router.
message.action.remove.host=Si prega di confermare di voler rimuovere questo host.
message.action.stop.router=Tutti i servizi forniti da questo router virtuale saranno interrotti. Si prega di confermare di voler arrestare questo router.
message.activate.project=Si \u00e8 sicuri di voler attivare questo progetto?
message.add.domain=Si prega di specificare il sottodominio che si vuole creare in questo dominio
message.add.guest.network=Si prega di confermare di voler aggiungere una rete guest
message.adding.host=Aggiunta host
message.adding.Netscaler.device=Aggiunta di dispositivo Netscaler
message.adding.Netscaler.provider=Aggiunta di un provider Netscaler
message.add.load.balancer.under.ip=La regola di bilanciamento di carico \u00e8 stata aggiunta all\\'indirizzo IP\:
message.add.new.gateway.to.vpc=Si prega di specificare le informazioni per aggiungere un nuovo gateway a questo VPC.
message.add.system.service.offering=Si prega di inserire le seguenti informazioni per aggiungere una nuova offerta di servizio di sistema.
message.add.VPN.gateway=Si prega di confermare di voler aggiungere un Gateway VPN
message.after.enable.s3=Il Secondary Storage S3 \u00e8 configurato. NOTA\: Una volta chiusa questa pagina, non sar\u00e0 pi\u00f9 possibile ri-configurare S3.
message.after.enable.swift=Configurazione Swift completata. NOTA\: Una volta che questa pagina viene chiusa, non sar\u00e0 possibile ri-configurare nuovamente Swift.
message.alert.state.detected=Rilevato uno stato di Alert
message.change.password=Si prega di modificare la propria password.
message.configure.all.traffic.types=Si dispone di pi\u00f9 reti fisiche; si prega di configurare le label per ogni tipo di traffico facendo click sul tasto \\'Edit\\'.
message.configuring.guest.traffic=Configurazione del traffico guest
message.configuring.physical.networks=Configurazione di reti fisiche
message.configuring.public.traffic=Configurazione del traffico pubblico
message.configuring.storage.traffic=Configurazione del traffico storage
message.confirm.action.force.reconnect=Si prega di confermare di voler forzare la riconnessione a questo host.
message.confirm.delete.F5=Si prega di confermare di voler rimuovere F5
message.confirm.delete.NetScaler=Si prega di confermare di voler rimuovere NetScaler
message.confirm.delete.SRX=Si prega di confermare di voler rimuovere SRX
message.confirm.destroy.router=Si prega di confermare di voler rimuovere questo router
message.confirm.disable.provider=Si prega di confermare di voler disabilitare questo provider
message.confirm.enable.provider=Si prega di confermare di voler abilitare questo provider
message.confirm.join.project=Si prega di confermare di volersi unire a questo progetto.
message.confirm.remove.IP.range=Si prega di confermare di voler rimuovere questo intervallo di indirizzi IP.
message.confirm.shutdown.provider=Si prega di confermare di voler arrestare questo provider
message.create.template=Si \u00e8 sicuri di voler creare il template?
message.creating.cluster=Creazione cluster
message.creating.guest.network=Creazione di una rete guest
message.creating.physical.networks=Creazione di reti fisiche
message.creating.pod=Creazione pod
message.creating.primary.storage=Creazione storage primario
message.creating.secondary.storage=Creazione storage secondario
message.creating.zone=Creazione della zona in corso
message.decline.invitation=Si \u00e8 sicuri di voler declinare l\\'invito a questo progetto?
message.delete.gateway=Si prega di confermare di voler cancellare il gateway
message.delete.project=Si \u00e8 sicuri di voler cancellare questo progetto?
message.delete.user=Si prega di confermare di voler cancellare questo utente.
message.delete.VPN.connection=Si prega di confermare di voler cancellare la connessione VPN
message.delete.VPN.customer.gateway=Si prega di confermare di voler cancellare questo Gateway VPN del Cliente
message.delete.VPN.gateway=Si prega di confermare di voler cancellare questo Gateway VPN
message.desc.advanced.zone=Per topologie di rete pi\u00f9 sofisticate. Queto modello di rete fornisce la maggior flessibilit\u00e0 nel definire reti guest e offrendo funzionalit\u00e0 di rete personalizzate come per esempio firewall, VPN, o supporto per bilanciamento di carico.
message.desc.basic.zone=Indicare una rete singola in cui ogni instanza VM ricever\u00e0 un indirizzo IP assegnato. L\\'isolamento di istanze guest viene effettuato attraverso funzioni di tipo layer-3 come ad esempio i security group (filtraggio dell\\'indirizzo IP sorgente).
message.desc.zone=Una zona \u00e8 l\\'unit\u00e0 organizzativa pi\u00f9 grandi in CloudStack, e corrisponde tipicamente ad un datacenter singolo. Le zono offrono isolamento fisico e ridondanza. Una zona \u00e8 costituita da uno o pi\u00f9 pod (ognuno dei quali contiene pi\u00f9 host e server di storage primario) ed un server di storage secondario condiviso da tutti i pod appartenenti alla zona.
message.detach.disk=Si \u00e8 sicuri di voler sganciare questo disco?
message.disable.user=Si prega di confermare di voler disabilitare questo utente.
message.disable.vpn=Si \u00e8 sicuri di voler disabilitare la VPN?
message.download.volume.confirm=Si prega di confermare di voler scaricare questo volume
message.edit.traffic.type=Si prega si specificare la label del traffico che si vuole associare a questo tipo di traffico.
message.enable.user=Si prega di confermare di voler abilitare questo utente.
message.enable.vpn=Si prega di confermare di voler abilitare l\\'accesso VPN per questo indirizzo IP.
message.enabling.security.group.provider=Abilitazione di un provider di Security Group
message.enabling.zone=Abilitazione zona
message.enter.token=Si prega di inserire il token ricevuto nella e-mail di invito.
message.generate.keys=Si prega di confermare di voler generare nuove chiavi per questo utente.
message.installWizard.click.retry=Fare click sul pulsante per riprovare l\\'avvio.
message.installWizard.copy.whatIsAPod=Un pod pu\u00f2 essere utilizzato ad esempio per identificare un singolo rack. Gli host appartenenti al pod sono nella stessa subnet.<br/><br/>Un pod \u00e8 il secondo componente organizzativo pi\u00f9 grande in una installazione CloudStack&\#8482;. I pod sono contenuti in zone. Ogni zona pu\u00f2 contenere uno o pi\u00f9 pod; in una Installazione di Base, si configura un solo pod nella zona.
message.installWizard.copy.whatIsAZone=Una zona \u00e8 il componente organizzativo pi\u00f9 grande in una installazione CloudStack&\#8482;. Una zona corrisponde solitamente ad un singolo datacenter, sebbene sia consentito avere pi\u00f9 zone in un datacenter. Il beneficio di organizzare l\\'infrastruttura in zone deriva dalla possibilit\u00e0 di creare isolamento e ridondanza. Per esempio, ogni zona pu\u00f2 avere la propria configurazione di alimentazione elettrica e collegamenti di rete, e le zone possono essere anche separate geograficamente (anche se non \u00e8 un requisito).
message.installWizard.copy.whatIsSecondaryStorage=Un Secondary storage \u00e8 associato ad una zona, ed \u00e8 utilizzato per la memorizzazione di\:<ul><li>Template - Immagini SO che possono essere usate per eseguire il boot delle VM e che possono includere informazioni di configurazioni aggiuntive, come ad esempio applicazioni installate</li><li>Immagini ISO - Immagini OS utilizzabili che possono anche essere non-bootable</li><li>Snapshot di volumi disco - copie salvate di dati delle VM utilizzabili per il recupero di dati o per la creazione di nuovi template</ul>
message.installWizard.tooltip.addCluster.name=Un nome per il cluster. Questo pu\u00f2 essere assegnato utilizzando testo a scelta e non \u00e8 utilizzato da CloudStack.
message.installWizard.tooltip.addHost.hostname=Il nome DNS o l\\'indirizzo IP del sistema host.
message.installWizard.tooltip.addHost.password=Questa \u00e8 la password per l\\'utente identificato precedentemente (dall\\'installazione XenServer).
message.installWizard.tooltip.addHost.username=Tipicamente root.
message.installWizard.tooltip.addPod.name=Un nome per il pod
message.installWizard.tooltip.addPod.reservedSystemEndIp=Questo \u00e8 l\\'intervallo di indirizzi IP nella rete privata che CloudStack utilizza per la gestione delle VM del Secondary Storage e le VM della Console Proxy. Questi indirizzi IP sono ricavati dalla stessa subnet dei server computazionali.
message.installWizard.tooltip.addPod.reservedSystemGateway=Il gateway per gli host appartenenti al pod.
message.installWizard.tooltip.addPod.reservedSystemNetmask=La netmask in uso nella subnet utilizzata dalle VM guest.
message.installWizard.tooltip.addPod.reservedSystemStartIp=Questo \u00e8 l\\'intervallo di indirizzi IP nella rete privata che CloudStack utilizza per la gestione delle VM del Secondary Storage e le VM della Console Proxy. Questi indirizzi IP sono ricavati dalla stessa subnet dei server computazionali.
message.installWizard.tooltip.addPrimaryStorage.name=Il nome del dispositivo storage.
message.installWizard.tooltip.addPrimaryStorage.path=(per NFS) In NFS questo corrisponde al path condiviso dal server. Path (per SharedMountPoint). Con KVM questo \u00e8 il path su ogni host su cui viene effettuato il mount di questo primary storage. Per esempio, "/mnt/primary".
message.installWizard.tooltip.addPrimaryStorage.server=(per NFS, iSCSI, o PreSetup) L\\'indirizzo IP o il nome DNS del dispositivo di storage.
message.installWizard.tooltip.addSecondaryStorage.nfsServer=L\\'indirizzo IP del server NFS su cui \u00e8 condiviso il secondary storage
message.installWizard.tooltip.addSecondaryStorage.path=Il percorso esportato, posizionato sul server precedentemente specificato
message.installWizard.tooltip.addZone.dns1=Questi sono i server DNS da usare per le VM guest nella zona. Questi server DNS saranno raggiunti attraverso la rete pubblica che si configurer\u00e0 nel seguito. Gli indirizzi IP pubblici per la zona devono disporre di una rotta per raggiungere i server DNS indicati qui.
message.installWizard.tooltip.addZone.dns2=Questi sono i server DNS da usare per le VM guest nella zona. Questi server DNS saranno raggiunti attraverso la rete pubblica che si configurer\u00e0 nel seguito. Gli indirizzi IP pubblici per la zona devono disporre di una rotta per raggiungere i server DNS indicati qui.
message.installWizard.tooltip.addZone.internaldns1=Questi sono i server DNS da utilizzare per le VM di sistema nella zona. Questi server DNS saranno raggiunti attraverso l\\'interfaccia di rete configurata nella rete privata delle VM di Sistema. L\\'indirizzo IP privato fornito ai pod devono disporre di una rotta per raggiungere il server DNS indicato qui.
message.installWizard.tooltip.addZone.internaldns2=Questi sono i server DNS da utilizzare per le VM di sistema nella zona. Questi server DNS saranno raggiunti attraverso l\\'interfaccia di rete configurata nella rete privata delle VM di Sistema. L\\'indirizzo IP privato fornito ai pod devono disporre di una rotta per raggiungere il server DNS indicato qui.
message.installWizard.tooltip.addZone.name=Un nome per la zona
message.installWizard.tooltip.configureGuestTraffic.description=Una descrizione per identificare la rete
message.installWizard.tooltip.configureGuestTraffic.guestEndIp=L\\'intervallo degli indirizzi IP che saranno disponibili per l\\'allocazione alle VM guest in questa zona. Se viene usata una NIC, questi indirizzi IP dovrebbero appartenere allo stesso CIDR a cui appartiene il pod.
message.installWizard.tooltip.configureGuestTraffic.guestGateway=Il gateway da assegnare alle VM guest
message.installWizard.tooltip.configureGuestTraffic.guestNetmask=La netmask in uso nella subnet utilizzata dalle VM guest
message.installWizard.tooltip.configureGuestTraffic.guestStartIp=L\\'intervallo degli indirizzi IP che saranno disponibili per l\\'allocazione alle VM guest in questa zona. Se viene usata una NIC, questi indirizzi IP dovrebbero appartenere allo stesso CIDR a cui appartiene il pod.
message.installWizard.tooltip.configureGuestTraffic.name=Un nome da assegnare alla rete
message.instanceWizard.noTemplates=Non ci sono template disponibili\: si prega di aggiungere un template compatibile, e ri-avviare il wizard per la instanza.
message.ip.address.changed=Il tuo indirizzo IP potrebbe essere cambiato; si desidera aggiornare l\\'elenco? Notare che in tal caso verr\u00e0 chiusa la finestra dettagli.
message.iso.desc=Immagine disco contenente dati o supporto avviabile di boot per il SO
message.join.project=Ora appartieni al progetto. Si prega di passare alla vista Progetto per accedere.
message.launch.zone=La Zona \u00e8 pronta per l\\'avvio; si prega di procedere al passo successivo.
message.migrate.instance.to.host=Si prega di confermare di voler migrare instance verso un altro host.
message.migrate.instance.to.ps=Si prega di confermare di voler migrare instance verso un altro primary storage.
message.migrate.router.confirm=Si prega di confermare l\\'host a cui si intende migrare il router\:
message.migrate.volume=Si prega di confermare di voler migrare il volume verso un altro primary storage.
message.no.projects.adminOnly=Non si dispone di alcun progetto.<br/>Si prega di chiedere la creazione di un nuovo progetto al proprio amministratore.
message.no.projects=Non si possiedono progetti.<br/>Si prega di creare un nuovo progetto dalla sezione progetti.
message.pending.projects.1=Ci sono inviti a progetti in attesa di risposta\:
message.please.add.at.lease.one.traffic.range=Si prega di aggiungere almeno un intervallo relativo al traffico.
message.please.proceed=Si prega di procedere al passo successivo.
message.please.select.a.configuration.for.your.zone=Si prega di selezionare una configurazione per la zona.
message.please.select.a.different.public.and.management.network.before.removing=Si prega di selezionare una diversa rete pubblica e di management prima della rimozione
message.please.select.networks=Si prega di selezionare le reti per la virtual machine.
message.please.wait.while.zone.is.being.created=Si prega di attendere la creazione della zona; pu\u00f2 richiedere tempo...
message.project.invite.sent=L\\'invito \u00e8 stato spedito all\\'utente; l\\'utente sar\u00e0 aggiunto al progetto solo dopo aver accettato l\\'invito
message.remove.vpc=Si prega di confermare di voler rimuovere VPC
message.reset.password.warning.notPasswordEnabled=L\\'immagine template di questa instanza \u00e8 stata creata senza l\\'abilitazione della password
message.reset.password.warning.notStopped=L\\'instanza deve essere arrestata prima di poter modificare la password
message.reset.VPN.connection=Si prega di confermare di voler effettuare il reset della connessione VPN
message.restart.network=Tutti i servizi forniti da questa rete saranno interrotti. Si prega di confermare di voler riavviare questa rete.
message.restart.vpc=Si prega di confermare di voler riavviare VPC
message.select.a.zone=Una zona corrisponde tipicamente ad un singolo datacenter. Zone multiple consentono di aumentare l\\'affidabilit\u00e0 creando isolamento fisico e ridondanza.
message.select.instance=Si prega di selezionare una instanza.
message.select.iso=Si prega di selezionare una immagine ISO per la nuova instanza virtuale.
message.select.item=Si prega di selezionare un elemento.
message.select.security.groups=Si prega di selezionare i security group per la nuova VM
message.select.template=Si prega di selezionare un template per la nuova instanza virtuale.
message.setup.physical.network.during.zone.creation.basic=Quando si aggiunge una zona di base, si pu\u00f2 configurare una rete fisica, che corrisponde ad una NIC sul sistema host di virtualizzazione. La rete consente il trasporto di vari tipi di traffico di comunicazione.<br/><br/>E\\' possibile anche spostare altri tipi di traffico sulla rete fisica in modalit\u00e0 <strong>drag and drop</strong>.
message.setup.successful=L\\'installazione del cloud \u00e8 completata con successo\!
message.specify.url=Si prega di specificare la URL
message.step.2.desc=
message.step.3.desc=
message.suspend.project=Si \u00e8 sicuri di voler sospendere questo progetto?
message.template.desc=Immagine SO utilizzabile per eseguire il boot delle VM
message.tooltip.dns.1=Nome di un server DNS per l\\'uso da parte delle VM in questa zona. Gli indirizzi IP pubblici per la zona devono avere un percorso di instradamento verso questo server.
message.tooltip.dns.2=Un nome di un server DNS aggiuntivo per l\\'uso da parte delle VM in questa zona. Gli indirizzi IP pubblici per la zona devono avere un percorso di instradamento verso questo server.
message.tooltip.internal.dns.1=Nome di un server DNS per l\\'uso da parte delle VM interne di CloudStack di sistema nella zona. Gli indirizzi IP privati per i pod devono avere un percorso di instradamento verso questo server.
message.tooltip.internal.dns.2=Nome di un server DNS per l\\'uso da parte delle VM interne di CloudStack di sistema nella zona. Gli indirizzi IP privati per i pod devono avere un percorso di instradamento verso questo server.
message.tooltip.network.domain=Un suffisso DNS che consentir\u00e0 la creazione di un nome di dominio personalizzato per la rete a cui accedono le VM ospiti.
message.tooltip.pod.name=Un nome per questo pod
message.tooltip.reserved.system.gateway=Il gateway per gli host appartenenti al pod.
message.tooltip.reserved.system.netmask=Il prefisso di rete che definisce la subnet del pod. Utilizza la notazione CIDR.
message.tooltip.zone.name=Un nome per la zona.
message.update.resource.count=Si prega di confermare di voler aggiornare il valore delle risorse per questo account.
message.validate.instance.name=Il nome dell\\'instanza non pu\u00f2 avere lunghezza superiore a 63 caratteri. Sono consentite solo lettere ASCII a-z, A-Z, numeri 0-9, segni \\'-\\'. Il primo carattere deve essere una lettera, e l\\'ultimo una lettera o un numero.
message.vm.review.launch=Si prega di riesaminare le informazioni e confermare l\\'instance virtuale scelta sia corretta prima di avviarla.
message.you.must.have.at.least.one.physical.network=E\\' necessario disporre di almeno una rete fisica
message.Zone.creation.complete=Creazione zona completata
message.zone.creation.complete.would.you.like.to.enable.this.zone=Creazione zona completata. Si desidera abilitare questa zona?
message.zone.no.network.selection=La zona selezionata non contiene opzioni per la selezione della rete.
message.zoneWizard.enable.local.storage=ATTENZIONE\: Se si abilita lo storage locale per questa zona, \u00e8 necessario procedere come segue, a seconda di dove si intende avviare le VM di sistema\:<br/><br/>1. Se le VM di sistema devono essere avviate dal primary storage, questo deve essere aggiunto alla zona dopo la sua creazione. E\\' anche necessario avviare la zona in uno stato disabilitato.<br/><br/>2. Se le VM di sistema devono essere avviate dallo storage locale, system.vm.use.local.storage deve essere impostato a true prima di abilitare la zona.<br/><br/><br/>Si intende procedere?
mode=Modalit\u00e0
notification.reboot.instance=Riavviare una instanza
notification.start.instance=Avviare una instanza
notification.stop.instance=Arrestare una instanza
state.Accepted=Accettato
state.Active=Attivo
state.Allocated=Allocato
state.Allocating=Allocazione in corso
state.BackedUp=Salvataggio eseguito
state.BackingUp=Salvataggio in esecuzione
state.Completed=Completato
state.Creating=Creazione in corso
state.Declined=Declinato
state.Disabled=Disabilitato
state.enabled=Abilitato
state.Enabled=Abilitato
state.Error=Errore
state.Migrating=Migrazione in corso
state.ready=Pronto
state.Ready=Pronto
state.Running=In esecuzione
state.Starting=Avvio in corso
state.Stopped=Arrestato
state.Stopping=Arresto in corso
state.Suspended=Sospeso

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,366 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
changed.item.properties=Endrede egenskaper
error.could.not.enable.zone=Kunne ikke aktivere sonen
error.installWizard.message=Noe gikk galt. G\u00e5 tilbake og korriger feilene.
error.password.not.match=Passordfeltene sammensvarer ikke
error.something.went.wrong.please.correct.the.following=Noe gikk galt. Vennligst korrig\u00e9r f\u00f8lgende
force.delete=Tving sletting
force.remove=Tving fjerning
force.stop=Tving stopp
instances.actions.reboot.label=Omstart av instans
label.accept.project.invitation=Aksepter prosjektinvitasjon
label.action.disable.cluster=Deaktiver klyngen
label.action.disable.cluster.processing=Deaktiverer klyngen...
label.action.disable.pod=Deaktiver pod
label.action.disable.pod.processing=Deaktiverer pod...
label.action.disable.zone=Deaktiver sonen
label.action.disable.zone.processing=Deaktiverer sonen...
label.action.enable.cluster=Aktiver klynge
label.action.enable.cluster.processing=Aktiverer klyngen...
label.action.enable.pod=Aktiver pod
label.action.enable.pod.processing=Aktiverer pod...
label.action.enable.zone=Aktiver sone
label.action.enable.zone.processing=Aktiverer sone...
label.action.unmanage.cluster.processing=Fjerner administrasjon av klynge...
label.activate.project=Aktiver prosjekt
label.add.accounts=Legg til kontoer
label.add.accounts.to=Legg kontoer til
label.add.account.to.project=Legg kontoen til prosjektet
label.add.by=Legg til ved
label.add.guest.network=Legg til gjestenettverk
label.add.network.device=Legg til nettverksenhet
label.add.new.F5=Legg til ny F5
label.add.new.NetScaler=Legg til ny NetScaler
label.add.new.SRX=Legg til ny SRX
label.add.physical.network=Legg til fysisk nettverk
label.add.resources=Legg til ressurser
label.add.system.service.offering=Legg til et systemtilbud
label.add.to.group=Legg til gruppe
label.add.vms=Legg til VMer
label.advanced=Avansert
label.agree=Godtar
label.allocated=Allokert
label.allocation.state=Allokeringsstatus
label.apply=Bruk
label.bandwidth=B\u00e5ndbredde
label.basic=Basis
label.capacity=Kapasitet
label.change.service.offering=Endre tjenestetilbud
label.change.value=Endre verdi
label.cidr=CIDR
label.cidr.list=Kilde-CIDR
label.clean.up=Rydd opp
label.clvm=CLVM
label.compute.and.storage=Regnekraft og lagring
label.compute=Beregne
label.configure=Konfigurer
label.confirm.password=Bekreft passord
label.congratulations=Gratulerer\!
label.continue.basic.install=Fortsett med enkelt oppsett
label.continue=Fortsett
label.corrections.saved=Endringer lagret
label.CPU.cap=CPU begrensning
label.created.by.system=Opprettet av systemet
label.create.project=Opprett prosjekt
label.create.template=Opprett mal
label.decline.invitation=Avvis invitasjon
label.dedicated=Dedikert
label.default=Standardverdi
label.default.use=Standard bruk
label.default.view=Standardvisning
label.delete.project=Slett prosjekt
label.destination.physical.network.id=Fysisk nettverksid-destinasjon
label.destroy.router=Slett ruter
label.dhcp=DHCP
label.DHCP.server.type=DHCP servertype
label.disabled=Inaktiv
label.disable.provider=Deaktiver tilbyder
label.display.name=Visningsnavn
label.done=Utf\u00f8rt
label.drag.new.position=Dra til ny posisjon
label.edit.network.details=Edit\u00e9r nettverksdetaljer
label.edit.project.details=Editer prosjektdetaljer
label.elastic=Elastisk
label.elastic.IP=Elastisk IP
label.elastic.LB=Elastisk LB
label.enable.provider=Aktiver tilbyder
label.enable.vpn=Aktiver VPN
label.end.IP=Slutt-IP
label.end.vlan=Slutt-VLAN
label.enter.token=Skriv inn koden
label.error=Feil
label.f5=F5
label.filterBy=Filtrer etter
label.guest.end.ip=Gjest slutt-IP
label.guest=Gjest
label.guest.networks=Gjestenettverk
label.guest.start.ip=Gjest start-IP
label.guest.traffic=Gjestetrafikk
label.hints=Hint
label.installWizard.addClusterIntro.subtitle=Hva er en klynge?
label.installWizard.addClusterIntro.title=La oss legge til en klynge
label.installWizard.addHostIntro.subtitle=Hva er en vert?
label.installWizard.addHostIntro.title=La oss legge til en vert
label.installWizard.addPodIntro.subtitle=Hva er en pod?
label.installWizard.addPodIntro.title=La oss legge til en pod
label.installWizard.addPrimaryStorageIntro.subtitle=Hva er prim\u00e6rlagring?
label.installWizard.addPrimaryStorageIntro.title=Legg til prim\u00e6rlagring
label.installWizard.addSecondaryStorageIntro.subtitle=Hva er sekund\u00e6rlagring?
label.installWizard.addSecondaryStorageIntro.title=Legg til sekund\u00e6rlagring
label.installWizard.addZoneIntro.subtitle=Hva er en sone?
label.installWizard.addZoneIntro.title=La oss legge til en sone
label.installWizard.addZone.title=Legg til sone
label.installWizard.click.launch=Klikk startknappen.
label.installWizard.subtitle=Denne veiviseren vil hjelpe deg i din installasjon av CloudStack&\#8482
label.installWizard.title=Hei og velkommen til CloudStack&\#8482
label.introduction.to.cloudstack=Introduksjon til CloudStack&\#8482
label.invitations=Invitasjoner
label.invited.accounts=Inviterte kontoer
label.invite=Inviter
label.invite.to=Inviter til
label.ip.ranges=IP-rekke
label.is.redundant.router=Redundant
label.item.listing=Elementlisting
label.kvm.traffic.label=KVM trafikketikett
label.launch=Start
label.launch.vm=Start VM
label.LB.isolation=LB-isolering
label.least.connections=F\u00e6rrest tilkoblinger
label.load.balancing=Lastbalansering
label.load.balancing.policies=Regler for lastbalansering
label.local.storage=Lokal lagring
label.make.project.owner=Gj\u00f8r konto prosjekteier
label.management=Administrasjon
label.manage.resources=Behandle ressurser
label.max.public.ips=Maks offentlige IPer
label.max.snapshots=Maks \u00f8yeblikksbilder
label.max.templates=Maks maler
label.max.vms=Maks bruker-VMer
label.max.volumes=Maks volumer
label.may.continue=Du kan n\u00e5 fortsette.
label.menu.system.service.offerings=Systemtilbud
label.migrate.instance.to.host=Migrer instansen til en annen vert
label.migrate.instance.to.ps=Migrer instansen til en annen sekund\u00e6r lagring.
label.migrate.volume=Migrer volumet til en annen prim\u00e6rlagring.
label.move.down.row=Flytt \u00e9n rad ned
label.move.to.top=Flytt til toppen
label.move.up.row=Flytt \u00e9n rad opp
label.my.network=Mitt nettverk
label.my.templates=Mine maler
label.netScaler=NetScaler
label.network.device=Nettverksenhet
label.network.device.type=Type nettverksenhet
label.networking.and.security=Nettverk og sikkerhet
label.network.label.display.for.blank.value=Bruk standard gateway
label.networks=Nettverk
label.new=Ny
label.new.project=Nytt prosjekt
label.new.vm=Ny VM
label.no.data=Ingen data \u00e5 vise
label.no.thanks=Nei, takk
label.notifications=Notifikasjoner
label.ok=OK
label.order=Rekkef\u00f8lge
label.physical.network.ID=Fysisk nettverksid
label.PING.CIFS.password=PING CIFS passord
label.PING.CIFS.username=PING CIFS brukernavn
label.PING.dir=PING-mappe
label.PING.storage.IP=PING lagrings-IP
label.please.specify.netscaler.info=Vennligst spesifiser NetScaler-info
label.port.forwarding.policies=Regler for portvideresending
label.previous=Forrige
label.project.dashboard=Prosjektoversikt
label.project.id=Prosjektid
label.project.invite=Inviter til prosjekt
label.project.name=Prosjektnavn
label.project=Prosjekt
label.projects=Prosjekter
label.project.view=Prosjektvisning
label.providers=Tilbydere
label.public.network=Offentlig nettverk
label.Pxe.server.type=PXE Servertype
label.redundant.router.capability=Redundant ruter
label.redundant.router=Redundant ruter
label.redundant.state=Redundant tilstand
label.remind.later=P\u00e5minn meg senere
label.remove.ip.range=Fjern IP-rekke
label.removing=Fjerner
label.restart.network=Nettverksomstart
label.restart.required=Omstart p\u00e5krevd
label.review=Gjennomg\u00e5
label.revoke.project.invite=Tilbakekall invitasjonen
label.round.robin=Ringdistribusjon
label.save.and.continue=Lagre og fortsett
label.select.a.template=Velg en mal
label.select.a.zone=Velg en sone
label.select.iso.or.template=Velg ISO eller mal
label.select.project=Velg prosjekt
label.select-view=Velg visning
label.setup.network=Nettverksoppsett
label.setup=Oppsett
label.setup.zone=Soneoppsett
label.set.up.zone.type=Oppsett av sonetype
label.shutdown.provider=Steng tilbyder
label.skip.guide=Jeg har brukt CloudStack tidligere. Hopp over denne veiviseren
label.source=Kilde
label.SR.name = SR navnelapp
label.srx=SRX
label.start.IP=Start-IP
label.start.vlan=Start-VLAN
label.static.nat.enabled=Statisk NAT aktivert
label.stickiness=Klebrighet
label.storage.tags=Merkelapper for lagring
label.storage.traffic=Lagringstrafikk
label.subdomain.access=Tilgang for underdomene
label.supported.source.NAT.type=Supporterte kilde-NAT typer
label.suspend.project=Suspender prosjekt
label.task.completed=Oppgave utf\u00f8rt
label.TFTP.dir=TFTP-mappe
label.timeout=Tidsavbrudd
label.token=Kode
label.traffic.types=Trafikktyper
label.update.project.resources=Oppdater prosjektressurser
label.view.all=Vis alle
label.view.console=Se konsoll
label.viewing=Viser
label.view=Vis
label.virtual.machines=Virtuelle maskiner
label.virtual.router=Virtuell ruter
label.vm.display.name=Visningsnavn for VM
label.VMFS.datastore=VMFS lagringsomr\u00e5de
label.vm.name=VM-navn
label.vmware.traffic.label=VMware trafikketikett
label.volgroup=Volumgruppe
label.what.is.cloudstack=Hva er CloudStack&\#8482?
label.xen.traffic.label=XenServer trafikketikett
label.zone.details=Sonedetaljer
label.zone.name=Sonenavn
label.zone.type=Sonetype
message.acquire.new.ip=Vennligst bekreft at du \u00f8nsker \u00e5 anskaffe en ny IP for dette nettverket
message.action.disable.pod=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne poden
message.action.disable.zone=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere denne sonen.
message.action.enable.cluster=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne klyngen.
message.action.enable.pod=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne poden.
message.action.enable.zone=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne sonen.
message.activate.project=Er du sikker p\u00e5 du \u00f8nsker \u00e5 aktivere dette prosjektet?
message.add.guest.network=Vennligst bekreft at du \u00f8nsker \u00e5 legge til gjestenettverk
message.adding.host=Legger til vert
message.adding.Netscaler.device=Legg til NetScaler-enhet
message.alert.state.detected=Alarm oppdaget
message.change.password=Vennligst endre ditt passord
message.configuring.guest.traffic=Konfigurerer gjestetrafikk
message.configuring.physical.networks=Konfigurer fysisk nettverk
message.configuring.public.traffic=Konfigurerer offentlig trafikk
message.configuring.storage.traffic=Konfigurerer lagringstrafikk
message.confirm.destroy.router=Vennligst bekreft at du \u00f8nsker \u00e5 fjerne denne ruteren
message.confirm.disable.provider=Vennligst bekreft at du \u00f8nsker \u00e5 deaktivere denne tilbyderen
message.confirm.enable.provider=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere denne tilbyderen
message.confirm.join.project=Vennligst bekreft at du \u00f8nsker \u00e5 delta i dette prosjektet.
message.confirm.shutdown.provider=Vennligst bekreft at du \u00f8nsker \u00e5 stenge denne tilbyderen
message.create.template=Er du sikker p\u00e5 at du \u00f8nsker \u00e5 lage malen?
message.creating.cluster=Oppretter klynge
message.creating.pod=Oppretter pod
message.creating.primary.storage=Oppretter prim\u00e6rlagring
message.creating.secondary.storage=Oppretter sekund\u00e6rlagring
message.decline.invitation=Er du sikker p\u00e5 du \u00f8nsker \u00e5 avvise denne prosjektinvitasjonen?
message.delete.project=Er du sikker p\u00e5 du \u00f8nsker \u00e5 slette dette prosjektet?
message.detach.disk=Er du sikker p\u00e5 at du \u00f8nsker \u00e5 frakoble denne disken?
message.download.volume.confirm=Vennligst bekreft at du \u00f8nsker \u00e5 laste ned dette volumet
message.enable.vpn=Vennligst bekreft at du \u00f8nsker \u00e5 aktivere VPN-tilgang for denne IP-adressen
message.enabling.zone=Aktiverer sonen
message.enter.token=Vennligst skriv inn koden du fikk i invitasjonsmailen.
message.installWizard.click.retry=Klikk p\u00e5 knappen for \u00e5 pr\u00f8ve oppstart p\u00e5 nytt.
message.installWizard.tooltip.addCluster.name=Klyngenavnet. Dette kan v\u00e6re hva som helst og er ikke benyttet av CloudStack.
message.installWizard.tooltip.addHost.hostname=DNS-navnet eller IP-adressen til verten.
message.installWizard.tooltip.addHost.password=Dette er passordet for brukeren gjengitt ovenfor (fra din XenServer-installasjon).
message.installWizard.tooltip.addHost.username=Vanligvis root.
message.installWizard.tooltip.addPod.name=Et navn for poden
message.installWizard.tooltip.addPod.reservedSystemGateway=Gatewayen til vertene i poden.
message.installWizard.tooltip.addPod.reservedSystemNetmask=Nettmasken benyttet p\u00e5 subnettet gjestene vil bruke.
message.installWizard.tooltip.addPrimaryStorage.name=Navnet p\u00e5 lagringsenheten.
message.installWizard.tooltip.addPrimaryStorage.path=(for NFS) I NFS er dette den eksporterte filbanen fra serveren. Banen (for SharedMountPoint). Med KVM er dette banen p\u00e5 hver vert hvor denne prim\u00e6re lagringen er tilkoblet. For eksempel\: "mnt/primary".
message.installWizard.tooltip.addPrimaryStorage.server=(for NFS, iSCSI eller PreSetup) IP-adressen eller DNS-navnet til lagringsenheten.
message.installWizard.tooltip.addSecondaryStorage.nfsServer=IP-adressen til NFS-serveren som inneholder sekund\u00e6r lagring
message.installWizard.tooltip.addSecondaryStorage.path=Den eksporterte filbanen, fra serveren du spesifiserte ovenfor
message.installWizard.tooltip.addZone.dns1=Dette er DNS-serveren som benyttes av gjeste-VMer i sonen. Disse DNS-serverene vil bli aksessert via det offentlige nettverket du vil legge til senere. De offentlige IP-adressene for en sone m\u00e5 ha en rute til DNS-serveren navngitt her.
message.installWizard.tooltip.addZone.dns2=Dette er DNS-serveren som benyttes av gjeste-VMer i sonen. Disse DNS-serverene vil bli aksessert via det offentlige nettverket du vil legge til senere. De offentlige IP-adressene for en sone m\u00e5 ha en rute til DNS-serveren navngitt her.
message.installWizard.tooltip.addZone.name=Et navn for sonen
message.installWizard.tooltip.configureGuestTraffic.description=En beskrivelse av nettverket
message.installWizard.tooltip.configureGuestTraffic.guestGateway=Gatewayen gjestene skal bruke
message.installWizard.tooltip.configureGuestTraffic.guestNetmask=Nettmasken benyttet p\u00e5 subnettet gjestene skal bruke
message.installWizard.tooltip.configureGuestTraffic.name=Et navn for nettverket
message.instanceWizard.noTemplates=Du har ingen maler tilgjengelig. Vennligst legg til en kompatibel mal og kj\u00f8r instansveiviseren.
message.ip.address.changed=Din IP-adresse kan ha endret seg. \u00d8nsker du \u00e5 oppdatere visningen? Merk at detaljvisningen vil i s\u00e5fall lukkes.
message.iso.desc=Diskimage som inneholder data etter oppstartsbar media for OS
message.join.project=Du har n\u00e5 deltatt i et prosjekt. Vennligst bytt til prosjektvisning for \u00e5 se prosjektet.
message.migrate.instance.to.host=Vennligst bekreft at du \u00f8nsker \u00e5 migrere instansen til en annen vert.
message.migrate.instance.to.ps=Vennligst bekreft at du \u00f8nsker \u00e5 migrere instansen til en annen sekund\u00e6r lagring.
message.migrate.volume=Vennligst bekreft at du \u00f8nsker \u00e5 migrere volumet til en annen prim\u00e6rlagring.
message.no.projects.adminOnly=Du har ingen prosjekter.<br/>Vennligst be din administrator om \u00e5 opprette et nytt prosjekt.
message.no.projects=Du har ingen prosjekter.<br/>Vennligst opprett et nytt fra prosjektseksjonen.
message.pending.projects.1=Du har f\u00f8lgende prosjektinvitasjoner\:
message.pending.projects.2=For \u00e5 se, vennligst g\u00e5 til prosjektseksjonen og velg invitasjoner fra nedtrekksmenyen.
message.please.add.at.lease.one.traffic.range=Vennligst legg til minst \u00e9tt trafikkniv\u00e5
message.please.proceed=Vennligst fortsett til neste steg
message.please.select.a.configuration.for.your.zone=Vennligst velg en konfigurasjon for din sone
message.please.select.a.different.public.and.management.network.before.removing=Vennligst velg et annet offentlig- og administrasjonsnettverk f\u00f8r du fjerner
message.please.select.networks=Vennligst velg nettverk for din VM
message.please.wait.while.zone.is.being.created=Vennlist vent mens din sone opprettes. Dette kan ta noe tid...
message.project.invite.sent=Invitasjon sendt til bruker. De vil bli lagt til prosjektet s\u00e5 snart de har akseptert invitasjonen
message.reset.password.warning.notPasswordEnabled=Denne malen vil bli opprettet uten passord
message.reset.password.warning.notStopped=Din instans m\u00e5 stoppes f\u00f8r man fors\u00f8ker \u00e5 bytte n\u00e5v\u00e6rende passord
message.select.iso=Vennligst velg en ISO for din nye virtuelle instans.
message.select.item=Vennligst velg et element
message.select.security.groups=Vennligst velg sikkerhetsgruppe(r) for din nye VM
message.select.template=Vennligst velg en mal for din nye virtuelle instans.
message.setup.successful=Oppsettet av nettskyen er vellykket\!
message.step.2.desc=
message.step.3.desc=
message.suspend.project=Er du sikker du \u00f8nsker \u00e5 pause dette prosjektet?
message.template.desc=OS-image som kan brukes til \u00e5 starte VMer
message.vm.review.launch=Vennligst vurder f\u00f8lgende informasjon og bekreft at din virtuelle instans er korrekt f\u00f8r kj\u00f8ring
message.you.must.have.at.least.one.physical.network=Du trenger minst ett fysisk nettverk
message.Zone.creation.complete=Opprettelsen av sonen utf\u00f8rt
message.zone.creation.complete.would.you.like.to.enable.this.zone=Soneopprettelse fullf\u00f8rt. \u00d8nsker du \u00e5 aktivere denne sonen?
message.zone.no.network.selection=Sonen du har valgt har ingen mulighet for valg av nettverk.
notification.reboot.instance=Omstart av instans
notification.start.instance=Start instans
notification.stop.instance=Stopp instans
state.Accepted=Akseptert
state.Active=Aktiv
state.Allocated=Allokert
state.BackedUp=Sikkerhetskopiert
state.BackingUp=Sikkerhetskopierer
state.Completed=Utf\u00f8rt
state.Creating=Oppretter
state.Declined=Avvist
state.Destroyed=Destruert
state.Disabled=Inaktiv
state.Error=Feil
state.Expunging=Fjerner
state.Pending=Venter
state.ready=Klar
state.Ready=Klar
state.Running=Kj\u00f8rer
state.Starting=Starter
state.Stopped=Stoppet
state.Suspended=Pauset
ui.listView.filters.all=Alle
ui.listView.filters.mine=Mine

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -455,16 +455,15 @@
</goals>
<configuration>
<target if="${nonoss}">
<echo>test</echo>
<replaceregexp
file="${basedir}/target/generated-webapp/WEB-INF/web.xml"
match="classpath:componentContext.xml"
replace="classpath:nonossComponentContext.xml" byline="true" />
<exec executable="cp">
<arg value="-r" />
<arg value="${basedir}/../plugins/network-elements/cisco-vnmc/scripts" />
<arg value="${basedir}/target/generated-webapp/WEB-INF/classes/" />
</exec>
<copy overwrite="true" todir="${basedir}/target/generated-webapp/WEB-INF/classes/scripts">
<fileset dir="${basedir}/../plugins/network-elements/cisco-vnmc/scripts">
<include name="**/*" />
</fileset>
</copy>
</target>
</configuration>
</execution>

View File

@ -537,10 +537,14 @@
-->
<bean id="UserDispersingPlanner" class="com.cloud.deploy.UserDispersingPlanner">
<property name="name" value="UserDispersing"/>
<property name="StoragePoolAllocators" value="#{storagePoolAllocators.Adapters}" />
<property name="HostAllocators" value="#{hostAllocators.Adapters}" />
</bean>
<bean id="UserConcentratedPodPlanner" class="com.cloud.deploy.UserConcentratedPodPlanner">
<property name="name" value="UserConcentratedPod"/>
<property name="StoragePoolAllocators" value="#{storagePoolAllocators.Adapters}" />
<property name="HostAllocators" value="#{hostAllocators.Adapters}" />
</bean>
<bean id="clusterBasedAgentLoadBalancerPlanner" class="com.cloud.cluster.agentlb.ClusterBasedAgentLoadBalancerPlanner">

View File

@ -133,6 +133,7 @@ public class AsyncJobVO implements AsyncJob {
this.callbackType = CALLBACK_POLLING;
this.uuid = UUID.randomUUID().toString();
this.instanceId = instanceId;
this.instanceType = instanceType;
}
public AsyncJobVO(long userId, long accountId, String cmd, String cmdInfo,

View File

@ -18,9 +18,11 @@ package com.cloud.vm;
import java.util.HashMap;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;
@ -36,7 +38,8 @@ public class UserVmVO extends VMInstanceVO implements UserVm {
@Column(name="iso_id", nullable=true, length=17)
private Long isoId = null;
@Column(name="user_data", updatable=true, nullable=true, length=2048)
@Column(name="user_data", updatable=true, nullable=true, length=32768)
@Basic(fetch = FetchType.LAZY)
private String userData;
@Column(name="display_name", updatable=true, nullable=true)
@ -119,6 +122,7 @@ public class UserVmVO extends VMInstanceVO implements UserVm {
return details != null ? details.get(name) : null;
}
@Override
public void setAccountId(long accountId){
this.accountId = accountId;
}

View File

@ -3,37 +3,62 @@
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section id="about-working-with-vms">
<title>About Working with Virtual Machines</title>
<para>&PRODUCT; provides administrators with complete control over the lifecycle of all guest VMs executing in the cloud. &PRODUCT; provides several guest management operations for end users and administrators. VMs may be stopped, started, rebooted, and destroyed.</para>
<para>Guest VMs have a name and group. VM names and groups are opaque to &PRODUCT; and are available for end users to organize their VMs. Each VM can have three names for use in different contexts. Only two of these names can be controlled by the user:</para>
<itemizedlist>
<listitem><para>Instance name a unique, immutable ID that is generated by &PRODUCT;, and can not be modified by the user. This name conforms to the requirements in IETF RFC 1123.</para></listitem>
<listitem><para>Display name the name displayed in the &PRODUCT; web UI. Can be set by the user. Defaults to instance name.</para></listitem>
<listitem><para>Name host name that the DHCP server assigns to the VM. Can be set by the user. Defaults to instance name</para></listitem>
</itemizedlist>
<para>Guest VMs can be configured to be Highly Available (HA). An HA-enabled VM is monitored by the system. If the system detects that the VM is down, it will attempt to restart the VM, possibly on a different host. For more information, see HA-Enabled Virtual Machines on </para>
<para>Each new VM is allocated one public IP address. When the VM is started, &PRODUCT; automatically creates a static NAT between this public IP address and the private IP address of the VM.</para>
<para>If elastic IP is in use (with the NetScaler load balancer), the IP address initially allocated to the new VM is not marked as elastic. The user must replace the automatically configured IP with a specifically acquired elastic IP, and set up the static NAT mapping between this new IP and the guest VMs private IP. The VMs original IP address is then released and returned to the pool of available public IPs.</para>
<para>&PRODUCT; cannot distinguish a guest VM that was shut down by the user (such as with the “shutdown” command in Linux) from a VM that shut down unexpectedly. If an HA-enabled VM is shut down from inside the VM, &PRODUCT; will restart it. To shut down an HA-enabled VM, you must go through the &PRODUCT; UI or API.</para>
<title>About Working with Virtual Machines</title>
<para>&PRODUCT; provides administrators with complete control over the lifecycle of all guest VMs
executing in the cloud. &PRODUCT; provides several guest management operations for end users and
administrators. VMs may be stopped, started, rebooted, and destroyed.</para>
<para>Guest VMs have a name and group. VM names and groups are opaque to &PRODUCT; and are
available for end users to organize their VMs. Each VM can have three names for use in different
contexts. Only two of these names can be controlled by the user:</para>
<itemizedlist>
<listitem>
<para>Instance name &ndash; a unique, immutable ID that is generated by &PRODUCT; and can not
be modified by the user. This name conforms to the requirements in IETF RFC 1123.</para>
</listitem>
<listitem>
<para>Display name &ndash; the name displayed in the &PRODUCT; web UI. Can be set by the user.
Defaults to instance name.</para>
</listitem>
<listitem>
<para>Name &ndash; host name that the DHCP server assigns to the VM. Can be set by the user.
Defaults to instance name</para>
</listitem>
</itemizedlist>
<note>
<para>You can append the display name of a guest VM to its internal name. For more information,
see <xref linkend="append-displayname-vms"/>.</para>
</note>
<para>Guest VMs can be configured to be Highly Available (HA). An HA-enabled VM is monitored by
the system. If the system detects that the VM is down, it will attempt to restart the VM,
possibly on a different host. For more information, see HA-Enabled Virtual Machines on </para>
<para>Each new VM is allocated one public IP address. When the VM is started, &PRODUCT;
automatically creates a static NAT between this public IP address and the private IP address of
the VM.</para>
<para>If elastic IP is in use (with the NetScaler load balancer), the IP address initially
allocated to the new VM is not marked as elastic. The user must replace the automatically
configured IP with a specifically acquired elastic IP, and set up the static NAT mapping between
this new IP and the guest VMs private IP. The VMs original IP address is then released and
returned to the pool of available public IPs. Optionally, you can also decide not to allocate a
public IP to a VM in an EIP-enabled Basic zone. For more information on Elastic IP, see <xref
linkend="elastic-ip"/>.</para>
<para>&PRODUCT; cannot distinguish a guest VM that was shut down by the user (such as with the
“shutdown” command in Linux) from a VM that shut down unexpectedly. If an HA-enabled VM is shut
down from inside the VM, &PRODUCT; will restart it. To shut down an HA-enabled VM, you must go
through the &PRODUCT; UI or API.</para>
</section>

View File

@ -39,5 +39,29 @@
<para>The response parameters are: id, ipaddress, secondaryips, gateway, netmask, macaddr,
broadcasturi, isolationuri, isdefault,</para>
</listitem>
<listitem>
<para>deleteAlerts </para>
<para>Deletes the specified alerts. The request parameters are: ids (allowed to pass one or
more IDs separated by comma); type (string); olderthan (yyyy-mm-dd format).</para>
<para>The response parameters are: true, false </para>
</listitem>
<listitem>
<para>archiveAlerts</para>
<para>Archives the specified alerts. The request parameters are: ids (allowed to pass one or
more IDs separated by comma); type (string); olderthan (yyyy-mm-dd format).</para>
<para>The response parameters are: true, false </para>
</listitem>
<listitem>
<para>deleteEvents </para>
<para>Deletes the specified events. The request parameters are: ids (allowed to pass one or
more IDs separated by comma); type (string); olderthan (yyyy-mm-dd format).</para>
<para>The response parameters are: true, false</para>
</listitem>
<listitem>
<para>archiveEvents</para>
<para>Archives the specified events. The request parameters are: ids (allowed to pass one or
more IDs separated by comma); type (string); olderthan (yyyy-mm-dd format).</para>
<para>The response parameters are: true, false </para>
</listitem>
</itemizedlist>
</section>

View File

@ -0,0 +1,84 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section id="append-displayname-vms">
<title>Appending a Display Name to the Guest VMs Internal Name</title>
<para>Every guest VM has an internal name. The host uses the internal name to identify the guest
VMs. &PRODUCT; gives you an option to provide a guest VM with a display name. You can set this
display name as the internal name so that the vCenter can use it to identify the guest VM. A new
global parameter, vm.instancename.flag, has now been added to achieve this functionality.</para>
<para>The default format of the internal name is
i-&lt;user_id&gt;-&lt;vm_id&gt;-&lt;instance.name&gt;, where instance.name is a global
parameter. However, If vm.instancename.flag is set to true, and if a display name is provided
during the creation of a guest VM, the display name is appended to the internal name of the
guest VM on the host. This makes the internal name format as
i-&lt;user_id&gt;-&lt;vm_id&gt;-&lt;displayName&gt;. The default value of vm.instancename.flag
is set to false. This feature is intended to make the correlation between instance names and
internal names easier in large data center deployments.</para>
<para>The following table explains how a VM name is displayed in different scenarios.</para>
<informaltable>
<tgroup cols="5" align="left" colsep="1" rowsep="1">
<colspec colnum="1" colname="c1" colwidth="1.0*"/>
<colspec colnum="2" colname="c2" colwidth="1.31*"/>
<colspec colnum="3" colname="c3" colwidth="1.07*"/>
<colspec colnum="4" colname="c4" colwidth="2.6*"/>
<colspec colnum="5" colname="c5" colwidth="4.65*"/>
<thead>
<row>
<entry><para>User-Provided Display Name </para></entry>
<entry><para>vm.instancename.flag</para></entry>
<entry><para>Hostname on the VM</para></entry>
<entry><para>Name on vCenter</para></entry>
<entry><para>Internal Name</para></entry>
</row>
</thead>
<tbody>
<row>
<entry><para>Yes</para></entry>
<entry><para>True</para></entry>
<entry><para>Display name</para></entry>
<entry><para>i-&lt;user_id&gt;-&lt;vm_id&gt;-displayName</para></entry>
<entry><para>i-&lt;user_id&gt;-&lt;vm_id&gt;-displayName</para></entry>
</row>
<row>
<entry><para>No</para></entry>
<entry><para>True</para></entry>
<entry><para>UUID</para></entry>
<entry><para>i-&lt;user_id&gt;-&lt;vm_id&gt;-&lt;instance.name&gt;</para></entry>
<entry><para>i-&lt;user_id&gt;-&lt;vm_id&gt;-&lt;instance.name&gt;</para></entry>
</row>
<row>
<entry><para>Yes</para></entry>
<entry><para>False</para></entry>
<entry><para>Display name</para></entry>
<entry><para>i-&lt;user_id&gt;-&lt;vm_id&gt;-&lt;instance.name&gt;</para></entry>
<entry><para>i-&lt;user_id&gt;-&lt;vm_id&gt;-&lt;instance.name&gt;</para></entry>
</row>
<row>
<entry><para>No</para></entry>
<entry><para>False</para></entry>
<entry><para>UUID</para></entry>
<entry><para>i-&lt;user_id&gt;-&lt;vm_id&gt;-&lt;instance.name&gt;</para></entry>
<entry><para>i-&lt;user_id&gt;-&lt;vm_id&gt;-&lt;instance.name&gt;</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>

View File

@ -29,6 +29,15 @@
</row>
</thead>
<tbody>
<row>
<entry><para>createVlanIpRange</para></entry>
<entry>
<para>No new parameter has been added. However, the current functionality has been
extended to add guest IPs from a different subnet in shared networks in a Basic zone.
Ensure that you provide netmask and gateway if you are adding guest IPs from a
different subnet. </para>
</entry>
</row>
<row>
<entry><para>updateResourceLimit</para></entry>
<entry>
@ -101,6 +110,24 @@
</itemizedlist>
</entry>
</row>
<row>
<entry><para>UpdatePhysicalNetwork</para></entry>
<entry>
<para>Added the following request parameters:</para>
<itemizedlist>
<listitem>
<para>vlan (adds a new VLAN range to the existing VLAN range)</para>
</listitem>
<listitem>
<para>removelan (removes the specified VLAN range)</para>
</listitem>
</itemizedlist>
<note>
<para>The removevlan and vlan parameters can be used together. If the VLAN range that
you are trying to remove is in use, the operation will not succeed.</para>
</note>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>

View File

@ -193,6 +193,51 @@
<para condition="admin">For more information, see <xref linkend="system-service-offerings"/>.</para>
<para condition="install">For more information, see the Administration Guide.</para>
</listitem>
<listitem>
<para><emphasis role="bold">LB Isolation</emphasis>: Specify what type of load balancer
isolation you want for the network: Shared or Dedicated.</para>
<para><emphasis role="bold">Dedicated</emphasis>: If you select dedicated LB isolation, a
dedicated load balancer device is assigned for the network from the pool of dedicated
load balancer devices provisioned in the zone. If no sufficient dedicated load balancer
devices are available in the zone, network creation fails. Dedicated device is a good
choice for the high-traffic networks that make full use of the device's
resources.</para>
<para><emphasis role="bold">Shared</emphasis>: If you select shared LB isolation, a shared
load balancer device is assigned for the network from the pool of shared load balancer
devices provisioned in the zone. While provisioning &PRODUCT; picks the shared load
balancer device that is used by the least number of accounts. Once the device reaches
its maximum capacity, the device will not be allocated to a new account.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Mode</emphasis>: You can select either Inline mode or Side by
Side mode:</para>
<para><emphasis role="bold">Inline mode</emphasis>: Supported only for Juniper SRX
firewall and BigF5 load balancer devices. In inline mode, a firewall device is placed in
front of a load balancing device. The firewall acts as the gateway for all the incoming
traffic, then redirect the load balancing traffic to the load balancer behind it. The
load balancer in this case will not have the direct access to the public network. </para>
<para><emphasis role="bold">Side by Side</emphasis>: In side by side mode, a firewall
device is deployed in parallel with the load balancer device. So the traffic to the load
balancer public IP is not routed through the firewall, and therefore, is exposed to the
public network.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Associate Public IP</emphasis>: Select this option if you want
to assign a public IP address to the VMs deployed in the guest network. This option is
available only if</para>
<itemizedlist>
<listitem>
<para>Guest network is shared.</para>
</listitem>
<listitem>
<para>StaticNAT is enabled.</para>
</listitem>
<listitem>
<para>Elastic IP is enabled.</para>
</listitem>
</itemizedlist>
<para>For information on Elastic IP, see <xref linkend="elastic-ip"/>.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Redundant router capability</emphasis>. Available only when
Virtual Router is selected as the Source NAT provider. Select this option if you want to

View File

@ -0,0 +1,59 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section id="delete-event-alerts">
<title>Deleting and Archiving Events and Alerts</title>
<para>&PRODUCT; provides you the ability to delete or archive the existing alerts and events that
you no longer want to implement. You can regularly delete or archive any alerts or events that
you cannot, or do not want to resolve from the database.</para>
<para>You can delete or archive individual alerts or events either directly by using the Quickview
or by using the Details page. If you want to delete multiple alerts or events at the same time,
you can use the respective context menu. You can delete alerts or events by category for a time
period.</para>
<para>In order to support the delete or archive alerts, the following global parameters have been
added:</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">alert.purge.delay</emphasis>: The alerts older than specified
number of days are purged. Set the value to 0 to never purge alerts automatically.</para>
</listitem>
<listitem>
<para><emphasis role="bold">alert.purge.interval</emphasis>: The interval in seconds to wait
before running the alert purge thread. The default is 86400 seconds (one day).</para>
</listitem>
</itemizedlist>
<note>
<para>Archived alerts or events cannot be viewed in the UI, or by using the API. They are
maintained in the database for auditing or compliance purposes.</para>
</note>
<formalpara>
<title>Permissions</title>
<para>Consider the following:</para>
</formalpara>
<itemizedlist>
<listitem>
<para>The root admin can delete or archive one or multiple alerts or events.</para>
</listitem>
<listitem>
<para>The domain admin or end user can delete or archive one or multiple events.</para>
</listitem>
</itemizedlist>
</section>

90
docs/en-US/elastic-ip.xml Normal file
View File

@ -0,0 +1,90 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section id="elastic-ip">
<title>About Elastic IP</title>
<para>Elastic IP (EIP) addresses are the IP addresses that are associated with an account, and act
as static IP addresses. The account owner has complete control over the Elastic IP addresses
that belong to the account. You can allocate an Elastic IP to a VM of your choice from the EIP
pool of your account. Later if required you can reassign the IP address to a different VM. This
feature is extremely helpful during VM failure. Instead of replacing the VM which is down, the
IP address can be reassigned to a new VM in your account. Elastic IP service provides Static NAT
(1:1) service in an EIP-enabled basic zone. The default network offering,
DefaultSharedNetscalerEIPandELBNetworkOffering, provides your network with EIP and ELB network
services if a NetScaler device is deployed in your zone. Similar to the public IP address,
Elastic IP addresses are also mapped to their associated private IP addresses by using Stactic
NAT.</para>
<para>The EIP work flow is as follows:</para>
<itemizedlist>
<listitem>
<para>When a user VM is deployed, a public IP is automatically acquired from the pool of
public IPs configured in the zone. This IP is owned by the VM's account.</para>
</listitem>
<listitem>
<para>Each VM will have its own private IP. When the user VM starts, Static NAT is provisioned
on the NetScaler device by using the Inbound Network Address Translation (INAT) and Reverse
NAT (RNAT) rules between the public IP and the private IP.</para>
<note>
<para>Inbound NAT (INAT) is a type of NAT supported by NetScaler, in which the destination
IP address is replaced in the packets from the public network, such as the Internet, with
the private IP address of a VM in the private network. Reverse NAT (RNAT) is a type of NAT
supported by NetScaler, in which the source IP address is replaced in the packets
generated by a VM in the private network with the public IP address.</para>
</note>
<para/>
</listitem>
<listitem>
<para>This default public IP will be released in two cases:</para>
<itemizedlist>
<listitem>
<para>When the VM is stopped. When the VM starts, it again receives a new public IP, not
necessarily the same one allocated initially, from the pool of Public IPs.</para>
</listitem>
<listitem>
<para>The user acquires a public IP (Elastic IP). This public IP is associated with the
account, but will not be mapped to any private IP. However, the user can enable Static
NAT to associate this IP to the private IP of a VM in the account. The Static NAT rule
for the public IP can be disabled at any time. When Static NAT is disabled, a new public
IP is allocated from the pool, which is not necessarily be the same one allocated
initially.</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para>However, for the deployments where public IPs are limited resources, you have the
flexibility to choose not to allocate a public IP by default. You can use the Associate Public
IP option to turn on or off the automatic public IP assignment in the EIP-enabled Basic zones.
If you turn off the automatic public IP assignment while creating a network offering, only a
private IP is assigned to a VM when the VM is deployed with that network offering. Later, the
user can acquire an IP for the VM and enable static NAT.</para>
<para condition="admin">For more information on the Associate Public IP option, see <xref
linkend="creating-network-offerings"/>.</para>
<para condition="install">For more information on the Associate Public IP option, see the
Administration Guide.</para>
<note>
<para>The Associate Public IP feature is designed only for use with user VMs. The System VMs
continue to get both public IP and private by default, irrespective of the network offering
configuration.</para>
</note>
<para/>
<para>New deployments which use the default shared network offering with EIP and ELB services to
create a shared network in the Basic zone will continue allocating public IPs to each user
VM.</para>
</section>

View File

@ -11,9 +11,7 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@ -27,11 +25,12 @@
physical resources associated with a cloud environment. Events are used by monitoring systems,
usage and billing systems, or any other event-driven workflow systems to discern a pattern and
make the right business decision. In &PRODUCT; an event could be a state change of virtual or
psychical resources, an action performed by an user (action events), or policy based events
physical resources, an action performed by an user (action events), or policy based events
(alerts).</para>
<xi:include href="events-log.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="event-framework.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="standard-events.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="long-running-job-events.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="event-log-queries.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="delete-event-alerts.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
</section>

View File

@ -21,8 +21,12 @@
specific language governing permissions and limitations
under the License.
-->
<section id="guest-ip-ranges">
<title>Guest IP Ranges</title>
<para>The IP ranges for guest network traffic are set on a per-account basis by the user. This allows the users to configure their network in a fashion that will enable VPN linking between their guest network and their clients.</para>
<title>Guest IP Ranges</title>
<para>The IP ranges for guest network traffic are set on a per-account basis by the user. This
allows the users to configure their network in a fashion that will enable VPN linking between
their guest network and their clients.</para>
<para>In shared networks in Basic zone and Security Group-enabled Advanced networks, you will have
the flexibility to add multiple guest IP ranges from different subnets. You can add or remove
one IP range at a time.</para>
</section>

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -22,25 +22,66 @@
under the License.
-->
<section id="network-offerings">
<title>Network Offerings</title>
<note><para>For the most up-to-date list of supported network services, see the &PRODUCT; UI or call listNetworkServices.</para></note>
<para>A network offering is a named set of network services, such as:</para>
<itemizedlist>
<listitem><para>DHCP</para></listitem>
<listitem><para>DNS</para></listitem>
<listitem><para>Source NAT</para></listitem>
<listitem><para>Static NAT</para></listitem>
<listitem><para>Port Forwarding</para></listitem>
<listitem><para>Load Balancing</para></listitem>
<listitem><para>Firewall</para></listitem>
<listitem><para>VPN</para></listitem>
<listitem><para>Optional) Name one of several available providers to use for a given service, such as Juniper for the firewall</para></listitem>
<listitem><para>(Optional) Network tag to specify which physical network to use</para></listitem>
</itemizedlist>
<para>When creating a new VM, the user chooses one of the available network offerings, and that determines which network services the VM can use.</para>
<para>The &PRODUCT; administrator can create any number of custom network offerings, in addition to the default network offerings provided by &PRODUCT;. By creating multiple custom network offerings, you can set up your cloud to offer different classes of service on a single multi-tenant physical network. For example, while the underlying physical wiring may be the same for two tenants, tenant A may only need simple firewall protection for their website, while tenant B may be running a web server farm and require a scalable firewall solution, load balancing solution, and alternate networks for accessing the database backend.</para>
<note><para>If you create load balancing rules while using a network service offering that includes an external load balancer device such as NetScaler, and later change the network service offering to one that uses the &PRODUCT; virtual router, you must create a firewall rule on the virtual router for each of your existing load balancing rules so that they continue to function.</para></note>
<para>When creating a new virtual network, the &PRODUCT; administrator chooses which network offering to enable for that network. Each virtual network is associated with one network offering. A virtual network can be upgraded or downgraded by changing its associated network offering. If you do this, be sure to reprogram the physical network to match.</para>
<para>&PRODUCT; also has internal network offerings for use by &PRODUCT; system VMs. These network offerings are not visible to users but can be modified by administrators.</para>
<xi:include href="creating-network-offerings.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<title>Network Offerings</title>
<note>
<para>For the most up-to-date list of supported network services, see the &PRODUCT; UI or call
listNetworkServices.</para>
</note>
<para>A network offering is a named set of network services, such as:</para>
<itemizedlist>
<listitem>
<para>DHCP</para>
</listitem>
<listitem>
<para>DNS</para>
</listitem>
<listitem>
<para>Source NAT</para>
</listitem>
<listitem>
<para>Static NAT</para>
</listitem>
<listitem>
<para>Port Forwarding</para>
</listitem>
<listitem>
<para>Load Balancing</para>
</listitem>
<listitem>
<para>Firewall</para>
</listitem>
<listitem>
<para>VPN</para>
</listitem>
<listitem>
<para>(Optional) Name one of several available providers to use for a given service, such as
Juniper for the firewall</para>
</listitem>
<listitem>
<para>(Optional) Network tag to specify which physical network to use</para>
</listitem>
</itemizedlist>
<para>When creating a new VM, the user chooses one of the available network offerings, and that
determines which network services the VM can use.</para>
<para>The &PRODUCT; administrator can create any number of custom network offerings, in addition
to the default network offerings provided by &PRODUCT;. By creating multiple custom network
offerings, you can set up your cloud to offer different classes of service on a single
multi-tenant physical network. For example, while the underlying physical wiring may be the same
for two tenants, tenant A may only need simple firewall protection for their website, while
tenant B may be running a web server farm and require a scalable firewall solution, load
balancing solution, and alternate networks for accessing the database backend.</para>
<note>
<para>If you create load balancing rules while using a network service offering that includes an
external load balancer device such as NetScaler, and later change the network service offering
to one that uses the &PRODUCT; virtual router, you must create a firewall rule on the virtual
router for each of your existing load balancing rules so that they continue to
function.</para>
</note>
<para>When creating a new virtual network, the &PRODUCT; administrator chooses which network
offering to enable for that network. Each virtual network is associated with one network
offering. A virtual network can be upgraded or downgraded by changing its associated network
offering. If you do this, be sure to reprogram the physical network to match.</para>
<para>&PRODUCT; also has internal network offerings for use by &PRODUCT; system VMs. These network
offerings are not visible to users but can be modified by administrators.</para>
<xi:include href="creating-network-offerings.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
</section>

View File

@ -45,6 +45,7 @@
<xi:include href="ip-load-balancing.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="dns-dhcp.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="vpn.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="elastic-ip.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="inter-vlan-routing.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="configure-vpc.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="persistent-network.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>

View File

@ -0,0 +1,68 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section id="non-contiguous-vlan">
<title>Non Contiguous VLAN Ranges</title>
<para>&PRODUCT; provides you with the flexibility to add non contiguous VLAN ranges to your
network. The administrator can either update an existing VLAN range or add multiple non
contiguous VLAN ranges while creating a zone. You can also use the UpdatephysicalNetwork API to
extend the VLAN range.</para>
<section id="add-vlan-range">
<title>Adding a New VLAN Range</title>
<orderedlist>
<listitem><para>Log in to the CloudPlatform UI as an administrator or end user.</para></listitem>
<listitem>
<para>Ensure that the VLAN range does not already exist.</para>
</listitem>
<listitem>
<para>Check whether the new VLAN range overlaps with any existing ones. If overlaps, extend
the existing range. If does not overlap, add the new range.</para>
</listitem>
<listitem>
<para>In the left navigation, choose Infrastructure. On Zones, click View More, then click the zone to
which you want to work with.</para>
</listitem>
<listitem>
<para>Click Physical Network.</para>
</listitem>
<listitem>
<para>In the Guest node of the diagram, click Configure.</para>
</listitem>
<listitem>
<para>Click Add VLAN Ranges button <inlinemediaobject>
<imageobject>
<imagedata fileref="./images/add-vlan-icon.png"/>
</imageobject>
<textobject>
<phrase>add-vlan-ico.png: button to add a VLAN range.</phrase>
</textobject>
</inlinemediaobject></para>
<para>The Add VLAN Ranges dialog is displayed.</para>
</listitem>
<listitem>
<para>Specify the start and end of the VLAN range.</para>
</listitem>
<listitem>
<para>Click OK.</para>
</listitem>
</orderedlist>
</section>
</section>

View File

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
@ -21,11 +21,10 @@
specific language governing permissions and limitations
under the License.
-->
<chapter id="set-up-network-for-users">
<title>Setting Up Networking for Users</title>
<xi:include href="networks-for-users-overview.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="about-virtual-networks.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="network-service-providers.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="network-offerings.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<title>Setting Up Networking for Users</title>
<xi:include href="networks-for-users-overview.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="about-virtual-networks.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="network-service-providers.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="network-offerings.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
</chapter>

View File

@ -3,58 +3,88 @@
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>
<!-- Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section id="using-netscaler-load-balancers">
<title>About Using a NetScaler Load Balancer</title>
<para>Citrix NetScaler is supported as an external network element for load balancing in zones that use advanced networking (also called advanced zones). Set up an external load balancer when you want to provide load balancing through means other than &PRODUCT;s provided virtual router.</para>
<para>The NetScaler can be set up in direct (outside the firewall) mode. It must be added before any load balancing rules are deployed on guest VMs in the zone.</para>
<para>The functional behavior of the NetScaler with &PRODUCT; is the same as described in the &PRODUCT; documentation for using an F5 external load balancer. The only exception is that the F5 supports routing domains, and NetScaler does not. NetScaler can not yet be used as a firewall.</para>
<para>The Citrix NetScaler comes in three varieties. The following table summarizes how these variants are treated in &PRODUCT;.</para>
<informaltable>
<tgroup cols="3" align="left" colsep="1" rowsep="1">
<thead>
<row>
<entry><para>NetScaler ADC Type</para></entry>
<entry><para>Description of Capabilities</para></entry>
<entry><para>&PRODUCT; Supported Features</para></entry>
</row>
</thead>
<tbody>
<row>
<entry><para>MPX</para></entry>
<entry><para>Physical appliance. Capable of deep packet inspection. Can act as application firewall and load balancer</para></entry>
<entry><para>In advanced zones, load balancer functionality fully supported without limitation. In basic zones, static NAT, elastic IP (EIP), and elastic load balancing (ELB) are also provided</para></entry>
</row>
<row>
<entry><para>VPX</para></entry>
<entry><para>Virtual appliance. Can run as VM on XenServer, ESXi, and Hyper-V hypervisors. Same functionality as MPX</para></entry>
<entry><para>Supported only on ESXi. Same functional support as for MPX. &PRODUCT; will treat VPX and MPX as the same device type</para></entry>
</row>
<row>
<entry><para>SDX</para></entry>
<entry><para>Physical appliance. Can create multiple fully isolated VPX instances on a single appliance to support multi-tenant usage</para></entry>
<entry><para>&PRODUCT; will dynamically provision, configure, and manage the lifecycle of VPX instances on the SDX. Provisioned instances are added into &PRODUCT; automatically no manual configuration by the administrator is required. Once a VPX instance is added into &PRODUCT;, it is treated the same as a VPX on an ESXi host.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<title>About Using a NetScaler Load Balancer</title>
<para>Citrix NetScaler is supported as an external network element for load balancing in zones
that use isolated networking in advanced zones. Set up an external load balancer when you want
to provide load balancing through means other than &PRODUCT;s provided virtual router.</para>
<note>
<para>In a Basic zone, load balancing service is supported only if Elastic IP or Elastic LB
services are enabled.</para>
</note>
<para>When NetScaler load balancer is used to provide EIP or ELB services in a Basic zone, ensure
that all guest VM traffic must enter and exit through the NetScaler device. When inbound traffic
goes through the NetScaler device, traffic is routed by using the NAT protocol depending on the
EIP/ELB configured on the public IP to the private IP. The traffic that is originated from the
guest VMs usually goes through the layer 3 router. To ensure that outbound traffic goes through
NetScaler device providing EIP/ELB, layer 3 router must have a policy-based routing. A
policy-based route must be set up so that all traffic originated from the guest VM's are
directed to NetScaler device. This is required to ensure that the outbound traffic from the
guest VM's is routed to a public IP by using NAT.For more information on Elastic IP, see <xref
linkend="elastic-ip"/>. </para>
<para>The NetScaler can be set up in direct (outside the firewall) mode. It must be added before
any load balancing rules are deployed on guest VMs in the zone.</para>
<para>The functional behavior of the NetScaler with &PRODUCT; is the same as described in the
&PRODUCT; documentation for using an F5 external load balancer. The only exception is that the
F5 supports routing domains, and NetScaler does not. NetScaler can not yet be used as a
firewall.</para>
<para>To install and enable an external load balancer for &PRODUCT; management, see <phrase
condition="install"><xref linkend="external-guest-lb-integration"/>.</phrase>
<phrase condition="admin">External Guest Load Balancer Integration in the Installation
Guide.</phrase>
</para>
<para>The Citrix NetScaler comes in three varieties. The following table summarizes how these
variants are treated in &PRODUCT;.</para>
<informaltable>
<tgroup cols="3" align="left" colsep="1" rowsep="1">
<thead>
<row>
<entry><para>NetScaler ADC Type</para></entry>
<entry><para>Description of Capabilities</para></entry>
<entry><para>&PRODUCT; Supported Features</para></entry>
</row>
</thead>
<tbody>
<row>
<entry><para>MPX</para></entry>
<entry><para>Physical appliance. Capable of deep packet inspection. Can act as application
firewall and load balancer</para></entry>
<entry><para>In advanced zones, load balancer functionality fully supported without
limitation. In basic zones, static NAT, elastic IP (EIP), and elastic load balancing
(ELB) are also provided.</para></entry>
</row>
<row>
<entry><para>VPX</para></entry>
<entry><para>Virtual appliance. Can run as VM on XenServer, ESXi, and Hyper-V hypervisors.
Same functionality as MPX</para></entry>
<entry><para>Supported on ESXi and XenServer. Same functional support as for MPX.
&PRODUCT; will treat VPX and MPX as the same device type.</para></entry>
</row>
<row>
<entry><para>SDX</para></entry>
<entry><para>Physical appliance. Can create multiple fully isolated VPX instances on a
single appliance to support multi-tenant usage</para></entry>
<entry><para>&PRODUCT; will dynamically provision, configure, and manage the life cycle of
VPX instances on the SDX. Provisioned instances are added into &PRODUCT; automatically
no manual configuration by the administrator is required. Once a VPX instance is
added into &PRODUCT;, it is treated the same as a VPX on an ESXi host.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>

View File

@ -28,6 +28,7 @@
<xi:include href="stopping-and-starting-vms.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="vm-snapshots.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="changing-vm-name-os-group.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="append-displayname-vms.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="changing-service-offering-for-vm.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="manual-live-migration.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="deleting-vms.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>

View File

@ -40,4 +40,6 @@
different physical NIC and use the same set of VLANs if you run out of VLANs. Another advantage
is that you can use the same set of IPs for different customers, each one with their own routers
and the guest networks on different physical NICs.</para>
<xi:include href="vlan-allocation-eg.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="non-contiguous-vlan.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</section>

View File

@ -44,7 +44,7 @@ if echo $VERSION | grep SNAPSHOT ; then
else
DEFVER="-D_ver $REALVER"
DEFPRE=
DEFREL=
DEFREL="-D_rel 1"
fi
mkdir -p $RPMDIR/SPECS
@ -78,7 +78,7 @@ else
REALVER=`echo $VERSION`
DEFVER="-D_ver $REALVER"
DEFPRE=
DEFREL=
DEFREL="-D_rel 1"
fi
mkdir -p $RPMDIR/SPECS

View File

@ -519,6 +519,7 @@ setup_sshd(){
local ip=$1
local eth=$2
[ -f /etc/ssh/sshd_config ] && sed -i -e "s/^[#]*ListenAddress.*$/ListenAddress $ip/" /etc/ssh/sshd_config
sed -i "/3922/s/eth./$eth/" /etc/iptables/rules.v4
sed -i "/3922/s/eth./$eth/" /etc/iptables/rules
}
@ -691,6 +692,8 @@ setup_router() {
disable_rpfilter_domR
enable_fwding 1
chkconfig nfs-common off
cp /etc/iptables/iptables-router /etc/iptables/rules.v4
#for old templates
cp /etc/iptables/iptables-router /etc/iptables/rules
setup_sshd $ETH1_IP "eth1"
}
@ -763,6 +766,7 @@ EOF
enable_svc cloud 0
disable_rpfilter
enable_fwding 1
cp /etc/iptables/iptables-vpcrouter /etc/iptables/rules.v4
cp /etc/iptables/iptables-vpcrouter /etc/iptables/rules
setup_sshd $ETH0_IP "eth0"
cp /etc/vpcdnsmasq.conf /etc/dnsmasq.conf
@ -789,6 +793,7 @@ setup_dhcpsrvr() {
enable_svc cloud 0
enable_fwding 0
chkconfig nfs-common off
cp /etc/iptables/iptables-router /etc/iptables/rules.v4
cp /etc/iptables/iptables-router /etc/iptables/rules
if [ "$SSHONGUEST" == "true" ]
then
@ -824,6 +829,7 @@ setup_secstorage() {
[ "$ETH2_IP" == "0.0.0.0" ] && public_ip=$ETH1_IP
echo "$public_ip $NAME" >> /etc/hosts
cp /etc/iptables/iptables-secstorage /etc/iptables/rules.v4
cp /etc/iptables/iptables-secstorage /etc/iptables/rules
if [ "$hyp" == "vmware" ]; then
setup_sshd $ETH1_IP "eth1"
@ -848,6 +854,7 @@ setup_console_proxy() {
[ "$ETH2_IP" == "0.0.0.0" ] && public_ip=$ETH1_IP
sed -i /gateway/d /etc/hosts
echo "$public_ip $NAME" >> /etc/hosts
cp /etc/iptables/iptables-consoleproxy /etc/iptables/rules.v4
cp /etc/iptables/iptables-consoleproxy /etc/iptables/rules
if [ "$hyp" == "vmware" ]; then
setup_sshd $ETH1_IP "eth1"
@ -873,6 +880,7 @@ setup_elbvm() {
[ "$ETH2_IP" == "0.0.0.0" ] || [ "$ETH2_IP" == "" ] && public_ip=$ETH0_IP
echo "$public_ip $NAME" >> /etc/hosts
cp /etc/iptables/iptables-elbvm /etc/iptables/rules.v4
cp /etc/iptables/iptables-elbvm /etc/iptables/rules
if [ "$SSHONGUEST" == "true" ]
then

View File

@ -55,9 +55,10 @@ public class KVMHAMonitor extends KVMHABase implements Runnable {
public void removeStoragePool(String uuid) {
synchronized (_storagePool) {
NfsStoragePool pool = this._storagePool.get(uuid);
Script.runSimpleBashScript("umount " + pool._mountDestPath);
s_logger.debug("attempted to umount '" + pool._mountDestPath + "'");
this._storagePool.remove(uuid);
if (pool != null) {
Script.runSimpleBashScript("umount " + pool._mountDestPath);
this._storagePool.remove(uuid);
}
}
}

View File

@ -61,13 +61,19 @@ public class LibvirtConnection {
static public Connect getConnectionByVmName(String vmName) throws LibvirtException {
HypervisorType[] hypervisors = new HypervisorType[] {HypervisorType.KVM, Hypervisor.HypervisorType.LXC};
for (HypervisorType hypervisor : hypervisors) {
Connect conn = LibvirtConnection.getConnectionByType(hypervisor.toString());
if (conn.domainLookupByUUID(UUID.nameUUIDFromBytes(vmName.getBytes())) != null) {
return conn;
}
try {
Connect conn = LibvirtConnection.getConnectionByType(hypervisor.toString());
if (conn.domainLookupByUUID(UUID.nameUUIDFromBytes(vmName.getBytes())) != null) {
return conn;
}
} catch (Exception e) {
s_logger.debug("can't find connection: " + hypervisor.toString() + ", for vm: " + vmName + ", continue");
}
}
s_logger.debug("can't find which hypervisor the vm used , then use the default hypervisor");
// return the default connection
return getConnection();
}

View File

@ -94,18 +94,26 @@ public class KVMStoragePoolManager {
protocol = StoragePoolType.NetworkFilesystem;
}
return createStoragePool(uuid, sourceHost, 0, sourcePath, "", protocol);
// secondary storage registers itself through here
return createStoragePool(uuid, sourceHost, 0, sourcePath, "", protocol, false);
}
public KVMStoragePool createStoragePool( String name, String host, int port,
String path, String userInfo,
StoragePoolType type) {
// primary storage registers itself through here
return createStoragePool(name, host, port, path, userInfo, type, true);
}
private KVMStoragePool createStoragePool( String name, String host, int port,
String path, String userInfo,
StoragePoolType type, boolean primaryStorage) {
StorageAdaptor adaptor = getStorageAdaptor(type);
KVMStoragePool pool = adaptor.createStoragePool(name,
host, port, path, userInfo, type);
// LibvirtStorageAdaptor-specific statement
if (type == StoragePoolType.NetworkFilesystem) {
if (type == StoragePoolType.NetworkFilesystem && primaryStorage) {
KVMHABase.NfsStoragePool nfspool = new KVMHABase.NfsStoragePool(
pool.getUuid(), host, path, pool.getLocalPath(),
PoolType.PrimaryStorage);

View File

@ -36,6 +36,7 @@ import com.cloud.agent.api.Command;
import com.cloud.agent.api.CreatePrivateTemplateFromSnapshotCommand;
import com.cloud.agent.api.CreatePrivateTemplateFromVolumeCommand;
import com.cloud.agent.api.CreateVolumeFromSnapshotCommand;
import com.cloud.agent.api.UnregisterVMCommand;
import com.cloud.agent.api.storage.CopyVolumeCommand;
import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
import com.cloud.agent.api.to.NicTO;
@ -353,4 +354,12 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru {
return tokens[0] + "@" + vCenterIp;
}
@Override
public List<Command> finalizeExpunge(VirtualMachine vm) {
UnregisterVMCommand unregisterVMCommand = new UnregisterVMCommand(vm.getInstanceName());
List<Command> commands = new ArrayList<Command>();
commands.add(unregisterVMCommand);
return commands;
}
}

View File

@ -73,6 +73,7 @@ import com.cloud.agent.api.CreateVolumeFromSnapshotCommand;
import com.cloud.agent.api.DeleteStoragePoolCommand;
import com.cloud.agent.api.DeleteVMSnapshotAnswer;
import com.cloud.agent.api.DeleteVMSnapshotCommand;
import com.cloud.agent.api.UnregisterVMCommand;
import com.cloud.agent.api.GetDomRVersionAnswer;
import com.cloud.agent.api.GetDomRVersionCmd;
import com.cloud.agent.api.GetHostStatsAnswer;
@ -473,6 +474,8 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
answer = execute((CheckS2SVpnConnectionsCommand) cmd);
} else if (clz == ResizeVolumeCommand.class) {
return execute((ResizeVolumeCommand) cmd);
} else if (clz == UnregisterVMCommand.class) {
return execute((UnregisterVMCommand) cmd);
} else {
answer = Answer.createUnsupportedCommandAnswer(cmd);
}
@ -2853,10 +2856,6 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
vmMo.setCustomFieldValue(CustomFieldConstants.CLOUD_NIC_MASK, "0");
if (getVmState(vmMo) != State.Stopped) {
// before we stop VM, remove all possible snapshots on the VM to let
// disk chain be collapsed
s_logger.info("Remove all snapshot before stopping VM " + cmd.getVmName());
if (vmMo.safePowerOff(_shutdown_waitMs)) {
state = State.Stopped;
return new StopAnswer(cmd, "Stop VM " + cmd.getVmName() + " Succeed", 0, true);
@ -3689,6 +3688,43 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
}
}
protected Answer execute(UnregisterVMCommand cmd){
if (s_logger.isInfoEnabled()) {
s_logger.info("Executing resource UnregisterVMCommand: " + _gson.toJson(cmd));
}
VmwareContext context = getServiceContext();
VmwareHypervisorHost hyperHost = getHyperHost(context);
try {
VirtualMachineMO vmMo = hyperHost.findVmOnHyperHost(cmd.getVmName());
if (vmMo != null) {
try {
context.getService().unregisterVM(vmMo.getMor());
return new Answer(cmd, true, "unregister succeeded");
} catch(Exception e) {
s_logger.warn("We are not able to unregister VM " + VmwareHelper.getExceptionMessage(e));
}
String msg = "Expunge failed in vSphere. vm: " + cmd.getVmName();
s_logger.warn(msg);
return new Answer(cmd, false, msg);
} else {
String msg = "Unable to find the VM in vSphere to unregister, assume it is already removed. VM: " + cmd.getVmName();
s_logger.warn(msg);
return new Answer(cmd, true, msg);
}
} catch (Exception e) {
if (e instanceof RemoteException) {
s_logger.warn("Encounter remote exception to vCenter, invalidate VMware session context");
invalidateServiceContext();
}
String msg = "UnregisterVMCommand failed due to " + VmwareHelper.getExceptionMessage(e);
s_logger.error(msg);
return new Answer(cmd, false, msg);
}
}
@Override
public Answer execute(DestroyCommand cmd) {
if (s_logger.isInfoEnabled()) {

View File

@ -275,7 +275,7 @@ def remove_secip_log_for_vm(vmName):
try:
os.remove(logfilename)
except:
util.SMlog("Failed to delete rule log file " + logfilename)
logging.debug("Failed to delete rule log file " + logfilename)
result = False
return result

View File

@ -70,6 +70,7 @@ import com.cloud.host.dao.HostDao;
import com.cloud.network.dao.IPAddressDao;
import com.cloud.org.Grouping.AllocationState;
import com.cloud.resource.ResourceManager;
import com.cloud.server.ConfigurationServer;
import com.cloud.storage.StorageManager;
import com.cloud.storage.dao.VolumeDao;
import com.cloud.utils.NumbersUtil;
@ -106,7 +107,8 @@ public class AlertManagerImpl extends ManagerBase implements AlertManager {
@Inject private PrimaryDataStoreDao _storagePoolDao;
@Inject private ConfigurationDao _configDao;
@Inject private ResourceManager _resourceMgr;
@Inject private ConfigurationManager _configMgr;
@Inject private ConfigurationManager _configMgr;
@Inject ConfigurationServer _configServer;
private Timer _timer = null;
private float _cpuOverProvisioningFactor = 1;
private long _capacityCheckPeriod = 60L * 60L * 1000L; // one hour by default
@ -562,19 +564,30 @@ public class AlertManagerImpl extends ManagerBase implements AlertManager {
float overProvFactor = 1f;
capacity = _capacityDao.findCapacityBy(capacityType.intValue(), cluster.getDataCenterId(), null, cluster.getId());
if (capacityType == Capacity.CAPACITY_TYPE_STORAGE){
capacity.add(getUsedStats(capacityType, cluster.getDataCenterId(), cluster.getPodId(), cluster.getId()));
// cpu and memory allocated capacity notification threshold can be defined at cluster level, so getting the value if they are defined at cluster level
double capacityValue = 0;
switch (capacityType) {
case Capacity.CAPACITY_TYPE_STORAGE:
capacity.add(getUsedStats(capacityType, cluster.getDataCenterId(), cluster.getPodId(), cluster.getId()));
capacityValue = _capacityTypeThresholdMap.get(capacityType);
break;
case Capacity.CAPACITY_TYPE_CPU:
overProvFactor = ApiDBUtils.getCpuOverprovisioningFactor();
capacityValue = Double.parseDouble(_configServer.getConfigValue(Config.CPUCapacityThreshold.key(), Config.ConfigurationParameterScope.cluster.toString(), cluster.getId()));
break;
case Capacity.CAPACITY_TYPE_MEMORY:
capacityValue = Double.parseDouble(_configServer.getConfigValue(Config.MemoryCapacityThreshold.key(), Config.ConfigurationParameterScope.cluster.toString(), cluster.getId()));
break;
default:
capacityValue = _capacityTypeThresholdMap.get(capacityType);
}
if (capacity == null || capacity.size() == 0){
continue;
}
if (capacityType == Capacity.CAPACITY_TYPE_CPU){
overProvFactor = ApiDBUtils.getCpuOverprovisioningFactor();
}
double totalCapacity = capacity.get(0).getTotalCapacity() * overProvFactor;
double usedCapacity = capacity.get(0).getUsedCapacity() + capacity.get(0).getReservedCapacity();
if (totalCapacity != 0 && usedCapacity/totalCapacity > _capacityTypeThresholdMap.get(capacityType)){
if (totalCapacity != 0 && usedCapacity/totalCapacity > capacityValue){
generateEmailAlert(ApiDBUtils.findZoneById(cluster.getDataCenterId()), ApiDBUtils.findPodById(cluster.getPodId()), cluster,
totalCapacity, usedCapacity, capacityType);
}

View File

@ -25,6 +25,8 @@ import java.util.Set;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import com.cloud.network.rules.LoadBalancer;
import com.cloud.region.ha.GlobalLoadBalancingRulesService;
import org.apache.cloudstack.affinity.AffinityGroup;
import org.apache.cloudstack.affinity.AffinityGroupResponse;
import org.apache.cloudstack.affinity.dao.AffinityGroupDao;
@ -389,6 +391,7 @@ public class ApiDBUtils {
static VpcProvisioningService _vpcProvSvc;
static AffinityGroupDao _affinityGroupDao;
static AffinityGroupJoinDao _affinityGroupJoinDao;
static GlobalLoadBalancingRulesService _gslbService;
@Inject private ManagementServer ms;
@Inject public AsyncJobManager asyncMgr;
@ -496,6 +499,7 @@ public class ApiDBUtils {
@Inject private ApplicationLoadBalancerRuleDao _appLbDao;
@Inject private AffinityGroupDao affinityGroupDao;
@Inject private AffinityGroupJoinDao affinityGroupJoinDao;
@Inject private GlobalLoadBalancingRulesService gslbService;
@PostConstruct
void init() {
@ -601,6 +605,7 @@ public class ApiDBUtils {
_vpcProvSvc = vpcProvSvc;
_affinityGroupDao = affinityGroupDao;
_affinityGroupJoinDao = affinityGroupJoinDao;
_gslbService = gslbService;
// Note: stats collector should already have been initialized by this time, otherwise a null instance is returned
_statsCollector = StatsCollector.getInstance();
}
@ -1031,7 +1036,7 @@ public class ApiDBUtils {
}
public static Integer getNetworkRate(long networkOfferingId) {
return _configMgr.getNetworkOfferingNetworkRate(networkOfferingId);
return _configMgr.getNetworkOfferingNetworkRate(networkOfferingId, null);
}
public static Account getVlanAccount(long vlanId) {
@ -1632,4 +1637,8 @@ public class ApiDBUtils {
public static AffinityGroupResponse fillAffinityGroupDetails(AffinityGroupResponse resp, AffinityGroupJoinVO group) {
return _affinityGroupJoinDao.setAffinityGroupResponse(resp, group);
}
public static List<? extends LoadBalancer> listSiteLoadBalancers(long gslbRuleId) {
return _gslbService.listSiteLoadBalancers(gslbRuleId);
}
}

View File

@ -27,7 +27,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
@ -56,21 +55,14 @@ import org.apache.cloudstack.api.command.user.event.ListEventsCmd;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import com.cloud.async.AsyncCommandQueued;
import com.cloud.async.AsyncJobManager;
import com.cloud.dao.EntityManager;
import com.cloud.exception.AccountLimitException;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.PermissionDeniedException;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.user.Account;
import com.cloud.user.AccountManager;
import com.cloud.user.UserContext;
import com.cloud.utils.DateUtil;
import com.cloud.utils.ReflectUtil;
import com.cloud.utils.component.ComponentContext;
import com.cloud.utils.exception.CSExceptionErrorCode;
import com.cloud.utils.exception.CloudRuntimeException;
@ -160,7 +152,6 @@ public class ApiDispatcher {
}
}
}
cmd.execute();
}

View File

@ -34,6 +34,7 @@ import java.util.TimeZone;
import javax.inject.Inject;
import com.cloud.vm.*;
import org.apache.cloudstack.acl.ControlledEntity;
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
import org.apache.cloudstack.affinity.AffinityGroup;
@ -275,17 +276,40 @@ import com.cloud.utils.Pair;
import com.cloud.utils.StringUtils;
import com.cloud.utils.net.Ip;
import com.cloud.utils.net.NetUtils;
import com.cloud.vm.ConsoleProxyVO;
import com.cloud.vm.InstanceGroup;
import com.cloud.vm.Nic;
import com.cloud.vm.NicProfile;
import com.cloud.vm.NicVO;
import com.cloud.vm.VMInstanceVO;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachine.Type;
import com.cloud.vm.dao.NicSecondaryIpVO;
import com.cloud.vm.snapshot.VMSnapshot;
import org.apache.cloudstack.acl.ControlledEntity;
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
import org.apache.cloudstack.affinity.AffinityGroup;
import org.apache.cloudstack.affinity.AffinityGroupResponse;
import org.apache.cloudstack.api.ApiConstants.HostDetails;
import org.apache.cloudstack.api.ApiConstants.VMDetails;
import org.apache.cloudstack.api.BaseCmd;
import org.apache.cloudstack.api.ResponseGenerator;
import org.apache.cloudstack.api.command.user.job.QueryAsyncJobResultCmd;
import org.apache.cloudstack.api.response.*;
import org.apache.cloudstack.region.Region;
import org.apache.cloudstack.usage.Usage;
import org.apache.cloudstack.usage.UsageService;
import org.apache.cloudstack.usage.UsageTypes;
import com.cloud.vm.dao.UserVmData;
import com.cloud.vm.dao.UserVmData.NicData;
import com.cloud.vm.dao.UserVmData.SecurityGroupData;
import com.cloud.vm.snapshot.VMSnapshot;
import org.apache.cloudstack.api.ResponseGenerator;
import org.apache.cloudstack.api.response.VMSnapshotResponse;
import org.apache.log4j.Logger;
import java.text.DecimalFormat;
import java.util.*;
import javax.inject.Inject;
import static java.util.Collections.emptyList;
import static java.util.Collections.singletonList;
@Component
public class ApiResponseHelper implements ResponseGenerator {
@ -780,6 +804,14 @@ public class ApiResponseHelper implements ResponseGenerator {
response.setId(globalLoadBalancerRule.getUuid());
populateOwner(response, globalLoadBalancerRule);
response.setObjectName("globalloadbalancer");
List<LoadBalancerResponse> siteLbResponses = new ArrayList<LoadBalancerResponse>();
List<? extends LoadBalancer> siteLoadBalaners = ApiDBUtils.listSiteLoadBalancers(globalLoadBalancerRule.getId());
for (LoadBalancer siteLb : siteLoadBalaners) {
LoadBalancerResponse siteLbResponse = createLoadBalancerResponse(siteLb);
siteLbResponses.add(siteLbResponse);
}
response.setSiteLoadBalancers(siteLbResponses);
return response;
}
@ -3632,11 +3664,12 @@ public class ApiResponseHelper implements ResponseGenerator {
return response;
}
public NicSecondaryIpResponse createSecondaryIPToNicResponse(String ipAddr, Long nicId, Long networkId) {
public NicSecondaryIpResponse createSecondaryIPToNicResponse(NicSecondaryIp result) {
NicSecondaryIpResponse response = new NicSecondaryIpResponse();
NicVO nic = _entityMgr.findById(NicVO.class, nicId);
NetworkVO network = _entityMgr.findById(NetworkVO.class, networkId);
response.setIpAddr(ipAddr);
NicVO nic = _entityMgr.findById(NicVO.class, result.getNicId());
NetworkVO network = _entityMgr.findById(NetworkVO.class, result.getNetworkId());
response.setId(result.getUuid());
response.setIpAddr(result.getIp4Address());
response.setNicId(nic.getUuid());
response.setNwId(network.getUuid());
response.setObjectName("nicsecondaryip");
@ -3645,7 +3678,10 @@ public class ApiResponseHelper implements ResponseGenerator {
public NicResponse createNicResponse(Nic result) {
NicResponse response = new NicResponse();
NetworkVO network = _entityMgr.findById(NetworkVO.class, result.getNetworkId());
response.setId(result.getUuid());
response.setNetworkid(network.getUuid());
response.setIpaddress(result.getIp4Address());
if (result.getSecondaryIp()) {
@ -3662,19 +3698,12 @@ public class ApiResponseHelper implements ResponseGenerator {
}
}
response.setGateway(result.getGateway());
response.setId(result.getUuid());
response.setGateway(result.getGateway());
response.setNetmask(result.getNetmask());
response.setMacAddress(result.getMacAddress());
if (result.getBroadcastUri() != null) {
response.setBroadcastUri(result.getBroadcastUri().toString());
}
if (result.getIsolationUri() != null) {
response.setIsolationUri(result.getIsolationUri().toString());
}
if (result.getIp6Address() != null) {
response.setId(result.getIp6Address());
response.setIp6Address(result.getIp6Address());
}
response.setIsDefault(result.isDefaultNic());

View File

@ -16,30 +16,51 @@
// under the License.
package com.cloud.api;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.async.AsyncCommandQueued;
import com.cloud.async.AsyncJob;
import com.cloud.async.AsyncJobManager;
import com.cloud.async.AsyncJobVO;
import com.cloud.configuration.Config;
import com.cloud.configuration.ConfigurationVO;
import com.cloud.configuration.dao.ConfigurationDao;
import com.cloud.domain.Domain;
import com.cloud.domain.DomainVO;
import com.cloud.event.ActionEventUtils;
import com.cloud.exception.*;
import com.cloud.user.*;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
import com.cloud.utils.StringUtils;
import com.cloud.utils.component.ComponentContext;
import com.cloud.utils.component.PluggableService;
import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URLEncoder;
import java.security.SecureRandom;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TimeZone;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import javax.annotation.PostConstruct;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.cloudstack.acl.APIChecker;
import org.apache.cloudstack.api.*;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiErrorCode;
import org.apache.cloudstack.api.BaseAsyncCmd;
import org.apache.cloudstack.api.BaseAsyncCreateCmd;
import org.apache.cloudstack.api.BaseCmd;
import org.apache.cloudstack.api.BaseListCmd;
import org.apache.cloudstack.api.ResponseObject;
import org.apache.cloudstack.api.ServerApiException;
import org.apache.cloudstack.api.command.admin.host.ListHostsCmd;
import org.apache.cloudstack.api.command.admin.router.ListRoutersCmd;
import org.apache.cloudstack.api.command.admin.storage.ListStoragePoolsCmd;
@ -61,7 +82,13 @@ import org.apache.cloudstack.api.response.ExceptionResponse;
import org.apache.cloudstack.api.response.ListResponse;
import org.apache.cloudstack.region.RegionManager;
import org.apache.commons.codec.binary.Base64;
import org.apache.http.*;
import org.apache.http.ConnectionClosedException;
import org.apache.http.HttpException;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpServerConnection;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.entity.BasicHttpEntity;
import org.apache.http.impl.DefaultHttpResponseFactory;
@ -72,29 +99,54 @@ import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.*;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.BasicHttpProcessor;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpRequestHandler;
import org.apache.http.protocol.HttpRequestHandlerRegistry;
import org.apache.http.protocol.HttpService;
import org.apache.http.protocol.ResponseConnControl;
import org.apache.http.protocol.ResponseContent;
import org.apache.http.protocol.ResponseDate;
import org.apache.http.protocol.ResponseServer;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.inject.Inject;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.net.*;
import java.security.SecureRandom;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import com.cloud.api.response.ApiResponseSerializer;
import com.cloud.async.AsyncCommandQueued;
import com.cloud.async.AsyncJob;
import com.cloud.async.AsyncJobManager;
import com.cloud.async.AsyncJobVO;
import com.cloud.configuration.Config;
import com.cloud.configuration.ConfigurationVO;
import com.cloud.configuration.dao.ConfigurationDao;
import com.cloud.domain.Domain;
import com.cloud.domain.DomainVO;
import com.cloud.event.ActionEventUtils;
import com.cloud.exception.AccountLimitException;
import com.cloud.exception.CloudAuthenticationException;
import com.cloud.exception.InsufficientCapacityException;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.exception.PermissionDeniedException;
import com.cloud.exception.RequestLimitException;
import com.cloud.exception.ResourceAllocationException;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.user.Account;
import com.cloud.user.AccountManager;
import com.cloud.user.DomainManager;
import com.cloud.user.User;
import com.cloud.user.UserAccount;
import com.cloud.user.UserContext;
import com.cloud.user.UserVO;
import com.cloud.utils.NumbersUtil;
import com.cloud.utils.Pair;
import com.cloud.utils.StringUtils;
import com.cloud.utils.component.ComponentContext;
import com.cloud.utils.component.PluggableService;
import com.cloud.utils.concurrency.NamedThreadFactory;
import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.Transaction;
import com.cloud.utils.exception.CloudRuntimeException;
@Component
public class ApiServer implements HttpRequestHandler, ApiServerService {
@ -113,7 +165,7 @@ public class ApiServer implements HttpRequestHandler, ApiServerService {
@Inject List<PluggableService> _pluggableServices;
@Inject List<APIChecker> _apiAccessCheckers;
@Inject private RegionManager _regionMgr = null;
@Inject private final RegionManager _regionMgr = null;
private static int _workerCount = 0;
private static ApiServer s_instance = null;
@ -227,6 +279,9 @@ public class ApiServer implements HttpRequestHandler, ApiServerService {
parameterMap.put(param.getName(), new String[] { param.getValue() });
}
// Get the type of http method being used.
parameterMap.put("httpmethod", new String[] { request.getRequestLine().getMethod() });
// Check responseType, if not among valid types, fallback to JSON
if (!(responseType.equals(BaseCmd.RESPONSE_TYPE_JSON) || responseType.equals(BaseCmd.RESPONSE_TYPE_XML)))
responseType = BaseCmd.RESPONSE_TYPE_XML;
@ -254,10 +309,12 @@ public class ApiServer implements HttpRequestHandler, ApiServerService {
}
}
@Override
@SuppressWarnings("rawtypes")
public String handleRequest(Map params, String responseType, StringBuffer auditTrailSb) throws ServerApiException {
String response = null;
String[] command = null;
try {
command = (String[]) params.get("command");
if (command == null) {
@ -299,6 +356,7 @@ public class ApiServer implements HttpRequestHandler, ApiServerService {
cmdObj.configure();
cmdObj.setFullUrlParams(paramMap);
cmdObj.setResponseType(responseType);
cmdObj.setHttpMethod(paramMap.get("httpmethod").toString());
// This is where the command is either serialized, or directly dispatched
response = queueCommand(cmdObj, paramMap);
@ -530,6 +588,7 @@ public class ApiServer implements HttpRequestHandler, ApiServerService {
}
}
@Override
public boolean verifyRequest(Map<String, Object[]> requestParameters, Long userId) throws ServerApiException {
try {
String apiKey = null;
@ -692,10 +751,12 @@ public class ApiServer implements HttpRequestHandler, ApiServerService {
return false;
}
@Override
public Long fetchDomainId(String domainUUID) {
return _domainMgr.getDomain(domainUUID).getId();
}
@Override
public void loginUser(HttpSession session, String username, String password, Long domainId, String domainPath, String loginIpAddress ,Map<String, Object[]> requestParameters) throws CloudAuthenticationException {
// We will always use domainId first. If that does not exist, we will use domain name. If THAT doesn't exist
// we will default to ROOT
@ -770,11 +831,13 @@ public class ApiServer implements HttpRequestHandler, ApiServerService {
throw new CloudAuthenticationException("Failed to authenticate user " + username + " in domain " + domainId + "; please provide valid credentials");
}
@Override
public void logoutUser(long userId) {
_accountMgr.logoutUser(Long.valueOf(userId));
return;
}
@Override
public boolean verifyUser(Long userId) {
User user = _accountMgr.getUserIncludingRemoved(userId);
Account account = null;
@ -931,6 +994,7 @@ public class ApiServer implements HttpRequestHandler, ApiServerService {
}
}
@Override
public String getSerializedApiError(int errorCode, String errorText, Map<String, Object[]> apiCommandParams, String responseType) {
String responseName = null;
Class<?> cmdClass = null;
@ -965,6 +1029,7 @@ public class ApiServer implements HttpRequestHandler, ApiServerService {
return responseText;
}
@Override
public String getSerializedApiError(ServerApiException ex, Map<String, Object[]> apiCommandParams, String responseType) {
String responseName = null;
Class<?> cmdClass = null;

View File

@ -21,6 +21,7 @@ import java.util.Map;
import javax.servlet.http.HttpSession;
import org.apache.cloudstack.api.ServerApiException;
import com.cloud.exception.CloudAuthenticationException;
public interface ApiServerService {

View File

@ -299,8 +299,10 @@ public class ApiServlet extends HttpServlet {
auditTrailSb.insert(0, "(userId=" + UserContext.current().getCallerUserId() + " accountId="
+ UserContext.current().getCaller().getId() + " sessionId=" + (session != null ? session.getId() : null) + ")");
String response = _apiServer.handleRequest(params, responseType, auditTrailSb);
writeResponse(resp, response != null ? response : "", HttpServletResponse.SC_OK, responseType);
// Add the HTTP method (GET/POST/PUT/DELETE) as well into the params map.
params.put("httpmethod", new String[] { req.getMethod() });
String response = _apiServer.handleRequest(params, responseType, auditTrailSb);
writeResponse(resp, response != null ? response : "", HttpServletResponse.SC_OK, responseType);
} else {
if (session != null) {
try {

View File

@ -634,6 +634,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
c.addCriteria(Criteria.NAME, cmd.getInstanceName());
c.addCriteria(Criteria.STATE, cmd.getState());
c.addCriteria(Criteria.DATACENTERID, cmd.getZoneId());
c.addCriteria(Criteria.DATACENTERTYPE, cmd.getZoneType());
c.addCriteria(Criteria.GROUPID, cmd.getGroupId());
c.addCriteria(Criteria.FOR_VIRTUAL_NETWORK, cmd.getForVirtualNetwork());
c.addCriteria(Criteria.NETWORKID, cmd.getNetworkId());
@ -682,7 +683,8 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
Object name = c.getCriteria(Criteria.NAME);
Object state = c.getCriteria(Criteria.STATE);
Object notState = c.getCriteria(Criteria.NOTSTATE);
Object zone = c.getCriteria(Criteria.DATACENTERID);
Object zoneId = c.getCriteria(Criteria.DATACENTERID);
Object zoneType = c.getCriteria(Criteria.DATACENTERTYPE);
Object pod = c.getCriteria(Criteria.PODID);
Object hostId = c.getCriteria(Criteria.HOSTID);
Object hostName = c.getCriteria(Criteria.HOSTNAME);
@ -705,6 +707,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
sb.and("stateNEQ", sb.entity().getState(), SearchCriteria.Op.NEQ);
sb.and("stateNIN", sb.entity().getState(), SearchCriteria.Op.NIN);
sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ);
sb.and("dataCenterType", sb.entity().getDataCenterType(), SearchCriteria.Op.EQ);
sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ);
sb.and("hypervisorType", sb.entity().getHypervisorType(), SearchCriteria.Op.EQ);
sb.and("hostIdEQ", sb.entity().getHostId(), SearchCriteria.Op.EQ);
@ -811,13 +814,18 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
sc.setParameters("stateNIN", "Destroyed", "Expunging");
}
if (zone != null) {
sc.setParameters("dataCenterId", zone);
if (zoneId != null) {
sc.setParameters("dataCenterId", zoneId);
if (state == null) {
sc.setParameters("stateNEQ", "Destroyed");
}
}
if (zoneType != null) {
sc.setParameters("dataCenterType", zoneType);
}
if (pod != null) {
sc.setParameters("podId", pod);
@ -977,7 +985,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
public ListResponse<DomainRouterResponse> searchForRouters(ListRoutersCmd cmd) {
Pair<List<DomainRouterJoinVO>, Integer> result = searchForRoutersInternal(cmd, cmd.getId(), cmd.getRouterName(),
cmd.getState(), cmd.getZoneId(), cmd.getPodId(), cmd.getHostId(), cmd.getKeyword(), cmd.getNetworkId(),
cmd.getVpcId(), cmd.getForVpc(), cmd.getRole());
cmd.getVpcId(), cmd.getForVpc(), cmd.getRole(), cmd.getZoneType());
ListResponse<DomainRouterResponse> response = new ListResponse<DomainRouterResponse>();
List<DomainRouterResponse> routerResponses = ViewResponseHelper.createDomainRouterResponse(result.first().toArray(new DomainRouterJoinVO[result.first().size()]));
@ -989,7 +997,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
public ListResponse<DomainRouterResponse> searchForInternalLbVms(ListInternalLBVMsCmd cmd) {
Pair<List<DomainRouterJoinVO>, Integer> result = searchForRoutersInternal(cmd, cmd.getId(), cmd.getRouterName(),
cmd.getState(), cmd.getZoneId(), cmd.getPodId(), cmd.getHostId(), cmd.getKeyword(), cmd.getNetworkId(),
cmd.getVpcId(), cmd.getForVpc(), cmd.getRole());
cmd.getVpcId(), cmd.getForVpc(), cmd.getRole(), cmd.getZoneType());
ListResponse<DomainRouterResponse> response = new ListResponse<DomainRouterResponse>();
List<DomainRouterResponse> routerResponses = ViewResponseHelper.createDomainRouterResponse(result.first().toArray(new DomainRouterJoinVO[result.first().size()]));
@ -999,7 +1007,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
private Pair<List<DomainRouterJoinVO>, Integer> searchForRoutersInternal(BaseListProjectAndAccountResourcesCmd cmd, Long id,
String name, String state, Long zoneId, Long podId, Long hostId, String keyword, Long networkId, Long vpcId, Boolean forVpc, String role) {
String name, String state, Long zoneId, Long podId, Long hostId, String keyword, Long networkId, Long vpcId, Boolean forVpc, String role, String zoneType) {
Account caller = UserContext.current().getCaller();
@ -1027,6 +1035,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
sb.and("accountId", sb.entity().getAccountId(), SearchCriteria.Op.IN);
sb.and("state", sb.entity().getState(), SearchCriteria.Op.EQ);
sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ);
sb.and("dataCenterType", sb.entity().getDataCenterType(), SearchCriteria.Op.EQ);
sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ);
sb.and("hostId", sb.entity().getHostId(), SearchCriteria.Op.EQ);
sb.and("vpcId", sb.entity().getVpcId(), SearchCriteria.Op.EQ);
@ -1076,6 +1085,11 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
sc.setParameters("podId", podId);
}
if (zoneType != null) {
sc.setParameters("dataCenterType", zoneType);
}
if (hostId != null) {
sc.setParameters("hostId", hostId);
}
@ -1405,6 +1419,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
public Pair<List<HostJoinVO>, Integer> searchForServersInternal(ListHostsCmd cmd) {
Long zoneId = _accountMgr.checkAccessAndSpecifyAuthority(UserContext.current().getCaller(), cmd.getZoneId());
String zoneType = cmd.getZoneType();
Object name = cmd.getHostName();
Object type = cmd.getType();
Object state = cmd.getState();
@ -1426,6 +1441,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
sb.and("type", sb.entity().getType(), SearchCriteria.Op.LIKE);
sb.and("status", sb.entity().getStatus(), SearchCriteria.Op.EQ);
sb.and("dataCenterId", sb.entity().getZoneId(), SearchCriteria.Op.EQ);
sb.and("dataCenterType", sb.entity().getZoneType(), SearchCriteria.Op.EQ);
sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ);
sb.and("clusterId", sb.entity().getClusterId(), SearchCriteria.Op.EQ);
sb.and("resourceState", sb.entity().getResourceState(), SearchCriteria.Op.EQ);
@ -1470,6 +1486,9 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
if (zoneId != null) {
sc.setParameters("dataCenterId", zoneId);
}
if (zoneType != null) {
sc.setParameters("dataCenterType", zoneType);
}
if (pod != null) {
sc.setParameters("podId", pod);
}
@ -1527,6 +1546,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
Map<String, String> tags = cmd.getTags();
Long zoneId = cmd.getZoneId();
String zoneType = cmd.getZoneType();
Long podId = null;
if (_accountMgr.isAdmin(caller.getType())) {
podId = cmd.getPodId();
@ -1554,6 +1574,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
sb.and("volumeType", sb.entity().getVolumeType(), SearchCriteria.Op.LIKE);
sb.and("instanceId", sb.entity().getVmId(), SearchCriteria.Op.EQ);
sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ);
sb.and("dataCenterType", sb.entity().getDataCenterType(), SearchCriteria.Op.EQ);
sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ);
// Only return volumes that are not destroyed
sb.and("state", sb.entity().getState(), SearchCriteria.Op.NEQ);
@ -1613,6 +1634,9 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
if (zoneId != null) {
sc.setParameters("dataCenterId", zoneId);
}
if (zoneType != null) {
sc.setParameters("dataCenterType", zoneType);
}
if (podId != null) {
sc.setParameters("podId", podId);
}
@ -1859,6 +1883,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
private Pair<List<StoragePoolJoinVO>, Integer> searchForStoragePoolsInternal(ListStoragePoolsCmd cmd) {
Long zoneId = _accountMgr.checkAccessAndSpecifyAuthority(UserContext.current().getCaller(), cmd.getZoneId());
String zoneType = cmd.getZoneType();
Object id = cmd.getId();
Object name = cmd.getStoragePoolName();
Object path = cmd.getPath();
@ -1878,6 +1903,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
sb.and("name", sb.entity().getName(), SearchCriteria.Op.LIKE);
sb.and("path", sb.entity().getPath(), SearchCriteria.Op.EQ);
sb.and("dataCenterId", sb.entity().getZoneId(), SearchCriteria.Op.EQ);
sb.and("dataCenterType", sb.entity().getZoneType(), SearchCriteria.Op.EQ);
sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ);
sb.and("clusterId", sb.entity().getClusterId(), SearchCriteria.Op.EQ);
sb.and("hostAddress", sb.entity().getHostAddress(), SearchCriteria.Op.EQ);
@ -1908,6 +1934,9 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
if (zoneId != null) {
sc.setParameters("dataCenterId", zoneId);
}
if (zoneType != null) {
sc.setParameters("dataCenterType", zoneType);
}
if (pod != null) {
sc.setParameters("podId", pod);
}
@ -2203,10 +2232,14 @@ public class QueryManagerImpl extends ManagerBase implements QueryService {
Long id = cmd.getId();
String keyword = cmd.getKeyword();
String name = cmd.getName();
String networkType = cmd.getZoneType();
Filter searchFilter = new Filter(DataCenterJoinVO.class, null, false, cmd.getStartIndex(), cmd.getPageSizeVal());
SearchCriteria<DataCenterJoinVO> sc = _dcJoinDao.createSearchCriteria();
if(networkType != null)
sc.addAnd("networkType", SearchCriteria.Op.EQ, networkType);
if (id != null) {
sc.addAnd("id", SearchCriteria.Op.EQ, id);
} else if (name != null) {

View File

@ -203,8 +203,10 @@ public class AccountJoinDaoImpl extends GenericDaoBase<AccountJoinVO, Long> impl
accountResponse.setObjectName("account");
// set async job
accountResponse.setJobId(account.getJobUuid());
accountResponse.setJobStatus(account.getJobStatus());
if (account.getJobId() != null) {
accountResponse.setJobId(account.getJobUuid());
accountResponse.setJobStatus(account.getJobStatus());
}
return accountResponse;
}

View File

@ -161,8 +161,10 @@ public class DomainRouterJoinDaoImpl extends GenericDaoBase<DomainRouterJoinVO,
routerResponse.setRole(router.getRole().toString());
// set async job
routerResponse.setJobId(router.getJobUuid());
routerResponse.setJobStatus(router.getJobStatus());
if (router.getJobId() != null) {
routerResponse.setJobId(router.getJobUuid());
routerResponse.setJobStatus(router.getJobStatus());
}
if (router.getRole() == Role.INTERNAL_LB_VM) {
routerResponse.setObjectName("internalloadbalancervm");

View File

@ -183,8 +183,10 @@ public class HostJoinDaoImpl extends GenericDaoBase<HostJoinVO, Long> implements
hostResponse.setResourceState(host.getResourceState().toString());
// set async job
hostResponse.setJobId(host.getJobUuid());
hostResponse.setJobStatus(host.getJobStatus());
if (host.getJobId() != null) {
hostResponse.setJobId(host.getJobUuid());
hostResponse.setJobStatus(host.getJobStatus());
}
hostResponse.setObjectName("host");

View File

@ -117,8 +117,10 @@ public class SecurityGroupJoinDaoImpl extends GenericDaoBase<SecurityGroupJoinVO
}
// set async job
sgResponse.setJobId(vsg.getJobUuid());
sgResponse.setJobStatus(vsg.getJobStatus());
if (vsg.getJobId() != null) {
sgResponse.setJobId(vsg.getJobUuid());
sgResponse.setJobStatus(vsg.getJobStatus());
}
sgResponse.setObjectName("securitygroup");

View File

@ -103,8 +103,10 @@ public class StoragePoolJoinDaoImpl extends GenericDaoBase<StoragePoolJoinVO, Lo
poolResponse.setTags(pool.getTag());
// set async job
poolResponse.setJobId(pool.getJobUuid());
poolResponse.setJobStatus(pool.getJobStatus());
if (pool.getJobId() != null) {
poolResponse.setJobId(pool.getJobUuid());
poolResponse.setJobStatus(pool.getJobStatus());
}
poolResponse.setObjectName("storagepool");
return poolResponse;

View File

@ -83,8 +83,10 @@ public class UserAccountJoinDaoImpl extends GenericDaoBase<UserAccountJoinVO, Lo
userResponse.setIsDefault(usr.isDefault());
// set async job
userResponse.setJobId(usr.getJobUuid());
userResponse.setJobStatus(usr.getJobStatus());
if (usr.getJobId() != null) {
userResponse.setJobId(usr.getJobUuid());
userResponse.setJobStatus(usr.getJobStatus());
}
userResponse.setObjectName("user");

View File

@ -134,8 +134,10 @@ public class UserVmJoinDaoImpl extends GenericDaoBase<UserVmJoinVO, Long> implem
}
}
userVmResponse.setPassword(userVm.getPassword());
userVmResponse.setJobId(userVm.getJobUuid());
userVmResponse.setJobStatus(userVm.getJobStatus());
if (userVm.getJobId() != null) {
userVmResponse.setJobId(userVm.getJobUuid());
userVmResponse.setJobStatus(userVm.getJobStatus());
}
//userVmResponse.setForVirtualNetwork(userVm.getForVirtualNetwork());
userVmResponse.setPublicIpId(userVm.getPublicIpUuid());

View File

@ -197,8 +197,10 @@ public class VolumeJoinDaoImpl extends GenericDaoBase<VolumeJoinVO, Long> implem
volResponse.setExtractable(isExtractable);
// set async job
volResponse.setJobId(volume.getJobUuid());
volResponse.setJobStatus(volume.getJobStatus());
if (volume.getJobId() != null) {
volResponse.setJobId(volume.getJobUuid());
volResponse.setJobStatus(volume.getJobStatus());
}
volResponse.setObjectName("volume");
return volResponse;

View File

@ -177,7 +177,7 @@ public class AccountJoinVO extends BaseViewVO implements InternalIdentity, Ident
private Long secondaryStorageTotal;
@Column(name="job_id")
private long jobId;
private Long jobId;
@Column(name="job_uuid")
private String jobUuid;
@ -645,12 +645,12 @@ public class AccountJoinVO extends BaseViewVO implements InternalIdentity, Ident
}
public long getJobId() {
public Long getJobId() {
return jobId;
}
public void setJobId(long jobId) {
public void setJobId(Long jobId) {
this.jobId = jobId;
}

View File

@ -211,7 +211,7 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti
private String projectName;
@Column(name="job_id")
private long jobId;
private Long jobId;
@Column(name="job_uuid")
private String jobUuid;
@ -784,14 +784,14 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti
}
public long getJobId() {
public Long getJobId() {
return jobId;
}
public void setJobId(long jobId) {
public void setJobId(Long jobId) {
this.jobId = jobId;
}

View File

@ -168,7 +168,7 @@ public class HostJoinVO extends BaseViewVO implements InternalIdentity, Identity
private long cpuReservedCapacity;
@Column(name="job_id")
private long jobId;
private Long jobId;
@Column(name="job_uuid")
private String jobUuid;
@ -427,11 +427,11 @@ public class HostJoinVO extends BaseViewVO implements InternalIdentity, Identity
this.osCategoryName = osCategoryName;
}
public long getJobId() {
public Long getJobId() {
return jobId;
}
public void setJobId(long jobId) {
public void setJobId(Long jobId) {
this.jobId = jobId;
}

View File

@ -77,7 +77,7 @@ public class SecurityGroupJoinVO extends BaseViewVO implements ControlledViewEnt
private String projectName;
@Column(name="job_id")
private long jobId;
private Long jobId;
@Column(name="job_uuid")
private String jobUuid;
@ -269,11 +269,11 @@ public class SecurityGroupJoinVO extends BaseViewVO implements ControlledViewEnt
this.projectName = projectName;
}
public long getJobId() {
public Long getJobId() {
return jobId;
}
public void setJobId(long jobId) {
public void setJobId(Long jobId) {
this.jobId = jobId;
}

View File

@ -121,7 +121,7 @@ public class StoragePoolJoinVO extends BaseViewVO implements InternalIdentity, I
@Column(name="job_id")
private long jobId;
private Long jobId;
@Column(name="job_uuid")
private String jobUuid;
@ -342,11 +342,11 @@ public class StoragePoolJoinVO extends BaseViewVO implements InternalIdentity, I
this.reservedCapacity = reservedCapacity;
}
public long getJobId() {
public Long getJobId() {
return jobId;
}
public void setJobId(long jobId) {
public void setJobId(Long jobId) {
this.jobId = jobId;
}

View File

@ -109,7 +109,7 @@ public class UserAccountJoinVO extends BaseViewVO implements InternalIdentity, I
private String domainPath = null;
@Column(name="job_id")
private long jobId;
private Long jobId;
@Column(name="job_uuid")
private String jobUuid;
@ -324,11 +324,11 @@ public class UserAccountJoinVO extends BaseViewVO implements InternalIdentity, I
this.loginAttempts = loginAttempts;
}
public long getJobId() {
public Long getJobId() {
return jobId;
}
public void setJobId(long jobId) {
public void setJobId(Long jobId) {
this.jobId = jobId;
}

View File

@ -332,7 +332,7 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
private String keypairName;
@Column(name="job_id")
private long jobId;
private Long jobId;
@Column(name="job_uuid")
private String jobUuid;
@ -1608,14 +1608,14 @@ public class UserVmJoinVO extends BaseViewVO implements ControlledViewEntity {
public long getJobId() {
public Long getJobId() {
return jobId;
}
public void setJobId(long jobId) {
public void setJobId(Long jobId) {
this.jobId = jobId;
}

Some files were not shown because too many files have changed in this diff Show More